水彩(仮)

NULLPointerExceptionガッ

Gazebo8.0リリース記念

リリースされました. というわけで所感をまとめていきます.

ハイライトは以下の通りです

  • Plotting Utility
  • Video Recording
  • QT5 support
  • Visual markers
  • Improved quadcopter simulation
  • Import OBJ files
  • Generalization of Actor animations
  • Migration to Ignition-math

ちょいちょい前と書いてたことと変わってますね.

GUI

まずは見た目を見てみましょう.

Gazebo7.5.0

f:id:syoamakase:20170216170543p:plain

Gazebo8.0.0

f:id:syoamakase:20170216170730p:plain

まあ,あんまり変わってないです.ボタンが増えたかな?

というわけで次

Plotting Utility

モデルの状態などをプロットして逐次見ることができる機能.

[window] → [plot] または 右上にあるグラフのアイコンをクリック. または Ctrl+p

で起動します.

f:id:syoamakase:20170216171419p:plain

こんな感じの画面が出てきます.

デフォルトではx軸がsim_time(シミュレーション内の時間)で,y軸が空です.

ではなんか適当に動かしてみましょう.

turtlebot君を等速直線運動させました

f:id:syoamakase:20170216172651p:plain

前に進んでいる様子が見れますね.

このグラフをpdfにしたり,移動をcsvにできるみたいですが今表示されている範囲しか値がとれず 逐次更新される形式でもないみたいです.

逐次にできれば結構使えそうですけどねぇ.

Video Recoding

ほぼ,文字通り. 右上のほうのビデオボタンをクリックして録画を開始,停止する.

mp4,ogv,v4lに対応.

mp4以外よく知らない.

Qt5 Support

QtとはGUIのツールキットです. Qt5への以降が行われています.

私はQtに詳しくないので(教えて偉い人) GUI自体に現れているかは分からないですが

APIを作成する際のC++のヘッダファイルには違いがありました. インストール方法にもよりますが

/usr/include/gazebo-<version>/gazebo/gui/qt.h

を見比べますと

gazebo7.5.0

#include <QtGui>
#include <QX11Info>
#include <QWidget>
...

gazebo8.0.0

#include <QtCore/QtCore>
#include <QtCore/QPoint>
#include <QtCore/QPointF>
#include <QtCore/QSignalMapper>

#include <QtGui/QBitmap>
#include <QtGui/QDrag>
#include <QtGui/QPainter>
#include <QtGui/QResizeEvent>
#include <QtGui/QStandardItem>
#include <QtGui/QVector3D>
#include <QtGui/QWindow>

#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QColorDialog>
#include <QtWidgets/QComboBox>
...

定義の仕方に違いがあり,どうも調べるとちゃんとQt4からQt5の書き方に変わっているみたいです.

詳しくないので間違っていたらごめんなさい.

Visual markers

シミュレーションに影響しない(衝突したりしない)マーカーの作成できるそうです.

C++APIを書くかgz marker <command>でできるそうです.

Gazeboを起動後

gz marker -m 'action: ADD_MODIFY',type: TEXT, text:"Hello World!!", id: 2, scale: {x:1.2, y:1, z:2.1}

をするとこんな感じ.

f:id:syoamakase:20170216181915p:plain

なぜか位置調整ができなくて裏側から見てますが.

残りは次回にします.