Wednesday, October 1, 2008

Photo Roller n Photovore

This is in regards is what to be told to the biggest solar bots competition in India , this is for all those who did not attend the costly workshop conducted by robosoft in co ordination with iit bombay.

The two solar bots competition photovore n photoroller , uses only solar enrgy as the power source over here the power being given by a 500 w bulb .
In photoroller which is the prelims of techfest known as nexus ,u need to travel 1 meter straight .
The problems faced by me were i didnt buy proper dimensions solar cell which gave me lot of problems , like voltage supply n dimensions.

First thing to keep in mind when buying the solarcell is to fit in proper dimensions , n mind the weight of it .Next coming to the ratings of the solarcell , thinking taking higher voltage rated solarcell wuld give me more power then have in mind tat it completely depends on intensity of light falling on the solarcell n the area of the solarcell. I took a solarcell of 6v 120 mA having a dimension of 16x8cm , which was very big n had a problem in fitting it on to the bot.
By looking at other peoples bot , i decided to use a 4v 90mA rated solarcell having a dimension of less than 100cm^2 . The position of the solarcell has to be considered also , like tilting it towards the soalrenergy wuld give more power , bcz in the round of photovore the solarlamp is not perpendicular so there wuld be a problem over there.

Checking the solarcell:
When u first buy a solarcell of ny rated voltage try to hold in it in the sunlight , n check it out wth the help of a 2v rated motor , prefarable timing wuld be in the afternun when there is more sunlight. It wont move wth very high speed but still u will understand some thing.

As the output power tat comes from the solar cell is of arnd 4 v it wont be able to drive the regular 12v motor, not even an inch, the only motors over here tat u can use it is the 9v 10 mA rated taperecorder motor, though 9v it can run at 1.5v wth gud speed.The speed of this motor wuld be arnd 1200rpm which means u will get zero torque.
The final thing on motors is use a taperecorder motor which runs easily at 2 v also , and try to remove the outerlayer of the motor this reduces the weight of the motor.

The general method which people build for solarbots is they hang thier motors at an angle of 45degrees , wth shaft touching the ground as seen in this picture .
The shaft of the motor has been wounded round by a rubber so there is a litle bit of friction to move.

But i used a toy which i got it for 50 rs it had a gear mechanism which made the output speed to come close to around 300 rpm , which also means i will be getting higher torque now . As one wld need to win the competition , one needs gud speed n not doing the traditional solarbots way try to use the gearbox of toycars only , which will give gud speeds n torque.
Now coming to make the motors run with the help of the solarcell . First thing is solarcell doesnt store charges n hence you cant directly connect the terminals of the solar cell to the motor, though it runs sometimes (only under sunlight n tat too at noon) . You wuld be needing a component which will store this charges n send them out instantaneuosly n hence you use a capacitor over here . The general rating of the solarcell is 4700 uF capacitor (25v ) . The capacitor stores charges upto the max limit of it n then discharges out only when u connect a motor, IT WILL DISCHARGE OUT ONLY WHEN U CONNECT THE MOTOR , CAPACITOR ACTS AS OPENCKT WHEN THERE IS NO LOAD. So u cant directly connect the motor to the capacitor bcz u wont be removing one terminal of the motor n then fixing it back . General type of ckts tat people use are :

How it Works(The FLED SE)?

First of all you should know these facts

1. In a NPN transistor current flows from emitter to collector. For this N(emitter) should be negative, P(base) should be positive and N(collector) should be negative.

2. In a PNP transistor current flows from collector to emitter. For this P(emitter) should be positive, N(base) should be negative and P(collector) should be positive.

3. Certain components like Flashing LED's , LED's etc. let current flow through them only at a particular voltage across their terminals. Let us call these components trigger elements.

In Detail

The need to use a capacitor in the solar engine arises out of the fact that the solar cell doesn't generate enough current or charges at an instant to overcome the resistance of the motor and run it efficiently. So sufficient charges are stored in the capacitor and are then discharged to the motor whenever required.

As you can see the capacitor is charged by a solar cell and continues charging till the maximum voltage of the capacitor or the solar cell (whichever is minimum) is reached, if no connections are made to the capacitor.

Let us assume that the motors used in the solar cells work most efficiently when supplied with 3 volts. So the solar cell must be capable of generating minimum 3 volts and the capacitor must also be able to store charges up to more than 3 volts.

If the motor is directly connected across the capacitor the stored charges are immediately discharged to the motor and hence the capacitor has no significance. Hence we need a circuit that will automatically discharge the energy in the capacitor to the motor when the charge in capacitor has reached the required level to run the motor efficiently.This is accomplished using the transistors, FLED and the resistor.

Charges build up in the capacitor starting from 0 volts. The base and the emitter of the PNP are positive (emitter +ve directly through the positive terminal of the cap and base through the resistor and the motor). Since both base and emitter are +ve the PNP transistor doesn't work (current doesn't flow from collector to emitter).

The PNP doesn't work until the voltage across the cap equals trigger voltage of the FLED or LED or diode. At this voltage the current flows through the trigger element. Since current flows through the trigger element ,not to the base of the PNP, the base of the PNP becomes negative. Hence the PNP conducts and current flows from the collector to emitter

Similarly the NPN doesn't conduct as the emitter(N) is negative( through the -ve of the cap) and also the base is negative. For the NPN to work current must flow from emitter to collector. For this the base must be positive. Such a situation arises only at the trigger voltage of the diode when the PNP conducts and thereby makes the base of the NPN positive. At this point current from the capacitor flows through the NPN to the motor and causes it to rotate.

