ROS 2 実践コース

ROS 2 実践コース ── つながりを観察し、設計し、確かめる

ROS 2 は、ロボットのソフトウェアを「小さなプログラム(ノード)をつないだもの」として作るためのしくみです。このコースでは、自分の Windows PC に講義用の環境を用意し、前半はシミュレーター(turtlesim)で、後半は四足歩行ロボット DOGZILLA S2 の実機で、ROS 2 を学びます。

いまはノードのコードを AI に頼めば数秒で書いてもらえます。一方で、そのノードが設計どおりにつながっているか、届いているか、止まるべきときに止まるかは、動いているシステムを自分で調べないと分かりません。そこでこのコースでは、コードは AI に書かせてかまわないことにして、手を動かす時間を「観察する・設計する・確かめる」ことに使います。

毎週 2 コマ目の進め方。決めるのと確かめるのは自分、コードを書くのは AI に任せてよい
毎週 2 コマ目の進め方。決めるのと確かめるのは自分、コードを書くのは AI に任せてよい

このコースで身につけること

  • システムは、トピックでつながった小さなノードの集まりであること(計算グラフ)
  • トピック名・型・周期を先に決めれば、中身を誰が書いてもつながること(インターフェースは契約)
  • remap・名前空間・パラメータ・launch で、コードを変えずにつなぎ方を変えられること
  • トピック・サービス・アクションを、頼みたいことに合わせて使い分けること
  • ros2 コマンドや rqt_graph で、動いているシステムを外から調べられること
  • ロボットを止める仕組みは、自分のコードではなくロボット側に置くこと

このコースの受け方

授業で受ける人ひとりで学ぶ人
進め方授業の週に合わせて、1 回に 1 記事ずつ進めます表の上から順に、自分のペースで進めます
ロボット第 3 週から、授業で用意する DOGZILLA S2 を 1 人 1 台使います表の「ロボット」が「不要」の回は、PC だけで進められます。ロボットを使う回は、DOGZILLA S2 を用意し、ロボット側の準備(準備中)を済ませてから進めます
「先生の合図」と書いてあるところ先生が「始めてよい」と言うまで、ロボットを動かしませんほかの人に見ていてもらい、周りに人や物がなく、すぐに電源を切れる状態にしてから進めます
困ったとき先生に聞きます各記事の「つまずきやすい点」を見ます

カリキュラム

授業での時期内容ロボット
授業の前#00 PC の準備(Docker Desktop と講義用の環境)不要
授業の前#01 ROS 2 とは何か不要
授業の前#02 Linux の端末に慣れる不要
第 1 週 1 コマ目talker と listener を壊して調べる(準備中)不要
第 1 週 2 コマ目設計シートを書いて AI に作らせ、ツールで確かめる(準備中)不要
第 2 週 1 コマ目turtlesim で 3 つの通信パターンを試す(準備中)不要
第 2 週 2 コマ目コードを変えずにつなぎ替える(launch・名前空間・remap)(準備中)不要
第 3 週 1 コマ目ロボットにつないで、境界の向こうを調べる(準備中)使う
第 3 週 2 コマ目安全の層を理解してから歩かせる(準備中)使う
第 4 週 1 コマ目座標と時間を調べる(QoS・TF・タイムスタンプ)(準備中)使う
第 4 週 2 コマ目記録して、ロボットなしで考える(rosbag)(準備中)前半だけ
第 5 週 1 コマ目センサーから行動へ(scan_avoid の構造と実測)(準備中)使う
第 5 週 2 コマ目まとめ課題を設計する(知覚・判断・行動に分ける)(準備中)一部
第 6 週 1 コマ目組み上げて、3 段階で試験する(準備中)使う
第 6 週 2 コマ目発表と、SLAM・Nav2 のデモ(準備中)使う

授業では、各週 90 分 × 2 コマで進めます。1 コマ目は、わざと食い違いや通信切れを起こして原因を調べる実験、2 コマ目は、設計シートを書いて AI に作らせ、ツールで確かめる課題です。

延長コース(選択制)

第 6 週までを終えたあとに、興味や時間に合わせて選んで受けるコースです。全部を順に受ける必要はありません。どれも同じ PC の環境とロボットを使い、回の番号はコースごとに A1・A2 … のように振ります。

コース内容前に受けるコースロボット
延長 AROS 2 の部品を自分で作る(自作メッセージ・サービス、executor・launch・テスト)(準備中)2 週なし不要
延長 B脚の運動学(URDF・TF・順運動学・逆運動学・IMU)(準備中)3 週なし後半だけ
延長 C画像認識(カメラ・OpenCV・MediaPipe・YOLO)(準備中)3 週なし使う
延長 DLLM とロボット(ツール呼び出しと安全の層)(準備中)3 週延長 A使う
延長 E地図と自律移動(SLAM・Nav2)(準備中)3 週なし使う
延長 F総合制作(班で設計し、分担して作り、つないで床で動かす)(準備中)2 週延長のどれか 1 つ使う

AI の使い方のルール

  1. AI に渡すのは「設計シート」です。ノード名・入出力のトピック・型・周期・パラメータ・止まる条件を、先に自分で決めます。
  2. 動いたかどうかではなく、設計シートどおりかを確かめます。ros2 node inforos2 topic info -v・rqt_graph の結果を、設計シートと並べて残します(授業ではこれを提出します)。
  3. ロボットに出す前に、シミュレーションか記録データ → 机の上での確認 → 床の順に進めます。
  4. 説明できない部分があるコードは、ロボットに出しません。「何を受け取り、何を出し、いつ止まるか」を答えられるようにしておきます。

用意するもの

  • Windows 11(または 10)の PC。メモリ 8 GB 以上、C: ドライブに十分な空きが必要です(#00 のチェックツールで確かめます)
  • Docker Desktop(無料)
  • ロボットを使う回では、Yahboom の四足歩行ロボット DOGZILLA S2。授業では 1 人 1 台を用意します

ROS 2 の各機能を 1 つずつ読み物として確かめたいときは、ROS2コースの各章もあわせて使ってください。

トップへ戻る