Robotics StackExchange | Archived questions

Gazebo Robot broken

I make robot launch file In reference crane_x7 but this Gazebo robot is fall down at start (rviz model is correct)

use arg paused:=true robot is correct in first but use moveit in rviz fall down robot

please help me

pid is this (joint_1 move freeely at set p: 50)

gazeboroscontrol: pidgains: joint1: { p: 0.1, i: 0.0, d: 0.0} joint2: { p: 50.0, i: 0.0, d: 0.0} joint3: { p: 50.0, i: 0.0, d: 0.0} joint4: { p: 50.0, i: 0.0, d: 0.0} joint5: { p: 50.0, i: 0.0, d: 0.0} joint_6: { p: 50.0, i: 0.0, d: 0.0}

URDF is this

<?xml version="1.0"?> <robot

<!-- Used for fixing robot to Gazebo 'base_link' -->
<link name="world"/>

<joint name="base_link_to_world_joint" type="fixed">
   <origin xyz="0 0 0" rpy="0 0 0"/>
   <parent link="world"/>
   <child link="${prefix}base_link"/>
</joint>

<!-- links: main serial chain -->
<link name="${prefix}base_link">
  <inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.388"/>
    <inertia ixx="0.002" ixy="0" ixz="0"
     iyy="0.02" iyz="0"
     izz="0.002"/>
  </inertial>
  <visual>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://r2000ic125l_description/meshes/r2000ic125l/visual/base_link.stl" />
    </geometry>
    <xacro:material_fanuc_gray40 />
  </visual>
  <collision>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://r2000ic125l_description/meshes/r2000ic125l/collision/base_link.stl" />
    </geometry>
  </collision>
</link>
<link name="${prefix}link_1">
  <inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.253"/>
    <inertia ixx="0.002" ixy="0" ixz="0"
     iyy="0.02" iyz="0"
     izz="0.002"/>
  </inertial>
  <visual>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://r2000ic125l_description/meshes/r2000ic125l/visual/link_1.stl" />
    </geometry>
    <xacro:material_fanuc_yellow />
  </visual>
  <collision>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://r2000ic125l_description/meshes/r2000ic125l/collision/link_1.stl" />
    </geometry>
  </collision>
</link>
<link name="${prefix}link_2">
  <inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.136"/>
    <inertia ixx="0.002" ixy="0" ixz="0"
     iyy="0.02" iyz="0"
     izz="0.002"/>
  </inertial>
  <visual>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://r2000ic125l_description/meshes/r2000ic125l/visual/link_2.stl" />
    </geometry>
    <xacro:material_fanuc_yellow />
  </visual>
  <collision>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://r2000ic125l_description/meshes/r2000ic125l/collision/link_2.stl" />
    </geometry>
  </collision>
</link>
<link name="${prefix}link_3">
  <inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.321"/>
    <inertia ixx="0.002" ixy="0" ixz="0"
     iyy="0.02" iyz="0"
     izz="0.002"/>
  </inertial>
  <visual>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://r2000ic125l_description/meshes/r2000ic125l/visual/link_3.stl" />
    </geometry>
    <xacro:material_fanuc_yellow />
  </visual>
  <collision>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://r2000ic125l_description/meshes/r2000ic125l/collision/link_3.stl" />
    </geometry>
  </collision>
</link>
<link name="${prefix}link_4">
  <inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.222"/>
    <inertia ixx="0.002" ixy="0" ixz="0"
     iyy="0.02" iyz="0"
     izz="0.002"/>
  </inertial>
  <visual>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://r2000ic125l_description/meshes/r2000ic125l/visual/link_4.stl" />
    </geometry>
    <xacro:material_fanuc_yellow />
  </visual>
  <collision>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://r2000ic125l_description/meshes/r2000ic125l/collision/link_4.stl" />
    </geometry>
  </collision>
</link>
<link name="${prefix}link_5">
  <inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.207"/>
    <inertia ixx="0.002" ixy="0" ixz="0"
     iyy="0.02" iyz="0"
     izz="0.002"/>
  </inertial>
  <visual>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://r2000ic125l_description/meshes/r2000ic125l/visual/link_5.stl" />
    </geometry>
    <xacro:material_fanuc_yellow />
  </visual>
  <collision>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://r2000ic125l_description/meshes/r2000ic125l/collision/link_5.stl" />
    </geometry>
  </collision>
