進入~/catkin_ws/src:cd ~/catkin_ws/src
建立乙個ros包:catkin_create_pkg my_pcl_tutorial pcl_conversions pcl_ros roscpp sensor_msgs
進入my_pcl_tutorial:cd my_pcl_tutorial
開啟package.xml增加
libpcl-all-dev<
/build_depend>
libpcl-all<
/exec_depend>
在src檔案下新建檔案example.cpp
輸入以下**:(建立**框架)
#include
// pcl specific includes
#include
#include
#include
#include
ros::publisher pub;
void cloud_cb (
const sensor_msgs::pointcloud2constptr& input)
int main (
int argc,
char
** ar**)
開啟my_pcl_tutorial包下的cmakelists.txt檔案,增加:
add_executable(example src/example.cpp)
target_link_libraries(example $)
pcl主要有四種點雲結構:
sensor_msgs::pointcloud — ros message (deprecated)
sensor_msgs::pointcloud2 — ros message
pcl::pclpointcloud2 — pcl data structure mostly for compatibility with ros (i think)
pcl::pointcloud — standard pcl data structure
我實驗等等的只關注標準的點雲結構(ps:使用過pcl)
複製貼上以下**到example.cpp中:
#include
// pcl specific includes
#include
#include
#include
#include
#include
#include
#include
#include
ros::publisher pub;
void
cloud_cb (
const sensor_msgs::pointcloud2constptr& input)
intmain (
int argc,
char
** ar**)
突然發現沒有連線雷射雷達。
想個辦法測試下這段時間學的東西。
1、設計乙個節點輸入雷射雷達資料(從pcd檔案中輸入)。
2、設計乙個節點作為視覺化。
3、設計乙個節點分割地面點。
早已安裝了pcl-conversions,但是沒有pcl/ros/conversions.**件???
經過一系列的踩坑、查資料、摸索,乙個簡單的讀取pcd資料、並發布的節點完成。
)刪除example.cpp中的
#include
新建乙個pcl_pcd.cpp檔案
複製貼上(用絕對路徑,相對路徑搞不懂):
#include
#include
#include
#include
#include
#include
#include
#include
ros::publisher pub;
intmain (
int argc,
char
** ar**)
return0;
}
進入資料夾:cd ~/catkin_ws
執行 catkin_make
執行rosrun my_pcl_tutorial pcl_pcd
在pcl_pcd.cpp同目錄下新建visual_pcl.cpp
輸入以下**:
#include
#include
#include
#include
#include
#include
#include
#include
#include
void cloud_cb (
const sensor_msgs::pointcloud2constptr& pcd_data)
}int
main
(int argc,
char
** ar**)
在cmakelist.txt上增加:
add_executable
(visual_pcl src/visual_pcl.cpp)
target_link_libraries
(visual_pcl $ $
)
cd ~/catkin_ws(返回catkin_ws目錄下)
執行:catkin_make
執行:rosrun my_pcl_tutorial pcl_pcd
新建乙個終端
執行:rosrun my_pcl_tutorial visual_pcl
再新建乙個終端,執行rqt_graph,看下節點,話題關係。
執行:rosrun rqt_graph rqt_graph
但是,這個簡單的視覺化節點並不能做到實時顯示點雲。
下一步,把這個視覺化節點變成乙個實時顯示點雲的節點。
學習到了。
把visual_pcl.cpp中的**換成大佬部落格中的**,就能實現實時視覺化節點。
github
ROS學習記錄1
echo ros package path mkdir p dev catkin ws src cd dev catkin ws src catkin init workspace cd dev catkin ws catkin make source devel setup.sh 或者執行下面這行...
ROS學習記錄(一)
ros學習記錄 一 ros安裝及環境配置 這個我之前已經配配置好了,這裡僅做記錄。安裝ubuntu16.04 ubuntu16.04的安裝包是前輩給我的,直接在虛擬機器中執行安裝,網上相關資源應該挺多。安裝ros系統 2.1 新增sources.list 配置電腦使其能夠安裝來自 packages....
ROS學習(三)了解ROS節點
節點 nodes 節點是使用ros與其他節點通訊的可執行檔案。訊息 messages 訂閱或發布主題 topic 時使用的ros資料型別。主題 topic 節點可以將訊息發布到主題,也可以訂閱主題以接收訊息。節點管理器 master ros的名稱服務 即幫助節點相互查詢 rosout 等效於stdo...