Subscribe To Robotics | IntroDuction | History | Home


Friends Dont Forget To check the archieve at the left end of the page



Make Your Own Robot Tutoials



Simple Beetle Bot | Wired Robot | Combat Robot | Solar Engine |



Beam Symet | Photopopper | Beam Trimet | Line Follower |

Latest Updates
Driver Less Car | I-Sobot | MotherBoard | MicroController | Artificial Brain |

Camera Sensors Hardware | Remote Control Working

Google
Links I visit
Cosmic Robot

Download Everything 4 FREE

Sunday, November 25, 2007

Information On Microcontrollers

Here's a list of Few of the many Microcontrollers which can b used in ROBOTICS..more updates will be there soon...

1)ATMEL AVR MICROCONTROLLER:

Features of ATmega128-16AI Microcontroller

• 128KB FLASH

• 4 KB RAM

• 4 KB EEPROM

• 53 I/O pins

• hardware multiplier

• Programming Lock for Software Security

• SPI Interface for In-System Programming

• Real Time Counter with Separate Oscillator

• 8-channel, 10-bit ADC:

- 8 Single-ended Channels

- 7 Differential Channels

- 2 Differential Channels with Programmable Gain at 1x, 10x, or 200x

• Dual Programmable Serial USARTs (2x UART)

• Master/Slave SPI Serial Interface

• 2x 8bit Timer, 2x 16bit Timer

• 16MHz RISC

ATmega128 TinyBoard Ver1.1

ATmega128 Development Board with ATmega128-16AI (16 MHz):

• super thin only 34mm x 40mm x 8mm

• full motherboard for ATmega128

