Wiki

This node opens an Ensenso camera and provides actions to configure this camera and get data from it.

The node is also provided as a nodelet with the name ensenso_camera/nodelet. For optimal performance, you should use this nodelet and get the point clouds as a pcl::PointCloud through the published topic. This avoids serialization and unnecessary copying. Note that the serialization always has to be done, when you call the request_data action with the include_results_in_response flag set.

When using multiple camera nodes at the same time, you should use ROS namespaces to push the node's actions and published topics into separate scopes. This can be done with the ROS_NAMESPACE environment variable or by using the ns attribute in roslaunch.

Please refer to this page for more information on name resolution in ROS.

Parameters

~serial (string/int)

~settings (string, default: None) ~file_camera_path (string, default: None) ~fixed (bool, default: false) ~threads (int, default: Number of CPU cores) ~camera_frame (string, default: "<serial>_optical_frame") ~target_frame (string, default: Same as camera_frame) ~link_frame (string, default: Same as target_frame) ~robot_frame (string) ~wrist_frame (string) ~tcp_port (int, default: -1) ~wait_for_camera (bool, default: false) ~capture_timeout (int, default: 0)

Provided Actions

Almost all interactions with the camera node are provided through actions (see the actionlib documentation for information on how actions work). See the definition of the actions and the corresponding tutorials for more information on the how the different actions are used.

get_parameter (ensenso_camera_msgs/GetParameter)

set_parameter (ensenso_camera_msgs/SetParameter)

request_data (ensenso_camera_msgs/RequestData)

locate_pattern (ensenso_camera_msgs/LocatePattern)

project_pattern (ensenso_camera_msgs/ProjectPattern)

calibrate_workspace (ensenso_camera_msgs/CalibrateWorkspace)

calibrate_hand_eye (ensenso_camera_msgs/CalibrateHandEye)

fit_primitive (ensenso_camera_msgs/FitPrimitive)

project_telecentric (ensenso_camera_msgs/TelecentricProjection)

Only usable with a mono (rgb) camera linked to a stereo camera:

texture_point_cloud (ensenso_camera_msgs/TexturedPointCloud)

In addition to these actions, the node also provides to further actions that give direct access to the NxLib tree. You should probably not use these, unless you have to use some functionality of the NxLib that is not wrapped in this node.

access_tree (ensenso_camera_msgs/AccessTree)

execute_command (ensenso_camera_msgs/ExecuteCommand)

Published Topics

/diagnostics (diagnostic_msgs/DiagnosticArray)

All of the following topics are only published when the request_data action is called with the publish_results flag set.

raw/left/image (sensor_msgs/Image)

raw/left/camera_info (sensor_msgs/CameraInfo) raw/right/image (sensor_msgs/Image) raw/right/camera_info (sensor_msgs/CameraInfo) rectified/left/image (sensor_msgs/Image) rectified/left/camera_info (sensor_msgs/CameraInfo) rectified/right/image (sensor_msgs/Image) rectified/right/camera_info (sensor_msgs/CameraInfo) disparity_map (sensor_msgs/Image) point_cloud (sensor_msgs/PointCloud2) depth/image (sensor_msgs/Image) depth/camera_info (sensor_msgs/CameraInfo)

Wiki: ensenso_driver/Nodes/ensenso_camera_node (last edited 2023-12-07 15:46:39 by BenjaminThiemann)