L'Hexapod: Prototype leg v0.1

Previously published

This article was previously published on lhexapod.com as part of my journey of discovery into robotics and embedded assembly programming. A full index of these articles can be found here.

I spent a little time at the weekend putting together my three servos into a prototype leg. The idea is that this very quick and very dirty little experiment should give me some more avenues to explore; and something to show people.

I had originally planned to build the leg out of wood, perhaps thin plywood, but I didn’t have any laying around so instead I used some plastic window board which is relatively light and strong. This was easy to machine (cut with either a hacksaw or a hobby knife) and easy to drill with a drill bit in a hand driver. The results are indeed just as quick and dirty as I was expecting.

ProtoLegv01.png

As you can see I cut a slot in the lower leg to mount the knee servo, I also shaped the lower leg so that the foot was small. The knee servo’s “horn” is then screwed on to the thigh (which I didn’t bother to shape at all) and once that’s done the servo horn and thigh can be connected to the knee servo. The other end of the thigh has another servo horn fitted, this time on the other side (this is less than ideal from a mechanical point of view but allows for more mistakes whilst controlling the servos as the lower leg can’t impact on the hip servo). The top of the thigh is then attached to one of the hip servos. The two servos that form the hip are currently screwed on to a small piece of plastic board, it’s not very clever but it just about holds the two motors in the right place (with the addition of an elastic band or two) to allow for the correct three degrees of movement that I wanted. The two hip servos are set at right angles to each other to give rotation in two planes. The result isn’t especially sturdy and probably couldn’t take a great deal of weight but is enough for now. It is, after all, just a quick and dirty prototype…

After connecting the servos to the servo controller I threw together a matching quick and dirty C++ application to allow me to send servo control messages to the controller. This allows me to experiment with the movement available by setting each of the servos to particular positions. The controller also allows me to record a series of positions and then replay them to the controller. This results in very simple movement as can be seen from the video below…