圖像信息
MATLAB提供了對(duì)圖像消息的支持,其消息類型始終為sensor_msgs/Image。
使用rosmessage創(chuàng)建一個(gè)空?qǐng)D像消息,以查看圖像消息的標(biāo)準(zhǔn)ROS格式。
emptyimg = rosmessage("sensor_msgs/Image",DataFormat="struct")
emptyimg = struct with fields:
MessageType: ‘sensor_msgs/Image’
Header: [1x1 struct]
Height: 0
Width: 0
Encoding: ‘’
IsBigendian: 0
Step: 0
Data: [0x1 uint8]
為了方便起見,從specialROSMessageData.mat加載一個(gè)完全填充并存儲(chǔ)在img變量中的圖像消息。
在工作空間中檢查圖像消息變量img。圖像的大小存儲(chǔ)在Width和Height屬性中。ROS使用data屬性中的向量發(fā)送實(shí)際圖像數(shù)據(jù)。
load("specialROSMessageData.mat")
img
img = struct with fields:
MessageType: ‘sensor_msgs/Image’
Header: [1x1 struct]
Height: 480
Width: 640
Encoding: ‘rgb8’
IsBigendian: 0
Step: 1920
Data: [921600x1 uint8]
Data屬性存儲(chǔ)無法在MATLAB中直接用于處理和可視化的原始圖像數(shù)據(jù)。
可以使用rosReadImage函數(shù)以與MATLAB兼容的格式檢索圖像。然后通過imshow顯示
imageFormatted = rosReadImage(img);
imshow(imageFormatted)
** 點(diǎn)云信息**
點(diǎn)云可以被機(jī)器人技術(shù)中使用的各種傳感器捕獲,包括激光雷達(dá)、Kinect?和立體攝像機(jī)。
ROS中用于傳輸點(diǎn)云的最常見消息類型是sensor_msgs/PointCloud2, MATLAB提供了一些專門的函數(shù)來處理這些數(shù)據(jù)。具體步驟和圖像大同小異
emptyptcloud = rosmessage("sensor_msgs/PointCloud2",DataFormat="struct")
% xyz = rosReadXYZ(ptcloud)% 通過調(diào)用rosReadXYZ函數(shù),可以將x、y、z坐標(biāo)提取為N乘3矩陣。
% xyzValid = xyz(~isnan(xyz(:,1)),:)%可以安全地刪除所有NaN值
rgb = rosReadRGB(ptcloud)
rosPlot(ptcloud)
使用rosReadAllFieldNames函數(shù)檢查點(diǎn)云消息中存儲(chǔ)的所有字段。加載的點(diǎn)云消息包含x、y、z和rgb四個(gè)字段。
fieldNames = rosReadAllFieldNames(ptcloud)
fieldNames = 1x4 cell
{‘x’} {‘y’} {‘z’} {‘rgb’}
占用柵格地圖信息
ROS使用Octomap消息實(shí)現(xiàn)3D占用網(wǎng)格。八叉樹地圖信息通常用于機(jī)器人應(yīng)用,如3D導(dǎo)航。
您可以通過創(chuàng)建適當(dāng)類型的空消息來查看octomap消息的標(biāo)準(zhǔn)ROS格式。具體步驟和圖像大同小異
emptyoctomap = rosmessage("octomap_msgs/Octomap",DataFormat="struct")
occupancyMap3DObj = rosReadOccupancyMap3D(octomap);
show(occupancyMap3DObj)
-
matlab
+關(guān)注
關(guān)注
189文章
3009瀏覽量
236694 -
機(jī)器人
+關(guān)注
關(guān)注
213文章
30249瀏覽量
217799 -
ROS
+關(guān)注
關(guān)注
1文章
290瀏覽量
18250
發(fā)布評(píng)論請(qǐng)先 登錄
伺服電動(dòng)缸在人形機(jī)器人中的應(yīng)用
工業(yè)機(jī)器人應(yīng)用廣泛
現(xiàn)代機(jī)器人中有什么傳感器?
工業(yè)機(jī)器人中面對(duì)的控制問題是什么
一般機(jī)器人驅(qū)動(dòng)機(jī)構(gòu)中電機(jī)的選擇問題
工業(yè)機(jī)器人中有哪些控制問題
電動(dòng)噴涂機(jī)器人中的步進(jìn)電機(jī)控制
工業(yè)機(jī)器人中的鑄造機(jī)器人是什么
機(jī)器人中的自適應(yīng)計(jì)算

步進(jìn)電機(jī)在工業(yè)機(jī)器人中的應(yīng)用
變速齒輪在機(jī)器人中的使用
舵機(jī)在不同類型機(jī)器人中的應(yīng)用

評(píng)論