MoriKen's Journal

MoriKen's Journal

アラサー社会人博士による徒然日記。技術についてつらつら。だけだとコンテンツが貧弱なので、会社公認で大学院博士課程に進学した経緯や、独学でTOEICを475→910にしたノウハウを共有します。

【ROS 2】RQt 概要・使い方(公式文書和訳)

Sponsored Link

ROS 2 公式文書(英語) 日本語訳シリーズです。

本ブログの日本語翻訳版のトップページは以下のリンクを参照下さい。

www.moriken254.com

概要

RQt はプラグイン形式で様々なツールやインターフェースを実装できるGUI フレームワークです。 RQt 内では、既存の GUI ツールを連結表示できるウィンドウとして実行できます。これらのツールは従来のスタンドアロン方式でも実行できますが、RQt を使用すると種々のウィンドウ全てを単一の画面レイアウトで管理することも容易に実現できます。

次のようにすれば、あらゆる RQt ツール/プラグインも簡単に実行できます。

rqt

この GUI では、システム上で利用可能なプラグインを選択できます。スタンドアロンウィンドウでプラグインを実行することもできます。たとえば、RQt Python コンソールは次のようになります。

ros2 run rqt_py_console rqt_py_console

ユーザーはPythonまたはC++のいずれかを使用して RQt 用の独自のプラグインを作成できます。 20 以上のプラグインが ROS 1 で作成され、これらのプラグインは現在 ROS 2 に移植されています(2018年12月現在、詳細はこちら)。

システム設定

Debianからのインストール

sudo apt install ros-$ROS_DISTRO-rqt *

ソースからのビルド

ソースからの RQt のビルドを参照してください。

RQt コンポーネント構造

RQt は3つのメタパッケージで構成されています。

  • rqt - コアインフラストラクチャモジュール。
  • rqt_common_plugins - ツールを構築するためのバックエンドツール。
    • TODO:2018年12月現在、このメタパッケージは ROS 2 では使用できません。まだ全てのプラグインが移植されていないためです。
  • rqt_robot_plugins - ランタイム中にロボットと対話するためのツール。
    • TODO:2018年12月現在、このメタパッケージは ROS 2 では使用できません。まだ全てのプラグインが移植されていないためです。

RQt フレームワークの利点

ゼロから独自の GUI を構築するのと比較して:

  • GUI 用の標準化された共通手順(スタート - シャットダウンフック、過去状態の復元)。
  • 複数ウィジェットを単一のウィンドウにドッキング可能。
  • 既存の Qt ウィジェットを容易に RQt プラグインに変更可能。
  • ROS Answers( ROS コミュニティの Web フォーラム)によるサポート。

システムアーキテクチャの観点からは:

  • マルチプラットフォーム(基本的に QT と ROS が動く環境ならOK)とマルチ言語(PythonC++)をサポート。
  • 管理可能なライフサイクル:共通の API を使用した RQt プラグインにより、保守と再利用が容易になります。

参考文献

www.youtube.com

翻訳元文書

index.ros.org

関連文書

www.moriken254.com

www.moriken254.com

www.moriken254.com