机器人领域中机械手的运动学具有极为系统的研究,事实上,对于移动机器人来说也是类似的。移动机器人的工作空间定义了移动机器人的环境中能实现的可能姿态的范围;能控性定义了在它工作空间内可能的路径和轨迹;移动机器人还受动力学的限制,例如翻滚危险高的重心,限制了高速时的实际转弯半径。

不同于机械臂的是,移动机器人是一个独立自动化系统,能相对于它的环境空间整体移动,没有一个直接的方法可以瞬时测量移动机器人的位置,而是必须随时把机器人的运动集成,精确地测量移动机器人的位置(位置估计)是一个极具挑战的任务。

本文将总结移动机器人的运动学模型和分析,分别从机器人的位姿描述、单个轮子的力和约束分析、整体的运动学模型、移动机器人的机动性分析等内容展开阐述。

1 运动学模型和约束

了解机器人运动过程,需要首先描述各轮对运动的作用,然后通过运动学模型描述机器人的整体几何特征与单个轮子行为函数,最后通过运动学约束,计算机器人的路径和轨迹,定义机器人的机动性。

1.1 位置的表示

将移动机器人的底盘视为刚体,忽略机器人和其他轮子间的关联自由度,故底盘存在平面内的x/y方向的移动和绕旋转中心的旋转,共3个自由度。描述移动机器人的位置和姿态时需要首先定义坐标系。

图1 局部参考系与全局参考系

选择平面空间内一个位置作为全局坐标系,选择机器人底盘上一个点P建立局部参考系,将轮子前进的方向作为XR,右手定则垂直轮子平面的方向为YR。坐标{x1,y1}定义了机器人在地面上的位置,θ定义了机器人姿态/轮子前进朝向,则有:

将全局坐标映射到局部坐标中,需要用到旋转矩阵,则有

故用全局坐标系来描述局部参考坐标系中的速度:ξR=R(θ)ξ1

反过来,已知局部坐标系ξR时,,全局坐标系为ξ1=R(θ)-1ξR

1.2 前向运动学模型

前向运动学是指给定机器人的几何特征和轮子的速度,求解机器人的运动。首先需要考虑单个轮子的运动学模型,给定轮子直径为r,转动速度为w,不同类型的轮子具有不同的运动学参数。

假设:

(1)轮子的平面总是保持垂直,所有情况下,轮子与地面之间只有一个单独的接触点;

(2)在单独的接触点无滑动;

(3)轮子只在纯滚动和通过接触点绕垂直轴转动的条件下运动;

(4)滑动接触[25]

虽然轮子类型不同,但有两个约束:

(1)滚动接触:运动在适当方向发生时,轮子必须滚动;

(2)无横向滑动:正交于轮子的平面,轮子必须无滑动。

1.2.1 固定的标准轮

固定的标准轮与底盘的角度是固定不动的,轮子只有绕轮轴旋转的自由度,如图2所示,在局部坐标系中,轮子相对P点的位置可以用{l,α}表示,轮子的角度用β表示

图2 固定标准轮运动分析

对于轮子的滚动约束,将速度v分解到XR,YR,方向,则XR方向为v分量的sin(α+β),YR方向为-cos(α+β),在旋转方向为-lcosβ,将局部坐标系用全局坐标系表达,则公式为:

对于轮子的滑动约束,则轮子横向运动分量必须为零,则:

1.2.2  受操纵的标准轮

相比前面的标准轮,该轮增加了一个绕垂直轴转动的自由度,如图3所示,其滚动和滑动约束同上,但是其中的β不再是定值,而是随时间变化的函数β(t)。

图3 受操纵的标准轮

1.2.3 脚轮

脚轮可以绕垂直轴转动,但不同于前面,该轮距离垂直轴有偏距d,如图4所示,因此滚动约束不受影响,仍与上面相同,但滑动约束需要考虑偏距的影响:

图4 脚轮运动分析

1.2.4 麦克纳姆轮

该轮已在《详谈麦克纳姆轮》中做了详细解释,不再重复。

图5 麦克纳姆轮

1.2.5 球形轮

球形轮不存在转动轴,没有合适的滚动或滑动约束,是全向运动的,运动方程与固定标准轮是一模一样的。但β是自由变量。

