ROS講習会

近年、ROSエコシステムの導入事例が増加しており、その流れに対応するようにROS対応デバイスも増加しています。 ROSはこれまで再利用が難しかったロボット関連の資産の移植を容易にし、研究開発速度を向上させる力があります。 以前からその有用性を見出した一部の大学では、ROSを研究で活用されたり授業に導入されているところもあるそうです。

高専でもROSの活用を行う研究室が増えているものの、初学者のハードルの高さに長らく悩まされてきました。
ROS講習会では、高専を中心とした学生を対象にROS1・ROS2の講習会を行います。学生のロボットの経験が無くても取り組めるような プログラムを用意することでROSのツールを使いコーディングができるようにすることを目的としています。

2021年にROS1の初学者を対象に講座を行ました。2022年以降は高専間・研究室間との連携を取りつつ講座を開きます。 高専生だけでなく、学生向けにオープンにできる情報は積極的にオープンにしていき、ロボット関連のコミュニティへの貢献も行っていきます。

ROSはなぜ学ぶべき?

そもそもなぜ「ROS」は使用されるのでしょうか?

ROSは非常に雑に説明するのであれば、「ロボット開発のための通信基盤」と言えます。
通信を行うだけであれば、特にROSを使う必要はありません。ROSはロボット開発において、ないと生きていけないほどのツールではないのです。
それどころか、ROSはリアルタイム性が求められるロボット開発において足を引っ張るだけです。

しかし、ROSはただの「通信基盤ではない」のです。
主に3つの大きなメリットがあると考えています。

入出力がわかりやすく
可読性が高い

原因を調査できる
便利な解析ツール
(Rviz・rosbag)

他のコントリビュータと
協力しやすい

ROS2はさまざまな制約があるものの、コードが他の人と大きく違わないように設計されており、入出力の理解がしやすいという大きなメリットがあります。
ROSはトピック通信基盤に乗せてデータをやり取りする性質上、他のミドルウェアからの移植も比較的簡単です。
また、TFやPointCloud、OpenCVなどの便利なデータ処理ライブラリやrosbagといったデータ収集ツールも備えており、開発者の強力な味方となってくれます。


ドキュメントが不十分な成果物はすぐに将来の技術的負債になってします。
しかし、ROSであれば(少なくとも)入出力の仕様についてはコードがドキュメントとなってくれます。

あなたがROSを使用せずにシステムを組むことはすごくいいことで、メリットも非常に大きいでしょう。
しかし私が申し上げたいのは、仮にあなたの後輩がそのシステムを使用するときに、ちゃんとゼロからコードを読んで理解できるのかということです。


ROS初学者のハードルとは

多人数の学生にROSを教えることは簡単ではありません。その理由として次の3つのハードルがあると考えました。

人によって身につけるための
最適なコースが違う

講習費用が高い
(大規模な講習が難しい)

ドキュメントが見つからない

これらの問題は実際に講習を行った際にも起こったものです。

NITK.K ROS-Teamの提案

これらのハードルを取り除くために3つの目標を掲げ実践していきます。

人によって最適な
チュートリアルの提案

低コストでも講習可能な
代替手段の提案

学生中心の交流支援



講習の持続とのために学生主体の組織運営と学生視点による高頻度なフィードバックと更新を行っていきます。

また、ROS-Teamではうわべだけの知識にならないように、ROSを起点として深い知識を身につけることができるような仕組みづくりを推し進めていこうと考えています。