learning MIKE to walk date 12/24/2012
Mike is a kind of a humaniod. is 90cm tall and has 13 motors so far.
Still work in grogress., not yet completed
In this section we will describe how Mike is learing to walk.
and how the motors are controlled.
Well... after that MIKE will learn to dance.
Inspired by the work of www.idleworm we worked out the 10 positions from Stall to passing1
Every segment is moved by a RC servo, hence every servo equals one note in a 13 note achord
Thus, every time that a motion is required, the achord is copy/ pasted in a bar of ANVILL
An example: take the right upper arm in STIl position. To get the arm to this position the
B5 is loaded with 20, in passing1 is loaded with value 15, and in highPoint it is filled with 10.
One pic is used for the upper body part, one pic is used for the lower section.
A technical detail here: yes we could drive all RC from one 18F4550, till we introduced
smoothing algoritms. PICS are great, but our model has limited ram. (128byte).
Thats for everything, midi input, parser, variables, timercontrols and output control.
So we added smoothing: a small angle change makes 20 equal timer steps, and if the new
position is more then 15 degreed difference, the first 15 timer steps are equal large, but the
remaining steps have smaller puse width. that result is fast moving , and slow stopping.
The change in position is achieved by moving the 4 omniwheels . One pic is dedicated to drive
the 4 DC motor driver boards. Thermal heat monitoring is not used. A 1/2 second pulse witdh
results in 1/2 wheel rotation, which is approx. 15 cm. (diameter is 10cm).
A small step for MIKE but a but step for a robot!
A car wiper motor , some steel wire, and biscle chain is used to lift the entire body,
for mimicking the walking up/down. Its control is very straight forwards, start puls for 100 msec
and the engine stops automaically at the end of one full rotation.
We used the built in switches as is. a full lift to up and down again is approx 1/2 sec.
That brings the total to 13 enginges. The whole is powered by a standard PC power supply,
lots of 5 Volt for the RC servo's and enough plus 12 Volt juice for the CD motors.