• all pins are available on headers (2,54mm-/0,1" pitch), 2x15pins each

• high computing power

• easy to use: just connect to power supply (+5V) and program device

• separate grounds: analog and digital

• extra shielded

• ISP programming pins on right header

fully assembled board includes:

• ATmega128-16AI (-40 bis +85°C), X1 crystal 16 MHz, X2 crystal 32kHz (for
asynchron timer)

• header layout, schematics, programming tutorial

• female connectors 2 pieces (2x15 pins) also available

ATmega128 TinyBoard Ver1.2

ATmega128 Development Board with ATmega128-16AI (16 MHz) with ISP Header
same dimensions as Vers1.1 but with additional ISP header

• automatically switches off lines on right header when in programming mode (prohibits "shortages" during programming with the rest of circuitry)

• led indicates programming mode

• 100% pin compatible with Ver1.1

• super thin only 34mm x 40mm x 8mm

• full motherboard for ATmega128

• all pins are available on headers (2,54mm-/0,1" pitch) 2x15pins each

• high computing power

• easy to use: just connect to power supply (+5V) and program device

• separate grounds: analog and digital

• extra shielded

• fully assembled board includes:

• ATmega128-16AI (-40 bis +85°C), X1 crystal 16 MHz, X2 crystal 32kHz (for
asynchron timer)

• header layout, schematics, programming tutorial

• female connectors 2 pieces (2x15 pins) are also available

2)CYPRESS MICROCONTROLLER:


Features of CY7C68013A USB Microcontroller :

• Software: 8051 code runs from:

— Internal RAM, which is downloaded via USB

— Internal RAM, which is loaded from EEPROM

— External memory device (128 pin package)

• 16 KBytes of on-chip Code/Data RAM

• Four programmable BULK/INTERRUPT/ISOCHRONOUS endpoints

— Buffering options: double, triple, and quad

• Additional programmable (BULK/INTERRUPT) 64-byte endpoint

• 8- or 16-bit external data interface

• Integrated, industry-standard enhanced 8051

— 48-MHz, 24-MHz, or 12-MHz CPU operation

— Four clocks per instruction cycle

— Two USARTS

— Three counter/timers

— Expanded interrupt system

— Two data pointers

• 3.3V operation with 5V tolerant inputs

• GPIF (General Programmable Interface)

— Allows direct connection to most parallel interface

— Programmable waveform descriptors and configuration registers to define waveforms

— Supports multiple Ready (RDY) inputs and Control (CTL) outputs

• Vectored USB interrupts and GPIF/FIFO interrupts

• Separate data buffers for the Set-up and Data portions of a CONTROL transfer

• Integrated I2C controller, runs at 100 or 400 kHz

• Four integrated FIFOs

— Integrated glue logic and FIFOs lower system cost

— Automatic conversion to and from 16-bit buses

— Master or slave operation

— Uses external clock or asynchronous strobes

— Easy interface to ASIC and DSP ICs

Cypress CY7C68013A - 56 Development Board with USB2 HighSpeed MiniUSB:

• Cypress CY7C68013A-56PVXC - low power Version of CY7C68013-56, full USB2 specified

• tiny board, board dimesions 3,5cm x 5,1cm

• USB2 High Speed (480Mbit/s)

• Mini USB

• EEPROM onboard

• onboard voltage regulator (bottom side)

• GPIF Interface

• reset push button

• power led

• fully assembled board comes with MiniUSB-Cable and schematic

• female connectors 2x (2x12 pins) also available
FX2 / FX2LP Development Board

Cypress CY7C68013A - 128 Development Board with USB2 HighSpeed:

• Cypress CY7C68013A-128AXC - low power version of CY7C68013-128

• USB2 High Speed (480Mbit/s)

• EEPROM onboard

• 2 serial interfaces

• all pins out, ERNI-header

• IDE interface

• ERNI connector

• memory extention with maximum addressable memory

- 64 KB external SRAM with 15ns (memory included)

• 2x I²C PortIO Expander (2x 8 = 16 additional ports)

• reset push button

• board dimensions: full Euro PCB (160cm x 100cm)

• fully assembled board comes with USB-Cable and schematic

More Updates Soon Please Bear For Mean Time And If Any Specific Request Please A Comment.

Assembling A FLED Solar Engine Tutorials



1. Take the 3904 transistor and using a pair of long nose pliers carefully bend the collector leg (that's the one on the far right) so that it is perpendicular to the transistor body as shown in the photograph. Then again using long nose pliers carefully bend the emitter leg (the one on the far left) first perpendicular to the base leg (the middle one) but in the same plane and then back up towards the base leg as shown in the photograph. If you're not sure about this take a look at step 3 and 4 it might be clearer when you can see the assembled engine.



2. Take the 3906 transistor and bend the emitter leg (the one on the far right in the photograph) first perpendicular to the base leg but in the same plane and then over the top of the transistor body. Then take the base leg and bend it perpendicular to the transistor body as shown in the photo.



3. Hold one of the transistors with a pair of long nose pliers so that the base leg of the 3904 is next to the collector leg of the 3906. The legs should overlap by about 6mm - 8mm. With your other hand pick up your soldering iron (which should be hot !), clean the tip and then melt a little pool of solder on the tip. Apply the tip of your iron to the two legs of the transistors to be joined for a second (no more !). The legs will be heated and the solder should flow between them easily. Do not overheat (it may damage the transistors). Continue to hold the transistors together for about two seconds until the solder has solidified.

Now wipe the sweat from your brow!



4. Solder the 2.2k resistor between the collector leg of the 3904 and the base leg of the 3906 as shown in the photo. This is best done by first 'tacking' both ends of the resistor to the transistor legs with a small pool of solder on the iron and then applying additional solder to make a more secure joint, once the initial 'tack' has solidified. Using a pair of side cutters trim the excess lead from the resistor.

Almost there !



5. Carefully bend the negative leg (the shortest one and also the one nearest the 'flat' on the FLED body) of the FLED at right angles to the positive leg, as shown in the photo.



6. Slide a piece of heat shrink tubing over the FLED and using a lighted match shrink the tubing over the FLED body. Whilst the tubing is still hot pinch the end opposite the leads to seal the tube, then cut off any excess tubing.



7. Solder the negative lead of the FLED to the emitter of the 3904 (the one that is bent backwards) and the positive lead to the base of the 3906 (to which the resistor is also connected)



8. Trim off the excess leads : FLED negative, FLED positive and 3906 base - as shown in the photo

Microcontrollers

While people quickly recognised and exploited the computing power of the microprocessor, they also saw another use for them, and that was in control. Designers started putting microprocessors into all sorts of products that had nothing to do with computing, like the fridge or the car door that we have just seen. Here the need was not necessarily for high computational power, or huge quantities of memory, or very high speed. A special category of microprocessor emerged that was intended for control activities, not for crunching big numbers. After a while this type of microprocessor gained an identity of its own, and became called a microcontroller. The microcontroller took over the role of the embedded computer in embedded systems.



So what distinguishes a microcontroller from a microprocessor? Like a microprocessor, a microcontroller needs to be able to compute, although not necessarily with big numbers. But it has other needs as well. Primarily, it must have excellent input/output capability, for example so that it can interface directly with the ins and outs of the fridge or the car door. Because many embedded systems are both size and cost conscious, it must be small, self-contained and low cost. Nor will it sit in the nice controlled environment that a conventional computer might expect. No, the microcontroller may need to put up with the harsh conditions of the industrial or motor car environment, and be able to operate in extremes of temperature.



A generic view of a microcontroller is shown in Figure. Essentially, it contains a simple microprocessor core, along with all necessary data and program memory. To this it adds all the peripherals that allow it to do the interfacing it needs to do. These may include digital and analog input and output, or counting and timing elements. Other more sophisticated functions are also available, which you will encounter later
in the book. Like any electronic circuit the microcontroller needs to be powered, and needs a clock signal (which in some controllers is generated internally) to drive the internal logic circuits.

Microcontroller families



There are thousands of different microcontroller types in the world today, made by numerous different manufacturers. All reflect in one way or another the block diagram of Figure. A manufacturer builds a microcontroller family around a fixed microprocessor core. Different family members are created by using the same core, combining with it different combinations of peripherals and different memory sizes.

This is shown symbolically in Figure 1.9. This manufacturer has three microcontroller families, each with its own core. One core might be 8-bit with limited power, another 16-bit and another a sophisticated 32-bit machine. To each core is added different combinations of peripheral and memory size, to make a number of family members. Because the core is fixed for all members of one family, the instruction set is fixed and users have little difficulty in moving from one family member to another.

While Figure below suggests only a few members of each family, in practice this is not the case; there can be more than 100 microcontrollers in any one family, each one with slightly different capabilities and some targeted at very specific applications.

Microcontroller packaging and appearance



Integrated circuits are made in a number of different forms, usually using plastic or ceramic as the packaging material. Interconnection with the outside world is provided by the pins on the package. Where possible microcontrollers should be made as physically small as possible, so it is worth asking: what determines the size? Interestingly, it is not usually the size of the integrated circuit chip itself, in a conventional microcontroller, which determines the overall size. Instead, this is set by the number of interconnection pins provided on the IC and their spacing. It is worth, therefore, pausing to consider what these pins carry in a microcontroller.

The point has been made that a microcontroller is usually input/output intensive. It is reasonable then to assume that a good number of pins will be used for input/output. Power must also be supplied and an earth connection made. It is reasonable to assume for the sort of systems we will be looking at that the microcontroller has all the
memory it needs on-chip. Therefore, it will not require the huge number of pins that earlier microprocessors needed, simply for connecting external data and address buses. It will, however, be necessary to provide pin interconnection to transfer program information into the memory and possibly provide extra power for the programming process. There is then usually a need to connect a clock signal, a reset and possibly some interrupt inputs.



Figure above, which shows a selection of microprocessors and microcontrollers, demonstrates the stunning diversity of package and size that is available. On the far right, the massive (and far from recent) 64-pin Motorola 68000 dwarfs almost everything else. The package is a dual-in-line package (DIP), with its pins arranged in two rows along the longer sides of the IC, the pin spacing being 0.1 inches.

Because the 68000 depends on external memory, many of its pins are committed to data and address bus functions, which forces the large size. Second from right is the comparatively recent 40-pin PIC 16F877. While this looks similar to the 68000, it actually makes very different use of its pins. With its on-chip program and data memory it has no need for external data or address buses. Its high pin count is now put to good use, allowing a high number of digital input/output and other lines. In the middle is the 52-pin Motorola 68HC705. This is in a square ceramic package, windowed to allow the on-chip EPROM (Erasable Programmable Read-Only Memory) to be erased. The pin spacing here is 0.05 inches, so the overall IC size is considerably more compact than the 68000, even though the pin count is still high. To the left of this is a 28-pin PIC 16C72.

Again, this has EPROM program memory and thus is also in a ceramic DIP package. On the far left is the tiny 8-pin surface-mounted PIC 12F508 and to the right of this is an 18-pin PIC 16F84A.

Building A BEAM Symet


The symet for some reason always tends to be a three fold rotation symmetrical robot, but I like to push the envelop a little. The Quaret, hence its name, is a four fold rotation symmetrical robot. It's very small, very active, and a lot of fun to watch. So enough chit chat lets find some parts!

List of parts
(most are available at DigiKey)
-1 x cassette tape player motor (or equivalent)
-1 x Solar panel (i use the Panasonic sunceram 37x33mm)
-Coil of heavy gauge wire (copper is good, but anything will work!)
-1 x 2.2k resistor
-1 x CMOS 1381J (The letter denotes the voltage it is triggered at, try some higher or lower voltage ones if you want!)
-1 x 2N3904 NPN transistor
-1 x 2N3906 PNP transistor
-4 x 1000uF capacitors (these can be substituted for any rating wanted, just remember, the more capacitance the longer charge)
-small diameter heat shrink (for motor actuator)
-4 x small washers (you'll see)
-plenty of electrical tape!

Now go find those parts!!

Now that you have the parts

So you finally got all of the parts, good! It's a lot easier to build this bot when you have all those parts lying right in front of you, trust me!

Lets build our chassis

Gather together your tape player motor, your large value caps, and some heavy gauge wire. To build you chassis you'll need to glue you caps onto the sides of the motor, just remember we need to put those caps in a parallel circuit. You should either glue the caps with all the positive ends facing out, or with all the negative ends facing out (see illustration).

Once you have all of those caps on there, you need to solder the post together (see illustration). The outside post probably won't reach each other, so get that wire out. Make the wire into a small ring just big enough to fit around the posts, solder it into the ring. Then take and solder all those posts onto the ring (see illustration). The last step is to solder the inner post together, these should reach each other but if they don't, use the wire again.


(click for bigger pic)

On to the SE

Lets define what exactly a solar engine is

Solar Engine - a circuit used to drive a motor which requires several tens of milliamps, with a solar panel that produces only a few milliamps.

See the illustration for the freeformed layout of the 1381J SE. Pretty simple. If you've been involved with BEAM before, this circuit should seem quite familiar! Keep in mind when you make this circuit that you want to have plenty of lead to solder to, but not to much that its a burden.

Combining


(click for bigger pic)

You have the SE and the chassis lying next to each other, right? From here on out its a piece of cake. First thing to do is to solder you positive and negative leads to the rings on the caps, once you have that take you motor (some motor might have wire leads, some have solder tabs, use precaution either way, even the best screw up motors!) and hook it up according to the drawing of the SE, that middle lead goes to the negative and then you can hook up the other end to the positive (you can reverse that so the motor positive goes to the middle lead, but I just happened to draw it that way). Those leads should be stiff enough to hold up that solar cell, but if they aren't, you can use glue or anything to hold it down, just make sure it works first!

Finishing touches


(click for bigger pic)

It works, but doesn't move to well, eh? This is where the heat shrink and washers come in. first off, take some heat shrink and put it on that motor shaft, chances are that it will slip off right away. To rectify that put on another layer. From there you can add as many layers as you see fit, just remember, to get that nice rounded finish, cut the inner most ones shorter than the outer ones so they shrink inward to round off the edges. Now your Quaret works, but goes in little circles. It's time to talk about symet behavior.

Symets exhibit random behavior depending on their surroundings and the available light. The key to making a symet interesting to watch lies in the angle it leans at. If your symet leans at a 20 degree or more angle, chance are that its hard to tip and it just makes little circles. If you symet leans at a 18 degree or less angle it will travel almost in a straight line. If its too small an angle, it will tip ever trigger. So here's the down low on getting it to travel straight. The symet should trigger and the edge its leaning on should cause it to turn, but if you decrease the leaning angle, the motor shaft is more perpendicular to the ground causing it to torque the symet the opposite direction of the turn, making it travel straight!

The washer can be glued to the bottoms of the caps (see picture) to rectify angle. use hot glue here, this way, if want to move them to adjust angle, take a heat shrink gun (or equivalent, a.k.a. something hot) and melt the glue so you can move the washer.

One more finishing touch is to add electrical tape around the edges of the solar panel, it help to protect you solar panel from nicks and cuts. Just remember, A for aesthetics, keep it pretty!

How does it work?

By now your Quaret should be up and running, work well? I hope so, cause i was pleased with mine. Now its your turn to experiment, Symets are so simple you can easily come up with your own plans. Hope you no longer refer to them as the brainless 'bots, because a good symet can even display problem solving abilities, as well as brute strength.

KEEP ON BEAMing!!!

Introduction To BridgeWare



What is bridgeware?
Short answer: Bridgeware are components that bridge the gap between the worlds of computer programming and electronics.

Longer answer: Bridgeware components translate the signals of external electronics hardware into a signal a computer can understand. They can be thought of as a form of adaptor board or signal converter board. Essentially bridgeware allows computer programmers to interface with electronics such as sensors and motor controllers right from their native programming environment. Most bridgeware comes with a software API which expose particular device functions to the developer. Some bridgeware has simple common serial interfacing and it's up to a developer to create their own API/Wrapper. Either way bridgeware allows programmers to do one important thing; reach out off their computer screens and allow their code to interact with the real world.


Who uses bridgeware?
Bridgeware components are used in robotics, home automation, data collection, RFID, and other similar areas. Bridgeware is most often used by educators, students, hobbyists, researchers, small businesses, and even artists.

What can I do with bridgeware?
The quick answer to that is, just about anything your imagination can think of. People build robots out of their PCs, automatic dog feeders, backyard water spraying defense systems, grill temperature monitoring systems, science experiments, school projects, quick pay RFID systems for restaurants, and all kinds of other fun projects.

Any kind of bridgeware boils down to one of two main types of actions, sensory input or control output. Just exactly what you do with these two things is totally up to you!




Where can I see a list of all the types of bridgeware available?
Funny you should ask! It just so happens that we are the largest retailer of bridgeware. You can browse the catalog to see what kind of bridgeware components are out there.
I/O Boards & Robot Controllers
Motor Controllers
Sensors
Or visit the whole Parts Section to see everything

To Know More About BridgeWare Check The Link In The Reference Section

Introduction To PC Based Robotics


What do we mean by PC based robotics?
We use the term PC based robotics in a very general sense. It refers to robotics that use any type of the wide ranging format of personal computers that we know today; desktop, laptop, mini, hand held, or a single board computer (SBC) for example. It can be running any kind of operating system and either be physically on the robot or used through distributed computing. Some defining factors are that the computer would have the familiar I/O and communications associated with modern computers; USB, serial, wireless communications, monitor, mouse, & keyboard ports.
Why is the PC ready now when it wasn't before?
There were three main reasons why roboticists were not adopting the use of computers as a processor platform of choice in the past:
1) Cost was too high
2) Size was too large
3) No robotics I/O available

