二輪差動模型,機械人底盤chassis里程計計算。

2021-07-05 08:31:22 字數 1512 閱讀 2640

二輪差動模型的機械人底盤,是最常見的機械人底盤,像掃地機械人,循跡小車等。作為機械人的移動部件,它需要實現輸入輸出兩大功能。

輸入:接收控制指令速度v和角速度w(v,w)--單位m/s rad/s

輸出:機械人相對位姿x、y軸座標,角度th(x,y,th)--單位 m m rad 

必要時反饋當前機械人速度cv和角速度cw

以上定義把機械人抽象成乙個移動的質點,中心為機械人原地旋轉時的旋轉中心(非機械或物理上的中心),座標係為右手系。

定義好了座標系,我們用一組資料來表示機械人在移動過程中的位姿(位置 x,y 姿態角 th) (x , y , th)座標系的原點( 0 , 0 , 0)一般是機械人上電時候的位姿。

通常我們把機械人的旋轉中心的座標系叫做機械人座標系,機械人相對於上電時刻(0 , 0 , 0)原點的位姿叫做里程計座標系。

機械人接受控制指令(v , w )v是指機械人正前方的速度 , w是指機械人原地旋轉時角速度(逆時針為正)。

我們的主要問題是如何獲得機械人的里程計資料,即機械人相對運動的軌跡(x , y , th)。

首先我們看角度th,這個比較好理解。就是 機械人當前的所有角度增量的和;角度增量= 角速度*時間  ∆th = cw * ∆t ;   th = ∑ ∆th ;

然後我們看座標(x,y),這個要抽象點,分三步:

第一步:計算 在機械人座標系下(這個座標系相對機械人中心而言的) 延x軸的增量  ∆x = v *  ∆t;

第二步:將此增量轉換成里程計座標系下的  (∆x ,  ∆y ),這裡要用到上週期機械人的角度值 th;  ∆x` = cos(th)    ∆y` = sin(th)

第三步,將 ∆x·  ∆y·累加到到上里程計  x = x + ∆x`   y = y +  ∆y` ;

講講麻煩,我們直接舉個例子來說明,其實很好理解。

我們假設幾個機械人有這樣三個時刻 t0 t1 t2,分別對應:(為方便計算角度單位為度 deg deg/s)

t0:時刻機械人上電,機械人座標系原點與里程計座標系原點重疊 ,位於里程計座標系 (0 , 0 , 0) 點,此時機械人以0.2m/s的速度向前移動1秒。

t1:時刻機械人停止運動,由於以0.2的速度向前移動1秒,所以里程計下的位姿是( 0.2 ,  0 , 0 )。

此時機械人以30 deg/s 的角速度旋轉1秒,後停止轉動此時里程計下的位姿是(0.2 , 0 , 30)。

t2:時刻機械人再以0.2m/s的速度執行1秒。時刻機械人停止運動,此時里程計下座標是(0.373, 0.1 ,  30) 

上圖說明

先寫這麼多,示例**整理後再貼出來。

最後打個廣告tgv1.taobao.com科派斯機械人,這是我做的過載機械人底盤,請指教,謝謝!

這個博主寫的比較漂亮規範,大家可以看看。

不二越機械人程式設計手冊 NACHI機械人說明書

在製造業中誕生的工業機械人是繼動力機 計算機之後而出現的全面延伸人的體力和智力的新一代生產工具。機械人是一種具有高度柔性的自動化裝備,對提高製造生產線的柔性具有特別重要的意義,它作為現代製造業的主要自動化裝備在製造業中廣泛應用,並將在未來的製造企業中扮演越來越重要的角色。伴隨著工業機械人在製造業應用...

「IoT」合夥人招募(第二輪)正式啟動

加入 iot合夥人 與阿里雲一起開拓萬物互聯的美好世界!iot合夥人 計畫始於2018年杭州雲棲大會,現在繼續開放招募。第一次招募回顧 自9月份第一次以來,阿里雲iot事業部與 iot合夥人 一起進行了多場gxic沙龍 2場產品聆聽會 1場eepw主辦的物聯網論壇演講 1場展會,合夥人在各場活動中收...

建立乙個urdf機械人 機械人URDF模型

用solidworks的urdf外掛程式sw urdf exporter,具體建立參照下面兩個 利用solidworks三維建模 匯出urdf檔案,並在ros中使用 blog.csdn.net ros學習 solidworks模型轉化為urdf檔案格式 三連桿機械臂示例 逆運動學 gpeng832的...