3.gemini336相机在ubuntu22.04的ros2下运行

在这里,已经提前在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
相关推荐
山楂树の1 天前
原生 WebGL + Canvas 实现鱼眼图像去畸变(Shader逐像素计算)
图像处理·数码相机·学习·程序人生
蓉蓉的数码视界1 天前
【无标题】
数码相机
科研前沿1 天前
镜像视界浙江科技有限公司的核心引擎关键技术有哪些?
人工智能·数码相机·计算机视觉
ZPC82101 天前
工业机器人视觉引导焊缝定位
数码相机
ZPC82101 天前
手眼标定原理
数据库·数码相机·postgresql
zhihuishuxia__2 天前
Multiplex通讯(多路复用通讯)
网络·图像处理·数码相机·计算机视觉·自动化
不懒不懒2 天前
【基于 PyQt5 + PaddleOCR 的工业视觉型号检测系统开发】
数码相机
steven_yzx2 天前
自动驾驶相机坐标系转换
人工智能·数码相机·自动驾驶
steven_yzx2 天前
自动驾驶相机坐标系转换2
人工智能·数码相机·自动驾驶