sunday功能包使用介紹以及開源
sunday我給自己機械臂的命名,原型是innfos的gluon機械臂。通過sw模型文件轉urdf。Sunday項目主要由六個功能包sunday_description、sunday_gazebo、sunday_moveit_config、yolov5_ros、vacuum_plugin、realsense_ros_gazebo組成,下面我將介紹這六個功能包。
個人環(huán)境
首先介紹個人使用環(huán)境,博主使用的是Ubuntu18.04+gtx1660ti顯卡+ros_melodic+cuda10.2+pytorch1.8+yolov5-6.1。環(huán)境配置的教程詳見上一篇博客:
https://blog.csdn.net/qq_48427527/article/details/129201676?spm=1001.2014.3001.5502
sunday_description
sunday_description是由sw插件導出的功能包,我主要對sunday_description/urdf中的urdf文件進行修改,并配置xacro文件。
sunday_description/launch/sunday_rviz.launch
文件用于觀察我所配置的xacro文件的模型狀態(tài)。
sunday_moveit_config
基于sunday_description/urdf/sunday.xacro對moveit進行配置修改方面還是參考古月的課程進行的修改。
修改過的文件:
sunday_moveit_config/config/controllers_gazebo.yaml
sunday_moveit_config/launch/moveit_rviz.launch
sunday_moveit_config/launch/moveit_planning_execution.launch
sunday_gazebo
該功能包主要用于配置機械臂操作的gazebo仿真環(huán)境,具體配置也是參考古月的課程,幾個launch文件分別用于發(fā)布機械臂關節(jié)的狀態(tài)以及與moveit做對接。
sunday_gazebo/launch/sunday_bringup_moveit.launch
該launch文件里面包含了所有節(jié)點,包括yolov5節(jié)點。如果你還未配置好yolov5環(huán)境,也可以使用以下不包含yolov5的launch文件打開gazebo環(huán)境。
sunday_gazebo/launch/sunday_bringup_moveit_origin.launch
yolov5_ros
該功能包是我在csdn上邊找到的,封裝了yolov5,能以launch文件啟動,并發(fā)布話題,個人感覺還不錯。地址:
YoloV5 的ros功能包
git clone https://github.com/qq44642754a/Yolov5_ros.git
具體使用過程就是將訓練好的權重放置進功能包中對應launch文件的路徑下邊,在launch文件中修改話題名稱以及其它參數(shù)即可。
vacuum_plugin
vacuum_plugin是一個吸盤的插件,在urdf中插入該插件即可在gazebo中實現(xiàn)吸盤的功能。
git clone https://github.com/tatsuya-s/gazebo_ros_vacuum_gripper_debugger
在sunday_description/urdf/sunday.xacro第490行添加插件
<!-- vacuum_gripper plugin -->
<gazebo>
<plugin name="gazebo_ros_vacuum_gripper" filename="libvacuum_plugin.so">
<robotNamespace>/sunday/vacuum_gripper</robotNamespace>
<bodyName>link_6</bodyName>
<topicName>grasping</topicName>
<maxDistance>0.05</maxDistance>
<minDistance>0.03</minDistance>
</plugin>
</gazebo>
realsense_ros_gazebo
realsense_ros_gazebo功能包是realsense的gazebo功能包,其仿真效果與實物相同,且其中包含多款realsense型號的模型文件,其中便包含本項目中使用的realsenseD435i攝像頭,可以將原urdf中的攝像頭刪除,調用該功能包的模型進行替換。
git clone https://github.com/nilseuropa/realsense_ros_gazebo.git
在sunday_description/urdf/sunday.xacro第454行添加代碼
<xacro:include filename="$(find realsense_ros_gazebo)/xacro/depthcam.xacro"/>
<xacro:realsense_d435 sensor_name="camera" parent_link="link_5" rate="30">
<origin xyz="-0.00068847 -0.06 -0.13" rpy="-3.14 0 -1.5708"/>
</xacro:realsense_d435>
gripper_model
gripper_model并不是一個功能包,這個包里有四個模型文件,對應視頻中的三個多邊形體以及,喂食過程中的人物張嘴閉嘴展板。模型文件的制作以及貼圖的教程可以看我之前寫的博客。博客地址:
https://blog.csdn.net/qq_48427527/article/details/124477608?spm=1001.2014.3001.5502
將四個模型拷貝放置到.gazebo/models路徑,注意不能將整個包拷貝,僅將四個模型文件拷貝即可。
使用教程
現(xiàn)將幾個模型文件gripper_model中的幾個模型文件放到.gazebo/models路徑中
將sunday.zip解壓置于xx_ws/src路徑下
cd xx_ws
catkin_make
source devel/setup.bash
conda activate 之前創(chuàng)建的虛擬環(huán)境
roslaunch sunday_gazebo sunday_bringup_moveit.launch(該launch包含yolov5節(jié)點,因此需要在conda環(huán)境中運行)
新開一個終端
roscd sunday_gazebo/scripts
python grasp&feed.py(該腳本無需進入conda環(huán)境中運行)
在終端中輸入想要拾取物體的名稱,從而實現(xiàn)物體的拾取以及喂食
/
視頻第一部分pick&place
conda activate 之前創(chuàng)建的虛擬環(huán)境
roslaunch sunday_gazebo sunday_bringup_moveit.launch
將gazebo中的展板挪遠一點
新開終端
roscd sunday_gazebo/scripts
python grasp.py
在終端中輸入想要拾取物體的名稱,從而實現(xiàn)物體的拾取
由于用于訓練的多邊形樣本照片過少,如果出現(xiàn)展板擋住多邊形模型出現(xiàn)陰影從而無法準確識別的情況,可以拖動或者旋轉多邊形模型通過調整位姿實現(xiàn)物體識別。
開源地址
github:https://github.com/Lord-Z/sunday
另外三個開源的功能包:
鏈接: https://pan.baidu.com/s/1N2T7TLAK9QIbBxWjepwJ6w 密碼: uvkv
在放進百度云盤之前,博主將yolov5_ros/weights路徑下的best.pt重命名為了polygon.pt用于方便區(qū)分權重,給各位造成一定的困擾,請各位在使用時將launch文件中的路徑名自行修改。文章來源:http://www.zghlxwxcb.cn/news/detail-402093.html
資料
1.YoloV5 的ros功能包
2.realsense_ros_gazebo
3.vacuum_plugin文章來源地址http://www.zghlxwxcb.cn/news/detail-402093.html
到了這里,關于從零開始的機械臂yolov5抓取gazebo仿真(環(huán)境搭建篇下)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!