tl;dr: I'm building an open-source, 3D printable rover.
What is it?
Now that I have something to show, it's time to share something I've been working on and excited about!
The Nomad is a 3D printable rover that's designed to be an open rover platform for exploring electronic and software systems. These include micro-controllers (TinyDuino, Arduino), companion computers (Raspberry Pi, Chip, Onion), sensors (cameras, LIDAR, GPS), actuators, computer vision, autonomous navigation APM:Rover, orthorectified imagery etc. etc.
My aim is that the Nomad should
- be 3D Printable. Perhaps if there's demand the parts can be mass-produced, but replacement parts should be 3D printable, possibly with degraded performance (e.g. simplified axial systems).
- use commercial off-the-shelf (COTS) parts as far as possible. You should be able to buy bearings, servos, motors and the like form your local hobby store.
- use COTS, open electronics like Arduino and Raspberry-PI as far as possible.
- use and generate Open Source software.
The suspension, steering and drive mechanisms are based on the NASA Mars rovers, implementing a rocker-bogie suspension with individual motorised wheels. It is not a fast-moving rover, and it should be able to handle uncertain environments to a certain degree. I want it to be able to navigate outside environments like farms, beaches and mines, as well as inside environments (with small steps and obstructions).
I've been concentrating on the suspension, steering and drive systems a starting point, and as you can see the details are way more evolved than the payload body.
The Suspension and Steering
Here's the printed and assembled suspension and steering for one side:
This is the result of a lot of design iterations. Saying that, there's still a long way to go with both the form and function, but it's now at a point where I can attach these to a body and do some work on the basic movement micro-controller software.
The steering system uses a standard micro-servo with a Dubro ball link and a bit of bended 0.032" piano wire. Here you can see a prototype:
Excluding the wheels, one side of the suspension can be printed in one go:
The axes for the steering system and rocker are 3D printed and a RC Car bearing is used, but the 3D printed axis shaft is too weak and easily breaks off at the junction. Another design is required, possibly using metal shafts. Here's a prototype:
The motors are standard Polulu Micro Metal Gearmotors, and the motor shaft fits snugly in the 3D printed wheel:
Zortrax M200
As an aside, I want to wax lyrical about the Zortrax M200. This is an awesome printer. The results are consistent and reliable, and my enthusiasm for low-cost 3D printing has been rekindled.
I've printed these templates to figure out the measurements for a snug fit on the bearings and motor shaft:
and the printer reliably produces the same result.
Next
The parts for building both sides of the suspension have arrived, so I can produce these, but I'm waiting for some electronics. The first iteration will use TinyDuino and a Raspberry-Pi. I'll design a basic body and determine any problems with the suspension and steering, and if all goes well my next post will show a driving rover!
The design files (Rhino) and STLs for printing are available on github under a Creative Commons license if you're curious.
You can follow @calvinrobotics on Twitter for updates.
Comments
impressive project and thx for sharing!
@John thanks, yes, I've actually got 6 of those that I'm going to use, with encoders. I will have to experiment with which wheels to put them on, all 6 seems superfluous.
Ben, very cool! The design and parts look great.
Have you looked into using the Pololu motors with the shaft protruding from the rear? It allows you to put an encoder on the back of the motor (and thus get wheel odometry data).
This looks great! I'll have to see about getting one printed up!
Thanks, Grant.
Thanks, STLs are here:
https://github.com/bjnortier/nomad-mechanical/tree/master/models/print
Once I have the motors in the wheels I'll have some idea of speed. Same goes for obstacles, I need to design the differential for the rocker and then see what the capabilities are and if they can be improved. The wheels should also be rubberised for better grip. I'll post some results as soon as I have them
Went to Github to look over the STL files but wasn't able to locate them. Could you be more specific as to where they are? Nice project so far.
@Vitor Thanks, I will look into the four bar mchanism
Good to see that people are using their time to develop learning tools!
I would suggest using a different mechanism, like a four bar mechanism, for steering purposes, that would allow an improved performance in extremely rough terrains and minimize the ocurrence of servo damages.
Thanks :) Hopefully a video of it in action soon
@Ben,
Nice project, keep up the good work!
Regards,
TCIII AVD