乐视的电视机摄像头带有深度信息,可用于体感识别、视觉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文件在标签前加入如下配置内
1
2
3
4
5
6
7
8
9
10
11
12
保存编译运行rqt_image,分别查看深度图和RGB图
利用下面的这个软件,还可以做三维重建,效果如下:扫描物在相机设置的范围内旋转一圈即可,但是对电脑配置要求比较高