New in C Turtle
Contains a node that rotates an image stream in a way that minimizes the angle between a vector in some arbitrary frame and a vector in the camera frame. The frame of the outgoing image is published by the node.
This node is intended to allow camera images to be visualized in an orientation that is more intuitive than the hardware-constrained orientation of the physical camera. This is particularly helpful, for example, to show images from the PR2's forearm cameras with a consistent up direction, despite the fact that the forearms need to rotate in arbitrary ways during manipulation.
It is not recommended to use the output from this node for further computation, as it interpolates the source image, introduces black borders, and does not output a camera_info.
- Author: Blaise Gassend
- License: BSD
- Repository: ros-pkg
- Source: svn https://code.ros.org/svn/ros-pkg/stacks/image_pipeline/trunk/image_rotate
To produce a version of the forearm camera view that always points up:
rosrun image_rotate image_rotate image:=l_forearm_cam/image_color \ rotated/image:=l_forearm_cam/image_color_rotated __name:=image_rotater
You can then view it with image_view.
rosrun image_view image_view image:=l_forearm_cam/image_color_rotated
It is easy to adjust the settings using dynamic_reconfigure.
rosrun dynamic_reconfigure reconfigure_gui image_rotater
image_rotateimage_rotate is a node to rotate an image for visualization. The node takes a source vector and a target vector, and projects them onto the camera image. It then rotates the image by the angle neded to align the projection of the source vector with the projection of the target vector. The source and target vectors are specified in arbitrary TF frames allowing the rotation angle to vary dynamically as frames move relative to one another. With the default settings, the image will be rotated so that the top of the image matches the up direction the base_link.
Subscribed Topicsimage (sensor_msgs/Image)
- Image to be rotated (the accompanying camera_info may also be subscribed to).
Published Topicsrotated/image (sensor_msgs/Image)
- Rotated image
Dynamically Reconfigurable ParametersSee the dynamic_reconfigure package for details on dynamically reconfigurable parameters.
- Frame in which the target vector is specified. Empty means the input frame.
- X coordinate of the target vector Range: -10.0 to 10.0
- Y coordinate of the target vector Range: -10.0 to 10.0
- Z coordinate of the target vector Range: -10.0 to 10.0
- Frame in which the source vector is specified. Empty means the input frame.
- X coordinate of the direction the target should be aligned with. Range: -10.0 to 10.0
- Y coordinate of the direction the target should be aligned with. Range: -10.0 to 10.0
- Z coordinate of the direction the target should be aligned with. Range: -10.0 to 10.0
- Frame to publish for the image's new orientation. Empty means add '_rotated' suffix to the image frame.
- Frame to use for the original camera image. Empty means that the frame in the image or camera_info should be used depending on use_camera_info.
- Indicates that the camera_info topic should be subscribed to to get the default input_frame_id. Otherwise the frame from the image message will be used.
- Limits the rate at which the image can rotate (rad/s). Zero means no limit. Range: 0.0 to 100.0
- Size of the output image as a function of the input image size. Can be varied continuously between the following special settings: 0 ensures no black ever appears, 1 is small image dimension, 2 is large image dimension, 3 is image diagonal. Range: 0.0 to 3.0