real time pointcloud streaming in simulink on ubuntu

4 次查看(过去 30 天)
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.

采纳的回答

Cam Salzberger
Cam Salzberger 2022-2-7
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

更多回答(1 个)

Abirami Jambulingam Segar
Many thanks for the response.
Is it possible to use the inbuilt matlab function, 'bboxCameraToLidar' for real time point clouds?
The problem I face is that, I am using a simulink ROS block called as 'Read a Point cloud' which does the exact job that your code snippet does. Now that i am able to stream the point cloud stream, I want to build my work further. I am not able to declare these live stream of xyz data as point clouds. Please help me resolve the issue. Thank you

类别

Help CenterFile Exchange 中查找有关 Specialized Messages 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by