Even if the voltage across the cap falls to less than the trigger voltage and the base of the PNP becomes positive, the motor continues to rotate.The rotation continues until the motor resistance becomes high enough to prevent further discharge of the capacitor. Now the voltage in the capacitor again rises until it reaches the trigger voltage of the trigger element and the above cycle repeats.

Upon notice, the starting of the motor is controlled by the trigger voltage of the trigger element and the stopping of the motor is determined by the resistance of the motor( 2 independent factors). Hence the solar engine acts like a silicon controlled rectifier (SCR).

Some links :





Monday, July 21, 2008

Voice controlled robot

Circuit operation:

This device beeps intermittently for approx. two seconds when a person in a range of about 10 meters emits a whistle.
The first two inverters contained in IC1 are used as audio amplifiers. IC1A amplifies consistently the signal picked-up by the small electret-microphone and IC1B acts as a band-pass filter, its frequency being centered at about 1.8KHz. The filter is required in order to select a specific frequency, the whistle's one, stopping other frequencies that would cause undesired beeper's operation. IC1C is wired as a Schmitt trigger, squaring the incoming audio signal. IC1D is a 2 second (approx.) monostable driving the astable formed by IC1E & IC1F. This oscillator generates a 3 to 5Hz square wave feeding Q1 and BZ1, thus providing intermittent beeper's operation.


  • Power supply range: 2.6 to 3.6 Volts.

  • Standing current: 150΅A.

  • Depending on dimensions of your box, you can choose from a wide variety of battery types:

  • 2 x 1.5 V batteries type: AA, AAA, AAAA, button clock-type, photo-camera type & others.

  • 2 x 1.4 V mercury batteries, button clock-type.

  • 1 x 3 V or 1 x 3.6 V Lithium cells.

Instead of the buzzer drive the motors, connect the inputs of an L293D inplace of BZ1 and thats it , it can move with u r voice , but u cant make it drive right or left.

If u want more help , plz ask me .

Monday, June 30, 2008

Robot tat acts like Rat

ScienceDaily (Feb. 21, 2005) — Robots that act like rat pups can tell us something about the behavior of both, according to UC Davis researchers.

This robot was designed with the same basic senses and motor skills as a rat pup. (Sanjay Joshi/UC Davis photo).

Bug Robot

Mechanical Engineers Have New Bug-Inspired Robot That Senses Its Way With Flexible Antenna.

July 1, 2005 — Researchers have developed a flexible, sensor-laden artificial antenna to help a robotic "bug" move and navigate just like the common cockroach. The bug can curry along walls, turn corners, avoid obstacles, and feel its way through the dark. In rescue operations, such robots could be sent to explore collapsed buildings and other situations that could pose hazards or just be inaccessible to humans.

HOW IT WORKS: Most robotic vehicles designed to navigate dangerous terrain rely on artificial vision or sonar systems to find the safest path. But robotic "eyes" don't operate well in low light and sonar can be confused by polished surfaces. The Johns Hopkins University scientists have turned to touch, inspired by how bugs use this sense to navigate dark rooms with varied surfaces. Just like a cockroach's antenna, the artificial version sends signals to the electronic brain of a wheeled robot, enabling the machine to scurry along walls, turn corners, and avoid obstacles in its path.

The antenna is made of cast urethane, a flexible substance that resembles rubber, encased in a clear plastic sheath. It contains six strain gauges, sensors that change resistance as they are bent. The device has been calibrated so that certain electric voltages correspond to certain bending angles as the antenna touches the wall or some other object. This data is fed to the robot's controller, enabling it to sense its position in relation to the way and to maneuver around obstacles. For instance, when the antenna signals that the robot is moving too close to a wall, the controller steers it away.

WHAT IS SWARM INTELLIGENCE: Building "swarms," of robotic insects that work together to adapt to their environment is part of "evolutionary robotics": creating machines that are digitally "bred" to evolve themselves. Swarm intelligence is the notion that complex behavior can arise from large numbers of individual agents each following very simple rules. For example, ants follow the strongest pheronome trail left by other ants to find the most efficient route to a food source, through a process of trial and error. A chunk of the plot in Michael Crichton's novel Prey was inspired in part by an experiment in which a fleet of robotic predators were programmed to seek out "prey" to get their next energy boost. The mechanical "prey," in contrast, were programmed to "graze" on special light sources and to keep alert for potential predators. The respective robots evolved increasingly complex hunting and escape strategies as the swarms of robots accumulated more and more data (in the form of experience) on which to base their decisions.

sciencedaily.com for more info.

Grass Hopper Inspired robot

About the size of a locust and weighing on 7 grams, this tiny robot can jump 27 times its own size.

Grasshopper-Inspired Jumping Microrobot Can Make Staggering Leaps

ScienceDaily (May 22, 2008) — Researchers from the Laboratory of Intelligent Systems at EPFL are unveiling a novel, grasshopper-inspired jumping robot at the IEEE International Conference on Robotics and Automation May 21 in Pasadena, California. The robot weighs a miniscule 7 grams, and can jump 1.4 meters, or more than 27 times its body size -- ten times farther for its size and weight than any existing jumping robot

Wall climber (Robotics News)

Researchers have designed a robot that uses a novel form of electrically activated adhesion to enable it to scale any kind of vertical surface. The robot can even climb surfaces that are dusty or wet, be they concrete, glass, or drywall.

"What's really unique about this is the technology, not the robot," says Harsha Prahlad, senior mechanical engineer at SRI International, a nonprofit research organization based in Menlo Park, CA. There are other robots that can climb walls. But these have usually involved using microscopic fibers designed to mimic the function of the hairlike setae that give geckos their remarkable sticking power, Prahlad says.

