当前位置: 首页 > news >正文

奥比中光 Femto Bolt相机ROS配置

机械臂手眼标定详解

作者: 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
系统环境1Ubuntu20.04 + x86 PC + ROS1 Noetic
系统环境2Ubuntu20.04 + Jetson Orin 64G Jetpack5.1.2+ ROS1 Noetic
系统环境3Ubuntu22.04 + Jetson Orin 64G Jetpack6.0 + ROS2 Humble
相机型号Femto bolt
相机固件v1.0.9
接线原装DC电源+TypeC数据
驱动包 1OrbbecSDK_ROS1
驱动包 2OrbbecSDK_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
http://www.lryc.cn/news/258662.html

相关文章:

  • scala表达式
  • uniapp,点击选中并改变颜色,第二次点击取消选中状态
  • mmyolo的bbox_loss和检测bbox都是空
  • Linux——基本指令(二)
  • 渲染农场对工业产品渲染带来的意义与优势?
  • 产品入门第二讲:Axure产品元件库的使用
  • (第7天)Linux 静默安装单机 Oracle 19C 数据库
  • 智能优化算法应用:基于入侵杂草算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 数据挖掘目标(Kaggle Titanic 生存测试)
  • 【Vue】router.push用法实现路由跳转
  • 设计原则 | 接口隔离原则
  • maui 调用文心一言开发的聊天APP 3
  • 鸿蒙开发 - ohpm安装第三方库
  • [C++] new和delete
  • OpenVINS学习2——VIRAL数据集eee01.bag运行
  • jemeter,断言:响应断言、Json断言
  • 【vue实战项目】通用管理系统:信息列表,信息的编辑和删除
  • 基于FPGA的视频接口之高速IO(光纤)
  • HTML实现页面
  • 回归预测 | MATLAB实现IWOA-LSTM改进鲸鱼算法算法优化长短期记忆神经网络的数据回归预测(多指标,多图)
  • 鸿蒙开发之状态管理@State
  • redis基本用法学习(主要数据类型)
  • 低代码:美味膳食或垃圾食品
  • 设计模式—观察者模式
  • Java_EasyExcel_导入_导出Java-js
  • 循环神经网络-RNN记忆能力实验 [HBU]
  • P1044 [NOIP2003 普及组] 栈——卡特兰数
  • 9:00面试,9:06就出来了,问的问题有点变态。。。
  • ets:tab2list的不足之处与替代方法,以及gen_server中使用ets的优缺点
  • 软件测试之压力测试详解