見出し画像

Raspberry Piでルンバハックしてみた

からあげさん(@karaage0703)の記事を読んだのが1年以上前。重い腰をやっと上げてルンバハックしてみました。すべての手順は上記の記事に書かれているので、躓いたところだけメモします。

Raspberry PiにUbuntuベースのROSをセットアップ

まずはこちらの「ROS indigo(Ubuntu) on Raspberry Pi 3 イメージファイル」からイメージファイルをダウンロードします。
ダウンロードしてきたファイルをこちらの「Etcherを使用したイメージのSDへの書き込み」を参考にして、Etcherを使って書き込みます。

書き込み後、Raspberry Piの電源を入れます。試しにTeraTermからSSHログインしてみたら無事つながりました。

ルンバを制御するROSパッケージをセットアップする

こちらに戻って以下のコマンドを実行したところ、

$ sudo apt-get install -y python-catkin-tools

以下のようなエラーが出ました。

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

エラーに言われた通り素直に「apt-get update」してみたらまたエラーが…

W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://packages.ros.org trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F42ED6FBAB17C654

こちらの記事を参考に以下を実行します。

$ sudo apt-key del F42ED6FBAB17C654
OK
$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
$ sudo apt -q update

うまくupdateできるようになりました。

GPGエラーはPPA ( Personal Package Archives )上からソフトウェアをインストールした時に遭遇したりするのですが、そのような時は"apt-key"コマンドを使ってkeyサーバーからパブリックキーを新たに取得すればエラーを回避出来ます。ーUbuntuでGPGエラーが出た時の対処法

さて、もともとやりたかった「python-catkin-tools」をインストールしなおそうとしたらまたまたエラー。

dpkg-deb: error: archive '/var/cache/apt/archives/python-catkin-tools_0.4.5-1_all.deb' has premature member 'control.tar.xz' before 'control.tar.gz', giving up
dpkg: error processing archive /var/cache/apt/archives/python-catkin-tools_0.4.5-1_all.deb (--unpack):

dpkgの良く知られたバグらしいです。以下で直します。

sudo apt-get clean
sudo apt-get update
sudo apt-get install dpkg
dpkgコマンドはdebian系のパッケージを管理するためのコマンドだ。Redhat系のrpmに相当する。
debファイルを扱うdpkgコマンドの使い方を簡単解説

ROSでルンバコントロールの動作確認

準備はできたので配線を行って動作確認コマンドを実行します!

$ roslaunch ca_driver create_2.launch

ルンバから音が鳴ってターミナルにバッテリーが表示されました!
と喜んでいたのもつかの間…

[ERROR] [1568620689.521149585]: [CREATE] Unknown mode detected
[ERROR] [1568620689.621144065]: [CREATE] Unknown mode detected
[ERROR] [1568620689.721142033]: [CREATE] Unknown mode detected
[ERROR] [1568620689.821119221]: [CREATE] Unknown mode detected
[ERROR] [1568620689.921127137]: [CREATE] Unknown mode detected
[ERROR] [1568620690.021183127]: [CREATE] Unknown mode detected
[ERROR] [1568620690.121125887]: [CREATE] Unknown mode detected
[ERROR] [1568620690.221102971]: [CREATE] Unknown mode detected
[ERROR] [1568620690.321124793]: [CREATE] Unknown mode detected
[ERROR] [1568620690.421153960]: [CREATE] Unknown mode detected
[ERROR] [1568620690.521132241]: [CREATE] Unknown mode detected
[ERROR] [1568620690.621182241]: [CREATE] Unknown mode detected

怒涛のエラーです。何だろうかこれは。とりあえず無視して回転のコマンドを実行したらうまく回ってくれました!

ROSコマンドの仕様書を読みながら前進・後進させて遊びました。

次はこうする

Raspberry Piでルンバハックができました。動くと楽しいですね。
次はカメラモジュールを使って物体を追いかけるようにしたいです。

この記事が気に入ったらサポートをしてみませんか?