h_nari @ 熊本市のブログ。電子工作、プログラミング、ゲーム、TV、 政治、インターネットなどに日々の思い付きを、 うだうだ~と書いていきたい。
このブログにはコメント欄を設けておりません。 記事への御意見、ご質問はtwitter @h_nari宛に お願い致します。


アーカイブ

メタ情報
RSS
Login

ROS2勉強中

軽トラのラジコンを買ったので いろいろ遊びたいと思っているのだが、 だらだらやっても面白くないので この機会にROS2などを学び、 それらの機能を使って遊んで行こうと考えた。

ROSとはRobot Operating Systemのことで、 ロボットの制御を行う複数のプログラム間の通信など の機能を提供してくれるものらしい。 ROS2は、そのversion2。 あまりよくわかっていないが、 とりあえずインストールしてみる。

Raspbery PiにROS2をインストールする話は この辺の記事を参考にしてできた。 調べてわかったのは、ROS2をインストールするには, まず ubuntu linuxをインストールする必要があるらしい。 公式からubuntu用のパッケージが提供されているので ubuntuだと簡単にインストールできるが、他の環境だとかなり大変らしい。

Raspberry PiにはROS2をインストールできたが、 手許のパソコンにもROS2をインストールして通信させたいのだが、 手許のパソコンはWindows10とdebianなので、これにかなり苦労した。

いろいろ調べたら、 docker上でROS1/2を動かすという記事 を見つけた。dockerというのはバーチャル・マシンだろうという程度の理解しか無いのだが なんとか動かすことができた。 動いてしまうと Web経由でX-Windowも使えてとても便利。 しかし、この上のROS2をRaspberry-Pi上のROS2と通信させることができない。

ROS2の通信方法を理解していないことが問題なのだが、 dockerのネットワーク構成もややこしい。 multicastでなんとかならんかとおもうが、 multicastを使ったことが無いので、その勉強から始める。 結局、multicastのルーティング(?)がうまくいかず dockerは諦めた。

使っていないPCにubuntuをインストールしてやろうと考え、 古いノート ThinkPad X-200を引っ張り出すが 電源すら入らない。電池を脱いたりして試すが ピクリとも動かない。

次に、Windowsで使用していたPCを起動してみる。 電源を入れるとBIOSがピーピー鳴き出す。 cmosをリセット、ボタン電池も交換し、一度起動するが DVDドライブがうまく動かない。そのうち、またBIOSがピーピー 鳴き出す。メモリーカードなどを一度脱いて掃除してみるが 改善されなかったので諦めた。

最後に試したのが, Macbook Air。 最近ほとんど使っていないので ubuntuを入れてもかまわない。 Macbook Airのbios的な操作方法など知らなかったが、 ネットで 参考となる記事を見つけ、 順調にインストールできた。 その後のROS2のインストールもできた。 Macbook Air上のubuntuは、なかなか見た目が良く MacOSと比べて遜色がない。 MacOSに不慣れな私には ubuntuでも問題を感じない。

これでRaspberry PiとMacbook Air上で ROS2同士で通信できるようになった。 Raspberry PiにUSBカメラを繋ぎ、 v4l2_camera を起動。 Mac側で rqt_image_viewを起動し 無事、画像を転送できた。 これで最初の目標はクリアすることができたので、 次は何をすべきが考えるが、 ROS2の理解が圧倒的に足りないので、 ROS2の勉強をすることにする。 幸い、 ROSの公式ドキュメント Tutorialがよくできているので、 これを少しずつやっている。 最初から、これを読むべきだった気がする。

このTutorialをやるのに dockerで動くROS2環境が,とても便利だ。 PCで沢山のウィンドウを開いてtuturialをやることができる。