MATLAB Answers

ROS create PointCloud2 from MATLAB pointCloud

72 views (last 30 days)
Connor Fuhrman
Connor Fuhrman on 17 Apr 2018
Commented: Amir Darwesh on 20 Jun 2020 at 2:45
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...

Accepted Answer

Sebastian Castro
Sebastian Castro on 14 Mar 2019
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
- Sebastian


Jose Avendano Arbelaez
Jose Avendano Arbelaez on 19 May 2020
For MATLAB R2019b and later please use the modified library attached. Otherwise, there will be an error in the model related to the block mask for Package Point Cloud.
Amir Darwesh
Amir Darwesh on 20 Jun 2020 at 2:45
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!

Sign in to comment.

More Answers (0)