(文章只是我学习过程中的笔记,仅供大家参考,若有错误,欢迎大佬指出)
首先我们需要将上一章配置好的机械臂在moveit中进行配置
(1)将机械臂在moveit中配置
上面就是noveit的配置。
然后在工作空间下编译(推荐使用: catkin_make_isolated)
然后运行demo.launch文件。
(2)深度摄像头的添加
因为机械臂在完成抓取的过程中主要是靠视觉来完成的,所以我们需要在上一章编辑好的urdf文件中添加一个深度摄像头。
我们可以自己写一个简单的模型来当深度摄像头,也可以使用官方提供的深度摄像头。这里我使用的是kinect_v2。
kinect_v2下载链接:https://github.com/wangxian4423/kinect_v2_udrf
下载完毕之后我们需要改动两处地方:
1、打开kinect_v2/urdf/kinect_v2.urdf.xacro按照下面图片修改
2、 打开kniect_v2/display.launch按照图片修改
<launch>
<arg
name="model" />
<arg
name="gui"
default="True" />
<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find kinect_v2)/urdf/kinect_v2_standalong.urdf.xacro'" />
<param
name="use_gui"
value="$(arg gui)" />
<node
name="joint_state_publisher"
pkg="joint_state_publisher"
type="joint_state_publisher" />
<node
name="robot_state_publisher"
pkg="robot_state_publisher"
type="robot_state_publisher" />
<node
name="rviz"
pkg="rviz"
type="rviz"
args="-d $(find kinect_v2)/urdf.rviz" />
</launch>
然后运行display.launch在rviz中显示就成功了
接下来我们需要打开kniect_v2/kinect_v2_standalong.urdf.xacro复制下面代码
<robot name="kinect_v2_standalong" xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:include filename="$(find kinect_v2)/urdf/kinect_v2.urdf.xacro" />
<link name="root"/>
<xacro:kinect_v2 parent="root">
<origin xyz="0 0 0"
rpy="0 0 0" />
</xacro:kinect_v2>
然后粘贴到ur_description/urdf/ur5_dh.xacro中并且修改添加为下面代码
<link name="world"/>
<joint name="world_fixed" type="fixed">
<origin xyz="0.6 0 1.57" rpy="0 1.57 0" />
<parent link="base_link"/>
<child link="world"/>
</joint>
<xacro:include filename="$(find kinect_v2)/urdf/kinect_v2.urdf.xacro" />
<xacro:kinect_v2 parent="world">
<origin xyz="0 0 0" rpy="0 0 0" />
</xacro:kinect_v2>
然后进行编译。再一次运行demo.launch
模型下载:https://download.csdn.net/download/weixin_64037619/86798970?spm=1001.2014.3001.5501