日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

利用matlab对rosbag数据,通过matlab提取rosbag数据

發布時間:2025/4/16 循环神经网络 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用matlab对rosbag数据,通过matlab提取rosbag数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通過matlab提取rosbag數據

代碼如下:

最近在做AGV導航實驗,導航小車是基于ROS實現的,判斷小車導航是否運行穩定,可以直接通過rviz直觀看出來。但是如何通過數據定性地分析數據,這就需要提取其定位數據,然后通過方差或擬合等數值分析的方法。那首先需要做的就是如何提取數據,matlab是個好工具,用matlab可以提取rosbag中的相關的數據。

代碼如下:

% 定義rosbag所在位置

filePath = fullfile('E:\WLL\Desktop\', 'rosbag', '2019_06_29.bag');

%提取bag中消息格式信息

bag=rosbag(filePath)

%選擇對應的消息,這里就只選擇了nav_msgs/Odometry

Odometry = select(bag,'MessageType','nav_msgs/Odometry');

%提取信息,因為經過實際測試,可能由于Odometry消息包含較多信息,導致readMessages函數運行較慢,因此這里用了兩個for循環,目的是讓position保持較少數據,防止電腦卡死。共取40000個三維坐標數據,j為幾就是幾萬。將數據保存到A.txt文件夾。

position=zeros(10000,3);

fp=fopen('A.txt','w');

for j=1:4

data = readMessages(Odometry,((j-1)*10000+1):j*10000);

for i=1:10000

position(i,1)=data{i,1}.Pose.Pose.Position.X;

fprintf(fp,'%f ',position(i,1));

position(i,2)=data{i,1}.Pose.Pose.Position.Y;

fprintf(fp,'%f ',position(i,2));

position(i,3)=data{i,1}.Pose.Pose.Position.Z;

fprintf(fp,'%f\n',position(i,3));

end

end

fclose(fp);

%繪圖程序,可以與上述程序分開寫

dat=load('A.txt')

plot(dat(:,1),dat(:,3),'b.','markersize',5);

hold on

總結

以上是生活随笔為你收集整理的利用matlab对rosbag数据,通过matlab提取rosbag数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。