ROS indigo下Kinect v1的驱动安装与调试
ROS indigo下Kinect v1的驱动安装与调试
本文简要叙述了在ROS indigo版本下Kinect v1的驱动安装与调试过程。
1. 实验环境
(1)硬件: 台式机和Kinect v1。
台式机配置:
Intel(R)Core(TM)i5-6500 CPU @ 3.20GHz 3.20GHz;
RAM: 16.0GB;
GPU: NVIDIA GeForce GTX 1060 6GB。
(2)软件:Ubuntu 14.04 + ROS indigo。
2. 安装ROS软件包
以下2种方式,任选一种安装,或者全部安装,选择一种运行也可。
(1)openni_launch
sudo apt-get install ros-indigo-openni-camera
sudo apt-get install ros-indigo-openni-launch
rosstack profile
rospack profile
(2)freenect_launch
sudo apt-get install ros-indigo-freenect-camera ros-indigo-freenect-stack ros-indigo-freenect-launch
或者直接一条命令将两种方式同时安装:
sudo apt-get install ros-indigo-openni-* ros-indigo-openni2-* ros-indigo-freenect-*
3. 测试Kinect v1设备
方式1:
终端1:
roslaunch openni_launch openni.launch
yuanlibin@yuanlibin:~$ roslaunch openni_launch openni.launch
... logging to /home/yuanlibin/.ros/log/7e08363e-2be5-11e8-b5a2-1c1b0d61bf22/roslaunch-yuanlibin-.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB. started roslaunch server http://yuanlibin:37483/ SUMMARY
======== PARAMETERS
* /camera/camera_nodelet_manager/num_worker_threads:
* /camera/depth_rectify_depth/interpolation:
* /camera/depth_registered_rectify_depth/interpolation:
* /camera/disparity_depth/max_range: 4.0
* /camera/disparity_depth/min_range: 0.5
* /camera/disparity_registered_hw/max_range: 4.0
* /camera/disparity_registered_hw/min_range: 0.5
* /camera/disparity_registered_sw/max_range: 4.0
* /camera/disparity_registered_sw/min_range: 0.5
* /camera/driver/depth_camera_info_url:
* /camera/driver/depth_frame_id: camera_depth_opti...
* /camera/driver/depth_registration: False
* /camera/driver/device_id: #
* /camera/driver/rgb_camera_info_url:
* /camera/driver/rgb_frame_id: camera_rgb_optica...
* /rosdistro: indigo
* /rosversion: 1.11. NODES
/camera/
camera_nodelet_manager (nodelet/nodelet)
depth_metric (nodelet/nodelet)
depth_metric_rect (nodelet/nodelet)
depth_points (nodelet/nodelet)
depth_rectify_depth (nodelet/nodelet)
depth_registered_hw_metric_rect (nodelet/nodelet)
depth_registered_metric (nodelet/nodelet)
depth_registered_rectify_depth (nodelet/nodelet)
depth_registered_sw_metric_rect (nodelet/nodelet)
disparity_depth (nodelet/nodelet)
disparity_registered_hw (nodelet/nodelet)
disparity_registered_sw (nodelet/nodelet)
driver (nodelet/nodelet)
ir_rectify_ir (nodelet/nodelet)
points_xyzrgb_hw_registered (nodelet/nodelet)
points_xyzrgb_sw_registered (nodelet/nodelet)
register_depth_rgb (nodelet/nodelet)
rgb_debayer (nodelet/nodelet)
rgb_rectify_color (nodelet/nodelet)
rgb_rectify_mono (nodelet/nodelet)
/
camera_base_link (tf/static_transform_publisher)
camera_base_link1 (tf/static_transform_publisher)
camera_base_link2 (tf/static_transform_publisher)
camera_base_link3 (tf/static_transform_publisher) auto-starting new master
process[master]: started with pid []
ROS_MASTER_URI=http://localhost:11311 setting /run_id to 7e08363e-2be5-11e8-b5a2-1c1b0d61bf22
process[rosout-]: started with pid []
started core service [/rosout]
process[camera/camera_nodelet_manager-]: started with pid []
process[camera/driver-]: started with pid []
process[camera/rgb_debayer-]: started with pid []
process[camera/rgb_rectify_mono-]: started with pid []
process[camera/rgb_rectify_color-]: started with pid []
process[camera/ir_rectify_ir-]: started with pid []
process[camera/depth_rectify_depth-]: started with pid []
process[camera/depth_metric_rect-]: started with pid []
process[camera/depth_metric-]: started with pid []
process[camera/depth_points-]: started with pid []
process[camera/register_depth_rgb-]: started with pid []
process[camera/points_xyzrgb_sw_registered-]: started with pid []
process[camera/depth_registered_sw_metric_rect-]: started with pid []
process[camera/depth_registered_rectify_depth-]: started with pid []
[ INFO] [1521512530.084412228]: Initializing nodelet with worker threads.
process[camera/points_xyzrgb_hw_registered-]: started with pid []
process[camera/depth_registered_hw_metric_rect-]: started with pid []
process[camera/depth_registered_metric-]: started with pid []
process[camera/disparity_depth-]: started with pid []
process[camera/disparity_registered_sw-]: started with pid []
process[camera/disparity_registered_hw-]: started with pid []
process[camera_base_link-]: started with pid []
process[camera_base_link1-]: started with pid []
process[camera_base_link2-]: started with pid []
process[camera_base_link3-]: started with pid []
Warning: USB events thread - failed to set priority. This might cause loss of data...
Warning: USB events thread - failed to set priority. This might cause loss of data...
[ INFO] [1521512530.991225346]: Number devices connected:
[ INFO] [1521512530.991443026]: . device on bus : is a SensorKinect (2ae) from PrimeSense (45e) with serial id ''
[ INFO] [1521512530.993391990]: Searching for device with index =
[ INFO] [1521512532.075612809]: Opened 'SensorKinect' on bus : with serial number ''
[ INFO] [1521512532.160335981]: rgb_frame_id = 'camera_rgb_optical_frame'
[ INFO] [1521512532.160547264]: depth_frame_id = 'camera_depth_optical_frame'
[ WARN] [1521512532.167038548]: Camera calibration file /home/yuanlibin/.ros/camera_info/rgb_0000000000000000.yaml not found.
[ WARN] [1521512532.167074136]: Using default parameters for RGB camera calibration.
[ WARN] [1521512532.167101562]: Camera calibration file /home/yuanlibin/.ros/camera_info/depth_0000000000000000.yaml not found.
[ WARN] [1521512532.167119680]: Using default parameters for IR camera calibration.
终端2:
rosrun rqt_image_view rqt_image_view
如下图所示:

