This commit is contained in:
ob-yalian
2025-10-29 02:21:39 +00:00
parent de5010e57d
commit ac354bacb3
102 changed files with 2852 additions and 2450 deletions
Binary file not shown.
@@ -1,21 +1,21 @@
### ROS2 Robot vs Camera Optical Coordination Systems ## ROS2 Robot Coordinate System vs Camera Optical Coordinate System
* Point Of View: * Point of View:
* Imagine we are standing behind of the camera, and looking forward. * Imagine standing behind the camera and looking forward.
* Always use this point of view when talking about coordinates, left vs right IRs, position of sensor, etc.. * Always use this point of view when discussing coordinates, left vs right IR, sensor positions, etc.
![ROS2 and Camera Coordinate System](../image/application_guide/image0.png) ![ROS2 and Camera Coordinate System](../image/application_guide/image0.png)
* ROS2 Coordinate System: (X: Forward, Y:Left, Z: Up) * ROS2 Coordinate System: (X: Forward, Y: Left, Z: Up)
* Camera Optical Coordinate System: (X: Right, Y: Down, Z: Forward) * Camera Optical Coordinate System: (X: Right, Y: Down, Z: Forward)
* All data published in our wrapper topics is optical data taken directly from our camera sensors. * All data published in the wrapper topics is optical data taken directly from the camera sensors.
* static and dynamic TF topics publish optical CS and ROS CS to give the user the ability to move from one CS to other CS. * Static and dynamic TF topics publish optical and ROS coordinate systems so users can transform between them.
### Using ROS2 TF Tools ### Using ROS2 TF Tools
#### Viewing the TF Tree Structure #### View TF Tree Structure
You can use the following ROS2 commands to print and visualize the TF tree published by the camera package: Use the following ROS2 commands to print and visualize the TF tree published by the camera package:
**Print all TF relationships:** **Print all TF relationships:**
@@ -23,7 +23,7 @@ You can use the following ROS2 commands to print and visualize the TF tree publi
ros2 run tf2_tools view_frames ros2 run tf2_tools view_frames
``` ```
This command generates a `frames.pdf` file that displays the hierarchical relationships between all frames. This command generates a `frames.pdf` file showing the hierarchy between all frames.
![image-20251027111351870](../image/application_guide/image4.png) ![image-20251027111351870](../image/application_guide/image4.png)
@@ -33,9 +33,45 @@ This command generates a `frames.pdf` file that displays the hierarchical relati
ros2 topic echo /tf_static ros2 topic echo /tf_static
``` ```
#### Visualizing TF Tree with rviz2 **View the TF transform between two specified frames:**
You can use rviz2 to visualize the TF tree structure and relative positions of coordinate systems in real-time: Use the following command to view the transform between two specific frames:
```bash
ros2 run tf2_ros tf2_echo [source_frame] [target_frame]
```
Example, view transform from `camera_link` to `camera_depth_optical_frame`:
```bash
ros2 run tf2_ros tf2_echo camera_link camera_depth_optical_frame
```
The command continuously outputs the real-time transform between the two frames, including:
- Translation: x, y, z (meters)
- Rotation (Quaternion): x, y, z, w
- Rotation (RPY): roll, pitch, yaw (radians and degrees)
- Transform Matrix: 4×4 matrix with rotation and translation
Sample output:
```
At time 0.0
- Translation: [0.000, 0.000, 0.000]
- Rotation: in Quaternion [-0.500, 0.500, -0.500, 0.500]
- Rotation: in RPY (radian) [-1.571, -0.000, -1.571]
- Rotation: in RPY (degree) [-90.000, -0.000, -90.000]
- Matrix:
0.000 0.000 1.000 0.000
-1.000 0.000 0.000 0.000
0.000 -1.000 0.000 0.000
0.000 0.000 0.000 1.000
```
#### Visualize TF Tree in rviz2
Use rviz2 to visualize the TF tree and relative frame poses in real time:
```bash ```bash
rviz2 rviz2
@@ -44,8 +80,8 @@ rviz2
In rviz2: In rviz2:
- Add the `TF` display plugin - Add the `TF` display plugin
- Configure the Fixed Frame to `camera_link` or `camera_depth_optical_frame` - Set the Fixed Frame to `camera_link` or `camera_depth_optical_frame`
- Select the TF frames to display - Select which TF frames to display
![image-20251027140652727](../image/application_guide/image5.png) ![image-20251027140652727](../image/application_guide/image5.png)
@@ -53,9 +89,180 @@ In rviz2:
#### Core Function: `OBCameraNode::calcAndPublishStaticTransform()` #### Core Function: `OBCameraNode::calcAndPublishStaticTransform()`
The camera node calculates and publishes static transformation relationships between all sensors through this function. Below is a detailed explanation of the code: The camera node uses this function to calculate and publish all static transforms between sensors.
#### Quaternion Initialization and Coordinate System Transformation ```cpp
void OBCameraNode::calcAndPublishStaticTransform() {
tf2::Quaternion quaternion_optical, zero_rot;
zero_rot.setRPY(0.0, 0.0, 0.0);
quaternion_optical.setRPY(-M_PI / 2, 0.0, -M_PI / 2);
tf2::Vector3 zero_trans(0, 0, 0);
auto base_stream_profile = stream_profile_[base_stream_];
auto device_info = device_->getDeviceInfo();
CHECK_NOTNULL(device_info);
auto pid = device_info->getPid();
if (!base_stream_profile) {
RCLCPP_ERROR_STREAM(logger_, "Failed to get base stream profile");
return;
}
CHECK_NOTNULL(base_stream_profile.get());
for (const auto &item : stream_profile_) {
auto stream_index = item.first;
auto stream_profile = item.second;
if (!stream_profile) {
continue;
}
OBExtrinsic ex;
try {
ex = stream_profile->getExtrinsicTo(base_stream_profile);
} catch (const ob::Error &e) {
RCLCPP_ERROR_STREAM(logger_, "Failed to get " << stream_name_[stream_index]
<< " extrinsic: " << e.getMessage());
ex = OBExtrinsic({{1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0}});
}
auto Q = rotationMatrixToQuaternion(ex.rot);
Q = quaternion_optical * Q * quaternion_optical.inverse();
tf2::Vector3 trans(ex.trans[0], ex.trans[1], ex.trans[2]);
auto timestamp = node_->now();
if (stream_index.first != base_stream_.first) {
if (stream_index.first == OB_STREAM_IR_RIGHT && base_stream_.first == OB_STREAM_DEPTH) {
trans[0] = std::abs(trans[0]); // because left and right ir calibration is error
}
publishStaticTF(timestamp, trans, Q, frame_id_[base_stream_], frame_id_[stream_index]);
}
publishStaticTF(timestamp, zero_trans, quaternion_optical, frame_id_[stream_index],
optical_frame_id_[stream_index]);
RCLCPP_INFO_STREAM(logger_, "Publishing static transform from " << stream_name_[stream_index]
<< " to "
<< stream_name_[base_stream_]);
RCLCPP_INFO_STREAM(logger_, "Translation " << trans[0] << ", " << trans[1] << ", " << trans[2]);
RCLCPP_INFO_STREAM(logger_, "Rotation " << Q.getX() << ", " << Q.getY() << ", " << Q.getZ()
<< ", " << Q.getW());
}
if ((pid == FEMTO_BOLT_PID || pid == FEMTO_MEGA_PID) && enable_stream_[DEPTH] &&
enable_stream_[COLOR] && enable_publish_extrinsic_) {
// calc depth to color
CHECK_NOTNULL(stream_profile_[COLOR]);
auto depth_to_color_extrinsics = base_stream_profile->getExtrinsicTo(stream_profile_[COLOR]);
auto Q = rotationMatrixToQuaternion(depth_to_color_extrinsics.rot);
Q = quaternion_optical * Q * quaternion_optical.inverse();
publishStaticTF(node_->now(), zero_trans, Q, camera_link_frame_id_, frame_id_[base_stream_]);
} else {
publishStaticTF(node_->now(), zero_trans, zero_rot, camera_link_frame_id_,
frame_id_[base_stream_]);
}
if (enable_stream_[DEPTH] && enable_stream_[COLOR] && enable_publish_extrinsic_) {
static const char *frame_id = "depth_to_color_extrinsics";
OBExtrinsic ex;
try {
ex = base_stream_profile->getExtrinsicTo(stream_profile_[COLOR]);
} catch (const ob::Error &e) {
RCLCPP_ERROR_STREAM(logger_,
"Failed to get " << frame_id << " extrinsic: " << e.getMessage());
ex = OBExtrinsic({{1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0}});
}
depth_to_other_extrinsics_[COLOR] = ex;
auto ex_msg = obExtrinsicsToMsg(ex, frame_id);
CHECK_NOTNULL(depth_to_other_extrinsics_publishers_[COLOR]);
depth_to_other_extrinsics_publishers_[COLOR]->publish(ex_msg);
}
if (enable_stream_[DEPTH] && enable_stream_[INFRA0] && enable_publish_extrinsic_) {
static const char *frame_id = "depth_to_ir_extrinsics";
OBExtrinsic ex;
try {
ex = base_stream_profile->getExtrinsicTo(stream_profile_[INFRA0]);
} catch (const ob::Error &e) {
RCLCPP_ERROR_STREAM(logger_,
"Failed to get " << frame_id << " extrinsic: " << e.getMessage());
ex = OBExtrinsic({{1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0}});
}
depth_to_other_extrinsics_[INFRA0] = ex;
auto ex_msg = obExtrinsicsToMsg(ex, frame_id);
CHECK_NOTNULL(depth_to_other_extrinsics_publishers_[INFRA0]);
depth_to_other_extrinsics_publishers_[INFRA0]->publish(ex_msg);
}
if (enable_stream_[DEPTH] && enable_stream_[INFRA1] && enable_publish_extrinsic_) {
static const char *frame_id = "depth_to_left_ir_extrinsics";
OBExtrinsic ex;
try {
ex = base_stream_profile->getExtrinsicTo(stream_profile_[INFRA1]);
} catch (const ob::Error &e) {
RCLCPP_ERROR_STREAM(logger_,
"Failed to get " << frame_id << " extrinsic: " << e.getMessage());
ex = OBExtrinsic({{1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0}});
}
depth_to_other_extrinsics_[INFRA1] = ex;
auto ex_msg = obExtrinsicsToMsg(ex, frame_id);
CHECK_NOTNULL(depth_to_other_extrinsics_publishers_[INFRA1]);
depth_to_other_extrinsics_publishers_[INFRA1]->publish(ex_msg);
}
if (enable_stream_[DEPTH] && enable_stream_[INFRA2] && enable_publish_extrinsic_) {
static const char *frame_id = "depth_to_right_ir_extrinsics";
OBExtrinsic ex;
try {
ex = base_stream_profile->getExtrinsicTo(stream_profile_[INFRA2]);
} catch (const ob::Error &e) {
RCLCPP_ERROR_STREAM(logger_,
"Failed to get " << frame_id << " extrinsic: " << e.getMessage());
ex = OBExtrinsic({{1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0}});
}
ex.trans[0] = -std::abs(ex.trans[0]);
depth_to_other_extrinsics_[INFRA2] = ex;
auto ex_msg = obExtrinsicsToMsg(ex, frame_id);
CHECK_NOTNULL(depth_to_other_extrinsics_publishers_[INFRA2]);
depth_to_other_extrinsics_publishers_[INFRA2]->publish(ex_msg);
}
if (enable_stream_[DEPTH] && enable_stream_[ACCEL] && enable_publish_extrinsic_) {
static const char *frame_id = "depth_to_accel_extrinsics";
OBExtrinsic ex;
try {
ex = base_stream_profile->getExtrinsicTo(stream_profile_[ACCEL]);
} catch (const ob::Error &e) {
RCLCPP_ERROR_STREAM(logger_,
"Failed to get " << frame_id << " extrinsic: " << e.getMessage());
ex = OBExtrinsic({{1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0}});
}
depth_to_other_extrinsics_[ACCEL] = ex;
auto ex_msg = obExtrinsicsToMsg(ex, frame_id);
CHECK_NOTNULL(depth_to_other_extrinsics_publishers_[ACCEL]);
depth_to_other_extrinsics_publishers_[ACCEL]->publish(ex_msg);
}
if (enable_stream_[DEPTH] && enable_stream_[GYRO] && enable_publish_extrinsic_) {
static const char *frame_id = "depth_to_gyro_extrinsics";
OBExtrinsic ex;
try {
ex = base_stream_profile->getExtrinsicTo(stream_profile_[GYRO]);
} catch (const ob::Error &e) {
RCLCPP_ERROR_STREAM(logger_,
"Failed to get " << frame_id << " extrinsic: " << e.getMessage());
ex = OBExtrinsic({{1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0}});
}
depth_to_other_extrinsics_[GYRO] = ex;
auto ex_msg = obExtrinsicsToMsg(ex, frame_id);
CHECK_NOTNULL(depth_to_other_extrinsics_publishers_[GYRO]);
depth_to_other_extrinsics_publishers_[GYRO]->publish(ex_msg);
}
if (enable_sync_output_accel_gyro_) {
tf2::Quaternion zero_rot;
zero_rot.setRPY(0.0, 0.0, 0.0);
tf2::Vector3 zero_trans(0, 0, 0);
publishStaticTF(node_->now(), zero_trans, zero_rot, optical_frame_id_[GYRO],
accel_gyro_frame_id_);
}
}
```
#### Function Breakdown
Detailed explanation of the code:
**Quaternion Initialization and Coordinate Transform**
```cpp ```cpp
tf2::Quaternion quaternion_optical, zero_rot; tf2::Quaternion quaternion_optical, zero_rot;
@@ -63,68 +270,47 @@ zero_rot.setRPY(0.0, 0.0, 0.0);
quaternion_optical.setRPY(-M_PI / 2, 0.0, -M_PI / 2); quaternion_optical.setRPY(-M_PI / 2, 0.0, -M_PI / 2);
``` ```
**Explanation:** - `quaternion_optical`: Defines the rotation from optical coordinates to ROS standard (90° rotation)
- Converts camera optical CS (X right, Y down, Z forward) to ROS CS (X forward, Y left, Z up)
- `quaternion_optical`: Defines the rotation transformation from the optical coordinate system to the ROS standard coordinate system (90-degree rotation) **Get Device Info and Base Stream**
- This rotation converts the camera optical coordinate system (X right, Y down, Z forward) to the ROS standard coordinate system (X forward, Y left, Z up)
#### Obtaining Device Information and Base Stream
```cpp ```cpp
auto base_stream_profile = stream_profile_[base_stream_]; auto base_stream_profile = stream_profile_[base_stream_];
auto device_info = device_->getDeviceInfo(); auto device_info = device_->getDeviceInfo();
// The base stream is typically the DEPTH stream // Base stream usually DEPTH
``` ```
**Explanation:** - Choose a base stream (usually depth); all other transforms are relative to it
- A base stream (typically the depth stream) is selected, and all other sensor transformations are calculated relative to this base stream **Iterate Streams and Compute Relative Transforms**
#### Iterating Through All Streams and Calculating Relative Transformations
```cpp ```cpp
for (const auto &item : stream_profile_) { for (const auto &item : stream_profile_) {
auto stream_index = item.first; auto stream_index = item.first;
auto stream_profile = item.second; auto stream_profile = item.second;
// Get the extrinsics of this stream relative to the base stream
OBExtrinsic ex; OBExtrinsic ex;
ex = stream_profile->getExtrinsicTo(base_stream_profile); ex = stream_profile->getExtrinsicTo(base_stream_profile);
// Convert rotation matrix to quaternion
auto Q = rotationMatrixToQuaternion(ex.rot); auto Q = rotationMatrixToQuaternion(ex.rot);
// Apply optical coordinate system transformation: Q_new = quaternion_optical * Q * quaternion_optical.inverse()
Q = quaternion_optical * Q * quaternion_optical.inverse(); Q = quaternion_optical * Q * quaternion_optical.inverse();
tf2::Vector3 trans(ex.trans[0], ex.trans[1], ex.trans[2]); tf2::Vector3 trans(ex.trans[0], ex.trans[1], ex.trans[2]);
``` ```
**Explanation:** - `OBExtrinsic` holds rotation matrix (`rot`) and translation vector (`trans`)
- Apply optical-to-ROS rotation via quaternion multiplication
- `OBExtrinsic` contains the rotation matrix (`rot`) and translation vector (`trans`) between two sensors **Publish TF Transforms**
- Quaternion multiplication applies the optical coordinate system transformation to each sensor's rotation relationship
- This transformation converts the camera's native optical coordinate system to the ROS standard coordinate system
#### Publishing TF Transformations
```cpp ```cpp
// Publish the transformation from sensor to base stream (in ROS coordinate system)
publishStaticTF(timestamp, trans, Q, frame_id_[base_stream_], frame_id_[stream_index]); publishStaticTF(timestamp, trans, Q, frame_id_[base_stream_], frame_id_[stream_index]);
// Publish the transformation from physical frame to its optical frame
publishStaticTF(timestamp, zero_trans, quaternion_optical, frame_id_[stream_index], publishStaticTF(timestamp, zero_trans, quaternion_optical, frame_id_[stream_index],
optical_frame_id_[stream_index]); optical_frame_id_[stream_index]);
``` ```
**Explanation:** - First: base stream to sensor (translation + rotation)
- Second: sensor frame to optical frame (pure rotation)
- First `publishStaticTF`: Publishes the transformation from the base stream to the current sensor (translation + rotation) **Special Handling for Left/Right IR**
- Second `publishStaticTF`: Publishes the transformation from physical frame to optical frame (pure rotation, no translation)
- `frame_id_[stream_index]`: Physical coordinate system frame name (e.g., `camera_depth_frame`)
- `optical_frame_id_[stream_index]`: Optical coordinate system frame name (e.g., `camera_depth_optical_frame`)
#### Special Handling for Left and Right IR Cameras
```cpp ```cpp
if (stream_index.first == OB_STREAM_IR_RIGHT && base_stream_.first == OB_STREAM_DEPTH) { if (stream_index.first == OB_STREAM_IR_RIGHT && base_stream_.first == OB_STREAM_DEPTH) {
@@ -132,12 +318,9 @@ if (stream_index.first == OB_STREAM_IR_RIGHT && base_stream_.first == OB_STREAM_
} }
``` ```
**Explanation:** - Ensures symmetry consistency between left/right IR cameras
- Left and right IR cameras are symmetric about the center plane in the device coordinate system **Publish Depth-to-Other Extrinsics**
- Using `abs()` ensures the X-axis offset is positive, maintaining geometric consistency
#### Publishing Extrinsics from Depth to Other Sensors
```cpp ```cpp
if (enable_stream_[DEPTH] && enable_stream_[COLOR] && enable_publish_extrinsic_) { if (enable_stream_[DEPTH] && enable_stream_[COLOR] && enable_publish_extrinsic_) {
@@ -147,7 +330,4 @@ if (enable_stream_[DEPTH] && enable_stream_[COLOR] && enable_publish_extrinsic_)
} }
``` ```
**Explanation:** - Publishes raw extrinsics via topic for advanced alignment and registration
- In addition to publishing transformation relationships through TF, raw extrinsic parameters are also published through custom topics
- This allows users to directly access the camera's intrinsic and extrinsic parameters for high-precision point cloud alignment and depth-color registration
+20 -23
View File
@@ -147,34 +147,31 @@
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -373,7 +370,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+29 -43
View File
@@ -149,34 +149,31 @@
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -431,28 +428,17 @@
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -542,7 +528,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
BIN
View File
Binary file not shown.
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -381,7 +378,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+1 -1
View File
File diff suppressed because one or more lines are too long
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -687,7 +684,7 @@ thead th {
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -557,7 +554,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -395,7 +392,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -422,7 +419,7 @@ colcon<span class="w"> </span>build<span class="w"> </span>--event-handlers<span
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -388,7 +385,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -386,7 +383,7 @@ sudo<span class="w"> </span>udevadm<span class="w"> </span>control<span class="w
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -459,7 +456,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -464,7 +461,7 @@ ros2<span class="w"> </span>param<span class="w"> </span>list
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -395,7 +392,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -391,28 +388,17 @@
<li class="toctree-l2"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l2"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l1"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l1"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l1"><a class="reference internal" href="camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l1"><a class="reference internal" href="tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l1"><a class="reference internal" href="compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li> <li class="toctree-l1"><a class="reference internal" href="point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li> <li class="toctree-l2"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li> <li class="toctree-l2"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l1"><a class="reference internal" href="tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l1"><a class="reference internal" href="compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -431,7 +417,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -6,7 +6,7 @@
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>4.7. Camera sensor structure &mdash; OrbbecSDK V2 ROS2 Wrapper documentation</title> <title>4.5. Camera sensor structure &mdash; OrbbecSDK V2 ROS2 Wrapper documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" /> <link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" />
@@ -21,8 +21,8 @@
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" /> <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="4.8. TF from coordinate A to coordinate B:" href="tf_transformations.html" /> <link rel="next" title="4.6. TF from coordinate A to coordinate B:" href="tf_transformations.html" />
<link rel="prev" title="4.4. ROS2 Robot vs Camera Optical Coordination Systems" href="coordinate_systems.html" /> <link rel="prev" title="4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System" href="coordinate_systems.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -352,7 +349,7 @@
<ul class="wy-breadcrumbs"> <ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li> <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>Application Guide</a></li> <li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>Application Guide</a></li>
<li class="breadcrumb-item active"><span class="section-number">4.7. </span>Camera sensor structure</li> <li class="breadcrumb-item active"><span class="section-number">4.5. </span>Camera sensor structure</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
<a href="../../_sources/source/4_application_guide/camera_sensor_structure.md.txt" rel="nofollow"> View page source</a> <a href="../../_sources/source/4_application_guide/camera_sensor_structure.md.txt" rel="nofollow"> View page source</a>
</li> </li>
@@ -363,7 +360,7 @@
<div itemprop="articleBody"> <div itemprop="articleBody">
<div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">中文</a> | <a class="lang-current" href="#">English</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="camera-sensor-structure"> <div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">中文</a> | <a class="lang-current" href="#">English</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="camera-sensor-structure">
<h1><span class="section-number">4.7. </span>Camera sensor structure<a class="headerlink" href="#camera-sensor-structure" title="Link to this heading"></a></h1> <h1><span class="section-number">4.5. </span>Camera sensor structure<a class="headerlink" href="#camera-sensor-structure" title="Link to this heading"></a></h1>
<p><img alt="module in rviz2" src="../../_images/image3.png" /></p> <p><img alt="module in rviz2" src="../../_images/image3.png" /></p>
<p><img alt="module in rviz2" src="../../_images/image1.png" /></p> <p><img alt="module in rviz2" src="../../_images/image1.png" /></p>
</section> </section>
@@ -372,15 +369,15 @@
</div> </div>
</div> </div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="coordinate_systems.html" class="btn btn-neutral float-left" title="4.4. ROS2 Robot vs Camera Optical Coordination Systems" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="coordinate_systems.html" class="btn btn-neutral float-left" title="4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="tf_transformations.html" class="btn btn-neutral float-right" title="4.8. TF from coordinate A to coordinate B:" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="tf_transformations.html" class="btn btn-neutral float-right" title="4.6. TF from coordinate A to coordinate B:" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div> </div>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -6,7 +6,7 @@
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>4.9. Compressed Image &mdash; OrbbecSDK V2 ROS2 Wrapper documentation</title> <title>4.7. Compressed Image &mdash; OrbbecSDK V2 ROS2 Wrapper documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" /> <link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" />
@@ -21,8 +21,8 @@
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" /> <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="4.10. Enabling and Visualizing Point Cloud in ROS 2" href="point_cloud.html" /> <link rel="next" title="4.8. Enabling and Visualizing Point Cloud in ROS 2" href="point_cloud.html" />
<link rel="prev" title="4.8. TF from coordinate A to coordinate B:" href="tf_transformations.html" /> <link rel="prev" title="4.6. TF from coordinate A to coordinate B:" href="tf_transformations.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -352,7 +349,7 @@
<ul class="wy-breadcrumbs"> <ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li> <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>Application Guide</a></li> <li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>Application Guide</a></li>
<li class="breadcrumb-item active"><span class="section-number">4.9. </span>Compressed Image</li> <li class="breadcrumb-item active"><span class="section-number">4.7. </span>Compressed Image</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
<a href="../../_sources/source/4_application_guide/compressed_image.md.txt" rel="nofollow"> View page source</a> <a href="../../_sources/source/4_application_guide/compressed_image.md.txt" rel="nofollow"> View page source</a>
</li> </li>
@@ -363,7 +360,7 @@
<div itemprop="articleBody"> <div itemprop="articleBody">
<div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">中文</a> | <a class="lang-current" href="#">English</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="compressed-image"> <div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">中文</a> | <a class="lang-current" href="#">English</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="compressed-image">
<h1><span class="section-number">4.9. </span>Compressed Image<a class="headerlink" href="#compressed-image" title="Link to this heading"></a></h1> <h1><span class="section-number">4.7. </span>Compressed Image<a class="headerlink" href="#compressed-image" title="Link to this heading"></a></h1>
<p>You can use <code class="docutils literal notranslate"><span class="pre">image_transport</span></code> to compress the image using <code class="docutils literal notranslate"><span class="pre">jpeg</span></code>. Below is an example of how to use it:</p> <p>You can use <code class="docutils literal notranslate"><span class="pre">image_transport</span></code> to compress the image using <code class="docutils literal notranslate"><span class="pre">jpeg</span></code>. Below is an example of how to use it:</p>
<p>To access the compressed color image, you can use the following command:</p> <p>To access the compressed color image, you can use the following command:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>topic<span class="w"> </span><span class="nb">echo</span><span class="w"> </span>/camera/color/image_raw/compressed<span class="w"> </span>--no-arr <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>topic<span class="w"> </span><span class="nb">echo</span><span class="w"> </span>/camera/color/image_raw/compressed<span class="w"> </span>--no-arr
@@ -376,15 +373,15 @@
</div> </div>
</div> </div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="tf_transformations.html" class="btn btn-neutral float-left" title="4.8. TF from coordinate A to coordinate B:" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="tf_transformations.html" class="btn btn-neutral float-left" title="4.6. TF from coordinate A to coordinate B:" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="point_cloud.html" class="btn btn-neutral float-right" title="4.10. Enabling and Visualizing Point Cloud in ROS 2" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="point_cloud.html" class="btn btn-neutral float-right" title="4.8. Enabling and Visualizing Point Cloud in ROS 2" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div> </div>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -6,7 +6,7 @@
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>4.4. ROS2 Robot vs Camera Optical Coordination Systems &mdash; OrbbecSDK V2 ROS2 Wrapper documentation</title> <title>4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System &mdash; OrbbecSDK V2 ROS2 Wrapper documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" /> <link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" />
@@ -21,7 +21,7 @@
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" /> <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="4.7. Camera sensor structure" href="camera_sensor_structure.html" /> <link rel="next" title="4.5. Camera sensor structure" href="camera_sensor_structure.html" />
<link rel="prev" title="4.3. Available Topics" href="topics.html" /> <link rel="prev" title="4.3. Available Topics" href="topics.html" />
</head> </head>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -352,7 +349,7 @@
<ul class="wy-breadcrumbs"> <ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li> <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>Application Guide</a></li> <li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>Application Guide</a></li>
<li class="breadcrumb-item active"><span class="section-number">4.4. </span>ROS2 Robot vs Camera Optical Coordination Systems</li> <li class="breadcrumb-item active"><span class="section-number">4.4. </span>ROS2 Robot Coordinate System vs Camera Optical Coordinate System</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
<a href="../../_sources/source/4_application_guide/coordinate_systems.md.txt" rel="nofollow"> View page source</a> <a href="../../_sources/source/4_application_guide/coordinate_systems.md.txt" rel="nofollow"> View page source</a>
</li> </li>
@@ -362,145 +359,312 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">中文</a> | <a class="lang-current" href="#">English</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="ros2-robot-vs-camera-optical-coordination-systems"> <div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">中文</a> | <a class="lang-current" href="#">English</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="ros2-robot-coordinate-system-vs-camera-optical-coordinate-system">
<h1><span class="section-number">4.4. </span>ROS2 Robot vs Camera Optical Coordination Systems<a class="headerlink" href="#ros2-robot-vs-camera-optical-coordination-systems" title="Link to this heading"></a></h1> <h1><span class="section-number">4.4. </span>ROS2 Robot Coordinate System vs Camera Optical Coordinate System<a class="headerlink" href="#ros2-robot-coordinate-system-vs-camera-optical-coordinate-system" title="Link to this heading"></a></h1>
<ul class="simple"> <ul class="simple">
<li><p>Point Of View:</p> <li><p>Point of View:</p>
<ul> <ul>
<li><p>Imagine we are standing behind of the camera, and looking forward.</p></li> <li><p>Imagine standing behind the camera and looking forward.</p></li>
<li><p>Always use this point of view when talking about coordinates, left vs right IRs, position of sensor, etc..</p></li> <li><p>Always use this point of view when discussing coordinates, left vs right IR, sensor positions, etc.</p></li>
</ul> </ul>
</li> </li>
</ul> </ul>
<p><img alt="ROS2 and Camera Coordinate System" src="../../_images/image0.png" /></p> <p><img alt="ROS2 and Camera Coordinate System" src="../../_images/image0.png" /></p>
<ul class="simple"> <ul class="simple">
<li><p>ROS2 Coordinate System: (X: Forward, Y:Left, Z: Up)</p></li> <li><p>ROS2 Coordinate System: (X: Forward, Y: Left, Z: Up)</p></li>
<li><p>Camera Optical Coordinate System: (X: Right, Y: Down, Z: Forward)</p></li> <li><p>Camera Optical Coordinate System: (X: Right, Y: Down, Z: Forward)</p></li>
<li><p>All data published in our wrapper topics is optical data taken directly from our camera sensors.</p></li> <li><p>All data published in the wrapper topics is optical data taken directly from the camera sensors.</p></li>
<li><p>static and dynamic TF topics publish optical CS and ROS CS to give the user the ability to move from one CS to other CS.</p></li> <li><p>Static and dynamic TF topics publish optical and ROS coordinate systems so users can transform between them.</p></li>
</ul> </ul>
</section>
<section id="using-ros2-tf-tools"> <section id="using-ros2-tf-tools">
<h1><span class="section-number">4.5. </span>Using ROS2 TF Tools<a class="headerlink" href="#using-ros2-tf-tools" title="Link to this heading"></a></h1> <h2><span class="section-number">4.4.1. </span>Using ROS2 TF Tools<a class="headerlink" href="#using-ros2-tf-tools" title="Link to this heading"></a></h2>
<section id="viewing-the-tf-tree-structure"> <section id="view-tf-tree-structure">
<h2><span class="section-number">4.5.1. </span>Viewing the TF Tree Structure<a class="headerlink" href="#viewing-the-tf-tree-structure" title="Link to this heading"></a></h2> <h3><span class="section-number">4.4.1.1. </span>View TF Tree Structure<a class="headerlink" href="#view-tf-tree-structure" title="Link to this heading"></a></h3>
<p>You can use the following ROS2 commands to print and visualize the TF tree published by the camera package:</p> <p>Use the following ROS2 commands to print and visualize the TF tree published by the camera package:</p>
<p><strong>Print all TF relationships:</strong></p> <p><strong>Print all TF relationships:</strong></p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>run<span class="w"> </span>tf2_tools<span class="w"> </span>view_frames <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>run<span class="w"> </span>tf2_tools<span class="w"> </span>view_frames
</pre></div> </pre></div>
</div> </div>
<p>This command generates a <code class="docutils literal notranslate"><span class="pre">frames.pdf</span></code> file that displays the hierarchical relationships between all frames.</p> <p>This command generates a <code class="docutils literal notranslate"><span class="pre">frames.pdf</span></code> file showing the hierarchy between all frames.</p>
<p><img alt="image-20251027111351870" src="../../_images/image4.png" /></p> <p><img alt="image-20251027111351870" src="../../_images/image4.png" /></p>
<p><strong>View all currently published TF information:</strong></p> <p><strong>View all currently published TF information:</strong></p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>topic<span class="w"> </span><span class="nb">echo</span><span class="w"> </span>/tf_static <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>topic<span class="w"> </span><span class="nb">echo</span><span class="w"> </span>/tf_static
</pre></div> </pre></div>
</div> </div>
<p><strong>View the TF transform between two specified frames:</strong></p>
<p>Use the following command to view the transform between two specific frames:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>run<span class="w"> </span>tf2_ros<span class="w"> </span>tf2_echo<span class="w"> </span><span class="o">[</span>source_frame<span class="o">]</span><span class="w"> </span><span class="o">[</span>target_frame<span class="o">]</span>
</pre></div>
</div>
<p>Example, view transform from <code class="docutils literal notranslate"><span class="pre">camera_link</span></code> to <code class="docutils literal notranslate"><span class="pre">camera_depth_optical_frame</span></code>:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>run<span class="w"> </span>tf2_ros<span class="w"> </span>tf2_echo<span class="w"> </span>camera_link<span class="w"> </span>camera_depth_optical_frame
</pre></div>
</div>
<p>The command continuously outputs the real-time transform between the two frames, including:</p>
<ul class="simple">
<li><p>Translation: x, y, z (meters)</p></li>
<li><p>Rotation (Quaternion): x, y, z, w</p></li>
<li><p>Rotation (RPY): roll, pitch, yaw (radians and degrees)</p></li>
<li><p>Transform Matrix: 4×4 matrix with rotation and translation</p></li>
</ul>
<p>Sample output:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">At</span> <span class="n">time</span> <span class="mf">0.0</span>
<span class="o">-</span> <span class="n">Translation</span><span class="p">:</span> <span class="p">[</span><span class="mf">0.000</span><span class="p">,</span> <span class="mf">0.000</span><span class="p">,</span> <span class="mf">0.000</span><span class="p">]</span>
<span class="o">-</span> <span class="n">Rotation</span><span class="p">:</span> <span class="ow">in</span> <span class="n">Quaternion</span> <span class="p">[</span><span class="o">-</span><span class="mf">0.500</span><span class="p">,</span> <span class="mf">0.500</span><span class="p">,</span> <span class="o">-</span><span class="mf">0.500</span><span class="p">,</span> <span class="mf">0.500</span><span class="p">]</span>
<span class="o">-</span> <span class="n">Rotation</span><span class="p">:</span> <span class="ow">in</span> <span class="n">RPY</span> <span class="p">(</span><span class="n">radian</span><span class="p">)</span> <span class="p">[</span><span class="o">-</span><span class="mf">1.571</span><span class="p">,</span> <span class="o">-</span><span class="mf">0.000</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.571</span><span class="p">]</span>
<span class="o">-</span> <span class="n">Rotation</span><span class="p">:</span> <span class="ow">in</span> <span class="n">RPY</span> <span class="p">(</span><span class="n">degree</span><span class="p">)</span> <span class="p">[</span><span class="o">-</span><span class="mf">90.000</span><span class="p">,</span> <span class="o">-</span><span class="mf">0.000</span><span class="p">,</span> <span class="o">-</span><span class="mf">90.000</span><span class="p">]</span>
<span class="o">-</span> <span class="n">Matrix</span><span class="p">:</span>
<span class="mf">0.000</span> <span class="mf">0.000</span> <span class="mf">1.000</span> <span class="mf">0.000</span>
<span class="o">-</span><span class="mf">1.000</span> <span class="mf">0.000</span> <span class="mf">0.000</span> <span class="mf">0.000</span>
<span class="mf">0.000</span> <span class="o">-</span><span class="mf">1.000</span> <span class="mf">0.000</span> <span class="mf">0.000</span>
<span class="mf">0.000</span> <span class="mf">0.000</span> <span class="mf">0.000</span> <span class="mf">1.000</span>
</pre></div>
</div>
</section> </section>
<section id="visualizing-tf-tree-with-rviz2"> <section id="visualize-tf-tree-in-rviz2">
<h2><span class="section-number">4.5.2. </span>Visualizing TF Tree with rviz2<a class="headerlink" href="#visualizing-tf-tree-with-rviz2" title="Link to this heading"></a></h2> <h3><span class="section-number">4.4.1.2. </span>Visualize TF Tree in rviz2<a class="headerlink" href="#visualize-tf-tree-in-rviz2" title="Link to this heading"></a></h3>
<p>You can use rviz2 to visualize the TF tree structure and relative positions of coordinate systems in real-time:</p> <p>Use rviz2 to visualize the TF tree and relative frame poses in real time:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rviz2 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rviz2
</pre></div> </pre></div>
</div> </div>
<p>In rviz2:</p> <p>In rviz2:</p>
<ul class="simple"> <ul class="simple">
<li><p>Add the <code class="docutils literal notranslate"><span class="pre">TF</span></code> display plugin</p></li> <li><p>Add the <code class="docutils literal notranslate"><span class="pre">TF</span></code> display plugin</p></li>
<li><p>Configure the Fixed Frame to <code class="docutils literal notranslate"><span class="pre">camera_link</span></code> or <code class="docutils literal notranslate"><span class="pre">camera_depth_optical_frame</span></code></p></li> <li><p>Set the Fixed Frame to <code class="docutils literal notranslate"><span class="pre">camera_link</span></code> or <code class="docutils literal notranslate"><span class="pre">camera_depth_optical_frame</span></code></p></li>
<li><p>Select the TF frames to display</p></li> <li><p>Select which TF frames to display</p></li>
</ul> </ul>
<p><img alt="image-20251027140652727" src="../../_images/image5.png" /></p> <p><img alt="image-20251027140652727" src="../../_images/image5.png" /></p>
</section> </section>
</section> </section>
<section id="camera-tf-calculation-and-publishing-mechanism"> <section id="camera-tf-calculation-and-publishing-mechanism">
<h1><span class="section-number">4.6. </span>Camera TF Calculation and Publishing Mechanism<a class="headerlink" href="#camera-tf-calculation-and-publishing-mechanism" title="Link to this heading"></a></h1> <h2><span class="section-number">4.4.2. </span>Camera TF Calculation and Publishing Mechanism<a class="headerlink" href="#camera-tf-calculation-and-publishing-mechanism" title="Link to this heading"></a></h2>
<section id="core-function-obcameranode-calcandpublishstatictransform"> <section id="core-function-obcameranode-calcandpublishstatictransform">
<h2><span class="section-number">4.6.1. </span>Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code><a class="headerlink" href="#core-function-obcameranode-calcandpublishstatictransform" title="Link to this heading"></a></h2> <h3><span class="section-number">4.4.2.1. </span>Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code><a class="headerlink" href="#core-function-obcameranode-calcandpublishstatictransform" title="Link to this heading"></a></h3>
<p>The camera node calculates and publishes static transformation relationships between all sensors through this function. Below is a detailed explanation of the code:</p> <p>The camera node uses this function to calculate and publish all static transforms between sensors.</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span><span class="w"> </span><span class="nf">OBCameraNode::calcAndPublishStaticTransform</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">tf2</span><span class="o">::</span><span class="n">Quaternion</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">,</span><span class="w"> </span><span class="n">zero_rot</span><span class="p">;</span>
<span class="w"> </span><span class="n">zero_rot</span><span class="p">.</span><span class="n">setRPY</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">);</span>
<span class="w"> </span><span class="n">quaternion_optical</span><span class="p">.</span><span class="n">setRPY</span><span class="p">(</span><span class="o">-</span><span class="n">M_PI</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="n">M_PI</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="w"> </span><span class="n">tf2</span><span class="o">::</span><span class="n">Vector3</span><span class="w"> </span><span class="n">zero_trans</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">];</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">device_info</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">device_</span><span class="o">-&gt;</span><span class="n">getDeviceInfo</span><span class="p">();</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">device_info</span><span class="p">);</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">pid</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">device_info</span><span class="o">-&gt;</span><span class="n">getPid</span><span class="p">();</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">base_stream_profile</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Failed to get base stream profile&quot;</span><span class="p">);</span>
<span class="w"> </span><span class="k">return</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">base_stream_profile</span><span class="p">.</span><span class="n">get</span><span class="p">());</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="o">&amp;</span><span class="n">item</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">stream_profile_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">stream_index</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">item</span><span class="p">.</span><span class="n">first</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">stream_profile</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">item</span><span class="p">.</span><span class="n">second</span><span class="p">;</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">stream_profile</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">continue</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">base_stream_profile</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">ob</span><span class="o">::</span><span class="n">Error</span><span class="w"> </span><span class="o">&amp;</span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Failed to get &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">stream_name_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]</span>
<span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; extrinsic: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OBExtrinsic</span><span class="p">({{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">}});</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rotationMatrixToQuaternion</span><span class="p">(</span><span class="n">ex</span><span class="p">.</span><span class="n">rot</span><span class="p">);</span>
<span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">.</span><span class="n">inverse</span><span class="p">();</span>
<span class="w"> </span><span class="n">tf2</span><span class="o">::</span><span class="n">Vector3</span><span class="w"> </span><span class="n">trans</span><span class="p">(</span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">timestamp</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">node_</span><span class="o">-&gt;</span><span class="n">now</span><span class="p">();</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">stream_index</span><span class="p">.</span><span class="n">first</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">base_stream_</span><span class="p">.</span><span class="n">first</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">stream_index</span><span class="p">.</span><span class="n">first</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OB_STREAM_IR_RIGHT</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">base_stream_</span><span class="p">.</span><span class="n">first</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OB_STREAM_DEPTH</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">abs</span><span class="p">(</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]);</span><span class="w"> </span><span class="c1">// because left and right ir calibration is error</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">publishStaticTF</span><span class="p">(</span><span class="n">timestamp</span><span class="p">,</span><span class="w"> </span><span class="n">trans</span><span class="p">,</span><span class="w"> </span><span class="n">Q</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">],</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">publishStaticTF</span><span class="p">(</span><span class="n">timestamp</span><span class="p">,</span><span class="w"> </span><span class="n">zero_trans</span><span class="p">,</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">],</span>
<span class="w"> </span><span class="n">optical_frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]);</span>
<span class="w"> </span><span class="n">RCLCPP_INFO_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Publishing static transform from &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">stream_name_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]</span>
<span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; to &quot;</span>
<span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">stream_name_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">]);</span>
<span class="w"> </span><span class="n">RCLCPP_INFO_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Translation &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;, &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">trans</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;, &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">trans</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
<span class="w"> </span><span class="n">RCLCPP_INFO_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Rotation &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">Q</span><span class="p">.</span><span class="n">getX</span><span class="p">()</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;, &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">Q</span><span class="p">.</span><span class="n">getY</span><span class="p">()</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;, &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">Q</span><span class="p">.</span><span class="n">getZ</span><span class="p">()</span>
<span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;, &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">Q</span><span class="p">.</span><span class="n">getW</span><span class="p">());</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">((</span><span class="n">pid</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">FEMTO_BOLT_PID</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">pid</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">FEMTO_MEGA_PID</span><span class="p">)</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span>
<span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="c1">// calc depth to color</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]);</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">depth_to_color_extrinsics</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]);</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rotationMatrixToQuaternion</span><span class="p">(</span><span class="n">depth_to_color_extrinsics</span><span class="p">.</span><span class="n">rot</span><span class="p">);</span>
<span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">.</span><span class="n">inverse</span><span class="p">();</span>
<span class="w"> </span><span class="n">publishStaticTF</span><span class="p">(</span><span class="n">node_</span><span class="o">-&gt;</span><span class="n">now</span><span class="p">(),</span><span class="w"> </span><span class="n">zero_trans</span><span class="p">,</span><span class="w"> </span><span class="n">Q</span><span class="p">,</span><span class="w"> </span><span class="n">camera_link_frame_id_</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">publishStaticTF</span><span class="p">(</span><span class="n">node_</span><span class="o">-&gt;</span><span class="n">now</span><span class="p">(),</span><span class="w"> </span><span class="n">zero_trans</span><span class="p">,</span><span class="w"> </span><span class="n">zero_rot</span><span class="p">,</span><span class="w"> </span><span class="n">camera_link_frame_id_</span><span class="p">,</span>
<span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">frame_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;depth_to_color_extrinsics&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">ob</span><span class="o">::</span><span class="n">Error</span><span class="w"> </span><span class="o">&amp;</span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span>
<span class="w"> </span><span class="s">&quot;Failed to get &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">frame_id</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; extrinsic: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OBExtrinsic</span><span class="p">({{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">}});</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id</span><span class="p">);</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]);</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]</span><span class="o">-&gt;</span><span class="n">publish</span><span class="p">(</span><span class="n">ex_msg</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">INFRA0</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">frame_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;depth_to_ir_extrinsics&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">INFRA0</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">ob</span><span class="o">::</span><span class="n">Error</span><span class="w"> </span><span class="o">&amp;</span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span>
<span class="w"> </span><span class="s">&quot;Failed to get &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">frame_id</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; extrinsic: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OBExtrinsic</span><span class="p">({{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">}});</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_</span><span class="p">[</span><span class="n">INFRA0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id</span><span class="p">);</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">INFRA0</span><span class="p">]);</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">INFRA0</span><span class="p">]</span><span class="o">-&gt;</span><span class="n">publish</span><span class="p">(</span><span class="n">ex_msg</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">INFRA1</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">frame_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;depth_to_left_ir_extrinsics&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">INFRA1</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">ob</span><span class="o">::</span><span class="n">Error</span><span class="w"> </span><span class="o">&amp;</span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span>
<span class="w"> </span><span class="s">&quot;Failed to get &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">frame_id</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; extrinsic: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OBExtrinsic</span><span class="p">({{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">}});</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_</span><span class="p">[</span><span class="n">INFRA1</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id</span><span class="p">);</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">INFRA1</span><span class="p">]);</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">INFRA1</span><span class="p">]</span><span class="o">-&gt;</span><span class="n">publish</span><span class="p">(</span><span class="n">ex_msg</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">INFRA2</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">frame_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;depth_to_right_ir_extrinsics&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">INFRA2</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">ob</span><span class="o">::</span><span class="n">Error</span><span class="w"> </span><span class="o">&amp;</span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span>
<span class="w"> </span><span class="s">&quot;Failed to get &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">frame_id</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; extrinsic: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OBExtrinsic</span><span class="p">({{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">}});</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">-</span><span class="n">std</span><span class="o">::</span><span class="n">abs</span><span class="p">(</span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]);</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_</span><span class="p">[</span><span class="n">INFRA2</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id</span><span class="p">);</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">INFRA2</span><span class="p">]);</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">INFRA2</span><span class="p">]</span><span class="o">-&gt;</span><span class="n">publish</span><span class="p">(</span><span class="n">ex_msg</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">ACCEL</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">frame_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;depth_to_accel_extrinsics&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">ACCEL</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">ob</span><span class="o">::</span><span class="n">Error</span><span class="w"> </span><span class="o">&amp;</span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span>
<span class="w"> </span><span class="s">&quot;Failed to get &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">frame_id</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; extrinsic: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OBExtrinsic</span><span class="p">({{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">}});</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_</span><span class="p">[</span><span class="n">ACCEL</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id</span><span class="p">);</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">ACCEL</span><span class="p">]);</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">ACCEL</span><span class="p">]</span><span class="o">-&gt;</span><span class="n">publish</span><span class="p">(</span><span class="n">ex_msg</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">GYRO</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">frame_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;depth_to_gyro_extrinsics&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">GYRO</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">ob</span><span class="o">::</span><span class="n">Error</span><span class="w"> </span><span class="o">&amp;</span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span>
<span class="w"> </span><span class="s">&quot;Failed to get &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">frame_id</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; extrinsic: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OBExtrinsic</span><span class="p">({{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">}});</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_</span><span class="p">[</span><span class="n">GYRO</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id</span><span class="p">);</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">GYRO</span><span class="p">]);</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">GYRO</span><span class="p">]</span><span class="o">-&gt;</span><span class="n">publish</span><span class="p">(</span><span class="n">ex_msg</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_sync_output_accel_gyro_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">tf2</span><span class="o">::</span><span class="n">Quaternion</span><span class="w"> </span><span class="n">zero_rot</span><span class="p">;</span>
<span class="w"> </span><span class="n">zero_rot</span><span class="p">.</span><span class="n">setRPY</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">);</span>
<span class="w"> </span><span class="n">tf2</span><span class="o">::</span><span class="n">Vector3</span><span class="w"> </span><span class="n">zero_trans</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="w"> </span><span class="n">publishStaticTF</span><span class="p">(</span><span class="n">node_</span><span class="o">-&gt;</span><span class="n">now</span><span class="p">(),</span><span class="w"> </span><span class="n">zero_trans</span><span class="p">,</span><span class="w"> </span><span class="n">zero_rot</span><span class="p">,</span><span class="w"> </span><span class="n">optical_frame_id_</span><span class="p">[</span><span class="n">GYRO</span><span class="p">],</span>
<span class="w"> </span><span class="n">accel_gyro_frame_id_</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="p">}</span>
</pre></div>
</div>
</section> </section>
<section id="quaternion-initialization-and-coordinate-system-transformation"> <section id="function-breakdown">
<h2><span class="section-number">4.6.2. </span>Quaternion Initialization and Coordinate System Transformation<a class="headerlink" href="#quaternion-initialization-and-coordinate-system-transformation" title="Link to this heading"></a></h2> <h3><span class="section-number">4.4.2.2. </span>Function Breakdown<a class="headerlink" href="#function-breakdown" title="Link to this heading"></a></h3>
<p>Detailed explanation of the code:</p>
<p><strong>Quaternion Initialization and Coordinate Transform</strong></p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">tf2</span><span class="o">::</span><span class="n">Quaternion</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">,</span><span class="w"> </span><span class="n">zero_rot</span><span class="p">;</span> <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">tf2</span><span class="o">::</span><span class="n">Quaternion</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">,</span><span class="w"> </span><span class="n">zero_rot</span><span class="p">;</span>
<span class="n">zero_rot</span><span class="p">.</span><span class="n">setRPY</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">);</span> <span class="n">zero_rot</span><span class="p">.</span><span class="n">setRPY</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">);</span>
<span class="n">quaternion_optical</span><span class="p">.</span><span class="n">setRPY</span><span class="p">(</span><span class="o">-</span><span class="n">M_PI</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="n">M_PI</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span> <span class="n">quaternion_optical</span><span class="p">.</span><span class="n">setRPY</span><span class="p">(</span><span class="o">-</span><span class="n">M_PI</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="n">M_PI</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>Explanation:</strong></p>
<ul class="simple"> <ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">quaternion_optical</span></code>: Defines the rotation transformation from the optical coordinate system to the ROS standard coordinate system (90-degree rotation)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">quaternion_optical</span></code>: Defines the rotation from optical coordinates to ROS standard (90° rotation)</p></li>
<li><p>This rotation converts the camera optical coordinate system (X right, Y down, Z forward) to the ROS standard coordinate system (X forward, Y left, Z up)</p></li> <li><p>Converts camera optical CS (X right, Y down, Z forward) to ROS CS (X forward, Y left, Z up)</p></li>
</ul> </ul>
</section> <p><strong>Get Device Info and Base Stream</strong></p>
<section id="obtaining-device-information-and-base-stream">
<h2><span class="section-number">4.6.3. </span>Obtaining Device Information and Base Stream<a class="headerlink" href="#obtaining-device-information-and-base-stream" title="Link to this heading"></a></h2>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">auto</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">];</span> <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">auto</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">];</span>
<span class="k">auto</span><span class="w"> </span><span class="n">device_info</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">device_</span><span class="o">-&gt;</span><span class="n">getDeviceInfo</span><span class="p">();</span> <span class="k">auto</span><span class="w"> </span><span class="n">device_info</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">device_</span><span class="o">-&gt;</span><span class="n">getDeviceInfo</span><span class="p">();</span>
<span class="c1">// The base stream is typically the DEPTH stream</span> <span class="c1">// Base stream usually DEPTH</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>Explanation:</strong></p>
<ul class="simple"> <ul class="simple">
<li><p>A base stream (typically the depth stream) is selected, and all other sensor transformations are calculated relative to this base stream</p></li> <li><p>Choose a base stream (usually depth); all other transforms are relative to it</p></li>
</ul> </ul>
</section> <p><strong>Iterate Streams and Compute Relative Transforms</strong></p>
<section id="iterating-through-all-streams-and-calculating-relative-transformations">
<h2><span class="section-number">4.6.4. </span>Iterating Through All Streams and Calculating Relative Transformations<a class="headerlink" href="#iterating-through-all-streams-and-calculating-relative-transformations" title="Link to this heading"></a></h2>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="o">&amp;</span><span class="n">item</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">stream_profile_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="o">&amp;</span><span class="n">item</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">stream_profile_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">stream_index</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">item</span><span class="p">.</span><span class="n">first</span><span class="p">;</span> <span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">stream_index</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">item</span><span class="p">.</span><span class="n">first</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">stream_profile</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">item</span><span class="p">.</span><span class="n">second</span><span class="p">;</span> <span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">stream_profile</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">item</span><span class="p">.</span><span class="n">second</span><span class="p">;</span>
<span class="w"> </span><span class="c1">// Get the extrinsics of this stream relative to the base stream</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span> <span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">base_stream_profile</span><span class="p">);</span> <span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">base_stream_profile</span><span class="p">);</span>
<span class="w"> </span><span class="c1">// Convert rotation matrix to quaternion</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rotationMatrixToQuaternion</span><span class="p">(</span><span class="n">ex</span><span class="p">.</span><span class="n">rot</span><span class="p">);</span> <span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rotationMatrixToQuaternion</span><span class="p">(</span><span class="n">ex</span><span class="p">.</span><span class="n">rot</span><span class="p">);</span>
<span class="w"> </span><span class="c1">// Apply optical coordinate system transformation: Q_new = quaternion_optical * Q * quaternion_optical.inverse()</span>
<span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">.</span><span class="n">inverse</span><span class="p">();</span> <span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">.</span><span class="n">inverse</span><span class="p">();</span>
<span class="w"> </span><span class="n">tf2</span><span class="o">::</span><span class="n">Vector3</span><span class="w"> </span><span class="nf">trans</span><span class="p">(</span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span> <span class="w"> </span><span class="n">tf2</span><span class="o">::</span><span class="n">Vector3</span><span class="w"> </span><span class="nf">trans</span><span class="p">(</span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>Explanation:</strong></p>
<ul class="simple"> <ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">OBExtrinsic</span></code> contains the rotation matrix (<code class="docutils literal notranslate"><span class="pre">rot</span></code>) and translation vector (<code class="docutils literal notranslate"><span class="pre">trans</span></code>) between two sensors</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">OBExtrinsic</span></code> holds rotation matrix (<code class="docutils literal notranslate"><span class="pre">rot</span></code>) and translation vector (<code class="docutils literal notranslate"><span class="pre">trans</span></code>)</p></li>
<li><p>Quaternion multiplication applies the optical coordinate system transformation to each sensor’s rotation relationship</p></li> <li><p>Apply optical-to-ROS rotation via quaternion multiplication</p></li>
<li><p>This transformation converts the camera’s native optical coordinate system to the ROS standard coordinate system</p></li>
</ul> </ul>
</section> <p><strong>Publish TF Transforms</strong></p>
<section id="publishing-tf-transformations"> <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">publishStaticTF</span><span class="p">(</span><span class="n">timestamp</span><span class="p">,</span><span class="w"> </span><span class="n">trans</span><span class="p">,</span><span class="w"> </span><span class="n">Q</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">],</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]);</span>
<h2><span class="section-number">4.6.5. </span>Publishing TF Transformations<a class="headerlink" href="#publishing-tf-transformations" title="Link to this heading"></a></h2>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="c1">// Publish the transformation from sensor to base stream (in ROS coordinate system)</span>
<span class="n">publishStaticTF</span><span class="p">(</span><span class="n">timestamp</span><span class="p">,</span><span class="w"> </span><span class="n">trans</span><span class="p">,</span><span class="w"> </span><span class="n">Q</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">],</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]);</span>
<span class="c1">// Publish the transformation from physical frame to its optical frame</span>
<span class="n">publishStaticTF</span><span class="p">(</span><span class="n">timestamp</span><span class="p">,</span><span class="w"> </span><span class="n">zero_trans</span><span class="p">,</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">],</span> <span class="n">publishStaticTF</span><span class="p">(</span><span class="n">timestamp</span><span class="p">,</span><span class="w"> </span><span class="n">zero_trans</span><span class="p">,</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">],</span>
<span class="w"> </span><span class="n">optical_frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]);</span> <span class="w"> </span><span class="n">optical_frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]);</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>Explanation:</strong></p>
<ul class="simple"> <ul class="simple">
<li><p>First <code class="docutils literal notranslate"><span class="pre">publishStaticTF</span></code>: Publishes the transformation from the base stream to the current sensor (translation + rotation)</p></li> <li><p>First: base stream to sensor (translation + rotation)</p></li>
<li><p>Second <code class="docutils literal notranslate"><span class="pre">publishStaticTF</span></code>: Publishes the transformation from physical frame to optical frame (pure rotation, no translation)</p></li> <li><p>Second: sensor frame to optical frame (pure rotation)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">frame_id_[stream_index]</span></code>: Physical coordinate system frame name (e.g., <code class="docutils literal notranslate"><span class="pre">camera_depth_frame</span></code>)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">optical_frame_id_[stream_index]</span></code>: Optical coordinate system frame name (e.g., <code class="docutils literal notranslate"><span class="pre">camera_depth_optical_frame</span></code>)</p></li>
</ul> </ul>
</section> <p><strong>Special Handling for Left/Right IR</strong></p>
<section id="special-handling-for-left-and-right-ir-cameras">
<h2><span class="section-number">4.6.6. </span>Special Handling for Left and Right IR Cameras<a class="headerlink" href="#special-handling-for-left-and-right-ir-cameras" title="Link to this heading"></a></h2>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">stream_index</span><span class="p">.</span><span class="n">first</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OB_STREAM_IR_RIGHT</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">base_stream_</span><span class="p">.</span><span class="n">first</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OB_STREAM_DEPTH</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">stream_index</span><span class="p">.</span><span class="n">first</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OB_STREAM_IR_RIGHT</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">base_stream_</span><span class="p">.</span><span class="n">first</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OB_STREAM_DEPTH</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">abs</span><span class="p">(</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]);</span> <span class="w"> </span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">abs</span><span class="p">(</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]);</span>
<span class="p">}</span> <span class="p">}</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>Explanation:</strong></p>
<ul class="simple"> <ul class="simple">
<li><p>Left and right IR cameras are symmetric about the center plane in the device coordinate system</p></li> <li><p>Ensures symmetry consistency between left/right IR cameras</p></li>
<li><p>Using <code class="docutils literal notranslate"><span class="pre">abs()</span></code> ensures the X-axis offset is positive, maintaining geometric consistency</p></li>
</ul> </ul>
</section> <p><strong>Publish Depth-to-Other Extrinsics</strong></p>
<section id="publishing-extrinsics-from-depth-to-other-sensors">
<h2><span class="section-number">4.6.7. </span>Publishing Extrinsics from Depth to Other Sensors<a class="headerlink" href="#publishing-extrinsics-from-depth-to-other-sensors" title="Link to this heading"></a></h2>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]);</span> <span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]);</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;depth_to_color_extrinsics&quot;</span><span class="p">);</span> <span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;depth_to_color_extrinsics&quot;</span><span class="p">);</span>
@@ -508,12 +672,11 @@
<span class="p">}</span> <span class="p">}</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>Explanation:</strong></p>
<ul class="simple"> <ul class="simple">
<li><p>In addition to publishing transformation relationships through TF, raw extrinsic parameters are also published through custom topics</p></li> <li><p>Publishes raw extrinsics via topic for advanced alignment and registration</p></li>
<li><p>This allows users to directly access the camera’s intrinsic and extrinsic parameters for high-precision point cloud alignment and depth-color registration</p></li>
</ul> </ul>
</section> </section>
</section>
</section> </section>
@@ -521,14 +684,14 @@
</div> </div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="topics.html" class="btn btn-neutral float-left" title="4.3. Available Topics" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="topics.html" class="btn btn-neutral float-left" title="4.3. Available Topics" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="camera_sensor_structure.html" class="btn btn-neutral float-right" title="4.7. Camera sensor structure" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="camera_sensor_structure.html" class="btn btn-neutral float-right" title="4.5. Camera sensor structure" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div> </div>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -1002,7 +999,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+31 -34
View File
@@ -6,7 +6,7 @@
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>4.10. Enabling and Visualizing Point Cloud in ROS 2 &mdash; OrbbecSDK V2 ROS2 Wrapper documentation</title> <title>4.8. Enabling and Visualizing Point Cloud in ROS 2 &mdash; OrbbecSDK V2 ROS2 Wrapper documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" /> <link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" />
@@ -22,7 +22,7 @@
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" /> <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="5. Advanced Guide" href="../5_advanced_guide/advanced_guide.html" /> <link rel="next" title="5. Advanced Guide" href="../5_advanced_guide/advanced_guide.html" />
<link rel="prev" title="4.9. Compressed Image" href="compressed_image.html" /> <link rel="prev" title="4.7. Compressed Image" href="compressed_image.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -352,7 +349,7 @@
<ul class="wy-breadcrumbs"> <ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li> <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>Application Guide</a></li> <li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>Application Guide</a></li>
<li class="breadcrumb-item active"><span class="section-number">4.10. </span>Enabling and Visualizing Point Cloud in ROS 2</li> <li class="breadcrumb-item active"><span class="section-number">4.8. </span>Enabling and Visualizing Point Cloud in ROS 2</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
<a href="../../_sources/source/4_application_guide/point_cloud.md.txt" rel="nofollow"> View page source</a> <a href="../../_sources/source/4_application_guide/point_cloud.md.txt" rel="nofollow"> View page source</a>
</li> </li>
@@ -363,19 +360,19 @@
<div itemprop="articleBody"> <div itemprop="articleBody">
<div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">中文</a> | <a class="lang-current" href="#">English</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="enabling-and-visualizing-point-cloud-in-ros-2"> <div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">中文</a> | <a class="lang-current" href="#">English</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="enabling-and-visualizing-point-cloud-in-ros-2">
<h1><span class="section-number">4.10. </span>Enabling and Visualizing Point Cloud in ROS 2<a class="headerlink" href="#enabling-and-visualizing-point-cloud-in-ros-2" title="Link to this heading"></a></h1> <h1><span class="section-number">4.8. </span>Enabling and Visualizing Point Cloud in ROS 2<a class="headerlink" href="#enabling-and-visualizing-point-cloud-in-ros-2" title="Link to this heading"></a></h1>
<p>This section demonstrates how to enable point cloud data output from the camera node and visualize it using RViz2.</p> <p>This section demonstrates how to enable point cloud data output from the camera node and visualize it using RViz2.</p>
<section id="enabling-depth-point-cloud"> <section id="enabling-depth-point-cloud">
<h2><span class="section-number">4.10.1. </span>Enabling Depth Point Cloud<a class="headerlink" href="#enabling-depth-point-cloud" title="Link to this heading"></a></h2> <h2><span class="section-number">4.8.1. </span>Enabling Depth Point Cloud<a class="headerlink" href="#enabling-depth-point-cloud" title="Link to this heading"></a></h2>
<section id="command-to-enable-depth-point-cloud"> <section id="command-to-enable-depth-point-cloud">
<h3><span class="section-number">4.10.1.1. </span>Command to Enable Depth Point Cloud<a class="headerlink" href="#command-to-enable-depth-point-cloud" title="Link to this heading"></a></h3> <h3><span class="section-number">4.8.1.1. </span>Command to Enable Depth Point Cloud<a class="headerlink" href="#command-to-enable-depth-point-cloud" title="Link to this heading"></a></h3>
<p>To activate the point cloud data stream for depth information, use the following command:</p> <p>To activate the point cloud data stream for depth information, use the following command:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>launch<span class="w"> </span>orbbec_camera<span class="w"> </span>gemini_330_series.launch.py<span class="w"> </span>enable_point_cloud:<span class="o">=</span><span class="nb">true</span> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>launch<span class="w"> </span>orbbec_camera<span class="w"> </span>gemini_330_series.launch.py<span class="w"> </span>enable_point_cloud:<span class="o">=</span><span class="nb">true</span>
</pre></div> </pre></div>
</div> </div>
</section> </section>
<section id="visualizing-depth-point-cloud-in-rviz2"> <section id="visualizing-depth-point-cloud-in-rviz2">
<h3><span class="section-number">4.10.1.2. </span>Visualizing Depth Point Cloud in RViz2<a class="headerlink" href="#visualizing-depth-point-cloud-in-rviz2" title="Link to this heading"></a></h3> <h3><span class="section-number">4.8.1.2. </span>Visualizing Depth Point Cloud in RViz2<a class="headerlink" href="#visualizing-depth-point-cloud-in-rviz2" title="Link to this heading"></a></h3>
<p>After running the above command, perform the following steps to visualize the depth point cloud:</p> <p>After running the above command, perform the following steps to visualize the depth point cloud:</p>
<ol class="simple"> <ol class="simple">
<li><p>Open RViz2.</p></li> <li><p>Open RViz2.</p></li>
@@ -391,16 +388,16 @@
</section> </section>
</section> </section>
<section id="enabling-colored-point-cloud"> <section id="enabling-colored-point-cloud">
<h2><span class="section-number">4.10.2. </span>Enabling Colored Point Cloud<a class="headerlink" href="#enabling-colored-point-cloud" title="Link to this heading"></a></h2> <h2><span class="section-number">4.8.2. </span>Enabling Colored Point Cloud<a class="headerlink" href="#enabling-colored-point-cloud" title="Link to this heading"></a></h2>
<section id="command-to-enable-colored-point-cloud"> <section id="command-to-enable-colored-point-cloud">
<h3><span class="section-number">4.10.2.1. </span>Command to Enable Colored Point Cloud<a class="headerlink" href="#command-to-enable-colored-point-cloud" title="Link to this heading"></a></h3> <h3><span class="section-number">4.8.2.1. </span>Command to Enable Colored Point Cloud<a class="headerlink" href="#command-to-enable-colored-point-cloud" title="Link to this heading"></a></h3>
<p>To enable the colored point cloud feature, enter the following command:</p> <p>To enable the colored point cloud feature, enter the following command:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>launch<span class="w"> </span>orbbec_camera<span class="w"> </span>gemini_330_series.launch.py<span class="w"> </span>enable_colored_point_cloud:<span class="o">=</span><span class="nb">true</span> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>launch<span class="w"> </span>orbbec_camera<span class="w"> </span>gemini_330_series.launch.py<span class="w"> </span>enable_colored_point_cloud:<span class="o">=</span><span class="nb">true</span>
</pre></div> </pre></div>
</div> </div>
</section> </section>
<section id="visualizing-colored-point-cloud-in-rviz2"> <section id="visualizing-colored-point-cloud-in-rviz2">
<h3><span class="section-number">4.10.2.2. </span>Visualizing Colored Point Cloud in RViz2<a class="headerlink" href="#visualizing-colored-point-cloud-in-rviz2" title="Link to this heading"></a></h3> <h3><span class="section-number">4.8.2.2. </span>Visualizing Colored Point Cloud in RViz2<a class="headerlink" href="#visualizing-colored-point-cloud-in-rviz2" title="Link to this heading"></a></h3>
<p>To visualize the colored point cloud data:</p> <p>To visualize the colored point cloud data:</p>
<ol class="simple"> <ol class="simple">
<li><p>Launch RViz2 following the command execution.</p></li> <li><p>Launch RViz2 following the command execution.</p></li>
@@ -421,7 +418,7 @@
</div> </div>
</div> </div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="compressed_image.html" class="btn btn-neutral float-left" title="4.9. Compressed Image" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="compressed_image.html" class="btn btn-neutral float-left" title="4.7. Compressed Image" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../5_advanced_guide/advanced_guide.html" class="btn btn-neutral float-right" title="5. Advanced Guide" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="../5_advanced_guide/advanced_guide.html" class="btn btn-neutral float-right" title="5. Advanced Guide" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div> </div>
@@ -429,7 +426,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -645,7 +642,7 @@ ros2<span class="w"> </span>service<span class="w"> </span>call<span class="w">
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -6,7 +6,7 @@
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>4.8. TF from coordinate A to coordinate B: &mdash; OrbbecSDK V2 ROS2 Wrapper documentation</title> <title>4.6. TF from coordinate A to coordinate B: &mdash; OrbbecSDK V2 ROS2 Wrapper documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" /> <link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" />
@@ -21,8 +21,8 @@
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" /> <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="4.9. Compressed Image" href="compressed_image.html" /> <link rel="next" title="4.7. Compressed Image" href="compressed_image.html" />
<link rel="prev" title="4.7. Camera sensor structure" href="camera_sensor_structure.html" /> <link rel="prev" title="4.5. Camera sensor structure" href="camera_sensor_structure.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -352,7 +349,7 @@
<ul class="wy-breadcrumbs"> <ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li> <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>Application Guide</a></li> <li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>Application Guide</a></li>
<li class="breadcrumb-item active"><span class="section-number">4.8. </span>TF from coordinate A to coordinate B:</li> <li class="breadcrumb-item active"><span class="section-number">4.6. </span>TF from coordinate A to coordinate B:</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
<a href="../../_sources/source/4_application_guide/tf_transformations.md.txt" rel="nofollow"> View page source</a> <a href="../../_sources/source/4_application_guide/tf_transformations.md.txt" rel="nofollow"> View page source</a>
</li> </li>
@@ -363,7 +360,7 @@
<div itemprop="articleBody"> <div itemprop="articleBody">
<div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">中文</a> | <a class="lang-current" href="#">English</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="tf-from-coordinate-a-to-coordinate-b"> <div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">中文</a> | <a class="lang-current" href="#">English</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="tf-from-coordinate-a-to-coordinate-b">
<h1><span class="section-number">4.8. </span>TF from coordinate A to coordinate B:<a class="headerlink" href="#tf-from-coordinate-a-to-coordinate-b" title="Link to this heading"></a></h1> <h1><span class="section-number">4.6. </span>TF from coordinate A to coordinate B:<a class="headerlink" href="#tf-from-coordinate-a-to-coordinate-b" title="Link to this heading"></a></h1>
<p>In Orbbec cameras, the origin point (0,0,0) is taken from the camera_link position</p> <p>In Orbbec cameras, the origin point (0,0,0) is taken from the camera_link position</p>
<p>Our wrapper provide static TFs between each sensor coordinate to the camera base (camera_link)</p> <p>Our wrapper provide static TFs between each sensor coordinate to the camera base (camera_link)</p>
<p>Also, it provides TFs from each sensor ROS coordinates to its corrosponding optical coordinates.</p> <p>Also, it provides TFs from each sensor ROS coordinates to its corrosponding optical coordinates.</p>
@@ -378,15 +375,15 @@
</div> </div>
</div> </div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="camera_sensor_structure.html" class="btn btn-neutral float-left" title="4.7. Camera sensor structure" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="camera_sensor_structure.html" class="btn btn-neutral float-left" title="4.5. Camera sensor structure" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="compressed_image.html" class="btn btn-neutral float-right" title="4.9. Compressed Image" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="compressed_image.html" class="btn btn-neutral float-right" title="4.7. Compressed Image" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div> </div>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+22 -25
View File
@@ -21,7 +21,7 @@
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" /> <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="4.4. ROS2 Robot vs Camera Optical Coordination Systems" href="coordinate_systems.html" /> <link rel="next" title="4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System" href="coordinate_systems.html" />
<link rel="prev" title="4.2. All available services for camera control" href="services.html" /> <link rel="prev" title="4.2. All available services for camera control" href="services.html" />
</head> </head>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -487,14 +484,14 @@
</div> </div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="services.html" class="btn btn-neutral float-left" title="4.2. All available services for camera control" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="services.html" class="btn btn-neutral float-left" title="4.2. All available services for camera control" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="coordinate_systems.html" class="btn btn-neutral float-right" title="4.4. ROS2 Robot vs Camera Optical Coordination Systems" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="coordinate_systems.html" class="btn btn-neutral float-right" title="4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div> </div>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+22 -25
View File
@@ -22,7 +22,7 @@
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" /> <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="5.1.1. Reducing CPU Usage with Orbbec ROS Package" href="performance/lower_cpu_usage.html" /> <link rel="next" title="5.1.1. Reducing CPU Usage with Orbbec ROS Package" href="performance/lower_cpu_usage.html" />
<link rel="prev" title="4.10. Enabling and Visualizing Point Cloud in ROS 2" href="../4_application_guide/point_cloud.html" /> <link rel="prev" title="4.8. Enabling and Visualizing Point Cloud in ROS 2" href="../4_application_guide/point_cloud.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -463,7 +460,7 @@
</div> </div>
</div> </div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="../4_application_guide/point_cloud.html" class="btn btn-neutral float-left" title="4.10. Enabling and Visualizing Point Cloud in ROS 2" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="../4_application_guide/point_cloud.html" class="btn btn-neutral float-left" title="4.8. Enabling and Visualizing Point Cloud in ROS 2" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="performance/lower_cpu_usage.html" class="btn btn-neutral float-right" title="5.1.1. Reducing CPU Usage with Orbbec ROS Package" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="performance/lower_cpu_usage.html" class="btn btn-neutral float-right" title="5.1.1. Reducing CPU Usage with Orbbec ROS Package" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div> </div>
@@ -471,7 +468,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -413,7 +410,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -390,7 +387,7 @@ resolutions is as follows:</p>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -408,7 +405,7 @@ modify it, you can switch to the corresponding mode as needed.</p></li>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -469,7 +466,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -433,7 +430,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -472,7 +469,7 @@ net_device_port:<span class="o">=</span><span class="m">8090</span>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -420,7 +417,7 @@ parameter.</p>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -440,7 +437,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -468,7 +465,7 @@ by running the following command:</p></li>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -456,7 +453,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -524,7 +521,7 @@ python3<span class="w"> </span>SyncFramesMain.py
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -410,7 +407,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -515,7 +512,7 @@ reliability of the Orbbec camera system in a ROS2 environment.</p>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -568,7 +565,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -401,7 +398,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -394,7 +391,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -497,7 +494,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -408,7 +405,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -431,7 +428,7 @@ ros2<span class="w"> </span>run<span class="w"> </span>orbbec_camera<span class=
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -415,7 +412,7 @@ bash<span class="w"> </span>.make_deb.sh
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -394,7 +391,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -1210,7 +1207,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -149,34 +149,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -415,7 +412,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -148,34 +148,31 @@
<li class="toctree-l3"><a class="reference internal" href="4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li> <li class="toctree-l3"><a class="reference internal" href="4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="4_application_guide/coordinate_systems.html">4.4. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a><ul>
<li class="toctree-l2"><a class="reference internal" href="4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.5. Using ROS2 TF Tools</a><ul> <li class="toctree-l3"><a class="reference internal" href="4_application_guide/coordinate_systems.html#using-ros2-tf-tools">4.4.1. Using ROS2 TF Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="4_application_guide/coordinate_systems.html#viewing-the-tf-tree-structure">4.5.1. Viewing the TF Tree Structure</a></li> <li class="toctree-l4"><a class="reference internal" href="4_application_guide/coordinate_systems.html#view-tf-tree-structure">4.4.1.1. View TF Tree Structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="4_application_guide/coordinate_systems.html#visualizing-tf-tree-with-rviz2">4.5.2. Visualizing TF Tree with rviz2</a></li> <li class="toctree-l4"><a class="reference internal" href="4_application_guide/coordinate_systems.html#visualize-tf-tree-in-rviz2">4.4.1.2. Visualize TF Tree in rviz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.6. Camera TF Calculation and Publishing Mechanism</a><ul> <li class="toctree-l3"><a class="reference internal" href="4_application_guide/coordinate_systems.html#camera-tf-calculation-and-publishing-mechanism">4.4.2. Camera TF Calculation and Publishing Mechanism</a><ul>
<li class="toctree-l3"><a class="reference internal" href="4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.6.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="4_application_guide/coordinate_systems.html#core-function-obcameranode-calcandpublishstatictransform">4.4.2.1. Core Function: <code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="4_application_guide/coordinate_systems.html#quaternion-initialization-and-coordinate-system-transformation">4.6.2. Quaternion Initialization and Coordinate System Transformation</a></li> <li class="toctree-l4"><a class="reference internal" href="4_application_guide/coordinate_systems.html#function-breakdown">4.4.2.2. Function Breakdown</a></li>
<li class="toctree-l3"><a class="reference internal" href="4_application_guide/coordinate_systems.html#obtaining-device-information-and-base-stream">4.6.3. Obtaining Device Information and Base Stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="4_application_guide/coordinate_systems.html#iterating-through-all-streams-and-calculating-relative-transformations">4.6.4. Iterating Through All Streams and Calculating Relative Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="4_application_guide/coordinate_systems.html#publishing-tf-transformations">4.6.5. Publishing TF Transformations</a></li>
<li class="toctree-l3"><a class="reference internal" href="4_application_guide/coordinate_systems.html#special-handling-for-left-and-right-ir-cameras">4.6.6. Special Handling for Left and Right IR Cameras</a></li>
<li class="toctree-l3"><a class="reference internal" href="4_application_guide/coordinate_systems.html#publishing-extrinsics-from-depth-to-other-sensors">4.6.7. Publishing Extrinsics from Depth to Other Sensors</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="4_application_guide/camera_sensor_structure.html">4.7. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="4_application_guide/tf_transformations.html">4.8. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="4_application_guide/compressed_image.html">4.9. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="4_application_guide/point_cloud.html">4.10. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.10.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.10.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.10.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.10.2. Enabling Colored Point Cloud</a><ul> <li class="toctree-l2"><a class="reference internal" href="4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.10.2.1. Command to Enable Colored Point Cloud</a></li> <li class="toctree-l2"><a class="reference internal" href="4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l4"><a class="reference internal" href="4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.10.2.2. Visualizing Colored Point Cloud in RViz2</a></li> <li class="toctree-l2"><a class="reference internal" href="4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -380,7 +377,7 @@ language governing permissions and limitations under the License.</p>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com.. <p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-28 05:46:53. <span class="lastupdated">Last updated on 2025-10-29 02:21:32.
</span></p> </span></p>
</div> </div>
Binary file not shown.
@@ -1,4 +1,4 @@
### ROS2机器人坐标系 vs 相机光学坐标系 ## ROS2机器人坐标系 vs 相机光学坐标系
* 视角: * 视角:
* 想象我们站在相机后面,向前看。 * 想象我们站在相机后面,向前看。
@@ -33,6 +33,42 @@ ros2 run tf2_tools view_frames
ros2 topic echo /tf_static ros2 topic echo /tf_static
``` ```
**查看指定两个frame之间的TF变换关系:**
使用以下命令可以查看两个特定frame之间的变换关系:
```bash
ros2 run tf2_ros tf2_echo [source_frame] [target_frame]
```
例如,查看从 `camera_link` 到 `camera_depth_optical_frame` 的变换:
```bash
ros2 run tf2_ros tf2_echo camera_link camera_depth_optical_frame
```
此命令会持续输出两个frame之间的实时变换信息,包括:
- 平移 (Translation):x、y、z 坐标(单位:米)
- 旋转 (Rotation):四元数 (x, y, z, w)
- 欧拉角 (RPY):以欧拉角形式表示的旋转
- 齐次变换矩阵 (Transform Matrix):包含旋转和平移信息的 4×4 矩阵
示例输出:
```
At time 0.0
- Translation: [0.000, 0.000, 0.000]
- Rotation: in Quaternion [-0.500, 0.500, -0.500, 0.500]
- Rotation: in RPY (radian) [-1.571, -0.000, -1.571]
- Rotation: in RPY (degree) [-90.000, -0.000, -90.000]
- Matrix:
0.000 0.000 1.000 0.000
-1.000 0.000 0.000 0.000
0.000 -1.000 0.000 0.000
0.000 0.000 0.000 1.000
```
#### 使用rviz2可视化TF树 #### 使用rviz2可视化TF树
在rviz2中可以实时可视化TF树结构和坐标系的相对位置: 在rviz2中可以实时可视化TF树结构和坐标系的相对位置:
@@ -53,9 +89,180 @@ rviz2
#### 核心函数:`OBCameraNode::calcAndPublishStaticTransform()` #### 核心函数:`OBCameraNode::calcAndPublishStaticTransform()`
相机节点通过此函数计算和发布所有传感器之间的静态转换关系。下面是代码的详细解释: 相机节点通过此函数计算和发布所有传感器之间的静态转换关系。
#### 四元数初始化与坐标系变换 ```cpp
void OBCameraNode::calcAndPublishStaticTransform() {
tf2::Quaternion quaternion_optical, zero_rot;
zero_rot.setRPY(0.0, 0.0, 0.0);
quaternion_optical.setRPY(-M_PI / 2, 0.0, -M_PI / 2);
tf2::Vector3 zero_trans(0, 0, 0);
auto base_stream_profile = stream_profile_[base_stream_];
auto device_info = device_->getDeviceInfo();
CHECK_NOTNULL(device_info);
auto pid = device_info->getPid();
if (!base_stream_profile) {
RCLCPP_ERROR_STREAM(logger_, "Failed to get base stream profile");
return;
}
CHECK_NOTNULL(base_stream_profile.get());
for (const auto &item : stream_profile_) {
auto stream_index = item.first;
auto stream_profile = item.second;
if (!stream_profile) {
continue;
}
OBExtrinsic ex;
try {
ex = stream_profile->getExtrinsicTo(base_stream_profile);
} catch (const ob::Error &e) {
RCLCPP_ERROR_STREAM(logger_, "Failed to get " << stream_name_[stream_index]
<< " extrinsic: " << e.getMessage());
ex = OBExtrinsic({{1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0}});
}
auto Q = rotationMatrixToQuaternion(ex.rot);
Q = quaternion_optical * Q * quaternion_optical.inverse();
tf2::Vector3 trans(ex.trans[0], ex.trans[1], ex.trans[2]);
auto timestamp = node_->now();
if (stream_index.first != base_stream_.first) {
if (stream_index.first == OB_STREAM_IR_RIGHT && base_stream_.first == OB_STREAM_DEPTH) {
trans[0] = std::abs(trans[0]); // because left and right ir calibration is error
}
publishStaticTF(timestamp, trans, Q, frame_id_[base_stream_], frame_id_[stream_index]);
}
publishStaticTF(timestamp, zero_trans, quaternion_optical, frame_id_[stream_index],
optical_frame_id_[stream_index]);
RCLCPP_INFO_STREAM(logger_, "Publishing static transform from " << stream_name_[stream_index]
<< " to "
<< stream_name_[base_stream_]);
RCLCPP_INFO_STREAM(logger_, "Translation " << trans[0] << ", " << trans[1] << ", " << trans[2]);
RCLCPP_INFO_STREAM(logger_, "Rotation " << Q.getX() << ", " << Q.getY() << ", " << Q.getZ()
<< ", " << Q.getW());
}
if ((pid == FEMTO_BOLT_PID || pid == FEMTO_MEGA_PID) && enable_stream_[DEPTH] &&
enable_stream_[COLOR] && enable_publish_extrinsic_) {
// calc depth to color
CHECK_NOTNULL(stream_profile_[COLOR]);
auto depth_to_color_extrinsics = base_stream_profile->getExtrinsicTo(stream_profile_[COLOR]);
auto Q = rotationMatrixToQuaternion(depth_to_color_extrinsics.rot);
Q = quaternion_optical * Q * quaternion_optical.inverse();
publishStaticTF(node_->now(), zero_trans, Q, camera_link_frame_id_, frame_id_[base_stream_]);
} else {
publishStaticTF(node_->now(), zero_trans, zero_rot, camera_link_frame_id_,
frame_id_[base_stream_]);
}
if (enable_stream_[DEPTH] && enable_stream_[COLOR] && enable_publish_extrinsic_) {
static const char *frame_id = "depth_to_color_extrinsics";
OBExtrinsic ex;
try {
ex = base_stream_profile->getExtrinsicTo(stream_profile_[COLOR]);
} catch (const ob::Error &e) {
RCLCPP_ERROR_STREAM(logger_,
"Failed to get " << frame_id << " extrinsic: " << e.getMessage());
ex = OBExtrinsic({{1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0}});
}
depth_to_other_extrinsics_[COLOR] = ex;
auto ex_msg = obExtrinsicsToMsg(ex, frame_id);
CHECK_NOTNULL(depth_to_other_extrinsics_publishers_[COLOR]);
depth_to_other_extrinsics_publishers_[COLOR]->publish(ex_msg);
}
if (enable_stream_[DEPTH] && enable_stream_[INFRA0] && enable_publish_extrinsic_) {
static const char *frame_id = "depth_to_ir_extrinsics";
OBExtrinsic ex;
try {
ex = base_stream_profile->getExtrinsicTo(stream_profile_[INFRA0]);
} catch (const ob::Error &e) {
RCLCPP_ERROR_STREAM(logger_,
"Failed to get " << frame_id << " extrinsic: " << e.getMessage());
ex = OBExtrinsic({{1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0}});
}
depth_to_other_extrinsics_[INFRA0] = ex;
auto ex_msg = obExtrinsicsToMsg(ex, frame_id);
CHECK_NOTNULL(depth_to_other_extrinsics_publishers_[INFRA0]);
depth_to_other_extrinsics_publishers_[INFRA0]->publish(ex_msg);
}
if (enable_stream_[DEPTH] && enable_stream_[INFRA1] && enable_publish_extrinsic_) {
static const char *frame_id = "depth_to_left_ir_extrinsics";
OBExtrinsic ex;
try {
ex = base_stream_profile->getExtrinsicTo(stream_profile_[INFRA1]);
} catch (const ob::Error &e) {
RCLCPP_ERROR_STREAM(logger_,
"Failed to get " << frame_id << " extrinsic: " << e.getMessage());
ex = OBExtrinsic({{1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0}});
}
depth_to_other_extrinsics_[INFRA1] = ex;
auto ex_msg = obExtrinsicsToMsg(ex, frame_id);
CHECK_NOTNULL(depth_to_other_extrinsics_publishers_[INFRA1]);
depth_to_other_extrinsics_publishers_[INFRA1]->publish(ex_msg);
}
if (enable_stream_[DEPTH] && enable_stream_[INFRA2] && enable_publish_extrinsic_) {
static const char *frame_id = "depth_to_right_ir_extrinsics";
OBExtrinsic ex;
try {
ex = base_stream_profile->getExtrinsicTo(stream_profile_[INFRA2]);
} catch (const ob::Error &e) {
RCLCPP_ERROR_STREAM(logger_,
"Failed to get " << frame_id << " extrinsic: " << e.getMessage());
ex = OBExtrinsic({{1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0}});
}
ex.trans[0] = -std::abs(ex.trans[0]);
depth_to_other_extrinsics_[INFRA2] = ex;
auto ex_msg = obExtrinsicsToMsg(ex, frame_id);
CHECK_NOTNULL(depth_to_other_extrinsics_publishers_[INFRA2]);
depth_to_other_extrinsics_publishers_[INFRA2]->publish(ex_msg);
}
if (enable_stream_[DEPTH] && enable_stream_[ACCEL] && enable_publish_extrinsic_) {
static const char *frame_id = "depth_to_accel_extrinsics";
OBExtrinsic ex;
try {
ex = base_stream_profile->getExtrinsicTo(stream_profile_[ACCEL]);
} catch (const ob::Error &e) {
RCLCPP_ERROR_STREAM(logger_,
"Failed to get " << frame_id << " extrinsic: " << e.getMessage());
ex = OBExtrinsic({{1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0}});
}
depth_to_other_extrinsics_[ACCEL] = ex;
auto ex_msg = obExtrinsicsToMsg(ex, frame_id);
CHECK_NOTNULL(depth_to_other_extrinsics_publishers_[ACCEL]);
depth_to_other_extrinsics_publishers_[ACCEL]->publish(ex_msg);
}
if (enable_stream_[DEPTH] && enable_stream_[GYRO] && enable_publish_extrinsic_) {
static const char *frame_id = "depth_to_gyro_extrinsics";
OBExtrinsic ex;
try {
ex = base_stream_profile->getExtrinsicTo(stream_profile_[GYRO]);
} catch (const ob::Error &e) {
RCLCPP_ERROR_STREAM(logger_,
"Failed to get " << frame_id << " extrinsic: " << e.getMessage());
ex = OBExtrinsic({{1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0}});
}
depth_to_other_extrinsics_[GYRO] = ex;
auto ex_msg = obExtrinsicsToMsg(ex, frame_id);
CHECK_NOTNULL(depth_to_other_extrinsics_publishers_[GYRO]);
depth_to_other_extrinsics_publishers_[GYRO]->publish(ex_msg);
}
if (enable_sync_output_accel_gyro_) {
tf2::Quaternion zero_rot;
zero_rot.setRPY(0.0, 0.0, 0.0);
tf2::Vector3 zero_trans(0, 0, 0);
publishStaticTF(node_->now(), zero_trans, zero_rot, optical_frame_id_[GYRO],
accel_gyro_frame_id_);
}
}
```
#### 函数解析
下面是代码的详细解释:
**四元数初始化与坐标系变换**
```cpp ```cpp
tf2::Quaternion quaternion_optical, zero_rot; tf2::Quaternion quaternion_optical, zero_rot;
@@ -63,12 +270,10 @@ zero_rot.setRPY(0.0, 0.0, 0.0);
quaternion_optical.setRPY(-M_PI / 2, 0.0, -M_PI / 2); quaternion_optical.setRPY(-M_PI / 2, 0.0, -M_PI / 2);
``` ```
**说明:**
- `quaternion_optical`:定义光学坐标系到ROS标准坐标系的旋转变换(90度旋转) - `quaternion_optical`:定义光学坐标系到ROS标准坐标系的旋转变换(90度旋转)
- 这个旋转将相机光学坐标系(X右、Y下、Z前)转换为ROS标准坐标系(X前、Y左、Z上) - 这个旋转将相机光学坐标系(X右、Y下、Z前)转换为ROS标准坐标系(X前、Y左、Z上)
#### 获取设备信息与基准流 **获取设备信息与基准流**
```cpp ```cpp
auto base_stream_profile = stream_profile_[base_stream_]; auto base_stream_profile = stream_profile_[base_stream_];
@@ -76,11 +281,9 @@ auto device_info = device_->getDeviceInfo();
// 通常基准流是深度流(DEPTH) // 通常基准流是深度流(DEPTH)
``` ```
**说明:**
- 选择一个基准流(通常是深度流),所有其他传感器的变换都相对于这个基准流进行计算 - 选择一个基准流(通常是深度流),所有其他传感器的变换都相对于这个基准流进行计算
#### 遍历所有流并计算相对变换 **遍历所有流并计算相对变换**
```cpp ```cpp
for (const auto &item : stream_profile_) { for (const auto &item : stream_profile_) {
@@ -100,13 +303,11 @@ for (const auto &item : stream_profile_) {
tf2::Vector3 trans(ex.trans[0], ex.trans[1], ex.trans[2]); tf2::Vector3 trans(ex.trans[0], ex.trans[1], ex.trans[2]);
``` ```
**说明:**
- `OBExtrinsic`包含了两个传感器之间的旋转矩阵(`rot`)和平移向量(`trans`) - `OBExtrinsic`包含了两个传感器之间的旋转矩阵(`rot`)和平移向量(`trans`)
- 通过四元数乘法将光学坐标系变换应用到每个传感器的旋转关系中 - 通过四元数乘法将光学坐标系变换应用到每个传感器的旋转关系中
- 这个变换将相机原生的光学坐标系转换为ROS标准坐标系 - 这个变换将相机原生的光学坐标系转换为ROS标准坐标系
#### 发布TF变换 **发布TF变换**
```cpp ```cpp
// 发布传感器到基准流的变换(在ROS坐标系中) // 发布传感器到基准流的变换(在ROS坐标系中)
@@ -117,14 +318,12 @@ publishStaticTF(timestamp, zero_trans, quaternion_optical, frame_id_[stream_inde
optical_frame_id_[stream_index]); optical_frame_id_[stream_index]);
``` ```
**说明:**
- 第一个 `publishStaticTF`:发布从基准流到当前传感器的变换(平移+旋转) - 第一个 `publishStaticTF`:发布从基准流到当前传感器的变换(平移+旋转)
- 第二个 `publishStaticTF`:发布从物理frame到光学frame的变换(纯旋转,无平移) - 第二个 `publishStaticTF`:发布从物理frame到光学frame的变换(纯旋转,无平移)
- `frame_id_[stream_index]`:物理坐标系frame名称(如 `camera_depth_frame`) - `frame_id_[stream_index]`:物理坐标系frame名称(如 `camera_depth_frame`)
- `optical_frame_id_[stream_index]`:光学坐标系frame名称(如 `camera_depth_optical_frame`) - `optical_frame_id_[stream_index]`:光学坐标系frame名称(如 `camera_depth_optical_frame`)
#### 特殊处理左右红外摄像头 **特殊处理左右红外摄像头**
```cpp ```cpp
if (stream_index.first == OB_STREAM_IR_RIGHT && base_stream_.first == OB_STREAM_DEPTH) { if (stream_index.first == OB_STREAM_IR_RIGHT && base_stream_.first == OB_STREAM_DEPTH) {
@@ -132,12 +331,10 @@ if (stream_index.first == OB_STREAM_IR_RIGHT && base_stream_.first == OB_STREAM_
} }
``` ```
**说明:**
- 左右红外摄像头在设备坐标系中关于中心平面对称 - 左右红外摄像头在设备坐标系中关于中心平面对称
- 通过 `abs()`确保X轴偏移为正值,保持几何一致性 - 通过 `abs()`确保X轴偏移为正值,保持几何一致性
#### 发布深度到其他传感器的外参 **发布深度到其他传感器的外参**
```cpp ```cpp
if (enable_stream_[DEPTH] && enable_stream_[COLOR] && enable_publish_extrinsic_) { if (enable_stream_[DEPTH] && enable_stream_[COLOR] && enable_publish_extrinsic_) {
@@ -147,6 +344,4 @@ if (enable_stream_[DEPTH] && enable_stream_[COLOR] && enable_publish_extrinsic_)
} }
``` ```
**说明:**
- 通过TF发布变换关系 - 通过TF发布变换关系
+20 -23
View File
@@ -148,34 +148,31 @@
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -374,7 +371,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+29 -43
View File
@@ -150,34 +150,31 @@
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -432,28 +429,17 @@
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -543,7 +529,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
BIN
View File
Binary file not shown.
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="source/4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="source/4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -382,7 +379,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+1 -1
View File
File diff suppressed because one or more lines are too long
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -687,7 +684,7 @@ thead th {
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -558,7 +555,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -396,7 +393,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -423,7 +420,7 @@ colcon<span class="w"> </span>build<span class="w"> </span>--event-handlers<span
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -389,7 +386,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -387,7 +384,7 @@ sudo<span class="w"> </span>udevadm<span class="w"> </span>control<span class="w
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -460,7 +457,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -465,7 +462,7 @@ ros2<span class="w"> </span>param<span class="w"> </span>list
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -396,7 +393,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -392,28 +389,17 @@
<li class="toctree-l2"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l2"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l1"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l1"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l1"><a class="reference internal" href="camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l1"><a class="reference internal" href="tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l1"><a class="reference internal" href="compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li> <li class="toctree-l1"><a class="reference internal" href="point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li> <li class="toctree-l2"><a class="reference internal" href="point_cloud.html#id1">4.8.1. 启用深度点云</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li> <li class="toctree-l2"><a class="reference internal" href="point_cloud.html#id3">4.8.2. 启用彩色点云</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l1"><a class="reference internal" href="tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l1"><a class="reference internal" href="compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l1"><a class="reference internal" href="point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html#id1">4.10.1. 启用深度点云</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html#id3">4.10.2. 启用彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -432,7 +418,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -6,7 +6,7 @@
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>4.7. 相机传感器结构 &mdash; OrbbecSDK V2 ROS2 封装 文档</title> <title>4.5. 相机传感器结构 &mdash; OrbbecSDK V2 ROS2 封装 文档</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" /> <link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" />
@@ -22,7 +22,7 @@
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="index" title="索引" href="../../genindex.html" /> <link rel="index" title="索引" href="../../genindex.html" />
<link rel="search" title="搜索" href="../../search.html" /> <link rel="search" title="搜索" href="../../search.html" />
<link rel="next" title="4.8. 从坐标系A到坐标系B的TF变换:" href="tf_transformations.html" /> <link rel="next" title="4.6. 从坐标系A到坐标系B的TF变换:" href="tf_transformations.html" />
<link rel="prev" title="4.4. ROS2机器人坐标系 vs 相机光学坐标系" href="coordinate_systems.html" /> <link rel="prev" title="4.4. ROS2机器人坐标系 vs 相机光学坐标系" href="coordinate_systems.html" />
</head> </head>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -353,7 +350,7 @@
<ul class="wy-breadcrumbs"> <ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li> <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>应用指南</a></li> <li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>应用指南</a></li>
<li class="breadcrumb-item active"><span class="section-number">4.7. </span>相机传感器结构</li> <li class="breadcrumb-item active"><span class="section-number">4.5. </span>相机传感器结构</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
<a href="../../_sources/source/4_application_guide/camera_sensor_structure.md.txt" rel="nofollow"> 查看页面源码</a> <a href="../../_sources/source/4_application_guide/camera_sensor_structure.md.txt" rel="nofollow"> 查看页面源码</a>
</li> </li>
@@ -364,7 +361,7 @@
<div itemprop="articleBody"> <div itemprop="articleBody">
<div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">English</a> | <a class="lang-current" href="#">中文</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="id1"> <div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">English</a> | <a class="lang-current" href="#">中文</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="id1">
<h1><span class="section-number">4.7. </span>相机传感器结构<a class="headerlink" href="#id1" title="Link to this heading"></a></h1> <h1><span class="section-number">4.5. </span>相机传感器结构<a class="headerlink" href="#id1" title="Link to this heading"></a></h1>
<p><img alt="module in rviz2" src="../../_images/image3.png" /></p> <p><img alt="module in rviz2" src="../../_images/image3.png" /></p>
<p><img alt="module in rviz2" src="../../_images/image1.png" /></p> <p><img alt="module in rviz2" src="../../_images/image1.png" /></p>
</section> </section>
@@ -374,14 +371,14 @@
</div> </div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="页脚"> <footer><div class="rst-footer-buttons" role="navigation" aria-label="页脚">
<a href="coordinate_systems.html" class="btn btn-neutral float-left" title="4.4. ROS2机器人坐标系 vs 相机光学坐标系" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> 上一页</a> <a href="coordinate_systems.html" class="btn btn-neutral float-left" title="4.4. ROS2机器人坐标系 vs 相机光学坐标系" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> 上一页</a>
<a href="tf_transformations.html" class="btn btn-neutral float-right" title="4.8. 从坐标系A到坐标系B的TF变换:" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="tf_transformations.html" class="btn btn-neutral float-right" title="4.6. 从坐标系A到坐标系B的TF变换:" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div> </div>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -6,7 +6,7 @@
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>4.9. 压缩图像 &mdash; OrbbecSDK V2 ROS2 封装 文档</title> <title>4.7. 压缩图像 &mdash; OrbbecSDK V2 ROS2 封装 文档</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" /> <link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" />
@@ -22,8 +22,8 @@
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="index" title="索引" href="../../genindex.html" /> <link rel="index" title="索引" href="../../genindex.html" />
<link rel="search" title="搜索" href="../../search.html" /> <link rel="search" title="搜索" href="../../search.html" />
<link rel="next" title="4.10. 在ROS 2中启用和可视化点云" href="point_cloud.html" /> <link rel="next" title="4.8. 在ROS 2中启用和可视化点云" href="point_cloud.html" />
<link rel="prev" title="4.8. 从坐标系A到坐标系B的TF变换:" href="tf_transformations.html" /> <link rel="prev" title="4.6. 从坐标系A到坐标系B的TF变换:" href="tf_transformations.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -353,7 +350,7 @@
<ul class="wy-breadcrumbs"> <ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li> <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>应用指南</a></li> <li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>应用指南</a></li>
<li class="breadcrumb-item active"><span class="section-number">4.9. </span>压缩图像</li> <li class="breadcrumb-item active"><span class="section-number">4.7. </span>压缩图像</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
<a href="../../_sources/source/4_application_guide/compressed_image.md.txt" rel="nofollow"> 查看页面源码</a> <a href="../../_sources/source/4_application_guide/compressed_image.md.txt" rel="nofollow"> 查看页面源码</a>
</li> </li>
@@ -364,7 +361,7 @@
<div itemprop="articleBody"> <div itemprop="articleBody">
<div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">English</a> | <a class="lang-current" href="#">中文</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="id1"> <div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">English</a> | <a class="lang-current" href="#">中文</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="id1">
<h1><span class="section-number">4.9. </span>压缩图像<a class="headerlink" href="#id1" title="Link to this heading"></a></h1> <h1><span class="section-number">4.7. </span>压缩图像<a class="headerlink" href="#id1" title="Link to this heading"></a></h1>
<p>您可以使用 <code class="docutils literal notranslate"><span class="pre">image_transport</span></code> 通过 <code class="docutils literal notranslate"><span class="pre">jpeg</span></code> 压缩图像。以下是使用示例:</p> <p>您可以使用 <code class="docutils literal notranslate"><span class="pre">image_transport</span></code> 通过 <code class="docutils literal notranslate"><span class="pre">jpeg</span></code> 压缩图像。以下是使用示例:</p>
<p>要访问压缩的彩色图像,可以使用以下命令:</p> <p>要访问压缩的彩色图像,可以使用以下命令:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>topic<span class="w"> </span><span class="nb">echo</span><span class="w"> </span>/camera/color/image_raw/compressed<span class="w"> </span>--no-arr <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>topic<span class="w"> </span><span class="nb">echo</span><span class="w"> </span>/camera/color/image_raw/compressed<span class="w"> </span>--no-arr
@@ -377,15 +374,15 @@
</div> </div>
</div> </div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="页脚"> <footer><div class="rst-footer-buttons" role="navigation" aria-label="页脚">
<a href="tf_transformations.html" class="btn btn-neutral float-left" title="4.8. 从坐标系A到坐标系B的TF变换:" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> 上一页</a> <a href="tf_transformations.html" class="btn btn-neutral float-left" title="4.6. 从坐标系A到坐标系B的TF变换:" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> 上一页</a>
<a href="point_cloud.html" class="btn btn-neutral float-right" title="4.10. 在ROS 2中启用和可视化点云" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="point_cloud.html" class="btn btn-neutral float-right" title="4.8. 在ROS 2中启用和可视化点云" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div> </div>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -22,7 +22,7 @@
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="index" title="索引" href="../../genindex.html" /> <link rel="index" title="索引" href="../../genindex.html" />
<link rel="search" title="搜索" href="../../search.html" /> <link rel="search" title="搜索" href="../../search.html" />
<link rel="next" title="4.7. 相机传感器结构" href="camera_sensor_structure.html" /> <link rel="next" title="4.5. 相机传感器结构" href="camera_sensor_structure.html" />
<link rel="prev" title="4.3. 可用话题" href="topics.html" /> <link rel="prev" title="4.3. 可用话题" href="topics.html" />
</head> </head>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -380,11 +377,10 @@
<li><p>我们封装器话题中发布的所有数据都是直接从相机传感器获取的光学数据。</p></li> <li><p>我们封装器话题中发布的所有数据都是直接从相机传感器获取的光学数据。</p></li>
<li><p>静态和动态TF话题发布光学坐标系和ROS坐标系,使用户能够在两个坐标系之间转换。</p></li> <li><p>静态和动态TF话题发布光学坐标系和ROS坐标系,使用户能够在两个坐标系之间转换。</p></li>
</ul> </ul>
</section>
<section id="ros2-tf"> <section id="ros2-tf">
<h1><span class="section-number">4.5. </span>ROS2 TF工具的使用<a class="headerlink" href="#ros2-tf" title="Link to this heading"></a></h1> <h2><span class="section-number">4.4.1. </span>ROS2 TF工具的使用<a class="headerlink" href="#ros2-tf" title="Link to this heading"></a></h2>
<section id="tf"> <section id="tf">
<h2><span class="section-number">4.5.1. </span>查看TF树结构<a class="headerlink" href="#tf" title="Link to this heading"></a></h2> <h3><span class="section-number">4.4.1.1. </span>查看TF树结构<a class="headerlink" href="#tf" title="Link to this heading"></a></h3>
<p>可以使用以下ROS2命令来打印和可视化相机包发布的TF树:</p> <p>可以使用以下ROS2命令来打印和可视化相机包发布的TF树:</p>
<p><strong>打印所有TF关系:</strong></p> <p><strong>打印所有TF关系:</strong></p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>run<span class="w"> </span>tf2_tools<span class="w"> </span>view_frames <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>run<span class="w"> </span>tf2_tools<span class="w"> </span>view_frames
@@ -396,9 +392,38 @@
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>topic<span class="w"> </span><span class="nb">echo</span><span class="w"> </span>/tf_static <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>topic<span class="w"> </span><span class="nb">echo</span><span class="w"> </span>/tf_static
</pre></div> </pre></div>
</div> </div>
<p><strong>查看指定两个frame之间的TF变换关系:</strong></p>
<p>使用以下命令可以查看两个特定frame之间的变换关系:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>run<span class="w"> </span>tf2_ros<span class="w"> </span>tf2_echo<span class="w"> </span><span class="o">[</span>source_frame<span class="o">]</span><span class="w"> </span><span class="o">[</span>target_frame<span class="o">]</span>
</pre></div>
</div>
<p>例如,查看从 <code class="docutils literal notranslate"><span class="pre">camera_link</span></code> 到 <code class="docutils literal notranslate"><span class="pre">camera_depth_optical_frame</span></code> 的变换:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>run<span class="w"> </span>tf2_ros<span class="w"> </span>tf2_echo<span class="w"> </span>camera_link<span class="w"> </span>camera_depth_optical_frame
</pre></div>
</div>
<p>此命令会持续输出两个frame之间的实时变换信息,包括:</p>
<ul class="simple">
<li><p>平移 (Translation):x、y、z 坐标(单位:米)</p></li>
<li><p>旋转 (Rotation):四元数 (x, y, z, w)</p></li>
<li><p>欧拉角 (RPY):以欧拉角形式表示的旋转</p></li>
<li><p>齐次变换矩阵 (Transform Matrix):包含旋转和平移信息的 4×4 矩阵</p></li>
</ul>
<p>示例输出:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">At</span> <span class="n">time</span> <span class="mf">0.0</span>
<span class="o">-</span> <span class="n">Translation</span><span class="p">:</span> <span class="p">[</span><span class="mf">0.000</span><span class="p">,</span> <span class="mf">0.000</span><span class="p">,</span> <span class="mf">0.000</span><span class="p">]</span>
<span class="o">-</span> <span class="n">Rotation</span><span class="p">:</span> <span class="ow">in</span> <span class="n">Quaternion</span> <span class="p">[</span><span class="o">-</span><span class="mf">0.500</span><span class="p">,</span> <span class="mf">0.500</span><span class="p">,</span> <span class="o">-</span><span class="mf">0.500</span><span class="p">,</span> <span class="mf">0.500</span><span class="p">]</span>
<span class="o">-</span> <span class="n">Rotation</span><span class="p">:</span> <span class="ow">in</span> <span class="n">RPY</span> <span class="p">(</span><span class="n">radian</span><span class="p">)</span> <span class="p">[</span><span class="o">-</span><span class="mf">1.571</span><span class="p">,</span> <span class="o">-</span><span class="mf">0.000</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.571</span><span class="p">]</span>
<span class="o">-</span> <span class="n">Rotation</span><span class="p">:</span> <span class="ow">in</span> <span class="n">RPY</span> <span class="p">(</span><span class="n">degree</span><span class="p">)</span> <span class="p">[</span><span class="o">-</span><span class="mf">90.000</span><span class="p">,</span> <span class="o">-</span><span class="mf">0.000</span><span class="p">,</span> <span class="o">-</span><span class="mf">90.000</span><span class="p">]</span>
<span class="o">-</span> <span class="n">Matrix</span><span class="p">:</span>
<span class="mf">0.000</span> <span class="mf">0.000</span> <span class="mf">1.000</span> <span class="mf">0.000</span>
<span class="o">-</span><span class="mf">1.000</span> <span class="mf">0.000</span> <span class="mf">0.000</span> <span class="mf">0.000</span>
<span class="mf">0.000</span> <span class="o">-</span><span class="mf">1.000</span> <span class="mf">0.000</span> <span class="mf">0.000</span>
<span class="mf">0.000</span> <span class="mf">0.000</span> <span class="mf">0.000</span> <span class="mf">1.000</span>
</pre></div>
</div>
</section> </section>
<section id="rviz2tf"> <section id="rviz2tf">
<h2><span class="section-number">4.5.2. </span>使用rviz2可视化TF树<a class="headerlink" href="#rviz2tf" title="Link to this heading"></a></h2> <h3><span class="section-number">4.4.1.2. </span>使用rviz2可视化TF树<a class="headerlink" href="#rviz2tf" title="Link to this heading"></a></h3>
<p>在rviz2中可以实时可视化TF树结构和坐标系的相对位置:</p> <p>在rviz2中可以实时可视化TF树结构和坐标系的相对位置:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rviz2 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rviz2
</pre></div> </pre></div>
@@ -413,38 +438,200 @@
</section> </section>
</section> </section>
<section id="id1"> <section id="id1">
<h1><span class="section-number">4.6. </span>相机TF计算和发布机制<a class="headerlink" href="#id1" title="Link to this heading"></a></h1> <h2><span class="section-number">4.4.2. </span>相机TF计算和发布机制<a class="headerlink" href="#id1" title="Link to this heading"></a></h2>
<section id="obcameranode-calcandpublishstatictransform"> <section id="obcameranode-calcandpublishstatictransform">
<h2><span class="section-number">4.6.1. </span>核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code><a class="headerlink" href="#obcameranode-calcandpublishstatictransform" title="Link to this heading"></a></h2> <h3><span class="section-number">4.4.2.1. </span>核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code><a class="headerlink" href="#obcameranode-calcandpublishstatictransform" title="Link to this heading"></a></h3>
<p>相机节点通过此函数计算和发布所有传感器之间的静态转换关系。下面是代码的详细解释:</p> <p>相机节点通过此函数计算和发布所有传感器之间的静态转换关系。</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span><span class="w"> </span><span class="nf">OBCameraNode::calcAndPublishStaticTransform</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">tf2</span><span class="o">::</span><span class="n">Quaternion</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">,</span><span class="w"> </span><span class="n">zero_rot</span><span class="p">;</span>
<span class="w"> </span><span class="n">zero_rot</span><span class="p">.</span><span class="n">setRPY</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">);</span>
<span class="w"> </span><span class="n">quaternion_optical</span><span class="p">.</span><span class="n">setRPY</span><span class="p">(</span><span class="o">-</span><span class="n">M_PI</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="n">M_PI</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="w"> </span><span class="n">tf2</span><span class="o">::</span><span class="n">Vector3</span><span class="w"> </span><span class="n">zero_trans</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">];</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">device_info</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">device_</span><span class="o">-&gt;</span><span class="n">getDeviceInfo</span><span class="p">();</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">device_info</span><span class="p">);</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">pid</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">device_info</span><span class="o">-&gt;</span><span class="n">getPid</span><span class="p">();</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">base_stream_profile</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Failed to get base stream profile&quot;</span><span class="p">);</span>
<span class="w"> </span><span class="k">return</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">base_stream_profile</span><span class="p">.</span><span class="n">get</span><span class="p">());</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="o">&amp;</span><span class="n">item</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">stream_profile_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">stream_index</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">item</span><span class="p">.</span><span class="n">first</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">stream_profile</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">item</span><span class="p">.</span><span class="n">second</span><span class="p">;</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">stream_profile</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">continue</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">base_stream_profile</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">ob</span><span class="o">::</span><span class="n">Error</span><span class="w"> </span><span class="o">&amp;</span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Failed to get &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">stream_name_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]</span>
<span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; extrinsic: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OBExtrinsic</span><span class="p">({{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">}});</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rotationMatrixToQuaternion</span><span class="p">(</span><span class="n">ex</span><span class="p">.</span><span class="n">rot</span><span class="p">);</span>
<span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">.</span><span class="n">inverse</span><span class="p">();</span>
<span class="w"> </span><span class="n">tf2</span><span class="o">::</span><span class="n">Vector3</span><span class="w"> </span><span class="n">trans</span><span class="p">(</span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">timestamp</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">node_</span><span class="o">-&gt;</span><span class="n">now</span><span class="p">();</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">stream_index</span><span class="p">.</span><span class="n">first</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">base_stream_</span><span class="p">.</span><span class="n">first</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">stream_index</span><span class="p">.</span><span class="n">first</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OB_STREAM_IR_RIGHT</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">base_stream_</span><span class="p">.</span><span class="n">first</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OB_STREAM_DEPTH</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">abs</span><span class="p">(</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]);</span><span class="w"> </span><span class="c1">// because left and right ir calibration is error</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">publishStaticTF</span><span class="p">(</span><span class="n">timestamp</span><span class="p">,</span><span class="w"> </span><span class="n">trans</span><span class="p">,</span><span class="w"> </span><span class="n">Q</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">],</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">publishStaticTF</span><span class="p">(</span><span class="n">timestamp</span><span class="p">,</span><span class="w"> </span><span class="n">zero_trans</span><span class="p">,</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">],</span>
<span class="w"> </span><span class="n">optical_frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]);</span>
<span class="w"> </span><span class="n">RCLCPP_INFO_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Publishing static transform from &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">stream_name_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]</span>
<span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; to &quot;</span>
<span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">stream_name_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">]);</span>
<span class="w"> </span><span class="n">RCLCPP_INFO_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Translation &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;, &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">trans</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;, &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">trans</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
<span class="w"> </span><span class="n">RCLCPP_INFO_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Rotation &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">Q</span><span class="p">.</span><span class="n">getX</span><span class="p">()</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;, &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">Q</span><span class="p">.</span><span class="n">getY</span><span class="p">()</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;, &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">Q</span><span class="p">.</span><span class="n">getZ</span><span class="p">()</span>
<span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;, &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">Q</span><span class="p">.</span><span class="n">getW</span><span class="p">());</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">((</span><span class="n">pid</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">FEMTO_BOLT_PID</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">pid</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">FEMTO_MEGA_PID</span><span class="p">)</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span>
<span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="c1">// calc depth to color</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]);</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">depth_to_color_extrinsics</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]);</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rotationMatrixToQuaternion</span><span class="p">(</span><span class="n">depth_to_color_extrinsics</span><span class="p">.</span><span class="n">rot</span><span class="p">);</span>
<span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">Q</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">.</span><span class="n">inverse</span><span class="p">();</span>
<span class="w"> </span><span class="n">publishStaticTF</span><span class="p">(</span><span class="n">node_</span><span class="o">-&gt;</span><span class="n">now</span><span class="p">(),</span><span class="w"> </span><span class="n">zero_trans</span><span class="p">,</span><span class="w"> </span><span class="n">Q</span><span class="p">,</span><span class="w"> </span><span class="n">camera_link_frame_id_</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">publishStaticTF</span><span class="p">(</span><span class="n">node_</span><span class="o">-&gt;</span><span class="n">now</span><span class="p">(),</span><span class="w"> </span><span class="n">zero_trans</span><span class="p">,</span><span class="w"> </span><span class="n">zero_rot</span><span class="p">,</span><span class="w"> </span><span class="n">camera_link_frame_id_</span><span class="p">,</span>
<span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">frame_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;depth_to_color_extrinsics&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">ob</span><span class="o">::</span><span class="n">Error</span><span class="w"> </span><span class="o">&amp;</span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span>
<span class="w"> </span><span class="s">&quot;Failed to get &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">frame_id</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; extrinsic: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OBExtrinsic</span><span class="p">({{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">}});</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id</span><span class="p">);</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]);</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]</span><span class="o">-&gt;</span><span class="n">publish</span><span class="p">(</span><span class="n">ex_msg</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">INFRA0</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">frame_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;depth_to_ir_extrinsics&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">INFRA0</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">ob</span><span class="o">::</span><span class="n">Error</span><span class="w"> </span><span class="o">&amp;</span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span>
<span class="w"> </span><span class="s">&quot;Failed to get &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">frame_id</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; extrinsic: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OBExtrinsic</span><span class="p">({{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">}});</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_</span><span class="p">[</span><span class="n">INFRA0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id</span><span class="p">);</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">INFRA0</span><span class="p">]);</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">INFRA0</span><span class="p">]</span><span class="o">-&gt;</span><span class="n">publish</span><span class="p">(</span><span class="n">ex_msg</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">INFRA1</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">frame_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;depth_to_left_ir_extrinsics&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">INFRA1</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">ob</span><span class="o">::</span><span class="n">Error</span><span class="w"> </span><span class="o">&amp;</span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span>
<span class="w"> </span><span class="s">&quot;Failed to get &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">frame_id</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; extrinsic: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OBExtrinsic</span><span class="p">({{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">}});</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_</span><span class="p">[</span><span class="n">INFRA1</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id</span><span class="p">);</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">INFRA1</span><span class="p">]);</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">INFRA1</span><span class="p">]</span><span class="o">-&gt;</span><span class="n">publish</span><span class="p">(</span><span class="n">ex_msg</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">INFRA2</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">frame_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;depth_to_right_ir_extrinsics&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">INFRA2</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">ob</span><span class="o">::</span><span class="n">Error</span><span class="w"> </span><span class="o">&amp;</span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span>
<span class="w"> </span><span class="s">&quot;Failed to get &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">frame_id</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; extrinsic: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OBExtrinsic</span><span class="p">({{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">}});</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">-</span><span class="n">std</span><span class="o">::</span><span class="n">abs</span><span class="p">(</span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]);</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_</span><span class="p">[</span><span class="n">INFRA2</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id</span><span class="p">);</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">INFRA2</span><span class="p">]);</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">INFRA2</span><span class="p">]</span><span class="o">-&gt;</span><span class="n">publish</span><span class="p">(</span><span class="n">ex_msg</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">ACCEL</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">frame_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;depth_to_accel_extrinsics&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">ACCEL</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">ob</span><span class="o">::</span><span class="n">Error</span><span class="w"> </span><span class="o">&amp;</span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span>
<span class="w"> </span><span class="s">&quot;Failed to get &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">frame_id</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; extrinsic: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OBExtrinsic</span><span class="p">({{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">}});</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_</span><span class="p">[</span><span class="n">ACCEL</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id</span><span class="p">);</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">ACCEL</span><span class="p">]);</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">ACCEL</span><span class="p">]</span><span class="o">-&gt;</span><span class="n">publish</span><span class="p">(</span><span class="n">ex_msg</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">GYRO</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">frame_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;depth_to_gyro_extrinsics&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">GYRO</span><span class="p">]);</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">ob</span><span class="o">::</span><span class="n">Error</span><span class="w"> </span><span class="o">&amp;</span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">RCLCPP_ERROR_STREAM</span><span class="p">(</span><span class="n">logger_</span><span class="p">,</span>
<span class="w"> </span><span class="s">&quot;Failed to get &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">frame_id</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; extrinsic: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
<span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">OBExtrinsic</span><span class="p">({{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">}});</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_</span><span class="p">[</span><span class="n">GYRO</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ex</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id</span><span class="p">);</span>
<span class="w"> </span><span class="n">CHECK_NOTNULL</span><span class="p">(</span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">GYRO</span><span class="p">]);</span>
<span class="w"> </span><span class="n">depth_to_other_extrinsics_publishers_</span><span class="p">[</span><span class="n">GYRO</span><span class="p">]</span><span class="o">-&gt;</span><span class="n">publish</span><span class="p">(</span><span class="n">ex_msg</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_sync_output_accel_gyro_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">tf2</span><span class="o">::</span><span class="n">Quaternion</span><span class="w"> </span><span class="n">zero_rot</span><span class="p">;</span>
<span class="w"> </span><span class="n">zero_rot</span><span class="p">.</span><span class="n">setRPY</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">);</span>
<span class="w"> </span><span class="n">tf2</span><span class="o">::</span><span class="n">Vector3</span><span class="w"> </span><span class="n">zero_trans</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="w"> </span><span class="n">publishStaticTF</span><span class="p">(</span><span class="n">node_</span><span class="o">-&gt;</span><span class="n">now</span><span class="p">(),</span><span class="w"> </span><span class="n">zero_trans</span><span class="p">,</span><span class="w"> </span><span class="n">zero_rot</span><span class="p">,</span><span class="w"> </span><span class="n">optical_frame_id_</span><span class="p">[</span><span class="n">GYRO</span><span class="p">],</span>
<span class="w"> </span><span class="n">accel_gyro_frame_id_</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="p">}</span>
</pre></div>
</div>
</section> </section>
<section id="id2"> <section id="id2">
<h2><span class="section-number">4.6.2. </span>四元数初始化与坐标系变换<a class="headerlink" href="#id2" title="Link to this heading"></a></h2> <h3><span class="section-number">4.4.2.2. </span>函数解析<a class="headerlink" href="#id2" title="Link to this heading"></a></h3>
<p>下面是代码的详细解释:</p>
<p><strong>四元数初始化与坐标系变换</strong></p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">tf2</span><span class="o">::</span><span class="n">Quaternion</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">,</span><span class="w"> </span><span class="n">zero_rot</span><span class="p">;</span> <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">tf2</span><span class="o">::</span><span class="n">Quaternion</span><span class="w"> </span><span class="n">quaternion_optical</span><span class="p">,</span><span class="w"> </span><span class="n">zero_rot</span><span class="p">;</span>
<span class="n">zero_rot</span><span class="p">.</span><span class="n">setRPY</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">);</span> <span class="n">zero_rot</span><span class="p">.</span><span class="n">setRPY</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">);</span>
<span class="n">quaternion_optical</span><span class="p">.</span><span class="n">setRPY</span><span class="p">(</span><span class="o">-</span><span class="n">M_PI</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="n">M_PI</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span> <span class="n">quaternion_optical</span><span class="p">.</span><span class="n">setRPY</span><span class="p">(</span><span class="o">-</span><span class="n">M_PI</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="n">M_PI</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>说明:</strong></p>
<ul class="simple"> <ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">quaternion_optical</span></code>:定义光学坐标系到ROS标准坐标系的旋转变换(90度旋转)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">quaternion_optical</span></code>:定义光学坐标系到ROS标准坐标系的旋转变换(90度旋转)</p></li>
<li><p>这个旋转将相机光学坐标系(X右、Y下、Z前)转换为ROS标准坐标系(X前、Y左、Z上)</p></li> <li><p>这个旋转将相机光学坐标系(X右、Y下、Z前)转换为ROS标准坐标系(X前、Y左、Z上)</p></li>
</ul> </ul>
</section> <p><strong>获取设备信息与基准流</strong></p>
<section id="id3">
<h2><span class="section-number">4.6.3. </span>获取设备信息与基准流<a class="headerlink" href="#id3" title="Link to this heading"></a></h2>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">auto</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">];</span> <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">auto</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">];</span>
<span class="k">auto</span><span class="w"> </span><span class="n">device_info</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">device_</span><span class="o">-&gt;</span><span class="n">getDeviceInfo</span><span class="p">();</span> <span class="k">auto</span><span class="w"> </span><span class="n">device_info</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">device_</span><span class="o">-&gt;</span><span class="n">getDeviceInfo</span><span class="p">();</span>
<span class="c1">// 通常基准流是深度流(DEPTH)</span> <span class="c1">// 通常基准流是深度流(DEPTH)</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>说明:</strong></p>
<ul class="simple"> <ul class="simple">
<li><p>选择一个基准流(通常是深度流),所有其他传感器的变换都相对于这个基准流进行计算</p></li> <li><p>选择一个基准流(通常是深度流),所有其他传感器的变换都相对于这个基准流进行计算</p></li>
</ul> </ul>
</section> <p><strong>遍历所有流并计算相对变换</strong></p>
<section id="id4">
<h2><span class="section-number">4.6.4. </span>遍历所有流并计算相对变换<a class="headerlink" href="#id4" title="Link to this heading"></a></h2>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="o">&amp;</span><span class="n">item</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">stream_profile_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="o">&amp;</span><span class="n">item</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">stream_profile_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">stream_index</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">item</span><span class="p">.</span><span class="n">first</span><span class="p">;</span> <span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">stream_index</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">item</span><span class="p">.</span><span class="n">first</span><span class="p">;</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">stream_profile</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">item</span><span class="p">.</span><span class="n">second</span><span class="p">;</span> <span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">stream_profile</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">item</span><span class="p">.</span><span class="n">second</span><span class="p">;</span>
@@ -462,15 +649,12 @@
<span class="w"> </span><span class="n">tf2</span><span class="o">::</span><span class="n">Vector3</span><span class="w"> </span><span class="nf">trans</span><span class="p">(</span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span> <span class="w"> </span><span class="n">tf2</span><span class="o">::</span><span class="n">Vector3</span><span class="w"> </span><span class="nf">trans</span><span class="p">(</span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">trans</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>说明:</strong></p>
<ul class="simple"> <ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">OBExtrinsic</span></code>包含了两个传感器之间的旋转矩阵(<code class="docutils literal notranslate"><span class="pre">rot</span></code>)和平移向量(<code class="docutils literal notranslate"><span class="pre">trans</span></code>)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">OBExtrinsic</span></code>包含了两个传感器之间的旋转矩阵(<code class="docutils literal notranslate"><span class="pre">rot</span></code>)和平移向量(<code class="docutils literal notranslate"><span class="pre">trans</span></code>)</p></li>
<li><p>通过四元数乘法将光学坐标系变换应用到每个传感器的旋转关系中</p></li> <li><p>通过四元数乘法将光学坐标系变换应用到每个传感器的旋转关系中</p></li>
<li><p>这个变换将相机原生的光学坐标系转换为ROS标准坐标系</p></li> <li><p>这个变换将相机原生的光学坐标系转换为ROS标准坐标系</p></li>
</ul> </ul>
</section> <p><strong>发布TF变换</strong></p>
<section id="id5">
<h2><span class="section-number">4.6.5. </span>发布TF变换<a class="headerlink" href="#id5" title="Link to this heading"></a></h2>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="c1">// 发布传感器到基准流的变换(在ROS坐标系中)</span> <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="c1">// 发布传感器到基准流的变换(在ROS坐标系中)</span>
<span class="n">publishStaticTF</span><span class="p">(</span><span class="n">timestamp</span><span class="p">,</span><span class="w"> </span><span class="n">trans</span><span class="p">,</span><span class="w"> </span><span class="n">Q</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">],</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]);</span> <span class="n">publishStaticTF</span><span class="p">(</span><span class="n">timestamp</span><span class="p">,</span><span class="w"> </span><span class="n">trans</span><span class="p">,</span><span class="w"> </span><span class="n">Q</span><span class="p">,</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">base_stream_</span><span class="p">],</span><span class="w"> </span><span class="n">frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]);</span>
@@ -479,29 +663,23 @@
<span class="w"> </span><span class="n">optical_frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]);</span> <span class="w"> </span><span class="n">optical_frame_id_</span><span class="p">[</span><span class="n">stream_index</span><span class="p">]);</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>说明:</strong></p>
<ul class="simple"> <ul class="simple">
<li><p>第一个 <code class="docutils literal notranslate"><span class="pre">publishStaticTF</span></code>:发布从基准流到当前传感器的变换(平移+旋转)</p></li> <li><p>第一个 <code class="docutils literal notranslate"><span class="pre">publishStaticTF</span></code>:发布从基准流到当前传感器的变换(平移+旋转)</p></li>
<li><p>第二个 <code class="docutils literal notranslate"><span class="pre">publishStaticTF</span></code>:发布从物理frame到光学frame的变换(纯旋转,无平移)</p></li> <li><p>第二个 <code class="docutils literal notranslate"><span class="pre">publishStaticTF</span></code>:发布从物理frame到光学frame的变换(纯旋转,无平移)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">frame_id_[stream_index]</span></code>:物理坐标系frame名称(如 <code class="docutils literal notranslate"><span class="pre">camera_depth_frame</span></code>)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">frame_id_[stream_index]</span></code>:物理坐标系frame名称(如 <code class="docutils literal notranslate"><span class="pre">camera_depth_frame</span></code>)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">optical_frame_id_[stream_index]</span></code>:光学坐标系frame名称(如 <code class="docutils literal notranslate"><span class="pre">camera_depth_optical_frame</span></code>)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">optical_frame_id_[stream_index]</span></code>:光学坐标系frame名称(如 <code class="docutils literal notranslate"><span class="pre">camera_depth_optical_frame</span></code>)</p></li>
</ul> </ul>
</section> <p><strong>特殊处理左右红外摄像头</strong></p>
<section id="id6">
<h2><span class="section-number">4.6.6. </span>特殊处理左右红外摄像头<a class="headerlink" href="#id6" title="Link to this heading"></a></h2>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">stream_index</span><span class="p">.</span><span class="n">first</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OB_STREAM_IR_RIGHT</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">base_stream_</span><span class="p">.</span><span class="n">first</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OB_STREAM_DEPTH</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">stream_index</span><span class="p">.</span><span class="n">first</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OB_STREAM_IR_RIGHT</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">base_stream_</span><span class="p">.</span><span class="n">first</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">OB_STREAM_DEPTH</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">abs</span><span class="p">(</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]);</span> <span class="w"> </span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">abs</span><span class="p">(</span><span class="n">trans</span><span class="p">[</span><span class="mi">0</span><span class="p">]);</span>
<span class="p">}</span> <span class="p">}</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>说明:</strong></p>
<ul class="simple"> <ul class="simple">
<li><p>左右红外摄像头在设备坐标系中关于中心平面对称</p></li> <li><p>左右红外摄像头在设备坐标系中关于中心平面对称</p></li>
<li><p>通过 <code class="docutils literal notranslate"><span class="pre">abs()</span></code>确保X轴偏移为正值,保持几何一致性</p></li> <li><p>通过 <code class="docutils literal notranslate"><span class="pre">abs()</span></code>确保X轴偏移为正值,保持几何一致性</p></li>
</ul> </ul>
</section> <p><strong>发布深度到其他传感器的外参</strong></p>
<section id="id7">
<h2><span class="section-number">4.6.7. </span>发布深度到其他传感器的外参<a class="headerlink" href="#id7" title="Link to this heading"></a></h2>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">DEPTH</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_stream_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">enable_publish_extrinsic_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]);</span> <span class="w"> </span><span class="n">OBExtrinsic</span><span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base_stream_profile</span><span class="o">-&gt;</span><span class="n">getExtrinsicTo</span><span class="p">(</span><span class="n">stream_profile_</span><span class="p">[</span><span class="n">COLOR</span><span class="p">]);</span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;depth_to_color_extrinsics&quot;</span><span class="p">);</span> <span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ex_msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">obExtrinsicsToMsg</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;depth_to_color_extrinsics&quot;</span><span class="p">);</span>
@@ -509,11 +687,11 @@
<span class="p">}</span> <span class="p">}</span>
</pre></div> </pre></div>
</div> </div>
<p><strong>说明:</strong></p>
<ul class="simple"> <ul class="simple">
<li><p>通过TF发布变换关系</p></li> <li><p>通过TF发布变换关系</p></li>
</ul> </ul>
</section> </section>
</section>
</section> </section>
@@ -521,14 +699,14 @@
</div> </div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="页脚"> <footer><div class="rst-footer-buttons" role="navigation" aria-label="页脚">
<a href="topics.html" class="btn btn-neutral float-left" title="4.3. 可用话题" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> 上一页</a> <a href="topics.html" class="btn btn-neutral float-left" title="4.3. 可用话题" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> 上一页</a>
<a href="camera_sensor_structure.html" class="btn btn-neutral float-right" title="4.7. 相机传感器结构" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="camera_sensor_structure.html" class="btn btn-neutral float-right" title="4.5. 相机传感器结构" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div> </div>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -1003,7 +1000,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+31 -34
View File
@@ -6,7 +6,7 @@
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>4.10. 在ROS 2中启用和可视化点云 &mdash; OrbbecSDK V2 ROS2 封装 文档</title> <title>4.8. 在ROS 2中启用和可视化点云 &mdash; OrbbecSDK V2 ROS2 封装 文档</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" /> <link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" />
@@ -23,7 +23,7 @@
<link rel="index" title="索引" href="../../genindex.html" /> <link rel="index" title="索引" href="../../genindex.html" />
<link rel="search" title="搜索" href="../../search.html" /> <link rel="search" title="搜索" href="../../search.html" />
<link rel="next" title="5. 高级指南" href="../5_advanced_guide/advanced_guide.html" /> <link rel="next" title="5. 高级指南" href="../5_advanced_guide/advanced_guide.html" />
<link rel="prev" title="4.9. 压缩图像" href="compressed_image.html" /> <link rel="prev" title="4.7. 压缩图像" href="compressed_image.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -353,7 +350,7 @@
<ul class="wy-breadcrumbs"> <ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li> <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>应用指南</a></li> <li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>应用指南</a></li>
<li class="breadcrumb-item active"><span class="section-number">4.10. </span>在ROS 2中启用和可视化点云</li> <li class="breadcrumb-item active"><span class="section-number">4.8. </span>在ROS 2中启用和可视化点云</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
<a href="../../_sources/source/4_application_guide/point_cloud.md.txt" rel="nofollow"> 查看页面源码</a> <a href="../../_sources/source/4_application_guide/point_cloud.md.txt" rel="nofollow"> 查看页面源码</a>
</li> </li>
@@ -364,19 +361,19 @@
<div itemprop="articleBody"> <div itemprop="articleBody">
<div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">English</a> | <a class="lang-current" href="#">中文</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="ros-2"> <div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">English</a> | <a class="lang-current" href="#">中文</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="ros-2">
<h1><span class="section-number">4.10. </span>在ROS 2中启用和可视化点云<a class="headerlink" href="#ros-2" title="Link to this heading"></a></h1> <h1><span class="section-number">4.8. </span>在ROS 2中启用和可视化点云<a class="headerlink" href="#ros-2" title="Link to this heading"></a></h1>
<p>本节演示如何从相机节点启用点云数据输出并使用RViz2进行可视化。</p> <p>本节演示如何从相机节点启用点云数据输出并使用RViz2进行可视化。</p>
<section id="id1"> <section id="id1">
<h2><span class="section-number">4.10.1. </span>启用深度点云<a class="headerlink" href="#id1" title="Link to this heading"></a></h2> <h2><span class="section-number">4.8.1. </span>启用深度点云<a class="headerlink" href="#id1" title="Link to this heading"></a></h2>
<section id="id2"> <section id="id2">
<h3><span class="section-number">4.10.1.1. </span>启用深度点云的命令<a class="headerlink" href="#id2" title="Link to this heading"></a></h3> <h3><span class="section-number">4.8.1.1. </span>启用深度点云的命令<a class="headerlink" href="#id2" title="Link to this heading"></a></h3>
<p>要激活深度信息的点云数据流,使用以下命令:</p> <p>要激活深度信息的点云数据流,使用以下命令:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>launch<span class="w"> </span>orbbec_camera<span class="w"> </span>gemini_330_series.launch.py<span class="w"> </span>enable_point_cloud:<span class="o">=</span><span class="nb">true</span> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>launch<span class="w"> </span>orbbec_camera<span class="w"> </span>gemini_330_series.launch.py<span class="w"> </span>enable_point_cloud:<span class="o">=</span><span class="nb">true</span>
</pre></div> </pre></div>
</div> </div>
</section> </section>
<section id="rviz2"> <section id="rviz2">
<h3><span class="section-number">4.10.1.2. </span>在RViz2中可视化深度点云<a class="headerlink" href="#rviz2" title="Link to this heading"></a></h3> <h3><span class="section-number">4.8.1.2. </span>在RViz2中可视化深度点云<a class="headerlink" href="#rviz2" title="Link to this heading"></a></h3>
<p>运行上述命令后,执行以下步骤可视化深度点云:</p> <p>运行上述命令后,执行以下步骤可视化深度点云:</p>
<ol class="simple"> <ol class="simple">
<li><p>打开RViz2。</p></li> <li><p>打开RViz2。</p></li>
@@ -392,16 +389,16 @@
</section> </section>
</section> </section>
<section id="id3"> <section id="id3">
<h2><span class="section-number">4.10.2. </span>启用彩色点云<a class="headerlink" href="#id3" title="Link to this heading"></a></h2> <h2><span class="section-number">4.8.2. </span>启用彩色点云<a class="headerlink" href="#id3" title="Link to this heading"></a></h2>
<section id="id4"> <section id="id4">
<h3><span class="section-number">4.10.2.1. </span>启用彩色点云的命令<a class="headerlink" href="#id4" title="Link to this heading"></a></h3> <h3><span class="section-number">4.8.2.1. </span>启用彩色点云的命令<a class="headerlink" href="#id4" title="Link to this heading"></a></h3>
<p>要启用彩色点云功能,输入以下命令:</p> <p>要启用彩色点云功能,输入以下命令:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>launch<span class="w"> </span>orbbec_camera<span class="w"> </span>gemini_330_series.launch.py<span class="w"> </span>enable_colored_point_cloud:<span class="o">=</span><span class="nb">true</span> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>launch<span class="w"> </span>orbbec_camera<span class="w"> </span>gemini_330_series.launch.py<span class="w"> </span>enable_colored_point_cloud:<span class="o">=</span><span class="nb">true</span>
</pre></div> </pre></div>
</div> </div>
</section> </section>
<section id="id5"> <section id="id5">
<h3><span class="section-number">4.10.2.2. </span>在RViz2中可视化彩色点云<a class="headerlink" href="#id5" title="Link to this heading"></a></h3> <h3><span class="section-number">4.8.2.2. </span>在RViz2中可视化彩色点云<a class="headerlink" href="#id5" title="Link to this heading"></a></h3>
<p>要可视化彩色点云数据:</p> <p>要可视化彩色点云数据:</p>
<ol class="simple"> <ol class="simple">
<li><p>执行命令后启动RViz2。</p></li> <li><p>执行命令后启动RViz2。</p></li>
@@ -422,7 +419,7 @@
</div> </div>
</div> </div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="页脚"> <footer><div class="rst-footer-buttons" role="navigation" aria-label="页脚">
<a href="compressed_image.html" class="btn btn-neutral float-left" title="4.9. 压缩图像" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> 上一页</a> <a href="compressed_image.html" class="btn btn-neutral float-left" title="4.7. 压缩图像" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> 上一页</a>
<a href="../5_advanced_guide/advanced_guide.html" class="btn btn-neutral float-right" title="5. 高级指南" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="../5_advanced_guide/advanced_guide.html" class="btn btn-neutral float-right" title="5. 高级指南" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div> </div>
@@ -430,7 +427,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -648,7 +645,7 @@ ros2<span class="w"> </span>service<span class="w"> </span>call<span class="w">
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -6,7 +6,7 @@
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>4.8. 从坐标系A到坐标系B的TF变换: &mdash; OrbbecSDK V2 ROS2 封装 文档</title> <title>4.6. 从坐标系A到坐标系B的TF变换: &mdash; OrbbecSDK V2 ROS2 封装 文档</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" /> <link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=63de077d" />
@@ -22,8 +22,8 @@
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="index" title="索引" href="../../genindex.html" /> <link rel="index" title="索引" href="../../genindex.html" />
<link rel="search" title="搜索" href="../../search.html" /> <link rel="search" title="搜索" href="../../search.html" />
<link rel="next" title="4.9. 压缩图像" href="compressed_image.html" /> <link rel="next" title="4.7. 压缩图像" href="compressed_image.html" />
<link rel="prev" title="4.7. 相机传感器结构" href="camera_sensor_structure.html" /> <link rel="prev" title="4.5. 相机传感器结构" href="camera_sensor_structure.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -353,7 +350,7 @@
<ul class="wy-breadcrumbs"> <ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li> <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>应用指南</a></li> <li class="breadcrumb-item"><a href="application_guide.html"><span class="section-number">4. </span>应用指南</a></li>
<li class="breadcrumb-item active"><span class="section-number">4.8. </span>从坐标系A到坐标系B的TF变换:</li> <li class="breadcrumb-item active"><span class="section-number">4.6. </span>从坐标系A到坐标系B的TF变换:</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
<a href="../../_sources/source/4_application_guide/tf_transformations.md.txt" rel="nofollow"> 查看页面源码</a> <a href="../../_sources/source/4_application_guide/tf_transformations.md.txt" rel="nofollow"> 查看页面源码</a>
</li> </li>
@@ -364,7 +361,7 @@
<div itemprop="articleBody"> <div itemprop="articleBody">
<div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">English</a> | <a class="lang-current" href="#">中文</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="abtf"> <div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">English</a> | <a class="lang-current" href="#">中文</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="abtf">
<h1><span class="section-number">4.8. </span>从坐标系A到坐标系B的TF变换:<a class="headerlink" href="#abtf" title="Link to this heading"></a></h1> <h1><span class="section-number">4.6. </span>从坐标系A到坐标系B的TF变换:<a class="headerlink" href="#abtf" title="Link to this heading"></a></h1>
<p>在Orbbec相机中,原点(0,0,0)取自camera_link位置</p> <p>在Orbbec相机中,原点(0,0,0)取自camera_link位置</p>
<p>我们的封装器提供从每个传感器坐标到相机基座(camera_link)之间的静态TF变换</p> <p>我们的封装器提供从每个传感器坐标到相机基座(camera_link)之间的静态TF变换</p>
<p>此外,它还提供从每个传感器ROS坐标到其对应光学坐标的TF变换。</p> <p>此外,它还提供从每个传感器ROS坐标到其对应光学坐标的TF变换。</p>
@@ -379,15 +376,15 @@
</div> </div>
</div> </div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="页脚"> <footer><div class="rst-footer-buttons" role="navigation" aria-label="页脚">
<a href="camera_sensor_structure.html" class="btn btn-neutral float-left" title="4.7. 相机传感器结构" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> 上一页</a> <a href="camera_sensor_structure.html" class="btn btn-neutral float-left" title="4.5. 相机传感器结构" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> 上一页</a>
<a href="compressed_image.html" class="btn btn-neutral float-right" title="4.9. 压缩图像" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="compressed_image.html" class="btn btn-neutral float-right" title="4.7. 压缩图像" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div> </div>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -495,7 +492,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+22 -25
View File
@@ -23,7 +23,7 @@
<link rel="index" title="索引" href="../../genindex.html" /> <link rel="index" title="索引" href="../../genindex.html" />
<link rel="search" title="搜索" href="../../search.html" /> <link rel="search" title="搜索" href="../../search.html" />
<link rel="next" title="5.1.1. 使用Orbbec ROS包降低CPU使用率" href="performance/lower_cpu_usage.html" /> <link rel="next" title="5.1.1. 使用Orbbec ROS包降低CPU使用率" href="performance/lower_cpu_usage.html" />
<link rel="prev" title="4.10. 在ROS 2中启用和可视化点云" href="../4_application_guide/point_cloud.html" /> <link rel="prev" title="4.8. 在ROS 2中启用和可视化点云" href="../4_application_guide/point_cloud.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -464,7 +461,7 @@
</div> </div>
</div> </div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="页脚"> <footer><div class="rst-footer-buttons" role="navigation" aria-label="页脚">
<a href="../4_application_guide/point_cloud.html" class="btn btn-neutral float-left" title="4.10. 在ROS 2中启用和可视化点云" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> 上一页</a> <a href="../4_application_guide/point_cloud.html" class="btn btn-neutral float-left" title="4.8. 在ROS 2中启用和可视化点云" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> 上一页</a>
<a href="performance/lower_cpu_usage.html" class="btn btn-neutral float-right" title="5.1.1. 使用Orbbec ROS包降低CPU使用率" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="performance/lower_cpu_usage.html" class="btn btn-neutral float-right" title="5.1.1. 使用Orbbec ROS包降低CPU使用率" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div> </div>
@@ -472,7 +469,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -414,7 +411,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -388,7 +385,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -406,7 +403,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -470,7 +467,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -434,7 +431,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -470,7 +467,7 @@ net_device_port:<span class="o">=</span><span class="m">8090</span>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -420,7 +417,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -440,7 +437,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -469,7 +466,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -457,7 +454,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -525,7 +522,7 @@ python3<span class="w"> </span>SyncFramesMain.py
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -411,7 +408,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -508,7 +505,7 @@ net.core.wmem_default<span class="o">=</span><span class="m">2147483647</span>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -569,7 +566,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -402,7 +399,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -395,7 +392,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -498,7 +495,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -409,7 +406,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
+20 -23
View File
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -432,7 +429,7 @@ ros2<span class="w"> </span>run<span class="w"> </span>orbbec_camera<span class=
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -414,7 +411,7 @@ bash<span class="w"> </span>.make_deb.sh
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -395,7 +392,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>
@@ -151,34 +151,31 @@
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/topics.html#id4">4.3.4. 设备状态与诊断</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html">4.4. ROS2机器人坐标系 vs 相机光学坐标系</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.5. ROS2 TF工具的使用</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#ros2-tf">4.4.1. ROS2 TF工具的使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.5.1. 查看TF树结构</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#tf">4.4.1.1. 查看TF树结构</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.5.2. 使用rviz2可视化TF树</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#rviz2tf">4.4.1.2. 使用rviz2可视化TF树</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.6. 相机TF计算和发布机制</a><ul> <li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id1">4.4.2. 相机TF计算和发布机制</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.6.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#obcameranode-calcandpublishstatictransform">4.4.2.1. 核心函数:<code class="docutils literal notranslate"><span class="pre">OBCameraNode::calcAndPublishStaticTransform()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.6.2. 四元数初始化与坐标系变换</a></li> <li class="toctree-l4"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id2">4.4.2.2. 函数解析</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id3">4.6.3. 获取设备信息与基准流</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id4">4.6.4. 遍历所有流并计算相对变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id5">4.6.5. 发布TF变换</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id6">4.6.6. 特殊处理左右红外摄像头</a></li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/coordinate_systems.html#id7">4.6.7. 发布深度到其他传感器的外参</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.7. 相机传感器结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.8. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.9. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.10. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.10.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.10.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.10.1.2. 在RViz2中可视化深度点云</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.10.2. 启用彩色点云</a><ul> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/camera_sensor_structure.html">4.5. 相机传感器结构</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.10.2.1. 启用彩色点云的命令</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/tf_transformations.html">4.6. 从坐标系A到坐标系B的TF变换:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.10.2.2. 在RViz2中可视化彩色点云</a></li> <li class="toctree-l2"><a class="reference internal" href="../4_application_guide/compressed_image.html">4.7. 压缩图像</a></li>
<li class="toctree-l2"><a class="reference internal" href="../4_application_guide/point_cloud.html">4.8. 在ROS 2中启用和可视化点云</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id1">4.8.1. 启用深度点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id2">4.8.1.1. 启用深度点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#rviz2">4.8.1.2. 在RViz2中可视化深度点云</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../4_application_guide/point_cloud.html#id3">4.8.2. 启用彩色点云</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id4">4.8.2.1. 启用彩色点云的命令</a></li>
<li class="toctree-l4"><a class="reference internal" href="../4_application_guide/point_cloud.html#id5">4.8.2.2. 在RViz2中可视化彩色点云</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -1211,7 +1208,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。 <p>&#169; 版权所有 2025, 奥比中光科技集团股份有限公司 www.orbbec.com.。
<span class="lastupdated">最后更新于 2025年10月28日 05:46:56. <span class="lastupdated">最后更新于 2025年10月29日 02:21:35.
</span></p> </span></p>
</div> </div>

Some files were not shown because too many files have changed in this diff Show More