In contrast, SRI's robot works by inducing electrostatic charges in the surface of a wall. The advantage here is that the adhesive climbing surfaces of the robot can be turned off, making movement much simpler, says Prahlad. It also makes the robot's adhesive surfaces self-cleaning, he says, thereby avoiding any gradual buildup of dust and dirt that would ultimately reduce the adhesion.

Tests have shown that the robot is capable of generating 1.5 newtons of sticking force per centimeter square of contact with a wall. Presenting his results at this year's International Conference on Robotics and Automation, in Pasadena, CA, Prahlad showed that the robot was able to scale walls while carrying weights of up to 75 pounds.

"It's an interesting and robust approach," says Metin Sitti, a mechanical engineer at Carnegie Mellon University, in Pittsburgh, who has been working on wall-climbing robots for some time. However, he says, the forces generated are just one-tenth as strong as is currently being seen when the gecko-inspired approach is used.

On the plus side, however, the simplicity of Prahlad's approach should make it easier to apply to human wall-climbing applications, says Nicola Pugno, a professor of structural mechanics at Turin Polytechnique, in Italy, who has been working on a sort of Spiderman suit using nanotube-covered adhesive surfaces.

"There is no fundamental reason why you can't scale this up to, say, 200 pounds," says Prahlad. So with a suitable interface, it should be possible to allow a human to use this technology to climb walls, he says. However, such a system would require large pads to increase the surface contact of a person's hands. Otherwise, there would not be enough sticking power to support his or her weight, says Prahlad.

The attractive forces that create the adhesion come from electric fields generated by positive and negative electrodes within the surface pads of the robot, says Prahlad. When a high voltage is applied to these electrodes, positive and negative charges build up, which, in turn, attracts opposite charges from the surface of a wall near the electrodes

Sunday, June 29, 2008

Simple line follower using logic gates

This is a simple line follower using two sensors and without a microcontroller. We use here two types of logic gates and Lm 324 for the sensors. Two "OR" logic gates and one "Ex-OR" logic gates.The relay is used to run motors , can be replaced with motor driver L293D .

The ckt is self xplanatory , if u want to know the logic of its wrkng r have problem in understanding , wat its logic is , ask me and I will help you.

Wednesday, June 18, 2008

IR sensors From Scratch + Line follower

IR emitter and IR phototransistor
An infrared emitter is an LED made from gallium arsenide, which emits near-infrared energy at about 880nm.
The infrared phototransistor acts as a transistor with the base voltage determined by the amount of light hitting the transistor.
Hence it acts as a variable current source. Greater amount of IR light cause greater currents to flow through the collector-emitter leads.
As shown in the diagram below, the phototransistor is wired in a similar configuration to the voltage divider.
The variable current traveling through the resistor causes a voltage drop in the pull-up resistor.
This voltage is measured as the output of the device

IR reflectance sensors contain a matched infrared transmitter and infrared receiver pair.
These devices work by measuring the amount of light that is reflected into the receiver.
Because the receiver also responds to ambient light, the device works best when well shielded from abient light,
and when the distance between the sensor and the reflective surface is small(less than 5mm).
IR reflectance sensors are often used to detect white and black surfaces. White surfaces generally reflect well,
while black surfaces reflect poorly. One of such applications is the line follower of a robot.

Schematic Diagram for a Single Pair of Infrared Transmitter and Receiver

To get a good voltage swing , the value of R1 must be carefully chosen. If Rsensor = a when no light falls on it and Rsensor = b when light falls on it. The difference in the two potentials is:

Vcc * { a/(a+R1) - b/(b+R1) }
Relative voltage swing = Actual Voltage Swing / Vcc
= Vcc * { a/(a+R1) - b/(b+R1) } / Vcc
= a/(a+R1) - b/(b+R1)

The resistance of the sensor decreases when IR light falls on it. A good sensor will have near zero resistance
in presence of light and a very large resistance in absence of light. We have used this property of the sensor to form a potential divider. The potential at point ‘2’ is Rsensor / (Rsensor + R1). Again, a good sensor circuit should give maximum change in potential at point ‘2’ for no-light and bright-light conditions. This is especially important if you plan to use an ADC in place of the comparator

To get a good voltage swing , the value of R1 must be carefully chosen. If Rsensor = a when no light falls on it and Rsensor = b when light falls on it. The difference in the two potentials is:
Vcc * { a/(a+R1) - b/(b+R1) }

Relative voltage swing = Actual Voltage Swing / Vcc
= Vcc * { a/(a+R1) - b/(b+R1) } / Vcc
= a/(a+R1) - b/(b+R1)

If the emitter and detector (aka phototransistor) are not blocked, then the output on pin 2 of the 74LS14 will be high (apx. 5 Volts).
When they are blocked, then the output will be low (apx. 0 Volts). The 74LS14 is a Schmitt triggered hex inverter.
A Schmitt trigger is a signal conditioner. It ensures that above a threshold value, we will always get "clean" HIGH and LOW signals.
Not Blocked Case: Pin 2 High Current from Vcc flows through the detector. The current continues to flow through the base of Q2.
Current from Vcc also flows through R2, and Q2's Drain and Emitter to ground.
As a result of this current path, there will be no current flowing through Q1's base.
The signal at U1's pin 1 will be low, and so pin 2 will be high. Blocked Case: Pin 2 Low Current "stops" at the detector.
Q2's base is not turned on. The current is re-routed passing through R2 and into the base of Q1.
This allows current to flow from Q1's detector and exiting out Q1's emitter. Pin 1 is thus high and pin 2 will be low.
To detect a line to be followed, we are using two or more number of poto-reflectors.
Its output current that proportional to reflection rate of the floor is converted to voltage with a resister and tested it if the line is detected or not.
However the threshold voltage cannot be fixed to any level because optical current by ambent light is added to the output current.
Most photo-detecting modules are using modurated light to avoid interference by the ambient light.
The detected signal is filtered with a band pass filter and disused signals are filtered out.
Therefore only the modurated signal from the light emitter can be detected.
Of course the detector must not be saturated by ambient light, this is effective when the detector is working in linear region.