The first two problems, cost and size, have largely been solved. Single board computers (SBCs) are now getting down to the size of credit cards for a few hundred dollars. Size will continue to shrink as technology advances and form factors will also continue to emerge more suited for the needs of robotics. Low cost networking technologies are also now available for using computers which are not physically on a robot.

The largest hurdle for roboticists in using a computer as their choice of processor platform was the lack of proper I/O needed for robotics. Common computers don't have analog and digital inputs or motor controller output ports. There are no A/D converters or places to input encoder signals like there are on more simple microcontrollers. In recent years a new realm of computer peripherals have emerged called bridgeware which solve the I/O issue for roboticists interested in using computers for their projects. Bridgeware components convert common computer I/O into robotics I/O, you can learn more about them here.

What do computers bring to Robotics?
A Standard Platform
As long as everyone is building robotics on vastly different processors we will never reach a point where there is transferability of technology in robotics. Moving to the 32 bit processor with the common I/O of computers allows roboticists to tap into the standards rich world of computers. This allows both software and hardware to become more transferable between users which allows for accelerated advancements.
High level Object Oriented languages, IDEs, and GUI
Software development on computers is a very mature and feature rich environment. The languages are powerful, the development environments are robust with extensive graphical tools, thousands of third party vendors build supporting tools for dozens of languages. Using a computer as the processor platform delivers all the powerful tools of computer programming and application development to the world of robotics development.
Tapping into the worlds largest pool of technical talent
The entry level bar for robotics currently is set pretty high. A person needs to be able to work with mechanics, electronics, and programming in order to build a robot. This poses a problem for the technology advancing since it reduces the amount of potential technicians that will be in the space. The electronics barrier is the most constricting of the three. For every electronic engineer in the world there are thousands of computer programmers. Computer programming is the most common technical skill in the world. Using computers and bridgeware in robotics development removes the electronics barrier to entry and allows robotics as a technology to tap into the massive talent pool of computer programmers all over the globe. This is something that will propel robotics forward.

