
検証日時
02/13/2015 (Fri)
概要
Gazeboのチュートリアル第四弾「Tools and utilities」。
Gazeboには多くのツールとユーティリティがあります。
このチュートリアルでは、利用可能なツールとその使い方を説明します。
今回はその「Log Filtering」編です。
公式サイトを適当に翻訳しただけですので、あしからず。
レベル
BEGINNER
環境
| PC | : | Lenovo ThinkPad X240 |
| Prosessor | : | Intel Core i7-4600U (2.10GHz, 4MB, 1600MHz) |
| RAM | : | PC3-12800 DDR3L (8GB) |
| OS | : | Ubuntu 14.04 LTS 64bit |
| Kernel | : | 3.13.0-44-generic |
| Gazebo | : | Version 5.0.1 |
参考
GAZEBO Tutorial-Tools and Utilities
はじめに
状態のログとは、Gazeboからの環境情報の記録です。状態とは、姿勢、速度、加速度、そしてすべてのモデルのすべてのリンクに適用された力のことを指します。Gazeboでは、時間経過と共に変化するモデルの状態情報だけを記録します。状態ログのファイルには、ヘッダ、初期環境記録、状態の時系列情報で構成されています。
Gazeboログコマンドのラインツール
Gazeboでは、gz logコマンドでアクセスするロギングユーティリティ(記録ユーティリティ)を提供しています。
ヘルプ情報を以下のコマンドで確認してみましょう。
1
| |
もしくは、
1
| |
使い方の例
ステップ 1:状態ログファイルを作る
古いログファイルを消去することから初めましょう。
1
| |
今回は、ログファイルを生成するのに、PR2ワールドを使用します。
Gazeboサーバを-rコマンドラインオプションをつけて実行しましょう。
1
| |
数秒後に、サーバをCtrl-cで停止しましょう。
新しいタイムスタンプのあるディレクトリが~/.gazebo/log/の中に、一つのサブディレクトリとstate.logファイルがあるはずです。例えば以下のような感じです。
1
| |
Gazeboでこれをリプレイすることにより、このログファイルを確認することができます。
1
| |
ステップ 2:ログファイルをフィルタリングする
gz logコマンドラインツールでは、ログファイルを通じたステッピングとログファイル表示のコンテンツのエコーのためのメカニズムを提供しています。表示エコーの特徴は、モデルやリンクの姿勢などの情報を定義するようなログファイルを生成するフィルタと結合したものとなります。
記録した状態ログファイルをスクリーンにエコーしてみましょう。
1
| |
すると、スクロールできるほどたくさんの情報を確認することができるでしょう。
では、ログファイルにあるすべての速度、加速度、力の情報を消してみましょう。つまり、姿勢の情報だけを残します。
1
| |
--filterオプションは、ログファイルの情報を間引くには、柔軟で便利なコマンドライン引数です。
Hzフィルタを使えば、シミュレーション時間についてもフィルタリングをオコナウことができます。例えば、30 [Hz]で状態情報を出力したいとすると、以下のようにコマンド入力を行います。:
1
| |
これらのフィルタはプレイバックのためのファイルに結合することができます。このことはstate.logファイルの大きさに依存することもあります。
1
| |
このログファイルは、以下のようにしてGazeboでリプレイすることができます。
1
| |