diff --git a/README.md b/README.md index 0311e9ed2b..522ec969a6 100644 --- a/README.md +++ b/README.md @@ -23,29 +23,27 @@
## Table of contents - * [ROS1 and ROS2 legacy](#legacy) + * [ROS1 and ROS2 legacy](#ros1-and-ros2-legacy) * [Installation](#installation) * [Usage](#usage) - * [Starting the camera node](#start-camera-node) - * [Camera name and namespace](#camera-name-and-namespace) + * [Starting the camera node](#start-the-camera-node) + * [Camera name and namespace](#camera-name-and-camera-namespace) * [Parameters](#parameters) - * [ROS2-vs-Optical Coordination Systems](#coordination) - * [TF from coordinate A to coordinate B](#tfs) - * [Extrinsics from sensor A to sensor B](#extrinsics) - * [Topics](#topics) - * [RGBD Topic](#rgbd) - * [Metadata Topic](#metadata) - * [Post-Processing Filters](#filters) - * [Available Services](#services) - * [Efficient intra-process communication](#intra-process) + * [ROS2-vs-Optical Coordination Systems](#ros2robot-vs-opticalcamera-coordination-systems) + * [TF from coordinate A to coordinate B](#tf-from-coordinate-a-to-coordinate-b) + * [Extrinsics from sensor A to sensor B](#extrinsics-from-sensor-a-to-sensor-b) + * [Topics](#published-topics) + * [RGBD Topic](#rgbd-topic) + * [Metadata Topic](#metadata-topic) + * [Post-Processing Filters](#post-processing-filters) + * [Available Services](#available-services) + * [Efficient intra-process communication](#efficient-intra-process-communication) * [Contributing](CONTRIBUTING.md) * [License](LICENSE)
-

- Legacy -

+# ROS1 and ROS2 Legacy
@@ -80,9 +78,7 @@
-

- Installation -

+# Installation
@@ -165,13 +161,9 @@
-

- Usage -

+# Usage -

- Start the camera node -

+## Start the camera node #### with ros2 run: ros2 run realsense2_camera realsense2_camera_node @@ -184,9 +176,7 @@
-

- Camera Name And Camera Namespace -

+## Camera Name And Camera Namespace User can set the camera name and camera namespace, to distinguish between cameras and platforms, which helps identifying the right nodes and topics to work with. @@ -247,13 +237,9 @@ User can set the camera name and camera namespace, to distinguish between camera /camera/camera/device_info ``` -
- -

- Parameters -

+## Parameters ### Available Parameters: - For the entire list of parameters type `ros2 param list`. @@ -371,9 +357,7 @@ The `/diagnostics` topic includes information regarding the device temperatures
-

- ROS2(Robot) vs Optical(Camera) Coordination Systems: -

+## ROS2(Robot) vs Optical(Camera) Coordination Systems: - Point Of View: - Imagine we are standing behind of the camera, and looking forward. @@ -389,9 +373,7 @@ The `/diagnostics` topic includes information regarding the device temperatures
-

- TF from coordinate A to coordinate B: -

+## TF from coordinate A to coordinate B: - TF msg expresses a transform from coordinate frame "header.frame_id" (source) to the coordinate frame child_frame_id (destination) [Reference](http://docs.ros.org/en/noetic/api/geometry_msgs/html/msg/Transform.html) - In RealSense cameras, the origin point (0,0,0) is taken from the left IR (infra1) position and named as "camera_link" frame @@ -403,10 +385,7 @@ The `/diagnostics` topic includes information regarding the device temperatures
-

- Extrinsics from sensor A to sensor B: -

- +## Extrinsics from sensor A to sensor B: - Extrinsic from sensor A to sensor B means the position and orientation of sensor A relative to sensor B. - Imagine that B is the origin (0,0,0), then the Extrensics(A->B) describes where is sensor A relative to sensor B. @@ -441,9 +420,7 @@ translation:
-

- Published Topics -

+## Published Topics The published topics differ according to the device and parameters. After running the above command with D435i attached, the following list of topics will be available (This is a partial list. For full one type `ros2 topic list`): @@ -485,9 +462,7 @@ Enabling stream adds matching topics. For instance, enabling the gyro and accel
-

- RGBD Topic -

+## RGBD Topic RGBD new topic, publishing [RGB + Depth] in the same message (see RGBD.msg for reference). For now, works only with depth aligned to color images, as color and depth images are synchronized by frame time tag. @@ -507,9 +482,7 @@ ros2 launch realsense2_camera rs_launch.py enable_rgbd:=true enable_sync:=true a
-

- Metadata topic -

+## Metadata topic The metadata messages store the camera's available metadata in a *json* format. To learn more, a dedicated script for echoing a metadata topic in runtime is attached. For instance, use the following command to echo the camera/depth/metadata topic: ``` @@ -518,10 +491,8 @@ python3 src/realsense-ros/realsense2_camera/scripts/echo_metadada.py /camera/cam
-

- Post-Processing Filters -

- +## Post-Processing Filters + The following post processing filters are available: - ```align_depth```: If enabled, will publish the depth image aligned to the color image on the topic `/camera/camera/aligned_depth_to_color/image_raw`. - The pointcloud, if created, will be based on the aligned depth image. @@ -551,17 +522,13 @@ Each of the above filters have it's own parameters, following the naming convent
-

- Available services -

+## Available services - device_info : retrieve information about the device - serial_number, firmware_version etc. Type `ros2 interface show realsense2_camera_msgs/srv/DeviceInfo` for the full list. Call example: `ros2 service call /camera/camera/device_info realsense2_camera_msgs/srv/DeviceInfo`
-

- Efficient intra-process communication: -

+## Efficient intra-process communication: Our ROS2 Wrapper node supports zero-copy communications if loaded in the same process as a subscriber node. This can reduce copy times on image/pointcloud topics, especially with big frame resolutions and high FPS.