OpenSTEM® Caterpillar

The OpenSTEM® Caterpillar has quickly become our main mascot, as students, teachers and parents take a liking to it! It is an autonomous robot, with a 3D printed frame and Arduino controlled electronics.
caterpillar-logo-banner-1260x240

If you would like to have us visit your school class or homeschool group with the caterpillar and other critters, do make use of our (free) Robotics Incursion offer.

The OpenSTEM® Caterpillar is fully open (all design details and sources below) and also serves as a good example of how subjects such as robotics can be explored at relatively low cost – that is, without expensive branded kits. This can be a real enabler for both school and home.

We are not suggesting kids necessarily try building this at home without a good deal of prior experience with the different technologies used, but it can be done and does not require a degree in robotic engineering, or a bucket of money. And that’s important!


 

Proto 1 – notes

Built over December 2014, January 2015 by Arjen Lentz

  • Update 2015-02-17 Using LiPo battery now
  • Update 2015-02-21 Added LEDs, trying different turning logic

Acknowledgement of Heritage

This model is roughly based on a design from 2009: http://letsmakerobots.com/robot/project/polymorph-caterpillar
That one used polymorph, PicAXE controlled, with primitive sensors.

Control

The OpenSTEM® Caterpillar (Proto 1) is autonomous, running on a simple ruleset:

  • It moves forward until it encounters an object less than 10cm away.
  • back up a bit, look left and right, and see which direction has more space.
  • decide on a direction, turn, and go back to moving forward.

The motion needs some tweaking but overall it works pretty well.

Sensors & Modules

Caterpillar avatar

  • Control with an Arduino Pro Mini (5V) or Arduino Nano. See the comments in the code for pinout used.
  • MG90 servos can be driven directly from the Arduino, as long as you power them from the battery.
  • Caterpillar’s eyes/ears: ultrasound module (HC-SR04) with the input and output wires combined to save pins.
  • Three LEDs: two at the front (green on right = starboard, red on left = port), and one tail light (white).
  • The gyro/accel module (MPU-6050 based module) isn’t yet used, although the base code is present.
    It allows the caterpillar to figure out whether it’s upright, on its left or right side, or upside down.
    It can then twist and wriggle appropriately to get itself upright in case of mishaps!

Power

I’m now using a 2S LiPo pack (7.4V) as  it’s small and packs a lot of power (I use an 850 mAh one). Do be careful with LiPo batteries, and use an appropriate charger. The electronics need to be connected to the 5V of the Arduino regulator. The servos get powered from the battery via their own 5V regulator – on 7.4V they would get too hot.

Distributing AA battery holders around the frame looks bad and is a pest.

Don’t use a 9V block as they hold very little charge = wasteful.

For testing you can run the whole thing via USB cable, but that causes quite a bit of drag and thus hinders movement.

Frame

OpenSTEM robotic caterpillar frameThe frame is 3D printed, three different brackets are used.
You can find the designs in the OpenSCAD (.scad) file.
Uncomment each type one at a time to render, export to STL and slice for printing.
Add rubber feet for traction.

Sources

All source files are on GitHub: https://github.com/AUOpenSTEM/caterpillar

WARNING!

While I’m keeping this prototype intact and alive as it’s utterly cute, there will be another model. The main issue is the hinging that attaches to the servos, the only attachment is onto the servo horn
which inevitably causes significant stress on the tiny (plastic) gears of an SG90 micro servo. I’ve moved to MG90 now (slightly more expensive with metal gears), but the basics remain. Lots of strain.

I am frankly quite astonished that people commercialise robots with a similar design. Many are seriously expensive. When used normally, the servos will very quickly die. So don’t do that. It’s uncool. There is a big difference between an experimental prototype and a commercial product.

If you build the OpenSTEM® Caterpillar, please do let us know: photos, movies, story, we’d love to hear from you!