ルンバをRaspberry Piを使ってROSでコントロールできるように改造してみた(半田付け無しでOK)

ルンバを買ったので早速改造してみることにしました

 ずっと欲しかったルンバを購入しました。


622600606

 Raspberry Pi

 


Raspberry PiROS(Robot Operating System)使

使


 ROS

 PCLinux

 使


 Raspberry PiRaspberry PisshRaspberry Pi


 22

 

ルンバをRaspberry Piを使ってROSでコントロールする方法

必要なもの

 Raspberry Pi 3

 microSDカード。最低8GB程度

 マイクロUSB接続

 USB-シリアル変換(5V/3.3V切り替え機能付き)


 Raspberry PiUSB-USB-調

 ジャンパワイヤ(オスーオス)

 モバイルバッテリ(使用したものが品切れだったので、同等以上のスペックのものにリンクしています)


 Raspberry Pi使使


 

Pololu (5[V]/9[A]) D24V90F5  D/D

 ジャンパワイヤ(オスーメス)

 ジャンパワイヤ(メスーメス)

 半田ごてのセット

 ニッパ

ルンバとRaspberry Piの接続

ルンバオープンインターフェース(Roomba Open Interface)

 Raspberry Pi使

Roomba Open Interface Spec
 Roomba 500調500/600/700/800WiFi900900WiFiROS500/600/700/800

 Raspberry Pi2


-USBRaspberry PiUSB

Raspberry Pi(UART)


 -USBRaspberry PiPC使使2OK)Raspberry Pi-USB

 
-USB

 

 OK

 
 
 -USB使5V5V3.3V

 USBRaspberry PiUSB

配線の色 ルンバ シリアル変換アダプタ
6pin(GND) GND
4pin(TXD) RXD
3pin(RXD) TXD
レベル変換してシリアル接続する方法

 -USBRaspberry Pi(UART)5VRaspberry Pi3.3VRaspberry PiTx(3.3V)Rx(5V)Tx(5V)2Raspberry Pi

 10kΩ使Raspberry PiGPIORaspberry Pi GPIO Pinout
ルンバ Raspberry Pi Memo
6pin(GND) 6pin(GND) 直結OK
3pin(RXD) 8pin(TXD) 直結OK
4pin(TXD) 10pin(RXD) レベル変換必要

 
 -USB

 使

 Raspberry Pi 3/boot/config.txt
$ sudo vim /boot/config.txt

 2
core_freq=250
enable_uart=1

 Raspberry Pi 2core_freq=250Raspberry Pi(UART)Mac - karaage. []

 ROScreate_autonomy/ca_driver/config/default.yamlRaspberry Pi 32-+
- dev: "/dev/ttyUSB0"
+ dev: "/dev/ttyS0"

 Raspberry Pi 2 /dev/ttyS0/dev/ttyAMA0

Raspberry PiROS


 UbuntuROS

 Raspberry PiPCsshbyobu

 byobu
what():  locale::facet::_S_create_c_locale name not valid

 .bashrc
$ export LC_ALL="en_US.UTF-8"

 Raspberry Piavahi-daemon
$ sudo apt-get install avahi-daemon

 MaciTunesWindowsssh ubuntu@ubuntu.localubuntu.localRaspberry Piavahi-daemonIP

ROS


 ROS2


 roomba_500_seriescreate_autonomyREADMEcreate_autonomy使roomba_500_seriescreate_autonomy

 READMEcatkin tools(catkin_build)
$ sudo apt-get install -y python-catkin-tools

 catkin_ws
$ rm -rf ~/catkin_ws
$ mkdir -p ~/catkin_ws/src  
$ cd ~/catkin_ws 
$ catkin init  
$ catkin build

 README
$ cd ~/catkin_ws/src
$ git clone https://github.com/AutonomyLab/create_autonomy.git 
$ cd ~/create_ws
$ rosdep update  
$ rosdep install --from-paths src -i  
$ catkin build

 

ROS


 Raspberry PiRaspberry Pi
 PCRaspberry Pi1
$ roslaunch ca_driver create_2.launch

 

 2
$ rostopic pub /cmd_vel geometry_msgs/Twist -r 60 -- '[0, 0, 0]' '[0, 0, 0.5]'

  ROS

 sshROSROSbyobu使

Raspberry Pi


 Battery VoltageRaspberry Pi調

 200mA330mA14V90%D/D14V5V14V*330mA*0.9/5V=830mARaspberry Pi

 D/D使9AOK使


 D/D
 Battery VoltageD/DRaspberry Pi5V
 Raspberry Pi 3

 使330mARaspberry Pi9V*0.3A=2.7W


 Raspberry PiROS/(SLAM)使

 

 Raspberry PiROSRaspbery PiGit/GitHub)ROS


 Raspberry Pi MouseROSRaspberry Pi MouseRaspberry Pi Mouse使

追記:改造を手軽にするために自作基板を製作しました。興味ある方は、以下記事参照下さい。

書籍の宣伝「からあげ先生のとにかく楽しいAI自作教室」


 AIAIGoogle Colab使AI

 AIAI


 Raspberry PiROS使



ROS: 
http://hyakuren-soft.sakura.ne.jp/hobby_robot_sdk/about_roomba_page.html
Roo Pi - controlling a Roomba with a raspbery pi
Raspberry Pi   
 - ABEJA Tech Blog


http://science.irobot-jp.com
ROS_21:Roomba Driver Install - Qiita
http://szmlb.hatenablog.com/entry/2015/10/11/170900


https://datahotel.io/archives/2999


USB - cvl-robot's diary
 Raspberry Pi  - 
ROS使 feat. Raspberry Pi3PS4USB - Qiita

変更履歴

  • 2019/10/21 シリアル通信に関してRaspi-Configでの設定追記
  • 2019/05/07 本記事を参考にしているサイトへのリンク追加
  • 2017/09/11 本記事を参考にしているサイトへのリンク追加
  • 2017/05/12 電源に関して追記