The line position is compeared to the center value to be tracked, the position error is processed with Proportional/Integral/Diffence filters
to generate steering command. The line folloing robot tracks the line in PID control that the most popular argolithm for servo control.
The proportional term is the commom process in the servo system. It is only a gain amplifire without time dependent process.
The differencial term is applied in order to improve the responce to disturbance, and it also compensate phase lag at the controled object.
The D term will be required in most case to stabilize tracking motion. The I term that boosts DC gain is applied in order to remove left offset error,
however, it often decrease servo stability due to its phase lag.
When any line sensing error has occured for a time due to getting out of line or end of line, the motors are stopped and
the microcontroller enters sleep state of zero power consumption.
Typical Examples of infrared Transmitter and Receiver installation

Tuesday, June 17, 2008

Maze Solver n Wall Follower .

A simple wall follower has to navigate easily following the wall , that is when evr there is a turn (perfect 90 degree as by the wall) the bot shuld also take a turn . Take a look at this picture .

First question which comes to your mind is how many sensors do one wuld need ?? . Wuld we need a micrcontroller .

Well we can make this by using only two sensors , and there is no need of a micrcontroller also.


We wuld be using 2 sensors one at the rite and the other at the center .

(Left sensor- high ----------and center sensor- high

move fwd)

(Left sensor-low ----------and center sensor-high

take left)

(Left sensor-high ----------and center sensor -low
take rite).

Use a K map with the above conditions and get the logic circuit .
Connect the sensors to the input of u r logic and H bridge at the output.
Use motors of 60rpm nt faster than tat .

If u want more help plz ask.


All color sensors work on the basic principle that when light of some color falls on an object , if the object is of same color as of the led , then the object absorbs that color which means there is no reflection.

We would be making the ckt in the same way as we did for the IR led detector ckt , but we wuld be using LDR for our detection purpose , (IR cant be used as they catch only IR waves) , and in place of the IR transmitter we wuld be using three leds of red, blue and green.

Light up each of the leds one at a time , ie red , then blue n green , if the obstacles are of red blue and green colour then you wuld be getting different outputs ( REMEMBER VIBGYOR) .

With micrcontrollers , lit up the red led if there is reflection take the ADC reading
do the same for other leds and take thier ADC reading , we will know which colour its detecting.
One sensor wuld be lit up always .

Use a potentiometer with each of the LEDs to get a better reading , as there wuld be slight color difference .The circuit will be the same as for the ir sensor which i have explained in my previous post , with litlle changes .Hope u njyd it

Monday, June 16, 2008


So, you've fitted some motors to your robot and its happily driving around but it probably keeps colliding with obstacles and getting stuck. You need a way for your robot to detect collisions and move around objects. Enter the humble bump sensor:

A bump sensor is probably one of the easiest ways of letting your robot know it's collided with something. The simplest way to do this is to fix a micro switch to the front of your robot in a way so that when it collides the switch will get pushed in, making an electrical connection. Normally the switch will be held open by an internal spring.

Micro switches are easy to connect to micro controllers because they are either off or on, making them digital. All micro controllers are digital, so this is a match made in heaven. Micro switch 'bump' sensors are easily connected to the Robocore, simply plug them into any free digital socket and away you go.

The following diagram shows a typical circuit for a micro switch bump sensor. The resistor is important because it holds the signal line at ground while the switch is off. Without it the signal line is effectively 'floating' because there is nothing connected to it, and may cause unreliable readings as the processor tries to decide if the line is on or off.

If you dont get these microswitches u can make one easily , using a spring mechanism.

Friday, June 13, 2008



Robots Androids & Animatrons by John Iovine

download from here
Lovely book , gives u a good start for professional robotics.

What u can get from this book????

Movements and drive system.

DTMF controlled vehicle (tats using u r phone)

Making a walker

Speech Controlled bot

Under water bots


One necessary book , I double my money on this to read.


Robotics and Process Control Cookbook

download from

Not tat great to read on if u have other e books , but has gud examples of various things.


Build a Remote Controlled Robot

download from

Diff methods of making a remote controlled car , from Ir , Rf to various methods.


8051 microcontoller

download from here

One stop to start for micrcontrollers r download ayalas e book from my other post on e books.

Saturday, May 17, 2008


This another list on robotic journals on biometric , can be used for paper presentation in engineering .Taken from societyofrobots.com one wonderfull site.

Adaptive Dynamic Walking of a Quadruped Robot on Irregular Terrain Based on Biological Concepts

Biomimetic Robot Navigation

Biomimetics: New Tools for an Old Myth

A New Hybrid Approach to Dynamic Modeling and Control Design for a Pectoral Fin Propelled UUV

Design of a Biomimetic Controlled-Curvature Robotic Pectoral Fin

A Novel Water Running Robot Inspired by Basilisk Lizards

Review of Fish Swimming Modes

Trends in Biorobotic Autonomous Undersea Vehicles (4.7mb)

Walking Robots and the Central and Peripheral Control of Locomotion in Insects


Here is a list of journals , papers that engineering students can use for paper presentations , but shld have great fundas .

Cognitive Architecture, Concepts, and Introspection: An Information-Theoretic Solution to the Problem of Phenomenal Consciousness

