阳超伟, 彭 熙,2,3, 张连发,2,3, 陈婉清, 李睿颖, 叶绫明, 胡 雯
(1 华中师范大学 计算机学院, 武汉 430079;
2 湖北省高等学校计算机基础实验教学示范中心, 武汉 430079;
3 湖北省人工智能与智慧学习重点实验室, 武汉 430079)
传统的移动机器人如轮式、履带式,虽然具有很快的移动速度,但容易受地形约束。
凭借对复杂与危险地形具有高适应性的优点,足式机器人已成为当今移动机器人的研究热点,而四足机器人相较于双足机器人承载能力强、稳定性好,同时又比六足、八足等多足机器人结构简单,因此受到各国研究人员的 普 遍 重 视。
其 中, 最 典 型 的 有Bigdog[1]、HyQ2Max[2]、ANYmal[3]和Cheetah[4]。
本文提出了一种基于树莓派4B 的四足机器人设计方法且加以实现,并以RPI Camera V2 视觉识别模块、激光测距传感器与惯性传感器为例增强了机器人的环境感知能力与智能性。
1.1 犬类生物的腿部骨骼分析
犬类生物的前腿骨主要由掌骨、腕骨、前臂骨(包括尺骨和桡骨)、肱骨和肩胛骨组成,包括了3个关节:腕关节、肘关节和肩关节。
图1 为犬类生物的全身骨骼图[5]。
其中,肱骨是犬类生物大腿部分的支撑骨,小腿部分由前臂骨(尺骨和桡骨)支撑。
图1 犬类生物的全身骨骼图Fig. 1 A complete skeleton of a canine
犬类生物的后腿骨主要由跖骨、腓骨、股骨、髋骨、胫骨构成,包含了3 个关节:跗关节、膝关节和髋关节。
其中,大腿处由股骨支撑,小腿处由胫骨支撑。
1.2 四足机器人腿部结构设计
腿部结构是四足机器人实现各种动作的关键部分。
基于对犬类生物的腿部骨骼结构仿生分析,四足机器人的腿部由大腿、小腿和脚掌三部分构成。四足机器人后腿、前腿的结构简图分别如图2、图3所示。
图2 四足机器人的后腿结构简图Fig. 2 A diagram of the hind legs of a quadruped robot
图3 四足机器人的前腿结构简图Fig. 3 A diagram of the front legs of a quadruped robot
研究表明,在腿部结构设计上,内膝肘式具有较佳的行走性能、稳定性能、续航性能和综合性能,且从机器人配置对性能的敏感度而言,内膝肘式对髋关节与膝关节的幅值变化敏感度更低,因此更加稳健[6]。
图4 为内膝肘式的简化结构。
图4 四足机器人内膝肘式结构简图Fig. 4 Schematic diagram of internal knee - elbow structure of a quadruped robot
1.3 四足机器人腿部自由度设置
在自由度的选择上,四足哺乳动物的腿部一般包括髋、膝和踝3 个关节。
合理设计四足机器人的自由度,使其能够在平地上完成所有的行走过程,实现前进、后退、转弯等动作,是机器人设计的一个重要问题。
在行走过程中,四足机器人为了仿真髋关节前后和左右摆动, 在结构上将其简化为2 个自由度;
膝关节为了实现前后摆动,将其简化为1 个自由度;
踝关节用于实现前后和左右摆动,将其简化为2 个自由度。
本文设计的四足机器人腿部共有20 个自由度,4 条腿各有5 个,腿部的自由度仿真使得四足机器人可以在多种环境下灵活运动。
机器人全身自由度设置如图5 所示。
图5 四足机器人全身自由度设置简图Fig. 5 Schematic diagram of the whole body freedom setting of a quadruped robot
1.4 四足机器人整体结构设计
基于对犬类生物的仿生分析,机器人整体结构采用3DsMAX 2020 软件进行三维建模,建模结构如图6 所示。
该四足机器人主要由头部、前部躯体、中部躯体、后部躯体、大腿、小腿和脚掌等多个部分组成。
通过3D 打印技术制作出的实体机器人如图7所示。
其中部躯体内部用于电源模块以及控制模块的安装,前部躯体用于传感器模块的安装。
图6 四足机器人的三维模型Fig. 63D model of a quadruped robot
图7 四足机器人的实物展示图Fig. 7 A demonstration of a quadruped robot
2.1 四足机器人的硬件系统
四足机器人是由控制系统发出动作指令,以控制机器人的动作。
该系统的硬件部分主要由树莓派4B、舵机调试模块、串行总线舵机控制器、RPI Camera V2 视觉识别模块、串行总线伺服舵机、电源和传感器等部分组成。
树莓派4B 开发板利用串口与外部进行通信,处理所接收到的外界信息,主要控制机器人的动作展示和实现人机交互功能。
RPI Camera V2 视觉识别模块以及其他传感器用以增强机器人的环境感知能力与智能性,串行总线舵机控制器可以直接控制串行总线伺服舵机。
硬件系统的引脚连接如图8 所示。
由图8 可看到,对系统各组成部分的设计内容,可给出剖析阐释如下。
图8 控制系统引脚连接图Fig. 8 Connection diagram of control system pins
(1)树莓派与舵机控制板的通信。
控制系统在运行过程中,树莓派4B 通过mini 串口中分配给排针的GPIO TXD RXD 串口与舵机控制器的TXD RXD串口交叉连接进行串口通信,并且通过配置文件修改自身的设备树,将其高性能硬件串口映射到GPIO TXD RXD 接口上。
两者的数据端口需要将各类参数完全匹配才能实现通信,且在任意时刻,两者间只能实现半双工通信,即允许在树莓派4B 和舵机控制器两个方向上传输数据,但同一时间内只能存在一个方向上的数据传输,方向的选择由树莓派4B 控制。
图9 为串口读取的舵机控制数据,即对应每个舵机的旋转角度,树莓派4B 将其进行处理后,通过串行舵机控制器,传递到每个舵机上,从而控制舵机的旋转角度。
图9 串口读取的舵机控制数据示意图Fig. 9 Schematic diagram of steering gear control data read by serial port
( 2) 串 行 舵 机 的 选 择。
本 文 选 用FASHIONSTAR 公司的RP8-U45UART 串行总线伺服舵机,舵机内部有多项反馈保护功能,并且支持TTL 协议,舵机扭矩可达45 kg/cm,较好地满足了四足机器人的多方面需求。
控制器通过总线给舵机发送控制指令,使各个舵机在接收到指令后发生一定角度的旋转,从而实现机器人的运动。
(3)电压情况。
为使串行总线伺服舵机的控制板能够保持正常工作状态,供给的电压需维持在6~8.4 V 这一范围。
在实际运行过程中,四足机器人所搭载电池组的电压不得低于7.6 V,否则舵机可能会因供电不足出现抖动的情况。
为保证树莓派的工作电压满足5 V,本文选择板载SWl06 移动电源芯片,解决了树莓派工作电压与舵机控制板电压不符的问题,同时也可以为RPI Camera V2 模块(工作电压为5 V)供电,以此增加机器人的智能模块。
(4)碰撞传感器。
为了控制机器人的智能模块并增加其多样性,本文所设计的四足机器人安装了碰撞传感器作为机器人的模式选择开关,当碰撞开关每被按下一次,传感器向树莓派4B 输出一次低电平。
本文通过安装2 个碰撞传感器,实现了人机交互模块中各个视觉识别进程与姿态控制进程的并行性。
(5)激光测距传感器。
激光测距传感器凭借激光的能量集中、可远距离传播、单色性与相干性好等特点,利用三角形几何原理来测量目标物与传感器之间的距离,以实现高精度的计量和检测[7]。
激光测距传感器输出的是模拟电压信号,本文所研制的四足机器人需要多个激光测距传感器协同工作,而多个相同的传感器一起使用I2C 通信时会发生地址冲突,所以需要借助I2C 级联扩展器,控制系统才能解决地址冲突问题并正常处理数据。
该激光测距模块共有4 个引脚接口,分别是:TXD 引脚、RXD 引脚、5 V 引脚与GND 引脚。
(6)惯性传感器。
本文所选用的集成惯性传感器,即九轴加速度计电子陀螺仪,型号为JY901。JY901 使用MPU9250,可以修改I2C 的通讯地址,并且基本可以在各个平台上进行JY901 陀螺仪数据的读取。
JY901 九轴加速度计电子陀螺仪传感器如图10 所示。
图10 JY901 九轴加速度计电子陀螺仪传感器Fig. 10 JY901 nine-axis accelerometer electronic gyroscope sensor
2.2 四足机器人的软件系统
四足机器人控制程序工作流程为:首先,树莓派4B 初始化后通过自启动文件进入控制模块,该模块能控制人机交互模块以及动作展示模块,且首先默认唤醒人机交互模块。
进入人机交互模块后,系统并行运行各个智能化视觉识别进程,进程中借助RPI Camera V2 视觉识别模块将摄像头传递到树莓派4B 中的图像数据进行处理分析与反馈,增强了机器人的环境感知能力与智能性。
人机交互模块完成后,系统根据控制视觉识别的碰撞传感器反馈的低电平信号,判断是否结束人机交互模块,若结束,则根据控制动作展示模块的碰撞传感器反馈的低电平信号,进行后续动作展示的姿态控制。
四足机器人控制程序流程如图11 所示。
图11 四足机器人控制程序流程图Fig. 11 Flow chart of quadruped robot control program
3.1 姿态解算原理
四足机器人的运动规划关键在于姿态解算。
姿态解算是利用惯性传感器所传回的四元数信息,通过计算与分析欧拉角得出。
这里对姿态解算原理拟做研究阐述如下。
四元数是一个简单的超复数,在三维中的旋转可以用单位四元数来描述。
四元数的公式定义为:
机器人装有惯性传感器JY901,该传感器可以直接向树莓派4B 输出四元数,下一步则在树莓派4B 中利用四元数进一步求出欧拉角。
欧拉角是指在一个固连于刚体的坐标系中,由刚体的旋转分别产生俯仰角(pitch)、滚动角(roll)、偏航角(yaw)组成的一组独立角参量[8]。
通过四元数计算出欧拉角即可直观反映出机器人姿态。
首先,本文使用四元数表示的旋转矩阵Cbn, 根据公式可知:
又因为:
对比两式,即可解得俯仰角、滚动角和偏航角的数学公式为:
3.2 四足机器人的连续步态规划
根据四足机器人的运动规划要点,本文设计出机器人的运动过程及行走步骤。
首先,机器人保持站立,使其整体重心垂直于地面。
四足机器人连续步态第一步的实现,要以左前腿与右后腿为支撑,迈出右前腿与左后腿,使得机器人整体重心集中在左前腿与右后腿上。
以这一步为例,为了实现这一步骤,需要在自主设计的上位机软件中调整第7、8、9、12、13、14 号舵机模块数值,使机器人能够迈出两腿以继续进行下一步骤,具体参数如图12 所示。
图12 四足机器人全身舵机编号及其对应的数值Fig. 12 Quadruped robot whole body steering gear number and its corresponding value
接下来,进行机器人的姿态解算与比对判断,本文机器人采用了JY901 的姿态角度传感器,由gyroscope、accelerometer 和geomagnetic sensor 构成,可以协同工作收集姿态信息并传递给树莓派4B 控制板进行姿态解算。
树莓派4B 控制板根据JY901 所传回的四元数信息计算出机器人当前的俯仰角、滚动角与偏航角,判断并归纳出机器人的当前姿态,并根据不同情况向串行总线舵机控制器发送不同的反馈[9]。
若已符合目标条件,则停止进行姿态调整;
若不符合目标条件,则做出对应姿态调整。
完成调整后,重复执行该程序,直到动作符合目标条件。
树莓派4B 控制板判断姿态符合目标条件后,进行下一个连续步态动作的信号传输,并重复上述过程,即达到机器人连续步态的效果。
机器人动作姿态的调整,需要各个舵机的控制来完成,见表1。
表1 四足机器人动作与舵机序号对应表Tab. 1 Corresponding table of quadruped robot action and steering gear serial number
通过硬件收集信息与软件算法解算,控制系统可以计算分析出机器人的姿态信息,完成机器人的姿态解算并进行连续步态的姿态控制。
本文在所研制的四足机器人上安装了激光测距传感器,用于测量机器人与障碍物间的距离,实现了机器人的避障功能;
安装了惯性传感器,实现了姿态校准、方向纠正功能。
多种传感器的融合,使得机器人具备了适应与感知复杂环境的能力,实现了机器人的智能性。
4.1 激光测距传感器的应用
激光测距传感器通过I2C 级联扩展器与树莓派4B 相连,激光测距仪在传感器开始运行后,每间隔一个周期就能够产生并发送给树莓派4B 一组二进制数据。
树莓派4B 会统一处理这些二进制数据,然后根据相应的算法生成导航路径,并根据相应的控制指令来确定机器人运行的方向。
树莓派4B 接受到该信息后,会再次运算所接受到信息的冗余,并将该值在之前接受的CRC 域中进行一一比对。
如果比对后接受到的2 个值不相同,则表明该命令存在错误,主机需再次发送新的命令。
激光测距传感器数据处理流程如图13 所示。
图13 激光测距传感器数据处理流程图Fig. 13 Data processing flow chart of laser ranging sensor
4.2 惯性传感器的应用
JY901 模块在使用前要进行加计校准以去除加速度计的零偏,随后进行磁场校准。
进行姿态解算时,树莓派4B 开机后首先自动运行姿态解算程序,收集惯性传感器所传回的加速度、角度等信息,计算出机器当前俯仰角、滚动角与偏航角[10],对角度数值进行判断,分析出当前姿态,再根据具体的情况做出相应的反应。
若已达到预期,则保持姿势不动;
若未达到预期,则做出相应调整。
完成调整后,重复执行该程序,再次收集姿态信息加以判断。
完整的惯性传感器程序设计流程如图14 所示。
图14 惯性传感器程序设计流程图Fig. 14 Flow chart of inertial sensor program design
4.3 多传感器的融合
采用单一的传感器获取的信息并不全面可靠,多传感器的融合实现了传感器间的优势互补,提高了系统的稳定性和容错性,使得机器人感知位置的能力更加稳定和精确。
多传感器融合技术在机器人的智能化发展中起着重要作用。
以该四足机器人所参加的中国机器人大赛多足异形项目为例,四足机器人需在舞蹈展示后感知自身所处位置,位移进入场地四角的圈中。
踩圈环节的操作流程如图15 所示。
图15 四足机器人踩圈流程图Fig. 15 Flow chart of quadruped robot treading
本文以传统年兽形象作为设计原型,完成了四足机器人机械结构、软硬件控制系统和传感器融合的设计与实现。
经测试,该四足机器人通过不同的碰撞传感器,能够分别进入视觉识别系统和机器人姿态控制系统,两套系统互不干扰,保证了程序的流畅运行,测试结果符合预期目标。
本文四足机器人在承载能力、移动速度、功能性等方面有较大发展空间,这也是未来四足机器人进一步优化和完善的方向。
考虑到四足机器人的实际使用场景的多样性,可以借助基于树莓派4B 的多传感器融合技术为机器人添加具有各种功能的传感器,因此本文所研制的四足机器人在功能方面具有一定的扩展性。
随着四足机器人的不断发展,四足机器人会更加智能化,在仿生方面也会有更大的突破,未来定能协助人类实现更加复杂的任务。
猜你喜欢激光测距树莓舵机含齿隙弹载舵机的全局反步模糊自适应控制自动化学报(2019年6期)2019-07-23基于树莓派的骑行智能头盔设计电子制作(2019年11期)2019-07-04基于LabVIEW的偏振调制激光测距测量控制系统测控技术(2018年6期)2018-11-25基于高压架空线路激光测距的无人机锁定导线巡航研究通信电源技术(2018年5期)2018-08-23基于dsPIC单片机的飞艇舵机控制实现电子制作(2018年1期)2018-04-04基于树莓派的远程家居控制系统的设计电子制作(2017年17期)2017-12-18基于回波强度的激光测距误差补偿算法研究制导与引信(2017年3期)2017-11-02基于高速同步485总线通信的多通道舵机控制器设计制造业自动化(2017年2期)2017-03-20响应面法优化红树莓酒发酵工艺中国酿造(2016年12期)2016-03-01基于云模型的舵机同步控制舰船科学技术(2015年8期)2015-02-27