ros-gazebo中使用urdf和moveit

參考視頻:https://www.bilibili.com/video/BV1n7411w7Anfrom=search&seid=5116569657579284345

交互圖:
在這裏插入圖片描述
1、gazebo的launch文件的基本形式
(1)空世界,一般不進行修改,第一段最後一行定義自己的模型名稱,也可以不進行定義。第二段第二行輸入自己的仿真場景文件
在這裏插入圖片描述

(2)spawn model(生成模型) 注:最重要的部分
把模型加載到gazebo,arg中-urdf是說要解析的模型是urdf類型的,-model後面跟的是加載的模型的名字,-param是文件來源,來自參數服務器的robot_description參數
在這裏插入圖片描述

接下來要對urdf文件進行修改,不然按照上面的launch文件打開的模型顏色是灰色的而且因爲沒有傳動標籤模型會軟在地上,同時因爲沒有控制器,模型的關節也不能動。
2、修改urdf
(1)link的gazebo屬性
在這裏插入圖片描述
在這裏插入圖片描述
kp kd: 對於ODE定義的剛體接觸,接觸剛度k_p和阻尼k_d
參數範圍來自開源物理引擎
參考:https://blog.csdn.net/tobebest_lah/article/details/100061415#urdfgazebo_161
(2)joint的gazebo屬性
給joint添加真正的執行裝置——transmission標籤
transmission標籤主要的針對對象是joint(因爲一般兩個link連接處的地方如果是非固定的,那麼一定會存在一個執行裝置來改變兩個link的相對位置),transmission標籤的作用就是給這個joint打上某種執行器的標籤,有了執行器,gazebo就可以在物理層面上對模型進行驅動了。

在這裏插入圖片描述
type標籤只有一種類型
hardware interface標籤有三種類型,分別爲位置控制、速度控制和力控制
actuator 標籤指的是馬達(電機)信息
mechanicalReduction標籤指的是電機和關節的轉動比,即傳速比,爲1

(3)gazebo-ros插件以及虛擬關節

在這裏插入圖片描述
3、現在模型在gazebo中可以正常顯示,但是ros還不能控制機械臂進行運動,所以要加入控制器和相應的launch文件啓動控制器
(1)文件配置
在這裏插入圖片描述
配置launch文件
在這裏插入圖片描述
在這裏插入圖片描述
(2)操控機械臂
在這裏插入圖片描述
launch文件啓動成功形式
在這裏插入圖片描述
接下來查看話題,發現控制器都已經啓動
在這裏插入圖片描述

發佈命令控制關節在gazebo中運動
在這裏插入圖片描述
對應的關節會進行移動

對夾爪進行控制
在這裏插入圖片描述
goal commond 改成0.5 夾爪閉合
在這裏插入圖片描述
(3)控制組
可以設置手臂和夾爪控制組
在這裏插入圖片描述
4、moveit配置
修改moveit config包來使得moveit控制機械臂
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章