Creating Pointcloud ROS message in Simulink

2 ビュー (過去 30 日間)
Gibin Joe Zachariah
Gibin Joe Zachariah 2019 年 11 月 1 日
回答済み: Cam Salzberger 2020 年 1 月 15 日
Hi,
I have a pointcloud data stream where at each time step i have three variables X,Y,Z each of size 160x320 corresponding to the XYZ coordinates or 160*320 points. I would like to create a pointcloud ros message and publish it. Can anyone tell me a method to do it in Simulink?. I tried the following code using saved data for one time step but it takes too much time.
strmsg=rosmessage('sensor_msgs/PointCloud');
tempmsg=rosmessage('geometry_msgs/Point32');
count=1;
for i=1:160
for j=1:320
tempmsg.X=x_data(i,j);
tempmsg.Y=y_data(i,j);
tempmsg.Z=z_data(i,j);
strmsg.Points(count)=tempmsg;
count=count+1;
end
end
Edit: I tried to use for each subsystems and bus assignments to achieve the same in Simulink as shown below. But when viewing the data from ROS, I dont see any values in the Points field of Pointcloud message. Am I doing it correctly?
ROS_Pointcloud.png
ROS_Pointcloud2.png

回答 (1 件)

Cam Salzberger
Cam Salzberger 2020 年 1 月 15 日
(Moved from comment to answer)
This question about creating point cloud messages seems fairly similar, and the attached utilties to the answer may help you.

カテゴリ

Help Center および File ExchangeSpecialized Messages についてさらに検索

タグ

製品


リリース

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by