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
0 件のコメント:
コメントを投稿