王雅雪,吴志鑫,林瑞金,周燕茹
(1.厦门理工学院 电气工程与自动化学院,福建 厦门 361024;2.龙岩市厦龙工程技术研究院,福建 龙岩 364000)
随着人工智能技术的飞速发展,移动机器人研究进入了崭新阶段,按其在地面运动方式的不同主要可分为3类:履带式机器人、轮式机器人以及足式机器人。因移动机器人能代替人进入危险区域并带回重要信息的特性,已在探测、救援等领域大放异彩。特别是足式移动机器人具有多肢体、多自由度的结构特点,可进行丰富的步态设计,适用于各种非结构化地形以及矿产采掘、考古探测、抢险救灾等多种危险场所,应用前景广泛。
六足机器人是足式机器人的一个典型代表,除具有一般足式机器人的特点外,还结构灵活、步态丰富、行走稳定且自由度多,在背负载荷、越障能力、鲁棒性、可靠性和抗损性方面表现出了明显的优势[1]。目前,国内外均已对六足机器人进行了深入研究,并取得了一定的研究成果,如北京理工大学运用高速摄像机和数字摄影分析技术对日本弓背蚁进行了步行试验研究,提出应用于六足机器人运动规划的五项结论[2],上海交通大学研发了“六爪章鱼”救援机器人[3],美国麻省理工学院研制了用于地外行星探测的六足机器人Genghi[4],西班牙工业自动化研究所设计了用于排雷的六足机器人SILO-6[5]等。这些工作实现了机器人的行走,然而,这些机器人仍存在行走过于机械、难以灵活完成复杂仿生运动等问题,且虽部分样机初步应用于排险、军事等领域,但总体上仍多处于实验研究阶段[6]。基于此,本文拟设计一款以Raspberry Pi为控制核心的六足行走机器人,结合多种元器件,使其具备多自由度、远程控制、实时监控和自动避障等功能,实现对六足机器人的进一步研究。
该六足行走机器人整体设计方案如图1所示。以Raspberry Pi为主控板,用两个锂电池组作为电源模块,分2路降压分别给Raspberry Pi、STM32核心板和24路舵机控制板供电。通过设置树莓派专用夜视摄像头,由无线网可将采集的图像由树莓派传递到手机网页显示。此外,STM32连接无线通信模块登录百度智能云服务器与手机APP进行通信,根据APP发布的动作命令,STM32进行响应并向Raspberry Pi发送信号,以使机器人进入不同工作模式并通过舵机控制板控制舵机实现相应动作。该机器人具备自动和手动2种工作模式,在手动模式下,根据手机APP发布的动作命令,可分别实现机器人前进、后退、左转、右转动作;在自动模式下,结合超声波传感器,机器人往前行走并自动避障。
图1 整体设计方案
该六足机器人的整体结构如图2所示,主要由机身和六条腿组成。通过观察可知多足昆虫躯体结构多为长椭圆形的对称结构,这种结构可保证相邻腿间的运动空间达到最大,避免相邻腿间互相干涉。据此,将机身设计为长椭圆形内接的六边形,6个六边形的顶部分别接6条腿,对称分布在机身两侧。这个设计的特点是在合理利用空间的基础上,实现了腿部运动范围最大化,提高机器人的稳定性和灵活性。
按照合理利用空间、排列紧凑的原则,结合各功能模块需求,该六足机器人的机身采用双层结构,中间依靠六足机器人的腰关节进行连接,具体如图3所示。
为满足支撑整个机体并推动机器人移动的需求,腿部结构的设计方案具体如下:
⑴ 对应蚂蚁腿部的基关节、基—股关节和股—胫关节,腿部结构设计为3个自由度,分别为腰关节、髋关节和膝关节。其中腰关节控制腿部的前后摆动,髋关节控制运动时腿部的抬起和放下动作,膝关节用于实现踢腿动作。
⑵ 小腿末端采用倒三角柱状,使得腿部与地面的接触可近似认为是线面接触,同时加宽末端柱状结构连接2个小腿连接件,以达到加固2个膝关节连接件的目的。此外,在接触面设计了凸起,以增大摩擦,防止运动过程中产生打滑现象。
腿部结构的三视图如下所示。
图4 六足机器人腿部结构模型
为实现六足机器人在水平平坦路面上行走时,动作稳定柔顺并保持较快速度,本设计选择三角步态作为该机器人的常规步态,具体如图5和6所示,其中黑色表示支撑相,白色表示摆动相,s表示半个步长。三角步态是占空比β=时的波形步态,任意时刻仅有支撑相或摆动相,没有同时存在的时间段;另外,运动时六腿呈两组三角形交替支撑迈步前进,其行走轨迹并非是直线,而是呈“之”字形的曲线前进[7]。
图5 三角步态行走示意图
图6 三角步态支撑相与摆动相周期示意图
机器人运行时,只要质心投影在支撑足构成的三角形区域内,其就是稳定的,一旦超出范围,其就会失稳,可能造成严重损坏。质心投影在地面的点距离支撑足构成的三角区域的边的最短距离称为稳定裕度。显然,稳定裕度越大,机器人越稳定。
如图7所示,A1、A2、A3三点为某一时刻六足机器人的三个支撑足在地面上的支撑点,y方向为六足机器人的前进方向。忽略摆动腿对质心以及惯性力对稳定性的影响,假设质心为六足机器人的几何中心即原点O, d1、d2、d3为机器人质心投影到支撑三角形各边的垂直距离,可计算稳定裕度,以判断机器人的稳定性。
图7 三角步态稳定裕度计算图
() 支撑三角形各边所在直线的一般公式是根据相邻两条腿的足端轨迹离散点计算的,以A1(x1,y1),A2(x2,y2)两点为例,可得式⑴。
(y2-y1)x-(x2-x1)y +(x2-x1)y1-(y2-y1)x1=0 ⑴再根据点到直线的距离公式可得出质心投影到直线的距离公式⑵。在整个承载阶段,从质心投影到各边缘计算最小距离,然后取最小值作为步态规划的稳定裕度,即S=min{d1,d2,d3…}。因此,只要机器人在行走过程中的质心垂直投影始终被其交替变化的立足点所组成的多边形所包围,就可以说它是静态稳定的[8]。
表1 六足行走机器人的主要硬件模块清单
图8 系统硬件的连接图
主程序流程如图9所示。该六足机器人设计了2种控制模式,一种是自动控制模式,一种是手动控制模式。在自动模式下,六足机器人默认前进过程中通过超声波传感器实时监测与前方障碍物的距离,当检测到与障碍物距离小于25 cm时,进行避障。在手动模式下,通过手机APP终端指令控制机器人前进、后退、左转、右转。
图9 主程序流程图
本设计的数据无线传输流程具体如图10所示。通过串口向无线通信模块ESP8266-01S发送相应的AT指令,实现连接WIFI和百度智能云服务器等功能。百度智能云服务器为用户提供了登录MQTT服务器、MQTT订阅/取消订阅数据和MQTT发布数据的打包函数,这些函数配置了MQTT协议的控制报文格式,包括连接、发布和订阅的报文。用户调用上述函数时只需填写相应的入口参数,例如IP地址、端口号、主题、标识名、用户名、密码和消息等,然后打包函数会按照MQTT协议的控制报文格式对入口参数进行连接,并转化为16进制的数据发送给代理服务器,完成登录MQTT服务器、发布和订阅消息等功能。
图10 数据无线传输模块连接流程图
实现六足机器人的步态动作实质就是改变关节舵机的角度,因此步态规划实际就是设计舵机转动控制程序,具体流程如图11所示。
图11 舵机转动控制流程图
首先,需利用舵机控制板的上位机设置好动作组。根据六足机器人每条腿分别有3个自由度设计如图12的上位机控制面板。
图12 六足机器人舵机控制板上位机控制面板
舵机滑块如图13所示,舵机的实际位置=舵机当前位置+舵机偏差。调整对应舵机的滑杆,设置脉冲宽度,可实现对舵机转动角度的设置。该六足机器人需设置的动作组包括:前进、后退、左转、右转。另外设置了一个转头动作,适用于避障模式,可在程序当中直接调用单个舵机的控制函数进行设置,不借助上位机控制面板。
图13 舵机滑块
以左转为例来说明动作组设置方法。左转动作数据如表2所示,其中“#”表示舵机编号,“P”表示舵机的位置,Time表示执行该动作舵机运行的时间。左转一个步长需要经过6个动作变换:1号动作为初始姿态,所有腿都处于落地支撑状态;2号动作2、4、6腿作为支撑组,抬起1、3、5腿;3号动作1、3、5腿逆时针摆动,即5腿向前,1、3腿向后,同时2、4、6腿顺时针运动,即2腿向前,4、6腿向后,以此推动机器人左转;4号动作1、3、5腿放下作为支撑组;5号动作2、4、6腿抬起变为摆动组,同时1、3、5腿的腰关节顺时针回正,带动机身进行左转动作;6号动作2、4、6腿逆时针摆动,同时1、3、5腿继续顺时针运动,继续推动左转动作,使左转动作更为连贯。通过设置这6个动作循环变换,使1、3、5腿和2、4、6腿交替支撑、摆动,就完成左转动作。依次设置好4个动作组,按顺序下载保存到舵机控制板中。
表2 左转动作组
在前述工作基础上,接着树莓派通过串口通信协议,发送正确的控制指令给舵机控制板以调用保存在其中的动作组。最后,舵机控制板控制舵机响应相应的动作命令。
超声波模块测距的工作原理是通过时间间隔来计算距离,其程序设计流程如图14所示。首先,通过trig端口发送一个大于10 μs的高电平脉冲触发信号。然后,根据系统前后时间差计算echo端口持续高电平的时间,最后根据公式计算出与障碍物的距离并进行均值滤波处理。
图14 超声波测距流程图
本设计所得六足机器人的3D图和实物图具体如图15、图16。
图15 六足机器人3D图
图16 六足机器人实物图
对该六足机器人的功能进行展示。首先开机自启动监控,可通过手机网页实时监测。
再通过手机APP控制界面(图17)对机器人的运行模式进行选择。
图17 手机APP控制界面
在手动控制模式下,根据手机APP发布的动作命令,机器人实现前进、后退、左转、右转动作。
在自动控制模式下,机器人默认前进。当检测到障碍物时,手机APP界面显示“dangerous”(图18),机器人进行后退和右转的避障动作组。
图18 检测到障碍物时的手机APP界面
本文采用Raspberry Pi、摄像头、超声波传感器、舵机控制板、ESP8266等功能模块,并通过App制作和3D打印组装,设计了一款新型六足行走机器人。经测试,该机器人具备远程控制、多自由度、实时监控和自动避障功能。整体系统较为完善,满足在非结构化地形中稳定行走并实时高效采集信息的要求,可移植性强、智能化程度较高,具有实际应用价值。后续工作中可进一步丰富步态,或引入算法来实现反应步态规划,使六足机器人的环境适应性进一步提高。