强化学习UR机械臂仿真环境搭建(二) - 为UR3机械臂添加OnRobot RG2夹爪

为UR3机械臂添加OnRobot RG2夹爪

  • ```建议参考这篇的代码规范和写法,使用本篇下文说的RG2的模型文件```,[ur机械臂 + robotiq gripper + robotiq ft sensor + gazebo + 连接真实机械臂 + 网页控制](https://blog.csdn.net/bornfree5511/article/details/107529420),```这是后来做的代码更加规范、内容更加丰富的一个,并且bug更少。```
  • 下载OnRobot RG2的描述文件
  • 修改ur3.urdf.xacro文件


建议参考这篇的代码规范和写法,使用本篇下文说的RG2的模型文件,ur机械臂 + robotiq gripper + robotiq ft sensor + gazebo + 连接真实机械臂 + 网页控制,这是后来做的代码更加规范、内容更加丰富的一个,并且bug更少。


本文在强化学习UR机械臂仿真环境搭建(一) - 为UR3机械臂添加robotiq ft300力传感器的基础上,继续添加OnRobot RG2夹爪。
OnRobot官方并没有提供ros package,在github上有一份使用RG2的仓库, sharathrjtr /
ur10_rg2_ros ,这份代码的外观部分设计的很好,但是物理参数并没有实际贴切。
物理参数不符合

下载OnRobot RG2的描述文件

cd ~/catkin_ws/src
git clone https://github.com/sharathrjtr/ur10_rg2_ros.git
cd ur10_rg2_ros
rm -rf ur_modern_driver  # 笔者的UR为CM3,新版的驱动,在仿真阶段暂时不需要实体机器的驱动
cd ~/catkin_ws
catkin_make

修改ur3.urdf.xacro文件

查看rg2的urdf文件。我们不使用终端进行操作,而是直接在VScode中操作。
强化学习UR机械臂仿真环境搭建(二) - 为UR3机械臂添加OnRobot RG2夹爪_第1张图片
rg2.urdf.xacro也只是用了一个宏来描述这个夹爪的外形和物理特性,我们可以用xacro:include的方式将这个文件插入到ur3.urdf.xacro中,不过需要对rg2.urdf.xacro做部分修改,因为此文件并没有提供parent *origin等参数,而我们必须用到这两个参数。鉴于代码数量不多,直接放到ur3.urdf.xacro的时间成本比include要小很多,我们直接放到ur3.urdf.xacro中。
复制rg2.urdf.xacro中的以下代码到ur3.urdf.xacro中。

    
    <joint name="rg2_joint" type="fixed">
      <origin rpy="0 0 0" xyz="0.218 0 0"/>
      <parent link="${prefix}gripper_extender_link"/>
      <child link="${prefix}rg2_body_link"/>
    joint>
    <link name="${prefix}rg2_body_link">
      <visual>
        <origin rpy="0 ${M_PI/2} 0" xyz="0.051 0.0085 0.0015"/>
        <geometry>
          <mesh filename="package://robot_descriptions/meshes/rg2_gripper/dae_rg2_.dae" scale="0.001 0.001 0.001"/>
        geometry>
        <material name="White">
          <color rgba="1.0 1.0 1.0 1.0"/>
        material>
      visual>
      <collision>
        <origin rpy="0 ${M_PI/2} 0" xyz="0.051 0.0085 0.0015"/>
        <geometry>
          <mesh filename="package://robot_descriptions/meshes/rg2_gripper/rg2_.stl" scale="0.001 0.001 0.001"/>
        geometry>
      collision>
      <inertial>
        <mass value="1"/>
        <inertia ixx="1" ixy="0.0" ixz="0.0" iyy="1" iyz="0.0" izz="1"/>
      inertial>
    link>

    <joint name="rg2_eef_joint" type="fixed">
      <origin rpy="0 0 0" xyz="0.195 0.0 0.0"/>
      <parent link="rg2_body_link"/>
      <child link="rg2_eef_link"/>
    joint>
    <link name="rg2_eef_link"/>

复制到ur3.urdf.xacro的robotiq ft sensor的后面。
强化学习UR机械臂仿真环境搭建(二) - 为UR3机械臂添加OnRobot RG2夹爪_第2张图片
下面对原代码进行修改:

  1. 因为代码中用到了M_PI,所以在ur3_robot.urdf.xacro(这是ur3描述文件的主文件)中添加
<property name="M_PI" value="3.14159265359" />

强化学习UR机械臂仿真环境搭建(二) - 为UR3机械臂添加OnRobot RG2夹爪_第3张图片
2. 回到ur3.urdf.xacro,修改
强化学习UR机械臂仿真环境搭建(二) - 为UR3机械臂添加OnRobot RG2夹爪_第4张图片
parent link为robotiq的末端link,robotiq的末端link的名称可以在robotiq的描述文件(robotiq_ft300.urdf.xacro)中查看。
强化学习UR机械臂仿真环境搭建(二) - 为UR3机械臂添加OnRobot RG2夹爪_第5张图片
同时,将origin xyz rpy改为上图所示。这是因为原文件的摆放位置并不能正好固定在robotiq传感器的末端。调整到这样后就可以正好固定,如图
强化学习UR机械臂仿真环境搭建(二) - 为UR3机械臂添加OnRobot RG2夹爪_第6张图片

你可能感兴趣的:(#,强化学习,#,ROS,#,强化学习UR机械臂仿真环境搭建)