奥比中光摄像头(astra pro)在kinetic和melodic下同时显示深度图像和彩色图像(rgb)的方法
前言:乐视摄像头采用的是奥比中光astra pro,套了个外壳就原价899,但出事儿后这款摄像头卖不出去了。。。淘宝上淘了一个(链接),搞视觉的可以整一个玩玩,效果还行。
作者主要是在ROS下使用,安装这款摄像头的ROS驱动(astra_camera和astra_launch)后打开rqt_image_view后却只能看到深度图像,ir和rgb图像都无法显示。学长用的正版奥比中光可以看到,但是用我的摄像头就不行,也许是便宜吧。。。按照张瑞雷大佬的博客走不通,于是就开始自己爬坑了。
首先安装astra驱动:
- kinetic版本可以直接sudo apt-get install ros-kinetic-astra ***(自动补全一下,忘记了。。)把两个包安装上。
- melodic版本只能源码编译喽,打开工作空间的src目录,执行git clone https://github.com/orbbec/ros_astra_launch.git和https://github.com/orbbec/ros_astra_camera.git
然后launch后发现只能输出深度图像。。。大佬的博客里面是用libuvc源码编译的,比较容易报错,其实直接用uvc_camera就行。讲如下代码插入到ros_astra_launch/launch/astra.launch的最后面(前),注意自己设备的端口号,笔记本的video0和video1是自带摄像头,台式机的video0就是外接的摄像头。
<node pkg="uvc_camera" type="uvc_camera_node" name="uvc_camera" output="screen"/> <param name="width" type="int" value="320" /> <param name="height" type="int" value="240" /> <param name="fps" type="int" value="30" /> <param name="frame" type="string" value="wide_stereo" /> <param name="auto_focus" type="bool" value="False" /> <param name="focus_absolute" type="int" value="0" /> <!-- other supported params: auto_exposure, exposure_absolute, brightness, power_line_frequency --> <param name="device" type="string" value="/dev/video2" /> <param name="camera_info_url" type="string" value="file://$(find uvc_camera)/example.yaml" />
最后launch一下在打开rqt_image_view就可以看到彩色图的话题/image_raw了。