ROS下调用奥比中光dabai相机

写在前面

其实这篇教程本可以不写的,但是介于手上这台相机的特殊性,还是写一下。教程本身就是官方git说明的前一部分,几乎没什么改动,安装起来比realsense还方便些。

这款相机是从松灵limo上拆下来的,但是在松灵的宣传册中只看到了d435,很显然这个不是rs中的任何一款。机身本体没有任何文字表明这个是什么相机,在ubuntu中调用lsusb才知道是奥比中光。但是翻遍奥比中光官网的产品列表没有发现这款,购物软件识图也没用,全网都没有外形是梯形的深度相机。最后才发现是dabai,然而就算是知道了型号也在网上找不到与实物一样的图,索性可以调用,这些细枝末节也就当图一乐。

官方教程

https://github.com/orbbec/ros_astra_camera

直接按照readme做就行,做到roslaunch astra_camera astra.launch这一步开rviz就能看到点云和彩色图像了。注意,launch要按照具体的相机型号来,astra就是astra.launch,dabai就是dabai.launch,具体可以看launch文件

安装依赖

sudo apt install libgflags-dev ros-$ROS_DISTRO-image-geometry ros-$ROS_DISTRO-camera-info-manager ros-$ROS_DISTRO-image-transport ros-$ROS_DISTRO-image-publisher libusb-1.0-0-dev libeigen3-dev ros-$ROS_DISTRO-backward-ros libdw-dev

安装libuvc

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

下载官方ROS包并编译

cd ~/ros_ws/src 
git clone https://github.com/orbbec/ros_astra_camera.git 
cd ~/ros_ws catkin_make

添加规则,不添加会在调用时显示权限不够

cd ~/ros_ws 
source ./devel/setup.bash 
roscd astra_camera 
./scripts/create_udev_rules 
sudo udevadm control --reload && sudo udevadm trigger

调用相机查看点云

roslaunch astra_camera dabai.launch
rviz

### 使用ROS2和奥比摄像头实现SLAM 为了在ROS2环境中使用奥比摄像头进行SLAM操作,需完成一系列特定设置与配置工作。这不仅涉及硬件连接还涉及到软件环境的搭建以及具体程序的编写。 #### 安装依赖项 确保已安装必要的ROS2包和其他依赖库。对于ROS2而言,可以通过以下命令来更新并安装基础工具: ```bash sudo apt update && sudo apt install ros-foxy-desktop ``` #### 配置开发环境 创建一个新的ROS2工作空间,并克隆所需的ORB_SLAM3仓库至该路径下的`src`文件夹内。注意这里推荐使用ORB_SLAM3因为其支持ROS2版本而不仅仅是限于ROS1[^4]。 ```bash mkdir -p ~/ros2_ws/src cd ~/ros2_ws/src/ git clone --recursive https://github.com/UZ-SLAMLab/ORB_SLAM3.git ``` 接着,在同一层目录下初始化并构建整个项目结构: ```bash cd .. colcon build --symlink-install source install/setup.bash ``` #### 修改节点订阅话题名称 鉴于默认情况下ORB_SLAM3所监听的消息主题可能并不匹配实际使用的传感器数据流,因此有必要调整源代码中的相应部分以适应具体的摄像机型号。编辑位于`Examples/ROS/ORB_SLAM3/src/ros_rgbd.cc`内的C++文件,修改其中关于图像消息和服务调用的相关参数使其能够正确接收来自Astra Pro的数据流[^2]。 #### 编写启动脚本 准备两个用于简化流程控制的Shell脚本来分别负责开启相机驱动服务和执行SLAM算法处理逻辑。以下是针对这两者的模板示例: **run_camera.sh** ```bash #!/bin/bash # 启动Orbbec Astra Pro ROS2驱动器 ros2 launch realsense2_camera rs_launch.py device_type:=astra_pro ``` **run_orbslam3.sh** ```bash #!/bin/bash # 设置环境变量指向词汇表位置 export ORB_VOCABULARY="/path/to/Vocabulary/ORBvoc.bin" # 加载配置文件并启动RGB-D SLAM模式 ros2 run orb_slam3_ros rgbd_node __params:=/path/to/config/orb_slam_3.yaml ``` 赋予上述两份脚本可执行权限之后即可通过简单的指令快速切换不同的功能模块之间的工作状态。 #### 测试验证 最后一步是在虚拟化平台之上测试整体系统的兼容性和稳定性。参照先前提及的方法将物理外设接入VMware实例内部后依照既定步骤逐一检验各个组件能否协同作业良好[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值