1、安裝的一些包
kinect用的freenect:
$ sudo apt-get install ros-indigo-freenect-launch $ sudo apt-get install ros-indigo-freenect-camera $ sudo apt-get install ros-indigo-freenect-stack
驅動安裝好后,首先在終端輸入“roscore”,啟動節點,然后在新的終端輸入“roslaunch freenect_launch freenect.launch”。
顯示RGB圖像:
方法一:rosrun image_view image_view image:=/camera/rgb/image_color 即可顯示RGB圖像。
方法二:用rviz顯示:在終端輸入“rosrun rviz rviz”打開rviz,點擊add,修改Global Options里的Fixed Frame為camera_depth_frame,選擇camera類型,添加成功后選擇camera菜單下的Image Topic選項,選擇/camera/rgb/image_color.
顯示深度圖像:
方法一:在終端輸入“rosrun image_view image_view image:=/camera/depth/image_raw”,即可顯示深度圖;
方法二:使用rviz顯示。在終端輸入“rosrun rviz rviz”打開rviz,修改Global Options里的Fixed Frame為/camera_depth_optical_frame,接着點擊add添加PointCloud2類型,修改topic為/camera/depth/points。
usb攝像頭:
roslaunch usb_cam usb_cam-test.launch
特別注意:使用虛擬機的話,要設置USB兼容3.0.並在可移動設備里面將usb接口打上溝,如果rgb顯示正常,但是深度顯示不正常,重新插一下深度usb、然后先打開深度節點,再打開rgb節點,啟動rviz,可以選擇image,image topic可以選擇rgb或者depth,也可以選則pointcloud2,訂閱、camera/rgb/image_cloud或者深度對應的。如果此時看不到任何數據,status顯示error,修改Fixed Frame參數,將其換成相機或者點雲的話題即可
2、usb攝像頭標定功能包:
安裝標定功能包
$ sudo apt-get install ros-indigo-camera-calibration
啟動usb攝像頭
$ roslaunch usb_cam usb_cam-test.launch
啟動標定程序
$ rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.024 image:=/usb_cam/image_raw camera:=/usb_cam
就用書上的標定靶或者打印一份,對着攝像頭不斷前后左右旋轉移動,直到Calibrate按鈕變成綠色,此時界面會卡一會兒,千萬不要關閉,參數計算完成后見面恢復,終端中會有標定結果的顯示,點擊SAVE,標定參數保存到默認文件夾中,可以在終端中看到路徑,點擊COMMIT提交數據並退出,打開/tmp文件夾,,標定結果為calibrationdata.tar.gz,解壓找到ost.yaml,復制出來重命名即可使用,然后修改launch文件即可加載標定的yaml
3、kinect標定:
roslaunch freenect_launch freenect.launch rosrun camera_calibration cameracalibrator.py image:=/camera/rgb/image_raw camera:=/camera/rgb --size 8x6 --square 0.024 rosrun camera_calibration cameracalibrator.py image:=/camera/ir/image_raw camera:=/camera/ir --size 8x6 --square 0.024
加載方式:根據啟動時候的報錯信息,參數與實際的名稱不符合,按提示修改launch文件即可為上述保存的標定文件名稱