Equip Arduino based lawn mower with ROS

asked 2019-05-13 05:57:03 -0600

PaddyCube gravatar image

Hi there,

I build a lawn mower based on Arduino few years ago (Ardumower). To bring it even further, I plan to re-invent it using ROS.

My main target is to build a robust path planning and to get rid of random crossing my lawn for hours. Currently, everything is handeld by Arduino code and I wonder how to start best. Please don't hate me for asking how to begin. I read through lots of tutorials but I'm still lost how to set up best.

Robot is a 2 wheel robot (like Turtlebot i assume) equipped with: - 3x sonar - bumper sensor - perimeter wire (like a fence) - IMU - Odometry - monitoring power consumption of motors (to detect high lawn and overload) - Raspberry PI 3 (or Zero) with PI camera (currently for FPV view and manual remote control) - Bluetooth

My Idea is to keep Arduino in place but to use it as a basic controller for the robot. It should note ROS about any problem (Bumper hit, Sonar trigger, overload, perimeter crossed etc). ROS should than decide, what to be done next (reverse x cm and turn to left in a given angle etc.) Arduino will always stop robot in any event and wait for instructions coming from ROS. For communication between ROs and Arduino I plan to use ros_serial.

Is this the right way to go? Should I attach sensors like IMU, Odometry etc directly to RPI or is it ok to keep them to Arduino and send only data to ROS? Which version should I start? It has to run on RPI 3, maybe on zero, so I plan to use Kinetic. Is this still valid?

Sorry for this stupid questions, you provide so many information here, too much for me to get the right track to start.

edit retag flag offensive close merge delete