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

Tf from optical frame to odometry frame

asked 2013-01-19 00:11:59 -0500

Karan gravatar image

updated 2016-10-24 08:59:22 -0500

ngrennan gravatar image

I am acquiring point cloud and image data from Kinect sensor. The coordinate frame for the data acquired is:-

X axis--> right

Y axis--> downwards

Z axis--> forward

and the odometry(standard /map axis) has coordinate axis as such:-

X axis--> forward

Y axis--> left

Z axis--> upwards

What would be a static transform between the two frames ??

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2013-01-19 00:58:04 -0500

Ben_S gravatar image

Normally you should not define a direct transform between the optical frame of the kinect and your odometry. If you are using the ros openni driver, there is a camera_link frame with the depth- and optical-frames as children. This is using the standard x-forward terminology and should be used for setting the transform from base_link. There you only have to worry about the offsets in x, y anz z and maybe some rotation to account for the Kinect mounting.

Additionally you may want to have a look at REP 103 regarding the standard axis orientations.

P.S. to answer the inital question: You would need the set the offsets (x,y,z) and then in fixed axis RPY: -pi/2, 0, -pi/2. (at least i think so :))

edit flag offensive delete link more



Why do you want to do a direct transform from base_link to the optical frame? Using the openni driver the optical frame would have two parents, which is invalid! You need only two rotations because you always rotate the whole coordinate system.

Ben_S gravatar image Ben_S  ( 2013-01-19 02:19:09 -0500 )edit

What do you mean with: "If you are using the ros openni driver, there is a camera_link frame with the depth- and optical-frames as children" ? I am using the ros openni driver but it does not publish any tf information, i have to do that myself. This is why I want to do the same as the question.

Hakaishin gravatar image Hakaishin  ( 2018-05-11 04:51:59 -0500 )edit

answered 2020-04-13 14:24:09 -0500

Fookii gravatar image

If your are using gazebo plugin for kinect, then there won't be any /tf for depth- and optical-frames as children, which can lead to confusing situation. If you are using gazebo, then refer to this issue

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2013-01-19 00:11:59 -0500

Seen: 3,038 times

Last updated: Apr 13 '20