1. 引言
随着科技水平的不断发展,人们所要进行作业施工的工作和工况环境也愈复杂多变,这时候就需要一种可用于检测工况的机器人来代替人工进行探测和搭载物体,由此可避免出现重大的人身伤亡等情况。
针对多足机器人结构及其运动控制的研究较为成熟,例如:Cully A等[1]通过对仿生动物的运动策略和行为模式进行研究,从而确定了设计的合理性。Ijspeert A J [2] [3]等进一步使用机器人来模拟和研究敏捷运动。李满宏等[4]对六足机器人进行了较为广泛的技术综述,阐明了研究的方向。
郭旭等[5]通过对螃蟹的特征分析,设计了一款八足仿蟹机器人,对其结构组成及技术参数等进行详细说明,进行了三维建模,利用ANSYS软件对其进行了有限元分析做了结构优化设计。邓超锋[6]对六足机器人建立其运动学模型,基于旋量理论的建模方法简化运动学计算过程的复杂性,建立了六足机器人正运动学模型,并在此基础上求解机器人逆运动学,其次在MATLAB软件下建立机器人虚拟样机仿真模型,并设计运动轨迹。
王贵敏、王立权等[7] [8]都对机器人的运动进行进一步的分析,通过简化模型从而具体的研究单一腿部的运动进而到整体。雷朋豪等[9]通过对四自由度的机械臂进行运动仿真研究,揭示了可行性。
因此结合所学的知识和实际需要,同时结合国内外对于机器人的理论知识研究,本文以多足机器人为研究对象,以其基本的运动原理以及控制分析,来进行合理的研究和设计。本文所述的机器人采用24个舵机(通过占空比控制转动角度)作为动力输入,使其能够抓取物体、独立移动行走等,真正实现了系统的全方位行走。这种设计使得机器人的结构简单,重量减轻,运动学、动力学的分析和控制相对简单,增加了系统运行的可靠性。
通过对模型建立基本的步态原理,继而在该基础上分析其三角步态原理、四角步态原理,从而通过上位机操作达到控制的目的。
2. 八足机器人的静力学分析
2.1. 静力学模型的建立
在对八足机器人进行分析时,将所示的机器人腿部机构模型转换为[10]力学模型,如图1所示。该八足机器人共有八只腿,在支撑状态下时无论是在运动状态还是静立状态,最少有4只腿与地面产生接触,即左右最少各两只,因此结合实际情况考虑将各腿部受力等效到其中一只步行的腿上来进行分析。即在x、y、z轴上,通过分析力与角度之间关系,从而推导整体。腿部处于支撑状态时,各个关节保持固定并固化成连杆的一部分。
Figure 1. Mechanical model of a single leg of an octopedal robot
图1. 八足机器人单腿力学模型
当连杆处于平衡状态时,腿部所受合力和力矩为零。通过计算可得,当
、
、
时,腿的力矩M达到最大,如图2所示,此时为腿部结构的极限工作状态。
Figure 2. Extreme operating conditions
图2. 极限工作状态
2.2. 有限元模型建立及其分析
在对多足机器人进行研究时,分析螃蟹各个关节之间是必不可少的部分,因为在大自然的演变之下,螃蟹腿部结构及其躯体外形及其比例都是优胜劣汰的结果。因此根据螃蟹腿部各个关节的长度来确定机器人腿部的长度至关重要。如表1记录了具有代表性的螃蟹样本的长度。因此暂确定基节:51 mm、股节:64 mm、胫节:132 mm。
Table 1. Representative lengths of the various segments of a crab’s leg mm
表1. 具有代表性的螃蟹腿部各个部分的长度mm
样本 |
基节 |
座节 |
长节 |
腕节 |
前节 |
指节 |
1 |
5.0 |
7.5 |
31.0 |
15.0 |
22.0 |
31.0 |
2 |
6.0 |
8.5 |
36.0 |
16.0 |
25.0 |
35.0 |
3 |
5.5 |
8.5 |
34.0 |
16.0 |
24.0 |
34.0 |
4 |
4.5 |
7.0 |
30.0 |
15.0 |
21.0 |
29.0 |
1) 有限元模型的建立
在建立多足机器人的有限元模型时,在不影响腿部及其相关躯体的应力分布及其变形的前提下,为了减少计算量可对机器人的模型进行简化处理,即去除不必要的孔洞、倒角等情况。
因此以多足机器人的关键受力部位(腿部)为例进行验证分析。本文在Solidworks中建立三维模型,再将建立好的实体模型,导入到Simulation中,建立的三维模型如图3所示。
Figure 3. Leg model
图3. 腿部模型
2) 单元属性设置
通过研究数据发现机械设计人员在进行机械制造加工时,一般都会考虑碳素钢、金属材料或者其他材料来进行设计装配,从而确保所涉及的整机模型具有良好的结构性能和承受性能,当然,其强度和硬度要求是不可忽略的因素。
同时本人在进行模型设计时考虑到仿生螃蟹其实际的应用场景为探测和携带小型物体方向,对于强度和硬度要求与经典工业机器人PUMA 520的45钢或者304不锈钢材料具有较大差异,所以未进行金属材料考虑,最后考虑到经济效益和所需的力矩要求并不大,结合设计该款机器人结构的经验。综上所述,最终从塑料材质方面进行选型及受力分析研究。查询相关资料确定其技术参数进行材料特性的设置。输入材料属性:聚对苯二甲酸乙二醇酯,密度:1.68 g/ml,泊松比:0.39,弹性模量:4000 Mpa。
3) 网格划分
网格划分是进行有限元模拟分析非常重要的一步,对于后续模型数值分析结果的精确性至关重要。在simulation中网格划分为多个层级:初级、中级、高级等。根据此次分析的实际需要,采用中级划分,在Solidworks模块的simulation中在划分过程中使用了该分级,划分后的有限元模型如图4所示。因此对于舵机部分可以隐藏不予划分网格,对于整体没有影响。
Figure 4. Mesh generation
图4. 网格划分
4) 施加约束及载荷
对于该机器人的腿部模型来说,结构受力的极限位置为大臂的水平位置,因此对于第一个腿部舵机的位置需要施加约束使其固定。此时小臂以及末端的载荷都施加在大臂内端用于安装法兰的内孔面上。即靠近躯体靠近的一端施加约束,另一端施加载荷200N。如图5所示。
Figure 5. Application of constraints and loads
图5. 施加约束及载荷
5) 求解并查看结果
在对腿部进行各个单元属性设置及其施加载荷准备后,求解结果可知。对200 N的载荷没有产生较大改变,如图6所示。
Figure 6. Stress contour plot
图6. 应力云图
Figure 7. Strain contour plot
图7. 应变云图
如图7可知在PET材质下,八足机器人的腿部没有发生较大形变,可以承受200N载荷设计合理。因此对于整个八足机器人来说也是设计合理的。
Figure 8. Global mesh generation
图8. 整体网格划分
Figure 9. Stress contour plot
图9. 应力云图
3. 八足机器人的步态原理分析
3.1. 三角运动步态分析
1) 三角前行运动原理
如图10所示,从时间0到T/2时间内L2脚逆时针转动,R1 R3脚逆时针,提供向前位移。避免摩擦L1 L3 R2在时间0到T/4抬起后,时间T/4到T/2落下。(L2 R1 R3腿为支撑组,L1 L3 R2为摆动组)
到临界点时,时间T/2到T时间内L1 L3逆时针转动,R2顺时针转动,提供向前位移。为了恢复在第一个T/2时间内的支撑腿(L2 R1 R3)的位置,为下次支撑做准备,所以在时间T/2到3T/4时间内L2抬起并顺时针转动,R1 R3抬起并逆时针转动;在3T/4到T时间内L2落下并顺时针转动,R1 R3落下并逆时针转动,并且位置恰好是初始位置是这组腿的位置。(L1 L3 R2是支撑组,L2 R1 R3是摆动组)
到时间T时,换作L2 R1 R3腿为支撑组,L1 L3 R2为摆动组然后这两组不断交替,完成前行动作。
而后退相比于前行而言,原理是一样的,只是每次支撑腿在水平方向上的转动方向都相反。
Figure 10. Schematic diagram of forward movement
图10. 前行原理图
在前行运动时,为了提供更多的向前的位移,每个支撑腿,除了通过第一舵机控制腿在水平方向上转动以外,还可以通过第二舵机与第三舵机配合运动来控制股节和胫节的配合运动。
在运动时,支撑腿转动如图11所示,运动过程中,躯体在垂直方向上不能有位移,所以高度h要保持不变,由此可得:
若
,且
分析可知,此条件下,h恒为0,所以该特例不可行。
若
若
综上所得,无特殊条件需满足式(1):
(1)
若
时,需满足式(2):
(2)
若
时,需满足式(3):
(3)
在夹取过程中,为了使被夹物体平稳,即是使其与水平面的夹角不变,也就是使胫节与水平面的夹角保持不变,夹取时:
,且
可知w1,w2应满足
。
Figure 11. Schematic diagram of calculation
图11. 计算原理图
2) 三角右转运动原理
右转运动相比于前行运动而言,只需见图12(a)、图12(b)所示交替变换支撑腿与摆动腿。
而左转相比于右转而言,原理是一样的,只是每次支撑腿在水平方向上的转动方向都相反。
Figure 12. Principle of right turn
图12. 右转原理
3) 夹取物体原理
靠左右两个腿部的内侧对物体施加压力,然后产生静摩擦力。该压力主要由这两腿上的第一舵机控制胫节对物体的夹取松紧程度来控制(后续可安装压力传感器控制压力大小),物体的上下与前后的运动靠第二舵机和第三舵机的配合来实现。
4) 三维模型运动仿真
利用solidworks软件,实现仿生蟹的三角步态运动。
Figure 13. Schematic of leg motion numbering
图13. 腿部运动编号示意
(说明:见图13,L11:左边第一条腿上的1号舵机,L12:左边第一条腿上的2号舵机,L13:左边第一条腿上的3号舵机,L21:左边第二条腿上的1号舵机,L32:左边第三条腿上的2号舵机,R11:右边第一条腿上的1号舵机,R22:右边第二条腿上的2号舵机,R33:右边第三条腿上的3号舵机,剩下的以此类推。见表2,对于左侧第一舵机顺时针转动腿部由后往前运动,右侧则相反;对于左侧第二第三舵机顺时针转动,腿部抬起,右侧相反。)
Table 2. Triangular gait table for forward movement
表2. 三角前行步态表
进入准备状态 |
L13 |
L23 |
L33 |
R13 |
R23 |
R33 |
初始位置 |
初始位置 |
初始位置 |
初始位置 |
初始位置 |
初始位置 |
第一步态 |
L21 |
R11 |
R31 |
L12 |
L32 |
R22 |
逆转a |
顺 a |
顺转b |
逆转b (抬腿) |
逆转b |
顺转b (落腿) |
第二步态 |
L11 |
L31 |
R21 |
L22 |
R12 |
R32 |
L21 |
R11 |
R31 |
逆转a |
顺转a |
顺转b |
逆转b (抬腿) |
顺转a |
逆转a |
逆转b |
顺转b (落腿) |
第三步态 |
L21 |
R11 |
R31 |
L12 |
L32 |
R22 |
L11 |
L31 |
R21 |
逆转a |
顺转a |
(抬腿)顺转b |
逆转b |
顺转a |
逆转a |
(落腿)逆转b |
顺转b |
第四步态 |
L11 |
L31 |
R21 |
L22 |
R12 |
R32 |
L21 |
R11 |
R31 |
逆转a |
顺转a |
顺转b |
逆转b (抬腿) |
顺转a |
逆转a |
逆转b |
顺转b (落腿) |
注:a是水平面内转动的角度,b是竖直平面内转动的角度。
如图14。
Figure 14. Effect of bionic crab forward movement
图14. 仿生蟹前行运动效果
Table 3. Triangular right-turn gait
表3. 三角右转步态
进入准备状态 |
L13 |
L23 |
L33 |
R13 |
R23 |
R33 |
初始位置 |
初始位置 |
初始位置 |
初始位置 |
初始位置 |
初始位置 |
第一步态 |
L11 |
L31 |
R21 |
R12 |
R32 |
L22 |
逆转a |
(抬腿)逆转b |
顺转b |
(落腿)顺转b |
逆转b |
续表
第二步态 |
L21 |
R11 |
R31 |
R22 |
L12 |
L32 |
L11 |
L31 |
R21 |
逆转a |
逆转b |
顺转b (抬腿) |
顺转a |
顺转b |
逆转b (落腿) |
第三步态 |
L11 |
L31 |
R21 |
R12 |
R32 |
L22 |
L21 |
R11 |
R31 |
逆转a |
(抬腿)逆转b |
顺转b |
顺转a |
(落腿)顺转b |
逆转b |
第四步态 |
L21 |
R11 |
R31 |
R22 |
L12 |
L32 |
L11 |
L31 |
R21 |
逆转a |
逆转b |
顺转b(抬腿) |
顺转a |
顺转b |
逆转b(落腿) |
说明:a是水平面内转动的角度,b是竖直平面内转动的角度。
Figure 15. Effect of right-turn motion in an octopedal robot
图15. 八足机器人右转运动效果
八足机器人前进和右转运动均可看成以上四种步态的依次循环见图15,其中1号舵机均是用来控制支撑腿在水平面上的运动,2号舵机均是用来控制支撑腿在竖直平面的运动,3号舵机均是用来提升底盘来便于支撑腿的运动。八足机器人后退就是前进时水平面上逆转的舵机变顺转,顺转的舵机变逆转,竖直平面上保持不变;同理左转就是右转时水平面上逆转的舵机变顺转,顺转的舵机变逆转,竖直平面上保持不变,见表4。
Table 4. Gait table for object gripping
表4. 夹取物体步态表
|
L41 |
R41 |
L42 |
L43 |
R42 |
R43 |
第一步 |
顺转a |
逆转a |
|
|
第二步 |
|
|
顺转b |
顺转b |
第三步 |
|
|
逆转b |
逆转b |
注:a是水平面内转动的角度,b是竖直平面内转动的角度。
夹取和三角的运动可同步进行,互不影响,因此没有说明夹取过程中的运动,见图16。
Figure 16. Effect diagram of bionic crab gripping objects
图16. 仿生蟹夹取物体效果图
3.2. 四角运动步态分析
1) 四角前行运动原理
四角前行相比于三角前行运动而言,只需如图17所示交替变换支撑腿与摆动腿。以此类推可得四脚后退原理。
Figure 17. Schematic diagram of four-corner forward movement
图17. 四角前行原理图
四角前行步态如表5所示。
Table 5. Gait table for four-corner forward movement
表5. 四角前行步态表
进入准备状态 |
L13 初始位置 |
L23 初始位置 |
L33 初始位置 |
L43 初始位置 |
R13 初始位置 |
R23 初始位置 |
R33 初始位置 |
R43 初始位置 |
第一步态 |
L41 |
L11 |
R11 |
R31 |
L12 |
L32 |
R22 |
R42 |
逆转a |
顺转a |
顺转b |
逆转b |
逆转b |
顺转b |
第二步态 |
L11 |
L31 |
R21 |
R41 |
L42 |
L22 |
R12 |
R32 |
L41 |
L21 |
R11 |
R31 |
逆转a |
顺转a |
顺转b |
逆转b |
顺转a |
逆转a |
逆转b |
逆转b |
第三步态 |
L41 |
L21 |
R11 |
R31 |
L12 |
L32 |
R22 |
R42 |
L11 |
L31 |
R21 |
R41 |
逆转a |
顺转a |
顺转b |
逆转b |
顺转a |
逆转a |
逆转b |
逆转b |
第四步态 |
L11 |
L31 |
R21 |
R41 |
L42 |
L22 |
R12 |
R32 |
L41 |
L21 |
R11 |
R31 |
逆转a |
顺转a |
顺转b |
逆转b |
顺转a |
逆转a |
逆转b |
逆转b |
2) 四角右转运动原理
四角右转运动相比于三角右转运动而言,只需如图18(a)~(b)所示交替变换支撑腿与摆动腿。以此类推可得四脚左转原理。
Figure 18. Schematic diagram of four-corner right turn
图18. 四角右转原理图
四角右转步态如表6所示。
Table 6. Gait table for four-corner right turn
表6. 四角右转步态表
进入准备状态 |
L13 |
L23 |
L33 |
L43 |
R13 |
R23 |
R33 |
R43 |
初始位置 |
初始位置 |
初始位置 |
初始位置 |
初始位置 |
初始位置 |
初始位置 |
初始位置 |
第一步态 |
L41 |
L21 |
R11 |
R31 |
L12 |
L32 |
R22 |
R42 |
逆转a |
顺转b |
逆转b |
逆转b |
顺转b |
第二步态 |
L11 |
L31 |
R21 |
R41 |
L42 |
L22 |
R12 |
R32 |
L41 |
L21 |
R11 |
R31 |
逆转a |
顺转b |
逆转b |
顺转a |
逆转b |
逆转b |
第三步态 |
L41 |
L21 |
R11 |
R31 |
L12 |
L32 |
R22 |
R42 |
L11 |
L31 |
R21 |
R41 |
逆转a |
顺转b |
逆转b |
顺转a |
逆转b |
逆转b |
第四步态 |
L11 |
L31 |
R21 |
R41 |
L42 |
L22 |
R12 |
R32 |
L41 |
L21 |
R11 |
R31 |
逆转a |
顺转b |
逆转b |
顺转a |
逆转b |
逆转b |
4. 控制系统的设计
4.1. PCA9685多舵机控制板
在对舵机进行选择以及驱动时,通过对比不同型号的舵机[10]。例如:sg90、MG995。通过对比发现sg90型号舵机对于小型例如循迹小车、电风扇等满足驱动要求,但对于该款多足机器人因为尺寸较大,从而需要的力矩也超过了S90所能承受的范围,所以不满足条件。根据实验分析当使用伺服电机时又极大超出了所需的力矩,造成了资源的浪费,从而选择了MG995型号的舵机。
舵机实际上就是一个可以控制转速的减速机,通常通过PWN(脉冲宽度调制)信号控制。PWN信号由一系列的脉冲组成,每个脉冲的宽度(即高电平持续的时间)决定了舵机转动的角度。控制电路根据电位计的反馈和接收到的PWM信号,计算出需要调整的量,然后控制电机转动,直到输出轴达到预定位置。
Figure 19. Schematic diagram of a 16-channel servo control board
图19. 16路舵机控制板原理图
通过研究原理图19可以发现,该PCA9685多舵机控制板可以连续控制16个舵机,当想要满足控制24个舵机时需要继续串联一个舵机控制板。因此对于一般的多足机器人来说该电路板满足舵机驱动的需求,但是研究发现自然界中尤其是动物界,虽然大多数动物都是四足,但是往往需要依靠尾巴来平衡躯体从而达到顺利行走的目的。因此考虑到平衡的目的,该八足机器人采用六足进行行走,另外两足作为钳鳌来夹取物体,从而达到平衡的目的。
4.2. 控制模块的选择
Figure 20. 24-channel servo control board
图20. 24路舵机控制板
通过对原理图的进一步研究发现,选用基于ARM Cortex-M3内核高性能STM32单片机的24路舵机控制板如图20所示。该控制板运行速度快,控制精度高,可对24个舵机进行独立控制,以保证各个动作执行的流畅性和精度。并且该控制板支持在线调试,可避免在调试时反复下载和擦除动作。16M的大容量内存,可以容纳230个动作组,每个动作组可以容纳510个动作(由于手柄按键有限,所以手柄只能控制其中一些动作组,其他可用于二次开发)。支持蓝牙控制与PS2手柄控制,插上蓝牙模块,就可以通过蓝牙控制机器人;插上手柄连接模块,可以通过PS2手柄控制(遥控范围约为10m)。对于仿生机械的腿部在运动时的动作姿态,可以通过上位机软件调试、下载。
4.3. 控制方案的设计及上位机操作
根据仿生蟹的腿部在运动时的动作姿态,得到在相应时间各舵机旋转的角度,由于运动具有很高的对称性,可以在上位机里面设定大致参数后下载到第100组里面进行运行调试(第100组可脱机运行调试)。调试达到要求后下载到对应的动作组即可。动作从手柄传递到机械上实现运动的流程图如图21所示。
Figure 21. System control flowchart
图21. 系统控制流程图
上位机界面如图22所示,各脚上的舵机初始位置应在安装各关节时使其处于正中间位置(在调试参数上对应值为1500),调节舵机顺时针转动时只需调节滑杆左移,调节舵机逆时针转动时只需调节滑杆右移(左右最大调节角度是90˚,共180˚均匀分配在参数500到2500之间)。
Figure 22. PC control interface
图22. PC机控制界面
调节数据显示区域如图23所示,其中#表示几号舵机,P表示舵机要旋转到的位置,T表示舵机从上一位置运行到该位置的时间。
Figure 23. Adjustable data display area
图23. 调节数据显示区
调节的效果图如图24所示。可以直接通过控制舵机之间旋转的角度关系,即可实现夹取物体的动作,不仅方便而且更加地与第二部分所叙述的内容有效结合便于验证分析。
Figure 24. Effect diagram of adjustment control
图24. 调节控制效果图
手柄对控制板上执行动作组的执行表格如表7。
Table 7. PS2 controller decoding table
表7. PS2手柄解码表
按键 |
说明 |
START |
强行停止当前动作并运行第0动作组1次 |
前 |
按下一直运行第1组动作组,弹起运行第0动作组1次 |
后 |
按下一直运行第2组动作组,弹起运行第0动作组1次 |
左 |
按下一直运行第3组动作组,弹起运行第3动作组1次 |
右 |
按下一直运行第4组动作组,弹起运行第4动作组1次 |
△ |
运行第5组动作组1次 |
× |
运行第6组动作组1次 |
□ |
运行第7组动作组1次 |
○ |
运行第8组动作组1次 |
L1 |
运行第9组动作组1次 |
R1 |
按下一直运行第10组动作组,弹起运行第10动作组1次 |
L2 |
运行第11组动作组1次 |
R2 |
按下一直运行第12组动作组,弹起运行第12动作组1次 |
注:第0组保存各舵机位于初始位置。
5. 结论
多足机器人在机器人的研究当中占有相当大的比重,无论是在物流的运输还是在工业中码垛的设定以及军事上的侦察探测等具有无可比拟的作用。本文以一种多足机器人为研究对象,通过仿生运动学来对多足机器人的运动进行主要分析,建立机器人的步态运动分析及其运动模型,通过采用上位机操作方法从而来达到上述控制的目的,主要研究内容包括:
(1) 建立静力学模型,研究其各个关节之间的关系,通过有限元仿真从而对多足机器人腿部结构进行相应的受力分析,同时考虑到多足机器人具有较大的对称性,并进行简化分析,分析其在外界载荷条件下具有怎样的变形及其位移。
(2) 对机器人的步态原理进行研究,得出在不同的运动状态下具有怎样的运动姿态,从而通过研究内容进一步的推导,各种舵机之间需要具有规定的旋转角度,才能保证整个多足机器人的各种关节之间具有相应的运动及其姿态,同时为了避免机器人的各个腿部关节(髋关节、股节、胫接)之间会产生碰撞及其频繁摩擦情况,控制变量研究关节之间相互的连接及其尺寸关系,确保能够合理运动。
(3) 通过上位机操作,有效地解决了运动编程繁琐的任务,并且通过调节各个舵机之间旋转角度的关系,更加有效直观地研究各个关节之间的运动关系,从而有效地根据其三角运动步态、四角运动步态设置相应的运动动作,验证其运动原理。
综上所述:通过对多足机器人进行有限元分析,研究其三角步态原理、四角步态原理,进而采用舵机旋转角度控制其运动方式,提高了其可行性。并且研究了在相应的条件下通过各种腿部的摆动从而达到前进、后退、旋转的目的,对于实际的多足机器人探测和承载负荷具有一定的应用意义。