</link>
<link name="${prefix}link_6">
  <inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.14"/>
    <inertia ixx="0.002" ixy="0" ixz="0"
     iyy="0.02" iyz="0"
     izz="0.002"/>
  </inertial>
  <visual>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://r2000ic125l_description/meshes/r2000ic125l/visual/link_6.stl" />
    </geometry>
    <xacro:material_fanuc_gray40 />
  </visual>
  <collision>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://r2000ic125l_description/meshes/r2000ic125l/collision/link_6.stl" />
    </geometry>
  </collision>
</link>

<!-- joints: main serial chain -->

<joint name="${prefix}joint_1" type="revolute">
  <origin xyz="0 0 0.670" rpy="0 0 0"/>
  <parent link="${prefix}base_link"/>
  <child link="${prefix}link_1"/>
  <axis xyz="0 0 1"/>
  <limit lower="${radians(-185)}" upper="${radians(185)}" effort="10.0" velocity="${radians(130)}" />
  <dynamics damping="50" friction="1"/>
</joint>
<joint name="${prefix}joint_2" type="revolute">
  <origin xyz="0.312 0 0" rpy="0 0 0"/>
  <parent link="${prefix}link_1"/>
  <child link="${prefix}link_2"/>
  <axis xyz="0 1 0"/>
  <limit lower="${radians(-60)}" upper="${radians(76)}" effort="10.0" velocity="${radians(115)}" />
  <dynamics damping="50" friction="1"/>
</joint>
<joint name="${prefix}joint_3" type="revolute">
  <origin xyz="0 0 1.075" rpy="0 0 0"/>
  <parent link="${prefix}link_2"/>
  <child link="${prefix}link_3"/>
  <axis xyz="0 -1 0"/>
  <limit lower="${radians(-121)}" upper="${radians(180)}" effort="4.0" velocity="${radians(125)}" />
  <dynamics damping="50" friction="1"/>
</joint>
<joint name="${prefix}joint_4" type="revolute">
  <origin xyz="0 0 0.225" rpy="0 0 0"/>
  <parent link="${prefix}link_3"/>
  <child link="${prefix}link_4"/>
  <axis xyz="-1 0 0"/>
  <limit lower="${radians(-360)}" upper="${radians(360)}" effort="4.0" velocity="${radians(180)}" />
  <dynamics damping="50" friction="1"/>
</joint>
<joint name="${prefix}joint_5" type="revolute">
  <origin xyz="1.730 0 0" rpy="0 0 0"/>
  <parent link="${prefix}link_4"/>
  <child link="${prefix}link_5"/>
  <axis xyz="0 -1 0"/>
  <limit lower="${radians(-125)}" upper="${radians(125)}" effort="4.0" velocity="${radians(180)}" />
  <dynamics damping="50" friction="1"/>
</joint>
<joint name="${prefix}joint_6" type="revolute">
  <origin xyz="0.215 0 0" rpy="0 0 0"/>
  <parent link="${prefix}link_5"/>
  <child link="${prefix}link_6"/>
  <axis xyz="-1 0 0"/>
  <limit lower="${radians(-360)}" upper="${radians(360)}" effort="4.0" velocity="${radians(260)}" />
  <dynamics damping="50" friction="1"/>
</joint>

<!-- ROS-Industrial 'base' frame: base_link to Fanuc World Coordinates transform -->
<link name="${prefix}base" />
<joint name="${prefix}base_link-base" type="fixed">
  <origin xyz="0 0 0.670" rpy="0 0 0"/>
  <parent link="${prefix}base_link"/>
  <child link="${prefix}base"/>
</joint>

<!-- ROS-Industrial 'flange' frame: attachment point for EEF models -->
<link name="${prefix}flange" />
<joint name="${prefix}joint_6-flange" type="fixed">
  <origin xyz="0 0 0" rpy="0 0 0" />
  <parent link="${prefix}link_6" />
  <child link="${prefix}flange" />
</joint>

<!-- ROS-Industrial 'tool0' frame: all-zeros tool frame -->
<link name="${prefix}tool0" />
<joint name="${prefix}link_6-tool0" type="fixed">
  <origin xyz="0 0 0" rpy="${pi} ${-pi/2.0} 0" />
  <parent link="${prefix}link_6" />
  <child link="${prefix}tool0" />
</joint>

<!-- For gazebo simulation -->
<transmission name="${prefix}joint_1_trans">
  <provideFeedback>true</provideFeedback>
  <implicitSpringDamper>0</implicitSpringDamper>
  <motorTorqueConstant>0.418</motorTorqueConstant>
  <type>transmission_interface/SimpleTransmission</type>
  <joint name="${prefix}joint_1">
    <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  </joint>
  <actuator name="${prefix}joint_1_motor">
    <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    <mechanicalReduction>1</mechanicalReduction>
  </actuator>
