奥比中光 Femto Bolt相机ROS配置

本文涉及的产品
资源编排,不限时长
简介: 这篇文章介绍了奥比中光Femto Bolt相机在ROS1 Noetic和ROS2 Humble环境下的配置过程,包括自动脚本和手动配置方法,适用于Ubuntu 20.04/22.04系统和Jetson Orin平台。

作者: Herman Ye @Auromix
测试环境: Ubuntu20.04/22.04 、ROS1 Noetic/ROS2 Humble、X86 PC/Jetson Orin、Kinect DK/Femto Bolt
更新日期: 2023/12/12
注1: @Auromix 是一个机器人爱好者开源组织。
注2: 由于笔者水平有限,以下内容可能存在事实性错误。
注3: 本文中直接引用各包官方文档的图片等内容,版权归各官方所有。

前言

记录了奥比中光 Femto Bolt相机的配置过程。
包括在边缘平台Jetson Orin以及普通的x86 PC上的ROS1ROS2版本相机包的配置。
在博文发布的时间点,以下步骤测试有效。

参数
测试日期 2023-12-11
系统环境1 Ubuntu20.04 + x86 PC + ROS1 Noetic
系统环境2 Ubuntu20.04 + Jetson Orin 64G Jetpack5.1.2+ ROS1 Noetic
系统环境3 Ubuntu22.04 + Jetson Orin 64G Jetpack6.0 + ROS2 Humble
相机型号 Femto bolt
相机固件 v1.0.9
接线 原装DC电源+TypeC数据
驱动包 1 OrbbecSDK_ROS1
驱动包 2 OrbbecSDK_ROS2

在这里插入图片描述

ROS1 Noetic

测试环境为Ubuntu20.04 + x86 PC + ROS1 Noetic以及Ubuntu20.04 + Jetson Orin 64G Jetpack5.1.2+ ROS1 Noetic

配置

方式一: 自动脚本配置

Auromix提供了Femto Bolt的ROS1自动配置脚本,复制以下命令到终端中使用:

wget -O $HOME/orbbec_femto_bolt_ros1_install.sh https://raw.githubusercontent.com/auromix/ros-install-one-click/main/orbbec_femto_bolt_ros1_install.sh && sudo chmod +x $HOME/orbbec_femto_bolt_ros1_install.sh && bash $HOME/orbbec_femto_bolt_ros1_install.sh && rm $HOME/orbbec_femto_bolt_ros1_install.sh

如果希望了解自动配置脚本的内容,可查看github上的ros-install-one-click项目

方式二:手动配置

  • 下载
# Create ROS workspace
mkdir -p ~/orbbec_test_ws/src && cd ~/orbbec_test_ws/src
# Download Camera ROS SDK
git clone https://github.com/orbbec/OrbbecSDK_ROS1.git
  • 安装依赖
# Install dependencies
cd ~/orbbec_test_ws
rosdep install --from-paths src --ignore-src -r -y
sudo apt install libgflags-dev ros-$ROS_DISTRO-image-geometry ros-$ROS_DISTRO-camera-info-manager
sudo apt install ros-$ROS_DISTRO-image-transport ros-$ROS_DISTRO-image-publisher 
sudo apt install libgoogle-glog-dev libusb-1.0-0-dev libeigen3-dev
  • 编译
# Build
cd ~/orbbec_test_ws
catkin_make
  • 设置ROS环境
# Set workspace environment
echo "source ~/orbbec_test_ws/devel/setup.bash" >> ~/.bashrc
source ~/orbbec_test_ws/devel/setup.bash
  • 设置udev
# Set udev rules for camera
roscd orbbec_camera
cd script
sudo cp 99-obsensor-libusb.rules /etc/udev/rules.d/99-obsensor-libusb.rules
# Reset udev to activate rules for camera
sudo udevadm control --reload && sudo  udevadm trigger
  • 重启相机
    重新插拔相机的电源及数据线。

测试

  • 启动相机节点
# Terminal 1
roslaunch orbbec_camera femto_bolt.launch
  • 启动RViz观察
# Terminal 2
rviz
  • 获取相机内参等参数
# Terminal 3
rosservice call /camera/get_camera_params "{}"
# Terminal 4
rostopic echo /camera/depth/camera_info
# Terminal 5
rostopic echo /camera/color/camera_info

TroubleShooting

如果出现[ERROR] [1702263159.133516247]: Failed to initialize device uvc_open path=2-6-7.2 failed,return res-6 ,可以尝试重装libuvc库或重启相机节点。

git clone https://github.com/libuvc/libuvc
cd libuvc
mkdir build
cd build
cmake ..
make && sudo make install
sudo ldconfig

ROS2 Humble

测试环境为Ubuntu22.04 + Jetson Orin 64G Jetpack6.0 + ROS2 Humble

配置

方式一: 自动脚本配置

Auromix提供了Femto Bolt的ROS2自动配置脚本,复制以下命令到终端中使用:

