移动机器人 | 运动模型
移动机器人 | 运动模型
运动指的是物体的一种行为方式。对于移动机器人来说,运动指的是移动机器人从一个地方移动到另一个地方。严格来说,移动机器人运动学(Kinematics)讨论机器人由于运动引起的空间姿态变化,它是建立机器人运动方程,进行机器人运行轨迹计算,预测机器人航迹的基础。对于如空中、水下、不平坦地面等复杂的非道路环境,估计移动机器人的状态,就必须考虑移动机器人在三维空间中三个坐标方向上的运动情况,即包括移动机器人参考中心的三维坐标以及航向、俯仰、横滚角在内的机器人位姿。
类似于自然界中的各种生物,移动机器人的运动方式也有很多种,如步行(腿)、滚动(轮子)、滑动(波动)、跳跃、飞行、游泳等。不同的运动方式需要通过不同的运动机构和运动机理实现。本章着重以轮式移动机器人为对象,介绍其运动的模型和控制方式。
在室内或高速公路等结构化的环境中,一般移动机器人的运动学分析可以基于二维平面的假设,本章着重阐述平面中移动机器人的运动模型。
1、坐标系
在研究移动机器人运动学之前,首先需要建立参考坐标系。移动机器人的位姿是指移动机器人在指定坐标系下的位置和姿态。此处以双轮差速驱动移动机器人为对象,如图4-1所示,假定移动机器人底盘和轮子都是刚性的,忽略内部和轮子的关节与自由度,对该移动机器人建立两个坐标系:全局坐标系XGOGYG、机器人局部坐标系XRORYR。
图4-1移动机器人位姿
全局坐标系(G)也可称为世界坐标系,用于建立移动机器人工作环境空间的描述,一般是固定的。在无人机和无人车的研究中,通常采用大地坐标系构建全局坐标系。有了这个全局坐标系,其他坐标系就可以确立了。
机器人局部坐标系(R)是以机器人自身构建的,往往会随着移动机器人的运动而变化。通常,以移动机器人底盘的质心点为机器人局部坐标系原点,以移动机器人的前进方向建立XR轴,沿着XR轴逆时针90°建立YR轴。在图4-1中,l为机器人两驱动轮的轮距。
以移动机器人的前进方向(即XR轴)和全局坐标系XG轴的夹角θ为机器人的方向角(又称航向角)。夹角θ的范围为[-180°,180°],顺时针方向为负,逆时针方向为正。
设移动机器人质心在全局坐标系下的坐标为(x, y),则移动机器人在全局坐标系下的位姿XG可用三维的向量描述,即
在移动机器人运动过程中,为了描述机器人的运动,仅有局部坐标系下的位姿坐标是不够的,需要将局部坐标系下的运动转换到全局坐标系下的运动。该映射转换过程可通过变换矩阵T完成:
对于二维运动来说,变换矩阵T是3×3的齐次矩阵
2、运动模型
1●一般运动模型
移动机器人运动模型描述在一个输入控制量ut的驱动下,移动机器人由前一时刻的状态Xt-1变为当前时刻的状态Xt,即
其中,Vt表示系统的随机噪声和模型本身的不确定性,一般采用服从高斯分布(0,Qt)噪声。
(1) 若控制输入为机器人平移向量Δdr,t和转角Δθr,t,即
则机器人的运动转移方程为
(2)若控制输入为机器人平移速度vt和旋转角速度ωt,即
则机器人的运动转移方程为
其中,Δt为t时刻和t -1时刻的间隔时间段。
2●里程计
最典型的移动机器人系统的控制输入是控制指令量或来自内部传感器里程计的数据,而在移动机器人导航、SLAM或者航迹推算中比较常用的是里程计。正如第3章提到的里程计一般是指通过在移动机器人驱动轮上安装的编码器和陀螺仪,根据这些内部传感器的读数和移动机器人运动模型计算得到。除此以外,也有通过视觉传感器根据图像处理和视觉几何推算出移动机器人里程的方式,称为视觉里程计,见《移动机器人》6.4.1节。这些传感器价格低廉、采样速率高,同时短距离内能够提供精确的定位精度,是移动机器人最常用的相对定位方法,能提供机器人的实时位姿信息。
光电编码器旋转计数检测出车轮在一定采样周期内转过的圈数来测定速度。理论上的里程计分辨率为
其中,δ表示里程计的分辨率,即将编码器脉冲变换为线性车轮位移的转换因子;D表示车轮直径(mm);η表示驱动电机的减速比;p表示编码器的精度,即编码器每圈输出的脉冲数(Pulse Per Revolution,PPR)。
在采样间隔Δt内,若驱动车轮的光电编码器输出的脉冲增量为NL(NR),则可以计算出车轮的增量位移Δ dL(Δ dR)为
里程计的模型可以分为圆弧模型和直线模型两种。圆弧模型是一种通用模型,其不但考虑机器人运动变化中的位移变化,同时还考虑运动中航向角的变化。直线模型实际是圆弧模型的简化形式,它近似地认为机器人在很短的时间内航向角的变化很小,近似为零,所以用简单的直线对机器人的运动进行模拟。直线模型的形式简单,降低了系统的计算负担,在里程计模型满足频率足够高的情况下,同样可以满足系统要求。
1. 圆弧模型
移动机器人里程计的圆弧模型同时考虑了机器人的位移变化和航向角的变化,更加接近机器人的运动轨迹。当机器人终止位姿和起始位姿的方向角的差值|Δθt|>0时,根据图4-2,圆弧模型方程可描述为
其中,ΔDt为机器人从位姿xt到xt+1的移动距离,Δθt为位姿xt到xt+1航向角的差值。
图4-2里程计模型计算示意图
2. 直线模型
直线模型假设机器人在极短时间内航向角的变化为零,是对圆弧模型的一种简化,适用于对机器人位姿要求不是很精确的情况,可有效降低计算的复杂度,利于计算机编程。直线模型因假设机器人在极短时间内的运动可用直线表示,即|Δθt|=0,所以直线模型的方程可描述为
该模型推导简单,其实际是圆弧模型的简化形式。
当以直线模型为主,同时在位姿航向角差值的推测中使用弧线模型,可描述如下:
里程计是基于安装在驱动车轮上的编码器将车轮旋转转换为相对地面的线性位移这一前提,因而具有一定的局限性。其误差来源分为系统误差(Systematic Errors)和非系统误差(NonSystematic Errors):系统误差包括左右驱动车轮半径的差异、车轮半径平均值与标称值的差异、车轮安装位置的差异、有效轮间距的不确定性、有限的编码器精度和采样速率,它对里程计误差的积累是恒定的;而非系统误差则包括运行地面的不平整、运行中经过意外物体,以及多种原因造成的车轮打滑,它对里程计误差的影响是随机变化的。