Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Exact relative position between two links

Hi! I'll be blunt...

I used LDD and lxf2urdf to build a robot and I want to change the parent of some of the links because I need certain parts to be independent of the rest of the robot (e.g. the back wheel) if I intend to make some of the joints continuous.

I tried using rviz to select the links and see their relative position, but I found that those numbers aren't precise enough. So how do I know the relative position between two links with the maximum possible precision?

I didn't find any questions regarding this, excuse me if I just couldn't find them! :(

Exact relative position between two links

Hi! I'll be blunt...

I used LDD and lxf2urdf to build a robot and I want to change the parent of some of the links because I need certain parts to be independent of the rest of the robot (e.g. the back wheel) if I intend to make some of the joints continuous.

I tried using rviz to select the links and see their relative position, but I found that those numbers aren't precise enough. So how do I know the relative position between two links with the maximum possible precision?

I didn't find any questions regarding this, excuse me if I just couldn't find them! :(

Update:

For example, let's take a random joint from my .urdf file:

<joint name="ref_70_joint" type="fixed">
  <parent link="ref_58_link_hub"/>
  <child link="ref_60_link"/>
  <origin xyz="-0.0135999953902 6.27180865763e-08 0.00020025516928" rpy="3.14159265343 1.5396542947e-05 -1.04458704296e-05" />
  <axis xyz="0 0 0" />
</joint>

Now let's see what rosrun tf tf_echo /ref_58_link_hub /ref_60_link returns:

At time 1332949971.511
- Translation: [0.014, 0.000, -0.000]
- Rotation: in Quaternion [0.000, -0.000, 1.000, -0.000]
            in RPY [-0.000, -0.000, -3.142]

As you can see I only get three decimal digits, just like rviz.

WAIT. I just noticed that my urdf defines rpy as "pi, ~0, ~0", but tf_echo returns "~0, ~0, pi". WTF? Aren't they in the same order!? Could that be my problem? ._.

Exact relative position between two links

Hi! I'll be blunt...

I used LDD and lxf2urdf to build a robot and I want to change the parent of some of the links because I need certain parts to be independent of the rest of the robot (e.g. the back wheel) if I intend to make some of the joints continuous.

I tried using rviz to select the links and see their relative position, but I found that those numbers aren't precise enough. So how do I know the relative position between two links with the maximum possible precision?

I didn't find any questions regarding this, excuse me if I just couldn't find them! :(

Update:

For example, let's take a random joint from my .urdf file:

<joint name="ref_70_joint" type="fixed">
  <parent link="ref_58_link_hub"/>
  <child link="ref_60_link"/>
  <origin xyz="-0.0135999953902 6.27180865763e-08 0.00020025516928" rpy="3.14159265343 1.5396542947e-05 -1.04458704296e-05" />
  <axis xyz="0 0 0" />
</joint>

Now let's see what rosrun tf tf_echo /ref_58_link_hub /ref_60_link returns:

At time 1332949971.511
- Translation: [0.014, 0.000, -0.000]
- Rotation: in Quaternion [0.000, -0.000, 1.000, -0.000]
            in RPY [-0.000, [-3.142, -0.000, -3.142]
-0.000]

As you can see I only get three decimal digits, just like rviz.

WAIT. I just noticed that my urdf defines rpy as "pi, ~0, ~0", but tf_echo returns "~0, ~0, pi". WTF? Aren't they in the same order!? Could that be my problem? ._.