控制技术
98
计算 机测 量与控制 2021 29(6)Computer Measurement & Control
文章编号:1671 - 4598(2021 )06 - 0098 -05
DOI : 10.16526/jki.11 — 4762/tp.2021. 06.021
中图分类号:TP273 + . 5
文献标识码:A
基于MQTT 的机器人集控制系统
设计与实现
张开字X高国伟12,毛浩龙3
(1 .北京信息科技大学传感器重点实验室,北京100101 ;
2-北京信息科技大学现代测控技术教育部重点实验室,北京100192 ;
3 -北京信息科技大学自动化学院,北京100096)
摘要:针对现有的多机器人的控制系统编程复杂且不可灵活地更改机器人动作的弊端,基于MQTT 的机器人集控制系统 采用了网络传输模式,通过MQTT 在不使用有线连接的基础上将动作发送给目标机器人,并且具有动作复现的功能,可以通过
手动将机器人的动作记录下来,然后进行复现,大大降低了编程和调试的难度;这种控制系统使得机器人只需要接受上位机的命
令,执行上位机发出的动作指令就可以完成同步协调工作,大大减少了机器人的CPU 处理的任务,降低了机器人的制作成本, 同时通过上位机控制机器人的动作,可以及时纠正错误动作,停止工作,更改任务等,无需担心机器人因先前的程序导致动作出
错;实验中使用该系统对三台四足机器人进行控制,结果表明该系统可以使三台机器人协同工作,动作误差极小,并且可以完整 复现动作。
关键词:MQTT ;集控制;机器人;无线传输;局部通信;实时控制和监测
Design and Implementation of Robot Cluster Control
System Based on MQTT
Zhang Kaiyu 1 , Gao Guowei 1,2 , Mao Haolong 3
(1. Key Laboratory of Sensors, Beijing Information Science and Technology University, Beijing 100101, China
2 . MOE Key Laboratory of Modern Measurement and Control Technology , Beijing Information
Science and Technology University , Beijing 100192, China ;
3. College of Automation , Beijing Information Science and Technology University , Beijing 100096 , China )
Abstract : Aiming at the disadvantages of the complicated programming of the existing multi —robot control system and the inabil
ity to flexibly change the robot actions , the robot cluster control system based on MQTT uses network transmission mode. Through MQTT ,theactionissenttothetargetrobotwithoutusingthewiredconnection ,andhasthefunctionofactionrepetitio
n Therobot action can be recorded manually , then , it is reproduced , which greatly reduces the difficulty of programming and debugging. This
kindofcontrolsystema l owstherobottoonlyneedtoacceptthecommandfromtheuppercomputerandexecutetheactioninstruc- tionsissuedbytheuppercomputertocompletethesynchronizationandcoordinationwork , whichgreatlyreducestheCPUprocessing
tasks of the robot and reduces the production cost of the robot. At the same time , the upper computer controls the robot. You can correctwrongactionsintime , stop work , changetasks , etc , withoutworryingaboutrobotactionscausedbypreviousprograms The system controls three quadruped robots , and the results show that the system can make the three robots work together with mini- malmovementerrorandcanfu l yreproducethemovement
Keywords : MQTT ; cluster control ; robot ; wireless transmission ; local communication ; real time control and monitoring
o 引言
随着机器人技术的发展,机器人在越来越多的领域中
发挥着重要作用12。单独的机器人工作能力有限,而复合
功能机器人价格高昂,制造和维护成本都高于数个功能单 一的机器人3。在军事方面,机器人体可以轻松地完成 多方位侦查,排雷,打击目标等复杂任务,在工业方面,
可以完成焊接、组装、车床冲压等,在民用方面如智能喷 洒,智能除草等方面[45。
机器人集控制是为了使多个机器人统一由单独的控
制系统来进行控制,从而形成高度协调的控制系统,从而 可以使机器人集高效协调工作完成单个机器人无法胜任 的复杂工作。 针对自主机器人体的控制方式主要有: 领 航员一跟随法67]、基于行为法、虚拟结构法[9]以及近年
收稿日期:2020 - 11 - 12;修回日期:2020 - 11 - 23。
作者简介:张开宇(1993 -),男,河北省张家口人,在读硕士,主要从事智能检测及自动化装置方向的研究。通讯作者:高国伟(1963 -),男,研究员,主要从事新型传感器及系统方向的研究。
引用格式:张开宇,高国伟,毛浩龙.基于MQTT 的机器人集控制系统设计与实现[].计算机测量与控制,2021 ,29(6) :8 - 102.
第6期张开宇,等:基于MQTT的机器人集控制系统设计与实现99
来学者提出的距离测量法[0]等.这些方法适用性较低,无法在现场灵活地改变动作,或者在编程的时候无法直观地看到机器人的动作而导致编程困难,调试繁琐.通过改进的领航跟随型迭代学习法[1]等算法可实现机器人的接收自适应动作指令,但这些方法对机器人的硬件要求很高,形成机器人编队时成本昂贵.
在进行多个自主机器人编队算法设计时需要考虑如何通过简单的相互作用,使控制大量的机器人等诸多问题.
该系统采用MQTT协议通信,记忆储存模块储存动作代码,使得机器人可以实时地同上位机相互传输信号,操作人员可以及时地做出更改指令,纠正错误,规范动作,切换和终止任务等操作,有效的解决了无法及时纠正错误动作,更改提前编写的动作程序等问题.可以完成信息共享,直接消除了机器人个体之间的动作冲突,形成了由统一控制中心进行的多个机器人协调工作的控制系统,是实现多个机器人协调工作的有效技术途径.并且因为具有储存模块,即使与上位机断开链接,也可以根据提前编好的指令进行运转.通过对三台机器人的控制测试,该系统满足对机器人编队控制的要求,成本低廉,对机器人硬件要求不高,易于广泛推广.
1系统架构
1.1MQTT协议
IBM公司于1988年发布MQTT协议,将其构建在TCP/IP上,,它主要面向通信资源受限且通信任务比较轻的局域网中[2].因为MQTT带宽极低、成本低廉、易于实现所以经常被使用在寒旱地区以及野外进行环境监测.采用四足机器人对该系统进行测试,其每个机器人具有12个灵活度,控制难度超过一般的轮式或者履带式机器人.但是,其具有优秀的适应能力,可以实现翻越障碍物,进行跳跃,上阶梯等动作.动力强,稳定性良好等特性使得其具有十分高的研究价值.因此选择对四足机器人进行控制既可以检验该控制方案是否具有可行性,也可以检测其在实际应用中是否具有较高的使用价值.
图1MQTT控制系统发布订阅模式
1.2MQTT通信
MQTT传输的消息分为:主题(topic)和负载(pay-load)两个部分,topic部分包含消息名,payload是实际要传输的内容.因为每个消息都会有一个主题,所以MQTT 可以根据主题来区分消息来发送到哪个客户端.同时MQTT具有以下特点:
1)使用的发布/订阅消息模式后,MQTT提供多消息分发实现与应用程序解耦.
2)具有对负载信息屏蔽的消息传输机制.
3)可以设置消息服务质量等级(QoS):当QoS=0时,无论接受方是否接受到了消息,最多发送一次消息当QoS=l时,为了确保消息确实到达,至少发送一次.当QoS=2时,消息发送一次,是最高等级,不允许消息丢失.
1.3系统软件设计
系统由三部分组成:机器人终端,服务器,人机交互平台.其中服务器和人机交互平台可以在同一PC端实现。在机器人连接到服务器后,人机交互平台即可发送各项参数和信息给机器人,同时机器人可以反馈运动信息给平台.
为了检测该操作系统对软件以及上位机的硬件配置要求,实验选择了笔记本电脑,其配置为酷睿处理器i5—4200U(1.6〜2.6GHz),4G内存,GT750M显卡.机器 人选择了具有12个灵活度的四足机器人,其核心为ESP8266控制模块,内部集成了WiFi模块可连接到控制路由器上,在局域网内形成多个机器人信息交互网络.该系统开发采用目前流行的开源软件Arduino作Windows端开发IDE,其上位机通过LinuxQt或Android与操作员进行交互,并且显示各个机器人的状态信息.通过上位广播对各个机器人进行控制,各个机器人收到上位机的网络控制动作命令后,依次有序的执行并汇报,从而使得机器人之间协调有序的进行动作,实现机器人之间的合作完成任务机器人采用了舵机控制模块,AD采样模块,稳压模块等。通过IIC总线通信和控制12个伺服电机实现动作.整个软件设计如图2所示.
图2软件设计框图
・100・计算机测量与控制第29卷
在无线局域网情况下,Wireshark的使用让该控制系统可以在Linux环境中抓取控制中心与外界通讯时的IEEE 802.11的抓包文件(即Pcap),筛选并获取MQTT协议的数据包。获取MQTT协议的数据包后开始进行串口调试,在串口调试完可以进行对MQTT协议的数据包的解读,串口调试见图3o 温度在一20〜80C之间,适应各种场合,并且内置射频模块,2.5GHz的接收发射器。其自带WIFI射频,802.11b 和802.11g的基带。内置了TCP/IP协议等使得与上位机连接是不在依靠有线传输。
图3串口调试
VDD3V3
UI
L2k GPIOO
§
12k GPIO2
SPI_WSI/SD_CMD
SPI_MISO/SD_DO
GPI09/SD D2
14SPI_CL K
13SPI_IN T
GPI010主控MCU电路
1ST(PI01/SPICS1/TXD0
ADC/TOUT GPI03/RXD0
EN____<0105
(yi016/m®§GPI04
(PI014/HSPICLK GPI00/SPICS2
GPI012/ISPIQ GPI02/TXD1
(TI013/ISPID/CrS0/RXD2GPI015/HSPICS/RTS0/TXD2
品2TXDO
*1RXDO
孰SCL
事9SDA
18GPIOO
*7GPI02
:6GPI015图4主控MCU最小系统电路
nRST1
ADC
EN
GPToi rT
gp T o1TT
gp T o IT^
12k nRST
2k GP I015,
SPI_CLK/SD_CLK
SPI/WSO1
GPI010/SPI_CS/SD_D3
如果机器人运行过程发生异常,异常信息就会通过集成MQTT客户端发送到服务器上,人机交互平台就可以接收到异常信息,从而实施相应的对策。
1.4人机交互平台
操作员可以通过PC端或者手机应用客户端实现随时随地地检测机器人运动状态,手机客户端(远程客户端)以“推拉”的方式接收消息,定期地向服务器询问是否有消息发出称为“立”,服务器主动向远程客
户端发送消息称为“推”。该系统考虑到手机的待机时长,采用推的方式将信息发送给客户端。
在Android客户端设计中,将MQTT集成到Service-Push模块中,连接到服务器以后便可以订阅相关主题。当有主题推送时,Android客户端便可以直接查看在线机器人的运作状态。
2基于MQTT的机器人集控制系统的四足机器人
四足爬行机器人是仿生机器人,其结构如蜘蛛。四足爬行机器人根据蜘蛛的生理结构,运动方式和动作行为原理设计出来,在实际中具有很强的工作能力和市场前景[317]。实验使用了具有12个自由度的四足仿蜘蛛机器人,其12个自由度的控制对该控制系统具有一定的考验。并且该系统是基于机器人集控制,各种集控制的算法可以自由选择、自行切换,方便高效。
2.1机器人设计
四足机器人硬件电路采用主控芯片,舵机控制模块,显示模块等其部分组成。
2.1.1主控芯片
如图4所示,主控芯片采用了ESP8266芯片,其工作2.1.2舵机控制模块
舵机控制模块使用PCA9685将数字信号转换为伺服电机可以识别多的PWM控制信号,其电路如图5所示。使用IIC与ESP8266进行通信从而达到控制伺服电机的目的。PCA9685本身自带四个IIC地址,每个IIC最多支持四路PWM信号的输出,并且各路信号均为12位分辨率。该舵机控制模块可实现自上电复位和软件复位的功能,不必设计手动复位电路。
+3.3|—y—T~R8—k
—nR9~P
—I RIO b
—I Rll b
0UT1
0UT2
0UT3
0UT4
0UT5
0UT6
0UT7
I
5
13
14
舵机扩展电路
U2
PCA9685
—I R13
-
------------rrm
-------------rRT6~p
-------------rrm
-------------rR20~k
~2Q
TT
18
开源mqtt服务器17
T6
IE
21~~
猛—
—+3-3
26SCL
-j-rHHocpI
23C4______
"99I TTTHnT?
鸽
赣
澀
CH1
CH2
CH3
CH4
CH5
CH6
CH7
VSS
-TR26~P
VDD
SDA
SCL
EXTCLK
A5
!OE
CHI5
CH14
CHI3
CH12
CH11
CH10
CH9
CH8
|i GND
0UT15
0UT14
0UT13
0UT12
0UT11
0UT10
_0UT9
0UT8
图5舵机控制电路
2.1.3显示模块
如图6所示,四足机器人采用1.3寸的OLED液晶显示,128X64点阵满足调试需求,在室内和阳光下都可以看见。在调试完程序以后,考虑到机器人功耗问题,在正常运行时将关闭OLED。
2.2终端与上位机连接
机器人打开电源后会直接进入调试模式,ESP8266通过集成的WIFI开始搜索服务器终端并连接,MQTT中间件便开始发送报文,报文中包括连接件的用户名(ssid)和
第6 期张开宇,等:基于MQTT 的机器人集控制系统设计与实现・101・
图6 OLED 电路
a .髋关节;
b .膝关节;c.足关节。
图9四足爬行机器人侧面
密码(password ), ssid 和password 正确便可以开始进行匹
配。在控制中心和机器人匹配成功后,控制系统便可以直
接控制机器人,匹配调试过程见图7。如如如
TH 仙
3團11口
4〃是否开启洞试5« define DEBIC
6|
7 const char tssid - •gb705fr :,•这里是我的・1门,你便用时修攻为你要连接的ssid
8 const char password - *225225228110*:要连接的密码
9 const char thost - "192.168.191.3*机的的tcpServer#务端的IPiiiL,即手机在BS 由SJ 上的ip 10 const int tcpPort 二 8266;11 liFiClient client;
14 Adafnjit_PWServoDriver pro = Adafruit.PlUSen^oDriverO :
15 //define PINJIRE.SDA 116 //“define PINJIRE_SCL 2
图7 匹配调试图
图7中ssid 是连接的WIFI 名称,password 是密码文
件,host 是tcpServer 服务器的IP 地址,同时也是手机在路 由器上的IP O tcpPort 是监控端地址。
如果机器人在运行过程中发生异常状况如:停机或动
作模式不正确等,这些异常数据会通过集成的MQTT 终端 发送到上位机中,操作人员便可以根据情况做出处理。同 时,MQTT 终端会时时地将机器人的12个舵机的运动位置
发送到上位机中,当舵机的运动位置长时间不更新时便可
以根据是否有连接中断信息通知来判断机器人死机或者 掉线。
2.3机器人运动模型
四足机器人爬行分解如图8所示,在该系统控制下, 机器人爬行时以左前腿右后腿同时向前,并且左前腿和右 后腿的膝关节微微抬起,到达指定位置后左前腿右后腿的
漆关节落下支撑机器人躯体,右前腿和左后腿重复左前腿 右后腿动作,完成一次前进动作。
图8四足机器人爬行示意图
机器人左前腿和右前腿的驱动函数如图10所示,其运
动相位差半个运动周期,表示了这两只前腿是模仿四足动 物的两条前腿进行交替运动的。
(。
① step)
>
4K ①
a
4020
V
I A
123456789
10
Time/s
图10左前腿和右前腿的驱动函数图
该控制系统相比于其他设计系统具有以下的优点:
1) 具有可以使机器人动作复现功能。使用动作复现功
能完全避开了传统边调整参数边进行动作演示的编程方法,
人机交互更加容易,编程更加简单。
2) 成本低廉。在实验中,只使用了配置很低的笔记本
电脑,便可以完全控制3台机器人,并且实现了控制系统 的全部功能,相比与其他昂贵的控制中心,该系统具有很
高的性价比。
3) 丰富的功能。该系统可以将一台已经设置好动作的
机器人的代码同时发送到所有相同型号的机器人终端,并
且可以运行各种机器人集控制算法,在多个器人同时工 作时可以针对某个机器人进行动作纠正,更改动作模式等 操作。
4) 该系统可在各种终端上运行。该系统可以在Linux, Windows 以及具有无线传输功能的平板电脑上运行。
3系统检测与仿真
实验采用四足爬行机器人作为控制对象,四足爬行机
器人可以完成较为复杂的动作,成本相对六足机器人和仿
人机器人低廉, 并且设计上比较简单。
3.1机器人动作复现
将具有12个伺服电机的四足机器人的四肢摆放成特定
的动作形态,此时的伺服电机的角度如图11所示。激活机 器人后,上位机同时对所有连接到服务器的机器人进行运 动指令传输,分配任务。机器人接收到上位机的运动控制
指令后,按序列汇报并执行动作指令。上位机进入程序端
后,开始创建udpsocket 文件来实现对用户IP 地址,监听 地址以及本地端口进行判断。
・102・计算机测量与控制
第 29 卷
图11运动控制应用界面
运动控制中,可以记录每个伺服电机的时时的角度位
置, 在恢复初始状 态 后 进 行 运 动 播 放 使 得 每 个 伺 服电 机按
照时间记录的角度进行动作重复,及实现了人“手把手 教”,操作一次后机器人便可以模仿.
实验中使用了三个相同的四足爬行机器人来进行机器 人集控制实验.给三个机器人设置了电位脉冲,
当机器 人在工作状态时 给 控 制 终 端发 送 的 是高 电 位, 当 停止 工 作 时发送低 电 位. 实 验 使 得 三 台 机 器 人 同 时 接 受 指 令 工 作,
并且在2.5秒时给第三台机器人发送停止工作的信号,得 到的电位脉冲如图 12 所示.
1 2 3
4 5 6 7
Time/sec
——
机器人1号—“机器人2号 --机器人3号
S .............
】.....................■'.............-
图12机器人运作和停止脉冲图
由图12可知,当在2.5 s 发送停止工作信号给三号机
器人时,三号机器人立即停止工作,在5.3 s 时给与工作信 号后立刻启动开始继续工作.
经过实验检测 , 该 系 统 可 以 满 足 远 程 控 制 的 需 求, 并 且对在线机器人动作指令运行错误时可以及时关停机器人.
4结束语
针对机器人集 控 制 存 在 的 动 作 编 程 繁 琐, 单 个 机 器 人成本较高, 协同 工 作 时 不 易 对 单个 机器 人进 行 控 制 的 问
题,提出了一种新颖的集中控制技术,其优势是将单个机
器人需要计算的路径,动作全部集中到控制中心去计算, 在后期升级中也只需对控制中心进行升级,成本低廉,控 制方便. 在实验中 可 以 同 时 对 3 个 机器 人进 行 控 制 , 并 且
可以在数个机器人同时工作时对单个机器人进行精确地控 制 . 设计的 用 户 界 面, 也 可 以 更 好 地 实 现人 机 互 动. 此 外 该系统的还可以使机器人复现动作,这将大大降低对机器 人动作编程的难 度, 对 具有 更 加 复 杂 结 构 的 机 器 人动 作 编
程具有巨大的优势,并且为机器人动作编程提供了新的 思 路.
参考文献:
[I ] 段海峰,江丽珍,刘建光,等.微型电机外壳冲压送料机器人
的编程及应用现代制造工程,2020 (7) 6 - 10.
张唯,穆会,郭健.模糊算法在黄瓜采摘机器人轨迹控
制中的应用[J ] 农机化研究,2021, 43 (3) 230 - 235.[3] 温宏愿,孙松丽,刘 超.工业机器人专业集建设探索与实
践高等工程教育研究,2019 (3) 47 - 51.
[4] Haghighi I , Sadraddini S , Belta C . Robotic swarm control from
spatio —temporal specifications [A ]. 2016 IEEE 55th Confer ence on Decision and Control (CDC ) [C ]. IEEE , 2016.
[5] Galceran E , Cunningham A G , Eustice R M , et al. Multipolicy
decision 一 making for autonomous driving via changepoint 一 based behavior prediction : Th
eory and experiment [J]. Auton
omous Robots , 2017 , 41 (6) 1 - 16.
[6] Park B S , Yoo S J. Adaptive leader —follower formation control
of mobile robots with unknown skidding and slipping effects [J ]. International Journal of Control Automation & Systems , 2015, 13 (3) : 587 - 594.
[7] Wang H , Guo D , Liang X , et al. Adaptive vision —based leader
—follower formation control of mobile robots [J ]. IEEE Transactions on Industrial Electronics , 2017 (4) : 1.
Galceran E , Cunningham A G , Eustice R M , et al. Multipolicy
decision 一 making for autonomous driving via changepoint 一 based behavior prediction : Theory and experiment [J]. Auton
omous Robots , 2017 , 41 (6) 1 - 16.
[9] Kownacki , Cezary . Mulii —UAV flight using virtual structure
combined with behavioral approach [J ]. Acta Mechanica Et
Automatica, 2016, 10 (2) 92 - 99.
[10] Qiang L , Heng W , Huican L , et al. Formation control of
mulii robot based on UWB distance measurement [A ]. 2018 Chinese Control and Decision Conference (CCDC ) [C ]. 2018.
[II ] 侯锐,卜旭辉.任意初始位置机器人领航跟随型迭代学习
编队[J ] 计算机工程与应用,2020, 56 (20) 226 - 231.
[12] Yi D , Binwen F , Xiaoming K , et al . Design and implementa
tion of mobile health monitoring system based on MQTT pro tocol [A ]. 2016 IEEE Advanced Information Management ,
Communicates , Electronic and Automation Control Conference (IMCEC ) [C] IEEE , 2016.
[13] 蒋儒浩,王玉琳,刘 冀,等.空间四足爬行机器人设计及步
态规划组合机床与自动化加工技术,2019 (4): 1-5.
[14] Hooks J , Ahn M S , Yu J , et al . ALPHRED : A mulii — modal
operations quadruped robot for package delivery applications
[J] IEEE Robotics and Automation Letters , 2020 (99) : 1.
[15] 司海飞,胡兴柳,余振中,等.四足机器人对角小跑步态非
线性控制方法仿真计算机仿真,2020, 37 (1) 303 -
306, 389
[16] 康祥熙.通导系统通用自动测试平台设计计算机测量
与控制,2020, 28 (1): 30 - 34.
[17] 崔俊文,刘自红,石 磊,等.基于分层学习的四足机器人
运动自适应控制模型计算机测量与控制,2020, 28 (1): 105-110.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论