|home >||Loki < Frea > Strider||23 June 2019|
|Frea by Roger Starnes and David Buckley||March 2004|
After making Loki I used a different servo arrangement and made biped robot Freya. When moving Freya by hand to investigate how she should walk I realised that she could stand up again if she fell over. I showed this to my friend Roger Starnes and he said "I am going to make one". I didn't spell Freya and he called his version Mini-Frea. I have since dropped the 'Mini'.
Mini-Frea has four SD200 micro servos, two at the hips and two at the ankles, a Parallax BS2sx controller and a two cell 7.4v 750mAh LiPo battery.
Roger put small switches from disk drives on the ends of the two front toes to sense when they were on the floor.
He used a green high power LED behind a lense to illuminate an area in front of Frea and sensed the reflected light by an LDR behind another lense. By turning on and off the LED and by measuring the resistance of the LDR he could tell whether there was any object illuminated by the LED and hence whether there was anything in Frea's way.
He also built a tilt sensor using a metal U tube and a ball bearing.
To get up from lying on her front or back Frea rotates her feet until she is on her bottom then she can get up. Roger had not been able to finish of the software and although Mini-Frea could wander about avoiding obstacles and table edges sometimes she fell over again after nearly standing up.
Roger insisted that robots to be interesting ought always to be doing something (even if sleeping) and so had her do various things depending on a random variable, mainly stepping forward, but also right, or left, or making various sounds or sometimes nothing at all (sleeping) for a few seconds. All the while avoiding obstacles and edges.
Mini-Frea was the last robot Roger built before he died in 2004 and afterwards for a year I didn't want to build robots but in 2005 I took Frea down from the shelf and discovered that the LiPo battery was still charged!
Keeping Rogers framework for the program I got Frea to stand every time.
The original toe switches which Roger used broke and so I made very low actuating force switches at the base of the toe, a phosphor bronze wire spring pushes a toe down and these sense table edges and when Frea's feet are not flat down. Also I had to replace Roger's tilt switch with two mercury tilt switches because the ball bearing stopped making proper contact. Using two switches also enabled Frea to sense if she was upside down.
In 2009 I enhanced the software so she seeks light or dark and has a variable 'Happy' which controls her speed. I also painted her and remade the toe switches.
Frea has a Will choosing randomly (weighted) between several behavioural actions, so sometimes she seeks light and sometimes she makes sounds (choosing from a list of sounds), and sometimes she does nothing and sometimes she just goes off somewhere choosing to step forward right or left. All the time she is using active vision (green light - you can see it) to detect and avoid obstacles and sensing drop offs (table edges) with her toes which also serve to detect pencils etc underfoot. If the light gets too bright then she will seek dark for a while, again avoiding obstacles and table edges, before going back to seeking light.
If she doesn't see any obstacles and her toes are always making contact with the ground when a foot is down then she gets happier, a variable Happy is incremented and Happy controls her speed which can be set to a maximum with the user pot. If the maximum is set very high then she can get very excited and stamps around and sometimes the toes don't make proper contact as the foot bounces and she thinks she is at an edge and sometimes she is so excited she falls over. Then two mercury tilt switches indicate whether she is on her front or back (they do indicate on her head as well but she can't fall into that position unless it was off the table!). The software then has her get up from front, back, or head and start off again cautiously, as the Happy variable is then set quite low. And the process repeats. If both feet are off the floor and she is upright something is amiss beyond her and she squawks just as some animals do, If you try and turn her on her back, front or upside down while in the air then she goes through the motions of trying to get up and subjectively she struggles like an animal does.
There are a few spare pins on the BS2sx processor and the code only takes 3 of the 8 (2K) pages using about half of each page.
However Frea really is too fragile and out of respect for Roger she is retired although the LiPo battery is always charged and she can be taken down and demonstrated any time.
It has always bothered me that there was no easy way to check the charge state of the LiPo two cell battery. Recently (2015) there have been some small voltmeters available from China so I fitted one and a press switch to connect it to the battery, while I was at it I fitted a PicAxe08m to monitor the LiPo voltage and hold the BS2sx in reset when the voltage drops below 3.3v per cell. When the battery voltage is good the 08m Krell lights a blue LED (PWMs it up and down) like a heart beat in the brain, and slowly flashes it when the BS2sx is in reset.
Disk Drive Toe switch, Roger's Tilt sensor, and new Toe switches.
'Behaviour '--------- 'redLED blinks at start of every Do loop 'greenLED on while vision avoiding 'redLED on indicates Light turn 'redLED + greenLED on indicates Dark turn 'yellow whisker LED on if IRwhisker detects object 'blue top LED pulsates (Krellish) if LiPo voltage is OK, if not blinks and puts BS2Sx in reset 'Do ' Case ' if fallen over (tip sensors activated) 2_GetUp ' If both feet off beep and flash redLED, sometimes(1/3) pause, sometimes(2/3) 1_STRETCH ' If one toe off backup and turn away ' IF IRwhisker detcts obstacle backup and turn away ' If obstacle detected using greenLED turn away ' Endcase ' Decide what to do ' seek/avoid light; 39% ' behaviour alternates between seeking light and avoiding light ' if lovelight <=[lovelightthresh CON 24] seek dark, else seek light ' lovelight +1 every loop ' if light <=[toobright_ CON 20, ie very bright] then lovelight/2 ' or step forward; 39% (1_FD) ' or turn away from last drop-off or whisker contact; 6% (1_TURN) ' or step right; 2% (1_RT) ' or step left; 2% (1_LT) ' or step back; 2% (1_BK) ' or Krell LEDs 4% ' or make sound; 6% ' MaxHappy set by Pot, ' Increment Happy +1 every loop, Happy sets speed ' Happy/2 if tilt or toes off floor '================================================================ 'Frea Spec '--------- 'body weight 125g 'total weight 225g '=>leg weight 50g 'hip centres 10cm 'hip torque required ' 5*125 =0.625Kgcm for body ' + 10*50 =0.5Kgcm for other leg ' ie 1.125Kgcm ' 'Ripmax SD200 servos = [Protech Super Micro] '+ve = anticlock '5v 0.45A at stall '@5cm torque force 330g =>1.65Kgcm ' pull out >600g =>3.0Kgcm '6v '@5cm torque force 350g =>1.75Kgcm ' pull out >700g =>3.5Kgcm '+--------------------------------------------------+ '| Ripmax SD200 [box information] | '| A high quality ballraced economy mini servo. | '| The SD200 features 4.2mm 1st and 2nd gears | '| for strength and reliability as well as 2.5Kg/cm | '| torque and 0.14/sec/60deg speed. | '| Torque: 2.5Kg/cm | '| Speed: 0.14 sec/60deg | '| 29.5 x 25 x 13.9mm | '| Weight: 16g | '+--------------------------------------------------+ ' 'Body Daewoo RubyRed(Pearl) on top of Wheel-silver 'Legs Humbrol Gunmetal on top of Black permanent marker, aluminium foil 'Feet Humbrol Steel on top of Black permanent marker 'all external wood sanding sealered