實驗環境ros(kinetic)
1.新建工程
mkdir -p catkin_ws/src
cd catkin_ws/src
catkin_create_pkg chapter6_tutorials pcl_ros roscpp rospy sensor_msgs std_msgs
cd .
.catkin_make
2.編輯主函式pcl_create.cpp
#include
#include
#include
#include
main (
int argc,
char
**ar**)
//convert the cloud to ros message
pcl:
:torosmsg
(cloud, output)
; output.header.frame_id =
"odom";
ros:
:rate loop_rate(1
);while
(ros::ok
())return0;
}
3.編輯cmakelists.txtfind_package
(pcl required)
include_directories
(include$
)link_directories($)
add_executable
(pcl_create src/pcl_create.cpp)
target_link_libraries
(pcl_create $ $
)
4.編譯和在rviz中顯示編譯
cd ~
/catkin_ws | catkin_make
重新整理環境
source ~
/catkin_ws/devel/setup.bash
執行
roscore
rosrun chapter6_tutorials pcl_create
開啟rviz在rviz中增加pointcloud2d
topic 選 /pcl_output
fixed frame 輸入odom
如圖
手動建立正方體八個角點,理解點雲的空間意義:
建立乙個圓柱體:
點雲資料顯示 rviz顯示點雲的參考座標系問題
獲得深度相機的點雲後,使用pcl處理 除了濾波外,還會進行座標系變換,比如從相機座標系變換到機械人的 base link 然後將pcl點雲型別轉換為ros msg的點雲型別。然後發布為話題進行顯示,具體情況就是下面這張圖 右邊影象是深度相機採集的原始點雲 kinect depth points,參考...
ROS 建立 發布和顯示PCL點雲
定義點雲型別 pcl pointcloudcloud 新增點雲資料 cloud.width 50000 cloud.height 2 點集總共2 50000 10 0000個點 cloud.points.resize cloud.width cloud.height for size t i 0 i...
ROS下計算點雲聚類處理時間
最近改進了個演算法想比較下和傳統演算法的計算時間差異。使用ros下面的ros time可以實現。大致框架 在資料處理開始獲取時間 ros time begin time ros time now 接著是資料處理階段,在處理後,計算時間差 double clustering time ros time...