在这里,已经提前在ubuntu22.04系统下安装好了ros2,让相继运行步骤如下:
1.创建 ROS2 工作空间
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
2.克隆官方源码(GitHub / Gitee 二选一)
# GitHub(海外/稳定)
git clone -b v2-main https://github.com/orbbec/OrbbecSDK_ROS2.git
# Gitee(国内/加速)
# git clone -b v2-main https://gitee.com/orbbecdeveloper/OrbbecSDK_ROS2.git
3.安装编译依赖
sudo apt install -y libgflags-dev nlohmann-json3-dev libgoogle-glog-dev \
ros-humble-image-transport ros-humble-image-publisher ros-humble-camera-info-manager \
ros-humble-diagnostic-updater ros-humble-diagnostic-msgs ros-humble-xacro
4.编译、设置环境
cd ~/ros2_ws
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
# 加载环境(加入~/.bashrc可永久生效)
echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc
5.安装 udev 规则(源码版专用脚本)
cd ~/ros2_ws/src/OrbbecSDK_ROS2/orbbec_camera/scripts
sudo bash install_udev_rules.sh
sudo udevadm control --reload-rules && sudo udevadm trigger
6.验证安装
# 查看包是否存在
ros2 pkg list | grep orbbec
# 启动相机节点(以Gemini 335为例)
ros2 launch orbbec_camera gemini_330_series.launch.py
若ros2 pkg list | grep orbbec命令后有orbbec_camera、orbbec_camera_msgs、orbbec_description,则这个命令的验证成功,如果空白,没有这些的输出,则编译失败,有可能是ros2的backward_ros包没有安装,直接运行以下命令:
sudo apt update
sudo apt install -y ros-humble-backward-ros
安装完成后,直接重新编译Orbbec 包(backward_ros 已经被打包进 Ubuntu 的 ROS 2 软件源里了,直接一条命令就能安装,完全不用下载源码)
cd ~/ros2_ws
rm -rf build install log
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
source install/setup.bash
ros2 pkg list | grep orbbec
把 ROS2 和工作空间的环境永久加到 .bashrc 里,这样每次打开终端都自动加载:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
echo "conda deactivate" >> ~/.bashrc
source ~/.bashrc
7.验证成功后,运行相机
7.1 运行相机
ros2 launch orbbec_camera gemini_330_series.launch.py
7.2 运行rqt_image_view
ros2 run rqt_image_view rqt_image_view
想永久解决 rqt_image_view: command not found 的问题,可以把环境变量加到 .bashrc 里:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc
7.3 客户端界面运行和设置
# 安装 RViz(如果没装)
sudo apt install -y ros-humble-rviz2
# 启动 RViz
ros2 run rviz2 rviz2
打开界面后,设置如下:
1.左侧 Displays 面板里:
- 找到
Fixed Frame,把默认的map改成camera_color_frame - 改完之后,那个红色报错提示就会消失了
2. 添加彩色图像
- 点击左下角的
Add按钮 - 在弹出的窗口里,选择
Image,点击OK - 左侧列表里会出现新的
Image项,点进去设置:- 把
Topic改成/camera/color/image_raw - 调整
Image Rendering里的Size,可以让画面显示得更合适
- 把
3.添加3D点云
- 再点一次
Add按钮 - 选择
PointCloud2,点击OK - 左侧新出现的
PointCloud2项里:- 把
Topic改成/camera/depth/points - 把
Style改成Flat Squares,点云会更清晰 - 可以把
Size (m)调到0.005,点云更细腻
- 把
7.4 ros2调取摄像头的数据和信息
7.4.1 查看相机内参(标定信息)
ros2 topic echo /camera/color/camera_info
7.4.2 查看话题发布频率(帧率)
ros2 topic hz /camera/color/image_raw