強化學習UR機械臂仿真環境搭建(二) - 爲UR3機械臂添加OnRobot RG2夾爪

本文在強化學習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中操作。
在這裏插入圖片描述
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中。

    <!-- rg2 joint -->
    <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的後面。
在這裏插入圖片描述
下面對原代碼進行修改:

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

在這裏插入圖片描述
2. 回到ur3.urdf.xacro,修改
在這裏插入圖片描述
parent link爲robotiq的末端link,robotiq的末端link的名稱可以在robotiq的描述文件(robotiq_ft300.urdf.xacro)中查看。
在這裏插入圖片描述
同時,將origin xyz rpy改爲上圖所示。這是因爲原文件的擺放位置並不能正好固定在robotiq傳感器的末端。調整到這樣後就可以正好固定,如圖
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章