|home > TecFoot||1 March 2008|
|TecFoot by David L Buckley - July 2000|
|Document date 1 March 2008|
Tecfoot stands about 63 cms or two feet high and has five servos enabling true biped walking and turning. The control processor is a Basic-Stamp2 from Parallax Inc. however the control-board will fit any of the popular 24 pin microcontrollers with the same pin-out as the Stamp2 including all the 24 pin Parallax modules, the BasicX-24 from Netmedia and the Basic-Atom from Basic-Micro. Power for the servos is supplied by four AA cells and power for the electronics by a 9 volt battery.
The five servos allow independent control of each foot, each leg and the splay angle between the feet. A simple fully documented Basic program is provided which passes messages to two servo-co-processors which take care of pulsing the five servos. The supplied program operates TecFoot in a static balance walking mode but TecFoot is also capable of operating in a dynamic mode swaying quickly from foot to foot as do humans and other animals, in this mode TecFoot walks much faster and the experimenter may choose to explore this way of walking.
All the parts for the feet laid out for a right foot and a left foot.
Two Soles, two Foot-stiffeners and four Ankle-supports.
Glue the main Foot-stiffeners in place on the Soles.
Place the Soles on a flat surface and make sure the Foot-stiffeners are pushed well down and are square to the Sole.
The completed feet with the Ankle-supports glued in place, make sure they are pushed well down and are square to the Sole.
All the parts for the Ankles laid out. These parts are only screwed together, no glue is used.
Left to right - Ankle-side, Ankle-side, Ankle-spacer, Ankle-spacer, Ankle-side, Ankle-side.
The twelve Screws are below.
The Ankle-spacers screwed in place through one Ankle-side.
The second Ankle-side screwed to the Ankle-spacers
Parts for legs laid out, from top to bottom, two Screws, Leg-doubler, Leg,
Leg, Leg-doubler, two Screws.
The four Screws are just used for alignment of the Leg and Leg-doublers during gluing.
Screw two Screws part way through each Leg using the holes marked
A so they project just less than the thickness of the plywood.
Do not use the end hole in the Leg, that is for the ankle pin.
Spread glue on a Leg-doubler but be careful not to get glue near these screws (they have to be removed later) and place a Leg onto it, the projecting ends of the screws should go in the holes marked B in the Leg-doubler to align the two parts. Then weight down until the glue dries.
Photograph showing a Leg weighted down on top of a Leg-doubler, see side view above.
When the glue has dried remove and save the Screws.
Hip-plate parts laid out.
From top to bottom and left to right:- Hip-top-bearing, Hip-top-bearing, Hip-plate, Hip-plate, Hip-bottom-bearing, Hip-bearing-plate (disc), Splay-horn, Splay-horn, Hip-bearing-plate (disc), Hip-bottom-bearing.
Use two of the M3 screws (it doesn't matter which ones) and insert them through the holes in the Hip-plates and then glue a Hip-bearing-plate in place on each Hip-plate. The screws are only to align the discs with the plates, make sure the screws are square to the plates, do not get glue near the screws and when the glue has dried remove them and keep them safe.
Glue the top and bottom bearings in place as shown. Make sure the
Hip-top-bearing is pushed fully down into its slot and similarly make sure the
Hip-bottom-bearing is pushed all the way into its slot, make sure both bearings
are square to the Hip-plate.
Glue the Splay-horns in place on the front edge of the Hip-plate making sure they are square with the plate.
(Note the one in the plate at the bottom of the photograph is out of square! The photographs were taken with the parts just pushed together, not glued and it moved without us noticing.)
Parts for the Body.
Left to right and top to bottom:- Body-back, Body-bottom, Splay-plate, Body-side, Body-top, Body-side.
Glue a Body-side to the Body-top, making sure it is square.
Without using glue assemble the Body-back and other Body-side to the Body-top as shown and mark the position of the Body-back panel where it rests on the Body-top, after marking remove the two parts.
Glue in place the Body-back, placing it in the position marked and before the glue is dry, glue in place the remaining Body-side, as above.
Make sure the Body-back panel is square to the Body-top and that it lines up as shown below.
Now without waiting for the glue to dry glue in place the Body-bottom
Make sure the tab on the Body-back panel is fully into the notch in the Body-bottom.
After the previous parts are glued leave a little time for everything to dry and then glue in place the Splay-plate.
If the wire comes as long lengths plan how to cut the various pins and links so you have enough wire, if you cut all the small pieces first then you won't have enough left for all the long pieces. The table suggests how to cut the pieces from full lengths and the drawings show how to make the bends.
Wire Links and Pins - cutting list
The 18swg piano wire normally comes in 18" lengths (457mm), the following allows all the links to be cut from four full lengths plus 8" (200mm) .
The Leg-parallel-link is the long thin piece at the top of the photograph.
Insert two Servos into the Leg as shown and fasten in place with M4x10 screws and nuts. The head of the M4 screw should be against the Servo and the nuts on the plywood.
If you want, lightly rub the face of the disc on the Hip-plate with candle wax or a DRY bar of soap to lubricate the joint, don't worry if you can't do this, TecFoot will still work fine.
The other small parts are laid out on the foot. Two Ankle-pins and
Retaining-sleeves, two large diameter 1/8inch washers, two plastic spacers, two
M3 washers, two M3 nuts and the Retaining-sleeve for the Foot-rock-pin. The
Foot-rock-pin itself is in place in the holes in the Ankle-supports.
Note: the M3 washers are now no longer used and the M3 nuts have been replaced by M3 nyloc nuts which have a nylon insert which prevents the nut working loose.
Assemble the Ankle to the Foot by inserting the Foot-rock-pin through the
front Ankle-support, through the hole down the length of the Ankle ( formed by
the groove in the Ankle-spacer) and through the rear Ankle-support, place a
length of the sleeving over the end of the pin to hold it in place.
Place the Leg and the Leg-parallel-link in the gap in the Ankle and hold in place using the Ankle-pins and two more lengths of sleeving to hold the pins in place.
View from front looking at outside of ankle.
View from rear looking at inside of ankle.
Assemble the big washers and the plastic spacers onto the M3x16 and M3x12 screws as shown. Insert the screws through their respective holes in the Leg and Leg-parallel-link and fasten them to the Hip-plate.
Note the picture shows the M3 washers and plain nuts but these have now been supercede by the M3 nyloc nuts. Put the M3 nuts on the inside and screw up until the Leg doesn't waggle about but still moves freely.
When the screw comes up to the nylon insert in the nut it will be stiff to turn and you will need to hold the nut with a small spanner or a pair of pliers.
Fasten a Servo in place as shown using M4x10 screws and M4 nuts.
Photograph shows the Body, two Hip-spacers (little disks), two Hip-pins, and the two leg assemblies.
Assemble the Legs to the Body threading the Hip-pins down through the top of
the body, through a Hip-spacer, the top bearing on the Hip, the bottom bearing
on the Hip and through the Body-bottom. Retain the pin in place with a length of
Recomended enhancement [1 March 2008] Add a 10mm dia 1.5mm (1/16inch) thick plywood washer between the bottom bearing on the Hip and the Body-bottom. This removes up and down play at the hip pivot and aides smoother walking.
For each leg insert the big end of the Leg-tendon through the horn at the
bottom of the Body-side.
The end of the wire should go easily through the hole in the plywood but then you will have to push a bit to get the corner in the wire through the hole. Then insert the small end of the tendon through the Servo disc as shown, push the disc onto the Servo shaft but don't yet put in the screw.
Insert the small end of the Foot-tendon through the second hole from the end of a long Servo control horn as shown in image 34 and the big end through the Foot-stiffener, again you will have to push a bit to get the corner through. Push the Servo horn onto the Servo shaft but don't yet put in the screw.
Insert the small ends of the Splay-tendons through an outer pair of opposite holes in a large Servo disc and pass the other ends through the Splay-horns and secure in place with lengths of sleeving, then press the disk onto the Servo shaft, but do not yet put in the screw. (Note, in the section 'Wire Pins and Links' the Splay Links are incorrectly called Sway Links)
Fasten the Circuit board to the top of the body using four screws, just screw
in the screws until the board doesn't rattle about, it doesn't have to be tight,
it won't fall off.
Plug in the Servo cables:-
Using a sticky pad stick down a 9 volt battery just in front of the Circuit board and then use glue or sticky pads to fasten a battery holder for four AA cells just in front of the 9v battery.
Use a wire tie through the 4mm hole to hold the Servo leads to the Hip-plate.
Take off all the Servo discs and horns from the Servo shafts, insert fresh batteries, connect to the PC and load the program TECFOOT1.BS2 into the Parallax Stamp editor. At the start of the program section uncomment the line
- 'GOTO AlignHorns 'Align Servo Horns
GOTO AlignHorns 'Align Servo Horns
AlignHorns: servo =2 SEROUT ltx\lflow,baud,[command,255] 'lfoot servo =1 SEROUT ltx\lflow,baud,[command,127] 'lleg servo =0 SEROUT ltx\lflow,baud,[command,127] 'spare servo =0 SEROUT rtx\rflow,baud,[command,0] 'rfoot servo =1 SEROUT rtx\rflow,baud,[command,127] 'rleg servo =2 SEROUT rtx\rflow,baud,[command,150] 'splay DEBUG"end AlignHorns" ENDLoad the program into the Stamp2 on TecFoot, it will run the AlignHorns: section and all the servos will go to the above positions.
Now the discs and horns are on in the right place,
reload the program into TecFoot to run the following section and TecFoot will stand up.
The legs will be slightly back from their centre position and the feet flat on the floor.
manual_setup: 'edit position values to fine tune the stances speed =2 'D_leanR data 2, 4, Slfoot, 0, Srfoot, 20 'D_leanL data 2, 4, Slfoot, 225, Srfoot, 255 servo =2 SEROUT ltx\lflow,baud,[command,236] 'lfoot 235=lean 180=flat 0=tip servo =1 SEROUT ltx\lflow,baud,[command,100] 'lleg 255=fd, 0=bk servo =0 SEROUT ltx\lflow,baud,[command,127] 'spare servo =0 SEROUT rtx\rflow,baud,[command,51] 'rfoot 51=lean 80=flat 255=tip servo =1 SEROUT rtx\rflow,baud,[command,160] 'rleg 0=fd, 255=bk servo =2 SEROUT rtx\rflow,baud,[command,150] 'splay 255=in DEBUG"end manual_setup" ENDCheck that the Splay Servo disc is in the right place by editing the data for the right servo#2, first with 0 and then with 255 and each time reloading the Stamp. Neither value should cause the Hip-plates to hit the sides of the Body, if it does adjust the position of the Servo disc. When it is right put in the screw.
Recomment the line
Now edit the Main area to run
START: 'Sample routine DEBUG "SSstart",CR GOSUB STANDUP PAUSE 1000 GOSUB LEANL ENDWhen this runs TecFoot may fall over! Adjust the value sent to the left foot until TecFoot leans over and doesn't fall. The value to alter is in the Data area under D_leanL.
After TecFoot successfully balances on each foot you can make TecFoot walk, see the section at the beginning of the program labeled "Nomenclature" and the sample routine provided. Remember to save the program with the customised values.