rosbag包的回放,使用指令碼提取txt

2021-10-01 10:43:07 字數 1447 閱讀 2587

ros框架下可以很方便的進行資料記錄,並且將其轉換為txt檔案進行matlab處理,下面介紹一下rosbag的日常使用方法

1.錄製rosbag包後,回放前需要先開啟roscore

roscore

# 不開啟roscore會報錯:

# failed to contact master at [localhost:11311]. retrying...

2.回放rosbag

rosbag play ***.bag

# 這句命令需要和bag包在同一目錄下,按錄製時間的長短,rosbag包回放時長也不相同

3.提取話題為txt檔案,方便後續matlab處理

rostopic echo -b ***.bag  -p /topic > yyy.txt

# 這句是將***.bag中的話題名為"/topic"的話題內容提取出來放入yyy.txt中

# matlab也開放了對rosbag包的介面,可以直接匯入並提取,但是還是沒有提txt快捷,特別是用指令碼的情況下

4.使用指令碼一次提取多個話題,一鍵改包名

第一步,在rosbag包的相同目錄下新建乙個s**件

gedit autorosbagtotxt.sh
第二步,將如下內容複製到s**件中

#!

/bin/bash

class

=***

bag=$class

.bag

echo "話題1開始提取"

gnome-terminal -x bash -c "rostopic echo -b $bag -p /topic1 > topic1$class.txt"

sleep 5

echo "提取完成"

echo "話題2開始提取"

gnome-terminal -x bash -c "rostopic echo -b $bag -p /topic2> topic2$class.txt"

sleep 5

echo "提取完成"

第三步,修改class=你的包名(不要加".bag",比如你的包是"subset.bag",那麼這裡直接class = subset即可),修改topic1為你要提取的話題名,然後

bash autorosbagtotxt.sh
sleep時間自己修改,電腦效能好的話,同時10來個話題一起提取都可以~

使用python指令碼進行UPD資料回放

回放資料指令碼 from scapy.all import from scapy.utils import rdpcap pkts rdpcap flume1.pcap for pkt in pkts pkt ether dst 00 50 56 36 5d ef pkt ether src 00 ...

如何優雅的錄製ROS的rosbag包?

根據自己最近的ros下的程式設計和實踐,發現這種國外最先發起的專案,如果想要找教程,第一時間還是先取google搜尋才行,不然在國內 搜尋,搜出來的很多都是不相關,或者壓根沒有這方面的內容。如果英語能力不行,則按下面的順序來 2.其次看一些個人博主的blog,這些一般也還能信得過 3.如果是在找不到...

使用pip安裝Python擴充套件包時,如何提高速度?

準備 已經安裝了python的電腦 本人電腦是windows10系統,安裝的是python3.7,以下過程均在此環境下操作 第一步 以管理員身份登入命令列程式 cmd 方法如下 快捷鍵ctrl r彈出執行框 輸入cmd,回車進入命令列程式 需以管理員身份進入 如下所示 第二步 使用pip工具安裝pq...