Skip to the content.

ROSのデータを扱う

rosでは複数のセンシングデータを扱う.
大量のデータを扱うので,スムーズに参照する必要がある.
そのためのツール群の使い方に関するメモ.

rosdep

rosプロジェクトの依存パッケージを自動でインストール.
たぶんpackage.xmlに従ってインストールを行う(あとで調べる).

rosdep install -i --from-paths <path-to-ros-package>

rosbag record

rostopicのデータを同時系列で保存する. 以下のコマンドで全トピックの保存.

rosbag record -a

指定したトピックだけを保存

rosbag record /topic1 /topic2

正規表現でトピックを指定

rosbag record -e topic

rosbagデータをファイル名を指定して保存

rosbag record -O <file.bag>

rosbagデータをcsv形式で保存するためののシェルスクリプト(ただし,画像データなどはどうなるかわからない.それに気をつけてトピックを指定して保存)
$1は引数を表す.

#!/bin/bash
rostopic echo -b $1.bag -p /sensing_value > $1.csv

rosbag play

rosbagデータを再生する.主に再生した状態でrvizなどで観察する.

rosbag play <bagfile.bag> 

n倍速でrosbagを再生する.

rosbag play <bagfile.bag> -r <speed> --clock

特定のtopicのみの指定して再生する.

rosbag play file.bag --topics <topic_name>

rqt_bag

GUIでrosbagデータを開く.特定の時間を指定して観察したいときなど.

rqt_bag <bagfile.bag>

rviz

センシングデータなどを可視化するためのツール.

基本的な使い方

rvizを開いたあと

Global Options

Fixed Frameを始めに設定する必要がある. 使い方の詳細はまだわからない

点群を扱うセンサの場合にFixed Frameを指定されている.
以下のコマンドで配列を除いたtopic情報が表示されるので,ヘッダー情報が見やすくなる.

rostopic echo --noarr <topic name>

ROSのネットワーク接続

ROS_MASTER_URI=http://<ros_master_ip_address>:11311
ROS_MASTER=http://<this_pc_ip_address>

参考