2年ほど前に卒研生が遠隔操縦ロボットを作りたいといいだしROSについて少し勉強したことがありました。といっても以下の本を1/3くらい読んだところで終わっていたように思います。熱しやすく冷めやすいので。。。
今年の卒研生にロボ研の学生さんがいましてROS2を勉強するというのでやっていたようですがなかなか進まないようでしたので少し一緒に付き合って作業してみました。
なるほど。。。ネットやAIの情報にはROS1とROS2やバージョンの違いなどが混在していて進めるのが難しいことがわかりました。やはり先人の力を借りるの一番と思い以下の2冊を研究室用に購入しました。
これからというところですが、色々と読んでいくとやはりこれ(ROS2)面白いなぁ。。。と思いました。自分でも環境を作って少し勉強し始めたところです。
本のトレースの前にまず実行環境が必要です。手持ちはM4 MBPなので、そこにubuntu環境を構築する必要があります。とりあえずUTM(仮想化ソフトウェア)をいれてそこにUbuntu Desktop 24.04.3 LTS(ubuntu-24.04.3-live-server-arm64.iso)を持ってインストールしました。
MacでのUbuntu環境の構築とROS2のインストールはnpakaさんがまとめてくださっていますのでそれをそのままトレースしました。とりあえず一通り動作させることができました。
ubuntuのDesktopって真面目に使ったことがないので使ってみると色々と基本的なことが自分はできないことに気づきました。そもそもアプリはどうやっていれるの?とかです。いまだにペーストがCtrl+Shift+vに慣れません。⌘が使えるようにできるはずですが。。。できていません。
とりあえずVSCodeをいれておこうと思って以下でインストールはできました。インストールもなかなか面倒ですね。。。リポジトリ登録からしないとダメとは。
当然ですが、amd64ではなくarm64で動作させていることを意識しないとネット記事はそのまま動作しませんね。Mac使いがどれだけいるかわかりません(ROSでも昔はMacをサポートしていたらしいですがユーザが少ないということでコミュニティレベルになったと本に書かれていました)。
上記の近藤さんの本を先に読んでいるのですが(といってもまだ1割くらい)。冒頭がいいですね。。。ROSの歴史も語ってくれます。確かにこういう背景を知っておくことが大事だと思います。なぜこれがこうなっているのか?とか理解した方がわかりますしね。
旧来、ロボット開発はクローズな世界でやってきたのをオープンになったという流れ。そのオープンの流れでOSS開発が進められたが企業が使うには色々と問題があった。それを改定したのがROS2だと。そして、いまや多くのロボットの実機のコアソフトとしてROS2が採用されているという話。うーん。。。ジーンと来ます。こういうのを読むとロボット開発に興味がある人はロボット工学も大事だけどまずROS2を勉強しないとダメじゃないかな。。。と思えてきます。ロボットに限らずリアルタイム処理が必要な場面でソフトウェア基盤としても使えそうに思います。
まずは勉強ですね。


