自主移动机器人导论
上課時間: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=[xi,yi,θ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) ,mmm 為固定標準輪和可轉向標準輪帶來的無側滑約束數。
- 轉向自由度—— δ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? 是可轉向標準輪的轉角,是變量
– J1(βs)J_1{(\beta_s)}J1?(βs?) 為純滾動約束矩陣
– C(βs)C{(\beta_s)}C(βs?) 為無側滑約束矩陣
– φ˙\dot{\varphi}φ˙? 為控制變量——車輪轉速
– JJJ 為結構參數,與車型車輪直徑等相關。- C(βs)C{(\beta_s)}C(βs?) 的零空間是指滿足 C(βs)?n=0C{(\beta_s)}{\cdot}n=0C(βs?)?n=0 的任意向量 nnn
– 機器人僅可以在零空間內移動
– C(βs)C{(\beta_s)}C(βs?) 的秩越小,零空間越大,可取的速度向量 ξ˙\dot{\xi}ξ˙? 越多
– 如果C(βs)C{(\beta_s)}C(βs?) 滿秩,則 ξ˙\dot{\xi}ξ˙? 只能去零值,即機器人無法移動
– δm=3?Rank[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=ξGOAL?ξI=[?x?y?θ]e=\xi_{GOAL}-\xi_{I}=\left[\begin{matrix}-x\\-y\\-{\theta}\end{matrix}\right] e=ξGOAL??ξI?=????x?y?θ????
設置控制律
總結
- 上一篇: 实验三 Gmapping建图
- 下一篇: 概率机器人阅读笔记