ROS 2のハンズオン教材「実習ROS 2」の目次のページです。
テーマごとに解説ページへのリンクを記載しています。
リンクのないページについては、今後順次公開予定です。
導入
-
コンセプト
ROS(ROS 1, ROS 2共通)と、ROS 2のコンセプトについて説明します。 -
インストール
ROS 2のインストール方法について説明します。
入門
基礎編
-
Pub&Sub通信
ROSのデータ通信の基本となるPublish/Subscribe通信を行うノードをC++で作成、実行します。 -
Service通信
クライアント/サーバ型の通信方法であるService通信を行うノードをC++で作成、実行します。 -
ROS 2 Launch 1:概要
複数のノードをまとめて起動する方法であるlaunchというシステムについて説明し、簡単な実行例を示します。 -
ROS 2 Launch 2:応用
launchシステムで使用できる応用機能の一部を説明します。 -
ROS 2 tools
デバッグ等に使用できるCLI上でのコマンド、GUIツールについてまとめています。 -
ROS 2 Logger
ROS 2で情報をターミナルに出力するログシステムについて説明します。 -
ROS 2インタフェース
ROS 2のデータ通信インタフェースについて説明し、使用方法を示します。 -
カスタムROSメッセージ
自作のROS 2メッセージ型を定義し、使用する方法について説明します。
可視化編
-
urdfを記述する1
ロボットを記述するフォーマットであるURDFの概念と、基本的な書式を説明します。 -
URDFを記述する2
URDFで様々な色や形のlink、可動jointを記述します。 -
xacroを使う1
URDFを効率的に記述する方法であるxacroを利用して、定数、数式・条件式を記述します。 -
xacroを使う2
xacroのマクロ機能のうち、モジュール、インクルード、変数を利用したxacroを記述します。 -
tf2 broadcast, listen
tf2の概要とbroadcast, listenの方法を説明します。 -
joint_stateをpublishする
joint_stateをROS 2ノードからpublishし、Rviz上のロボットを動かす方法を解説します。
上級
発展編
-
Action通信
クライアント/サーバ型で、実行中の情報をフィードバックして受け取れる通信方式であるActionを解説、実装します。 -
ros2 paramを使う1
ROS 2ノードに与えるパラメータの概念、CLIツール、基本的な与え方について説明します。 -
ros2 paramを使う2
ROS 2ノードで扱えるパラメータの型の種類や、YAMLファイルからパラメータを与える方法について説明します。 -
rosbag2を使う
ROS 2でトピックを保存、再生する手段であるrosbag2について解説します。
ROS 2追加要素編
-
Componentを使う
ノードを共有ライブラリとしてビルド、実行するComponentという概念を説明し、これを用いたノードを実装します。 -
Lifecycleノード
ノードの状態遷移を表現できるLifecycleという仕組みを説明し、これを用いたノードを実装します。 -
QoSを設定する
ROS 2の通信品質を決定しているQoSという概念と、それらを設定する方法を説明します。
開発環境編
-
CMakeLists.txtとpackage.xmlの書き方
2つのファイルの役割や、書式について説明します。 -
ROS 2パッケージのディレクトリ構成
ROS 2のワークスペース及びパッケージのディレクトリ構成について説明します。
UI編
-
Qtを使う1
QtでGUIを作成し、作成したGUIをROS上で動かして画面に表示する方法を説明します。 -
Qtを使う2
QtでGUIの応答処理を実装する方法を説明します。 -
QtでPub&Subする
QtとROS 2を組み合わせて、GUIからトピックを扱う方法を説明します。