从零开始的机械臂yolov5抓取gazebo仿真(环境搭建篇下)
sunday功能包使用介绍以及开源
sunday我给自己机械臂的命名,原型是innfos的gluon机械臂。通过sw模型文件转urdf。Sunday项目主要由六个功能包sunday_description、sunday_gazebo、sunday_moveit_config、yolov5_ros、vacuum_plugin、realsense_ros_gazebo组成,下面我将介绍这六个功能包。
个人环境
首先介绍个人使用环境,博主使用的是Ubuntu18.04+gtx1660ti显卡+ros_melodic+cuda10.2+pytorch1.8+yolov5-6.1。环境配置的教程详见上一篇博客:
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文件的模型状态。
sunday_moveit_config
基于sunday_description/urdf/sunday.xacro对moveit进行配置修改方面还是参考古月的课程进行的修改。
修改过的文件:
sunday_moveit_config/config/controllers_gazebo.yamlsunday_moveit_config/launch/moveit_rviz.launchsunday_moveit_config/launch/moveit_planning_execution.launch
sunday_gazebo
该功能包主要用于配置机械臂操作的gazebo仿真环境,具体配置也是参考古月的课程,几个launch文件分别用于发布机械臂关节的状态以及与moveit做对接。
sunday_gazebo/launch/sunday_bringup_moveit.launch
该launch文件里面包含了所有节点,包括yolov5节点。如果你还未配置好yolov5环境,也可以使用以下不包含yolov5的launch文件打开gazebo环境。
sunday_gazebo/launch/sunday_bringup_moveit_origin.launch
yolov5_ros
该功能包是我在csdn上边找到的,封装了yolov5,能以launch文件启动,并发布话题,个人感觉还不错。地址:
YoloV5 的ros功能包
git clone https://github.com/qq44642754a/Yolov5_ros.git
具体使用过程就是将训练好的权重放置进功能包中对应launch文件的路径下边,在launch文件中修改话题名称以及其它参数即可。
vacuum_plugin
vacuum_plugin是一个吸盘的插件,在urdf中插入该插件即可在gazebo中实现吸盘的功能。
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路径,注意不能将整个包拷贝,仅将四个模型文件拷贝即可。
使用教程
现将几个模型文件gripper_model中的几个模型文件放到.gazebo/models路径中
将sunday.zip解压置于xx_ws/src路径下
cd xx_wscatkin_makesource devel/setup.bashconda activate 之前创建的虚拟环境roslaunch sunday_gazebo sunday_bringup_moveit.launch(该launch包含yolov5节点,因此需要在conda环境中运行)新开一个终端roscd sunday_gazebo/scriptspython grasp&feed.py(该脚本无需进入conda环境中运行)
在终端中输入想要拾取物体的名称,从而实现物体的拾取以及喂食/视频第一部分pick&placeconda activate 之前创建的虚拟环境
roslaunch sunday_gazebo sunday_bringup_moveit.launch
将gazebo中的展板挪远一点新开终端
roscd sunday_gazebo/scripts
python grasp.py
在终端中输入想要拾取物体的名称,从而实现物体的拾取
由于用于训练的多边形样本照片过少,如果出现展板挡住多边形模型出现阴影从而无法准确识别的情况,可以拖动或者旋转多边形模型通过调整位姿实现物体识别。
开源地址
github:https://github.com/Lord-Z/sunday
另外三个开源的功能包:
链接: https://pan.baidu.com/s/1N2T7TLAK9QIbBxWjepwJ6w 密码: uvkv
在放进百度云盘之前,博主将yolov5_ros/weights路径下的best.pt重命名为了polygon.pt用于方便区分权重,给各位造成一定的困扰,请各位在使用时将launch文件中的路径名自行修改。
资料
1.YoloV5 的ros功能包
2.realsense_ros_gazebo
3.vacuum_plugin
从零开始的机械臂yolov5抓取gazebo仿真(环境搭建篇下)相关推荐
- 从零开始的机械臂yolov5抓取gazebo仿真(一)
从SOLIDWORKS中导出机械臂URDF 一.下载sw_urdf_export插件 插件的安装和下载可详见我写的差速小车第一章的内容 对机械臂模型进行开源(博主用的是SW2019版本).当时拿到这个 ...
- 第六天:通过python代码控制越疆机械臂完成抓取投递整个过程
文章目录 一.前言 二.机械臂的运动逻辑(直接上代码讲解,具体请看注释) 三.总结 一.前言 有很多小伙伴问我怎么样控制机械臂完成整个过程,其实经过上一篇博文的探究,这个问题其实很容易就可以解决.把他 ...
- 理论联系实践:机械臂视觉抓取之eye to hand
eye to hand,也就是相机固定在一个位置保持不变,我们想要通过视觉抓取一个目标,最先得到的就是目标在相机所拍摄的图像中的位置.而怎么把图像中的位置转化为机械臂所知道的位置呢. 需要进行如下操作 ...
- Gluon_2L6_4L3机械臂视觉抓取操作手册
机械臂操作手册 安全须知 如遇任何紧急情况,请立即按下紧急停止开关断电,以防操作人员受伤或机械臂损坏. 当机械臂断电时,执行器会立即进入松闸状态,可能无法保持当前姿态.需要人为提供外力保证机械臂不会因 ...
- 基于RGB-D相机的机械臂无序抓取系统
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 引导语:本文为"3D视觉创新应用(三维重建)竞赛"作品集系列之一,该作品由来自深圳 ...
- Baxter的Gazebo仿真环境搭建
注:这是一篇配置失败的文章,原因是Ubuntu20.04不支持Qt4,catkin_make通不过,不是20.04的可以尝试一下,或者有大神能不能帮忙看下在ubuntu20.04装baxter仿真环境 ...
- 视觉机械臂自主抓取全流程
目录 简介 相机标定 手眼标定 Eye-In-Hand Eye-To-Hand 求解(Eye-In-Hand) 求解AX=XB 手眼标定步骤 读取出摄像头信息并确定目标物体的位姿 图像分割 三维对象实 ...
- 强化学习UR机械臂仿真环境搭建(一) - 为UR3机械臂添加robotiq ft300力传感器
为UR3机械臂添加robotiq ft300力传感器 ```建议参考这篇```,[ur机械臂 + robotiq gripper + robotiq ft sensor + gazebo + 连接真实 ...
- 从零开始做歌词生成器 - 0 - 抓取网易云3万首歌词
随着近几年深度学习的发展,歌词生成器逐渐变为一个有趣而热门的研究点.这篇和接下来的几篇文章,将从零开始,记录数据的抓取.清洗与分析,到歌词生成模型的构建.训练与分析过程. 要做歌词生成器,首先得有丰富 ...
最新文章
- ADAS处理器集成功能安全单片机MCU
- C++描述的位运算总结
- android 录像实时传送,Android中实时视频传输(摄像头实时视频传输)解决方案
- 双曲线和直线联立公式_圆锥曲线联解公式
- ASP.NET Core 开源项目 nopCommerce,一款沉淀13年的电商开源佳作!
- Java 8 –按值对HashMap进行升序和降序排序
- apk改之理_一份礼物.apk-O泡果奶的逆向分析
- 智能云媒体服务器,智慧广电媒体解决方案
- leaflet地图区域数据可视化
- 归并排序(Java)
- 同义句转换在线翻译器的软件
- K-Means算法与FCM算法
- 【做小游戏在Godot中遇到的问题第一篇】
- RPC远程调用框架rsf和dubbo
- 幸福究竟和哪些因素有关?通过JMP来看全球幸福指数
- 哨兵二号波段介绍_警告!欧空局发布的哨兵二号卫星L2A产品存在严重问题
- vue二维码生成可自定义logo
- [Java8新特性]Collectors源码阅读-1 toCollections和joining等
- Qt 信号与槽基础操作
- 诚之和:被传估值150亿,元气森林凭什么?