基于STM32的四足仿生机器人设计与实验研究
2019-02-22梁美彦
梁美彦
(山西大学 电子信息工程系,山西 太原 030013)
0 引 言
足式机器人由于具有足部离散性强,行走时不需要连续路径的特点,相比轮式和履带式机器人有更大的自由度和适应非结构化地形的能力[1],适用于抗震救灾、资源开发利用、进行放射性以及水下科学实验等特殊情况,因此成为国内外人工智能领域的研究热点. 四足步行机器人作为典型的多足机器人,相比两足机器人,可靠性和稳定性高,控制复杂度和结构冗余度比六足和八足机器人小,还具有多种运动形式,能广泛适应非结构化地面行走,稳定性较好. 因此,开展四足机器人及其相关技术的研究具有重要的理论价值和实际意义.
四足仿生机器人的代表性成果有:1967年,美国南加州大学McGhee R. B.等设计的一种四足机器人样机,通过有限控制算法,实现了稳定行走[2],同期,还提出用步态矩阵的方法,来研究机器人的步态特征[3]; 1968年,美国通用电气公司的Mosher研制了当时第一台具有控制功能的四足步行机器人,可以实现抬腿、跨越、迈步、避障等多种功能[4]; 1986年,美国麻省理工的Raibert设计了一种四足机器人,采用可伸缩的腿部结构实现了缓冲、跳跃等动态平衡,能使用trot,pace和bound步态快速稳定前进[5].
截止20世纪末,虽然各大研究机构对机器人进行了不同的改进,但这些研究都是基于机器人基本结构和行为算法的研究. 2003年,日本电气通信大学Fukuoka Y等提出了神经振荡子模型的控制策略,是当时控制方面突破性的研究成果. 该课题组将神经振荡子模型控制策略用于仿狗机器人“Tekken”系列,在搭载激光和CCD摄像机等导航传感设备的前提下,成功实现了在封闭回廊中躲避障碍物快速行走,并能辨别和避让前方存在的目标[6],其中,Tekken-4实现了在不规则地面上动态自适应步行.
在机器人研究方面较为突出的成果是:2006年波士顿动力公司研制的新型四足仿生机器人Big Dog,它采用纯机械方法设计,液压驱动系统实施动力输出,可以跳跃1 m宽的壕沟,爬越35°的斜坡,行走速度为10 km/h,能够满足步兵分队徒步急行军的速度要求. Big Dog负荷大,在负重150 kg时,能在非结构化地形下自适应的行走,并保持运动性能不变. Big Dog的这些卓越的性能,成为当时国际四足机器人领域的翘楚[7-11].
国内四足机器人代表性的成果有:清华大学汪劲松等[12]研制的QW-1四足全方位步行机器人; 上海交通大学的马培荪课题组研制的JTUWM系列四足机器人[13,14]等,其中,JTUWM-III采用开链式腿结构来模仿四足动物的行走特点, 腿部关节在直流伺服电机的控制下,步行速度约为0.18 km/h,实现了trot,pace等多种步态行走,可以稳定步行10个周期以上,在足底设置了PVDF压电薄膜式力传感器,结合模糊神经网络系统对力反馈信息进行处理,提高了运动稳定性[15].
目前,从事仿生机器人研究的机构还有北京航空航天大学、哈尔滨工业大学[16]、国防科技大学[17]、山东大学[18]、北京理工大学[19]、东南大学、北京科技大学以及沈阳自动化所等[20]. 然而,由于四足机器人是多变量、强耦合、非线性的动力学系统,其动力学方程的建立和计算过程较为复杂,同时涉及机械、控制、计算技术等多门学科,控制难度较高. 所以,目前针对四足机器人的研究基本处于实验室阶段,研究的内容大多是基于机器人理论仿真和运动步态的研究,机器人样机较少,智能化程度不够. 另外,从国内外四足机器人发展趋势来看,机器人向更加小型化、智能化、多用途以及自适应的方向发展. 因此,研制一种智能化程度较高的小型四足仿生机器人实验样机,并实现稳定行走意义重大. 基于上述分析,本研究提出一种基于STM32的四足仿乌龟行走机器人系统及其控制策略,通过动力学建模、步态及稳定性分析,实现了机器人的稳定行走、原地转弯、游泳等动作, 通过搭载的蓝牙通信模块,实现了对机器人的无线控制.
1 四足仿生机器人总体设计
一般而言,机器人总体结构主要由机械部分、控制部分和传感器装置3部分组成:机械部分由机体结构和机械运动结构组成,这部分的功能是支撑机器人并执行相关任务; 控制部分是足式机器人的核心,这部分的功能是发送和接收信号,命令并协调相关执行结构按照时序进行作业. 控制系统设计的好坏直接决定了机器人动作的精度和整体的性能; 传感器是一种检测装置,能感受被测量的信息,并能将感受到的信息按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、记录和控制等要求. 这3部分相互协调,实现机器人的所有功能.
本文设计的四足仿乌龟机器人,以STM32单片机为核心控制器,通过舵机控制板对LDX-218数字舵机转角的控制,使机器人实现相关动作和功能. 机器人样机通过与蓝牙模块的通信,实现了基于PS2手柄对机器人的无线控制. 图 1 为四足仿生机器人总体设计方案.
设计完成的四足机器人如图 2 所示,该机器人按照功能分为4个模块:无线通信模块、核心控制模块、舵机模块以及电源模块. 无线通信模块包括蓝牙模块和PS2手柄模块,这部分通过PS2手柄发送无线控制信号,蓝牙模块接收后,再转发送给核心控制模块; 核心控制模块由STM32单片机和控制板组成,功能是与其蓝牙模块通信,接收控制命令并译码,实现机器人的总体协调控制; 舵机模块接收来自核心控制器译码的命令,并执行事先定义的动作组,目前已经实现的动作组包括步行、转弯、扭转、抬前臂、游泳以及俯卧-起身等; 电源模块采用大容量的锂电池,给机器人样机系统总体供电,最高电压为8.5 V,整机续航可达150 min.
图 2 四足步行器人Fig.2 Quadruped walking robot
2 基于拉格朗日方程的动力学建模
为了使机器人能够自主稳定的行走,适应复杂非结构化的地形,需要对机器人腿部连杆结构进行动力学建模,以确定机器人腿部各个关节力矩与组成该机构的各个杆件之间的动力学关系,这是实现机器人运动、精确控制的基础,也是步态规划的基础.
本文采用拉格朗日方程对六足机器人腿部结构进行动力学建模,由于四足机器人腿部采用开链式结构,每条腿有两个转动自由度,故四足机器人系统是一个具有8自由度的力学系统. 建立如图 3 所示的直角坐标系,忽略杆件转动过程中的微小形变,腿部模型可以简化为二连杆的刚体结构. 直角坐标系中:x方向为机器人的前进方向;y方向与运动方向垂直,为机器人的横向;z方向垂直于x-y平面; 机器人平台高度为H; 机器人腿部的连杆质量由内向外分别为m1和m2; 对应的长度分别为L1,L2; 由长度和质量关系可以计算转动惯量I1,I2; 连杆偏离原方向旋转的角位移分别为θ1,θ2.
图 3 机器人腿部模型Fig.3 The dynamic model of the robot leg
对于机器人其中一条二连杆的腿机构而言,其动能为
选择机器人运动平面为基准,忽略各关节之间的弹性摩擦,其势能为
则该腿的拉格朗日函数为
L=Ek-Ep.
由拉格朗日方程得到该腿各关节电机的转矩为
利用该动力学模型,可以通过四足机器人腿部各个杆件的运动情况,推算出机器人各腿相应关节的转矩,从而对机器人动作进行控制和分析.
通过对四足机器人腿部结构的动力学建模,建立了单腿各关节的转矩与腿部杆件运动之间的数学关系. 在此基础上,机器人系统整体的优化控制还与腿的迈步顺序、各腿之间的协调控制、步行中的占空比以及稳定裕度等因素有关. 因此,还需要根据四足机器人腿部结构和动作姿态特征,确定四足机器人在行走过程中采用的步态,而步态设置的合理与否直接决定了机器人运动姿态的可实现性.
3 四足机器人的步态
步态是在步行过程中,机器人的各个关节在时序和空域上的一种周期性协调关系,可以用各个关节运动的一组时间轨迹来描述. 步态规划就是根据仿生机器人的动力学特性,规划出每个关节的运动轨迹. 按照所规划的运动轨迹,机器人能完成行走功能并且保持平衡. 对仿生机器人进行步态规划使其能够稳定步行是仿生机器人研究的关键. 四足仿生机器人常见的步态有步行、对角小跑、同侧遛步和奔跑. 这4种步态的支撑相和摆动相的相位关系如图 4 所示.
设机器人步行周期相位差为1,则4种步态的特征分别为:
步行步态:四足机器人4条腿按照图 4(a) 中依次摆动,每条腿相位差为0.25,机器人采用该步态时,占空比β>0.5, 是一种慢速爬行的步态;
对角小跑步态:四足机器人处于对角线上的两条腿动作完全一致,同处于支撑相或摆动相,支撑相和摆动相之间相位差为0.5,如图 4(b) 所示. 该步态占空比β=0.5,兼具速度和运动稳定性;
同侧遛步步态:四足机器人同侧两条腿动作完全一致,同处于摆动相或同时处于支撑相,支撑相和摆动相之间的相位差为0.5,如图4(c)所示,该步态的缺点是稳定裕度较小;
奔跑步态,四足机器人前面两条腿动作一致,同处于支撑相或摆动相,支撑相和摆动相之间的相位差为0.5,如图4(d)所示,该步态占空比0<β<0.5, 该步态速度较高,但是稳定性相对较差.
图 4 步态示意图Fig.4 Schematic diagram of the gait
四足步行机器人动力学系统具有多变量、强耦合、非线性以及姿态时变的特点,因而机器人行走步态的稳定性是机器人设计中首要考虑的因素,其次才是对运动速度的要求.
经上述分析可知,对角小跑步态占空比小而且可以实现稳定行走,兼具速度、稳定性、适应性于一体,因此,本文设计的四足仿生步行机器人主要采用对角小跑步态行走.
4 控制模块的设计
四足步行机器人其基本运动形式为其肢体结构随时间的往复加减速运动,控制难度通常大于轮式和履带式机器人,控制模块的设计非常关键. 本文选用STM32F103RBT6主控芯片,其运行速度快,控制精度高,同时搭配基于STM32的24路舵机控制板,如图 5 所示,对机器人的8个舵机进行独立控制,以保证各个动作执行的流畅性和精度.
控制模块开启后,首先PS2手柄发送无线控制信号,经蓝牙模块接收后,转发到STM32单片机; 然后,舵机控制板与STM32主控芯片进行通信,将控制信号传送到舵机控制器; 最后,所有被控舵机的输出转动方向和角度信息,从而实现机器人相应的动作组,同时舵机还能够实现转动角度信息反馈,总体控制流程框图如图 6 所示.
图 5 舵机控制板Fig.5 Steering control panel
图 6 系统控制框图Fig.6 Block diagram of the control system
对机器人动作姿态的设置要通过上位机软件来实现. 先将舵机控制板与上位机连接后,初始化所有舵机的状态,并将机器人所有舵机映射到上位机软件中,再根据拉格朗日建模结果和步态选择,对每一个动作姿态对应的8个舵机进行配置,并记录舵机转角数据,最后形成一套动作组代码,将该代码写入芯片,即可实现机器人的相应动作姿态.
组成四足步行机器人样机的硬件结构主要包括机器人机械框架结构、舵机模块和蓝牙模块3个部分,如图 7 所示.
图 7 硬件结构Fig.7 Structure of the hardware
机械框架结构如图 7(a) 所示. 由于四足步行机器人系统为开链式动力学系统,对机械框架结构的刚度、质量分布和转动精度有很高的要求. 为了实现四足机器人的精确控制,需要采用高性能的硬件机械结构,而机械结构需要折衷考虑机器人的硬度、重量、质量分布等因素. 综合考虑后,机器人机身选用1~2 mm厚的硬铝合金结构,其硬度高、强度大; 同时采用了机体轻量化设计,重量比传统四足机器人减少将近40%.
舵机由减速齿轮组、电机、电位器、控制电路和外壳组成,将这些结构封装后,能够实现将输入信号转换为角度信息的电机系统. 由于舵机是实现机器人动作的主要执行结构,因此,舵机的性能决定了机器人能否精确完成动作. 根据四足机器人的重量,并综合考虑材料散热性、总体质量分布、承载力、扭矩、抖动、控制以及整体协调控制等因素,采用LDX-218型数字舵机,如图7(b) 所示,其工作原理是:由输出的PWM信号,控制脉宽信号在0.5~2.5 ms范围变化,从而控制舵机在0~180°的转角范围内旋转,输入信号和输出角度基本呈线性关系,具有精度高、扭矩大、反应灵敏,运行平稳、线性度高等特点. 因此,实验采用LDX-218型数字舵机来控制机器人动作姿态,可以满足实验的需求. 舵机工作电压为7.4 V,该电压下产生的扭矩为17 kg·cm,每旋转60°需要0.16 s,其具体参数如表 1 所示.
表 1 舵机参数
蓝牙通信能够在10 m范围内实现点对点的无线数据传输,具有抑制同频干扰、保证可靠传输、随机噪声影响小等特点. 蓝牙模块在没有建立连接前,网络中所有设备处于待命状态,并以1.28 s为间隔进行周期性监听,当链接被唤醒后,就在32个跳频频点上监听信息. 图7(c)为四足机器人的蓝牙模块,它用于等待接收来自PS2手柄的无线控制信号,并将收到的信号进行转发.
5 结果和讨论
5.1 实验结果
本研究通过对机器人腿部的拉格朗日动力学建模和步态规划,设计了四足仿乌龟机器人原理样机,其质量为1.5 kg,主要参数见表 2.
表 2 机器人主要结构尺寸
图 8 机器人姿态与对应的舵机编形图Fig.8 The pose of the robot and the corresponding steering
设计完成后的机器人与舵机的完整映射如图 8 所示. 图 8 中(a)和(b)为机器人站立的状态和对应的舵机编形图,(c)和(d)为机器人平卧的状态和对应的舵机编形图,从图8可以读出机器人在不同的状态下舵机的转角. 四足仿生机器人通过以STM32为核心的24路伺服舵机控制板对8个舵机转角的控制(一个预留舵机)来实现其所有动作组姿态.
5.1.1 步行和转弯测试
步行稳定性和转弯性能是衡量足式机器人性能的重要指标,决定了机器人深入复杂非结构化地形执行任务的能力. 图 9 为机器人的步行实验,图9中(a)~(f)为机器人前进,(g)~(l)为机器人后退,从前进和后退的过程图可知:机器人实现了稳定步行,步行速度约为5 cm/s,在步行过程中采用的是对角小跑步态. 实验表明:即使在理想光滑水平路面的情况下,在机器人前进和后退的运动轨迹也不是严格意义上的直线,这是由于四足机器人的运动方式与轮式和履带式机器人不同,不存在理论意义上的匀速直线运动,也就是说行走路径不是规则的直线运动,而是呈不规则的曲线向前运动.
图 10 为机器人转弯性能的实验,图 10(a)~(f)为机器人左转,图 10(g)~(l)为机器人右转,从转弯过程图可以看出,机器人已经实现了原地转弯,在转弯过程中采用的也是对角小跑步态,四足机器人的原地转弯能力有助于机器人通过崎岖路面中遇到的死角,是机器人机动性的重要体现.
图 9 机器人步行实验Fig.9 Walking experiment
图 10 机器人转弯实验Fig.10 Turning experiment
5.1.2 复杂动作测试实验
在复杂环境和非结构化地形行走时,具备基本步行和转弯功能是远远不够的,还需要通过增加动作姿态来提高机器人的智能化程度和实用性. 因此,在基本动作的基础上,设置了一系列的复杂动作姿态,这些姿态包括抬臂,俯卧、扭转以及游泳等功能. 图 11 和图 12 为机器人执行复杂动作的实验结果.
图 11(a)~(f)为四足机器人抬臂动作,机器人抬起前臂后,可以自由在方位向往复旋转30°角左右,此动作将用于放射性实验中样品的放置和移动; 图 11(g)~(l)为机器人俯卧-起身的动作,通过前臂两个舵机的协调转动来实现,由于机器人在未知环境条件下工作,遇到各种不确定危险的可能性很大,比如大风和扬沙等天气,此动作有利于机器人减小风阻.
图 11 抬臂和俯卧-起身实验Fig.11 Lifting arm and push-ups experiment
图 12 中(a)~(f)为机器人游泳动作测试,机器人在执行该动作时,前面两条腿和后面两条腿分为两组,分别运动,运动时可以产生一个向后的力,推动机器人向前运动,为仿生乌龟机器人用于两栖实验建立了实验基础; (g)~(l)为机器人左右扭转的实验,该动作将作为扩展动作实现,在以后的实验中,将大大提高机器人的灵活性和机动性.
图 12 游泳和扭转实验Fig.12 Swimming and torsion experiment
5.2 讨 论
本研究通过对机器人腿部连杆结构理论建模和步态分析,设计了基于STM32的四足仿生步行机器人样机,已经实现了稳定步行以及附加动作组,但还存在几方面需要完善:① 虽然机体采用了薄铝合金结构以及轻量化的设计,但是由于机体重心颠簸起伏次数较多,机械传动消耗和无谓消耗会引起高能耗的问题,同时产生的无用能耗会使机体过热,可以通过选择相对纤薄的材料来降低本身的重量或者采用弹性腿装置,来减少无谓能耗; ② 四足仿生机器人腿部采用两节连杆结构,身高较低,足部与地面接触面大,对凹凸不平的地面适应性差,摩擦力也较大,因此,下一步将根据实际地形改善腿部机械结构,并优化机器人的足部结构,从而增加机器人的整体运动性能; ③ 在复杂工况下执行任务时,准确获知环境信息并采取对策是移动机器人广泛应用的前提,可以通过增加一些高精度辅助传感装置,对获取的信息综合分析后,再结合人工智能的算法,使机器人自适应地采取对策,从而大大提高机器人的鲁棒性; ④ 本文对四足仿生机器人动作组姿态的实验研究都是在相对平坦的环境下完成的,由于实际地形与实验室环境差异较大,因此,还需要在复杂地形环境下做进一步的研究.
6 结 论
本文提出将拉格朗日动力学建模与步态分析相结合,研制了四足仿生步行机器人样机. 首先,在对机器人总体设计的基础上,通过拉格朗日动力学方程,建立了关节转角与腿部各杆件运动的数学关系; 其次,在研究四足步行机器人步态的基础上,权衡其步行稳定性、速度以及适应性等条件后,确定了四足机器人采用对角小跑步态运动,这是实现机器人稳定运动和精确控制的基础; 最后,通过搭建合适的软件环境和硬件结构,设计了基于STM32的单片机作为核心控制器的四足仿生步行机器人样机,并对其进行了实验研究. 研究结果表明:机器人已经实现了步行、转弯、扭转、抬前臂、游泳以及俯卧-起身等动作,在此基础上,平台搭载的蓝牙通信模块可以实现四足机器人的无线控制. 基于无线控制的四足仿生机器人,可以突破复杂环境和非结构化地形的限制,被用于抗震救灾、资源开发、水下探险、放射性实验等危险环境执行任务,代替人工高效作业,其实用性强,具有重要的理论意义和实际应用价值.