system: [SYSTEM]

user: 3. 六足机器人的运动规划与仿真实验 本文所研究的大型重载机器人工作于高山、丘陵等恶劣环境中，为保证机器人的稳定运动，同时具备跨越障碍物和沟壑的能力，需要对机器人进行运动规划分析。运动规划包括两个方面，分别是步态规划和足端轨迹规划。本文在给定行走步态的前提下，结合MATLAB规划设计了一套具有一定越障能力的足端轨迹，并利用运动学分析软件ADAMS进行了运动仿真验证。运动规划过程如图3所示。 图3. 运动规划过程 3.1. 步态规划 六足机器人是一种模仿节肢动物行走的机器人，通过对自然界的节肢动物进行研究发现，昆虫常见的三种步态 [ 19 ] 分别是二步态，三步态，六步态，这三种步态的区别在于在某时刻，支撑腿的数目分别是3、4、5。六足机器人步态类型主要取决于负载大小与路面环境，当负载越大、路况越复杂时，支撑腿数目越多，支撑时间越长，前进速度越慢，对控制系统的要求也越高。自由步态 [ 20 ] 没有固定的摆腿顺序，增强了对环境的适应能力，六足机器人在该状态下可由任一特殊姿态恢复到常规步态，在复杂地形环境中自由步态具有非常重要的意义。本文采用图表搜索法并结合所研究的六足机器人具体特性来生成自由步态。同时为了使步态快速收敛到常规步态并在收敛的过程中保持稳定性最好，采用A-Star算法作为优化算法，制定基于稳定性最优、恢复速度最优等优化策略，实现代价最小的自由步态生成机制。 3.1.1. 六足机器人支撑状态及转变 六足机器人腿的支撑状态用一个二进制数来表示，1代表着地，0代表摆动，整机支撑状态是一个二进制行向量，该向量由各个体腿的支撑状态构成，例如1、3、5号腿着地，支撑状态可以表示为(1 0 1 0 1 0)。六足机器人行走时，为保证稳定性，在同一时刻至少需有三条腿着地，共有 C 6 3 + C 6 4 + C 6 5 + C 6 6 = 42 种支撑状态。这42种支撑状态中，有一些状态不稳定，需要剔除。本文考虑六足机器人稳定性能，择优选择出一套有效的支撑状态。23种稳定支撑状态如图4所示。 图4. 六足机器人23种支撑状态形式 当六足机器人移动时，它切换了一系列的支撑状态，当六足机器人由支撑状态a转变到支撑状态b时，支撑状态b称为支撑状态a的连接状态。本文课题从六足机器人的稳定性考虑，规定在每次状态转换时仅仅有一条腿抬起或落下，建立了一种支撑状态转换表，如表1所示。 Table 1 Transition table of support stat 支撑状态 连接状态 支撑状态 连接状态 支撑状态 连接状态 1 11 16 7 9 19 21 3 17 11 13 23 7 2 11 13 10 10 20 22 2 18 12 14 23 8 3 12 14 9 11 17 20 1 2 19 12 15 23 9 4 12 15 8 12 18 19 3 4 20 11 16 23 10 5 13 15 13 5 17 22 2 21 14 16 23 7 9 6 14 16 14 6 18 21 3 22 13 15 23 8 10 7 17 21 1 15 5 19 22 4 23 17 18 19 20 21 22 8 18 22 4 16 6 20 21 1 表1. 支撑状态转换表 3.1.2. 基于A-Star算法的图表搜索步态生成法 图表搜索算法旨在生成每条腿的运动状态序列，图表中节点代表六足机器人某个时刻运动状态，根节点即初始状态，目标节点为目标状态。图表搜索原理即为从根节点扩展出子节点，从子节点中选出期望值最高的节点，再次进行扩展直到目标状态位置，从而得出一条最优路径，该路径即为六足机器人由特殊状态到常规步态的自由过渡步态。图表搜索的原理示意图如图5所示。 图5. 图表搜索的原理示意图 搜索过程中为减少图表搜索次数，实现快速稳定地收敛，本文采用启发式搜索规则和A-Star算法来限制节点数目及获取最优步态。启发式搜索包括三项规则，即当某条腿触地后需完成指定数目运动片段才能被考虑抬起；当某条腿抬起后需在空中保持指定数目运动片段才能被考虑放下；当触地的某条腿到达运动学极限后必须抬起。A-Star算法是一种基于启发式搜索的优化算法，它以代价最小目标规划出一条合理路径，算法的核心部分为估价函数的设计，其公式如下： f ( n ) = g ( n ) + h ( n ) (3) 式中 f ( n ) 为节点n的估价函数， g ( n ) 为根节点到当前节点的实际代价， h ( n ) 为当前节点到目标节点最优路径的估计代价。 本文采用一种基于A-Star算法的图表搜索法实现六足机器人由特殊步态向常规步态的稳定过度。首先初始化搜索图表，将六足机器人的初始状态作为根节点r，将其放入开放列表中。从开放列表中选择出最优节点进行扩展，把扩展出的子节点再放到开放列表中，如果某个子节点是目标节点则认为获得可行的回归路径。基于A-Star算法的图表搜索流程如图6所示。 3.2. 六足机器人足端轨迹规划 大型重载六足机器人要求在复杂地形稳定行走、跨越障碍，这就要求对足端点运动轨迹合理规划。多项式拟合生成的足端轨迹曲线可以在特定的时间经过一系列特定的点，也可在特定位置满足特定的运动约束条件，比如越障、跨沟等，本文采用该方法对机器人模型进行足端轨迹拟合。 以机器人躯体为固定参考坐标系，处于摆动相的腿相对机体向前运动，支撑相的腿相对躯体向后运动。令足端轨迹高度为H，宽度为W，从后极限位置A到前极限位置C之间的轨迹曲线ABC为摆动腿足端轨迹，CA为支撑腿足端轨迹。单腿轨迹简化模型如图7所示。 图6. 基于A-Star算法的图表搜索流程 图7. 简化足端轨迹曲线模型 设机器人摆动过程所花总时间为t 2 ，到达最高点时间为t 1 。给定A点位置、速度、加速度，B点位置，C点位置、速度、加速度信息，构成7个边界约束条件，由此可唯一确定关于时间t的6次多项式，该多项式曲线即为摆动足端的轨迹： p ( t ) = ∑ i = 0 6 c i t i (3) 式中c i 为多项式中的常量，将7个边界约束条件代入(3)中构成含有未知量c i 的七元一次方程组，求解方程组即可得到c i 的值。 3.3. 运动仿真实验 六足机器人有三种典型步态，本文最初对二步态行走进行仿真实验。行走仿真周期设为2秒，六条腿分两组： L 1 、 R 2 、 L 3 和 R 1 、 L 2 、 R 3 ，其中 L 1 、 L 2 、 L 3 为机器人左边1、2、3号腿， R 1 、 R 2 、 R 3 为机器人右边1、2、3号腿。每条腿进行支撑相和摆动相的交替切换，同一组腿运动轨迹相同，当一组腿作为摆动相向前摆动时，另一组腿作为支撑相向后扭腰，推动机器人前移。 采用Solidworks进行机器人三维建模，导入模型至ADAMS，该导入模型会保留几何形状，并自动建立关键点和全局坐标系。在ADAMS添加材料属性、约束条件与驱动，结合MATLAB生成的足端轨迹完成仿真实验，后根据逆运动学解可仿真得到各足关节角位移曲线。分析结果表明，在支撑相和摆动切换时刻(t = 0 s， t = 2 s， t = 4 s)机器人的关节速度和加速度均为零，说明每条足腿在支撑相和摆动相这两种相邻运动状态之间的过渡足够平滑稳定，步态切换或地形变化时，能有效减小足腿运动状态变化引起的抖振现象。机器人的足端轨迹曲线表明，其在运动过程中能够满足跨越指定尺寸障碍物的要求，不会产生干涉，并且可以通过实时调整足端轨迹高度和宽度等参数信息来应对不同大小的障碍物。六足机器人模型的ADAMS运动仿真过程表明，机器人仿真过程中的行走步态序列与本文的步态算法生成序列一致，说明本文提出的步态生成方法能够保证六足机器人的二步态或多步态稳定行走。机器人足端在各坐标轴的轨迹如图8所示，各足关节角位移曲线如图9所示，机器人各状态ADAMS运动仿真如图10所示。 图8. 机器人足端在各坐标轴的轨迹 图9. 二步态单腿各关节仿真结果 图10. 六足机器人平地二步态仿真