ROS create PointCloud2 from MATLAB pointCloud

9 vues (au cours des 30 derniers jours)
Connor Fuhrman
Connor Fuhrman le 17 Avr 2018
Commenté : Charles Zhang le 29 Mar 2021
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...

Réponse acceptée

Sebastian Castro
Sebastian Castro le 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 roboticsarena@mathworks.com.
- Sebastian
  3 commentaires
Amir Darwesh
Amir Darwesh le 20 Juin 2020
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 le 29 Mar 2021
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

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by