Use the Neato Botvac with ROS

Neato’s Botvacs are not only cool for keeping your home clean, they also are an affordable robotics platform compatible with the robot operating system (ROS). To use your Neato with ROS, first install ROS, then download and install my fork of the neato_robot package:

To use my Neato wifi hack with the ROS package neato_robot the telnet access has to be bridged back to serial with socat:

Now you can launch the necessary ROS nodes with roslaunch:

While the console window is active, you should be able to move your robot around by:
u i o
j k l
m , .

q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
anything else : stop

CTRL-C to quit
Watch out, it can be surprisingly fast 😉

Neato ROS

Alternatively you can command your neato via rviz to go to a nav goal…

Neato Botvac 80 Wifi Mod

As the Neato BotVac 85, unlike its luxury sibling Vorwerk Kobold VR200, does not have a Wifi interface, I was looking for a solution to retrofit it. Here is some instructions on how to do it.

After doing some research, I found a similar mod for the older Neato XV Series. So I ordered a Hame MPR-A5 which is basically the same as the Hame MPR-A1 without the battery. Two months later it finally arrived.

To integrate this little router in your home network as a client, lets install OpenWrt on it. First make sure you have gotten my device or an equivalent clone:

Connect to your router by ethernet with the credentials on the back of the device and flash the following image from the webinterface.

Login to your router via

type passwd and choose a secure password. The router should now be available via

Now lets tackle the network config:

and adjust like this

config wifi-device ‚radio0‘
option type ‚mac80211′
option hwmode ’11g‘
option path ‚10180000.wmac‘
option htmode ‚HT20‘
option disabled ‚0‘
option country ‚DE‘
option txpower ’20‘
option wmm ‚1‘
option channel ‚9‘

config wifi-iface
option device ‚radio0‘
option network ‚wwan‘
option mode ’sta‘
option encryption ‚psk2‘
option ssid ‚Network‘
option key ‚wpakey‘

and adjust like this:

config interface ‚loopback‘
option ifname ‚lo‘
option proto ’static‘
option ipaddr ‚127.0.0.1‘
option netmask ‚255.0.0.0‘

config interface ‚lan0‘
option ifname ‚eth0.1‘
option proto ‚dhcp‘
option gateway ‚192.168.181.1‘
option dns ‚8.8.8.8‘

config ‚interface‘ ‚wwan‘
option ‚proto‘ ‚dhcp’</code>

Also change the name server to a name server of your choice

After rebooting, continue by installing some missing packages:

Now plugin your neato with a good USB A to Micro USB cable (2 of my usual ones did not work) and

Now lets make the serial port available via telnet with ser2net. Edit the configuration file for ser2net

It only needs to contain this line:

3000:telnet:0:/dev/ttyACM0:115200

This line says to listen for incoming telnet connections on port 3000, and connect them
to /dev/ttyACM0 at 115200 baud.

As ser2net doesn’t start automatically, add ser2net &
to /etc/rc.local before the exit 0. Reboot and you should now be able to connect the Neato Botvac 80 via telnet

and control it using the commands from the Neato API.

Robotersauger Neato Botvac 80

Seit einigen Monaten habe ich eine neue Mitbewohnerin, „Botsy“ der Robotersauger Neato BotVac 85. Um es kurz zu machen, ja ich würde ihn wieder kaufen.

Botsy

Es erfordert zwar einigen Aufwand eine Wohnung robotersicher zu machen aber es lohnt sich auf jeden Fall. Kommoden, TV-Möbel etc. die nahe an der kritischen Höhe von 10,16 cm sind können einfach mittels Filzgleiter angehoben werden. Ernsthaftere Probleme hat die kleine allenfalls mit höheren Stufen > 1.5cm, Glaswänden (z.B. Duschen) und manchen altmodischen Kloschüsseln 🙂

Selbst das Parken in der Ladestation ist lange nicht so problematisch wie angenommen. Auch ohne viel Platz und mit eingeschränktem Sichtkontakt zur Ladestation findet er immer zuverlässig zurück ins Nest.

IMG_1179

Eine unangenehme Verschleißerscheinung trat jedoch nun nach den ersten 3 Monaten auf, das Kugellager des Bürstenmotors wurde trotz regelmäßiger Enthaarung immer schwergängiger. Im amerikanischen Haushaltsroboterforum war das Problem schon einschlägig bekannt, aber warum sollte man versiegelte Kugellager aus den USA importieren wenn wir in Deutschen Landen dafür bekannt sind herausragende Kugellager zu produzieren. gibt es z.B. die passenden Miniatur Kugellager 688 2RS, 8x16x5, 688 2RS. Und siehe da, Botsy läuft so ruhig wie nie zuvor.

Als nächstes Projekt werde ich versuchen Botsy mit Wifi nachzurüsten und in die Heimautomatisierungslösung Fhem zu integrieren.