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

RViz camera view: other coordinate frame convention

asked 2013-02-18 02:20:44 -0600

Robbiepr1 gravatar image

updated 2016-10-24 09:10:50 -0600

ngrennan gravatar image

I'm currently doing some experiments with fovis_ros and a kinect . This works pretty well, but fovis uses an other type of coordinate frames where +X is to the right, +Y is down and +Z is forward. The thing is that none of the camera views in RViz are able to let the camera rotate around the Y axis instead of the X axis. This makes it kinda hard to get a nice view in RViz. It seems that RViz was only made for the coordinate frame conventions documented on this page: ros.org/wiki/geometry/CoordinateFrameConventions

Any of you guys encountered the same problem? Is there anyone with a solution for this problem?

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted
3

answered 2013-02-18 08:45:35 -0600

Stephan gravatar image

Depending on the launch file you use for your kinect, it might be that there is already a static_transform_publisher running that publishes a tf between camera_link and camera_rgb_optical_frame. You can check that easily by running

rosrun tf tf_monitor

If you want, you can easily give this camera_rgb_optical_frame as base link frame id to fovis_ros:

rosrun fovis_ros stereo_odometer _base_link_frame_id:=/camera_rgb_optical_frame

fovis_ros will then publish movements through tf and odometry messages using /odom as fixed frame and /camera_rgb_optical_frame as the moving (child) frame. If you set the fixed frame in rviz to /odom you should see the camera frames moving while moving the kinect.

edit flag offensive delete link more

Comments

Thanks! That did the trick for now. Although it would be nice if there was some kind of setting in RViz itself.

Robbiepr1 gravatar image Robbiepr1  ( 2013-02-18 20:26:44 -0600 )edit
3

answered 2013-02-18 02:50:26 -0600

dornhege gravatar image

updated 2013-02-18 02:50:47 -0600

This is the standard camera optical coordinate system.

The easiest solution I see to your problem is to publish a transform between the camera system and the camera's optical system, e.g. by using a tf static_transform_publisher.

Then select that system in rviz instead of the optical on that, you have now.

edit flag offensive delete link more
3

answered 2013-02-18 10:19:04 -0600

dgossow gravatar image

updated 2013-02-19 17:28:41 -0600

Switching the up axis might be a useful feature in RViz. You're welcome to open a feature request ticket on https://github.com/ros-visualization/rviz/issues

edit flag offensive delete link more

Comments

1

+1! Especially for underwater robotics, where the standard coordinate system is NED (North East Down).

Stephan gravatar image Stephan  ( 2013-02-18 10:55:44 -0600 )edit

This would be a nice feature indeed. I will open a feature request on github

Robbiepr1 gravatar image Robbiepr1  ( 2013-02-18 20:27:58 -0600 )edit

After reviewing this I would say that this is a likely feature for a future RViz release.

dgossow gravatar image dgossow  ( 2013-02-19 18:47:36 -0600 )edit

For further comments on the feature request please use the github tracker: https://github.com/ros-visualization/rviz/issues/597

dgossow gravatar image dgossow  ( 2013-02-19 18:48:29 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2013-02-18 02:20:44 -0600

Seen: 3,595 times

Last updated: Feb 19 '13