Unicycle Model
- 又稱: unicycle kinematic model, unicycle kinematics
- 類別: Foundations & spatial maths › Kinematics
- 標籤: kinematics, mobile-robots, wheeled-robots, control, navigation
一種輪式機器人的運動學模型,把機器人視為具有平面位置與航向的單一車輪,由前進速度與轉向速率驅動,且無法橫向移動。
定義
單輪車模型(unicycle model)以機器人在平面上的位置 (x, y) 與航向 θ 描述輪式機器人,並有兩個輸入:前進速度 v 與轉向速率 ω。其方程式為 ẋ = v cos θ、ẏ = v sin θ 與 θ̇ = ω。將它們結合可得 ẋ sin θ − ẏ cos θ = 0,也就是機器人無法橫向移動的非完整約束(nonholonomic constraint)。此模型是純運動學的:它忽略質量、車輪打滑與馬達動態,並假設指令速度都能達成。
差動驅動機器人可以直接對應到此模型。設車輪半徑為 r、輪距為 L、車輪轉速為 ω_R 與 ω_L,則前進速度為 r(ω_R + ω_L)/2,轉向速率為 r(ω_R − ω_L)/L,因此為單輪車設計的控制器可以轉換成車輪指令。類車機器人通常以相關的自行車模型描述,它加入轉向角與軸距,因而限制了轉彎半徑。在多輪與輪腿系統中,每個可轉向輪都可以視為各自的單輪車,以其接觸位置與轉向角描述,而機身運動則把各車輪耦合在一起。
此模型是移動機器人控制與規劃的標準起點。它的簡單性使其具備微分平坦性,平面位置即為平坦輸出,因此 x 與 y 上的平滑路徑可以轉換成可行的速度與轉向速率指令。常見的控制器包括 pure pursuit、以 Lyapunov 為基礎的姿態調節,以及對車輪軸前方一點進行回饋線性化,後者可避免直接控制車軸中心時的奇異性。它的限制會在較高速度與鬆軟地面上顯現,此時車輪打滑、側向力與致動器動態會讓運動學預測變得不準確。
為何重要
幾乎每一台輪式移動機器人都會先被當作單輪車來建模、規劃與控制。理解此模型及其假設,是為這類機器人撰寫里程計、局部規劃器與追蹤控制器的基礎。
主要應用
- 差動驅動機器人的軌跡追蹤控制
- 導航堆疊中的局部規劃器與速度取樣
- 移動底盤的車輪里程計
- 為輪腿機器人上的可轉向輪建模
- 非線性控制方法的教學與基準測試
實際應用
一位開發人員為一台小型差動驅動機器人撰寫控制器時,將它表示為單輪車。導航堆疊輸出一條路徑,pure pursuit 控制器選取一個前視點,並計算以選定的前進速度到達該點所需的轉向速率。這兩個指令利用量測到的車輪半徑與輪距轉換成左右輪速度,而把相同的公式反過來套用在編碼器讀數上,就得到機器人的車輪里程計。當機器人被移到鋪有地毯的地面時,開發人員看到航向誤差逐漸變大,於是重新校正有效輪距,因為打滑讓實際的轉向行為與標稱幾何不同。
常見誤解
- 單輪車模型只適用於單輪機器人 — 它描述任何能前進與轉向、但無法橫向移動的平面載具,包括差動驅動底盤
- 此模型能描述機器人的動力學 — 它是運動學模型,忽略質量、打滑與馬達限制
- 單輪車模型與自行車模型可以互換 — 自行車模型多了最小轉彎半徑,而理想的單輪車可以原地轉向
- 簡單的狀態回饋律就能把單輪車穩定到任何姿態 — 它的非完整約束排除了用於點穩定的平滑非時變回饋
誰需要了解
- 移動機器人軟體與控制工程師
- 導航堆疊開發人員
- 輪腿機器人研究人員
- 學習運動學建模的機器人學學生
相關技術
- 差動驅動(Differential Drive)
- 自行車模型(Bicycle Model)
- Pure Pursuit
- Nav2
- 動態視窗法(Dynamic Window Approach)
相關術語
- Nonholonomic Constraint
- Differential Flatness
- Feedback Linearization
- Odometry
- Omnidirectional Drive
- Model Predictive Control
相關專案
- Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
- DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- ROS Motion Planning: One repo implementing 40+ classic and learning-based robot path planners as ROS plugins
- MRPT: Comprehensive C++ toolkit for mobile robotics, SLAM, and sensor-based navigation
- MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking