Shape Copying

So, as promised, here is a quick write-up of the shape copying robots.
Again, the video, with the disclaimer: 
Note: I realize the shapes aren't perfectly normal, and that the slave ends up in a different orientation than the master. I realized what was going on after I taped this, and I didn't feel like doing it again, but I will explain why. After each turn/straight, I had the master and the slave wait for 50 milliseconds, but I forgot to state motors A & B should be = 0, so there was a minor rotation error. Because the slave had a battery on max charge, it rotated more through those 50 milliseconds than the slave did, which had a mere 6.2 volts of battery. And there you have. An explanation for the discrepancy.

And, the images:

Now, the code is free to download HERE



Again, there was a turtle in the Creating Cool MINDSTORMS NXT Robots by Daniele Benedettelli, and I wanted to replicate it. Thus, a hexapod was born. Simple movements, using an ultrasonic sensor to get by obstacles. Nothing else to say.

Oh, and I played around with Pinnacle Studio for the title effects.



After having read Creating Cool MINDSTORMS NXT Robots by Daniele Benedettelli (, I decided to experiment the possibilities of creating my own biped. The robots in the book were either simple (like Quasimodo) but couldn't turn, or were complex, but very efficient. I wanted to find out what kind of biped I could build after looking at these robots.

At first, I tried coming up with a simple leg design with large feet, to make balancing a shift in the center of gravity easy. However, I found creating light legs that could be lifted but large enough to supply great balance difficult. I eventually did some research, and found a great example. Bigstep ( was compact and quite simple, and I decided to model my biped after it.

It took me a week to properly build it; making sure that all the gears meshed correctly and that the whole body lifted off the ground to shift the COG to one leg wasn't easy. It took me about 3 days to code it in NXC. I created simple functions for it to turn when it sees an object, walk backwards, and walk forwards (The video I took only shows him walking backwards, for some reason ...). I left nothing to chance when timing the change in the COG, so I used to touch sensors on the feet to detect when the motor fell on them, which indicated a full change in the COG.

I also discussed some bipedal issues in humans with my dad, who used to work as a surgeon in Europe. He told me that in humans, there are certain, if I could can put it mechanically, "linkages" between the legs, the hips, and the shoulders, all working together in a continous motion to keep us balanced unconsciously. When we walk, we shift ever so slightly from side to side. The change is more obvious when standing on one leg. If you put your hands to your hips, you can notice a change in their positions, occurring automatically to provide balance.

If such a perfect system of linkages can be incorporated in a robot and monitored by the program, then  maybe a truly efficient biped can be created. In the meantime, what I've got is in the video at the top.

Lego Wheel Run


This invention was for an online contest to create fun, playful arcade game. Trying to combine Skeeball with a multiplex of traps led me to create the Lego Wheel Run. "Wheel" indicates the two big wheels the ball must be pushed between before firing.

The main challenge I tried to overcome was including the use of the Power Functions motors (also a LEGO product) to include more moving parts. I had to setup the infrared link to communicate between the LEGO Mindstorms and the LEGO Power Functions Motors, as well as download some new drivers to get the code working.

This project did not win, unfortunately. However, it did receive many positive comments about the design of the run and the implementation of the Power Functions equipment.

No comments:

Post a Comment