kinect-v1深度相机介绍以及ubuntu16.04下的使用
- 一、相机简介
- 1、机身构造
- 2、深度值的实际意义
- 3、各个相机坐标系
- 二、ubuntu16.04下安装以及使用
- 1、环境
- 2、安装方法1(推荐)
- (1)安装
- (2)使用
- (3)可能会有的错误
- 3、安装方法2
- 4、安装方法3,githup下载功能包安装(不推荐)
- 5、相关的话题以及作用
- (1)功能包中的话题和作用
- (2)常用的话题以及格式
- 6、深度配准图没有数据的问题
- 7、卸载安装的功能包
- 8、在rviz中显示点云
- 9、查看话题的数据流
- 10、查看话题刷新频率
一、相机简介
1、机身构造
一个彩色相机,一个红外线CMOS摄像机和一个红外发射器。相机的红外线CMOS摄像机和红外发射器以左右水平的方式分布。
2、深度值的实际意义
(1)以结构光为基础进行改进后的光编码(Light Coding)技术获得物体的深度信息
(2)深度信息在ros下的话题中以两个8位的数值拼成
(3)深度信息的实际意义是点到相机光轴平面的垂直距离,即相机坐标系中的Zc值
3、各个相机坐标系
二、ubuntu16.04下安装以及使用
1、环境
Ubuntu16.04+ROS Kinetic
2、安装方法1(推荐)
(1)安装
sudo apt-get install ros-kinetic-freenect-*
rospack profile
(2)使用
安装rqt-image-view显示图像
sudo apt-get install ros-kinetic-rqt-image-view
运行相机以及显示
roslaunch freenect_launch freenect.launch
rosrun rqt_image_view rqt_image_view
(3)可能会有的错误
会有警告和错误,不影响图像显示,因为点云图的话题没有才报的错。
3、安装方法2
$ sudo apt-get install ros-kinetic-openni-camera ros-kinetic-openni-launch
$ rospack profile
$ roslaunch openni_launch openni.launch
我这边显示检测不到设备,如果有知道原因的朋友感谢给我留言。
4、安装方法3,githup下载功能包安装(不推荐)
在cmake时可能出现错误,unique_ptr’ in namespace ‘std’ does not name a template type
解决如下:在CmakeLists.txt中添加一行
set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -std=c++11”)
5、相关的话题以及作用
(1)功能包中的话题和作用
(2)常用的话题以及格式
rostopic list
相关topic
[1]RGB图像:/camera/rgb/image_color
ROS数据格式:sensor_msgs/Image
OPENCV数据格式:Mat
图像尺寸:640*480
像素数据类型:8UC3
[2]深度图像:/camera/depth/image
ROS数据格式:sensor_msgs/Image
OPENCV数据格式:Mat
图像尺寸:640*480
像素数据类型:32FC1
[3]点云数据(无整合RGB): /camera/depth/points
ROS数据格式:sensor_msgs/Image
PCL点云库数据格式:pcl::PointCloudpcl::PointXYZ
图像尺寸:有序点云,640*480
像素数据类型:double
6、深度配准图没有数据的问题
如果深度配准图没有数据,找到安装路径,/opt/ros/kinetic/share/freenect_launch,修改launch文件
7、卸载安装的功能包
如果想要重新装,建议把之前装的卸载掉
sudo apt-get remove ros-kinetic-openni-*
sudo apt-get remove ros-kinetic-freenect-*
8、在rviz中显示点云
添加pointcloud2,修改话题
9、查看话题的数据流
rostopic echo /camera/depth/points
10、查看话题刷新频率
rostopic hz camera/rgb/image_raw