Arduino Explorer Rover Part 1 – Chassis

arduino explorer rover

Table of Contents

 

Introduction

arduino explorer rover

For quite some time, I’ve been looking for a robot that would be able to handle rough terrain, to get the thrill of exploring the real world without having to get up from my comfortable chair. There are quite a few different robots available as kits. However, when I was looking for a good six-wheeled robot, one issue kept coming up over and over again: none of them was big enough. Sure, some came close, the best example being the Dagu Wild Thumper, but none was exactly what I’ve been looking for. So, I decided to design my own, and after spending quite some time in CAD and even more time in my garage, I am finally able to present to you ArduRover: a full-metal, 6WD off-road robot with independent wheel suspension!

Hardware

  • 48x KFL-08 ball bearings
  • 6x 1:8 RC off-road wheels and tires
  • 6x 1:8 RC car shock absorbers
  • 6x Pololu 37D 30:1 motors
  • 6x Pololu 12 mm Hex adapter for 6 mm shaft
  • 1x Pololu 37D motor mount (for use  as a template)
  • 6x 12 mm to 17 mm hex adapters
  • 10mm threaded rod (1 meter)
  • 8mm threaded rod (3 meters)
  • Various aluminum profiles, M-bolts and nuts (details in the chapter Making the Chassis)

Tools

  • Power tools: drill press (required), bandsaw (optional)
  • Drill bits [mm]: 2.50, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00, 9.00, 10.00, 12.00
  • Manual tools: hacksaw, hammer, screwdrivers, wrenches, sandpapers, files, etc.

 

This beast measures 60 x 50 x 25 cm (23.6 x 19.7 x 9.8 in) and weighs in at 9.5 kg (20.9 lb) without any electronics or batteries. It has six massive 1:8 RC car wheels, and six high-end Pololu motors with 30:1 gearbox, giving us the (theoretical) top speed of 10 kph (6 mph). Each of the wheels has independent suspension so that the robot can move through extremely rough terrain. What’s more, if you want to make your own, the only power tool you will need is a drill press – no welder or angle grinder required in this project! But first, let’s take a quick look at the main features of the design.

 

Design

At the beginning of every project, you should write down your ultimate goal, as briefly as possible. This way you have an objective reference which can tell you whether the stuff you’re doing is actually helping you finish what you started. So let’s do exactly that and sum up the goal of this project in a single sentence:

To build a big, fast, six-wheeled robot capable of freely exploring the natural environment.

Great, now we know what exactly we’re trying to accomplish. Next up, we need to design the robot. Luckily, today there are many different CAD programs available, which will immensely speed up this part of the process. I designed the robot in SolidWorks 2016, but if you don’t have the license for this particular software, don’t worry – you can get the drawings of all the parts on my GitHub.

The first thing you want to do to when designing a robot like this is to make some sort of “functional demo” – a model that only shows how will the final assembly work. At this point, you don’t have to worry about the precise parts you will use. The important part now is to get the general idea of all the mechanical workings of the robot and then to create a model that proves that they can work.

arduino explorer rover

Figure 1. The demo model

You can see this exact model on the above picture. None of the parts have any defined material and there are no details, at this point. There are also no physical constraints like collisions. Everything is just held in one place. Long story short, there’s no guarantee that the robot would work if you made everything according to this model.  However, we can test how this type of suspension will behave which happens to be the most critical part of this entire project. Remember the goal we defined above? The robot has to be able to move in a natural environment, not just on boring, plain, empty roads. There will be rocks, piles of dirt and sticks, and the suspension has to be strong enough to handle all of that.

arduino explorer rover

Figure 2. Suspension detail

The type of suspension I decided to use is basically the same as what you can find in most cars today. It is similar to a type called double wishbone suspension and it guarantees that no matter how high or low the wheel is relative to the others, the axis of the wheel is always parallel to the ground. This gives the wheel maximum contact with the ground. Also, it looks pretty cool.

Now that we have a general idea of how will the robot behave, we need to gradually start replacing all the pseudo-parts in the demo model with actual parts we can get in the real world. First of all, we’ll have to replace the parts that we can’t modify, parts like motors, wheels and shock absorbers.

arduino explorer rover

Figure 3. Model with added wheels, bearings and shock absorbers

Next, we need figure out what material to build the chassis from. Since the robot will be moving around in free environment and will be fairly big, neither plastic nor wood seems like a good choice. So we’ll have to make all the parts out of metal. Generally, we have two options:

  1. Iron or steel. The advantage here is that it can be welded together quite easily, so there won’t be so much drilling. When done properly, welded connection is extremely durable, even under harsh conditions. The main downside is the weight.
  2. Aluminium. In our application, this is almost the exact opposite of steel: it’s lightweight, but hard to weld or rather requires quite expensive equipment to weld properly. If we decide to go with this option, everything will have to be bolted together.

It’s starting to look like this decision will come down to weight – if all the steel parts are too heavy, we might be forced to use aluminum. Fortunately, our CAD software comes in really handy here as well: simply by setting the material of all the parts, we can get a weight estimate. Awesome! So what are the results? About 16 kg – or 35 lbs – if we use steel. I’m not even going to bother modeling the behavior of that shock absorber under these conditions – it wasn’t meant to withstand this kind of pressure for too long. So we’ll have to go with aluminum. That will lower the weight estimate down to “mere” 8 kg – 17.5 lbs – half as much as with steel parts. That’s certainly heavier than most DIY robots I’ve seen, but it seems reasonable enough. In the following iteration of the model, we can replace all the pseudo-parts of the suspension with parts we can actually make.

arduino explorer rover

Figure 4. Model with real suspension parts

Alright, we’re getting somewhere. This is actually starting to look like a real robot! The last step in the design process is to finish off all the details, like the absorber attachment. Also, we still have to figure out what to use in place of the connecting bar in the middle. In the end, I decided to use some 10 mm threaded rods here. This will allow us to set the distance between the pairs of wheels exactly the way we need to. As an added bonus, we’ll have some space to mount the electronics. You can see that in the following picture.

arduino explorer rover

Figure 5. Final model with all the details

So the model is done! Next, we’ll print the drawings, and it’s time to get our hands dirty in the garage!

Jan Gromes
Jan Gromes
Jan is currently studying Electrical Engineering at Brno University of Technology. He has many years of experience building projects using Arduino and other microcontrollers. His special interest lies in mechanical design of robotic systems.

Check us out on Social Media