wget -O $HOME/orbbec_femto_bolt_ros2_install.sh https://raw.githubusercontent.com/auromix/ros-install-one-click/main/orbbec_femto_bolt_ros2_install.sh && sudo chmod +x $HOME/orbbec_femto_bolt_ros2_install.sh && bash $HOME/orbbec_femto_bolt_ros2_install.sh && rm $HOME/orbbec_femto_bolt_ros2_install.sh

如果希望了解自动配置脚本的内容,可查看github上的ros-install-one-click项目

方式二:手动配置

  • 下载
# Create ROS2 workspace
mkdir -p ~/orbbec_test_ws/src && cd ~/orbbec_test_ws/src
# Download Camera ROS2 SDK
git clone https://github.com/orbbec/OrbbecSDK_ROS2.git
  • 安装依赖
# Install dependencies
cd ~/orbbec_test_ws
rosdep install --from-paths src --ignore-src -r -y
sudo apt install libgflags-dev nlohmann-json3-dev libgoogle-glog-dev
sudo apt install ros-$ROS_DISTRO-image-transport ros-$ROS_DISTRO-image-publisher ros-$ROS_DISTRO-camera-info-manager
  • 构建
# Build release version
cd ~/orbbec_test_ws
colcon build --event-handlers  console_direct+  --cmake-args  -DCMAKE_BUILD_TYPE=Release
  • 设置ROS环境
# Set workspace environment
echo "source ~/orbbec_test_ws/install/setup.bash" >> ~/.bashrc
source ~/orbbec_test_ws/install/setup.bash
  • 设置udev
# Set udev rules for camera
cd ~/orbbec_test_ws/src/OrbbecSDK_ROS2/orbbec_camera/scripts
sudo bash install_udev_rules.sh
# Reset udev to activate rules for camera
sudo udevadm control --reload-rules && sudo udevadm trigger
  • 重启相机
    重新插拔相机的电源及数据线。

测试

# Terminal 1
ros2 launch orbbec_camera femto_bolt.launch.py
# Terminal 2
rviz2
相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
[ros] --- 配置ros主从机
[ros] --- 配置ros主从机
579 0
|
机器人 C++
ROS问题汇总以及vsode配置问题
ROS问题汇总以及vsode配置问题
ROS问题汇总以及vsode配置问题
|
4月前
|
XML 存储 机器人
06 ROS配置launch文件
本文介绍了如何在ROS(机器人操作系统)中配置launch文件,包括设置节点、参数、局部变量、重映射以及嵌套launch文件的方法,并通过XML格式实现了多节点的一键配置与启动。
75 0
|
数据采集 数据可视化 Ubuntu
相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 使用方法
该功能包提供了一个手动校准Livox雷达和相机之间外参的方法,已经在Mid-40,Horizon和Tele-15上进行了验证。其中包含了计算相机内参,获得标定数据,优化计算外参和雷达相机融合应用相关的代码。本方案中使用了标定板角点作为标定目标物,由于Livox雷达非重复性扫描的特点,点云的密度较大,比较易于找到雷达点云中角点的准确位置。相机雷达的标定和融合也可以得到不错的结果。
相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 使用方法
|
4月前
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
413 1
ROS2教程02 ROS2的安装、配置和测试
|
4月前
|
传感器 机器人 测试技术
ROS相机内参标定详细步骤指南
本文是关于ROS相机内参标定的详细步骤指南,包括了标定的目的、原理、所需材料、具体操作流程以及标定结果的分析。文章以Ubuntu20.04和ROS1 Noetic为测试环境,适用于单目RGB相机的内参标定,使用ros-noetic-camera-calibration工具包进行操作,并提供了标定过程中的注意事项和建议。
306 1
ROS相机内参标定详细步骤指南
|
4月前
|
存储 Ubuntu 计算机视觉
使用ros标定相机的内参和外参
使用ros标定相机的内参和外参
182 2
|
4月前
|
机器人 Shell 开发者
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
这篇文章是关于ROS2(Robot Operating System 2)中功能包、依赖管理、工作空间配置和编译的教程,涵盖了ROS2工作空间的概念、如何获取和安装功能包的依赖、构建工作空间的步骤,以及如何创建和管理ROS2功能包,包括使用命令行工具对功能包进行操作的方法。
551 0
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
|
4月前
|
传感器 NoSQL 算法
ROS Moveit 配置全网最详细教程
本文是关于ROS Moveit配置的全网最详细教程,提供了一键安装脚本,以及如何使用Moveit进行机器人运动规划的详细步骤和说明。文中还深入解析了Moveit的配置包文件、Moveit的源码,以及如何使用不同的运动规划算法(如CHOMP、LERP、STOMP)进行路径规划。
414 0
ROS Moveit 配置全网最详细教程
|
4月前
|
Ubuntu 机器人 虚拟化
Ubuntu22.04配置ROS2 Humble
这篇文章是关于如何在Ubuntu 22.04系统上配置ROS2 Humble的详细教程,包括虚拟机安装、环境配置、网络设置、软件源更换、ROS1和ROS2的安装步骤。
452 1

推荐镜像

更多