CoSy: Cognitive Systems for Cognitive Assistants

Emerging Consciousness as a Result of Complex-Dynamical Interaction Process

Levels of Consciousness and Self-Awareness: A Comparison and Integration of Various Views

Single-Neuron Theory of Consciousness

Reinforcement Learning: A Survey


We will discuss different ways of braking in the robots , there are 3 different ways as usual which goes from mechanical to electrical .This is basically needed when u want to go down the slope r up the slope, though these are not tat great braking as comapred to the real vehicles but of much help to us.

Mechanical Method :
The mechanical method is what is used on cars today. Basically you need something with very high friction and wear resistance, and then push it as strongly as possible to your wheel or axle. A servo brake works well.People think of using door stoppers but they are not of much help , I tried it n they just wasted my money and time .
Controls Method :
This method requires an encoder placed onto a rotating part of your DC motor. You will have to write an algorithm that determines the current velocity of your motor, and sends a reverse command to your H-bridge until the final velocity equals zero. This method can let your robot balance motionless on a steep hill just by applying a reverse current to your motors.

Electronic Method :
This method is probably the least reliable, but the easiest to implement. The basic concept of this is that if you short the power and ground leads of your motor( connect both the +ve leads of the battery to the two terminals of the motor), the inductance created by your motor in one direction will power your motor in the opposite direction. Although your motor will still rotate, it will greatly resist the rotation. No controls or sensors or any circuits overheating. The disadvantage is that the effect of braking is determined by the motor you are using. Some motors brake better than others.

So how do you short the leads when it is on a robot? Simple. Connect a MOSFET (transistor) and a relay as shown. The MOSFET turns on the relay, which creates a short between the motor leads. Turn the MOSFET on (set C high) with your microcontroller when you want to brake. Basically your motor will still have an H-bridge for normal control, but when you brake you turn the H-bridge off and use the braking circuit. And don't forget the heatsink and flyback diode! Important, or your circuit will melt/blow up.


This is a simple yet effective IR proximity sensor built around the TSOP 1738 module. The TSOP module is commonly found at the receiving end of an IR remote control system; e.g., in TVs, CD players etc. These modules require the incoming data to be modulated at a particular frequency and would ignore any other IR signals. It is also immune to ambient IR light, so one can easily use these sensors outdoors or under heavily lit conditions.
Such modules are available for different carrier frequencies from 32 kHz to 42 kHz.They cost some thing around 20Rs.
In this particular proximity sensor, we will be generating a constant stream of square wave signal using IC555 centered at 38 kHz and would use it to drive an IR led. So whenever this signal bounces off the obstacles, the receiver would detect it and change its output. Since the TSOP 1738 module works in the active-low configuration, its output would normally remain high and would go low when it detects the signal (the obstacle).

In the reciving part instead of using IC555 u can use the time from u r muc.

A part of the Source Code for the Previous LFR

The 8 sensors are connected the port 0 .The numbers 160 n 255 are a constant

which u take this has been explained un my previous post so jst take a look.

while (1){

#ifdef debug
if(rep<255) prev="PINA;" i="0;i<8;i++)">>i)&0x01);




if(rdev<160) rotpow="160;}">HMAX)

