惠州学院电子信息与电气工程学院 黄宏越 姚文树 赖家民 汪成龙
基于北斗自主巡航多功能机器人设计
惠州学院电子信息与电气工程学院 黄宏越 姚文树 赖家民 汪成龙
设计一款基于KL26的北斗自主巡航多功能机器人,该机器人通过北斗实时定位、WiFi通讯控制、超声波避障以及陀螺仪确定转向等方式,实现机器人按照一定路线自主巡航的功能,同时设计一款遥控APP以控制机器人。本文先对机器人的功能等情况进行概述,然后分别系统的介绍硬件设计和软件设计,最后通过实地测试验证了本设计的可行性。本设计为安防、运输领域提供智能化的
KL26北斗;WiFi;超声波;九轴加速度计陀螺仪
随着人工智能时代的来临,机器人的应用领域也将越来越广泛。本文基于安防领域设计了一款能够通过北斗定位的自主巡航机器人。该机器人以KL26为主控芯片,通过北斗模块实时定位,通过WiFi模块连接手机APP获取控制,通过超声波模块避障,通过九轴加速度计陀螺仪模块确定车转向,从而实现机器人按照一定路线自主巡航的功能。同时在已有24V电源的基础上,增加备用电源,保证机器人的可靠运行。
本系统硬件以KL26为主控芯片,外围电路包含:超声波模块、北斗模块、9轴加速度陀螺仪模块、wif i模块等。它们分别通过GPIO、UART0、IIC2和UART2与KL26相连系统。系统硬件框图如图1所示:
图1 硬件框图
(1)主控芯片:北斗自主巡航多功能机器人硬件使用KL26单片机作为核心控制器。KL26是采用Kinetis L系列内核,主频48MHZ,内置128K Flash。同时具有运行速度快、功耗低的优势,非常适合作为本设计的主控芯片。
(2)超声波模块:采用HC-SR04超声波测距模块,其工作原理为:采用IO口TRIG触发测距,提供的高电平信呈最少为10us ;模块自动发送8个40kHz的方波测试信号;有信号返回,通过IO口ECHO输出高电平,高电平持续的时间就是超声波从往返时间。
(3)北斗模块:采用双系统导航/授时模块,默认波特率为9600bps。使用Unicore协议,所有消息都以’$’开头,后面跟着消息名,之后为不定数量的数据与参数,以逗号隔开,最后的参数是可选校验和,以’*’隔开。输入消息以’ ’或’ ’结束,输出消息以’ ’结束,每条消息不超过256个字节,不区分大小写[1]。
(4)九轴加速度计陀螺仪模块:模块含有:MPU-6050、传感器、电子罗盘。默认波特率为115200 bps。模块发送至上位机的每帧数据分为3个数据包,分别为加速度包、角速度包和角度包,按照三个数据包顺序输出[2]。
(5)WiFi模块:本设计采用ESP8266串口WiFi模块,它有3种工作模式。其中,AP模式下模块相当于路由器,只要手机连接上就能传送数据,简单快捷,故采用AP 模式。
北斗自主巡航多功能机器人软件设计分为:机器人控制系统软件设计和遥控APP设计。其中机器人控制系统软件设计包含:WiFi模块、超声波模块、北斗导航模块,此外还有KL26及其外设初始化编程。遥控APP的设计实现了对机器人运动控制。
机器人控制系统软件设计是基于keil uvision4为编程平台。编程过程中利用主程序调用子程序的方式,设置了初始化子程序、运动控制子程序等。流程图如图2所示:
控制软件设计首先对显示模块、九轴加速度计陀螺仪模块、WiFi模块、北斗模块进行初始化。初始化完成后,每隔20ms执行一个任务,每个模块对应一个任务,即每个时间段只有一个模块在工作。在第一个20ms时,接收超声波模块的外部中断,开启定时器,测车与障碍物的距离等;在第二个20ms时,接收北斗的数据,定位当前巡逻车的位置,判断有无越出预定路径,运算处理各种情况;第三个20ms时,接收9轴模块的数据,确定当前巡逻车的方向,结合上一个20ms的定位数据,确定接下来巡逻车的方向。wifi模块则一直处于监听状态,且优先级最高,一旦切换为手动模式,即刻停止。
图2 程序流程图
遥控APP设计的界面分为:主界面、手动模式界面与自动模式界面,主界面采用“ip地址+端口号”的验证方式,如图3所示:
图3 主界面
当机器人运行时,在主界面输入WiFi模块对应的“ip地址+端口号”就能联网成功,并能选择自动模式或手动模式。当与机器人联网成功后,机器人接受APP发送的指令字符串。APP与机器人使用我们设计的通讯指令表,如表1所示。
调试过程分为三个步骤:测试各分模块的功能是否正常,焊接和测试都分模块进行;硬件和软件测试,测试两者之间的协调性;微调各种参数,使系统能按预期运行。
完成设计之后,让机器人按照预先设定路线行走。机器人能够按照路线到达每个定点附近,定点的航线偏差在0-3.5m,符合北斗模块4m精度。同时机器人也能很好避障,接受APP控制。因此本设计的测试结果满足设计预期,具有一定的实用性。
表1 控制指令表
本文基于北斗导航系统,设计履带式自主巡航多功能机器人。经过测试,该设计可以按照既定路线进行自主移动,在偶遇障碍物时能自动避障且逐步回到已设轨道,同时可以接受手机APP遥控,在电池电量不充足的情况下能利用继电器进行电池切换。但由于北斗模块精度缺陷,有时存在着偏离路线的现象。因此该多功能机器人更适合在露天、信号通畅的场地巡航。
[1]龚江昆,达风.BD/GPS双模卫星通用导航模块的设计与实现[J].四川兵工学报,2015(06):109-112.
[2]任晓文.船舶摇摆速度对风向风速测量影响的研究[D].大连海事大学,2014.
汪成龙【通讯作者】(1986—),男,湖北人,教师,主要从事机器视觉等教学与科研工作。
黄宏越(1995—),男,广东揭阳人,大学本科,研究方向:智能控制。
姚文树【同为第一作者】(1994—),男,广东汕头人,大学本科,研究方向:智能控制。
赖家民(1995—),男,广东茂名人,大学本科,研究方向:智能控制。