Ask Your Question
0

kinematic problem with an urdf loaded in move-it

asked 2017-04-26 15:30:03 -0500

Nemo_Nullius gravatar image

updated 2017-04-27 03:50:10 -0500

Good morning to everyone, I am having some problems with the "Robot model" built by move-it starting from a urdf I made.

The Urdf is this one:

    <?xml version="1.0"?>

<!--
DH for Racer_5L:
a = [0.05000, 0.3700, 0.05000,  0.00000,  0.00000,  0.0000]
d = [0.36500, 0.00000,0.00000,  0.38594,  0.00000,  0.0800]
alpha = [ -1.570796327, 0,-1.570796327, 1.570796327, -1.570796327, 0 ]
q_home_offset = [0, 0, 0, 0, 0, 0]
-->
<robot name="Racer5L" 
       xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor"
       xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller"
       xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"
       xmlns:xacro="http://ros.org/wiki/xacro">


 <property name="pi" value="3.14159265" />

 <!-- Inertia parameters -->
  <property name="base_mass" value="4.0" /> <!-- Invented number, only matters for simulator -->
  <property name="shoulder_mass" value="3.7000" />
  <property name="upper_arm_mass" value="8.3930" />
  <property name="forearm_mass" value="2.2750" />
  <property name="wrist_1_mass" value="1.2190" />
  <property name="wrist_2_mass" value="1.2190" />
  <property name="wrist_3_mass" value="0.1879" />



<material name="gray">
    <color rgba="0.41 0.41 0.41 1"/>
</material>



<!--kinematic chain-->
 <link name="base" >
    <origin xyz="0 0 0"/>
 </link>

 <joint name="fixed" type="fixed">
    <parent link="base"/>
    <child link="base_link"/>
  </joint>

  <link name="base_link" >
    <visual>
      <geometry>
        <mesh filename="package://omni_base_robot_model_tom/meshes/CAD_5L_STL/AA_Racer5_1.stl" scale="0.01 0.01 0.01" />
      </geometry>
      <origin xyz="0.0 0.0 0" rpy="0 0 0.0 " />
      <material name="gray"/>
    </visual>
  </link>

<joint name="Ax_1" type="revolute">
    <origin rpy="0 0 0" xyz="0.0 0.0 0.242"  />
    <axis xyz="0 0 1" />
    <parent link="base_link"/>
    <child link="link_1"/>
    <limit lower="-2.967059725" upper="2.967059725" effort="1" velocity="3.14"/>
</joint>

<link name="link_1">
    <visual>
      <geometry>
        <mesh filename="package://omni_base_robot_model_tom/meshes/CAD_5L_STL/AA_Racer5_2.stl" scale="0.01 0.01 0.01" />
      </geometry>
     <material name="gray"/>
     <origin rpy="0 0.0 0" xyz="0.0 0.0 -0.242"/>
    </visual>
</link>

<joint name="Ax_2" type="revolute">
    <origin xyz="0.0 -0.05 0.123" rpy="0 0 0" />
    <axis xyz="1 0 0" />
    <parent link="link_1" />
    <child link = "link_2" />
    <limit lower="-1.483529862" upper="2.356194488" effort="1" velocity="3.14"/>
</joint>


<link name="link_2">
    <visual>
      <geometry>
        <mesh filename="package://omni_base_robot_model_tom/meshes/CAD_5L_STL/AA_Racer5_3.stl" scale="0.01 0.01 0.01"/>
      </geometry>
      <origin xyz="0.0 0.05 -0.365" rpy="0 0 0"/>
     <material name="gray"/>
    </visual>
</link>

<joint name="Ax_3" type="revolute">
    <origin xyz="0 0 0.370" rpy="0 0 0" />
    <parent link="link_2" />
    <child link = "link_3" />
    <axis xyz="1 0 0" />
    <limit lower="-3.14159265" upper="1.134464012" effort="1" velocity="3.14"/>
</joint>

<link name="link_3">
    <visual>
      <geometry>
        <mesh filename="package://omni_base_robot_model_tom/meshes/CAD_5L_STL/AA_Racer5_4.stl" scale="0.01 0.01 0.01"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0.0 0.05 -0.735"/>
     <material name="gray"/>
    </visual>
</link>

  <joint name="ee_fixed_joint" type="fixed">
    <parent link="link_3" />
    <child link = "ee_link" />
    <origin xyz="0.0 -0.1 0.05 ...
(more)
edit retag flag offensive close merge delete

Comments

It is very hard to give any help with incomplete source. The URDF you posted appears to be cut off, and without seeing your MoveIt config we do not know how you configured the robot. The robot doesn't look correct in rviz, either.

Geoff gravatar imageGeoff ( 2017-04-26 22:50:39 -0500 )edit

@Geoff I riedited the question trying to be more specific.

Nemo_Nullius gravatar imageNemo_Nullius ( 2017-04-27 04:14:17 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2017-04-27 20:18:11 -0500

Geoff gravatar image

Your robot has quite limited degrees of freedom, and the interactive marker in MoveIt's rviz plugin doesn't play well with robots like that. The first thing you can try is ticking the Allow Approximate IK Solutions option in the rviz control panel for MoveIt. It's on the "Context" tab. I have a similar arm and ticking that box allowed me to control it interactively, although not particularly well.

If you haven't already, generating an IKFast plugin for your MoveIt config will probably help a lot. Follow the tutorial, and choose the TranslationDirection5D IK type when generating the IK solver. Aside from making planning significantly faster, this solver will be able to more reliably provide a solution than the default IK in MoveIt. My arm's reachable space improved when I generated an IKFast plugin.

Finally, a trick that some people use is to add a fake link and joint at the end effector. This gives MoveIt a little more freedom in planning. You have to add it to your URDF and to your MoveIt config (both as the end point of the planning group for the arm and set it as a passive joint, since there is nothing to control it). See the turtlebot_arm packages for an example. The fake link and joint are defined on line 25 of the URDF, and you can run the MoveIt setup assistant and point it at the turtlebot_arm_moveit_config package to load in the turtlebot_arm MoveIt config and see how it is set up.

edit flag offensive delete link more

Comments

thanks a lot the first two solution helped a lot.

Nemo_Nullius gravatar imageNemo_Nullius ( 2017-04-28 03:43:06 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2017-04-26 15:30:03 -0500

Seen: 67 times

Last updated: Apr 27 '17