Thursday, November 22, 2007

Building a FRED Photopopper

Fred is my first 'photopopper' style bot. I had designed and built a similar bot before, but that one had three motors arranged radialy around a central axis. It didn't work nearly as well as Fred does.

The secret to Fred's success is the modified FLED solar engine circuit. I tried a FLED circuit, but the low-light performance was abysmal. I needed to put my 60W reading lamp 10 cm away from the solar panel before it would fire! This was clearly inadequate, so something had to be done. I tried putting in extra diodes, extra capacitors, extra resistors, and eventually settled on the design shown here.

Now Fred will pop away quite happily 40 cm from my desk lamp, which is the height that it normally sits when I'm reading. He will also pop all day when indoors, so long as a window is nearby to let in some diffuse daylight.

Specifications:

Voltages:
Switch-on: 2.4 Volts
Switch-off: 1.4, or 0.7 Volts, depending on what mood Fred is in.

Dimensions:
43 (length) x 27 (height) x 38 (width) mm.

Solar Cells:
One 33 x 24 mm Panasonic 5 Cell amorphous array (Part # BP-243318).
Storage Capacitors:
One NEC 0.033 Farad capacitor, with a 47uF cap in parallel to lower the internal resistance at switch-on.

Motors:
Two namiki pager motors, with extra padding on the shaft, directly resting on the ground.

Electronic components:
2 x BC337 NPN transistors
2 x BC327-25 PNP transistors
2 x Red Flashing LED (FLED)
2 x 3.3 K resistors
2 x 33 K resistors
2 x 4.7 uF capacitors


Performance:
Fred is quite an active bot compared to my other mobile bots. At 11:00 in the morning sun, he takes two seconds to recharge after a big step, and one second to recover from a small step. Sometimes he takes big steps, sometimes he takes small steps. When he takes a big step, the capacitor discharges all the way to around 0.8 Volts, but when taking a small step the cap discharges to only 1.5 or so volts.
This results in interesting behavior. It seems that he takes small steps when directly facing the sun, and big steps when facing at 90 degrees or more. If Fred starts out facing into the sun then he will take lots of quick, little steps of maybe 45 degrees and follow the sun around the sky.
But if you start with the bot facing away from the sun, or at 90 degrees, then he will take giant 180 degree strides, alternating sometimes with little steps to aim more towards the center of the light pool.

Construction and development:

I originally breadboarded a single FLED solar engine, and tested the circuit using this setup. This resulted in the poor performance that many FLED SE builders have experienced and cursed. I'm the sort of person who doesn't give up very easily (My friends just call me stubborn!) so I toyed with the circuit until it reached the stage it is now.

I started by experimenting with the 3.3k resistor. I found that the reason that many FLED SE's lock up in lower light levels is that the FLED is being kept high by this resistor. Current is going through the motor, through this resistor, feeding the FLED, but every time the FLED fires, it discharges a little bit from the storage cap. If the light level isn't sufficient to replace the charge lost each time the FLED fires, then you reach an equilibrium point where the SE appears to 'lock up'. I tried adding a diode in series with this resistor, but that didn't solve any problems - in fact it created some more! The SE would lock up at 0.6 volts instead of the more usual 2.2 V!

By this stage I was thinking about making the popper phototropic as well. I added a phototransistor to the anode of each FLED. This raised the switch-on level, but made the bot nicely follow the light.

I then thought about putting a capacitor in series with the FLED. My reasoning being that since the FLED only has to trigger the two transistors, not actually hold the base down, then you only need a little spike, not a long on-time. This proved to be the key to good performance. Of course, I also needed another resistor to discharge the 4.7 uF cap in between FLED flashes. I found that the best place to put this was on the motor terminal, instead of the base of the PNP transistor. The reason for this is that the motor terminal swings a lot more than the base of the PNP (2.2 V as opposed to 0.7 V), so it helped to 'latch' the circuit more easily.

My problem now was that the damn phototransistors were affecting the switch-on level too much. I wanted the bot to have a lower switch-on level in low light (because the solar panel won't produce as much voltage) but when I wired the PTs in that configuration, the switch on level would shoot up to 2.9 volts! This was way too high for me, so I decided that since no-one was looking, I would dispense with the PTs altogether and see how much the FLEDs were affected by changes in ambient light. To my delight, Fred saw the light and turned towards it! The changes in ambient light were enough to change the characteristics of the FLEDs, and make Fred choose the brighter side over the duller side when ready to fire a motor.


Tuning:

If you have a look at the schematic for Fred, you will notice that there is no way to 'tune' the circuit if one side of your photopopper is more likely to turn on than the other in equal light.
Bad luck.

The way I tuned Fred is that I selected two FLEDs that were as equal as I could find, in the selection that I had. The FLEDs are the most critical part of tuning. Get them right, and the rest just takes care of itself. So how do you choose two FLEDs that are about equal? Simple.
All you need is a solar panel (or a power supply with a 2.2k resistor in series), and a reasonably large storage capacitor. Put the solar panel, the cap, and two FLEDs in parallel, + to +, - to -. Short out the cap, and wait for it to charge up. The FLEDs should come on at around the same time, and should flash with equal brightness as the storage cap charges up. Go through your selection of FLEDs to find two that are as similar as you can find.

A better way to do it is with a multimeter. Put the meter on resistance measurement, put the FLED in a dark environment, and measure the resistance. Do this for all your FLEDs. I was amazed at how much variation there is in a batch of the same FLEDs: I had measurements from 0.5 MegaOhms to 8 MegaOhms. FLEDs within 95% of each other should work fine. Putting a 0.5M and a 8M FLED into the one popper will give a very lopsided outlook on life.

Measure the resistance twice to see how much your test setup has changed between measurements. This will give you an idea of how sensitive these components are.
Of course be careful not to let your fingers touch both leads at once! This will distort your measurement a lot.

Here you can see all the parts that you need to get going:

Here's a parts list to get you started: (from left to right, back row first)

1 x 3300 uF capacitor - DigiKey
2 x fuse clips - Hardware store
2 x 0.22 uF tantalum capacitors - DigiKey
2 x BC327-25 PNP transistors (2N3906 can be substituted) - DigiKey
2 x BC337 NPN transistors (2N3904 can be used instead) - DigiKey
2 x pager or similar motors- Solarbotics, MPJA, Big Micro
2 x 33k resistor (orange orange orange, or orange orange black red) - DigiKey
2 x 3.3k resistor (orange orange red, or orange orange black brown) - DigiKey
2 x red FLED (Flashing LED) - DigiKey
1 piece of 3mm heatshrink - DigiKey
1 paper clip
1 solar panel (at least 2.4 volts) - Solarbotics, Adaptobotics

The storage capacitor here is 3300 uF. You can try any value up to 0.047 F, but 2200 - 3300 uF will work the best.

? And here's a schematic to refer to later on:

To start with, you should breadboard the entire circuit.

If you don't have a solar panel, then you can replace it with a battery (more than 3 volts) and a 2.2 k resistor in series with the battery. Hooking a battery up directly will probably damage your transistors, so remember to use at least a 470 Ohm resistor when using batteries.

To find two matched FLEDs, you will need a multimeter. Put the meter on resistance measurement, put the FLED in a dark environment, and measure the resistance. Do this for all your FLEDs. I was amazed at how much variation there is in a batch of the same FLEDs: I had measurements from 0.5 MegaOhms to 8 MegaOhms. FLEDs within 95% of each other should work fine. Putting a 0.5M and a 8M FLED into the one popper will give a very lopsided outlook on life.
Measure the resistance twice to see how much your test setup has changed between measurements. This will give you an idea of how sensitive these components are.
Of course be careful not to let your fingers touch both leads at once! This will distort your measurement a lot. If you absolutely can't find two FLEDs that are similar, then you will need to use the schematic at the bottom of this page to balance your FRED and stop him going in circles.

Testing:

Put some light on the solar panel, and watch the motors. If one of them fires then well done! The most common mistake here is to not let the motor leads make good contact with the holes. This will result in a cap voltage that will sit at about 0.7 volts. Put some extra solder on the motor leads or solder them to some normal hookup wire to sove this problem.

You should be able to make a particular motor fire by covering that FLED with your finger. This will put that side into darkness, so that side should fire. If you can make both sides fire like this then congratulations! Go on the construction.

If only one side fires, then take the FLED out for that side. Then debug the side that isn't firing. If your other side now fires then your FLEDs are mismatched and you either need to find some better matched FLEDs or use the schematic at the bottom of this tutorial.

Construction:

Lets start with some mechanics. While your soldering iron is heating up, grab a pair of pliers and the paperclip.

You need to cut both the inside and the outside loops of the paperclip at the point where the inner loop bends. This will give you aroundd rectangle, the size of which is dictated by the size of your paperclip.



By the time you've gotten that puzzled out your soldering iron should be well and truly hot. Tin (put solder on) the top of both fuse clips and the outer bends of the paper clip. Make sure that you heat all metal pieces up till they are very hot - and don't have the motors in the fuse clips when you do this! Attach the fuse clips to a fuse or something that doesn't mind heat. The solder should flow on easily, and shouldn't be able to be picked off later with a file.



Don't leave the motors in the fuse clips for the next step. Use a couple of old fuses or pencils or something, but don't use motors. You now need to put the paper clip on top of the solder blobs, and attach both fuse clips to the paperclip. This is harder than it sounds. Remember to orient the fuse clips at 45 degrees to the paperclip (so they are at 90 degrees to each other) and get the little tab on the fuse clip around the right way so that your motors will actually fit in the way they are intended (pointing away from each other, not towards each other).

This is what it should look like when you're done:



(Note the amount of solder I used. This isn't due to mechanical ineptitude... at least that's my excuse and I'm sticking to it!)

Now wait until it's all cooled down and stick your motors in. Check that the angles are vaguely symmetrical. If not, start again :-)

Now attach the negative lead of the capacitor to the center of the top rail of the paperclip. The paperclip should be on the opposite side of the motors to the capacitor. Bend the capacitor lead around the paperclip, and belt it with some heat and solder. Make sure that the positive lead doesn't touch the bottom rail of the paperclip. You are going to stick the solar panel on top of the cap and motors, so make sure that they create a flat surface to anchor the solar panel to.



Now it's time to start on the hard part: the electronics.

Firstly note the differences between BCxx type and 2N39xx type. This tutorial is aimed at using BC style transistors. If you're using 2N39xx transistors then the pinouts are different, so you'll have to be very aware of how your transistors should go in.



Put the BC327's into the body of the FRED, next to the capacitor, and connect up the emitters:



Now put the BC337's into the FRED, connecting up their emitters as well:



If you are using 2N39xx transistors, then these diagrams are incorrect. Flip these diagrams horizontally, and they will be right.

*** Important ***

Check, check and recheck all the transistor connections. Go back to the transistor pinout diagram and the schematic, and make sure that all the right pins are connected to the right places. It's easier to do it now than later, trust me.

If you don't do it now, you will be doing it later.

Now connect the base of the BC337 to the collector of the BC327: Note: Thanks to the eagle-eyed Joel Hirtle for picking up the mistake that was in the last sentence!



You will now need to put the 3.3k resistors in, connected between the collector of the BC337, and the base of the BC327:



Here's what it will actually look like from above:



Now lay the 33k resistors to the side of the 3.3k resistors and connect one end of the 33k to the back end of the 3.3k:



Now connect your 0.22 µF capacitor between the forward ends of both the resistors:



You now need to attach your FLEDs to the robot. Bend the FLEDs in the angle shown here: (the negative side of the FLED is at the top of this picture)



The negative lead of the FLED should now be attached to the blob of solder on the top of the robot that conects the negative lead of the capacitor to the paperclip.



The positive lead of the FLED is attached to the 33k resistor and 0.22 µF capacitor:



All that remains now is to attach the motor leads and the solar panel. To check the motor lead polarity, grab a 1.5 V battery, and connect it up to a motor. Figure out which way around gives you a forward kick. Do this for the other side as well. (one batch of pager motors went different ways - the only way to know is to do this check). Now, attach the lead of the motor that you had attached to the positive terminal of the AA to the positive lead on the capacitor. Attach the other lead of the motor to the back end of the 3.3k resistor on the side that the motor lives on.



This shot isn't that clear, but you should be able to see the orange leads from the motors here. The black leads seem to be lost in the ether... Now for the final connections: the solar panel. Connect the positive lead of the solar panel to the positive lead on the capacitor, and the negative lead to the paperclip:



Now for the acid test: Hold your creation up to a light globe or the sun. If the motors fire, then well done! If not, then check all your connections again. This circuit is a bit chaotic in nature - if the 'dark' motor doesn't fire the first time around then it might fire the second time around. Don't give up hope the first time the 'wrong' motor fires. Remember: your circuit worked on the breadboard, so it should work when freeformed. You did breadboard it, didn't you?



If you are having trouble getting your FRED engine to fire well, put a 1 uF cap across the motor terminals. This is a bit counterintuitive but for some reason this makes the motors turn on harder. Thanks to Kyle Simmons for this tip!



For the more adventurous, here's the schemtic of the complete FRED popper, complete with touch sensors, and a balance pot to make sure that your little FRED goes in a straight line. The bits in red are there to balance out any differences in the FLEDs, and the blue parts are there so that you can add tactile sensors to your creation. Good luck!

How to Build A BEAM Trimet

Tools and equipment required:

- Soldering iron (about 18W with a fine bit) and solder
- Safety glasses (wear them at all times)
- Long nose pliers
- Side cutters
- Wire strippers (optional)
- Hot glue gun and glue sticks (or an epoxy)
- 3 large capacitors (e.g 4700 µf)
- 1 efficient motor (e.g. portable CD player, Walkman, etc. motor)
- FLED Solar Engine



1. Attach the three capacitors to the motor body using a hot glue gun (you can use epoxy-resin but it's easier with hot glue). Apply the glue to the lighter colored stripe on the capacitor body (this stripe identifies the negative lead). Align the capacitors vertically so that the bottom of each capacitor is approximately 4 mm below the bottom face of the motor.













2. Bend the three negative leads together and solder them as shown in the photograph.




3. Construct a FLED solarengine.



4. With the two transistors resting on the tops of the front two capacitors solder the emitter leg of the 3904 to a negative capacitor lead and the emitter leg of the 3906 to a positive capacitor lead (the 3906 is a PNP transistor).




5. Now solder the black (negative) motor lead to the protruding collector leg of the 3904 transistor (to which the resistor is attached) and the red (positive) motor lead to any one of the positive capacitor leads.

Congratulations you're almost there !



6. From the two brass coated paper clips supplied construct a ring with a diameter of approximately 85mm - 90mm. Bend the clips with a pair of long nose pliers (wear safety glasses when you're doing this) and also trim to length with the pliers. Solder together the ends of the wire to form the ring.



7. Attach the ring to your Trimet using the positive leads of the three capacitors. Form a hook with the leads to secure the ring prior to soldering. You will probably need to extend the lead of the front right capacitor (see photograph) - use a piece of the brass coated paper clip that you trimmed off in the previous operation.

We've got the traction, the fuel tanks, the engine and the sensor now all we need to add is the fuel converter and the drive wheel.




8. Solder two short (30mm long) pieces of the PVC coated multi-strand wire to the solarcell. Solder the red lead to the positive pad and the black lead to the negative. Take care when doing this - do not over heat the tinned pads on the solarcell. These are easy to solder because there is already a generous amount of solder on the pads. Solder the red lead so that it runs parallel to the 'Panasonic' text on the cell and the black lead so that it runs perpendicular to the 'Panasonic' text as shown in the photograph.



9. Solder the leads attached to the solarcell to the capacitor leads - red lead to a positive capacitor lead (any of those attached to the sensor ring) and black lead to a negative capacitor lead (the lead nearest the light stripe on the capacitor). Secure the solarcell to the body using a little hot glue (or a little epoxy-resin). Do not allow the solarcell pads to touch any of the component leads.




10. Cut a short section of hot glue stick (about 6mm - 7mm long) with a pair of scissors or a craft knife (take care!), melt a small hole in one end of the piece of glue stick (not in your finger - it hurts!) and push the 'wheel' onto the motor shaft. Position the 'wheel' so that there is between 5mm - 7mm from the bottom of the 'wheel' to the bottom of the capacitors. This will allow the Trimet to lean over onto two of the capacitors at the appropriate angle. You can adjust this dimension later to produce the optimum performance. Ideally you want the Trimet to skid along in a straight line - have you seen the James Bond film where he drives a car on two wheels down a narrow alley - like that!

Oh and by the way you've finished.

Place your Trimet (wheel down) on a smooth surface (plastic table top, piece of polished timber, etc) in sunlight (doesn't have to be full sun) and wait for her / him to trigger (every 3 - 5 seconds in full sun). In the absence of daylight you can also use a halogen lamp or an ordinary bulb (although it will take longer to trigger).

A Simple Antweight R/C combat robot-for Intermediate Level


INTRODUCTION:

In this guide u will see how to make a simple ant weight R/C combat robot using a Sabertooth 2X5 R/C. The 'bot doesn't necessarily have to be used in combat - it is a pretty fun toy to drive around the office too! . The Sabertooth 2X5 R/C will be used to interpret signals from a radio control system, and vary the motor speed so you can drive the robot around. The project requires basic knowledge of electronics (Volts, amps, battery polarity and wiring) and intermediate soldering skills.

Parts list:
Sabertooth 2X5 R/C motor driver
Motors,wheels,and chasis
Hobby radio control transmitter and receiver
Batters(atleast 6V)
Ceramic capacitors

Misc wire and soldering tools

Overview


As you can see, power will go from the battery in to the Sabertooth motor driver. The Sabertooth has an internal 5V regulator that it will use to power the receiver. The receiver will pick up your control info i.e. the direction you want to drive in, and it will signal that information back to the Sabertooth. The Sabertooth will then process this information, and vary the voltage and direction going to the motors. We will wire the 2 motors in parallel on each side so they will appear as one motor to the Sabertooth.

The chassis
One of the most time consuming things in building robots is constructing the chassis. If you do not have metalworking machinery available to you, you might want to check out Inertia lab's website . It will allow you to start work on your robot right away without having to deal with metal shavings embedded in your eyes.





TO KNOW ABOUT THE BATTERY , SETTING OF THE MOTOR ,RADIO AND RECEIVER PLEASE COPY AND PASTE THE LINK OF THE SITE MENTIONED BELOW
http://www.dimensionengineering.com/appnotes/simple_robot/simple_robot.htm

Introduction To Micro controller





The integrated circuit from an Intel 8742, an 8-bit microcontroller that includes a C.P.U. running at 12 MHz, 128 bytes of RAM, 2048 bytes of EPROM, and I/O in the same chip.


A Micro controller (or)M.C.U. is a computer on a chip . It is a type of Microprocessor emphasizing self-sufficiency and cost-effectiveness, in contrast to a general-purpose microprocessor (the kind used in a PC). The only difference being in a microcontroller and a microprocessor is that a microprocessor has three parts - ALU, Control Unit and registers(like memory), but the microcontroller has additional elements like ROM, RAM etc.

Programming Environments

Originally, micro controllers were only programmed in Assembly language, or later in C code. Recent micro controllers integrated with on-chip debug circuitry accessed by In-circuit Emulator via JTAG enables a programmer to debug the software of an embedded system with a debugger .

Some micro controllers have begun to include a built-in High Level Programming Language Interpreter for greater ease of use. The Inter 8052 and Zilog Z8 were available with BASIC very early on, and BASIC is more recently used in the popular BASIC STAMPS MCUs.

Some micro controllers such as Analog Device's Blackfin processors can be programmed using LabVIEW, which is a high level programming language.

A Simple Beetle Bot For Begineers

It's great for beginners and easy to do.

This is the Beetle Robot v. 3 you are going to build:

Image

Before starting, I suggest you to read the complete tutorials. This will greatly lower the chances of you making a mistake.



Tools Needed:

Components for the robot
  • 2x - small 1.5 Volts motors
  • 2x - small paperclips
  • 2x - big paperclips
  • 2x - batteries AAA or AA
  • 1x - battery holder AAA or AA
  • 1x - 2 cm of heat shrink
  • 1x - wooden pearl (for the caster)
  • 1x - meter of electric wire
  • 2x - Sub-mini lever SPDT switches
    Image

Here are the serial numbers of the components and tools from RadioShack .
Component Number
soldering iron 64-2184
electronic solder 64-006
diagonal cutter 64-2951
1.5 Volts motor 273-223
battery holder 270-398
SPDT switch 275-016
Most of the components can be bought for much cheaper at Digi-Key, Jameco, or similar. At Solarbotics you can find the dual AA battery holder and the Mabuchi motor. You can find these components at any good electronic store.

Here is all the parts for the construction the beetle robot.

Image

1. Cut the electric wire in pieces of 6 cm each, 13 times.

Image

Strip 1 cm at each end.

Image


2. Regroup all the components.

Image

3. Solder each wire to each components except the two batteries.

Image

4. Take the battery holder and make a connection to the connection.

Image

This will give a third connection.See picture below,

Image

The blue wire is the third connections

Image

5. Turn the battery holder up side down so the batteries point to the ground. Glue the two switches on the battery holder in a V form.

Image

Image

Image

6. Glue the motor beside each switch so that the shaft touches the ground

Image

Image

Image

7. Take the big paperclip and make the caster like the picture below.

Image

You can make a nice looking caster or a normal one

Image

Image

I prefer the nice one

Image

8. How to make the connection
Image

Image

Image

9. Take the small paper clip and bend them to make antenna.

Image

Glue them to the switches and don't put to much glue.

Image

Add 1 cm of heat shrink to the shaft of each motor.

Image

Image

10. Add the batteries in the battery holder and put it on a flat surface to see your creation take life. Congratulation!

Image

Image

Artificial Intelligence

The term "artificial intelligence" is defined as systems that combine sophisticated hardware and software with elaborate databases and knowledge-based processing models to demonstrate characteristics of effective human decision making. The criteria for artificial systems include the following: 1) functional: the system must be capable of performing the function for which it has been designed; 2) able to manufacture: the system must be capable of being manufactured by existing manufacturing processes; 3) designable: the design of the system must be imaginable by designers working in their cultural context; and 4) marketable: the system must be perceived to serve some purpose well enough, when compared to competing approaches, to warrant its design and manufacture.


















Robotics is one field within artificial intelligence. It involves mechanical, usually computer-controlled, devices to perform tasks that require extreme precision or tedious or hazardous work by people. Traditional Robotics uses Artificial Intelligence planning techniques to program robot behaviors and works toward robots as technical devices that have to be developed and controlled by a human engineer. The Autonomous Robotics approach suggests that robots could develop and control themselves autonomously. These robots are able to adapt to both uncertain and incomplete information in constantly changing environments. This is possible by imitating the learning process of a single natural organism or through Evolutionary Robotics, which is to apply selective reproduction on populations of robots. It lets a simulated evolution process develop adaptive robots.

The artificial intelligence concept of the "expert system" is highly developed. This describes robot programmers ability to anticipate situations and provide the robot with a set of "if-then" rules. For example, if encountering a stairwell, stop and retreat. The more sophisticated concept is to give the robot the ability to "learn" from experience. A neural network brain equipped onto a robot will allow the robot to sample its world at random. Basically, the robot would be given some life-style goals, and, as it experimented, the actions resulting in success would be reinforced in the brain. This results in the robot devising its own rules. This is appealing to researchers and the community as it parallels human learning in lots of ways.

Artificial intelligence dramatically reduces or eliminates the risk to humans in many applications. Powerful artificial intelligence software helps to fully develop the high-precision machine capabilities of robots, often freeing them from direct human control and vastly improving their productivity. When a robot interacts with a richly populated and variable world, it uses it senses to gather data and then compare the sensate inputs with expectations that are imbedded in its world model. Therefore the effectiveness of the robot is limited by the accuracy to which its programming models the real world.

Introduction to robotics


Robotics is the science and technology of robots, their design, manufacture, and application. Robotics requires a working knowledge of electronics, mechanics and software, and is usually accompanied by a large working knowledge of many subjects.A person working in the field is a roboticist.

Although the appearance and capabilities of robots vary vastly, all robots share the features of a mechanical, movable structure under some form of autonomous control. The structure of a robot is usually mostly mechanical and can be called a kinematic chain (its functionality being akin to the skeleton of the human body). The chain is formed of links (its bones), actuators (its muscles) and joints which can allow one or more degrees of freedom. Most contemporary robots use open serial chains in which each link connects the one before to the one after it. These robots are called serial robots and often resemble the human arm. Some robots, such as the Stewart platform, use closed parallel kinematic chains. Other structures, such as those that mimic the mechanical structure of humans, various animals and insects, are comparatively rare. However, the development and use of such structures in robots is an active area of research (e.g. biomechanics). Robots used as manipulators have an end effector mounted on the last link. This end effector can be anything from a welding device to a mechanical hand used to manipulate the environment.



Components of robots

Actuation

A robot leg, powered by Air Muscles.




The actuators are the 'muscles' of a robot; the parts which convert stored energy into movement. By far the most popular actuators are electric motors, but there are many others, some of which are powered by electricity, while others use chemicals, or compressed air.

* Motors: By far the vast majority of robots use electric motors, of which there are several kinds. DC motors, which are familiar to many people, spin rapidly when an electric current is passed through them. They will spin backwards if the current is made to flow in the other direction.
* Stepper Motors: As the name suggests, stepper motors do not spin freely like DC motors, they rotate in steps of a few degrees at a time, under the command of a controller. This makes them easier to control, as the controller knows exactly how far they have rotated, without having to use a sensor. Therefore they are used on many robots and CNC machining centres.
* Piezo Motors: A recent alternative to DC motors are piezo motors, also known as ultrasonic motors. These work on a fundamentally different principle, whereby tiny piezoceramic legs, vibrating many thousands of times per second, walk the motor round in a circle or a straight line. The advantages of these motors are incredible nanometre resolution, speed and available force for their size. These motors are already available commercially, and being used on some robots.
* Air Muscles: The air muscle is a simple yet powerful device for providing a pulling force. When inflated with compressed air, it contracts by up to 40% of its original length. The key to its behaviour is the braiding visible around the outside, which forces the muscle to be either long and thin, or short and fat. Since it behaves in a very similar way to a biological muscle, it can be used to construct robots with a similar muscle/skeleton system to an animal. For example, the Shadow robot hand uses 40 air muscles to power its 24 joints.
* Electroactive Polymers: These are a class of plastics which change shape in response to electrical stimulation. They can be designed so that they bend, stretch or contract, but so far there are no EAPs suitable for commercial robots, as they tend to have low efficiency or are not robust.[ Indeed, all of the entrants in a recent competition to build EAP powered arm wrestling robots, were beaten by a 17 year old girl. However, they are expected to improve in the future, where they may be useful for microrobotic applications.

Locomotion




Rolling Robots

For simplicity, most mobile robots have four wheels. However, some researchers have tried to create more complex wheeled robots, with only one or two wheels.

* Two-wheeled balancing: While the Segway is not commonly thought of as a robot, it can be thought of as a component of a robot. Several real robots do use a similar dynamic balancing algorithm, and NASA's Robonaut has been mounted on a Segway.
* Ballbot: Carnegie Mellon University researchers have developed a new type of mobile robot that balances on a ball instead of legs or wheels. "Ballbot" is a self-contained, battery-operated, omnidirectional robot that balances dynamically on a single urethane-coated metal sphere. It weighs 95 pounds and is the approximate height and width of a person. Because of its long, thin shape and ability to maneuver in tight spaces, it has the potential to function better than current robots can in environments with people.
* Track Robot: Another type of rolling robot is one that has tracks, like NASA's Urban Robot, Urbie.


Walking Robots

Walking is a difficult and dynamic problem to solve. Several robots have been made which can walk reliably on two legs, however none have yet been made which are as robust as a human. Typically, these robots can walk well on flat floors, can occasionally walk up stairs. None can walk over rocky, uneven terrain. Some of the methods which have been tried are:

Zero Moment Point (ZMP) Technique: is the algorithm used by robots such as Honda's ASIMO. The robot's onboard computer tries to the keep the total inertial forces (the combination of earth's gravity and the acceleration and deceleration of walking), exactly opposed by the floor reaction force (the force of the floor pushing back on the robot's foot). In this way, the two forces cancel out, leaving no moment (force causing the robot to rotate and fall over). However, this is not exactly how a human walks, and the difference is quite apparent to human observers, some of whom have pointed out that ASIMO walks as if it needs the lavatory. ASIMO's walking algorithm is not static, and some dynamic balancing is used (See below). However, it still requires a smooth surface to walk on.

Hopping: Several robots, built in the 1980s by Marc Raibert at the MIT Leg Laboratory, successfully demonstrated very dynamic walking. Initially, a robot with only one leg, and a very small foot, could stay upright simply by hopping. The movement is the same as that of a person on a pogo stick. As the robot falls to one side, it would jump slightly in that direction, in order to catch itself. Soon, the algorithm was generalised to two and four legs. A bipedal robot was demonstrated running and even performing somersaults. A quadruped was also demonstrated which could trot, run, pace and bound. For a full list of these robots, see the MIT Leg Lab Robots page.

Dynamic Balancing: A more advanced way for a robot to walk is by using a dynamic balancing algorithm, which is potentially more robust than the Zero Moment Point technique, as it constantly monitors the robot's motion, and places the feet in order to main stability.[ This technique was recently demonstrated by Anybots' Dexter Robot, which is so stable, it can even jump.

Passive Dynamics,: Perhaps the most promising approach being taken is to use the momentum of swinging limbs for greater efficiency. It has been shown that totally unpowered humanoid mechanisms can walk down a gentle slope, using only gravity to propel themselves. Using this technique, a robot need only supply a small amount of motor power to walk along a flat surface or a little more to walk up a hill. This technique promises to make walking robots at least ten times more efficient than ZMP walkers, like ASIMO.

Other methods of locomotion

* Flying: A modern passenger airliner is essentially a flying robot, with two humans to attend it. The autopilot can control the plane for each stage of the journey, including takeoff, normal flight and even landing. Other flying robots are completely automated, and are known as Unmanned Aerial Vehicles (UAVs). They can be smaller and lighter without a human pilot, and fly into dangerous territory for military surveillance missions. Some can even fire on targets under command. UAVs are also being developed which can fire on targets automatically, without the need for a command from a human. Other flying robots include cruise missiles, the Entomopter and the Epson micro helicopter robot.

* Snake: Several snake robots have been successfully developed. Mimicking the way real snakes move, these robots can navigate very confined spaces, meaning they may one day be used to search for people trapped in collapsed buildings. The Japanese ACM-R5 snake robot can even navigate both on land and in water.
* Skating: A small number of skating robots have been developed, one of which is a multi-mode walking and skating device, Titan VII. It has four legs, with unpowered wheels, which can either step or roll. Another robot, Plen, can use a miniature skateboard or rollerskates, and skate across a desktop.
* Swimming: It is calculated that some fish can achieve a propulsive efficiency greater than 90%. Furthermore, they can accelerate and manoeuver far better than any man-made boat or submarine, and produce less noise and water disturbance. Therefore, many researchers studying underwater robots would like to copy this type of locomotion.[ Notable examples are the Essex University Computer Science Robotic Fish[, and the Robot Tuna built by the Institute of Field Robotics, to analyse and mathematically model thunniform motion