real time pointcloud streaming in simulink on ubuntu
7 views (last 30 days)
Show older comments
Abirami Jambulingam Segar
on 7 Feb 2022
Answered: Abirami Jambulingam Segar
on 25 Feb 2022
I have an intenrealsense camera and i am working on ubuntu 18.04. I want to stream live feeds of point cloud in simulink via ros(i was able to stream color feed) I realized point clouds cant just be treated as pixels. Also there are some functions 'pcfromkinect' that say it helps in streaming pointclouds live but on windows. Please guide me through. I want to publish pointclouds as ros messages in simulink.
0 Comments
Accepted Answer
Cam Salzberger
on 7 Feb 2022
Hello Abirami,
If you are broadcasting the point cloud data over the ROS network already, then you can simply create a rossubscriber and a pcplayer, set up something like this:
rosinit(<masterURI>)
player = pcplayer(<map limits>);
pcSub = rossubscriber(<point cloud topic>, "sensor_msgs/PointCloud2", ...
"DataFormat", "struct", ...
"NewMessageFcn", @(~, msg) processLidarMsg(msg, player)
function processLidarMsg(msg, player)
xyz = rosReadXYZ(msg);
rgb = rosReadRGB(msg);
view(player, xyz, rgb)
end
This code makes several assumptions about the type of the point cloud message and the structure of its fields (as well as your release of MATLAB). But it can serve as a starting point for your code.
If you are working with velodyne_msgs/VelodyneScan instead of sensor_msgs/PointCloud2, check out this documentation.
-Cam
0 Comments
More Answers (1)
See Also
Categories
Find more on Specialized Messages in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!