void move (unsigned char dir,unsigned char delay,unsigned char power) {
if(dir==L || dir==R) {

This is taken from priyank patels LFR code .

Friday, May 16, 2008


The robot uses IR sensors to sense the line, an array of 8 IR LEDs (Tx) and sensors (Rx), facing the ground has been used in this setup. The output of the sensors is an analog signal which depends on the amount of light reflected back, this analog signal is given to the comparator to produce 0s and 1s which are then fed to the µC.

Starting from the center, the sensors on the left are named L1, L2, L3, L4 and those on the right are named R1, R2, R3, R4.

Let us assume that when a sensor is on the line it reads 0 and when it is off the line it reads 1.
The µC decides the next move so as to position the robot such that L1 and R1 both read 0 and the rest read 1.


1. L= leftmost sensor which reads 0; R= rightmost sensor which reads 0.

If no sensor on Left (or Right) is 0 then L (or R) equals 0;

For example

2. If all sensors read 1 go to step 3,


If L>R Move Left

If L

If L=R Move Forward

Go to step 4

3. Move Clockwise if line was last seen on Right

Move Counter Clockwise if line was last seen on Left

Repeat step 3 till line is found.

4. Go to step 1.

For a good voltage swing from the potential divider use

R1= Sqrt (Resistance of sensor when light falls on it * Resistance of sensor when light does not fall on it)

The 8 sensors are connected to PORTA.

You need not connect anything to AVCC and AREF, it is required only if ADC is used.

The L298 Motor Driver has 4 inputs to control the motion of the motors and two enable inputs which are used for switching the motors on and off. To control the speed of the motors a PWM waveform with variable duty cycle is applied to the enable pins. Rapidly switching the voltage between Vs and GND gives an effective voltage between Vs and GND whose value depends on the duty cycle of PWM. 100% duty cycle corresponds to voltage equal to Vs, 50 % corresponds to 0.5Vs and so on. The 1N4004 diodes are used to prevent back EMF of the motors from disturbing the remaining circuit.

Thursday, May 15, 2008

line follower with software diff

A simple line follower not following a curve can make a large diff jst by changing the software tats u r programme . Its always better tpo use more sensors than just a couple of them , use arnd 8 sensors rather than 4 r 6 . Now wat diff can a change in algo make , u can use PWM and PID control to make it more perfect bot .Even a Closed loop control system formed with the above two can be used.

A proportional integral derivative controller (PID controller) is a common method of controlling robots. PID theory will help you design a better control equation for your robot.
Shown here is the basic closed-loop (a complete cycle) control diagram:

The point of a control system is to get your robot actuators (or anything really) to do what you want without . . . ummmm . . . going out of control. The sensor (usually an encoder on the actuator) will determine what is changing, the program you write defines what the final result should be, and the actuator actually makes the change. Another sensor could sense the environment, giving the robot a higher-level sense of where to go.

To get you started, here are a few terms you will need to know:

error - The error is the amount at which your device isnt doing something right. For example, if your robot is going 3mph but you want it to go 2mph, the error is 3mph-2mph = 1mph. Or suppose your robot is located at x=5 but you want it at x=7, then the error is 2. A control system cannot do anything if there is no error - think about it, if your robot is doing what you want, it wouldnt need control!

proportional (P) - The proportional term is typically the error. This is usually the distance you want the robot to travel, or perhaps a temperature you want something to be at.

derivative (D) - The derivative term is the change in error made over a set time period (t). This is usually the velocity of your robot. So if your robot was at x=5 about one t ago, and is at x=7 now, then the derivative term is 7 - 5 = 2/t. If you are using a microcontroller, you can calculate the time with this timer tutorial.

integral (I) - The integral term is the rate of change in the error made over a set period of time (t). This is usually the acceleration of your robot. If your derivative term was 2/t a second ago, and it is 2/t now, your integral term is 2 - 2 = 0/t^2. Thats an acceleration error of zero . . .

tweak constant (gain) - Each term (P, I, D) will need to be tweaked in your code. There are many things about a robot that is very difficult to model mathematically (ground friction, motor inductance, center of mass, ducktape holding your robot together, etc.). So often times it is better to just build the robot, implement a control equation, then tweak the equation until it works properly. A tweak constant is just a guessed number that you multiple each term with. For example, Kd is the derivative constant. Idealy you want the tweak constant high enough that your settling time is minimal but low enough so that there is no overshoot.

One example of only P control can be seen here: taken from amol deshmukhs site ,

This is a small line following robot designed to follow a white line drawn on a black surface. The software can be changed to interchange the colours. The software still has lot's of room for improvement but works well. It constantly corrects wrong moves using feedback mechanism which forms a closed loop control system.

mechanical design It has two DC motors in wheelchair design. Direction of the robot is controlled by controlling speeds of the two motors. Lets say the speeds are
Right wheel : SpeedR
Left wheel : SpeedL
To control the speed of the motor controlled power is fed by PWM ( Pulse Width Modulation ) technique.

electronic design Processor AVR ATmega16 [ the ADC feature comes in handy to read output of sensors ]
Motor driver : L293D ( 2 )
Sensors : IR LED-photodiode pair ( 2 )( non-modulated )
Power supply : Li-Ion cells ( 2 ) 1700mAHr giving 8V regulated with voltage regulator.

control algorithm and software
Lets say the two sensor outputs, i.e. the intensity of reflected light sensed at the two sensor positions is
Sensor Left : SensL
Sensor Right : SensR

If Err is the error of sensors from mean position then it will be proportional to the difference between the two sensor readings
Err = K * ( SensR - SensL )
Where K is constant of proportionality

If Err is a +ve quantity then we must drive Left motor a bit faster than the right i.e. the speed of right motor must be increased a bit and speed of motor right be decreased a bit
SpeedL = CntrSpeed + Kp * Err
SpeedR = CntrSpeed - Kp * Err

This is called Proportional Control

Check for my next post on 8 sensors using PD control wth algo.

The above one is only P control n taken from this site


Tuesday, May 6, 2008

Making A Gripper Arm for Pick n Place comps

I will be discussing over here various methods to hold objects , this is mostly used in pick and place comps.

Basic idea is to hold the object and also leave the object.We can use two simple dc geared motors of lower rpm n directly fix it to the bars as shown below
We used two dc geared motors of 10 RPM at the points A and B , fixed to the arms using gears at the two dots shown above A n B

RESULT:Couldnt sustain the force required to lift for a long period of time, so we changed our plan.


s has been taken frm another site robotics for u which u can c in the link list on the rite side on my blog

This thing is self xplanatory when the motor starts rotating the nut keeps moving inside ,and hence the one of the arms fixed to it keeps moving inside . It gives gud result but was pretty to tough to implement for us , we gave try at it but werent much happy wth wat we had done so had to think some thing else which can be much simple .

used some simple objects tat we could get hand on , so we used a a girder u can get this in any mechanical shop(he will charge pretty high if u tell u r purpose).This is how they luk like

The first pic is that of girders (which u can make them using aluminium and drilling holes in it)
and the second pic is that of our arm , we used a 10 rpm motor to pull the two strings.Use a spring in reverse of the strings to pull so tat it can even with draw objects when needed.This is how it goes finally

This is how it finally luks like dont use a high rpm motor thinking tat we can grip it fast , it will be out of control so be carefull of it , we could grip this to lift a 4.6kg objects which we tested in our colleges . This was all because we could use a low rpm motor.

"MEMRISTOR" ...... New Circuit Element

As all science students know, there are only three basic elements that make up an electrical circuit:the resistor, the capacitor and the inductor.

Sorry guys!It may be time to tear up your textbooks and write the new ones:scientists have realised physical samples of a fourth fundamental element which they call a memristor - short for memory resistor.

In a paper published in the latest issue of NATURE MAGAZINE(”The missing memristor found”,may 1st ,2008;vol no.453 ; pp 80-83), researchs at hewlett packard labs, report that the missing fourth element of the circuitry that professor Leon Chua of the University of California in Berkeley predicted in 1971 is indeed realisable.


The team, led by R.Stanley Williams, believes that using nano technology one can soon build practical units of the resistor-with-memory that cannot be created by a mere combination of the three basic circuit elements.

Such element could fuel a new class of computer memory that would ‘remember’, even if the machine were switched off……in other words, tomorrow’s PCs could boot up and spring to life instantly.

The engineers are busy building memristors using Titanium Dioxide and have already realised a few hybrid versions in silicon.

Memory banks built using memristors could be a thousand times faster than todays magnetic disk systems , and consume a fraction of the power, the scientists suggest.

In electrical circuit theory, the memristor is a passice circuit element. It has been described as the fourth basic type of passive circuit element, alongside the well-known capacitor, resistor, and inductor. The name is a portmanteau of memory resistor.

Although the memristor was predicted and described in 1971 by Leon Chua of UC Berkeley, in a paper in IEEE Transactions on Circuit Theory, it was a hypothetical device for 37 years, with no known physical examples.

According to Chua, the “era of nanoscale electronics will be enabled by the memristor. This is not just an invention, it is a basic scientific discovery.

In April 2008, a working device with similar characteristics to a memristor was announced by a team of researchers at HP Labs. The new circuit element may enable the development of a new class of high-density non-volatile digital memory. Performance of memristors improves as they are scaled down, and they generate less heat than transistors. The memristor also has unique analog properties that may lead to the invention of other devices.

The memristor is an element in which the magnetic flux Φm is a function of the accumulated electric charge q in the device. The rate of change of flux with charge

M(q)=\frac{\mathrm d\Phi_m}{\mathrm dq}

is known as memristance. This is comparable to the other three fundamental circuit elements:

  • Resistance: R(I)=\frac{\mathrm dV}{\mathrm dI}
  • Inductance: L(I) = \frac{\mathrm d\Phi_m}{\mathrm dI}
  • Capacitance: \frac{1}{C(q)}=\frac{\mathrm dV}{\mathrm dq}

Here q is electrical charge, I is electrical current, V is electrical potential and Φm is magnetic flux. The differential forms of these equations are used because we are comparing non-linear circuit elements; a linear memristor would be uninteresting, as explained below.

Applying Faraday’s law of electromagnetic induction and the chain rule to the equation defining the memristance, one obtains that the voltage V across a memristor is related to the current I by the instantaneous value of the memristance:

V(t) = M(q(t)) I(t) \,

Thus at any given instant, a memristor behaves like an ordinary resistor. However, its “resistance” M(q) is a value which depends on the charge accumulated in the device. This differs from ordinary resistors where the resistance is determined by fixed physical properties and transistors where the resistance is controlled by either the voltage at or current through a gate electrode. A linear memristor (one for which M is constant) would thus be indistinguishable from an ordinary linear resistor (one for which R is constant), with M = R. Memristance can be said to depend on the history of the charge that has flowed through the device in the same way that the voltage of capacitors does.

The memristor is capable of “remembering” how much electrical charge most recently passed through it in one direction versus another. Thus, it can “remember” the state it was last in.

Fabrication :

Interest in the memristor revived in 2007 when an experimental solid-state version was reported by Stanley Williams of hewlett packard. A solid-state device could not be constructed until the unusual behavior of nanoscale materials made it possible. The device does not use magnetic flux as the theoretical memristor suggested, nor stores charge as a capacitor does, but instead achieves a resistance dependent on the history of current using a chemical mechanism.

The HP device is composed of a thin (5 nm) titanium dioxide film between two electrodes. Initially, there are two layers to the film, one of which has a slight depletion of oxygen atoms. The oxygen vacancies act as charge carriers, meaning that the depleted layer has a much lower resistance than the non-depleted layer. When an electric field is applied, the oxygen vacancies drift, changing the boundary between the high-resistance and low-resistance layers. Thus the resistance of the film as a whole is dependent on how much charge has been passed through it in a particular direction, which is reversible by changing the direction of current.

Samsung has a pending U.S. patent application for a memristor similar to that described by Williams.

Potential applications :

Williams’s solid-state memristors can be combined into devices called crossbar latches, which would replace transistors in future computers, taking up a much smaller area. They can also be fashioned into non-volatile solid-state memory, which would allow greater data density than hard drives with access times potentially similar to DRAM, replacing both components. HP prototyped a crossbar latch memory using the devices that can fit 100 gigabits in a square centimeter. For comparison, the highest-density flash memories at this time (2008) hold 16 gigabits. HP has reported that its version of the memristor is about one tenth the speed of DRAM.

The devices’ resistance would be read with alternating current so that they do not affect the stored value.

Friday, April 18, 2008

E books on robotics

All these books have been take from the site allfree.freemaniz site .I have read most of the books and i will give my opinion on these so it will be useful to you.

First book which all beginners shuld read for robotics .
Tata mcgrah hills robot builder's bonanza.
download from here

Robotics project outlined by pic microcontroller infact a tutuorial on pic
download from here

Architecture on microcontroller by ayala .A complete text book of AYALAs muc.
download from here

Matlab programming for Image processing
Download from here

Robot mechanical building tips .Very gud book if u really want to make one robus mechanical bot with perfection.
download it from here

Autonomous mobile robotics .Amazing book if u want to make one great autonoums navigation bot.It tells evrything from makng a biped(a litle bit) , a very gud autonoums bot.
download from here

Making a pac -man robot very fun makng, it indeed wil give u a xperince in how some problem statements are solved.
download from here

And last but not the least my site , i will be updating it very frequently so tat when the next year starts I mean next sem , as robotic competetions wuld be startng u will find lot more help from here keep checking .Till then thnx from all u guys.

My next post will be on logic gates and K map(karnuagh map) , to make autonoums bots without microcontroller.

Friday, April 11, 2008


This will be the first start to our autonoums bots , this is the most famous competetion held in most of the colleges , n i have seen people asking at lot of places asking for this now i will try to make this post a one stop to make a line follower , if u have understood the previous 4 things ,

firstly the motor driver , then op amp , sensors, which i have told in my last posts n the the most important part either using logic gates r else using micro controllers tats programming it .
I will be tellng u both the ways of doing it tats using logic gates and also using muc(i will be gvng only the logic part ).

This is how it basically luks like

I will xplain making of a line follower using one sensor till an array of sensor(ie 7 sensors).

White colour reflects light and black colour
absorbs .
when the sensor is on the white line the output will be high and when on black it will be low.



ets assume tat sensor is placed on center ie the sensor correctly places above the line , then there is no way tat it can follow a line bcoz it cant diff btw curves tilted towards left n right.

so wat we do is place the bot in such a way tat when the sensor cums to the right side of the line .


1)when the sensor is not on the main line move fwd.
2)when the line is turning towards left the sensor detects the line so now take a left turn
3)when the line is turning towards rite u r sensor cant detect the line and it keeps moving forward as it satisfies condition number 1

