Click here to go 
 
ABSTRACT
   In the coming years of very sophisticated technology there is a need for implementing intelligence for a vehicle. That is it should go to the prescribed destination may be without the human interference .Our project is an attempt  showing how this is possible.Here our project'IMPLEMENTING THE OBSATCLE  AVIODANCE  ALGORITHM' is implemented for a small test vehicle with some predefined assumptions. For a system to operate as an intelligent system it   should have a very important component called the control system.So using the  control system we can control the motion of the vehicle and direct it as the  we  wish. We have used a programmed microcontroller as the control system. The  program loaded in it controls the actual motion of the vehicle.The basic principle here is that we sense if any obstacles present in the path of the  vehicle or not and then proceed avoiding them by taking necessary turns and  the compensating turns.We have used infrared sensors for this purpose.
    Coming to the future scope of the project we can improve the present  model to a very sophisticated one .We can directly feed the path and the  speed for the vehicle i.e. in which it is expected to go.So that it can move from  one place to the other by implementing for a huge vehicle.
1. INTRODUCTION 
    Embedded software solutions let us include obstacle avoidance ability various types of mobile systems, from toys to appliances to sophisticated autonomous robots.
    The term obstacle avoidance describes a set of software techniques that allow mobile machines, such as housecleaning appliances and other types of robots, to adjust their trajectory according to their surroundings. Used in conjunction with distance measurement and motor control solutions, this can give autonomous products the reflexes to handle obstacles intelligently, even when those obstacles are in motion themselves.
    Generally, an automated   vehicle  will require some means of detecting obstacles in its path, and a capability of  maneuvering   to avoid them. A variety of acoustic systems have been developed for this requirement over the past 20 years. These range from simple, single beam echo sounders which look ahead of the vehicle to more sophisticated multibeam   sonars which can detect, track and classify an obstacle and then carry out one or more pre-programmed avoidance  maneuvers.ISE has had experience with a number of these systems. In the ‘80s with Kongsberg Simrad Mesotech Ltd, they developed and tested an 8 beam system using Simrad Model 1071 echo sounders in our ARCS vehicle. This system was very successful and demonstrated the capability to detect and classify an obstacle and then perform a simple avoidance   maneuver. This system was later upgraded to provide the ability to track objects including depth contours at a preset range. They also conducted experiments with fewer beams (transducers), and demonstrated that a fundamental capability could be met with much fewer beams. In the ‘90s, they integrated a Sonatech, Inc. 20 beam obstacle avoidance sonar which provided the vehicle with sufficient information to undertake sophisticated   maneuvers .The level of sophistication required by an automated  vehicle will be determined by the mission, and more specifically by both the frequency of encounter with obstacles and potential complexity of the situation. 
    Even though an automated vehicle  is capable of fully autonomous operation, a well-designed system provides the operator with communications links to the vehicle whenever possible. At a minimum, a link is needed to start the mission after the vehicle  has been launched. This contact confirms that all systems are ready and allows the operator to command the start with knowledge that the vehicle is fully functional . Communicating with the vehicle at the end of a mission is very important. It is important, however, to be able to assure that the vehicle is safely shut down  and the link allows that to  verify or to accomplish . 
    The obstacle avoidance algorithm is very complex in nature.So in order to  simulate it we have mad certain assumptions.The main assumption here is that  the vehicle to which the algorithm is to be implemented moves only in the  forward direction and it avoids obstacles ahead of it.Even after avoiding the  obstacles it has to move in its original or intended direction.That is it has  to maintain its path irrespective of the obstacles in front of it .
