ROS建立點雲資料並在rviz中顯示

2021-09-11 14:14:56 字數 3358 閱讀 9236

實驗環境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.txt
find_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...