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

Revision history [back]

You should add a joint between a frame on your robot and laser to your urdf.

<joint name="base_to_laser" type="fixed">
    <parent link="base_link"/>
    <child link="laser"/>
    <origin rpy="0 1.57075 0" xyz="0 -0.22 0.25"/>
</joint>

Where instead of the rpy (roll pitch yaw) and xyz above you insert the position of the laser relative to base_link. Or instead of base_link use another existing frame already in your urdf that is close to where the laser is mounted.

You should add a joint between a frame on your robot and laser to your urdf.

<joint name="base_to_laser" type="fixed">
    <parent link="base_link"/>
    <child link="laser"/>
    <origin rpy="0 1.57075 0" xyz="0 -0.22 0.25"/>
</joint>

Where instead of the rpy (roll pitch yaw) and xyz above you insert the position of the laser relative to base_link. Or instead of base_link use another existing frame already in your urdf that is close to where the laser is mounted.

To experiment with different transforms live instead of launching and relaunching with minor changes to the urdf you can publish a transform from the command line (and comment out base_to_laser if it is in the urdf), then lock the values that work best into the urdf: http://wiki.ros.org/tf#static_transform_publisher

You should add a joint between a frame on your robot and laser to your urdf.

<joint name="base_to_laser" type="fixed">
    <parent link="base_link"/>
    <child link="laser"/>
    <origin rpy="0 1.57075 0" xyz="0 -0.22 0.25"/>
</joint>

Where instead of the rpy (roll pitch yaw) and xyz above you insert the position of the laser relative to base_link. Or instead of base_link use another existing frame (lms_link) already in your urdf that is close to where the laser is mounted.

To experiment with different transforms live instead of launching and relaunching with minor changes to the urdf you can publish a transform from the command line (and comment out base_to_laser if it is in the urdf), then lock the values that work best into the urdf: http://wiki.ros.org/tf#static_transform_publisher

If lms_link is already the correct frame then having sicklms publish the laser_scan relative to that is an easy alternative to the above:

rosrun sicktoolbox_wrapper sicklms _frame_id:=lms_link

(or provide it in a launch file with ` within the sicklms node launching xml)

You should add a joint between a frame on your robot and laser to your urdf.

<joint name="base_to_laser" type="fixed">
    <parent link="base_link"/>
    <child link="laser"/>
    <origin rpy="0 1.57075 0" xyz="0 -0.22 0.25"/>
</joint>

Where instead of the rpy (roll pitch yaw) and xyz above you insert the position of the laser relative to base_link. Or instead of base_link use another existing frame (lms_link) already in your urdf that is close to where the laser is mounted.

To experiment with different transforms live instead of launching and relaunching with minor changes to the urdf you can publish a transform from the command line (and comment out base_to_laser if it is in the urdf), then lock the values that work best into the urdf: http://wiki.ros.org/tf#static_transform_publisher

If lms_link is already the correct frame and an additional joint isn't needed then having sicklms publish the laser_scan relative to that is an easy alternative to the above:

rosrun sicktoolbox_wrapper sicklms _frame_id:=lms_link

(or provide it in a launch file with ` within the sicklms node launching xml)

You should add a joint between a frame on your robot and laser to your urdf.

<link name="laser" />
<joint name="base_to_laser" type="fixed">
    <parent link="base_link"/>
    <child link="laser"/>
    <origin rpy="0 1.57075 0" xyz="0 -0.22 0.25"/>
</joint>

Where instead of the rpy (roll pitch yaw) and xyz above you insert the position of the laser relative to base_link. Or instead of base_link use another frame (lms_link) already in your urdf that is close to where the laser is mounted.

To experiment with different transforms live instead of launching and relaunching with minor changes to the urdf you can publish a transform from the command line (and comment out base_to_laser if it is in the urdf), then lock the values that work best into the urdf: http://wiki.ros.org/tf#static_transform_publisher

If lms_link is already the correct frame and an additional joint isn't needed then having sicklms publish the laser_scan relative to that is an easy alternative to the above:

rosrun sicktoolbox_wrapper sicklms _frame_id:=lms_link

(or provide it in a launch file with ` within the sicklms node launching xml)

You should add a joint between a frame on your robot and laser to your urdf.

<!-- need to make a placeholder link for the laser frame -->
<link name="laser" />
/>  
<joint name="base_to_laser" type="fixed">
    <parent link="base_link"/>
    <child link="laser"/>
    <origin rpy="0 1.57075 0" xyz="0 -0.22 0.25"/>
</joint>

Where instead of the rpy (roll pitch yaw) and xyz above you insert the position of the laser relative to base_link. Or instead of base_link use another frame (lms_link) already in your urdf that is close to where the laser is mounted.

To experiment with different transforms live instead of launching and relaunching with minor changes to the urdf you can publish a transform from the command line (and comment out base_to_laser if it is in the urdf), then lock the values that work best into the urdf: http://wiki.ros.org/tf#static_transform_publisher

If lms_link is already the correct frame and an additional joint isn't needed then having sicklms publish the laser_scan relative to that is an easy alternative to the above:

rosrun sicktoolbox_wrapper sicklms _frame_id:=lms_link

(or provide it in a launch file with ` within the sicklms node launching xml)