Andy's Hex

I’ve been focusing on getting position and current sense data from the servos so that I can get it to traverse uneven terrain.

An ongoing log of my progress, pictures and video can be found here:

Wow, that’s impressive. What program did you use for the graphics and programming. I would like to get it, if I can.

The PC based control code is in C#. I’ll add a link to the code on the site. All the embedded stuff on the PICs is in CCS C.

Looking good, Andy.

We’ve talked a bit in IM about both of our projects, but be sure to keep everyone informed about your progress. Looks like you are well ahead of a lot of people.


Looks great - and great site as well. Nice to see your project!

Mike is right, Andy.
You gotta slow down and let the rest of us catch up.

Nice work, Andy!

Add a code link at the top of the page. I’ll try to keep it reasonably up to date.

Very nice indeed. I thought you had just enough math skills to get you by. It does’nt look like it… :laughing:

very cool. I really like how the ground detection works. Neat idea.

Cool stuff Andy! I’m glad to see that you’re doing stuff with neural nets. I’ve dabbled in that area in the past (mostly in the late 80’s). Here’s an article I wrote for the SRS “Encoder” several years ago: … eural.html
(It’s nothing that you won’t already know…)


Pete: Frankly a simple threshold on the current sense data of the second joint works better than my net based solution, but the net based one is so much more fun. If you’ve got some real experience with them, I’d love to bounce some questions off you. I have recently set up the code to be able to log every point in real time to a SqlServer so if you’re interested in playing too, I’ve got TONS of data :slight_smile:

Hey Andy,
Years ago I did some “real” stuff with NNs as part of my job. The biggest thing I did was to develop a net to do analog circuit diagnosis where the input to the net was the step-response of the circuit. The net output indicated one of a dozen or so components that was not at the correct value. It worked pretty well. I presented it to a patent committee in the company, but they decided not to spend the $$ to pursue a patent.

More recently, I’ve thought it would be cool to use those tiny 6-pin PICs, put code in them to implement 3 or 4 ‘neurons’, then wire a bunch of them together. I’m not sure what the point would be, but it seems like it would be fun…

I’d be glad to chat off-line, or whatever. I am at: saipan59 (at) ATT dot net (I’m getting a lot of spam these days…).


Some early PCT results…

It’s not on the ground because I’m still working on the compliancy in the joints. This is mirroring the 6 perceptions and controllers in the Archy by Kenneway. Though I took a few shortcuts (not sure he didn’t too), my ground plane is not actually a statistically best fit plane, rather it’s averaged between the two planes determined by alternating legs. The other is that my height perception is also based upon that ground plane rather than his direct measurement.

Throughout the video, all six controllers are active, I’m just twiddling the references in sequence. I go a little overboard with the last two, pushing it beyond the reasonably controllable range resulting in some conflicts, but still interesting.

The sound is me calling out the names of the controllers whose references I’m about to alter. In order they are: Forwards, Right, Heading, Height, Pitch, and Roll.

I should correct, that it’s not exactly a mirror, several of the controller linkages had to be changed because mine’s round and his is inline.


Are you sure it’s running on code and electronic components? It looks ALIVE!

Very nice! The movement looks very natural and not machine like.

Out standing! Bravo! Ten Thousand thumbs up! :laughing:

Thanks Mike!

I can’t take much credit though, I’m just reapplying someone elses ideas. I do plan to build upon them once I catch up though.

New update with videos of terrain adaptation.

I swear, your hex looks “alive”…

I would love to see it with all concepts loaded and see it react to its enviornmernt.

Keep it up!

Brief update:

I’m starting over from scratch. Switching to the bracket system, a Gumstix with a Netgear 802.11b card, 18 OpenServos and a new power distribution board.

Current status:

Brackets assembled, considering slightly modifying the middle leg segments.

Gumstix bootloader and kernel updated, filesystem set, on the network wirelessly, turned into a fancy keychain. I managed to destroy it by letting the boards separate while on. Ordered a new one, won’t see it until late next week.

First OpenServo v2.1 assembled, bootloaded and done some initial testing. Looking for good 5 circuit bussable connectors for daisychaining them. Any suggestions?

Rough schematic drawn up for the 15A switching supply, samples ordered, will have some uMax to DIP adapters made when I send out the big OpenServo board fab order to breadboard it before drawing up a proper layout.

why andy why?!?!?!?!?!?!?!