This commit is contained in:
ob-yalian
2025-11-28 12:55:21 +00:00
parent 0d5b067097
commit 7fffadef7c
116 changed files with 2220 additions and 1136 deletions
@@ -1,3 +1,30 @@
### Binary Installation
#### Environment
Install ROS 2 according to the official guide:
* [ROS 2 installation (Ubuntu)](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html)
#### Linux Binary Package Installation
Check available packages:
```bash
sudo apt update
apt list | grep orbbec
```
Install OrbbecSDK ROS2 package:
```bash
sudo apt install ros-humble-orbbec-camera ros-humble-orbbec-description
```
After installation, you can use it directly without compilation.
---
### Build from Source
#### Environment
@@ -36,15 +63,8 @@ Install dependencies:
sudo apt install libgflags-dev nlohmann-json3-dev \
ros-$ROS_DISTRO-image-transport ros-${ROS_DISTRO}-image-transport-plugins ros-${ROS_DISTRO}-compressed-image-transport \
ros-$ROS_DISTRO-image-publisher ros-$ROS_DISTRO-camera-info-manager \
ros-$ROS_DISTRO-diagnostic-updater ros-$ROS_DISTRO-diagnostic-msgs ros-$ROS_DISTRO-statistics-msgs \
ros-$ROS_DISTRO-backward-ros libdw-dev
```
Optional dependencies:
```bash
# 435Le writeCustomerDate feature:
sudo apt install libssl-dev
ros-$ROS_DISTRO-diagnostic-updater ros-$ROS_DISTRO-diagnostic-msgs ros-$ROS_DISTRO-statistics-msgs ros-$ROS_DISTRO-xacro \
ros-$ROS_DISTRO-backward-ros libdw-dev libssl-dev
```
Build:
@@ -1,6 +1,15 @@
## Registration script (required)
## Registration Script (Required)
To allow the Orbbec cameras to be recognized correctly on Linux, install the udev rules:
To allow the Orbbec cameras to be recognized correctly on Linux, install the udev rules.
### Binary Installation
```bash
sudo cp /opt/ros/$ROS_DISTRO/share/orbbec_camera/udev/99-obsensor-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger
```
### Build from Source
```bash
cd ~/ros2_ws/src/OrbbecSDK_ROS2/orbbec_camera/scripts
@@ -6,6 +6,18 @@
![module in rviz2](../image/application_guide/image1.png)
### TF from coordinate A to coordinate B:
In Orbbec cameras, the origin point (0,0,0) is taken from the camera_link position.
You can view the camera's URDF model and coordinate system structure using the following command:
```bash
ros2 launch orbbec_description view_model.launch.py model:=gemini_335_336.urdf.xacro
```
![module in rviz2](../image/application_guide/image2.png)
### ROS2 Robot Coordinate System vs Camera Optical Coordinate System
* Point of View:
@@ -33,6 +33,14 @@ The following are the launch parameters available:
* Enable filtering of invalid point clouds.
* **`point_cloud_qos`, `[stream]_qos`, `[stream]_camera_info_qos`**
* ROS 2 Message Quality of Service (QoS) settings. The possible values are `SYSTEM_DEFAULT`, `DEFAULT`, `PARAMETER_EVENTS`, `SERVICES_DEFAULT`, `PARAMETERS`, `SENSOR_DATA` and are case-insensitive. These correspond to `rmw_qos_profile_system_default`, `rmw_qos_profile_default`, `rmw_qos_profile_parameter_events`, `rmw_qos_profile_services_default`, `rmw_qos_profile_parameters`, and `SENSOR_DATA`, respectively.
* **`color.image_raw.enable_pub_plugins`**
* Enable Color image transport plugins. Default: `["image_transport/compressed", "image_transport/raw", "image_transport/theora"]`.
* **`depth.image_raw.enable_pub_plugins`**
* Enable Depth image transport plugins. Default: `["image_transport/compressedDepth", "image_transport/raw"]`.
* **`left_ir.image_raw.enable_pub_plugins`**
* Enable Left IR image transport plugins. Default: `["image_transport/compressed", "image_transport/raw", "image_transport/theora"]`.
* **`right_ir.image_raw.enable_pub_plugins`**
* Enable Right IR image transport plugins. Default: `["image_transport/compressed", "image_transport/raw", "image_transport/theora"]`.
### Sensor Controls
@@ -68,7 +68,7 @@
#### IR Stream
* `/camera/toggle_ir`
```bash
ros2 service call /camera/toggle_ir std_srvs/srv/SetBool '{data: true}'
```
@@ -114,6 +114,10 @@
```bash
ros2 service call /camera/set_laser_enable std_srvs/srv/SetBool '{data: true}'
```
`/camera/get_laser_status`
```bash
ros2 service call /camera/get_laser_status orbbec_camera_msgs/srv/GetBool '{}'
```
* `/camera/set_ldp_enable` & `/camera/get_ldp_status`
```bash
ros2 service call /camera/set_ldp_enable std_srvs/srv/SetBool '{data: true}'