Droid Bot - Floor Bot On Ros2 Using MicroRos Motor Ctrl

DroidBot is a medium sized bot meant for the the table top or floor environment.  The picture above is really DroidBot 1  but DroidBot2 looks basically the same.

DroidBot2 switches to  Ros2 Foxy running on a Pi4 4GB SBC all on top of Ubuntu 64 bit 20.04.    The other major changes include a conversion of origional DroidBot Esp32 motor controller to now be a MicroRos node responding to motor controler /cmd_vel and so on.

Here is a DEMO OF THE ROS2 DroidBot2 going back and forth and using Lidar Sensor to know when to reverse direction: 

The new Esp32 microRos motor controller subsystem is made up of our Esp32 Dev board that then controls an off the shelf H-Bridge style motor controller so you can pick your level of power the motors requre.   For DroidBot the H-Bridge controller is the ArduMoto mid-sized driver.

The new microRos version of our motor controller runs on the Mark-Toys Esp32 board and listens to Ros2 topics like /cmd_vel to move the motors. 

Another enhancement is a port to ROS2 of the Neato LIDAR driver is on this bot and allows full /scan topic 360 point Lidar distance measurements.  This I ported from the normal ROS1 long standing default for Neato Lidar usage on the GetSurreal controller board.
See my ROS2 Neato Driver Github page

This bot runs the motors on a 7.2 volt LiPo cell and runs the Pi and Esp32 from 5Volt cell phone charger type of power supply.  It is generally a good idea to keep separate supplies.

A small 128x64 pixel OLED display shows the motor parameters for realtime viewing.
Top line is actual speeds and below that is expected speed.
The encoder counts and other motor parameters are shown.

At the bottom the right and left edge detectors light a dot on either side when the table edge is detected.
OLED Motor Display
Mark-World - Tech Projects To Amuse The Curious
Droid Bot Ros2