本文简要叙述了在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-9290.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: 4 * /camera/depth_rectify_depth/interpolation: 0 * /camera/depth_registered_rectify_depth/interpolation: 0 * /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: #1 * /camera/driver/rgb_camera_info_url: * /camera/driver/rgb_frame_id: camera_rgb_optica... * /rosdistro: indigo * /rosversion: 1.11.21 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 [9302] ROS_MASTER_URI=http://localhost:11311 setting /run_id to 7e08363e-2be5-11e8-b5a2-1c1b0d61bf22 process[rosout-1]: started with pid [9315] started core service [/rosout] process[camera/camera_nodelet_manager-2]: started with pid [9325] process[camera/driver-3]: started with pid [9333] process[camera/rgb_debayer-4]: started with pid [9334] process[camera/rgb_rectify_mono-5]: started with pid [9335] process[camera/rgb_rectify_color-6]: started with pid [9337] process[camera/ir_rectify_ir-7]: started with pid [9338] process[camera/depth_rectify_depth-8]: started with pid [9339] process[camera/depth_metric_rect-9]: started with pid [9355] process[camera/depth_metric-10]: started with pid [9362] process[camera/depth_points-11]: started with pid [9364] process[camera/register_depth_rgb-12]: started with pid [9375] process[camera/points_xyzrgb_sw_registered-13]: started with pid [9397] process[camera/depth_registered_sw_metric_rect-14]: started with pid [9414] process[camera/depth_registered_rectify_depth-15]: started with pid [9424] [ INFO] [1521512530.084412228]: Initializing nodelet with 4 worker threads. process[camera/points_xyzrgb_hw_registered-16]: started with pid [9444] process[camera/depth_registered_hw_metric_rect-17]: started with pid [9449] process[camera/depth_registered_metric-18]: started with pid [9470] process[camera/disparity_depth-19]: started with pid [9488] process[camera/disparity_registered_sw-20]: started with pid [9498] process[camera/disparity_registered_hw-21]: started with pid [9520] process[camera_base_link-22]: started with pid [9524] process[camera_base_link1-23]: started with pid [9539] process[camera_base_link2-24]: started with pid [9556] process[camera_base_link3-25]: started with pid [9563] 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: 1 [ INFO] [1521512530.991443026]: 1. device on bus 001:08 is a SensorKinect (2ae) from PrimeSense (45e) with serial id '0000000000000000' [ INFO] [1521512530.993391990]: Searching for device with index = 1 [ INFO] [1521512532.075612809]: Opened 'SensorKinect' on bus 1:8 with serial number '0000000000000000' [ 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.