ROS create PointCloud2 from MATLAB pointCloud

12 次查看(过去 30 天)
I am looking to convert a MATLAB pointCloud object to a ROS PointCloud2 message. My application is receiving a point cloud, and processing the data in MATLAB. Then I wish to publish this cloud to ROS in the PointCloud2 format. I assume that since MATLAB can read the XYZ and RGB values in my subscribed PointCloud2 then there are translations between the two.
This is my current MATLAB pointCloud object that I wish to transform to something similar to the PointCloud2 that i receive.
This is my received PointCloud2 message in MATLAB:
I would very much appreciate any help! I think that I really don't understand how the PointCloud2 messages are formatted...

采纳的回答

Sebastian Castro
Sebastian Castro 2019-3-14
Hello Connor,
It's almost been a year since you asked, but I just learned about this question!
I've written MATLAB and Simulink utilities to convert from Computer Vision System Toolbox to ROS PointCloud2 messages, and you can find them here.
If anyone would like to test them, let us know how it worked at roboticsarena@mathworks.com.
- Sebastian
  3 个评论
Amir Darwesh
Amir Darwesh 2020-6-20
Hi Jose,
I'm attempting to use these functions to export the PointCloud data from this tutorial.
I'm facing an issue with the lidarMsgOut.Data length. For some reason, the length cannot go beyond 128, even though I am setting lidarMsg.out.Data_SL_Info.CurrentLength to 554496.
Any help is appreciated!
Charles Zhang
Charles Zhang 2021-3-29
Not sure if you still need this, but you should change your default array size limit for this message:
https://www.mathworks.com/help/ros/ug/manage-array-sizes-in-simulink-ros.html

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Publishers and Subscribers 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by