Files
OrbbecSDK_ROS2/README.MD
T

185 lines
3.8 KiB
Markdown
Raw Normal View History

2022-06-10 14:24:27 +08:00
# orbbec_camera
2022-06-10 11:56:26 +08:00
---
2022-06-10 14:24:27 +08:00
ORBBEC_SDK ROS2 wrapper for orbbec 3d camera
## Installation Instructions
---
Install ROS2
* Add ROS2 gpg key
```bash
sudo apt install curl gnupg2
sudo curl -sSL https://mirrors.tuna.tsinghua.edu.cn/rosdistro/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
```
* Add tuna ROS2 mirror
```bash
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
sudo apt update
```
* Install ROS2
```bash
sudo apt-get install ros-galactic-desktop
sudo apt-get install python3-colcon-common-extensions
```
2022-06-10 15:15:18 +08:00
>>If your ROS2 command does not auto-complete, put the following two lines into your `.bashrc`
2022-06-10 14:24:27 +08:00
or `.zshrc`
```bash
eval "$(register-python-argcomplete3 ros2)"
eval "$(register-python-argcomplete3 colcon)"
```
Create `colcon` workspace Ubuntu
```bash
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
```
Clone source code
```bash
git clone [email protected]:OrbbecSDK/orbbecros2sdk.git
```
Install `magic_enum`
```bash
cd orbbec_camera/dependencies
tar -xzvf magic_enum-0.8.0.tar.gz
cd magic_enum-0.8.0
mkdir build && cd build
cmake .. && make -j4
sudo make install
sudo ldconfig
```
2022-06-13 14:58:47 +08:00
Install `ORBBEC_SDK`,First remove old one if you have installed, **BE CAREFUL**
2022-06-10 14:24:27 +08:00
```bash
2022-06-13 14:58:47 +08:00
# remove old(If you have already installed
cd /usr/local/lib/
sudo rm libOrbbecSDK.so* # BE CAREFUL
sudo rm libpostfilter.so
cd /usr/local/include/
sudo rm -fr libobsensor
# install
2022-06-10 14:24:27 +08:00
cd orbbec_camera/dependencies
tar -xzvf sensor_sdk_v1.2.8_linux.tar.gz
cd SDK/lib
2022-06-13 14:58:47 +08:00
sudo cp libOrbbecSDK.so.1.2.8 /usr/local/lib
sudo cp libpostfilter.so /usr/local/lib
2022-06-10 14:24:27 +08:00
sudo ln -s /usr/local/lib/libOrbbecSDK.so.1.2.8 /usr/local/lib/libOrbbecSDK.so.1.2
sudo ln -s /usr/local/lib/libOrbbecSDK.so.1.2.8 /usr/local/lib/libOrbbecSDK.so
cd ../include
sudo cp -frd libobsensor /usr/local/include
sudo ldconfig
```
2022-06-13 16:27:42 +08:00
Other dependencies
```bash
sudo apt install libgoogle-glog-dev libgflags-dev nlohmann-json3-dev
```
2022-06-13 14:58:47 +08:00
---
## Getting start
---
2022-06-10 14:24:27 +08:00
```bash
cd ~/ros2_ws/
2022-06-13 14:58:47 +08:00
# build release, Default is Debug
colcon build --event-handlers console_direct+ -DCMAKE_BUILD_TYPE=Release
2022-06-10 14:24:27 +08:00
```
Launch camera node
* On terminal 1
```bash
. ./install/setup.bash
2022-06-13 14:58:47 +08:00
ros2 launch orbbec_camera ob_camera.launch.py
2022-06-10 14:24:27 +08:00
```
* On terminal 2
```bash
. ./install/setup.bash
rviz2 -d src/orbbec_camera/rviz/pointcloud.rviz
```
* List topics / services/ parameters ( on terminal 3)
```bash
ros2 topic list
ros2 service list
ros2 param list
```
2022-06-10 15:15:18 +08:00
* Show depth to color extrinsic
```bash
ros2 topic echo --qos-durability=transient_local /camera/extrinsic/depth_to_color --qos-profile=services_default
```
* Get device info
```bash
2022-06-13 14:58:47 +08:00
ros2 service call /camera/get_device_info orbbec_camera_msgs/srv/GetDeviceInfo '{}'
2022-06-10 15:15:18 +08:00
```
* Get SDK version
```bash
2022-06-13 14:58:47 +08:00
ros2 service call /camera/get_sdk_version orbbec_camera_msgs/srv/GetString '{}'
2022-06-10 15:15:18 +08:00
```
* Get exposure
```bash
2022-06-13 14:58:47 +08:00
ros2 service call /camera/get_color_exposure orbbec_camera_msgs/srv/GetInt32 '{}'
2022-06-10 15:15:18 +08:00
```
> If your check `ir` or `depth`, please change ` /camera/get_color_exposure`
to `/camera/get_ir_exposure` or `/camera/get_depth_exposure`, Same below.
* Get gain
```bash
2022-06-13 14:58:47 +08:00
ros2 service call /camera/get_color_gain orbbec_camera_msgs/srv/GetInt32 '{}'
2022-06-10 15:15:18 +08:00
```
* Get white balance
```bash
2022-06-13 14:58:47 +08:00
ros2 service call /camera/get_white_balance orbbec_camera_msgs/srv/GetInt32 '{}'
2022-06-10 15:16:46 +08:00
```
2022-06-10 15:15:18 +08:00
* Set auto exposure
```bash
ros2 service call /camera/set_color_auto_exposure std_srvs/srv/SetBool '{data: false}'
```
2022-06-13 16:25:01 +08:00
* Set white balance
2022-06-10 15:15:18 +08:00
```bash
ros2 service call /camera/set_white_balance orbbec_camera_msgs/srv/SetInt32 '{data: 4600}'
2022-06-10 15:17:20 +08:00
```
2022-06-13 16:10:05 +08:00
* Set laser enable
2022-06-13 16:25:01 +08:00
2022-06-13 16:10:05 +08:00
```bash
ros2 service call /camera/set_laser_enable std_srvs/srv/SetBool "{data: true}"
* ```
2022-06-13 14:58:47 +08:00
2022-06-13 16:10:05 +08:00
* toggle sensor
2022-06-13 16:25:01 +08:00
2022-06-13 16:10:05 +08:00
```bash
ros2 service call /camera/toggle_ir std_srvs/srv/SetBool "{data : true}"
* ```
2022-06-13 14:58:47 +08:00
---
## Known issues
* TODO: