本文主要是介绍奥比中光Astra RGBD ROS1配置(乐视RGBD),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
早年买了一款乐视RGBD一直落灰,最近做一个机器人项目想重新使用起来。发现官方给的RGBD包和github上面的ros_astra_camera包并不能很好的驱动这款相机。研究了一下进行补足。
最终的结果是彩色,红外以及深度退昂均能实时读取。具体过程如下:
安装配置
- 安装依赖
sudo apt install ros-$ROS_DISTRO-rgbd-launch ros-$ROS_DISTRO-libuvc ros-$ROS_DISTRO-libuvc-camera ros-$ROS_DISTRO-libuvc-ros ros-$ROS_DISTRO-uvc-camera
- 下载ros包并编译
mkdir -p ~/astra_ws/src && cd ~/astra_ws/srcgit clone https://github.com/orbbec/ros_astra_cameracd ../catkin_make
这时候直接使用官方包是不能够显示彩色和红外相机的。
解决方案
关闭官方的彩色输出,允许红外输出。采用ros官方的usb_cam包对彩色摄像头进行驱动。
- 安装ros官方usb相机包
sudo apt-get install ros-$ROS_DISTRO-usb-cam
安装好以后的包在/opt/ros/$ROS_DISTRO/usb_cam
。我们需要自行编辑一个launch文件用于适配astra彩色相机。可以在/opt/ros/$ROS_DISTRO/usb_cam/share/launch
新建launch文件,并填写以下内容:
<!--usb_cam.launch-->
<launch><arg name="image_width" default="640"/><arg name="image_height" default="480"/><arg name="video_device" default="/dev/video0"/><arg name="pixel_format" default="mjpeg"/><arg name="image_view" default="false" /><node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" ><param name="video_device" value="$(arg video_device)" /><param name="image_width" value="$(arg image_width)" /><param name="image_height" value="$(arg image_height)" /><param name="pixel_format" value="$(arg pixel_format)" /><param name="color_format" value="yuv422p" /><param name="camera_frame_id" value="usb_cam" /><param name="io_method" value="mmap"/></node>
</launch>
其中的参数都可以根据需要修改。文件创建好以后,可以使用 roslaunch usb_cam usb_cam.launch
运行。
- 关闭官方彩色摄像头输出,修改astra.launch文件,使得:
<arg name="enable_color" default="false"/><arg name="enable_ir" default="true"/>
运行
- 开两个ros节点:
roslaunch astra_camera astra.launch &roslaunch usb_cam usb_cam.launch
即可得彩色、红外以及深度三个相机的数据。通过rviz查看:
这篇关于奥比中光Astra RGBD ROS1配置(乐视RGBD)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!