乐视的电视机摄像头带有深度信息,可用于体感识别、视觉SLAM、点云地图构建、三维重建等应用。但是刚开始无法显示RGB彩色图像,最后解决的过程发现有两种方法可以实现,一种是基于OpenNI的,另一种是基于uvc_camera的相机直接驱动,思路一是安装OpenNI库,以及解决官方的驱动包有一个硬件配置跟自己电脑的不同。修改后启动astrapro.launch可以正常显示,思路二是安装uvc_camera相机驱动,修改astra.launch添加基于uvc_camera的RGB配置文件。过程如下:
方案一
- 安装依赖:
$ sudo apt-get install build-essential freeglut3 freeglut3-dev
- 检查udev版本,需要libudev.so.1
$ ldconfig -p | grep libudev.so.1
$ cd /lib/x86_64-linux-gnu $ sudo ln -s libudev.so.x.x.x libudev.so.1
- 下载驱动,推荐在官网:https://orbbec3d.com/develop/#registergestoos处手动下载驱动,用wget或git clone命令下载可能会由于镜像源问题或网络中断
- 下载好的压缩文件一般在Downoloads文件夹下面,有一个名为OpenNI_2.3.0.63.zip的压缩包,然后将其拷贝到Home目录下,进行安装。
- 安装步骤如下: 先解压压缩文件
$ cd ~ $ unzip OpenNI_2.3.0.63.zip $ cd OpenNI_2.3.0.63/Linux/OpenNI-Linux-x64-2.3.0.63
- 安装
$ sudo chmod a+x install.sh
$ sudo ./install.sh
- 重插设备加入环境
$ source OpenNIDevEnvironment
- 安装ROS包,避免下载中断,建议直接下载压缩文件地址:https://github.com/orbbec/ros_astra_camera,下载后在Downloads下找。
- 如果用命令下载为:(可能中断)
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_make$ cd ~/catkin_ws/src
$ git clone https://github.com/orbbec/ros_astra_camera
- Create astra udev rule
$ roscd astra_camera
$ sudo sh ./scripts/create_udev_rules
- 编译源码包
$ cd ~/catkin_ws
$ catkin_make --pkg astra_camera
- 添加环境
$ source ~/catkin_ws/devel/setup.bash
- 启动 launch
$ roslaunch astra_camera astrapro.launch
- 会发现有如下的报错,原因是astrapro.launch设备的ID号与自己电脑的不同造成的。
- astrapro.launch文件中设备的ID号为0x501。
- 查看自己设备的RGB相机号输入命令:lsusb,看到是0x502,因此把astrapro.launch文件中改为0x502,再次启动launch即可。
- 显示效果如下(用rviz看)
方案二
- 命令行运行sudo apt-get install ros-kinetic-uvc-camera,如果报错不能安装请参考https://www.cnblogs.com/fuzhuoxin/p/12564325.html
- 打开astra.launch文件在标签</launch>前加入如下配置内
1 <node pkg="uvc_camera" type="uvc_camera_node" name="uvc_camera" output="screen"/> 2 <param name="width" type="int" value="320" /> 3 <param name="height" type="int" value="240" /> 4 <param name="fps" type="int" value="30" /> 5 <param name="frame" type="string" value="wide_stereo" /> 6 7 <param name="auto_focus" type="bool" value="False" /> 8 <param name="focus_absolute" type="int" value="0" /> 9 <!-- other supported params: auto_exposure, exposure_absolute, brightness, power_line_frequency --> 10 11 <param name="device" type="string" value="/dev/video2" /> 12 <param name="camera_info_url" type="string" value="file://$(find uvc_camera)/example.yaml" />
保存编译运行rqt_image,分别查看深度图和RGB图
- 利用下面的这个软件,还可以做三维重建,效果如下:扫描物在相机设置的范围内旋转一圈即可,但是对电脑配置要求比较高