aubo i5 配置robotiq 电动夹爪和kinect V2深度摄像头仿真环境搭建(find_object_2d视觉抓取实现)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、robotiq 电动夹爪ROS功能包下载

1.下载robotiq功能包

2.编译工作环境

二、Kinect V2 深度摄像头配置

三、视觉抓取仿真

总结


前言

本文对于初学机械臂视觉抓取仿真实现提供了一些技术帮助,通过find_object_2d实现仿真环境下的视觉抓取。关于aubo i5机械臂ROS仿真环境的搭建请参考另一篇文章:aubo i5 ROS melodic环境配置及连接真实机械臂-CSDN博客


提示:以下是本篇文章正文内容,下面案例可供参考

一、robotiq 电动夹爪ROS功能包下载

1.下载robotiq功能包

cd ~/aubo_ws/src/
git clone 
git clone https://github.com/jr-robotics/robotiq.git

2.编译工作环境

rosdep update

rosdep install --from-paths src --ignore-src -y

catkin build

3.在aubo i5末端安装力传感器

机械臂末端link为:wrist_Link

将robotiq_2f_140添加到末端(origin:旋转平移量,根据实际去填写)

4.Moveit!配置

终端运行:

roslaunch moveit_setup_assistant setup_assistant.launch

启动moveit设置助手机械臂配置

配置步骤:

1.Moveit设置助手加载机械臂urdf文件

2.生成Self-Conllisions自碰撞矩阵

3.添加虚拟关节

4.添加计划组

5.添加机器人姿态(zero和home)

6.标记末端执行器

7.添加被动关节(本机械臂没有,跳过)

8.配置ROS Control

9.Gazebo模拟

10.设置3D感知

11.作者信息

12.生成配置文件

5.修改moveit配置功能包

aubo_i5_moveit_config功能包是moveit生成的配置文件。为了方便我们和gazebo联合仿真和控制实体机械臂,那么我们在这里将修改moveit配置功能包:

(1)config文件下面需添加文件:joint_names.yaml文件

(2)launch:

添加:

aubo_i5_moveit_controller_manager.launch

moveit_planning_execution.launch

launch文件是启动文件,我们将所需要的集成在一个launch文件里面,相当于将所有的配置装配起来。

在这里我们只需在终端运行:

roslaunch aubo_i5_moveit_config moveit_planning_execution.launch robot_ip:=127.0.0.1

我们即可在rviz里面看到我们的机械臂及夹爪还有相机,我们可以在rviz里面执行plan&execute等相关插件的使用,可使用rqt插件,可以看到机械臂运行的plot。

补充:修改launch文件里面的moveit.rviz,将Loop Animation: true(修改为false)

5.Gazebo配置

在aubo_i5_gazebo_control.yaml文件中添加:

添加文件gripper_controller_robotiq.yaml

编写aubo_i5_gripper_gazebo.launch启动文件

在启动gazebo之前先启动rviz:

终端运行:

roslaunch aubo_i5_moveit_config moveit_planning_execution.launch robot_ip:=127.0.0.1

roslaunch aubo_gazebo aubo_i5_gripper_gazebo_control.launch

这里编写启动gazebo的launch文件时链接到rviz,实现联合仿真,即rviz和gazebo同时运动,这里我们使用moveit接口编程时就可以在gazebo里面看到我们的机械臂运动。

这里补充一部分内容:

遇到问题:在gazebo仿真中夹爪夹不住物体,夹取以后物体脱落

添加gazebo抓取插件:Grasp_fix

git clone https://github.com/ros-simulation/gazebo_ros_pkgs

 在urdf文件里面添加以上内容,机械臂和夹爪的都可以!!!!!

 解决问题原因也可能是夹取物体模型参数的原因,具体: <inertial> 惯性参数,包括质量、惯量等 </inertial> <collision name='collision’> 碰撞参数,用于碰撞检测 </collision> 修改这两个标签下面的参数值!!!(未尝试该解决方案)

二、Kinect V2 深度摄像头配置

kinect_v2下载链接:https://github.com/wangxian4423/kinect_v2_udrf

在aubo i5urdf文件添加:

三、视觉抓取仿真

利用moveit——group控制机械臂运动,这里我使用moveit_conmmander(python)接口控制路径规划

1.建立仿真环境:

在Gazebo中建立一个world:

2.控制规划策略

具体控制逻辑:

路点1:运行到预抓取位置

路点2:手抓张开

路点3:运行到抓取物体上方

路点4:运行到抓取点

路点5:手抓闭合

路点6:运行到抓取物体上方

路点7:运行到放置点

路点8:手抓张开

2. 深度相机kinect V2,rqt_image_view,可以采集RGB图像

5.find_object_2d使用:

这里我们使用find-object-2d功能包:

是ros平台下的一个识别物体功能包,由于对于纯颜色物体具有很少的特征,我决定将两个木块设置成红色和蓝色,将一个木块设置成木质色用于目标抓取。

1.首先把之前平台搭建起的Kinect V2图像的RGB和深度图像作为输入进行包的重映射。

find_object_3d_kinect2.launch文件修改:

<remap from="rgb/image_rect_color" to="/kinect_V2/rgb/image_raw"/>

<remap from="depth_registered/image_raw" to="/kinect_V2/depth/image_raw"/>

<remap from="depth_registered/camera_info" to="/kinect_V2/depth/camera_info"/>

2.使用步骤:

(1)启动moveit:

roslaunch aubo_i5_moveit_config moveit_planning_execution.launch robot_ip:=127.0.0.1

(2)启动gazebo:

roslaunch aubo_gazebo aubo_i5_gripper_gazebo.launch

(3)启动find_object_3d_kinect2.launch:

roslaunch find_object_2d find_object_3d_kinect2.launch

(4)设置识别算法及参数:

(5)添加识别区域:

(6)在rviz添加tf:

(7)目标物和世界坐标系之间的关系:

(8)修改opencv下面的scripts---tf_listener.py:

(9)运行tf:

rosrun opencv tf_listener.py

(10)运行我们的脚本程序:

rosrun aubo_moveit_interface grasping_demo_vision2.py

最终效果:


总结

本文对aubo i5实现视觉抓取的仿真环境做了一定的描述和配置。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值