图6 球形轮

由上述的分析,只有固定轮和可操纵的固定轮对底盘运动有影响,设定N个标准轮中,有f个固定标准轮,有s个受操纵的标准轮;则运动学方程可写为:

只要确定α和β,就可以确定方程中的矩阵项,用于后续分析。

2  机动性分析

限制机器人底盘运动的是轮子的滑动约束,可从上述运动方程中的滑动约束作为分析依据。除了瞬时的运动学外,机动性还包括可用的活动性、受操纵的标准轮所提供的的附加自由度的联合。

在几何上,用ICP(转动瞬时中心)证明运动学的约束,如图6所示,对于单个轮子来说,只是无法横向运动,经过轮子的垂直轴画一条虚线,在任何时候,沿着零运动直线的轮子运动必为0.

图6 不同底盘的转动瞬时中心示意图(a)四轮(b)自行车

机器人底盘运动学是由所有标准轮引起的独立约束集合的函数,可以用矩阵[C1(βs)]的秩表示。独立约束数目越多,秩就越大,活动性就越受约束。

一般而言,如果[C1f]的秩大于1,则车辆只能沿着一个圆或者一条直线行走。

从形式上定义机器人的活动性程度δm:

这里,活动性程度是根据轮子的速度变化而影响底盘的运动自由度的,δm范围为0-3。;另外,当存在操纵轮时,改变操纵轮的角度也会引起底盘姿态的变化,这里用可操纵度来表示δs:

δs的值只能在0-2之间,当为0 的时候,没有操纵轮的存在,而数值为2的时候,存在2个操纵轮,有点像漂移板那种结构。

机器人的机动程度δM即机器人可以操纵的总的自由度,包括通过轮子的速度、可直接操纵的轮子自由度两方面:δMms

图7 三轮配置的五个不同类型

由上分析,可以用三轮配置的不同底盘来分析机动程度。第一个全向轮存在0个标准轮,故秩为0,而活动度为3,可操纵度为0;第二个有两个固定标准轮,但因为两个标准轮水平排布,故只将ICR限制为1条直线,因此活动性程度为2,而操纵度为0;后两个的分析同样,但是因为存在一个可操纵的标准轮,故操纵度为1.

总体来说,对于机动程度为2的机器人,ICR被限制为1条直线;而对于机动程度为3的机器人,ICR可设置在平面上的任何点。

3 移动机器人的工作空间

3.1 工作空间

机动性分析中阐述了活动性自由度和操纵自由度,即机器人可控制的自由度,本节关心机器人用这些自由度可以获得多大的空间自由度。比如一辆汽车,机动性为2,即一个驱动轮的运动和一个操纵轮的转动,但汽车可以实现的自由度是3,即两个方向的平动和绕垂直轴的转动。

可见,机器人所拥有的机动性自由度不等同于机器人的工作空间自由度。此处,移动机器人可以实现的自由度数目称之为工作空间自由度DOF。

另一方面,速度空间描述了机器人可控的运动独立分量,比如自行车可控的变量有两个,一个是轮子的转速,另一个是拐弯的速度变化量,我们用微分自由度DDOF表示机器人独立可达到的速度的数目,再比如3轮全向车,可以独立设置3个轮子的姿态变量。

引入一个概念“完整”:完整是用于描述机器人底盘的运动学约束,只有完整运动学约束的机器人是完整的机器人。完整的运动学约束表示为只是位置变量的显函数,而非完整运动学约束是需要微分关系的。

一个机器人是完整的:当且仅当DDOF=DOF,即微分自由度等于工作空间自由度。

3.2 路径轨迹

除了工作空间,我们还关心机器人在不同环境中运动的路径类型和轨迹是什么样的。

轨迹和路径的区别在于,路径是空间3维的运动,而轨迹存在一个时间纬度,是4维的空间运动。如图8所示,该全向移动机器人先沿X方向以1 m/s运动1s,然后旋转90°,向Y方向以1m/s的速度运动1s。同样的轨迹让双轮驱动机器人来实现,就无法完成同样的轨迹运动,只能最接近路径。

图8  运动轨迹示意图