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仿真(环境搭建篇下)相关推荐

  1. 从零开始的机械臂yolov5抓取gazebo仿真(一)

    从SOLIDWORKS中导出机械臂URDF 一.下载sw_urdf_export插件 插件的安装和下载可详见我写的差速小车第一章的内容 对机械臂模型进行开源(博主用的是SW2019版本).当时拿到这个 ...

  2. 第六天:通过python代码控制越疆机械臂完成抓取投递整个过程

    文章目录 一.前言 二.机械臂的运动逻辑(直接上代码讲解,具体请看注释) 三.总结 一.前言 有很多小伙伴问我怎么样控制机械臂完成整个过程,其实经过上一篇博文的探究,这个问题其实很容易就可以解决.把他 ...

  3. 理论联系实践:机械臂视觉抓取之eye to hand

    eye to hand,也就是相机固定在一个位置保持不变,我们想要通过视觉抓取一个目标,最先得到的就是目标在相机所拍摄的图像中的位置.而怎么把图像中的位置转化为机械臂所知道的位置呢. 需要进行如下操作 ...

  4. Gluon_2L6_4L3机械臂视觉抓取操作手册

    机械臂操作手册 安全须知 如遇任何紧急情况,请立即按下紧急停止开关断电,以防操作人员受伤或机械臂损坏. 当机械臂断电时,执行器会立即进入松闸状态,可能无法保持当前姿态.需要人为提供外力保证机械臂不会因 ...

  5. 基于RGB-D相机的机械臂无序抓取系统

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 引导语:本文为"3D视觉创新应用(三维重建)竞赛"作品集系列之一,该作品由来自深圳 ...

  6. Baxter的Gazebo仿真环境搭建

    注:这是一篇配置失败的文章,原因是Ubuntu20.04不支持Qt4,catkin_make通不过,不是20.04的可以尝试一下,或者有大神能不能帮忙看下在ubuntu20.04装baxter仿真环境 ...

  7. 视觉机械臂自主抓取全流程

    目录 简介 相机标定 手眼标定 Eye-In-Hand Eye-To-Hand 求解(Eye-In-Hand) 求解AX=XB 手眼标定步骤 读取出摄像头信息并确定目标物体的位姿 图像分割 三维对象实 ...

  8. 强化学习UR机械臂仿真环境搭建(一) - 为UR3机械臂添加robotiq ft300力传感器

    为UR3机械臂添加robotiq ft300力传感器 ```建议参考这篇```,[ur机械臂 + robotiq gripper + robotiq ft sensor + gazebo + 连接真实 ...

  9. 从零开始做歌词生成器 - 0 - 抓取网易云3万首歌词

    随着近几年深度学习的发展,歌词生成器逐渐变为一个有趣而热门的研究点.这篇和接下来的几篇文章,将从零开始,记录数据的抓取.清洗与分析,到歌词生成模型的构建.训练与分析过程. 要做歌词生成器,首先得有丰富 ...

最新文章

  1. ADAS处理器集成功能安全单片机MCU
  2. C++描述的位运算总结
  3. android 录像实时传送,Android中实时视频传输(摄像头实时视频传输)解决方案
  4. 双曲线和直线联立公式_圆锥曲线联解公式
  5. ASP.NET Core 开源项目 nopCommerce,一款沉淀13年的电商开源佳作!
  6. Java 8 –按值对HashMap进行升序和降序排序
  7. apk改之理_一份礼物.apk-O泡果奶的逆向分析
  8. 智能云媒体服务器,智慧广电媒体解决方案
  9. leaflet地图区域数据可视化
  10. 归并排序(Java)
  11. 同义句转换在线翻译器的软件
  12. K-Means算法与FCM算法
  13. 【做小游戏在Godot中遇到的问题第一篇】
  14. RPC远程调用框架rsf和dubbo
  15. 幸福究竟和哪些因素有关?通过JMP来看全球幸福指数
  16. 哨兵二号波段介绍_警告!欧空局发布的哨兵二号卫星L2A产品存在严重问题
  17. vue二维码生成可自定义logo
  18. [Java8新特性]Collectors源码阅读-1 toCollections和joining等
  19. Qt 信号与槽基础操作
  20. 诚之和:被传估值150亿,元气森林凭什么?

热门文章

  1. IP网络摄像头GB28181协议视频平台EasyGBS中设定录像计划后不进行录像问题原因分析
  2. 网易社招面试问题及答案
  3. Java Virtual Machine(一)
  4. CSCI 1100 — Computer Science Homework
  5. html改变字母间距,css怎么调整字体间距?
  6. 刚刚,中国联通发布公告:曝云南混改发生重大变更
  7. xshell7配置文件密码破解
  8. 深入理解 Dart 中的继承和 Minxins
  9. redis缓存击穿测试
  10. 雄迈sdk二次开发,c++,一次拉跨的测试