方式2:
终端1:
roslaunch freenect_launch freenect-registered-xyzrgb.launch
yuanlibin@yuanlibin:~$ roslaunch freenect_launch freenect-registered-xyzrgb.launch
... logging to /home/yuanlibin/.ros/log/4f23a262-2be6-11e8-90ab-1c1b0d61bf22/roslaunch-yuanlibin-.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB. started roslaunch server http://yuanlibin:38951/ SUMMARY
======== PARAMETERS
* /camera/camera_nodelet_manager/num_worker_threads:
* /camera/depth_registered_rectify_depth/interpolation:
* /camera/driver/data_skip:
* /camera/driver/debug: False
* /camera/driver/depth_camera_info_url:
* /camera/driver/depth_frame_id: camera_depth_opti...
* /camera/driver/depth_registration: True
* /camera/driver/device_id: #
* /camera/driver/diagnostics_max_frequency: 30.0
* /camera/driver/diagnostics_min_frequency: 30.0
* /camera/driver/diagnostics_tolerance: 0.05
* /camera/driver/diagnostics_window_time: 5.0
* /camera/driver/enable_depth_diagnostics: False
* /camera/driver/enable_ir_diagnostics: False
* /camera/driver/enable_rgb_diagnostics: False
* /camera/driver/rgb_camera_info_url:
* /camera/driver/rgb_frame_id: camera_rgb_optica...
* /rosdistro: indigo
* /rosversion: 1.11. NODES
/camera/
camera_nodelet_manager (nodelet/nodelet)
depth_registered_hw_metric_rect (nodelet/nodelet)
depth_registered_metric (nodelet/nodelet)
depth_registered_rectify_depth (nodelet/nodelet)
driver (nodelet/nodelet)
points_xyzrgb_hw_registered (nodelet/nodelet)
rgb_debayer (nodelet/nodelet)
rgb_rectify_color (nodelet/nodelet)
rgb_rectify_mono (nodelet/nodelet)
/
camera_base_link (tf/static_transform_publisher)
camera_base_link1 (tf/static_transform_publisher)
camera_base_link2 (tf/static_transform_publisher)
camera_base_link3 (tf/static_transform_publisher) auto-starting new master
process[master]: started with pid []
ROS_MASTER_URI=http://localhost:11311 setting /run_id to 4f23a262-2be6-11e8-90ab-1c1b0d61bf22
process[rosout-]: started with pid []
started core service [/rosout]
process[camera/camera_nodelet_manager-]: started with pid []
process[camera/driver-]: started with pid []
process[camera/rgb_debayer-]: started with pid []
process[camera/rgb_rectify_mono-]: started with pid []
process[camera/rgb_rectify_color-]: started with pid []
process[camera/depth_registered_rectify_depth-]: started with pid []
process[camera/points_xyzrgb_hw_registered-]: started with pid []
process[camera/depth_registered_hw_metric_rect-]: started with pid []
process[camera/depth_registered_metric-]: started with pid []
process[camera_base_link-]: started with pid []
process[camera_base_link1-]: started with pid []
process[camera_base_link2-]: started with pid []
process[camera_base_link3-]: started with pid []
[ INFO] [1521512880.894225759]: Initializing nodelet with worker threads.
[ INFO] [1521512881.035164983]: Number devices connected:
[ INFO] [1521512881.035200471]: . device on bus : is a Xbox NUI Camera (2ae) from Microsoft (45e) with serial id 'B70773103929441B'
[ INFO] [1521512881.035586547]: Searching for device with index =
[ INFO] [1521512886.486004198]: Starting a 3s RGB and Depth stream flush.
[ INFO] [1521512886.486190837]: Opened 'Xbox NUI Camera' on bus : with serial number 'B70773103929441B'
[ WARN] [1521512886.495869607]: Could not find any compatible image output mode for . Falling back to default image output mode .
[ WARN] [1521512886.495915261]: Could not find any compatible depth output mode for . Falling back to default depth output mode .
[ INFO] [1521512886.503091540]: rgb_frame_id = 'camera_rgb_optical_frame'
[ INFO] [1521512886.503133073]: depth_frame_id = 'camera_depth_optical_frame'
[ WARN] [1521512886.516610578]: Camera calibration file /home/yuanlibin/.ros/camera_info/rgb_B70773103929441B.yaml not found.
[ WARN] [1521512886.516673295]: Using default parameters for RGB camera calibration.
[ WARN] [1521512886.516711780]: Camera calibration file /home/yuanlibin/.ros/camera_info/depth_B70773103929441B.yaml not found.
[ WARN] [1521512886.516746978]: Using default parameters for IR camera calibration.
[ INFO] [1521512889.945930001]: Stopping device RGB and Depth stream flush.
终端2:
rosrun rqt_image_view rqt_image_view
如下图所示:

