基于北斗自主巡航多功能机器人设计

2017-09-14 06:48惠州学院电子信息与电气工程学院黄宏越姚文树赖家民汪成龙
电子世界 2017年17期
关键词:陀螺仪遥控北斗

惠州学院电子信息与电气工程学院 黄宏越 姚文树 赖家民 汪成龙

基于北斗自主巡航多功能机器人设计

惠州学院电子信息与电气工程学院 黄宏越 姚文树 赖家民 汪成龙

设计一款基于KL26的北斗自主巡航多功能机器人,该机器人通过北斗实时定位、WiFi通讯控制、超声波避障以及陀螺仪确定转向等方式,实现机器人按照一定路线自主巡航的功能,同时设计一款遥控APP以控制机器人。本文先对机器人的功能等情况进行概述,然后分别系统的介绍硬件设计和软件设计,最后通过实地测试验证了本设计的可行性。本设计为安防、运输领域提供智能化的

KL26北斗;WiFi;超声波;九轴加速度计陀螺仪

1. 前言

随着人工智能时代的来临,机器人的应用领域也将越来越广泛。本文基于安防领域设计了一款能够通过北斗定位的自主巡航机器人。该机器人以KL26为主控芯片,通过北斗模块实时定位,通过WiFi模块连接手机APP获取控制,通过超声波模块避障,通过九轴加速度计陀螺仪模块确定车转向,从而实现机器人按照一定路线自主巡航的功能。同时在已有24V电源的基础上,增加备用电源,保证机器人的可靠运行。

2. 硬件设计

本系统硬件以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 模式。

3. 软件设计

北斗自主巡航多功能机器人软件设计分为:机器人控制系统软件设计和遥控APP设计。其中机器人控制系统软件设计包含:WiFi模块、超声波模块、北斗导航模块,此外还有KL26及其外设初始化编程。遥控APP的设计实现了对机器人运动控制。

3.1 控制系统设计

机器人控制系统软件设计是基于keil uvision4为编程平台。编程过程中利用主程序调用子程序的方式,设置了初始化子程序、运动控制子程序等。流程图如图2所示:

控制软件设计首先对显示模块、九轴加速度计陀螺仪模块、WiFi模块、北斗模块进行初始化。初始化完成后,每隔20ms执行一个任务,每个模块对应一个任务,即每个时间段只有一个模块在工作。在第一个20ms时,接收超声波模块的外部中断,开启定时器,测车与障碍物的距离等;在第二个20ms时,接收北斗的数据,定位当前巡逻车的位置,判断有无越出预定路径,运算处理各种情况;第三个20ms时,接收9轴模块的数据,确定当前巡逻车的方向,结合上一个20ms的定位数据,确定接下来巡逻车的方向。wifi模块则一直处于监听状态,且优先级最高,一旦切换为手动模式,即刻停止。

图2 程序流程图

3.2 遥控APP设计

遥控APP设计的界面分为:主界面、手动模式界面与自动模式界面,主界面采用“ip地址+端口号”的验证方式,如图3所示:

图3 主界面

当机器人运行时,在主界面输入WiFi模块对应的“ip地址+端口号”就能联网成功,并能选择自动模式或手动模式。当与机器人联网成功后,机器人接受APP发送的指令字符串。APP与机器人使用我们设计的通讯指令表,如表1所示。

4. 系统测试

调试过程分为三个步骤:测试各分模块的功能是否正常,焊接和测试都分模块进行;硬件和软件测试,测试两者之间的协调性;微调各种参数,使系统能按预期运行。

完成设计之后,让机器人按照预先设定路线行走。机器人能够按照路线到达每个定点附近,定点的航线偏差在0-3.5m,符合北斗模块4m精度。同时机器人也能很好避障,接受APP控制。因此本设计的测试结果满足设计预期,具有一定的实用性。

表1 控制指令表

5. 结语

本文基于北斗导航系统,设计履带式自主巡航多功能机器人。经过测试,该设计可以按照既定路线进行自主移动,在偶遇障碍物时能自动避障且逐步回到已设轨道,同时可以接受手机APP遥控,在电池电量不充足的情况下能利用继电器进行电池切换。但由于北斗模块精度缺陷,有时存在着偏离路线的现象。因此该多功能机器人更适合在露天、信号通畅的场地巡航。

[1]龚江昆,达风.BD/GPS双模卫星通用导航模块的设计与实现[J].四川兵工学报,2015(06):109-112.

[2]任晓文.船舶摇摆速度对风向风速测量影响的研究[D].大连海事大学,2014.

汪成龙【通讯作者】(1986—),男,湖北人,教师,主要从事机器视觉等教学与科研工作。

黄宏越(1995—),男,广东揭阳人,大学本科,研究方向:智能控制。

姚文树【同为第一作者】(1994—),男,广东汕头人,大学本科,研究方向:智能控制。

赖家民(1995—),男,广东茂名人,大学本科,研究方向:智能控制。

猜你喜欢
陀螺仪遥控北斗
如何遥控引爆的
北斗时钟盘
基于EMD的MEMS陀螺仪随机漂移分析方法
“北斗”离我们有多远
他是如何遥控引爆的
我国著名陀螺仪专家——林士谔
微机械陀螺仪概述和发展
MEMS三轴陀螺仪中不匹配干扰抑制方法
首个北斗全球“厘米级”定位系统开建
中国的北斗 世界的北斗