Obstacle Avoidance and Motion Planning are both necessary components for any robotic task. Obstacle Avoidance refers to planning collision-free trajectories for robotic systems while Motion Planning refers to planning smooth motions for robotic systems. 
Obstacle avoidance methods based on ultrasonic sensors must account for the sensors' shortcomings, such as inaccuracies, crosstalk, and spurious readings. So  at  a  better  level  we  have  gone  for   using  infrared sensors  because  of  the fact  that IR  sensors  are cheap  and  accurate .
2. ALGORITHM 
The main intention of the algorithm is to get rid of the obstacles  present in its intended path.The main point in the algorithm is that the  vehicle turns to the other direction  that  is  to  the  left  or  to  the  right  to  some  angle so  that  it can  find  another  route  and  moves  in  that  direction  till  there  is  no  obstacle  and  finally  covers  the  angle  it  has  made  previously  to  avoid  the  obstacle.  In  this  way  the  vehicle  moves  in  its  intended  direction  avoiding  the  obstacles  on  its  way.
The algorithm simply takes the desired destination and finds the straight line path to that destination.  Next it looks at where the vehicle will be by the next frame if it travels this path and it also looks at where the various obstacles will be at this future time frame.  If there is a problem with the future position, it leads to getting tagged or is in a forbidden area, then a new destination point is found.  This destination point is found by taking the original destination and slightly moving it.  This is repeated until a destination point is found that is as close to the original as possible, yet results in the vehicle being in a safe location by the next frame.
3. WORKING 
When  the  initialization  that  is  when   the  power  is  switched  on  for  the  vehicle  the  microcontroller  starts  executing  the program  in its  ROM  as  the signal  at  its  EV  pin  is  high . During  the  initialization  appropriate  values  to  the  ports  will be  set  up  and   the  controller  is  made  to  wait  for  the start  bit  from  the user .Until  the user  gives a  start  signal  to  the  vehicle it sits in its  position  without  any  movement .As  soon  as  the  controller  gets  the wait  signal  from  the  user  its starts  its  actual  motion  and  implementing  the  algorithm .The  flow chart  for the algorithm  is  in the figure 2.1 .
The  actual  implementation  of  the algorithm  is  as  follows .First  of  all   it  turns on  the front  sensor and  then checks  for any  obstacles .If  there is any  obstacle  in the  front  that  sensed  by  the  front  sensor , it  turns  on  the  left sensor  and  the again  checks  for  the   obstacles .If  there  is  an obstacle  in the left  it  turns  on the  right  sensor  and  then  repeats the same checking . If  still there is  an  obstacle  in the right  the vehicle   comes to  an under  standing  that  there is an  obstacle  that  is covering  a  total  of  one  side  and  it  is  made  to turn  left  and   then  implement   the  algorithm  from  the beginning .
If  there  is no  obstacle  in  the right   ,( that  is there is an obstacle sensed  for both  front  and  the  left ) it  checks  for  the  number  of  right  turns  it  has taken  ,if  it  not  compensated  with  the direction  it  simply  turns  right  moves  forward  and  continues  from  the   first  point .
If  there  is  no  obstacle  in  the left ,( that  is  there  is  an  obstacle  sensed  for  the front )  it  checks  for  the number  of  left turns  it  has  taken  , if  its  not  compensated with the  direction it  simply takes  a left  turn  ,moves forward  and  continues  from  the  first  point .
If  there  is  no  obstacle in the  front  it  checks  for  the  equality   of  the  number  of  turns  it  has taken  to  the  left  and  that  to  the  right . If  they   are  equal  then the  vehicle  moves  forward  and  continues  from  the  first  point . If   the  number of  left  turns  is  greater  than  the  number  for  right  turns   it  turns  on   the  right  sensor  and  checks  for  the  obstacles  if  there  are  no  obstacles  it  compensates  the  lefts  it  has  taken . If   the  number of  left  turns  is  less  than  the  number  for  right  turns   it  turns  on   the  left  sensor  and  checks  for  the  obstacles  if  there  are  no  obstacles  it  compensates  the  rights  it  has  taken .    
In  this  way  the  vehicle  moves  forward   avoiding  the  obstacles  present  in  its path   thus  implementing  the obstacle  avoidance  algorithm  .
4. IMPLEMTING  THE ALGORITHM  FOR  THE VEHICLE 
Here the  obstacle  avoidance  algorithm  is  applied   to  a  small  vehicle  whose  basic  principle  for running  is  DC  motors .We  have  formulated  the  idea  of  the  algorithm  on  the flowchart , but  to  get  in  to  the real  time  trouble shootings  we  have to  implement  it  to  test  vehicle . The main component  of  the  test  vehicle  is  the microcontroller . It is actually with this  we implant  the  algorithm  to   the vehicle . When   we  implant  is  for  vehicle  we  will  be  getting  the  exact  picture  how  it  can  be  applied to  a  huge  vehicle   and  what   are  the difficulties  with  complex  obstacles .  Getting  the  real  time  picture  for  the  vehicle  we  can  easily  make  the modifications  and  make  it  lively 
5. APPLICATIONS
Wany has developed very efficient navigation algorithms to avoid and bypass any obstacles, regardless of their color, material and of their shape and thinness (table, chair leg, …). Obstacle avoidance is one of the key navigation requirements for housecleaning autonomous mobile devices. Regarding thin obstacles, Wany uses triangulation and dead-reckoning-error algorithms to enhance the performance of the telemeters and obstacle avoidance software. This functionality is difficult to obtain because of the high price of precise telemeters (often ultrasonic in this case), Wany Robotics can use both market-available telemeters and our patented IR telemeters to perform the obstacle avoidance algorithms at a very low price. 
EXAMPLES :
Obstacle  avoidance  is  a  key  feature  in  any  kind  of  robot ,  household appliance , PC peripheral , or  toy  that  needs  to  move  around  autonomously , including:
•	Vacuum  cleaners ,  lawn  mowers 
•	Toys cars , boats , tanks , animated  animals 
•	Remote Web cameras, surveillance robots 
•	Personal  robot  assistants 
•	Vehicle  security and advanced personal warning systems 
KEY  FEATURES :
•Obstacle  avoidance  technology  gives mobile  machines  and  robots  life-like reflexes  and  allows  them  to  navigate  intelligently .
•Software  is  hardware  independent  (supports  any  environment  sensor technology ,  including  infrared , ultrasound , and video) .
•Solutions  are  adapted  to  requirements  of  the  target  system ,  and  are completely  scalable  for  use  in  any  kind  of  mobile  device  .
•Supports  systems  with  as  little  as  1 KB RAM  and  ROM  .
•Scalable  upwards  from  8-bit, 4 MHz processors .
Click here to go 
