Getting Started with RMRobotTest
Over the last year or so I’ve been toying around with the idea of building a robot test platform. Because everything I build has to have a name, I have coined this “RMRoboTest”!
Early Goals for this Project
- Using DC robot drive motors.
- Tethered and Remote Control with various types of transmitters and controllers.
- Obstacle avoidance.
- Autonomous random and directed movement, tracking and Geo-mapping.
Once I have the robot moving, obstacle avoidance implemented and am comfortable with how this works, I will dive in and demonstrate other advanced features and sensors.
The Robot Base
As far as the robot base goes, virtually anything will work for this project. For my project, the robot base had to meet the following requirements:
I looked at hundreds or robot bases before purchasing the one below. I found plenty that were large enough to hold all of the electronics but few that provided simple steering. Many have fixed wheels but separate motors controlling them so some level of forced steering can be accomplished.
I found the XiaoR Geek Smart Robot Car Tank Chassis on Amazon for around $85. It is a little more expensive then others I researched but it met all of my requirements and more.
As I indicated above, there are many other options available. My robot will ultimately have Raspberry Pi 3 Model B+ (brains), DFROBOT Arduino Shield for Raspberry Pi (onboard display and control), a second Arduino Mega 2560 Rev3 with a DC Motor Shield for all DC motor control and two lithium ion batteries. This robot platform provides enough space for all the electronic components and more.
If you wish to follow along with this project, I recommend getting something similar as the schematics and code will all run.
What Else Do I Need Now To Get Started?
Before I write about the first project (Getting the RMRobotTest Moving), I recommend ordering the initial parts. As of today, a few of the parts I’m using are still on order and yet to be received. As soon as these parts arrive, in the next week, I will write the next article.
In the meantime I recommend you get the same, or similar, parts ordered so you can follow along.
Here is a list of the parts I have ordered and will initially write about.
|XiaoR Geek Smart Robot Car Tank Chassis|
This is the robot base. Please use the same base or one that uses (2) 12vdc drive motors.
|Raspberry Pi 3 Model B+|
These can be found from a multitude of vendors including Amazon, Allied Electronics, element14, adafruit and many more. Shop around and see where you can find one that meets your budget and delivery time-frame.
|DFROBOT Gravity: Arduino Shield for Raspberry Pi B+/2B/3B/3B+|
This shield is a complete Arduino for the Raspberry Pi. Note, I’m not familiar with this Shield and am not 100% certain it will work for this project. When it arrives, in the next couple days, I will test it, determine if it will work for this project and write an article about my findings.
|DFROBOT Romeo – an Arduino Robot Control Board with Motor Driver|
This is an Arduino board that includes a DC motor driver and will be used for the two 12v DC main drive motors.
This is another board I have not used in the past and will write an article about it when it arrives. Another option to using this board is an Arduino UNO or Mega with a 2x2a DC Motor Shield For Arduino Driving Current Up To 2A
In general, the above is what’s needed to get started. A Raspberry Pi for robot brains, Arduino UNO or Mega for DC motor driver support. With these alone, we can get our robot moving and start the process of obstacle avoidance.
All documentation, code and schematics will all be stored and managed in GitHub.
As soon as the GitHub repository is created, I will post the location and ask if others are interested in getting involved.
This robot project is a precursor to a larger robot I intend on building in the next year or so. It will be a great platform for testing what I wish to accomplish on a larger scale.
If you’d like to follow on, please follow my blog.
If you have any questions, comments or recommendations, please leave a comment; I will answer as soon as possible.