Skip to content

Qtの基本からRviz2プラグインの作成までを目標としたチュートリアル

License

Notifications You must be signed in to change notification settings

NITKK-ROS-Team/qt_rviz2_tutorial

Repository files navigation

qt_rviz2_tutorial

QtはC++を使用したGUI開発によく使われるツールキットであり、Rviz2のpanelに使用できます。

このチュートリアルでは、Qtの基本からRviz2プラグインの作成までを目標としています。


対象

C++とCMakeListsが読める人。


Qtを使用する意義

洗練されたGUIを作成可能なツールが多く増えた現在の開発環境ですが、それでもQtを採用する意義はあると考えています。

1. ROSではC++が主流であり、Rviz2ではQtが使用可能

ROS2においてはC++での開発が主流であり、GUIツールはRvizが多く使われています。

Rviz2はROS2のGUIツールとして多くの機能を提供していますが、その中でPanelとしてQtを使用することで、Rviz2の機能を拡張することができます。

そのため、ROS2開発に関わる人の基本的なスキルセットにはほとんどの場合にC++が含まれるため、最初からC++を使用可能なQtを使用することは自然な選択肢と言えます。

2. Qtはプラットフォーム・世代を超えてAPIが安定している

1991年に登場したQtは、その後多くのバージョンアップ・ライセンス変更を経て、現在はQt6がリリースされています。

Windows・MacOSX・Linuxのほかにも組み込み向け(商用版)など、多くのプラットフォームに対応しており、それらに対する基本的なAPIの一貫性や安定性が高く、長期的な開発・保守に適しています。

オープンソースライセンス版も、商用品質に近い安定性を持っており、多くのOSSプロジェクトで使用されています。


コンテンツ

1 ~ : Qt5の基本

  1. Qt5 Hello World!
  2. Layout・ファイル分割
  3. ウィジェットのカスタマイズ

10 ~ : Rviz2プラグインの作成

  1. Rviz2への移植
  2. Rviz2 <--> Qtウィンドウの内部実装の共通化
  3. QtとROS Pub-Sub
  4. QtとROS Serviceの連携
  5. QtとROS Actionの連携

20 ~ : その他

  1. QtウィジェットのROS-LikeなCMakelists.txtの作成

About

Qtの基本からRviz2プラグインの作成までを目標としたチュートリアル

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published