</transmission>

<!-- For gazebo simulation -->
<transmission name="${prefix}joint_2_trans">
  <provideFeedback>true</provideFeedback>
  <implicitSpringDamper>0</implicitSpringDamper>
  <motorTorqueConstant>0.418</motorTorqueConstant>
  <type>transmission_interface/SimpleTransmission</type>
  <joint name="${prefix}joint_2">
    <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  </joint>
  <actuator name="${prefix}joint_2_motor">
    <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    <mechanicalReduction>1</mechanicalReduction>
  </actuator>
</transmission>

<!-- For gazebo simulation -->
<transmission name="${prefix}joint_3_trans">
  <provideFeedback>true</provideFeedback>
  <implicitSpringDamper>0</implicitSpringDamper>
  <motorTorqueConstant>0.418</motorTorqueConstant>
  <type>transmission_interface/SimpleTransmission</type>
  <joint name="${prefix}joint_3">
    <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  </joint>
  <actuator name="${prefix}joint_3_motor">
    <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    <mechanicalReduction>1</mechanicalReduction>
  </actuator>
</transmission>

<!-- For gazebo simulation -->
<transmission name="${prefix}joint_4_trans">
  <provideFeedback>true</provideFeedback>
  <implicitSpringDamper>0</implicitSpringDamper>
  <motorTorqueConstant>0.418</motorTorqueConstant>
  <type>transmission_interface/SimpleTransmission</type>
  <joint name="${prefix}joint_4">
    <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  </joint>
  <actuator name="${prefix}joint_4_motor">
    <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    <mechanicalReduction>1</mechanicalReduction>
  </actuator>
</transmission>


<!-- For gazebo simulation -->
<transmission name="${prefix}joint_5_trans">
  <provideFeedback>true</provideFeedback>
  <implicitSpringDamper>0</implicitSpringDamper>
  <motorTorqueConstant>0.418</motorTorqueConstant>
  <type>transmission_interface/SimpleTransmission</type>
  <joint name="${prefix}joint_5">
    <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  </joint>
  <actuator name="${prefix}joint_5_motor">
    <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    <mechanicalReduction>1</mechanicalReduction>
  </actuator>
</transmission>

<!-- For gazebo simulation -->
<transmission name="${prefix}joint_6_trans">
  <provideFeedback>true</provideFeedback>
  <implicitSpringDamper>0</implicitSpringDamper>
  <motorTorqueConstant>0.418</motorTorqueConstant>
  <type>transmission_interface/SimpleTransmission</type>
  <joint name="${prefix}joint_6">
    <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  </joint>
  <actuator name="${prefix}joint_6_motor">
    <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    <mechanicalReduction>1</mechanicalReduction>
  </actuator>
</transmission>

<gazebo>
  <plugin name='gazebo_ros_control' filename='libgazebo_ros_control.so'>
    <robotNamespace>/r2000ic125l</robotNamespace>
    <robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType>
    <legacyModeNS>false</legacyModeNS>
  </plugin>
</gazebo>

<gazebo reference="${prefix}base_link">
  <material>Gazebo/Gray</material>
  <turnGravityOff>true</turnGravityOff>
</gazebo>
<gazebo reference="${prefix}link_1">
  <material>Gazebo/Yellow</material>
  <turnGravityOff>true</turnGravityOff>
</gazebo>
<gazebo reference="${prefix}link_2">
  <material>Gazebo/Yellow</material>
  <turnGravityOff>true</turnGravityOff>
</gazebo>
<gazebo reference="${prefix}link_3">
  <material>Gazebo/Yellow</material>
  <turnGravityOff>true</turnGravityOff>
</gazebo>
<gazebo reference="${prefix}link_4">
  <material>Gazebo/Yellow</material>
  <turnGravityOff>true</turnGravityOff>
</gazebo>
<gazebo reference="${prefix}link_5">
  <material>Gazebo/Yellow</material>
  <turnGravityOff>true</turnGravityOff>    
</gazebo>
<gazebo reference="${prefix}link_6">
  <material>Gazebo/Gray</material>
  <turnGravityOff>true</turnGravityOff>    
</gazebo>

/xacro:macro

Asked by osaki on 2022-06-29 03:47:54 UTC

Comments

Answers