RESULT:We cant use this thing.


We place our sensor on either side of the line .

When the line is straight and the two sensors are on either side of the line, move forward

when there is a right bend in the line the right sensor detects it ,now as ur bot shuld take turn, the rite motor shld stop and the left motor shuld move.

when there is a left bend in the line the left sensor detects it ,now as ur bot shuld take left turn, the left motor shld stop and the rite motor shuld move.

The pic shows the left curves and the right curves, the blue ones are u r sensors, the left pic shows the left sensor about to detect the line and the rite pic shows the right sensor about to detect the line.For the ckt directly connect the output of sensors to the the inputs of l293d n tat s it but use 30 rpm motors for it hope u got it .

But the problem with this is it will always move in zig zag manner so wastage of time.
I will give the ckt diagram of this after i explain about Logic gates .
And remember this is only with two sensors , i will explain till we can use 7 sensors so keep checking.

Wednesday, April 9, 2008


We will be using over here an irled pair and a comparator .When the reciver led recivers the signal the voltage acros it would be going high.This we would be putting across the + ve of comparator, n to the -ve of comparator we wuld be using a potentiometer . When the reciver does not recive any signal the voltage across the pot wuld be set up in such a way tat voltage across it is high so the output wuld be zero volts.
Wehen the reciver recieves the signal the voltage at +ve of comparator would be more than that of -ve end so the out put wuld be high.The pot is used to adjust from how much distance the reciever is able to detect .

