0
$\begingroup$

Rosanswers logo

I finished base_link → odom tf like this

    map
     |
   odom
     |
 base_link

But in another required tf transform, it reads

(the frame attached to incoming scans) → base_link usually a fixed value, broadcast periodically by a robot_state_publisher, or a tf static_transform_publisher.

(http://wiki.ros.org/gmapping)

I can not understand how to build tf: scan→ base_link , and depthimagine_to_laserscan(I use kinect) do not provide any tf Transform.

And tf transforms in Turtlebot like this:

                                 map
                                  |
                                odom
                                  |
                              base_link
                                  |
                  ---------camera_rgb_frame-------
                  |               |              | 
    camera_depth_frame     camera_link   camera_rgb_optical_frame
                  |
    camera_depth_optical_frame

So, how can I combine scan data to base_link and broadcast this tf like turtlebot?

Some keywords like "camera_depth_frame", "camera_link"... Broadcasting them direct without any define or export?

And my kinect is fixed on the underpan, does it need a URDF file, or just use static_transform_publisher is fine?

Sincerely


Originally posted by Bill Gates on ROS Answers with karma: 28 on 2015-12-22

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

you can simply use a static_transform_publisher to build scan→ base_link tf.


Originally posted by Procópio with karma: 4402 on 2015-12-22

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by Bill Gates on 2015-12-22:
But some keywords like "camera_depth_frame", "camera_link"... Broadcasting them direct without any define or export? I set "false" as a default for "publish_tf" in ".../freenect_launch.launch". Thanks.

Comment by Procópio on 2015-12-22:
I am not sure I understand your question, but you can also use a static_transform_publisher to create a tf between your base_link and the kinect (following the example you posted, that would be "base_link -> camera_rgb_frame".

Comment by Bill Gates on 2015-12-22:
Thank you, let me give it a try.

Comment by sar1994 on 2015-12-23:
i too am currently working on the same. I used the following command to provide a static transformation between the two $ rosrun tf static_transform_publisher -0.27 0.0 0.6 0.0 0.0 0.0 base_link camera_link 100

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.