[ros-users] [Discourse.ros.org] [ROS Projects] BennyBot build... an autonomous bot to deliver my garbage to the curb

Duane Benson ros.discourse at gmail.com
Tue Apr 10 17:41:28 UTC 2018

Hi Adrian,

It sounds like you might be in a bit over your head with this project, but everybody has to start somewhere... you may have a number of steep learning curves ahead of you.

The sabertooth controllers drive 2 channels (i.e. 2 motors) at 32 amps, up to 30volts per motor.  I have 4 independent drive motors, which requires 2 sabertooth controllers.  The Kangaroox2 is an add-on to the sabertooth which provides the closed loop PID control and there is one required for each sabertooth controller.  Theoretically, the two sabertooth controllers could deliver a maximum of 128 amps to all 4 motors (32A x 4), this assumes that the motors are big enough to require that much current draw, it will be the motors themselves and their rated current at stall which determine the current draw from the sabertooth.  I am using 4 x PG71 gearmotors, which have a stall current of 22 amps each, I haven't pushed them to stall currents yet, but the sabertooth is rated to safely deliver up to the 22 amp max of these motors.  The sabertooth is not very well supported in ROS... I'm not sure it's the best choice, but it's certainly not impossible to make it work.

I am using a single 12V car battery to power my robot.  You mention 380 volts which is certainly a possibility, but you need to be careful with this type of configuration... 380 VDC is very dangerous!  I use a single 12 V bus to power the 12 V equipment, and I have a downconverter that converts the 12VDC to 5VDC for my electronics... these are easily found on any robotic suppliers website.

I have 2 raspberry pi for now until I can determine how much processing power will be required... I am a beginner with ROS, so I won't be surprised if this is not enough to perform full SLAM navigation.  Once you learn ROS, it's easy to understand how the processing is distributed across multiple devices... it's the whole publish/subscribe scheme that makes this possible.  The multiple processors will need to be networked... EtherCat seems to be the standard here, but it's an area I haven't tackled yet.  I do have an Arduino that connects to the Pi by USB... the Arduino is controlling my stepper motors by ROS events published by the Raspberry Pi.

BOM is very much up to you... my high level components are:

2 - Sabertooth 2x32 motor controllers
2 - Kangaroo X2 PID controllers
4 - PG71 gearmotors
2 - Raspberry Pi 3
1 - Arduino Uno
2 - HS485 (I think) servo motors
1 - 12VDC to 5VDC converter
1 - Main contactor to isolate the battery
1 - Main circuit breaker for protection
1 - Fuse block to protect individual circuits
Various other components such as LiDAR, switches, cameras, etc.

[Visit Topic](https://discourse.ros.org/t/bennybot-build-an-autonomous-bot-to-deliver-my-garbage-to-the-curb/3896/5) or reply to this email to respond.

More information about the ros-users mailing list