記錄關于我們運作roslaunch openni_launch openni.launch 指令時生成的話題以及這些話題的資料類型便于後期的處理,隻有知道它們的資料結構,才能很好的對資料進行處理,我們觀察到使用rostopic list的所有話題的清單,當然其中也有一些不經常使用的話題類型,比如下面這些話題是我們經常使用的
/camera/depth/image
/camera/depth/image_raw
/camera/depth/points
/camera/ir/image_raw
/camera/rgb/image_color
/camera/rgb/image_raw
釋出的話題:
使用指令檢視sensor_msgs/Image的資料

介紹幾個ROS節點運作的幾種工具。他們的作用是ROS格式點雲或包與點雲資料(PCD)檔案格式之間的互相轉換。
(1)bag_to_pcd
用法:rosrun pcl_ros bag_to_pcd <input_file.bag> <topic> <output_directory>
讀取一個封包件,儲存所有ROS點雲消息在指定的PCD檔案中。
(2)convert_pcd_to_image
用法:rosrun pcl_ros convert_pcd_to_image <cloud.pcd>
加載一個PCD檔案,将其作為ROS圖像消息每秒中釋出五次。
(3) convert_pointcloud_to_image
用法:rosrun pcl_ros convert_pointcloud_to_image input:=/my_cloud output:=/my_image
訂閱一個ROS的點雲的話題并以圖像的資訊釋出出去。
(4)pcd_to_pointcloud
用法:rosrun pcl_ros pcd_to_pointcloud <file.pcd> [ <interval> ]
<file.pcd> is the (required) file name to read.
<interval> is the (optional) number of seconds to sleep between messages. If <interval> is zero or not specified the message is published once.
加載一個PCD檔案,釋出一次或多次作為ROS點雲消息
(5)pointcloud_to_pcd
訂閱一個ROS的話題和儲存為點雲PCD檔案。每個消息被儲存到一個單獨的檔案,名稱是由一個可自定義的字首參數,ROS時間的消息,和以PCD擴充的檔案。
那麼我們使用一個簡單的例子來實作在ROS中進行平面的分割,同時注意到使用的資料轉換的使用
在這裡我們的input就是要訂閱的話題/camera/depth/points
我們在rosrun 的時候注明input:=/camera/depth/points的這樣就可以使用kienct釋出的點雲資料,同時你也可以指定點雲的資料