本系列教程作者:小魚
公衆号:魚香ROS
QQ交流群:139707339
教學視訊位址:小魚的B站
完整文檔位址:魚香ROS官網
版權聲明:如非允許禁止轉載與商業用途。
7.4 機器人運動學介紹
機器人學是一個非常龐大的學科,凡是和機器人設計應用相關的都可以劃分到機器人學中,主要有運動學和動力學、系統結構、感覺傳感技術、運動規劃技術、決策技術等。
為了友善後面的機器人模組化和仿真,本節我們對機器人的運動學進行簡單的介紹和學習。
1.機器人運動學
機器人運動學研究機器人的位姿關系,主要包含正向運動學和逆向運動學兩類。
正向運動學即給定機器人各關節變量,計算機器人末端的位置姿态;比如上節課我們已知機器人關節和關節之間的關系,求關節1和關節3之間的關系
逆向運動學即已知機器人末端的位置姿态,反求機器人的關節變量;比如當我們已知機器人關節1和關節3之間的關系,求關節關節1和關節2,關節2和關節3之間關系。
2.機械臂運動學介紹
正運動學:已知每個關節的角度,求末端的位姿
逆運動學:已知末端姿态,求每一個關節的角度
3.兩輪差速底盤運動學介紹
兩輪差速模型指機器人底盤由兩個驅動輪和若幹支撐輪構成的底盤模型,像turtlebot和開源機器人fishbot都是兩輪差速模型。
兩輪差速模型通過兩個驅動輪可以通過不同轉速和轉向,使得機器人的達到某個特定的角速度和線速度。
兩輪的平衡車大家都見過吧,靠着兩個輪子即可實作前後移動(線速度),左轉右轉(角速度)。
3.1 正逆解
了解了兩輪差速模型,那正逆解又是怎麼回事?
正運動學:已知兩個輪子的速度,求整車的角速度(弧度/秒)和線速度(米/秒)
逆運動學:已知目标角速度和線速度,求兩個輪子的轉速
3.2輪式裡程計
當我們知道了兩個輪子之間的相對位置,同時知道了每一時刻機器人的角速度和線速度,那我們如何擷取機器人的目前角度和位置呢?
3.2.1 角度
影響機器人目前角度的因素隻有一個,就是角速度。
某一時刻機器人轉動的角度 = 這一時刻機器人的角速度*這一時刻時長
假如我們認定初始時刻機器人的角度為0,通過對機器人轉動角度角度進行累加,即可獲得機器人的目前角度。
上述過程其實就是對角速度進行積分得到角度。
3.2.2 位置
通過對角速度積分,我們得到了角度。
機器人某一時刻自身方向上的前進速度可以分解為裡程計坐标系中x軸和y軸方向上的速度。
從圖中可以看出:
v y = v ∗ c o s ( θ ) v y = v ∗ s i n ( θ ) v_y = v*cos(\theta) \\ v_y = v*sin(\theta) vy=v∗cos(θ)vy=v∗sin(θ)
得到了x和y方向上的速度,乘上該速度對應的某一時刻經過的時間,即可得到這一時刻在x軸和y軸方向上的位移,對位移進行累加即可得到裡程計中的x和y。
技術交流&&問題求助:
- 微信公衆号及交流群:魚香ROS
- 小魚微信:AiIotRobot
- QQ交流群:139707339
- 版權保護:已加入“維權騎士”(rightknights.com)的版權保護計劃
作者介紹:
我是小魚,機器人領域資深玩家,現深圳某獨腳獸機器人算法工程師一枚
國中學習程式設計,高中開始接觸機器人,大學期間打機器人相關比賽實作月入2W+(比賽獎金)
目前在輸出機器人學習指南、論文注解、工作經驗,歡迎大家關注小魚,一起交流技術,學習機器人