自主移动机器人导论
时间:2023-02-02 16:00:00
2-12周三晚上11/12/13节课
【Lesson 1】9月16日 概述
由移动机器人控制目的移动机器人在这里已知或未知的环境中以最优的方式到达指定位姿,这主要是一个导航过程。在实现这一目标的过程中,主要解决了三个问题:
- 在哪儿?
– 即定位问题,使用slam同时进行技术、定位和地图建设,协调提高彼此的准确性。
– 所需信息:已知地图、里程计信息、传感器信息
– 获取信息:校准后的位置数据 - 去哪儿?
– 这个问题在人为设定目标位置时相对容易解决。 - 怎么去?
– 机器人的运动过程需要进行全局路径规划和局部路径规划,从而根据执行情况进一步生成轨迹,控制底盘。
– 所需信息:全球成本地图、初始位置、目标点、局部地图
形成这样一个技术体系:

【Lesson 2】9月23日 轮式移动机器人运动模型
常见的构型和基本属性
轮式移动机器人构型特征:
- 底盘悬挂方式:固定式、摆杆浮动式、弹性浮动式
- 轮类型:
– 被动轮:被动全向轮、被动固定标准轮、被动可转向标准轮
– 主动轮:主动标准轮、主动转向标准轮,主动麦克纳姆轮 - 轮布局:2/3/4/6 轮构型
机器人在世界坐标系中平面位姿可以说:
ξ = [ x , y , θ ] T \xi=[x,y,\theta]^T ξ=[x,y,θ]T
自由度:刚体可独立变位置分量的数量
路径:数学表现为机器人一系列位姿 ξ i = [ x i , y i , θ i ] T \xi_i=[x_i,y_i,\theta_i]^T ξi=[xi,yi,θi]T
轨迹:数学上表现为机器人位姿分量与时间的函数关系 ξ ( t ) = [ x ( t ) , y ( t ) , θ ( t ) ] T \xi(t)=[x(t),y(t),\theta(t)]^T ξ(t)=[x(t),y(t),θ(t)]T
运动灵活性:直观体现在机器人路径空间与轨迹空间的大小。
总体上,可以把轮式移动机器人分为全向轮底盘和标准轮底盘,其中全向轮底盘位姿各分量运动独立,灵活性好,但同时也带来了运动的不稳定,而标准轮底盘的位姿分量相互耦合,控制相对不灵活,但也更加稳定,体现着灵活性和稳定性的矛盾性。
瞬时转动中心(Instantaneous Center of Rotation,ICR):平面内机器人相对世界坐标系线速度为0的点:
- 仅包含全向轮支撑的机器人:ICR在平面任意位置
- 包含标准轮的机器人:ICR在标准轮转轴上
一些经典的约束构型:单个标准轮、差动驱动底盘、自行车构型、汽车构型
运动灵活性判据:
- 移动灵活度—— δ m = ( 3 − m ) \delta_m = (3-m) δm=(3−m) , m m m 为固定标准轮和可转向标准轮带来的无侧滑约束数。
- 转向自由度—— δ s \delta_s δs,为独立的可转向标准轮数量。
- 可操作自由度—— δ M = δ m + δ s \delta_M=\delta_m+\delta_s δM=δm+δs,是对轮式机器人平面运动灵活性的综合判据。
3.1 非完整约束与位姿计算
- 如图所示的标准轮轴线方向即改移动机器人的非完整约束方向
- 无法通过两轮的转角直接获得机器人的全局坐标
- 机器人位姿只能通过对驱动轮速度向量的积分 ξ ˙ \dot{\xi} ξ˙ 获得,具体公式如下,写出下面公式,即对机器人进行运动学建模,相对应的,建立从目标位姿速度到驱动轮速度的关系式,即逆运动学建模。
3.2 固定标准轮的约束模型
运动学方程如何得到?
- 速度分析法:仅适用于简单布局
- 约束分析法
① 观察每种轮与地面之间的约束关系
– 纯滚动约束:决定了轮转速与底盘速度的关系
– 无侧滑约束
② 列出每个轮的约束方程,即可得到机器人的运动学模型
– 把各个分量上的速度映射到驱动轮转动方向和轮轴方向,将所有的主动轮纯滚动约束方程和无侧滑约束方程以矩阵形式排列,即可获得轮式机器人运动学模型,以下面的标准轮为例:
- 非主动轮、纯滚动约束一般不出现在运动学方程中
- 式中
– β s \beta_s βs 是可转向标准轮的转角,是变量
– J 1 ( β s ) J_1{(\beta_s)} J1(βs) 为纯滚动约束矩阵
– C ( β s ) C{(\beta_s)} C(βs) 为无侧滑约束矩阵
– φ ˙ \dot{\varphi} φ˙ 为控制变量——车轮转速
– J J J 为结构参数,与车型车轮直径等相关。- C ( β s ) C{(\beta_s)} C(βs) 的零空间是指满足 C ( β s ) ⋅ n = 0 C{(\beta_s)}{\cdot}n=0 C(βs)⋅n=0 的任意向量 n n n
– 机器人仅可以在零空间内移动
– C ( β s ) C{(\beta_s)} C(βs) 的秩越小,零空间越大,可取的速度向量 ξ ˙ \dot{\xi} ξ˙ 越多
– 如果 C ( β s ) C{(\beta_s)} C(βs) 满秩,则 ξ ˙ \dot{\xi} ξ˙ 只能去零值,即机器人无法移动
– δ m = 3 − R a n k [ C ( β s ) ] \delta_m=3-Rank[C(\beta_s)] δm=3−Rank[C(βs)]
3.3 麦克纳姆轮的约束模型
约束模型:
球轮:对底盘不施加无侧滑约束。
3.4 全向轮机器人运动学
以三麦克纳姆轮机器人为例
3.6 工作空间
【Lesson 3】10月13日
3.3 轮式移动机器人位姿闭环控制
4个问题:
- 如何表达位姿误差
- 如何选择速度控制量
- 如何根据位姿误差生成速度控制量,使误差减小
- 完整约束与非完整约束机器人的位姿闭环控制有何异同
位姿误差
定义位姿误差向量为
e = ξ G O A L − ξ I = [ − x − y − θ ] e=\xi_{GOAL}-\xi_{I}=\left[\begin{matrix}-x\\-y\\-{\theta}\end{matrix}\right] e=ξGOAL−ξI=⎣⎡−x−y−θ⎦⎤
设置控制律