# Orbbec ROS SDK
[![stable](http://badges.github.io/stability-badges/dist/stable.svg)](http://github.com/badges/stability-badges) ![version](https://img.shields.io/badge/version-1.5.3-green)
Orbbec ROS SDK is a wrapper for Orbbec SDK that supports ROS Kinetic, Melodic, and Noetic distributions.
It enables smooth integration of Orbbec 3D cameras into ROS projects.
## Table of Contents
<!-- TOC -->
* [Orbbec ROS SDK](#orbbec-ros-sdk)
* [Table of Contents](#table-of-contents)
* [Install Dependencies](#install-dependencies)
* [ROS](#ros)
* [Other Dependencies](#other-dependencies)
* [Create ROS Workspace and Build](#create-ros-workspace-and-build)
* [Start the Camera](#start-the-camera)
* [Select Topics and Control the Camera](#select-topics-and-control-the-camera)
* [Launch Parameters](#launch-parameters)
* [Depth work mode switch:](#depth-work-mode-switch)
* [Configuration of depth NFOV and WFOV modes](#configuration-of-depth-nfov-and-wfov-modes)
* [Check which profiles the camera supports](#check-which-profiles-the-camera-supports)
* [Available Services for Camera Control](#available-services-for-camera-control)
* [Available Topics](#available-topics)
* [Building a Debian Package](#building-a-debian-package)
* [Launch files](#launch-files)
* [Use Nodelet](#use-nodelet)
* [Supported hardware products](#supported-hardware-products)
* [Frequently Asked Questions](#frequently-asked-questions)
* [No Picture from Multiple Cameras](#no-picture-from-multiple-cameras)
* [Error: "Failed to start device: usbEnumerator createUsbDevice failed!"](#error-failed-to-start-device-usbenumerator-createusbdevice-failed)
* [Other useful links](#other-useful-links)
* [License](#license)
<!-- TOC -->
## Install Dependencies
### ROS
- Please refer directly to the ROS [wiki](http://wiki.ros.org/ROS/Installation) for installation instructions.
### Other Dependencies
- Install dependencies (be careful with your ROS distribution):
```bash
# Assuming you have sourced the ROS environment, same below
sudo apt install libgflags-dev ros-$ROS_DISTRO-image-geometry ros-$ROS_DISTRO-camera-info-manager \
ros-$ROS_DISTRO-image-transport ros-$ROS_DISTRO-image-publisher libgoogle-glog-dev libusb-1.0-0-dev libeigen3-dev \
ros-$ROS_DISTRO-diagnostic-updater ros-$ROS_DISTRO-diagnostic-msgs
```
## Create ROS Workspace and Build
Create a ROS workspace (if you don't have one):
```bash
mkdir -p ~/ros_ws/src
```
Get the source code:
```bash
cd ~/ros_ws/src
git clone https://github.com/orbbec/OrbbecSDK_ROS1.git
```
Build the package:
```bash
cd ~/ros_ws
catkin_make
```
Install udev rules:
```bash
cd ~/ros_ws
source ./devel/setup.bash
roscd orbbec_camera
cd scripts
sudo cp 99-obsensor-libusb.rules /etc/udev/rules.d/99-obsensor-libusb.rules
sudo udevadm control --reload && sudo udevadm trigger
```
## Start the Camera
In terminal 1:
```bash
source ./devel/setup.bash
roslaunch orbbec_camera gemini_330_series.launch
```
In terminal 2:
```bash
source ./devel/setup.bash
rviz
```
## Select Topics and Control the Camera
Check topics, services, and parameters (open a new terminal):
```bash
rostopic list
rosservice list
rosparam list
```
Get camera parameters (_MUST_ start stream first):
```bash
rosservice call /camera/get_camera_params "{}"
```
Check camera parameters (please refer to the ROS documentation for the meaning of specific fields in
the [camera info](http://docs.ros.org/en/melodic/api/sensor_msgs/html/msg/CameraInfo.html)):
```bash
rostopic echo /camera/depth/camera_info
rostopic echo /camera/color/camera_info
```
Check device information:
```bash
rosservice call /camera/get_device_info "{}"
```
Get the SDK version (includes firmware and Orbbec SDK versions):
```bash
rosservice call /camera/get_sdk_version "{}"
```
Set/get (auto) exposure:
```bash
rosservice call /camera/set_color_auto_exposure '{data: false}'
rosservice call /camera/set_left_ir_auto_exposure "{data: false}"
# Setting exposure values (be careful with the data range; the following example may not be correct)
rosservice call /camera/set_left_ir_exposure "{data: 2000}"
rosservice call /camera/set_color_exposure "{data: 2000}"
# Get exposure
rosservice call /camera/get_left_ir_exposure "{}"
rosservice call /camera/get_color_exposure "{}"
```
Set/get gain:
```bash
# Get gain
rosservice call /camera/get_color_gain '{}'
rosservice call /camera/get_left_ir_gain '{}'
# Setting the gain (be careful with the data range; the following example may not be correct)
rosservice call /camera/set_color_gain "{data: 200}"
rosservice call /camera/set_left_ir_gain "{data: 200}"
```
Set/get (auto) white balance:
```bash
rosservice call /camera/set_auto_white_balance "{data: false}"
rosservice call /camera/get_auto_white_balance "{data: false}"
```
Turn on/off laser:
```bash
rosservice call /camera/set_laser '{data: true}' # Turn on
rosservice call /camera/set_laser '{data: false}' # Turn off
```
Save images:
```bash
rosservice call /camera/save_images "{}"
```
Save point cloud:
```bash
rosservice call /camera/save_point_cloud "{}"
```
NOTE: The images are saved under `~/.ros/image` and are only available when the sensor is on.
## Launch Parameters
The following launch parameters are available:
- `connection_delay`: The delay time in milliseconds for reopening the device. Some devices require
a longer time to initialize, and reopening the device immediately can cause firmware crashes when hot-plugging.
- `enable_point_cloud`: Enables the point cloud.
- `enable_colored_point_cloud`: Enables the RGB point cloud.
- `color_width`, `color_height`, `color_fps`: The resolution and frame rate of the color stream.
- `left_ir_width`, `left_ir_height`, `left_ir_fps`: The resolution and frame rate of the left IR stream.
- `right_ir_width`, `right_ir_height`, `right_ir_fps`: The resolution and frame rate of the right IR stream.
- `depth_width`, `depth_height`, `depth_fps`: The resolution and frame rate of the depth stream.
- `enable_color`: Enables the RGB camera.
- `enable_depth`: Enables the depth camera.
- `enable_left_ir`: Enables the left IR camera.
- `enable_right_ir`: Enables the right IR camera.
- `depth_registration`: Enables hardware alignment of the depth frame to the color frame. This field is required
when `enable_colored_point_cloud` is set to `true`.
- `log_level` for OrbbecSDK controls console log verbosity, with levels `none`, `info`, `debug`, `warn`, `fatal`. Logs
save in `~/.ros/Log`. For file logging, adjust `<FileLogLevel>` in `config/OrbbecSDKConfig_v1.0.xml`.
- `ordered_pc`: Whether the point cloud should be organized in an ordered grid (`true`) or as an unordered set of
points (`false`).
- `device_preset`: The default value is `Default`. Only the G330 series is supported. For more information, refer to
the [G330 documentation](https://www.orbbec.com/docs/g330-use-depth-presets/). Please refer to the table below to set
the `device_preset` value based on your use case. The value should be one of the preset names
listed [in the table](#predefined-presets).
- `enable_decimation_filter`: Only the G330 series is supported. This filter effectively reduces the depth scene complexity. The filter runs on kernel
sizes [2x2] to [8x8] pixels. The image size is scaled down proportionally in both dimensions to preserve the aspect
ratio.
- `enable_hdr_merge`: This filter is used jointly with depth HDR function. By merging consecutive depth images of
alternating exposure values, we can over come challenges in acquiring depth values for under-illuminated and
over-illuminated objects simultaneously.
- `sequence_id_filter_id`: This filter is used jointly with depth HDR function and outputs only the sequence with
specified sequence ID.
- `enable_threshold_filter`: This filter preserves depth values of interest and omits depth values out of scope.
- `enable_noise_removal_filter`: This filter removes speckle noise in clusters an
没有合适的资源?快使用搜索试试~ 我知道了~
奥比中光RGBD在JETSON ORIN NX的ROS程序
0 下载量 175 浏览量
2024-05-23
17:08:19
上传
评论
收藏 13.38MB GZ 举报
温馨提示
共145个文件
launch:34个
h:25个
cpp:15个
Obbrec在github提供的ROS程序会引起glog报错,本程序修正此错误。 系统环境: Jetpack 5.1.1dev Ubuntu 20.04 ROS1 Noetic
资源推荐
资源详情
资源评论
收起资源包目录
奥比中光RGBD在JETSON ORIN NX的ROS程序 (145个子文件)
libdepthengine.so.2.0 520KB
libdepthengine.so.2.0 506KB
libOrbbecSDK.so.1.10 11.01MB
libOrbbecSDK.so.1.10 9.9MB
libOrbbecSDK.so.1.10 9.88MB
libOrbbecSDK.so.1.10.5 11.01MB
libOrbbecSDK.so.1.10.5 9.9MB
libOrbbecSDK.so.1.10.5 9.88MB
.clang-format 4KB
ob_camera_node.cpp 72KB
ros_setup.cpp 34KB
ros_service.cpp 32KB
utils.cpp 26KB
ob_camera_node_driver.cpp 14KB
ros_sensor.cpp 8KB
rk_mpp_decoder.cpp 8KB
jetson_nv_decoder.cpp 4KB
list_camera_profile_mode.cpp 3KB
d2c_viewer.cpp 3KB
list_devices_node.cpp 2KB
list_depth_work_mode.cpp 2KB
ros_nodelet.cpp 1KB
main.cpp 1KB
jpeg_decoder.cpp 990B
ObTypes.h 64KB
Device.h 35KB
ob_camera_node.h 19KB
Property.h 19KB
Filter.h 18KB
Frame.h 15KB
Pipeline.h 12KB
StreamProfile.h 9KB
Context.h 7KB
Utils.h 7KB
MultipleDevices.h 6KB
constants.h 5KB
Sensor.h 5KB
RecordPlayback.h 4KB
utils.h 3KB
ob_camera_node_driver.h 3KB
types.h 3KB
ros_sensor.h 2KB
rk_mpp_decoder.h 2KB
d2c_viewer.h 2KB
jetson_nv_decoder.h 1KB
Error.h 1KB
jpeg_decoder.h 1KB
Version.h 874B
ObSensor.h 743B
json.hpp 887KB
Device.hpp 34KB
Frame.hpp 16KB
Filter.hpp 15KB
Pipeline.hpp 9KB
StreamProfile.hpp 8KB
Utils.hpp 7KB
Context.hpp 5KB
Sensor.hpp 4KB
RecordPlayback.hpp 3KB
Types.hpp 2KB
Error.hpp 1KB
Version.hpp 1010B
ObSensor.hpp 751B
image2.jpg 143KB
image5.jpg 116KB
image6.jpg 103KB
image4.jpg 70KB
image1.jpg 26KB
gemini_330_series.launch 11KB
gemini2XL.launch 9KB
gemini2L.launch 8KB
gemini2_nodelet.launch 8KB
gemini2.launch 7KB
dabai_dcl.launch 7KB
femto_mega.launch 7KB
femto_bolt.launch 7KB
femto.launch 6KB
astra2.launch 6KB
dabai_max_pro.launch 5KB
gemini_uw.launch 5KB
astra_adv.launch 5KB
deeya.launch 5KB
dabai.launch 5KB
astra_embedded_s.launch 5KB
gemini.launch 5KB
astra_pro2.launch 5KB
astra_stereo_u3.launch 5KB
astra.launch 5KB
dabai_dcw.launch 5KB
dabai_dcw2.launch 5KB
gemini_ew.launch 5KB
gemini_e.launch 4KB
ob_camera.launch 4KB
ob_camera_gdb.launch 4KB
dabai_d1.launch 4KB
dabai_dw2.launch 3KB
dabai_pro.launch 3KB
dabai_dw.launch 3KB
dabai_max.launch 3KB
gemini_ew_lite.launch 3KB
共 145 条
- 1
- 2
资源评论
DeepAlchemy
- 粉丝: 862
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Delphi 12 控件之unidac-10.2.1-d29pro.exe
- keyword.other.package.java
- Apple//DTD PLIST 1.0//EN
- comment.block.documentation.rust
- there is no way to distinguish perfectly
- 数据库管理工具:dbeaver-ce-24.0.2-x86-64-setup.exe
- Objective-C.tmLanguage
- 数据库管理工具:dbeaver-ce-24.0.2-macos-x86-64.dmg
- Delphi 12 控件之StyleControls 5.77.7z
- 苹果CMSV10红色自适应网站模板
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功