终端2或者用命令(=后面是发布的主题,可以用rostopic list命令查看)
rosrun image_view image_view image:=/camera/rgb/image_color
查看彩色图像如下图所示:

rosrun image_view image_view image:=/camera/depth_regisred/image
查看深度图像如下图所示:

终端2或者用命令
rosrun rviz rviz
点击add,选择类型camera。添加成功后选择camera菜单下的Iamge Topic选项,选择主题/camera/rgb/image_color或者/camera/depth_registered/image查看彩色图像和深度图像。
彩色图像如下图所示:

还可以查看点云:点击add添加PointCloud2类型,修改“topic”,如下图所示:

ubuntu系统下虽然都可以查看彩色图像和深度图像,但是无法保存其成对的原始数据,关于Kinect v1彩色和深度图像对的采集步骤详见:
Kinect v1 (Microsoft Kinect for Windows v1 )彩色和深度图像对的采集步骤
参考文献:http://blog.csdn.net/x_r_su/article/details/52904113
ROS indigo下Kinect v1的驱动安装与调试的更多相关文章
- ROS indigo下Kinect v2的驱动安装与调试
ROS indigo下Kinect v2的驱动安装与调试 一.libfreenect2源码安装与测试 github地址:https://github.com/OpenKinect/libfreenec ...
- ubuntu14.04 and ros indigo install kinect driver--16
摘要: 原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ 今日多次测设ros indigo install kinect driver ,提示各种失败,然 ...
- ubuntu14.04下nodejs + npm + bower的安装、调试和部署
1. 简介 本文介绍ubuntu14.04下nodejs+npm+bower的安装.调试和部署 参考文档 https://docs.npmjs.com/getting-started https: ...
- win7下Arduino Mega 2560驱动安装失败解决办法
因为玩四轴用的apm的飞控板,而其需要安装此驱动,曾经在win8使用其,但是因为win8有相对应的数字证书保护措施(应该是这样的,因为好久了记不清楚了),以至于我每次都需要长按shift重启电脑关闭此 ...
- 机器人操作系统ROS Indigo 入门学习(1)——安装ROS Indigo【转】
转自:http://blog.csdn.net/bobsweetie/article/details/43638761 Ubuntu14.04安装ROS Indigo 一.安装ROS 1.1配置Ubu ...
- 腾达Tenda W311MA无线网卡Linux下驱动安装
菜鸟看这里https://help.ubuntu.com/community/WifiD ... enda_W311M 最近也买了颗Tenda W311M网卡,简单说一下驱动的安装和hostapd做S ...
- Kinect v1 (Microsoft Kinect for Windows v1 )彩色和深度图像对的采集步骤
Kinect v1 (Microsoft Kinect for Windows v1 )彩色和深度图像对的采集步骤 一.在ubuntu下尝试 1. 在虚拟机VWware Workstation 12. ...
- ARM驱动:SEC S3C2410X Test B/D USB驱动 安装
s3c2410x驱动是一款非常好用的usb驱动程序,win7 64位下mini2440 USB下载驱动安装,解决win7下安装SEC S3C2410X Test B/D 驱动出现叹号的问题.如果你开始 ...
- ubuntu14.04下 Kinect V2+Ros接口安装
1. 首先git下载代码,放到主文件夹下面 git clone https://github.com/OpenKinect/libfreenect2.git 2. 然后安装依赖项如下,最好事先编译安装 ...
随机推荐
- WIN10升级失败,故障代码 0X8007042B-0X4000D 解决
个人博客链接:WIN10升级失败,故障代码 0X8007042B-0X4000D 解决
- Unity NavMesh 格式 解析 分析 对比 Recast Navigation
工具软件 Excel Nodepad++ Sublime Unity 5.4 / 5.6 VS RecastDemo CodeBlocks 分析过程以Unity项目-Demo13为例 一. 创建测试模 ...
- 03 Django之视图函数
一.Django的视图函数view 一个视图函数(类),简称视图,是一个简单的Python函数(类),它接受WEB请求并返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误, ...
- input 默认提示文字 样式修改(颜色,大小,位置)
input::-webkit-input-placeholder{ color:red; font-size:20px; ...... }
- 【小知识点】如何通过jq获取textarea的值
textarea和input本质差不多,只不过input是一行文本,textarea是多行文本. 所以获取textarea的值的方法和获取input的值的方法是一致的, $('textarea').v ...
- 抓包分析工具web版——capanalysis
1.下载安装 官网上,安装在Ubuntu上 2.使用教程 https://blog.51cto.com/chenguang/1325742
- IntelliJ IDEA控制台启动Tomcat输出中文乱码问题
IntelliJ IDEA控制台输出中文乱码问题 1. 先解决Tomcat中文乱码问题 参考 Tomcat 输出日志出现中文乱码 2. 解决Idea配置问题 打开IntelliJ IDEA本地安装目 ...
- 网络编程基础之TCP编程学习(一)
网络编程基础了解 socket套接字 socket是一种通讯机制,它包含一整套的调用接口和数据结构的定义,他给应用程序提供了使用如TCP/UDP等网络通讯的手段. linux中的网络编程通过socke ...
- MySQL菜鸟入门“秘籍”
一.MySQL简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不 ...
- Linux学习笔记(十一)shell基础:管道符、通配符和其他特殊符号
一.多命令顺序执行 && || 相当于其他高级语言中的 ? : 二.管道符 [命令1] | [命令2] 命令1的正确输出作为命令2的操作对象 分屏显示结果 netstat -an 命令 ...