AI News, Difference between revisions of "Robotics/Print version"

Difference between revisions of "Robotics/Print version"

The current version of this book can be found at http://en.wikibooks.org/wiki/robotics .

Robotics is a confluence science using the continuing advancements of mechanical engineering, material science, sensor fabrication, manufacturing techniques, and advanced algorithms.

For some, the romanticism of robotics brings forth an almost magical curiosity of the world leading to creation of amazing machines.

Robotics can be defined as the science or study of the technology primarily associated with the design, fabrication, theory, and application of robots.

While other fields contribute the mathematics, the techniques, and the components, robotics creates the magical end product.

The practical applications of robots drive development of robotics and drive advancements in other sciences in turn.

Robots hold the promise of moving and transforming materials with the same elan and ease as a computer program transforms data.

Today, robots mine minerals, assemble semi-processed materials into automobile components, and assemble those components into automobiles.

On the immediate horizon are self-driving cars, robotics to handle household chores, and assemble specialized machines on demand.

It is not unreasonable to imagine robots that are given some task, such as reclaim desert into photovoltaic cells and arable land, and left to make their own way.

A garage door opener has a sensor to detect the signal from the remote control, actuators to open the door, and a control system to stop turn off the motors and lights when the garage is fully closed.

In practice, this type of a machine is better described as a Mechatronic device, and is a subset of the more interesting robots that include autonomy or resourcefulness.

Some authors would contend that all mechatronic devices are robots, and that this book's restriction on robot entails only specialized software.

Robotics spans multiple scientific and engineering disciplines, so when you want to design a better robot you should get some basic knowledge in these fields.

To give an example: A small tethered tabletop robot would only require some basic knowledge in electronics and programming, a shoe box sized robot would require some additional knowledge on mechanics (mostly about balance) and a large robot might even require some knowledge on solid mechanics.

You don't need to know everything about all of these subjects, however knowing the basics of each of these fields can help in building better robots and prevent you from making (some of the) beginner's mistakes.

Although you could build a robot without knowing anything about mechanics, it'll help in preventing your robot from tipping over when turning, or when picking up something.

Much of this comes down to setting bits in a byte using simple Boolean logic, and writing this value into some register or memory location.

However if you don't know an assembly language, most microcontroller and processor boards have high level language compilers available in many flavors (C, C++, Basic, Pascal, Fortran, etc.)

This isn't required for small or medium robots, but it allows to be more efficient with building materials and gives insight to why and how materials fail (break and/or deform).

It's more about ordering, sorting and organizing knowledge in a machine and constructing algorithms for extracting real world conclusions from these databases.

Although math is generally seen as the ultimate theoretical science, it can be one of the most important skills in many of the more advanced domains of robotics.

For simple constructs you won't need much more than high school level math, for more complicated shapes it becomes necessary to use more complex math tools like integrals.

These three elements are connected with each other (more battery power increases the weight of the robot and requires stronger motors) and finding the 'perfect' balance requires a lot of tweaking and experimenting.

Building a frame out of light metal and using plastic plates as surfaces would be a lot lighter than using metal plates.

Don't think about exact sizes, compare it to the size of an object ('the size of a shoe box') will be sufficient.

When we mount this wheel on the motor it'll turn twice every second and therefore move 2 x 62.8cm = 125.6cm.

Make sure you have enough power to keep the motors and all the electronics running for a sufficient amount of time and keep some reserve for future additions. Compare

Other numbers are also possible, but can be hard to build, such as 1-wheeled or 2-wheeled robots, or have superfluous wheels which can make turning difficult or complex.

This kind of propulsion is only useful on loose sand and mud, as concrete and carpet provide too much horizontal traction when turning and will strip the tracks off of their guides.

Two-legged walkers are used for two main purposes: to imitate humans and to provide a great amount of force and traction.

Taller walkers used to imitate humans are difficult to build, requiring many balancing circuits and devices, quick motions, and precise construction.

Because half of the legs can be moved at one time without losing static balance, 6-legged walkers can actually be simpler to build than 4-legged.

Although this might sound like a bad thing, dynamic balance allows much faster and smoother movement, but requires sensors to sense balance.

This means of propulsion is very similar to how a classic computer mouse works: A ball is mounted in a casing in such a way that it can freely rotate in any direction.

A robot equipped with a ball wheel can move up-down and left-right, but can't rotate around its vertical axis.

Many robots don't require a separate sensor board as a whole lot of sensors have built-in electronics which allow them to connect directly to a µcontroller/processor.

Many robots have such a calculator or PDA or other display strapped to the top in order to show the humans what the microcontroller is 'thinking', which is vastly more productive than trying to guess what's going on inside that little chip of silicon.

Doing a simple calculation would make it clear if the robot is going to stay on its wheels or if it is going to tumble over and crush whatever it was trying to pick up.

For the working of an arm or a gripper, we need to take the help of a stepper motor in simple cases or use sensors in sophisticated cases.

Solid lines are visible edges, dashed lines are hidden edges, line-dash-line lines are center lines.

Standards also include methods of dimensioning and types of views presented in a drawing.) Of course you're free to use your own standards, but using an industrial standard, such as ANSI or ISO, makes it easier to share your plans with other people around the world.

While it may somewhat more tedious to make a drawing using 2D software, the results are generally better than using 3D solid modeling software.

With solid modeling you 'build' the parts in 3D, put them together in an assembly and then let the software generate the 2D drawings (sounds harder than it is).

Solid modeling software tend to generate overly complex drawing views with overly simplified dimensioning methods that likely do not correctly convey the fit, form or function of the part or assembly.

The soldering iron is a very useful tool for assembling electronic circuits and connecting copper wires together.

For electronic circuits you'll need a light soldering iron (~25W) with a small point (shaped like a pencil point).

When buying solder choose for a solder wire (60% lead, 40% tin) with non-corrosive flux.

(There is also 'eutectic solder' - 63% lead, 37% tin, which transitions from liquid to solid immediately, with no plastic state in between.) Take the thinnest wire you can find (<=1mm).

Brazing involves higher temperatures (typical between 450°C and 1000°C) and different flux ('Borax') and solder (copper and zinc or silver alloys) it also requires a welding torch instead of a soldering iron. see

