ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Part of the robot (UR5 with robotiq gripper) not showing up in gazebo

asked 2017-11-16 10:38:22 -0500

philwall3 gravatar image

updated 2017-11-21 02:28:46 -0500

Hi,

I'm working on a simulation combining the UR5 arm and a robotiq 2-finger gripper together. The arm shows up completely in gazebo, but the base of the gripper does not show up despite added intertial parameters. But in Rviz it shows up just fine. So I guess gazebo doesn't like something about the robotiq xacro file, but I can't find out what. Hopefully someone can help me. I'm using ROS Indigo and Gazebo 2.2.3.

Here you can see how it looks in rviz and gazebo: https://i.imgur.com/vHwSoId.png Sometimes that triangle shows up, but not every time: https://i.imgur.com/VPYqIdS.png

This is the xacro file containing the description for the robotiq gripper: https://github.com/philwall3/robotiq/...

And this is the top level xacro that combines the arm and gripper and that I load in gazebo:

<robot xmlns:xacro="http://ros.org/wiki/xacro"
       name="ur5" >

    <!-- THE ROBOT -->
    <link name="world" />

    <!-- UR from ROS-i repos -->
    <xacro:include filename="$(find ur_description)/urdf/ur5.urdf.xacro" />
    <joint name="world_joint" type="fixed">
        <parent link="world" />
        <child link = "simple_arm_base_link" />
        <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
    </joint>
    <!--xacro:ur5_robot prefix="simple_arm_" joint_limited="false"/-->
    <xacro:ur5_robot prefix="simple_arm_" joint_limited="false"/>

    <!-- Robotiq from Beta Robots fork-->
    <xacro:include filename="$(find robotiq_2f_model)/model/robotiq_2f_85.urdf.xacro" />
    <xacro:robotiq_2f_85 name="simple_gripper" parent="simple_arm_tool0" precise_collision="false" adaptive_transmission="false" with_pads="true">
        <origin xyz="0 0 0" rpy="0 0 1.5708" />
    </xacro:robotiq_2f_85>

    <gazebo>
      <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">       
      </plugin>
    </gazebo> 
</robot>

And here is the launch file:

<launch>
  <arg name="paused" default="false"/>
  <arg name="use_sim_time" default="true"/>
  <arg name="gui" default="true"/>
  <arg name="headless" default="false"/>
  <arg name="debug" default="false"/>

  <!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="$(find myrobot_gazebo)/worlds/myrobot.world"/>
    <!--arg name="paused" value="false"/-->    
    <!-- more default parameters can be changed here -->
    <arg name="debug" value="$(arg debug)" />
    <arg name="gui" value="$(arg gui)" />
    <arg name="paused" value="$(arg paused)"/>
    <arg name="use_sim_time" value="$(arg use_sim_time)"/>
<arg name="headless" value="$(arg headless)"/>

  </include>

  <!-- Convert an xacro and put on parameter server -->
  <param name="robot_description" command="$(find xacro)/xacro.py $(find myrobot_description)/urdf/join_macro.xacro" />

  <!-- Spawn a robot into Gazebo -->
  <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model myrobot -z 0.1" respawn="false" output="screen" />

  <include file="$(find myrobot_gazebo)/launch/controller_utils.launch"/>
  <rosparam file="$(find myrobot_gazebo)/config/gripper_controller_robotiq.yaml" command="load"/> 
  <node name="gripper_controller_spawner" pkg="controller_manager" type="spawner" args="gripper --shutdown-timeout 0.5" />

  <!--include file="$(find ur_gazebo)/launch/controller_utils.launch"/-->
  <rosparam file="$(find ur_gazebo)/controller/arm_controller_ur5.yaml" command="load"/>
  <node name="arm_controller_spawner" pkg="controller_manager" type="controller_manager" args="spawn arm_controller" respawn="false" output="screen"/>    

</launch>
edit retag flag offensive close merge delete

Comments

It looks like there could be something weird with the DAE file, have you tried opening it on another program such as Blender? It's worth it looking at the normal directions and maybe re-exporting the mesh.

chapulina gravatar image chapulina  ( 2017-11-21 11:02:56 -0500 )edit

Thanks for the suggestion! It's opening fine in Blender. Also Rviz and the moveit assistant wizard both open and show the base just fine. So I'm confident the .dae file is fine.

philwall3 gravatar image philwall3  ( 2017-11-21 13:44:45 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
0

answered 2017-12-07 05:52:52 -0500

philwall3 gravatar image

I was not able to solve the problem with above package. But I found another package that works fine for me: https://github.com/StanleyInnovation/...

edit flag offensive delete link more
0

answered 2018-11-30 14:12:48 -0500

updated 2018-11-30 14:35:14 -0500

The answer for me was because inertial portion of the link was not added in the robotiq_c2_model_macro.xacro file. There should be something like this in the link definition:

        <inertial>
            <mass value="0.018491" />
            <origin xyz="0.0 0.0 0.0" />
            <inertia ixx = "0.000009" ixy = "-0.000001" ixz = "0.000000"
                     iyy = "0.000001" iyz = "0.000000"
                     izz = "0.000010" />
        </inertial>
edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2017-11-16 10:38:22 -0500

Seen: 2,302 times

Last updated: Nov 30 '18