I’ve built quite a few small robots over the years. Track driven with differential steering to small two wheel self-balancing. I wanted to build a robot/vehicle that could be a platform for different types of tests in the future. My initial thoughts are to include the following requirements.
- A modular build approach that allows for easy replacement of any sub-system.
- I want the ability to test different systems, components and soon. This is the primary reason for building this.
- Simplified build using off the shelf hardware and components; reducing the need for expensive tools and tooling.
- Obstacle avoidance.
- Autonomous execution of tasks.
- Environment monitoring.
- Gripping and sensor arm.
Modular Build Approach
A modular build approach allows for easier swapping of systems. I will carry this approach throughout the entire build.
Hunter will contain the following main systems.
- Power System – designed to distribute power to the entire robot. The Power System will support 12vdc 20 amps, 7.4vdc 15 amps and 5vdc 10 amps. The 12vdc will be used for drive motors, 7.4vdc will be used for servos and the 5vdc for logic.
- Drive System – Arduino Mega 2560 – designed to support (6) drive motors, (4) steering servos and obstacle avoidance sensors. The drive system will allow control input from PWM (standard RC receiver) and serial commands.
- Grip and Sensor Arm System – Arduino Mega 2560 – the robotic arm will have the ability to grip objects and carry various environment sensors.
- Tower Sensor and Video System – Arduino UNO and raspberry pi – this is the robots main vision system and will support audio commands.
- Control System – raspberry pi – the central control system has the ability to collect all sensor and state information and control every sub-system.
With these requirements in mind, I set out, a couple months ago, to start designing, investigating and testing what I will need to accomplish this build. Over the course of that two months, I have tested many different gear motors, motor drivers, servos, servo drivers, I2C multiplexers for adding PWM, digital and analog I/O and on and on. Most of the decisions I’ve made are based on the outcomes of that testing.
I’ve decided to build the robot base using Actobotics hardware, purchased from Servo City. There are many options available for building a robot base. You can use everything from LEGO, your own 3D printed parts to complete systems such as Actobotics. Actobotics isn’t the least expensive approach I could have gone with for the robot base. However, I found all of the hardware, accessories, documentation and support to be top of the line. This system allows me to reconfigure what I wish with little effort. To this point, this robot base has already gone through many configurations; until I reached a point where I am now comfortable with size and component layout.
Robot Base Parts List
As I indicated above, this isn’t the least expensive approach you can use for your robot base. Feel free to use hardware and an approach that best meets your requirements and budget.
The base, using the component list above is assembled starting with the (4) 18″ Aluminum Channels, (4) 9″ Aluminum Channels, (2) 12″x9″ Pattern Plates and (16) of the Large Square Screw Plates. The 18″ Aluminum Channels are for the sides, 9″ Aluminum Channels are for the front and back and the 12″x9″ Pattern Plates are for the bottom. I used Large Square Screw Plates to bolt everything together.
The following photos show you where and how the additional components are used. If you need more detail and/or have questions, please leave them in the comments below. I will update the article accordingly.
In the next post, I will review the Power System requirements, the components I’ve decided to use and wiring diagrams. I have yet to decide exactly what batteries I’ll be using, hopefully have some test results to share soon.
As this project progresses, it will become more complex. I will do my best to describe why I did something and what I’m doing to implement each component. If you have any questions or comments, please leave them below!
Until next time, #NeverStopLearning!