From my xperince i can tell tat this will give u arnd 5 cm obstacle detection , voltage drop across reciver for me was .47V when it didnt sense the obstacle , when it did sense it was giving arnd.58v so now the voltage at the -ve pin shld be brought to this voltage by rotating the pot .
The leb which u c at the ouput will glow when it detects an obstacle.

The output which u get from the comparator will be fed to logic gates r micrcontrollers .


This is the most important part of an autonoums bots , without this der cant be an autonoums bot build. There are different types of sensors used varying with work to be done with the bot.

1)Light sensors
This sensors are used to measure the intensity of light.Mostly commonly used under this are LDR(light dependent resistors) , TSOP1738,IRLED pair,Photodiode,Phototransistor.
ey can be used as obstacle avoidance, in line follower to differentiate btw black and white.


a resistor whose value decreases with intensity of light, more the intensity of light lesser will be the resistence and vice versa , which means when this sensor is in dark place there is less resistence.Now the question will be how can we use it as sensor for our bot we use LEDs(red mostly) in combination with LDR,.

http://www.technologystudent.com/elec1/ldr1.htm (FOR MORE HELP)

basically a pair of diodes one is the reciever and the other a transmitter(dark blue in colour) both modulated to same frequency .The transmitter works in forward bias condition and the reciever in reverse bias condition.It has two terminals the longer one is the + ve one n other -ve .

How does it work:
transmitter sends a light at partiular freq though u cannot c it , the receiver detects it when it bounces back from some obstacle.
This sensor is mostly used by students for various competiotns.

3)TSOP 1738:

This is mostly used when we want our sensors to work in more ambient lite , sunlite i can say for.
This thing is found in TV remote controller.

Apart from these the sensors tat are there are
accelometers :Used to detect motion, vibration, ngle with respect to gravity
Colour sensors:Used to detect diff colours
Sonar Sensors:Determines obstacle from a distance
Bump switch:touches the object and gives the signal

I will discuss about these sensors in more detail in later posts .

Tuesday, April 8, 2008


As the name implies it is an operational amplifier. It performsmathematical operations like addition,subtraction,log,antilog etc.. Themain reason for OPAMPS used over transistors is that transistor can onlyamplify AC while OPAMPS can amplify AC and DC. You can get good amplifier gain in OPAMPS. The most commonly used OPAMPS are 741 ,LM 324, LM 358N(both of them can also be used as comparator).

Comparator is also the same but with a diff being tat its digital so u have to two states high(5V) and low(0V).
Above figure shows the general ckt diagram of a comparator .If V1>V2 then Vout=+Vcc and if V1 if V1 is less than V2 then Vout is minus Vcc

Lm 324 has 4 such comparator(shown in figure1) them also known as Quad opamp.
LM 358N has 2 comaprator also known as bi opamp.

U can use two potentiometers(of 10 K prefarably) and put them across pin2 and pin 3 , and put an led in series with a resistance at pin 1 , when the voltage drop in pot 1 connected across pin 2 is low , u can c the led glow.