In this tutorial, we will learn how to build a 4WD robot chassis using aluminum profiles and 3D printed parts.
Several weeks ago, I built an obstacle avoiding robot on a 2WD plastic platform. The platform works well, but it is limited in terms of space and capabilities.
A 4WD chassis is easy to design, easy to build, robust, and we have many options to attach different components and parts.
There are many possible designs for such a platform. But as an engineer, I start from a specific set of requirements to build a platform capable of hosting different sensors, microcontrollers, and computers. Also, the 3D printed parts allow me to play with different designs to produce the ultimate 4WD robot chassis.
The weight distribution was a crucial factor in the design decisions of the structure of the chassis. The apportion of weight in the front and the back of the chassis is equal. For this reason, the weight distribution will not affect a variety of characteristics of the robot, including handling, traction, and acceleration.
Inside the remainder of this tutorial you will:
1. Learn how to build a chassis frame with aluminum profiles
2. How to build the drive system
3. Testing the platform
4. Next steps
Table of Contents
Toggle1. Learn how to build a chassis frame with aluminum profiles
In the first part of this tutorial, we’ll learn how to assemble the chassis using aluminum profiles and profile connectors. But before going into the assembly of the frame, let us first discuss the materials, chassis weight, and the need of precision.
Before designing the chassis frame, I have sorted out all the DC motors, wheels, and the battery to power the robot. All of these are put together in a chassis frame of 19cm wide by 29cm long by 10cm high.
In the last few years, I have examined different options to build chassis frames, including Perspex, Plexiglas, L shape aluminum profiles, and mild square iron profiles (for a heavy-duty robot). However, I have excluded Perspex and Plexiglas because these materials tend to shatter if bent.
The iron profiles are a bad option due to weight limitations. A chassis of a robot will carry the DC motors, batteries, electronics, mounting supports, and more. All of these components and parts are added to the weight of the chassis itself, which will count towards the total carrying capacity of the electrical motors. So, we have to keep the weight as low as possible.
The aluminum profiles have the best strength/weight ratio for a robot. Furthermore, it has excellent corrosion resistance and the ability to connect with precision the profiles during their installation.
If we want to build a robot that will go straight, you need all the frame parts and the components to be perfectly symmetric with the chassis.
The chassis frame is designed to house four geared DC motors with wheels and the ability to drive around with heavy loads. The aluminum profiles provide slots on every side of the chassis frame to assemble the drive system, sensors, microcontrollers and computers, and other components.
Assembling the modular chassis frame is an easy process that can be done quicker if you use the appropriate tools. All the brackets are fixed with the same stanley steel hex. As such, you’ll need a screwdriver with a 5-mm hexagon head tool bit and/or a 5-mm hex key wrench.
The weight of the aluminum chassis frame is 800 grams.
This step requires the following:
- 4 X 25cm length – 20X20 aluminum profiles [Amazon];
- 2 X 15cm length – 20X20 aluminum profiles;
- 4 X 10cm length – 20X20 aluminum profiles;
- 12 X 2 Hole aluminum brackets for aluminum profile with 6mm slot [Amazon];
- 24 X M5x8mm stainless steel hex [Amazon]
For the base of the chassis frame you need two 25cm profiles, two profiles of 15cm, four aluminum brackets, and 8XM5 screws.
The 10cm profiles are used to fix the base and the top aluminum profiles of the chassis.
For the top of the chassis we are using two 25cm profiles. The front and back of the frame are not closed from two reasons:
- The structure is very rigid;
- The weight of the chassis must be as low as possible;
Once the chassis is assembled and all the profiles are aligned, we can attach components to this frame.
2. How to build the drive system
In this part of the article, we’ll learn the drive system architecture, including the components, assembly, and the 3D printed parts.
The chassis has four DC geared motors and four wheels connected directly to the motors. The architecture of the chassis includes 3D printed parts for the DC motors and wheels. The 3D printed components can be changed to matching something like encoders and additional accessories.
The drive system comprise of:
- 4 X 12V DC geared motors [Amazon]
- 4 X 3D printed mounting brackets
- 4 X 3D printed shaft coupling
- 4 X 125mm diameter rubber wheel
- 1 X Sabertooth dual 25A 6V-30V regenerative motor driver [Amazon]
The drive system is more important than anything else on the robot. Its primary function is to transmit the power of the DC motors to the driving wheels to control the robot’s motion, like starting, velocity, and braking. Below, we will explore all the parts individually including its roles in the drive system and how they are assembled into the chassis and secure it with screws.
2.1 DC Motors
The 12V gear-box electric motors are ideal for this small robotic chassis and provide enough power to move the platform at the maximum speed of 300 rotations per minute.
The direction of the DC motors is controlled by simply reversing the polarity at the motor terminal. The speed of the electric motors is controlled by changing the voltage level using the PWM signal.
2.2 3D printed mounting brackets
To mount the DC motors to the chassis are used mounting brackets. Each mounting bracket has a custom design fitted on the aluminum profiles and connected in three points. Because each mounting bracket is fixed to the aluminum frame in three points, each of these has a design that fits on the side where it is mounted.
2.3 Wheels
While I designed the mobile robot, I wondered what wheels I should incorporate to have an excellent grip on all kinds of surfaces and reduce robot vibrations due to its flexibility. Connecting the wheels directly to the electric motors provides vibrations for electrical parts inside the body of the robot. In our case, the wheels reduce the frame vibration without sacrificing robot efficiency. The vibrations won’t be an issue if the robot is used indoors at a lower speed.
The solution was four rubber wheels with a diameter of 125mm and a width of 60mm.
The wheel is attached to the DC motor with two 3D printed parts. One 3D printed piece is mounted outside of the wheel, and a 3D printed shaft coupling part is mounted inside of the wheel. The wheel and the 3D printed parts are fixed with M3 screws.
2.4 Motor Drive
The driver provides the current to the DC motors at the required voltage but cannot decide how the motors should run.
The DC motors are controlled by a Sabertooth dual 25A 6V-30V regenerative motor driver. This motor driver is compatible with a microcontroller like Arduino and with a Linux computer like Raspberry Pi. If your robot application demands real-time responses, you need to use a microcontroller board such as Arduino. The Raspberry Pi board is based on an ARM-Cortex processor, which is more powerful than Arduino and capable of running ROS.
The controller accepts analog, RC, and TTL serial input. For testing the chassis, it used the remote control method.
The Sabertooth 2 X 25A motor driver has two channels to control at least two DC motors on each pipe. The chassis is running on four DC motors, so we have to connect all these to two channels.
For this chassis, the differential drive movement is used based on four separately driven wheels placed on either side of the robot body. In this case, we have to connect two DC motors from one side of the chassis to one channel of the motor drive, and the other two DC motors to the second channel. The terminals M1A-M1B and M2A-M2B are used for connecting the electric motors to the motor driver.
The battery terminals are connected to B+ and B- terminals of the motor driver. For testing the chassis, we use a high capacity 10000mAh 4S 12C Lipo Pack battery.
2.5 Differential Drive
The four wheels of the chassis come with two pairs of powered wheels. The differential drive is making the wheels on one side of the frame turn faster than the wheels of the other side. The chassis is turning to the opposite side of the wheels that are turning faster. In other words, each pair is spinning in the same direction to move forward or backward, while changing the spinning direction the chassis will turn left or right.
One advantage of the differential drive is that it can spin around its z-axis if the wheels are driven in the opposite direction.
3. Testing the platform
The objective of the testing is to evaluate the technical features and study the performance of the platform. We choose to use a receiver and remote control to test the platform because it is simple and easy to implement.
The connection between the RC receiver and the Sabertooth is simple. The motor driver has four screw terminals: GND, 5V, S1, and S2.
All these terminals will be connected to the RC receiver:
- Gnd to BAT Gnd pin of the receiver
- 5V to BAT 5V pin of the receiver
- S1 to Channel 1 of the receiver
- S2 to Channel 2 of the receiver
For controlling the DC motors of the chassis with an RC receiver, the RC mode of the driver must be taken into consideration. The RC input uses two channels from the receiver to set the speed and direction of the motors. To set up the driver’s RC mode, we have to choose the DIP switch for Mode 2. The DIP switch has pins 1 and 3 OFF, while the others ON for linear control of the DC motors.
Assembling and testing the chassis
4. Next steps
The next step of the project will be to make it safe and transform it into an autonomous robot.
1. An emergency switch to cut the power off;
2. Mount the chassis ground to reduce circuit noise;
3. Add sensors, an Arduino board and a Raspberry Pi board to detect obstacles and communicate wireless with the robot;
Resources:
Download the STL files: thingiverse.com