Technology

ロボットシミュレーターGazebo Harmonic、慣性モーメントの自動計算に対応

この記事のポイント

  1. 実現したこと

    Gazebo Harmonicは、ロボットモデルを構成するリンクの慣性モーメントを自動計算できる。

  2. 実現の仕組み

    SDFormatで記述したモデルで自動計算を有効にし、リンクの慣性値を得る。

  3. 得られた結果

    公開された円柱のデモでは、自動計算した慣性モーメントがメッシュ形状に合致した。

  4. 従来との違い

    関節軸の連動設定には、Gazebo Classicのgearbox jointより多くの関節種に対応するmimic constraintが加わった。

ロボットシミュレーション内の円柱リンクと、そのメッシュ形状に基づく慣性の可視化
AI生成画像

ロボットシミュレーターGazebo Harmonicは、SDFormatで記述したリンクの慣性モーメントを自動計算できるようになった。関節の連動設定やプラグイン開発、実行中のモデル操作も拡張し、物理モデルを作って試す手順を増やした。

リンクの慣性モーメントを自動計算する

Open Roboticsが公開したロボットシミュレーターGazebo Harmonicは、SDFormatで記述したリンクの慣性モーメントを自動計算する。SDFormatはシミュレーション内のモデルを記述する形式で、モデル側でこの機能を有効にすると慣性値を得られる。

Open Roboticsが示した円柱のデモでは、自動計算を有効にした側の慣性モーメントがメッシュ形状に合致した。慣性値をモデルへ設定する際に、自動計算という選択肢が加わった。

二つの関節軸の位置を連動させる

リンクの慣性値に加え、関節の動きもモデル内で指定する。Gazebo Harmonicのmimic constraintは、二つの関節軸の出力位置の間に線形関係を課し、一方に応じてもう一方が動く関係を表す。

この制約は、従来のGazebo Classicにあったgearbox jointに相当する。Open Roboticsによると、mimic constraintは指定方法がより簡単で、対応する関節種も増えた。

Pythonだけでシミュレーション用プラグインを書く

モデルの構成に続いて、その振る舞いを拡張する手段も増えた。Gazebo Harmonicでは、メッセージ処理のgz-msgs、通信のgz-transport、シミュレーション機能のGazebo systemsにPythonバインディングが追加された。

これらのバインディングを使うと、GazeboのプラグインをPythonだけで記述できる。シミュレーションに固有の機能を追加する際に、Pythonを開発言語として選べるようになった。

実行中のモデルに力を加えて状態を調べる

作成したモデルは、物理シミュレーションを動かしながら操作できる。新しいマウスドラッグ機能ではリンクに力やトルクを対話的に加えられ、GazeboのGUIではモデルに加える値を指定できる。

動作を調べるためのコマンド操作も拡張された。Gazebo CLIは購読者とそのトピック情報を一覧表示でき、シミュレーション内の通信先を確認できる。