However welding is only used for heavy materials like steel alloys and these are in most cases too heavy to be used in robots (unless you're building a very big or industrial robot).

Connections are made with either ordinary thin stiff wire with the insulation removed at the ends or with special breadboard wires with stronger tips.

connectors you’re using, remove them from the side furthest from the ink stripe so it’s still present on the cable.

A good use for RJ45 connectors is for making serial (RS232) programming cables for small embedded systems (many credit card terminals use a DB9 to RJ45 cable to download software from a PC during development).

typical robot needs a heat sink on the power transistors connected to its motors and other actuators, but often does not need a heatsink connected to its CPU.

Gears are mechanical parts with cut teeth designed to mesh with teeth on another part so as to transmit or receive force and motion.

You might use them to transfer rotation from a motor output shaft (coming directly from the motor or from the gear box) to the axle on which the wheels are attached.

Beveled gears are used when you wish to transfer work between two perpendicular shafts that are on the same plane (if the axles were to be extended they would hit).

Designed properly, a built-in safety feature can be obtained: This gear style will self-lock if power is lost to the drive (worm) however this feature doesn't work if the pinion is powered.

The pinion is a spur gear and meshes with a toothed bar or rod that can be thought of as a sector gear with an infinitely large radius of curvature.

Such a mechanism is used in automobiles to convert the rotation of the steering wheel into the left-to-right motion of the tie rod(s).

disadvantage of belts is that since it can slip, the amount of rotation doesn't remain the same, e.g., the input axle may turn 4 times, while the output axle may turn only 3.8 times.

if you intend to use metal or plastic, wood can be handy for various purposes like prototyping and building jigs and other aids in working on metal or plastic parts.

The main reason that you will not see many wooden robots is because wood doesn't seem to fit in the picture of high tech machines.

It's stronger than aluminum, but it's also heavier and harder to work with - in particular, it blunts tools more easily and swarf is always razor sharp.

Composites are only used where weight is a more important factor than price, e.g., airplanes: less weight means less fuel consumption and/or more useful payload.

With careful design, corrugated cardboard is strong enough to hold up full-sized humans ( a b c ).[1][2][3][4][5][6]

Not to mention you've got emulators (A special connector plugged into the MICROcontroller socket which allows a PC to pretend to be the µcontroller) and simulators (simulates the µcontroller on a PC and allows to run its code) to hunt down the bugs.

Providing your robot with a wireless connection (IR, radio, WiFi, bluetooth,...) and a similar interface on the PC reduces the wire-problem to a limited-distance (or in the case of IR a line-of-sight) problem.

Another choice for an OS is the older MS-DOS, although MS-DOS lacks multithreading (but those can be added in your software) and has ugly memory management (remember the 640Kb limit?).

Most of the time these units used scaled down RISC (Reduced Instruction Set Chip) processors to allow for fast execution times and also allow the unit to remain smaller and lighter than your average laptop.

The kit is not really for the complete beginner though as setting up the GNU tools can be quite complicated although the development environment is consequently very rich.

They have excellent bit-manipulating possibilities, and add-on-cards for several special signals as high-speed counters, analog I/O, networks and fieldbuses (RS-232, RS422, RS-485, Ethernet, DeviceNet, Profibus...), pulse output, servo control, etc.

PLCs are available in sizes from approximately 5x5x5 cm (there is a PLC IC available as well, but for the purposes of this book we choose to ignore that fact).

The smallest ones are very limited though, with only a few I/Os and very limited memory, and also very limited instruction set with regards to data processing and calculations.

PLCs are especially suitable if you have a lot of experience of electric systems, but feel intimidated by designing and soldering PCBs and programming computers (i.e., you are an electrician).

They also shine in very large system with many special purpose sensors and outputs, as mostly there will be a standard solution from the manufacturer that is possible to use.

The first has the advantage of large amounts of memory and processing power, however lacks specific outputs that are very handy in robotics, like PWM.

This section doesn't intend to teach the basics of programming, just those points that aren't addressed in most programming tutorials and beginners books.

Though many components for a serious robotics project will almost certainly have to be purchased, the total cost of the project can be reduced by harvesting parts from various electronic and electro-mechanical devices.

The general rule for selection is 'the older, the better,' as newer devices are now dominated by specialized ICs and surface mount components that builders might find difficult to use in their robots.

Additionally, several metal rods and plates contained in the printer may be used as structural parts for the robot, and even the plastic case itself could be used.

Old floppy disk drives and copy machines are also good sources for parts such as stepper motors, optocouplers or microswitches, regular components, machined metal rods and hardware.

However stepper motors from printers and copy machines tend to consume a lot of power and may not be as good for battery operated robots.

Though perhaps other power sources can be used, the main sources of electrical power for robots are batteries and photovoltaic cells.

Alkaline batteries are much cheaper and sufficient for most uses, but lithium batteries offer better performance and a longer shelf life.

Lead acid batteries are relatively cheap and carry quite a lot of power, although they are quite heavy and can be damaged when they are discharged below a certain voltage.

The voltaic pile was constructed from discs of zinc and copper with pieces of cardboard soaked in saltwater between the metal discs.

Most batteries have two terminals on the exterior, one end is a positive end marked “+” and the other end is the negative marked “-”.

Once a load, any electronic device, a flashlight, a clock, etc., is connected to the battery the circuit being completed, electrons begin flowing from the negative to positive end, producing a current.

the battery there is a chemical reaction going on producing the electrons to flow, the speed of production depends on the battery’s internal resistance.

Electrons travel from the negative to positive end fueling the chemical reaction, if the battery isn’t connected then there is no chemical reaction taking place.

Once the battery is connected from positive to negative pole, the reaction starts, that explains the reason why people have gotten a burn when a 9-volt battery in their pocket touches a coin or something else metallic to connect the two ends, shorting the battery making electrons flow without any resistance, making it very, very hot.

A NiMH (nickel-metal hydride) battery pack can store perhaps 100 watt-hours per kilogram, although 60 to 70 watt-hours might be more typical.

Using lead-acid technology, it takes 6 kilograms to store the same amount of energy that a 1 kilogram lithium-ion battery can handle.

And a SMALL chance they could burst into flames (internal short, separator sheet inside battery keeping the positive and negative ends apart gets punctured).

The anode, the positive end, is made of zinc powder because the granules have a high surface area, increasing the rate of reaction and higher electron flows.

This does not work well, because it will not only reduce the motor's speed, it will also reduce a motor's strength, while also consuming a lot of electricity as large amounts of heat are generated by the resistor.

This pulse needs to be repeated with small intervals (otherwise the servo might turn to a 'save' position or it might simply stay at its current position.

Development of such machines has been hampered by actuators and power technology and control schemes that cannot hope to compete with even some of the “simplest” systems found in the natural world.

insects can be found navigating rocky ground, walking upside down, climbing vertical surfaces, or even walking on water. Furthermore,

insects almost instantly respond to injury or removal of legs by altering stance and stepping pattern to maintain efficient locomotion with a reduced number of legs [1]. Given

the ultimate goal of autonomy, this ability to reconfigure locomotion strategies will be crucial to the robustness of autonomous robots [2].

these devices are admittedly much easier to design and implement, they carry with them a set of disadvantages that inhibits their use in military or exploratory applications. Primary

amongst these limitations is the simple fact that wheels, and to a lesser extent treads, are not capable of traversing terrain nearly as complex as that which a legged vehicle is capable of maneuvering over [2]. Even

wheeled and tracked vehicles designed specifically for harsh terrains cannot maneuver over an obstacle significantly shorter than the vehicle itself;

limitation on mobility alone means that in any environment without fairly flat, continuous terrain, a walking vehicle is far preferable to a wheeled or tracked one. Legged

on a wheeled vehicle a damaged wheel could spell the end of mobility, and a damaged caterpillar tread almost always results in catastrophic failure. Finally,

legged vehicles are far more capable of navigating an intermittent substrate—such as a slatted surface—than wheeled vehicles [3].

Given the preceding argument for the use of legged locomotion in certain environments, one is left with the daunting task of actually designing an efficient legged robot. While

Actuator Selection The selection of actuators plays a pivotal role in any mobile robot design, as the shape, size, weight and strength of an actuator must all be taken into account, and the power source of the actuators often provides the greatest constraint on a robot’s potential abilities.

Biological organisms have a great advantage over mechanical systems in that muscle, nature’s actuator of choice, has a favorable force-to-weight ratio and requires low levels of activation energy. Their

importantly, their force-to-weight ratio is far lower than that of pneumatic and hydraulic devices, and in a field such as legged robotics, where weight is of the utmost importance, this makes them unsuitable for many applications. Typically,

electric systems have a power to weight ratio of 50-100 W/kg (including only motor and gear reducer, operating at rated power), whereas fluid systems produce 100-200 W/kg (including actuator and valve weights) [4] and biological muscle, which varies widely in properties, produces anywhere from 40-250 W/kg [5]. In

addition, when trying to take advantage of an animal’s efficient biomechanical design, the drastic difference between the rotary motion of most electric motors and the linear motion of muscle can cause complications.

an advantage that in itself often leads to their use, even given the increased complexity and weight of control valves and pressurized fluid lines required for operation. These

walking motion requires a much larger range of states, and the stiction present in most pressure cylinders makes even coarse position control difficult. Fluid

Braided pneumatic actuators (BPAs) provide a number of advantages over conventional actuation devices, and share some important characteristics with biological muscle. These

however, the braided pneumatic actuator is actually capable of producing greater forces (and thus possesses a much higher force-to weight-ratio) than its heavier counterpart. When

result is a muscle-like contraction that produces a force-length curve akin to the rising phase of actual muscle [8].

an electric motor controller could conceivably become unstable and drive a system until failure of either the structure or the motor, a braided pneumatic actuator driven by an unstable controller is less likely to be driven to the point of damaging itself or the surrounding structure. Because

of this property, braided pneumatic actuators are well suited for the implementation of positive load feedback, which is known to be used by animals including cockroaches, cats and humans [9].

property is of significant importance for useful application of these devices, for although it requires the use of two actuators or sets of actuators at each joint, it allows the muscle-like property of co-contraction, also known as stiffness control. If

an engineering standpoint, this is accomplished by increasing the force produced by each muscle in such a way that the net moment produced at the joint is zero. As

resulting joint can be stiff when needed, such as when bearing weight while walking, or compliant, as in cases of heel strike where compensation for uneven terrain may be needed.

although capable of maintaining stance robustly and cycling its legs in a cockroach manner, to date this robot has not demonstrated smooth locomotion [12].

this robot was significantly easier to control, in large part because the valves allowed air to be trapped inside the actuators, so that joint stiffness could be varied as well as joint position. Using

it is not feasible to capture the full range of motion exhibited by the insect—up to seven degrees of freedom per leg—analysis of leg motion during locomotion suggests that this is not necessary. This

have determined that three joints in the rear legs, four in the middle legs, and five in the front legs are sufficient to produce reasonable and robust walking [7] [14]. The

the insect, the front legs are relatively small and weak, but highly dexterous (Figure 2), and are thus able to effectively manipulate objects or navigate difficult terrain. This

middle legs on the insect play an important role in weight support, and are critical for turning and climbing (rearing) functions;

Robot V, the middle legs have only two degrees of freedom—α and β—between the body and coxa, and retain the single joint between the coxa and femur and the femur and tibia. Finally,

the cockroach uses its rear legs primarily for locomotion, and although these limbs are not as agile as the others, they are larger and much more powerful;

for example, the claws on the rear leg are angled backwards like spines, allowing the foot additional traction when propelling the robot forward.

Each joint is driven by two opposing sets of actuators, allowing for controlled motion in both directions (previous robots have used a single actuator set paired with a spring) [15]. Each

the pressures in opposing actuators can be independently varied, the same joint angle can be achieved using different combinations of actuator pressures;

a result, a joint can be made very stiff by pressurizing both sets of actuators, or very compliant, by pressurizing one actuator only enough to overcome the mass properties of the limb to reach a desired position.

swing actuators need only provide the force necessary to overcome the weight and inertia of the limb, whereas the stance actuators must support not only a significant portion of the entire mass of the robot, but also provide the force necessary for locomotion. This

disparity between operational demands can potentially lead to large, powerful stance actuators and small swing actuators (as can be seen in the human body with powerful quadriceps muscles which maintain stance, and the respectively weaker hamstring muscles, which are used for swing); however,

because of limited options for robot actuator sizes, it is more often the case that the swing actuators are overpowered, whereas the stance actuators are either underpowered or just capable of meeting the demands placed on them. On

Robot V this problem was resolved through the placement of torsion springs at some critical load bearing joints (specifically the coxa-femur and β joints) to provide a bias in the direction of stance. As

a result, the forces required of the stance actuators are significantly reduced while the swing actuators must produce greater forces, but still remain within their operational range.

vast majority of the structural elements were made of 6061-T6 Aluminum, although axles and actuator mounting shafts were made of 1018 steel, and fasteners were made from stainless steel.

Joint ROM Desired ROM β 20° 30° α 25 40 c-f (coxa-femur) 40 50 f-t (femur-tibia) 75 75

These tests were performed at both 5.5 and 6.25 bar, with no significant difference between the results of the two, suggesting that at these pressures the actuators had reached their full contraction. Although

only horizontal support—to prevent tipping—the legs were able to maintain stance while supporting their weight (three kilos) plus the weight of the valves for the actuators (one half kilo) and a gantry element (one kilo) without any pressurized air in the actuators. This

capability, a result of the aforementioned stance bias, clearly demonstrates the ability of these legs to support not only the weight of the robot, but a significant payload as well.

process was repeated with additional payloads (beyond valve and gantry weight) of two and a half and five kilograms using 6 bar air. In

JOINT ROM Front Leg γ 35° β 45 α 25 c-f 40 f-t 75 Middle Leg β 20 α 25 c-f 40 f-t 75 Rear Leg β 25 c-f 50 f-t 80

tests of the robot have shown that it is capable of supporting its weight in a standing position and of achieving stance both unloaded and with a five kilogram payload (Figure 4).

the passive properties of the BPA’s are clearly highlighted in the robot’s ability to return to its desired position after suffering perturbations without the use of any form of active posture control. Using

this is by no means the robust, agile walking that is the ultimate goal of this project, it is a clear demonstration of not only the robot’s capabilities, but also the advantages offered by the BPA’s. The

ability to move using only an open loop controller is in large part a result of the passive properties of the actuators, which provide compensation for any instabilities in the controller itself and immediate response to perturbations without the need for controller intervention.

failure of Robot III is attributed to the inability of both the pneumatic cylinders and posture controller to deal with the sudden changes in load associated with locomotion.

the addition of a biologically inspired closed loop controller in the future, Ajax is expected to display robust, insect-like locomotion.

the mechanics of a system are inextricably linked to its control circuits, Ajax’s controller is expected to benefit from the close relationship between its design and that of the actual insect. This

strain gauges properly placed on the mounting elements of the actuators can produce sufficient force feedback, previous work has shown many desirable characteristics inherent in pressure transducers: they have much cleaner signals, do not require amplifiers, and do not exhibit cross talk;

this requires more weight at distal points of the limb, (thusly increasing the moment of inertia of the limb) and generally reduces the usable available stroke of the actuator. We

have demonstrated that a pressure transducer located down-line from an actuator produces a sufficient signal to determine actuator force.

local to central progression includes circuits that control joint position and stiffness, inter-leg coordination and reflexes, intra-leg gait coordination, and body motion. The

inter-leg coordination circuit solves the inverse kinematics problem for the legs and the centralized posture control system solves the force distribution problem.

This means that an EMF will flow through the solenoid of the actuator to oppose the change in magnetic flux thus an electromagnetic actuator can never fully extend the full length of the rod.

Solenoids use a large amount of power this requires more battery power which in turn requires more battery power to move the robot.

A general rule of thumb is to use a electromagnetic actuators for small operations and for larger operations prehaps consider the use of Pneumatics the output power/weight ratio is usually more favorable.

When a voltage is applied to a material with piezoelectric properties, the material expands or contracts depending on the polarity of the voltage applied.

The concept behind a linear piezo motor is layering a stack of piezoelectric discs that will push on each other and eventually push on a surface at an angle which will propel the object forward.

rotary motor can work in the same fashion as the linear motor, except when you apply this concept at a much steeper angle to an axle, the linear motion is turned into a rotational motion.

By placing piezoelectric motors in oppposing directions operating at frequencies that are slightly out-of-phase, the rotation is slight between the time when piezoelectric motors have the disc in a “hold” state.

The vibrations caused by the piezoelectric material cause the nut to exhibit a “hula hoop” effect to the threads, moving the screw up or downward depending on polarity.

Most of the cylinders in use for hobby robotics are constructed of stainless steel and depending on the type of ram it will either feature one or two ports for compressed air.

If lots of compressed air is required the addition of a compressor into the design may be required however bear in mind that a compressor will consume a large amount of power.

The asymmetry of the human hand and in particular the fact that a rod like object gripped in the hand naturally falls at about

∘

If it only needs to pick up a glass and move towards a goal and put it down again, it would be sufficient to make a gripper that can tilt back (towards the robot).

This can be done through simple sound chips: cheap integrated circuits which allow certain sounds to be played with very few external components.

This is, however, not a continuous process but a discrete process, this means that every x ms the amplitude (voltage or current) of the signal is measured and converted to a digital number.

The price of an ADC depends on precision (how many bits represent the sample) and how many samples it can take per second (there are more parameters, but those are pretty much out of scope for this book).

This is more tricky since it needs a decoder, yet these days integrated circuits with complete mp3 decoders exist, which makes this an interesting method to look for.

The work either with a reference voltage or 'rail-to-rail', which means that their highest digital input value represents a voltage level (almost) equal to the DACs supply voltage.

Demosaicing is perhaps the first step in image processing as it pertains to computer vision due to the fact that this process occurs just after the image is initially captured.

In general, demosaicing is an algorithm that takes the image after being processed by a color filter array (CFA), such as a Bayer filter, and reconstructs a full color image.

The image shown on the left is the output from the CFA and the image on the right shows the reconstructed image using the demosaicing algorithm.

Combining images into a single coordinate system makes it easier to process the data contained in images taken at different times or from different perspectives.

The first of which is intensity based, which uses correlation metrics to compare intensity patterns within the images to combine them.

The other method is feature based, which uses points, lines and contours within the images to combine the images.

the difference between the current image and a stock image that was taken when no cars were present gives a much clearer image depicted where the cars are located.

Some of the simpler tasks that can be accomplished within computer vision are recognizing simple geometric shapes, human faces and fingerprints. Different

The geometric hashing algorithm uses a model image of a particular object such as a computer mouse to see if it is located in a given image.

Such AI can range from simple, as in following particular rules when a specific input is received, through more complicated, as in fuzzy logic rules or simple neural nets, to complicated, as in state of the art machine learning methods.

However, it's mentioned separately from the Subsumption Architecture as it can be used independently in its simplest form to make robots with low intelligence, but high real-time requirements.

If we use this technique, the information will be processed at a very low frequency, providing more time for other real-time processes to run while still doing the work of planning and acting towards the goal.

For example, a hybrid system may make use of a Subsumption Architecture ( w:Subsumption architecture ) for certain dynamic requirements and a Sense-Plan-Act cycle for some other requirements in a static environment.

On first hearing the phrase “swarm robotics” many simply think of basic interactions of robots such as follow the leader or simply data relayed between robots all traveling towards a common goal.

As stated earlier basic swarm robotics includes simple functions such as follow the leader and robot-to-robot interactions such as tag.

However if the same number of ants travel a long trail and a short trail over the same period of time the intensity of pheromones will be greater on the shorter trail.

All four solutions are traveled by the same number of ants but the shorter solutions have a greater intensity of pheromones biasing more ants towards the shorter trails thus eliminating all other solutions and converging on the best fit solution.

Their new velocity vector also includes a random scaling factor to prevent too early of a convergence on an inefficient solution.

Complete webserver-on-a-chip are available these days, and an ethernet network can be a way to connect multiple devices in a robot (and even hook it up to the internet and let people control the robot from all over the world).

Its speed depend on the number of 'lanes' (serial connections) used PCI Express support 1, 2, 4, 8 and 16 lanes.

Note that this port works at a much higher speed than remote controls and therefor standard remote control repeaters may not work reliable for IRDA.

Also, when you have ethernet connectivity in your controller (reasonably low cost but not a standard feature except in certain kits), there are low cost (~€50) WLAN bridges available, such as the D-Link DWL-810+ and DWL-G810.

Total bandwidth in the system is about a megabit per second, with range up to about ten meters (standard Bluetooth, 2.5 mW), or about hundred meters (industrial Bluetooth, 100 mW).

There are limitations on scaling with Bluetooth - it is mostly deployed in 1:1 links even though the standard includes networks with up to 8 active nodes (and even more passive ones).

It is only a viable solution for large-scale geostationary outdoor applications with low communication needs though, because of cost, latency and bandwidth limitations.

Use a level converter to connect the TTL level serial port of the microcontroller with the RS232 level computer serial port and use a little program that handles the accurate timing in the microcontroller and transfers this information to the computer through the serial connection.

(If I think the stacking idea is good, but my robot is too small for PC/104, do you have any tips for picking an appropriate stacking connector, and arranging which electrical signal/power goes where?)

Microcontrollers are low level devices and it is common to program them using an assembly language, this provides a great deal of control over the hardware connected to the controller.

If you wanted to change that software, you would have to pull out the ROM chip, program a new ROM chip (in a 'chip programmer'), and then plug the new chip into the PC.

They can be rewritten with new data, like a memory chip, but permanently, and only a certain number of times (10,000 to 100,000 erase/write cycles).

Radio frequencies are strictly governed and building a transmitter that uses the wrong frequency quickly leads to a fine or worse.

Although today there are modules that contain a full speech recognition system capable of learning a dozen commands, those systems are still very limited as they can't handle sentences (just commands), need to be trained before they are useful and usually can only be used by one person.

Sound can also be used as remote control, generating a tone of a particular frequency isn't hard, building a receiver to detect this tone isn't too difficult either.

When connecting multiple devices, each device is connected to the master with a separate select line and the master selects only one device at a time.

Environment sensors are sensors that detect and interpret things in the outside world (such as obstacles, sounds, and signs) or about the outside world (such as temperature, pressure, and viscosity).

'Temperature: A measure proportional to the average translational kinetic energy associated with the disordered microscopic motion of atoms and molecules.

Kelvin (note it's not degrees Kelvin) temperature scale is used in science and engineering, most formulas containing temperature require Kelvin, unless it involves temperature differences, then one can use both Celsius and Kelvin as the difference between 10 and 20 Kelvin and between 10 and 20°Celsius are equal.

methods use two thin metal strips with different thermal expansion rates fused together and are called bimetal or bimetallic.

Yet another way uses the expansion of gas or liquid or a gas-liquid combination in a closed metal capillary tube system, called gas thermometers and filled systems. Other

ways use the change of phase of some materials, such as paints and pastes whereby their reflectivity or color changes permanently when a specific temperature is reached.

One of the original thermometers, named after Galileo, uses several precision weights in labeled small glass globes, of known volume, all placed in a vertical cylinder of liquid like water, sufficient in size to allow all the globes to fit and with sufficient width to enable the globes to move freely past one another.

As the temperature of the assembly changes, the density of the water changes and the globes assume differing heights in the cylinder according to their density with the globe in the highest position indicating the temperature to be at or below its labeled value.

Thermocouples consist of a pair of wires of different metals connected together at both ends and insulated but kept thermally close to each other over their length.

If one of the wires is opened and the voltage between the open ends is measured with a suitably high impedance voltmeter, a voltage nearly equal to the average relative Seebeck coefficient times the temperature difference between the hot and cold ends will be measured.

Thermoelectric properties of many material combinations have been developed over the past hundred years or so and also have been standardized for several of them, more commonly known by their ISA letter designations, as standard.

Independent of the material, most thermistors are manufactured such that the resistance at room temperature (298.15 K = 25 °C) is one of these preferred values: 1 kΩ, 2 kΩ, 5 kΩ, 10 kΩ, 20 kΩ, 50 kΩ, 100 kΩ, 200 kΩ, 500 kΩ, 1 MΩ.

Several Integrated Circuit (IC) manufacturers, such as Analog Devices, Dallas Semiconductors and National Semiconductors manufacture many variants of the basic diode temperature sensors with additional circuitry to scale the output for use with simple digital display meters.

The popular ear thermometer and low cost 'laser' thermometer of today are variants of the radiation thermometer (pyrometer) that began its development in the 19th Century.

The physical processes at work inside all materials includes emission of electromagnetic radiation that is a function of the temperature and optical properties of an object.

It has stood the test of time as an accurate and reliable theory of thermal emission of radiation and enables instrument designers to develop instruments that can measure temperature without contacting the object that is being measured with remarkable levels of accuracy and repeatability.

the robot contains fluids under pressure (for example, hydraulic systems), pressure sensors can be used to detect faults in the system.

Bourdon gauge uses a coiled tube which causes a rotation of an arm connected to the tube as it expands due to pressure increase.

A wire extension can be added to the switch lever to act as an “antenna”, “feeler”, “whisker”, etc.

The switch can be wired in such a way that when the state of the switch changes, either a “high” (a digital logic 1) is sent to the micro controller or a “low” (digital logic 0) is sent to the micro controller – depending on the application.

The wiring diagram for active high, and active low are shown in figures 1 and 2, respectively.

Under normal or inactive conditions, the whisker wire does not make contact with the loop – thus creating an open circuit.

This circuit could be made to be either active-high or active-low using the schematics shown in figures 1 and 2, by simply replacing the switch contacts with the base and whisker wires.

robot's control system sends the actuator some sort of control signal, and various factors of the environment affect what happens for any given control signal. Feedback

control system specifies the amount of power that should be applied to the motors to make them turn, but their speed is also affected by the amount of load on the motor. In

order for the robot to travel at a constant speed, it is necessary to have a sensor that determines how fast the robot is moving, and adjusts the power level to the motors as needed.

This doesn't mean you just need to know how accurate the sensor is, it means you need to know what part of physics is used, and what the laws of physics say about that.

I'm not going very deep into explaining physics, there are better sources for that (a wiki physics book for example), just enough to give you the idea of what problems you may expect and where to look for a solution.

They consist of a light source, usually an IR diode which signal can be modulated and a light detector, which can be as simple as a light sensitive diode or transistor with an amplification circuit or a more complex IC complete with filters and TTL level outputs.

These sensors consist of an IR emitting diode which signal is modulated, the receiver has a lens to focus the reflected light onto a light sensitive strip.

The second group, called ultrasonic, has a frequency above 20 kHz and an upperbound of 2 MHz in air or 30 MHz in water.

r

c

+

v

r

c

−

v

s

0

T

T

0

To measure a distance the timer triggers the transmitter which emits a series of pulses, then the timer waits until the receiver detects the reflection of the pulses and stops the timer.

While some part of this problem can be solved by letting the sensor wait some time before starting another measurement, other situation can produce incorrect measurements which are fairly tough to correct.

For example moving through a doorway can fail because the sensors emitted pulses bounce from the walls back to the sensor and so giving a measurement that indicates an object in front of the sensor.

3 sensors allow you to go with the majority, but then things become quite complicated in constructing and interfacing such systems, not to mention what it does to the power consumption.

/

2

This is due to the fact that the distance measurements are based on the speed of sound, and over very short ranges the sound travels out and back more quickly than the circuitry can respond.

Because sound propagates as a 3D pressure wave, the sensor actually has a range that resembles a sinc function wrapped around a curve.

For instance, near angled walls the sound waves may bounce several times before returning to the sonar receiver.

If the frequencies of nearby sonar sensors are too similar they may cause false readings since the sensors have no method besides frequency to distinguish pulses it sent out from those other sensors send out.

On the opposite end of the spectrum, a floor with very high acoustic reflection may register as an obstacle when it is really a clear plane.

A photoelectric surface that coats the CCD creates an electric charger when light hits it, and the charge is then transferred and stored in a capacitive bin that sits below the surface of each pixel.[2] The

CCD then functions like a shift register, and transfers the charge in the bin below each pixel one spot over by applying a voltage in a cascading motion across the surface.

The charge that reaches the edge of the CCD is transferred to an analog to digital converter, which turns the charge into a digital value for each pixel.

Each pixel in a CMOS sensor contains a photodetector and an amplifier.[4] The simplest type of CMOS image sensor is the 3T model, where each pixel is made up of 3 transistors and a photodiode. The

In this model the data is gathered in parallel via a shared bus, where all pixels in a column share the same bus, and then the data is sent down the bus one row at a time.

they simply convert the amount of light (regardless of color) to a digital value.[1] There are several different ways to gather color data.

The 2 most common are to use a color filtering array, the Foveon X3 specialized sensor and using a trichroic prism and 3 image sensors.

The full color image can later be recreated by adding the colors from each pixel together to create a full color image.[1] The

Bayer filter uses a pattern of 50% green, 25% red and 25% blue to match the sensitivity of the human eye to the 3 primary colors.

the images have to be reconstructed and you only know one of the colors in each pixel, some of the image fidelity is lost in the process of image reconstruction called demosaicing.

main problem with using a filter is that it reduces the amount of light that reaches each photodetector, thus reducing each pixel’s sensitivity to light.

This can cause problems in low-light situations because the photodetectors will not receive enough light to produce a charge, resulting in large amounts of noise.

This resulted in a greater effective speed and higher sustained data transfer rates than USB, which are needed for audio and video streaming.

Or, robo-centrically, where am I, keeping in mind that 'here' is relative to some landmark (usually the point of origin or the destination) and that you are never lost if you don't care where you are.

The most important factor is picking an algorithm to find the robotic location is the availability of accurate relative and global position data.

For simple systems with basic relative position sensors and some form of a global position sensor, the most practical and easiest to implement localization method is that of Least Mean Squares.

These goals for robot localization are applied to the LMS algorithm by adaptively adjusting weights to minimize the error between the actual function and the function generated by the LMS algorithm.

As a subset of the Steepest Descent Algorithm (http://en.wikipedia.org/wiki/Gradient_descent), this method was created to minimize the error by estimating the gradient (http://en.wikipedia.org/wiki/Gradient) and is known as the simplest localization method with global position output.

The following are examples of problem that can be classified as sparse problems: pattern matching, cluster analysis, and surface fitting [2].

In general, the Iterative Method is used for analysis of under-determined, sparse problems to compute a minimum solution based on the norm of the input data [2].

However on small terrains or indoors the GPS's inaccuracy becomes a problem and the dead reckoning and sensor data becomes the dominant factor in determining the location.

The complex versions of line-following involves using sensors like vision (camera) which helps reducing overall cost of sensors and implementation and also provides versatility to detect lines of various colours.

With robots having greater and greater importance in our everyday lives, it is no wonder that collision avoidance (particularly dealing with human safety) is becoming an increasingly greater concern.

Collision detection is simply the act of surveying the known vicinity of the robot and detecting the presence (or absence) of a possible collision.

A quad tree is similar to that of a binary tree except that a quad tree has four child nodes for each parent instead of just two.

Each square simply acts as a binary answer to the question, “Is there any possibility for a collision inside of this square?” If the answer is yes, then the square is avoided, otherwise, the square is noted for safe travel.

An advantage to using this algorithm is that retreating can be done fairly easily – by climbing back up the tree and trying a different approach.

Of course, in a case where all of the obstacles have been found, a minimal path can easily be created using simple distance algorithms.

disadvantage to using this algorithm is that, due to the granularity of each square of pixels, it is possible for the obstacles to be close enough such that a robot wouldn’t notice that it could actually fit through a gap.

Essentially trajectory planning encompasses path planning in addition to planning how to move based on velocity, time, and kinematics.

If the number of controllable degrees of freedom are greater than or equal to the total degrees of freedom a robot is said to be holonomic.

Whereas in three dimensions a robot's configuration would be described by coordinates (x, y, z) and angles (α, β, γ).

Computing the shape of Cfree is not efficient, however computing if a given configuration is collision free is by simply using kinematics and collision detection from sensors.

Artificial potential fields can be achieved by direct equation similar to electrostatic potential fields or can be drive by set of linguistic rules.[3]

One potential tradeoff with this method is with a lower resolution grid(bigger pixels) the search will be faster, however it may miss paths through narrow spaces of Cfree.

In addition as the resolution of the grid increases memory usage increases exponentially, therefore in large areas using another path planning algorithm may be necessary.

examples of hazardous environments would be nuclear reactors, outside earth’s atmosphere, and even behind enemy lines in war.

One of the missions was to “demonstrate a simple, low-cost system, at fixed price for placing a science payload on the surface of Mars at 1/15 the Viking price tag” (jpl.nasa).

This is cheaper because going to Mars for humans would require the space shuttle to carry food, oxygen, be able to stand the extreme temperature differences, and especially, be safe enough to carry humans.[10]

The Hubble telescopes purpose is to provide “unprecedented deep and clear views of the Universe, ranging from our own solar system to extremely remote fledgling galaxies forming not long after the Big Bang 13.7 billion years ago” (hubble).

This is a great example of hazardous environment because the Hubble has been taking pictures since 1990 and aside of a few repairs, it has lasted a lot longer than was originally expected to last. [29]

Another application is in nuclear environments such as the aftermath of Chernobyl which a disaster that was cause by a nuclear reactor that released a large amount of radioactivity into the environment followed power explosion which destroyed the reactor.

The Pioneer is a robot that was built to withstand the radioactive environment in order to deploy sensors, sampling payloads, map the environment in 3D, and cut and retrieve samples of structural materials.

“The suitcase-portable robot [Talon Sword] is controlled through a two-way RF or F/O line from a portable or wearable Operator Control Unit (OCU) that provides continuous data and video feedback for precise vehicle positioning” (globalsecurity).

The Predator is a UAV that was developed originally in 1996 and main purpose is to be used in armed reconnaissance, airborne surveillance, and target acquisition (af.mil).

And even though a robot that is built to perform in these hazardous environments cost anywhere from a couple hundred thousand to a couple hundred million, no robot cost is worth more than a human’s life.

logic circuitry, and other things may be located either on the main chassis or connected via a cable tether or wireless link from another location.

Melexis Safety Trophy has tin cans with small candles inside and concrete bricks as obstacles and tennis balls (which the robot had to touch) for extra points. Another

They can be simple robots that use simple sensors (light sensor, sound, bumper switches) and have simple behavior, but they could as well have complex sensors and extensive programming.

SCARA robots have two parallel rotary joints to allow full movement throughout a plane, typically for pick-and-place work.

Parallel robots have three concurrent prismatic or rotary joints, and allow for tilting of heavy or sensitive platforms.

Repetitive autonomous robots perform one task repeatedly based upon predetermined movements and specifically located objects.

If object orientation or position is unknown, arms are often paired with machine vision and artificial intelligence to identify the object and subsequently control the arm.

There is a large variance in complexity, ranging from flush mounted, non-moving parts (magnets or sticky pads) to multi-jointed, multi-sensor parts with various inputs and outputs.

2006 Japanese report shows that 60% of robotic arm installations were for articulated robots, 22% were for gantry, 13% were SCARA, and 4% were Cylindrical.

The automobile industry has the highest concentration of industrial robots with nearly 1 robot per 10 people.

Their prototype arm uses ten of these cord systems with two motors attached to each (the second acts as a failsafe for increased safety).

This design is simpler than using treads or legs and by using wheels they are easier to design, build, and program for movement in flat, not-so-rugged terrain.

Disadvantages of wheeled robots are that they can not navigate well over obstacles, such as rocky terrain, sharp declines, or areas with low friction.

The center of gravity of the robot body is kept below the axle, usually this is accomplished by mounting the batteries below the body.

A tilt sensor that is used to determine tilt angle and wheel encoders which keep track of the position of the platform of the robot.

It was unique because of its motorcycle design, unlike the other two-wheeled robots, the wheel alignment is front and back, which makes it harder to balance as it turns.

3-wheeled robots may be of two types: differentially steered (2 powered wheels with an additional free rotating wheel to keep the body in balance) or 2 wheels powered by a single source and a powered steering for the third wheel.

In the case of differentially steered wheels, the robot direction may be changed by varying the relative rate of rotation of the two separately driven wheels.

An omni wheel is like many smaller wheels making up a large one, the smaller ones have axis perpendicular to the axis of the core wheel.

This allows the wheels to move in two directions, and the ability to move holonomically, which means it can instantaneously move in any direction.

Some omni wheel robots use a triangular platform, with the three wheels spaced at 60 degree angles.

Advantages of using 3 wheels and not 4 are that its cheaper, and 3 points are guaranteed to be on the same plane, so each wheel in contact with the ground, but only one wheel will be rotating in the direction of travel.

The disadvantages of using Omni wheels is that they have poor efficiency due to not all the wheels rotating in the direction of movement, which also causes loss from friction, and are more computationally complex because of the angle calculations of movement.

More stable than the three wheel version since the center of gravity has to remain inside the rectangle formed by the four wheels instead of a triangle.

Still it's advisable to keep the center of gravity to the middle of the rectangle as this is the most stable configuration, especially when taking sharp turns or moving over a non-level surface.

This system does have an advantage over previous methods when your robot is powered by a combustion engine: It only needs one motor (and a servo for steering of course).

The previous methods would require either 2 motors or a very complicated gearbox, since they require 2 output axles with independent speed and direction of rotation.

when more powered wheels are used the design becomes much more complex as each of the wheels have to turn with the same speed when the robot has to move forwards.

Differences in speed between the left and right wheels in differentially steered robots cause the robot to move to the side instead of in a straight line.

They have a suspension system which keeps all six wheels in contact with the surface, and helps them traverse slopes ans sandy terrain.

An example sketch shows the basic idea of using gyroscopes and counter-torque mechanisms to keep the robot upright.

Had he meant us to roll, he might also have given us wheels – but instead we, along with the great preponderance of land animals great and small, have wound up traveling on legs.”[33]

While this technique has been successfully used to create many robots (included wheeled ones), it is more akin to wheeled movement than true dynamic walking and as such retains fewer of the advantages.

While more adept at transversing uneven terrain than most wheeled robots, robots that use static walking are very inefficient as power is put into every movement.

Robots utilizing dynamic walking cannot use the same motions at different speeds to attain different speeds of movement, but must use entirely different motions at different speeds.

Most dynamic walking systems use active control to move the legs to the correct orientations for walking (hence active dynamic walking).

Passive dynamic walking is characterized by a system where “gravity and inertia alone generate the locomotion pattern.” [36] Passive dynamic movement can be achieved with maximum efficiency, as the vehicle uses its own forward momentum to propagate its next movement.

This is due to the fact that a robot using this many legs can be controlled with static walking techniques rather than dynamic walking.

There are many different ways for a four legged robot to walk including alternating pairs and opposite pairs as in six legged robots.

Boston Dynamics has developed a four legged robot for DARPA (Defense Advanced Research Projects Agency) called “Big Dog,” that they claim is “the most advanced quadruped robot on earth.”[37] Big Dog can run at four miles per hour, climb thirty five degree slopes, and carry 340 pounds.

However, researchers at Virginia Tech’s RoMeLa lab have developed a three legged robot STriDER that uses a “revolutionary” passive dynamic walking technique.

STriDER sways until it can lift one leg, and using the other two as an A-frame, swing it in between the other two “stance” legs moving forward at a sixty degree angle.

Further complexity can be added to the model by using knee joints to shorten the legs (allowing one to swing past the other without touching the ground) and ankle joints that can provide a “spring” to the step to add lost energy back into the system.

“RunBot,” developed in Germany and Scotland, broke the speed record per size for a robot in April 2006 by walking at 3.5 leg-lengths per second.[38] The Cornell Ranger, while not truly passive, is passive inspired and one of many robots that has more than two legs but is still classified as bipedal.

On April 3, 2008 Ranger walked 9.07 kilometers without stopping, an unofficial record at that time (it has since been surpassed, according to the Cornell team, by Boston Dynamic’s Big Dog).[39]

Their most recent model, ASIMO, is one of the few bipedal robots that appears humanoid, can climb stairs, and carries its own power supply.

Researchers were able to build a 3-D One-Leg Hopper that “hopped in place, traveled at a specific rate, followed simple paths, and maintained balance when disturbed.”[41] They also constructed a hopper named Uniroo that used an actuated tail to maintain its balance.[42]

This is similar to the way plants, animals or humans are consisting of many cells, which are practically identical, with the difference that specification would happen in software rather than in chemical composition.

Most people are familiar with the fact that sufficient quantities of clay bricks (architectural bricks) or Lego bricks can be used to approximate nearly any shape, and so our introduction to modular robotics was in terms of cubes. Instead

Legos have become a popular robotics resource, primarily as an educational tool, but also as building materials for fast and easy prototyping.

With a basic kit of parts, many different robotic machines and mechanisms can be created, tested, modified, disassembled and recreated easily without any damage to the building materials.

Because of the popularity of Legos, there is also a huge wealth of third party resources available – hardware, software, instructional material, and challenges.

The origins of the Lego Mindstorms Robotics kits trace back to Seymour Papert’s book Mindstorms: Children, Computers, and Powerful Ideas, in which Papert proposed that rather than using computers to provide exercises for children – “the computer programming the child”, the situation should be reversed and the child given control – “the child programs the computer”.

Papert thought that in this way, the child would gain a more active role in building his own knowledge in response to a recognizable personal purpose rather than simply listening to explanations.

After co-founding the MIT Artificial Intelligence Lab, Papert developed the programming language “Logo” as a tool to enable children to use simple instructions to control robotic ‘turtles’.

This brick was programmed using a Logo based software but was not required to be connected to the computer with wires and so was able to be more mobile.

Mindstorms robotics kits quickly became an extremely popular educational resource, being used for robotics classes and competitions around the world.[2]

The NXT has an extra sensor port and Bluetooth communication and the basic kit adds an ultrasonic sensor as well as built-in rotation sensors on all the motors.

A new competition board is created each year with theme-based tasks for the robots to accomplish within a set time limit.

The versatility of the LEGO system, and the added sophistication you get with scripting languages has meant other people have developed their own programming languages to control the RCX, namely,

How to Make a Gesture Control Robot at Home

Learn- How to make an Arduino Based Gesture control robot. the accelerometer detects movement and wirelessly operate robot using the RF433 module.

Arduino Robot Car with Speed Sensors - Using Arduino Interrupts

Get full instructions and Arduino sketches at More info at Finally back with another video! In this video I will .

The Cubli: a cube that can jump up, balance, and 'walk'

The Cubli is a 15 × 15 × 15 cm cube that can jump up and balance on its corner. Reaction wheels mounted on three faces of the cube rotate at high angular ...

Arduino Robot Project: A DIY obstacle avoiding robot using an SG90 servo from Banggood.com

In this Arduino project video, we are going to build an Arduino Robot that can avoid obstacles. It is a fun project and a great learning experience, so without any ...

Obstacle Avoiding Robot 4WD with Source Code | Arduino Project

In this tutorial, you will make obstacle avoiding robot. This tutorial involves building a 4WD robot with an ultrasonic sensor that can detect nearby objects and ...

Robotics Workshop by Thames & Kosmos

Build and program robots with this complete robotics engineering ..

Two Wheeled Autonomous Balanced Robot Based on Linear Quadratic Gaussian Control

This project demonstrates the development of a low cost high performance indoor prototype Segway in terms of a two-wheeled self-balancing robot. To build the ...

Adventures in Science: How to Use Rotary Encoders

Rotary encoders are useful tools for measuring rotation on a shaft. They come in many different forms, including optical, mechanical, and magnetic. In this video ...

Automated Board Handling System with FANUC Palletizing Robot - MCRI

Board palletizing system: This sheet and board handling robot cell was designed by ..

Voice and gesture controlled mecanum wheel robot

Testing mobile robot controlled by gesture and voice. The APDS-9930 Gesture Detection Attitude Sensor - was used in this project. Mini IP ..