1. 引言
与传统的轮式、履带式移动平台相比,四足机器人可以利用腿足式移动机构,实现在狭小、陡峭的空间中全向移动,是一种具有较高竞争力的作业运动平台 [1] 。依靠携带的激光雷达、摄像仪等传感器或者枪械兵器,四足机器人成为能够完成多样化任务的特种机器人,具有广阔的应用前景,其已在勘探救援、工业信息、家政物流、工程建筑等各种领域内有所应用 [2] 。
对于搭载外部设备的四足机器人运动平台,很重要的一点是考虑四足机器人运动轨迹精度,这直接影响搭载外部设备的位姿准确性和运行稳定性。由于存在环境因素、生产制造因素以及控制因素,这些因素会导致实际的机器人机构参数和控制变量与期望的机构参数和控制变量存在偏差 [3] 。所以当机器人根据理想参数进行运动学模型控制时,这些偏差会导致机器人的实际位姿与期望的姿态不同。这是造成四足机器人轨迹波动的一个重要原因,这在某种程度上限制了四足机器人的拓展应用。
对于关节铰接的机器人,关节参数的几何误差约占全部机器人工作末端位姿误差的80% [4] ,因此若能补偿关节参数的几何误差,那么能够大幅地提升机器人的位姿精度。四足机器人属于关节铰接机器人的一种,具备同样的特性。常见的关节补偿方式有驱动关节的角度补偿、角速度补偿和关节扭矩补偿 [5] 。段梦珍和张巍 [6] 提出基于关节角补偿的多轴串联机械臂轨迹自动跟踪控制,提高了机械臂末端的目标轨迹跟踪精度。傅海涛等 [7] 利用激光跟踪器测量获得机械臂关节的转角误差,在通过运动学正解和关节角度补偿提高高端工业机器人的绝对位置精度。胡碧康等 [8] 研究多角度打印时的角度调整补偿方法,提高机械臂末端打印喷头的位置精度。由于本文采用执行器的控制方式是无反馈的位置控制,故采用驱动关节角度补偿的方式。
本文将研究关节角度补偿来减小腿部足端的位置误差,以及机器人躯干中心的位姿误差。首先,通过微分法建立四足机器人腿部足端点位置的运动学误差模型,然后将关节参数误差线性映射到补偿的驱动关节角度,最后在Coppeliasim和Matlab联合的仿真环境中,采用激光四足机器人进行仿真实验验证。在仿真中,分别在关节角度补偿前后,对四足机器人躯干中心的位姿进行测量。机器人运动的方式是协调步态的行走方式和复合摆线的足端运动轨迹。本文的剩余内容如下:第二节介绍四足机器人的简化运动学模型、足端运动轨迹以及机器人行走的步态;第三节推导腿部的运动误差模型和关节角度补偿方法;第四节在仿真环境下进行实验分析和验证;第五节给出结论。
2. 机器人机构运动模型
2.1. 机器人结构模型
本文介绍一个四足机器人,该机器人由矩形的身体躯干和四条腿组成。图1是四足机器人结构简图。表示为地面上的世界坐标系,
表示为基于机器人躯干矩形中心的体坐标系。躯干矩形的尺寸为
,
为躯干长,
为躯干宽。四条腿分别表示为左前腿,其足端点为A;右前腿,其足端点为B;右后腿,其足端点为D;左后腿,其足端点为E。
每条腿有一个关节坐标系
,位于矩形躯干的直角点上,与躯干连接。它们在体坐标系下表示的位置是
,如图2腿部结构简图所示。单腿由2个连杆和2个驱动关节组成,连杆表示为
(第一杆长)和
(第二杆长),驱动关节表示为
(第一关节驱动角度)和
(第二关节驱动角度)。驱动关节旋转方向按图1中绿色箭头所示。因为单腿的驱动关节只有两个,所以机器人在运动时,躯干有4个运动自由度,2个平移运动和2个旋转运动。平移运动为
和
,分别表示躯干中心沿x轴和z轴方向的位移;旋转运动为α和β,分别表示按右手定则的躯干中心绕x轴的翻滚角和绕y轴的俯仰角。
Figure 1. Schematic diagram of robot mechanism
图1. 机器人机构简图
2.2. 协调步态
四足机器人的步态分为静态步态和动态步态 [9] 。相较于动态步态,机器人在静态步态运动时具备更高的稳定裕度。本文采用协调步态作为四足机器人行走的运动步态。协调步态中的关键参数是占空比
(在完整运动周期内,摆动相与支撑相所占时间之比)。本文采用的比较稳定的协调步态摆腿次序:左后腿–右前腿–右后腿–左前腿,如图2所示,其中T为运动周期,黑色方块表示支撑相,白色方块表示摆动相。
2.3. 足端轨迹
为了确保协调步态行走的四足机器人平稳性,采用一种适合的足端轨迹是必要的。足端轨迹规划是指机器人足端在给定的时间内,以某种速度和加速度从初始位置运动到目标位置的状态,其需要满足连续性和平滑性。
本文采用复合摆线的足端运动轨迹 [10] ,其能够减小足端与地面的冲击。考虑到单腿存在2个自由度,因此足端点在
中的
平面内运动,故列出处于摆动相单腿的足端点复合摆线轨迹方程。
(1)
考虑到躯干中心点轨迹运动的连续性,处于支撑相单腿的足端点在
内沿
负方向上水平匀速运动。下式是足端点轨迹运动方程。
(2)
其中:t为足端点运动的时间;T为步态周期;S为足端点步长;H为足端点摆动高度;h为足端点到
原点的
方向距离;b为足端起始点到
原点的
方向距离。处于摆动相时,足端从起始点开始,按照复合摆线的运动轨迹,到达结束点。处于支撑相时,足端在结束点不动,
按沿着
负方向上匀速运动。
3. 运动误差补偿模型
3.1. 运动误差模型
由图1可得,在
坐标系下,利用矢量法得到每条腿在体坐标下的足端点位置坐标
与关节参数和躯干参数的几何映射关系,下式是足端点位置坐标的运动学方程
(3)
其中
和
为符号变量,定义如下
(4)
每条腿的关节参数误差包括杆长尺寸偏差和驱动关节角度偏差,杆长误差包括
和
,驱动关节角度误差包括
和
。在考虑微小误差情况下,对(3)进行全微分,微分变量为:
,
,
,
。由于在四足机器人在长时间的不断的运动后,机器人的腿部关节磨损程度相较于机器人躯干结构参数的磨损要严重很多,因此目前只考虑四足机器人腿部关节参数误差,而不考虑
的误差对腿部足端在体坐标下的位置误差精度的影响 [11] ,微分方程如下
(5)
3.2. 关节角度补偿
在经过长期的使用后,机器人的关节会产生误差,因此需要对其进行补偿。一般说来,通过关节角度补偿杆长误差是简单且易实现的。根据(5),让
,得出杆长误差和驱动关节的角度补偿之间的关系如下
(6)
令
(7)
得到
(8)
其中,
,
为关节杆长参数误差的驱动角度补偿量。此外,还需对关节旋转时自身的角度误差
、
进行补偿,因此关节理论输出的角度补偿量为
(9)
4. 关节补偿仿真实验
4.1. 仿真环境搭建
为了验证所提出的基于关节角度补偿躯干中心轨迹误差的补偿机制,本节采用自主设计的激光机器人在协调步态直线行走的情况下进行动力学仿真,以比较分析关节参数补偿后的躯干中心轨迹误差减少的程度。仿真环境是基于MATLAB和Coppeliasim的联合仿真 [12] ,其中运动控制是在MATLAB R2021b环境中创建,动力学模型是在Coppeliasim V4.1.0创建,两者通过API链接实现通信。Coppeliasim是一款优秀的机器人仿真平台,不仅支持多种机器人仿真引擎,而且可以通过Python、C++、Matlab等多种编程语言对机器人进行通讯控制。所验证的激光四足机器人由4条运动腿和躯干组成,躯干由控制部分和基本框架组成。机器人的每条单腿配有2个驱动关节,因此机器人本体具备4个运动自由度。激光四足机器人的三维模型是通过SolidWorks进行创建并转成URDF格式导入Coppeliasim V4.1.0中的。
4.2. 仿真参数设定
激光四足机器人的结构尺寸参数分为躯干参数和四条腿的关节参数,其中设计的躯干参数为
,
,设计四条腿的名义关节参数如表1所示。
和
分别表示每条腿的第一、二杆长。
和
分别表示每条腿的第一、二关节驱动角度误差。在理想的情况下,实际驱动角度能够实时响应输出的控制角度,因此每个关节驱动角度误差为0。
由于实际生产装配的原因,假定一组可能的实际关节参数,实际关节参数如表2所示。因此,这个过程中产生了关节参数误差,包括杆长误差和关节驱动角度误差。其中,杆长误差表示为实际杆长减去理想杆长,关节驱动角度误差表示为实际关节驱动角度减去理想关节驱动角度。实际关节参数误差如表3所示,其中
和
分别表示每条腿的第一、二杆长参数误差。
为了分别获得关节角度补偿前和补偿后的机器人躯干中心运动轨迹,进行两组机器人动力学仿真。第一组是关节角度补偿前的运动轨迹仿真,输出的关节角度按照实际关节参数的运动学模型计算。第二组是关节角度补偿后的运动轨迹仿真,输出的关节角度在原来的关节角度上添加关节角度补偿量,关节角度补偿量可通过等式(9)计算。
两组机器人采用相同的仿真参数:机器人运动时间
,占空比
;足端轨迹参数:
,
,
;期望机器人行走的体中心高度:
。在机器人开始仿真前,分别初始化所有的足端点
在
体坐标系下和
世界的坐标系下的坐标位置,体坐标系下的坐标位置:
;
;
;
。世界坐标系下的坐标位置:
;
;
;
。
分别对没有补偿和有补偿的输出关节角度变化曲线进行分析,如图3所示。坐标横轴表示单个步态周期,纵轴表示单位为度的输出角度量。8种不同颜色表示8个驱动关节。每条腿输出的第一、二驱动关节角度分别为
和
。实线表示未进行补偿的输出关节角度,虚线表示进行补偿的关节角度。可以看到,当单腿的关节参数误差越大时,输出的驱动关节补偿量也越大。典型的是,左后腿的第一杆长误差为0,第一关节角度误差为0.18˚,因此可以看到补偿前后的关节输出角度几乎重合。
Figure 3. Front and back curves of joint angle compensation
图3. 关节角度补偿前后曲线图
4.3. 仿真过程分析
两组机器人模型的行走方式均采用协调步态,摆动腿足端轨迹均采用复合摆线。在机器人行走的过程中,按照摆动腿和支撑腿的运动情况分为4个时间阶段,分别为
,
,
和
。图4表示仿真环境中机器人的运动状态,
表示体坐标系,
表示仿真环境中的世界坐标系,S表示足端的步长,H表示足端的步高,h表示躯干几何中心距离虚拟地面的高度,
表示机器人躯干中心运动速度,
表示足端相对于躯干中心的运动速度。
在仿真环境中观察得到:在未关节角度补偿前,四足机器人在运动时机器人躯干体容易出现来回摇摆和晃动情况,尤其是在机器人的运动周期变短和前进运动速度加快时,其位姿的变化更加明显。在关节角度补偿后,四足机器人在运动时机器人躯干体抖动的频率和幅度大幅减少,即便在机器人的运动周期变短和前进运动速度加快时,依然如此。
Figure 4. Diagram of robot motion state stage
图4. 机器人运动状态阶段图
4.4. 仿真结果验证
在仿真环境中采用传感器获取补偿前后的
和
的误差变化情况,其轨迹变化图如图5所示。红色实线表示未补偿的
;红色虚线表示补偿后的
;蓝色实线表示未补偿的
;蓝色虚线表示补偿后的
。0刻度表示不存在误差时刻度线。在未补偿前,
的距离0刻度线最大间距为3.22 mm;
的距离0刻度线最大间距为1.77 mm。补偿后,可以看到不同时间阶段
和
距离0刻度的误差偏移量是不同的。
阶段,
的误差偏移量为−0.21 mm,
的误差偏移量为−0.13 mm;
阶段,
的误差偏移量为0.22 mm,
的误差偏移量为0.08 mm;
阶段,
的误差偏移量为−0.22 mm,
的误差偏移量为−0.10 mm;
阶段,
的误差偏移量为−0.22 mm,
的误差偏移量为−0.06 mm。可以
得到最大的误差偏移量为0.22 mm,
的误差量减小了93.4%;
最大的误差偏移量为0.13 mm,
的误差量减小了92.7%。
Figure 5. Error trace plots in y and z directions before and after compensation
图5. 补偿前后y和z方向误差轨迹图
在仿真环境中采用传感器获取补偿前后的
和
的误差变化情况,其中
表示机器人的翻滚角误差;
表示机器人的俯仰角误差,如图6所示。红色实线表示未补偿的
;红色虚线表示补偿后的
;蓝色实线表示未补偿的
;蓝色虚线表示补偿后的
。在未补偿前,
的距离0刻度线最大角度误差为1.28˚;
的距离0刻度线最大角度误差为0.72˚。补偿后,可以看到不同时间阶段
和
距离0刻度的角度误差是不同的。
阶段,
的角度误差为0.05˚,
的角度误差为0.10˚;
阶段,
的角度误差为0.10˚,
的角度误差为0.05˚;
阶段,
的角度误差为0.10˚,
的角度误差为0.02˚;
阶段,
的角度误差为−0.10˚,
的角度误差为−0.02˚。可以
得到最大的角度误差为0.10˚,
的误差量减小了90.3%;
最大的角度误差为0.10˚,
的误差量减小了94.6%。
Figure 6. Error trace plots in α and β attitude before and after compensation
图6. 补偿前后α和β姿态误差轨迹图
5. 结论
本文首先建立四足机器人腿部运动学误差模型,然后得到关节角度补偿量与关节参数误差的映射关系,最后通过关节角度补偿腿部足端的位置误差来提高四足机器人的运动轨迹精度。为此特地搭建基于Coppeliasim和Matlab的联合仿真平台,在激光四足机器人上进行仿真实验验证。实验结果表明,在采用协调步态的行走方式和复合摆线的足端轨迹的运动方式下,关节角度补偿后的四足机器人躯干中心的位姿误差明显下降,可以降低至原来误差的10%。该方法的核心优势是不仅提升了四足机器人的运动轨迹精度,并且是简单、高效、不需要复杂且昂贵的测量传感器。此外,该方法不仅适用于8个关节驱动的四足机器人,同样也适用于其他多关节的足式机器人。