使用moveit!控制真實機械臂(0) 思路

2021-08-19 20:24:31 字數 1155 閱讀 9298

moveit!可以實現對機械臂的軌跡控制,這裡的機械臂既可以是真實的,也可以是虛擬的,在此,我們想使用moveit!規劃的軌跡來控制乙個真實的機械臂,真實的機械臂千差萬別,這裡不涉及到真實機械臂的控制驅動,只講一講控制思路,每一條思路今後會再寫文章逐步細化。

1、首先要有乙個與真實機械臂相一致的機械人模型檔案。

這裡的一致指的是機械臂連桿引數一致,模型的細微差別不受影響。這一步也不是必須的,只是為了在rviz下使用moveit,這樣視覺化效果好一些,初學也容易接受,若不在rviz下使用moveit!,你也完全可以使用moveit!所提供的api程式設計介面,使用自己寫的程式去發布規劃的軌跡。

《使用moveit!控制真實機械臂(1)——獲取乙個機械臂模型檔案》

2、使用moveit配置助手生成配置檔案。

載入上述模型檔案,跟著助手嚮導一路走下去,最終生成乙個moveit的配置檔案。

《使用moveit!控制真實機械臂(2)——使用moveit配置助手生成配置檔案》

3、修改配置檔案來控制真實機械臂。

上一步生成的配置檔案預設控制的是虛擬機械臂,需要修改部分檔案,來告訴moveit!我們想要控制的是真實機械臂。

《使用moveit!控制真實機械臂(3)——修改moveit配置檔案來控制真實機械臂》

4、了解moveit!所使用的action。

此時需要理解action的工作原理,因為moveit!是通過action這種互動機制來控制機械臂的,這種方法的本質還是ros下的訊息,但程式設計方法有所不同,因此這裡需要對moveit所使用的action做乙個了解。

《使用moveit!控制真實機械臂(4)——了解moveit!所使用的action》

5、在真實機械臂的驅動節點中實現action服務端功能。

moveit扮演的角色是action的客戶端,真實機械臂的控制節點是action服務端。

《使用moveit!控制真實機械臂(5)——編寫真實機械臂節點中的action服務程式》

6、將action客戶端的指令轉化成機械臂能夠執行的控制命令。

《使用moveit!控制真實機械臂(6)——將action的資訊轉化為機械臂的控制命令》

Moveit!配置 開發機械臂全過程

根據自己需要的機械臂進行配置,各界面引數介紹請查閱 setuo assistant 此處不再贅述。筆者在此過程中唯一遇到的問題就是在匯入urdf檔案時,setup assistant無法識別。解決方法 從github上clone官方發布的urdf,並且注意clone與自己的ros版本對應的urdf。...

機械臂控制 5

基本指南 robodk是用於模擬和離線程式設計的軟體。按f1時,將顯示與所選專案相關的幫助主題 參考座標系 注意 乙個參考係相對於另乙個參考係的關係也稱為姿勢 位置和方向 甲姿態可以通過xyz位置來表示和尤拉角為取向,通過xyz位置和四元數的值或由乙個4 4矩陣。預設情況下,robodk顯示的關係作...

UR機械臂的TCP IP控制

最近研究了一下ur5機械臂的控制,由於 商提供的實物是用自帶的示教器來程式設計控制,感覺很不方便。於是我研究了一下ur5機械臂的資料,決定用qt寫個控制軟體,將示教器上面的控制介面移植過來,這樣就可以用電腦通過無線網路遠端控制機械臂了,下面介紹本人做的控制軟體。此圖是示教器螢幕上的控制介面 此圖為本...