![]() ![]() |
|
Hello! Try my new site, MHEX II - the new project Please by all means continue to email me with questions and comments. I recently solved the problem with my isp for those of you have had emails bounce back or no reply too (SORRY!). |
Hello!
Facts and features:
Any specific questions you need answered just contact me.
'The Leg' The design of the leg was perhaps the most challenging of all design work because my sources and costs were very limited, litterally down to $10 and the local scrap metal dealer but I managed to get away with an unexpectedly well suited design. The main requirements were that legs would be fully and independently modulated for attachment to a large variety and style of chasis. The major obstacle was that all parts had to be made out of standardised aluminium channeling, framing and sheet metal. With these factors I came up with this design:
Summing up the main facts:
Chasis The base chasis I am using for MHEX at the moment is actually very primative and un-proffesional, it's a 350mm scrap of aluminium box section used for running electrical wires through and it's only feature is a slidable top with holes at the side for running wireing through to leg actuators and sensors.
Sensors Feet: Probably the most important feature of any walking robot is the sense of touch or pressure on foot surfaces. Here is a simple diagram of the sub-mirco switch feedback system I am currently using with MHEX: If your interested in using this technique with the same or similar mechanics I suggest using thin rubber tape and some thick copper wire to hold the sub-micro's in place. The next step in leg feedback involves modifying a servo and getting analog position feedback to the mcu. Tiltometer: MHEX has a 4 point tilt sensor or 'tiltometer' which is used when climbing objects. The 4 mercury tilt sensors are each aligned at a suitable angle in a square pattern at the center of MHEX and can be adjusted to set a threshold for each. Ultrasonic distance Sensor: At the moment this system isn't functional because I haven't had time to implement anything but there will be more to come of this. Leg actuator interface Well the big question is how to control leg actuation of an entire hexapod. This is not a simple question and depends on many factors. In a nutshell however, assuming you have thought about this, lets just say that having 2 degrees of freedom per leg is necessary and hobby servo motors are also a requirement. A lot of people will then say this is an easy task, then again, some may say the complete opposite. Well in fact I have mixed feelings about these 'hobby' servo motors. Ultimately these things are cheap for what they do even though they usually come with a $50+ price tag. I was lucky enough to strike a good deal on a taiwanese brand of servo (GWS, model SO3 TXF) but before I go into more detail, here are a few pro's and con's about hobby servo motors:
My servo interface uses a Motorola 68HC11F1 microcontroller running in expanded mode with only 3 extra logic IC's (2 buffers and a demultiplexer) for complete control over 12 servos. The software uses the real time interrupt feature of the mcu executing every 16.384 mS to keep the servos powered. This routine sends out individual pulses of position data to each servo in banks of 4. This routine allows all 12 servos to be pulsed well within their power down time limit and only takes a maximum of 4 mS to complete and is fully independent of other code, kind-of multitasking you might say. The following is a structure of the RTI routine that positions the servos
NOTE: The OCx Control registers (timers) are initialized on startup to go low at successful compare and timer interrupts are disabled. Also extra processing is done while waiting for timer flags to be set, i.e. loading of registers for next servo bank. How is this regular 16.384ms interrupt signal generated? The MCU crystal is 8MHz and has a prescale factor of 4 producing a bus clock frequency of 2MHz, period 0.0000005s (500ns). The onchip timer is set up to clock every 2^13 e-clocks (8192 e-clocks) and we are branching the RTI system off this with a further prescale factor of 4. This forms the equation: 0.0000005 * 8192 * 4 = 0.016384s = 16.384ms hence giving us our interupt is period.
Microcontroller rundown I'm using a Motorola 68HC11F1 based module from PMB Electronics in Wellington. It's called the CPU_1A1. The module includes an additional 32k SRAM & 128k flash for when run in expanded mode and also includes correct reset & oscillator circuitry to get the microcontroller running hassle free.
If you wish to know more about the controller itself then take a visit to www.pmb.co.nz
Pictures
Videos
All videos require the cinepak codec (supplied with windows by default i think).
I recently won an award through ETITO's Bright Sparks competition entering as a senior in original circuit design. I got a mayoral invitation to go to the High Tech Industry Awards 2001 expo in Wellington in early November and I received a prize on the nighte. I got interviewed by TV3 news which showed just an hour later that same night and talked to heaps of important industry people from around New Zealand. Here's some photos from the awards and various other media: To see the rest of the bright sparks projects, click here. Thats all from me right now..
ICQ: 34818797 Cheers, |