We are in the process of upgrading the first Mars Rover that we built for the New York Hall of Science. The goal is to upgrade its electronics so that the museum’s two rovers are identical and interchangeable. Here is a very brief video of Genevieve soldering the “Mars Rover Shield” that we designed. The shield, which is a complex circuit board that fits on top of an Arduino Mega, has 165-solder points, but the video is just a short clip that only shows her doing a few of them. She moves pretty fast, so she can complete a circuit board quite quickly. We used a macro lens on this video to see how close we could get. We like how we can see the solder melting and then solidifying around the pins as she does them. I chose this particular music because that was the music we were listening to when she was doing the work. I thought the lyrics fit pretty nicely: “Because I’m doing this for the thrill of it, killin’ it…”
We are happy to announce the birth of our latest creation, Aluminalis, a sixteen-legged walking creature. Along with her sixteen legs and feet, Aluminalis has a fast and lively brain (an Arduino Nano), strong muscles (gear motors), elegant bones (custom machined aluminum linkages), two multi-segmented spines (custom designed crankshafts), ears (Xbee Radio), forward and rear sight (ultrasonic sensors), and a voice (tone buzzer). If you communicate with her in the right way, she will respond to your requests, but she prefers operating on her own, and in some moods, she can be very shy.
Aluminalis is pronounced Ah-lumin-alis. Her full scientific species name is actually Animaris Aluminalis. We derived the name from the word aluminum. As far as we know, she is the only species of the Animaris genus that evolved entirely out of machined aluminum components. Be sure to watch the video. Read below for a species description, evolution, and behavior. At the end of this post, we discuss the original inspiration for Aluminalis.
INTERNAL ELECTRONICS
Species Description
Aluminalis is about 6″ tall and 22″ wide. She consists of a central thorax and two multi-legged sides. Each side is driven by a motor, which drives a pinion gear, which drives a main gear, which drives a four-section crankshaft, which drives a complex set of linkages, which drives the legs. The four crankshaft sections on each side are 90-degrees out of phase with each other so that at least one pair is always firmly on the ground. This is accomplished because the crankshaft is square rather than round. As the motor rotates the crankshaft, the legs loop through a tear-dropped-shaped stepping motion similar to a horse’s gait, causing Aluminalis to walk similar to other animals. Aluminalis changes direction by putting more or less power to the motor on each side. To go forward, she puts equal power to each motor. To go left, she gives the right motor more power than the left motor. And so on. Aluminalis can also go backwards and pivot in place.
Species Evolution
We sketched the original concept for Aluminalis on paper and then designed the various components in SolidWorks. Aluminalis consists of 846 individual components. We machined the segment bars, crankshaft components, thorax plates, and most of the other aluminum components on our CNC mill, vertical mill, table saw, band saw, and drill press. We also used an extensive amount of 1/8” aluminum bar, 1/8” set collars, #4-40 set screws, #6-32 set screws, washers, and ball bearings. There are two long 1/8” steel rods on each side that hold the segments together.
The electronics include an Xbee radio, the Explorer Regulated Board, two Maxbotix ultrasonic sensors, the tone buzzer, wires, resistors, LEDs, 20mm 73:1 gear motors, and main power switch.
Aluminalis uses an Arduino Nano as the main microcontroller, a 12V 3-cell Lithium-Polymer Battery, and a Sabertooth 2 x 5 amp motor controller.
Species Behavior
Aluminalis operates on command (i.e. remote control using the Xbee radio) or on her own. She is still learning and developing, but so far, she has two autonomous modes: The first is roaming. She roams around the workshop using her ultrasonic sensors to find the optimum path and avoid obstacles. The second mode is what we call “shy mode” where she scurries away from people. The only difficulty with this mode is that once you let her off the leash she’s very difficult to catch! 🙂
The Inspiration and Naming of Aluminalis
Aluminalis was inspired by the renown Dutch artist Theo Jansen and his wonderful Strandbeest creatures, which are large kinetic sculptures that he builds out of PVC plastic pipes on beaches in the Netherlands. His awesome sculptures are actually wind driven, rather than motor driven, which makes them even more impressive. Theo always refers to his creations as living animals, for in his heart and mind they are new forms of life. In honor of Theo’s amazing work, we have adopted Theo’s view on this issue, and we’ve also adopted his naming convention, which is to give each species of artificial animal a scientific name with the genus Animaris. So, the full name of our creature is Animaris Aluminalis. As far as we know, Animaris Aluminalis is the only aluminum strandbeest alive today, although we expect them to multiply over time like all living creatures.
Species Range & Habitat
Anamaris Aluminalis is exceedingly rare and highly elusive. This species is believed to favor mountainous regions in Western North Carolina. In particular, it likes living underneath workshop cabinets and usually comes out at night. It feeds on nuts, screws, and small robots.
Construction
Here are some photos of Aluminalis’s construction, followed by a link to our original work-in-progress posts with more details. The custom-designed machined-aluminum crankshaft.
One of the funnest, but most challenging parts of building Aluminalis (our 16-legged walking robot) has been the construction of the two crankshafts. Each side of the robot has a motor that rotates a 10” long, multi-link crankshaft, which drives 4 pairs of legs. The leg pairs need to be kept 90-degrees out of phase from each other in order to produce the walking gait. Our initial vision for the crankshaft was to build it out of 1/8” aluminum round shafts, custom crankshaft arms we made on our CNC, and tiny 4-40 set screws, but when we put it all together for real-life testing, the rotational forces were so high that the set screws couldn’t hold the round shafts, the crankshaft arms slipped out of place, and the entire crankshaft tore apart (not a good day). We went back to the drawing board. We needed a new design. We had the idea of using a square shaft to prevent slippage and guarantee that each of the pairs was 90-degrees out of phase with the others. At first I thought maybe it was a silly, impossible idea. The crankshaft ran through a series of round holes in the body of the robot, so how could a square shaft rotate smoothly in a round hole? Then I realized we could use ball bearings to do that. Our hope was that the square shaft would not only guarantee the 90-degree angle, but it would also give our set screws a flat area to take hold. So, in version two, we used a combination of square shafts, round shafts, larger 6-32 set screws, and bulkier crankshaft arms (that gave the set screws more thread length to take hold). The results were fantastic. The new crankshaft works great in all our real-life tests. Runs strong and smooth. Note that the square shafts are made out of high-strength copper rather than aluminum.
We enjoy machining custom aluminum robot parts on our CNC Mill. One of the best things about a CNC is that it can cut precise parts by following the geometry of a CAD drawing. We measure the precision and repeatability of our CNC in thousandths of an inch (0.001). But one of the challenges of using a CNC is to to get the raw material setup properly and make sure the spindle starts at exactly the right position. The CNC can only hold a precise position from its starting point. For example, let’s say you want to cut a pocket that is .050″ deep. That’s easy to do, but you need to start the CNC at the exact surface of the raw material so that it knows how far down along the Z-axis to move the spindle. Or let’s say you need to drill a precise hole pattern in a square sheet of aluminum. That’s easy to do, but you need to start the CNC at the exact corner of the square or your pattern will be way off. Finding the exact starting point is called “zeroing” the CNC. There are whole books written on the subject and a whole sub-industry of gizmos for handling this challenging problem. It took us a while to figure out, but this is what we’ve found to be the best solution for us:
1. When it comes to zeroing out the X and Y position of the CNC at the beginning of a job, we have tried a number of approaches, including eye-balling (not very accurate), mechanical edge finders (don’t like these), and even a laser edge finder (not as accurate and cool as you’d think). For our solution, we installed a super-cool USB camera microscope from our friends at Adafruit onto the frame of our spindle. We mounted the camera using a small aluminum bracket that we designed in SolidWorks and machined on our CNC. We secure the camera bracket to the spindle frame using a 4-40 threaded hole that we tapped for that purpose. The microscope camera points downward toward the raw material. It displays a large, magnified image on the computer screen, including crosshairs. When we want to set the X and Y zero point, we turn on the camera and then move the spindle until the crosshairs line up exactly with the corner of the raw material (or whatever position we want to identify as the zero point). Because it’s a microscope, it’s very precise. We then press the Mach3 “REF ALL HOME” button, which we’ve re-purposed and re-programmed to set the X=0 and Y=0 based on the offset distance between the camera crosshairs and the spindle position. This allows us to quickly and easily zero out the X and Y axis to the exact point we need to.
The microscope camera is the tall, tube-shape thing clamped to the edge of the spindle mount. It has a built-in ring of LED lights to illuminate the subject area.
Close-up of the custom bracket we made to hold the tube-shpaed camera to the spindle frame
In this situation, we are using the crosshairs of the microscope to zero the CNC to the center of a small hole. The macro will set this as X=0, Y=0.
2. The Z-axis, which is the vertical position of the spindle, is by far the most important axis to zero out properly. For this, we rigged up a very cool solution that works great. We cut a piece of copper-clad circuit board (about 1″ x 1″) and soldered it to a long wire that we ran back to one of the 5 volt inputs on our controller. We ran another wire from the base of the CNC. These two wires, combined with the CNC and the end mill (which are both conductive), become like the leads of a voltmeter that is setup to test conductivity. We then wrote a macro in the BASIC language that runs when we press the “Auto Zero Tool” button on the Mach3 interface. When we want to zero-out the z-axis, we place the copper plate on the top of the raw material and press the button. The CNC moves the spindle slowly down toward the plate. The instant the tip of the end mill touches the copper plate the electrical circuit is closed. The macro instantly stops the spindle, sets the Z-axis zero point (by subtracting the .063″ thickness of the plate), and then moves up .125″ so that the copper plate can be removed. The whole process only takes a few seconds to complete. And the result is that the CNC determines exactly where the top surface of the material is and sets it as Z = 0.
The zero plate is placed on top of the raw material. The macro automatically moves the spindle down until the end mill touches the plate and closes the electrical circuit, which signals the CNC to zero the z-axis. Note the wire soldered to the copper plate.
These two techniques have really helped improve our setup time and accuracy.
We have been working on Aluminalis, our mechanical sixteen-legged walking robot. We’ve completed the initial build of the left side, which includes eight of the legs. Aluminalis is made with a complex assembly of custom linkages, segments, and shafts that we have been making in our machine shop. A single motor drives all eight of the legs (on this side) via a crankshaft that drives each pair of legs 90-degree out of phase with the other three pairs. That way, one pair of legs will always be on the ground no matter how fast the robot is moving. In the video below, we are testing the kinetic motion and gait of the left side.