AdSense

2019年1月27日日曜日

Roomba 980をraspberry piで動かしてみた

Roomba980を手にいてたので、任意の操作を試した記録。

REST APIでスマホ代わりに動かした記事は結構見つかったけども、直接ホイールなどのレベルで制御した記事は見つからず。
500シリーズはシリアルポートを制御した記事が結構あるが、900シリーズはあまりない。

ということで、900シリーズである980を直接制御してみた。

500シリーズはシリアルポートがあり、USBシリアルで制御するが、980はMicroUSBポートがあり、そこをシリアルポートとして使う。

場所はここ。カバーは簡単に外れる。

ここにあるMicroUSBにケーブルを挿す。
初めはWindowsPCで試すが、iRobot Roombaと認識するがCOMポートとは認識せず。
どうやらドライバが必要の模様。しかしドライバを見つけられず。

しばらくググると、Raspberry piならば何もせずともttyACM0として認識するとの記事を発見し、試すと確かにUSB挿すだけでttyACM0として認識する。

ここまでいけば、あとはROIの通りにコマンド送るだけで良いはず。

ROI(500 series)

しかし、なぜか私の環境ではコマンド送っても反応せず。
おもむろに下記のスクリプト流すとすんなり動きました。

ただし、COMポートだけはソース修正必要です。

https://github.com/martinschaef/roomba

この部分
 ROOMBA_PORT = "/dev/tty.usbserial-DA017V6X"
  ↓
 ROOMBA_PORT = "/dev/ttyACM0"

game.pyもstarwards.pyも無事動きました。





下記記事参考にさせていただきました
https://qiita.com/ozwk/items/7ed89479cf4931970edd