Equip Arduino based lawn mower with ROS [closed]
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.