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

Laser_ortho_projector transformation problem

asked 2015-02-06 12:36:23 -0500

crzx5 gravatar image

I'm currently using ROS Hydro. I've been trying without success to run laser_ortho_projector without a base/world tf. According to the wiki ( http://wiki.ros.org/laser_ortho_proje... ), this is fine so long as an IMU topic is provided, since the node can determine the attitude of the laser frame relative to the fixed frame.

(Note that while the wiki article referenced is for Fuerte, I used the Hydro package: https://github.com/ccny-ros-pkg/scan_... )

Currently, I have a laser topic (/scan) and IMU topic (/imu/data) successfully publishing. Also, I have a laser > base_link static transformation being broadcast (included in launch file below).

I continue to get the following error:

[ WARN] [ros timestamp]: Skipping scan Could not find a connection between 'world' and 'base_link' because they are not part of the same tree.Tf has two or more unconnected trees.

Here is my launch file:

<launch>

<!-- Static TF Publication -->
<node pkg="tf" type="static_transform_publisher" name="base_to_laser" 
        args="0 0 0 0 0 0 /base_link /laser 40" />

<!-- Laser Ortho Projector-->
<node pkg="laser_ortho_projector" type="laser_ortho_projector_node" name="laser_ortho_projector" output="screen">

<param name="use_imu" type="bool" value="true"/>
<param name="use_pose" type="bool" value="false"/>
<param name="publish_tf" type="bool" value="true"/>
<remap from= "cloud_ortho" to="cloud"/>

</node>

</launch>

Thanks for any assistance!

edit retag flag offensive close merge delete

Comments

I'm dealing with the same problem! Any help here would be appreciated.

locustcox gravatar image locustcox  ( 2015-02-06 13:36:54 -0500 )edit

2 Answers

Sort by » oldest newest most voted
0

answered 2016-04-26 20:46:30 -0500

updated 2016-04-26 20:47:28 -0500

Instead I recommend you to work "pose mode" instead on "imu mode". You can use the demo.launch file provided in the package. You will have to generate your base_frame using the imu data you already have. The http://wiki.ros.org/hector_imu_attitu... may help you in this task.

If you still want to continue working in the imu mode you will need to provide another extra transformation that defines the position of the base_frame in the world.

Some thoughts about the imu-mode

I agree that this is counter-intuitive: You have to provide the orientation of the link twice (in the imu message and in the transform). Why? IMHO it is not needed, just implementation reasons. For the imu-mode the ortho_frame transform could have been directly broadcasted as child of base_frame (ignoring the yaw field). However the implementation broadcasts the ortho_frame as child of world.

edit flag offensive delete link more
0

answered 2015-04-06 15:58:22 -0500

lkjewq gravatar image

Hi there,

The following link shows you how to resolve this issue: https://www.youtube.com/watch?v=4BJvt...

Next time try using the search function better!

edit flag offensive delete link more

Comments

Age of Empires screen cast? @lkjewq is that what you meant to link to?

tfoote gravatar image tfoote  ( 2015-04-06 23:56:28 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2015-02-06 12:36:23 -0500

Seen: 364 times

Last updated: Apr 26 '16