Bug Algo - C Space Lectures
Bug Algo - C Space Lectures
Requirement:
Locomotion
Different types of mobile robots
Working of mobile robots (differential drive)
Internal details of mobile robots
Bottom view
Range sensor : Ultrasonic sensor
Infra red sensors
Tactile sensors for detecting contact with object
as a low-resolution encoder…
on/off switch
analog input: “Active antenna”
Goal
BUG 2 - Algorithm
• Let qL = qstart; i = 1
0
• repeat
– repeat
• from qLi-1 move toward qgoal along the m-line
– until goal is reached or obstacle encountered at qH
i
– if goal is reached, exit
– repeat
• follow boundary by moving left or right
– until qgoal is reached or qH iis re-encountered or
m-line is re-encountered, x is not qH i, d(x,qgoal) < d(qHi,qgoal) and way
to goal is unimpeded
– if goal is reached, exit
– if qH is reached, return failure
i
– else
• qL = m
i
• i=i+1
• continue
• The range sensor has a finite range of detection and it can sweep 360
degrees .
• The range sensor will prevent the robot from colliding with the
obstacle.
Obstacle
No obstacle
Intervals of Continuity
Transition
At x, robot knows only what it sees and where the goal is,
so moves toward O2. Note the line connecting O2 and so moves toward O4. Note some “thinking” was involved
goal pass through obstacle and the line connecting O4 and goal pass through obstacle
• dmin is the shortest distance, observed thus far, between the sensed boundary of the obstacle and the
goal
• dleave is the shortest distance between any point in the currently sensed environment and the goal
• Real robot has physical dimensions (center coordinate and radius R).
• How to specify all the points in the robot)
Configuration space
• Robots occupy space and are of different shapes in the real world.
Robot should not hit obstacles
• No point of the robot should hit an obstacle?
• If we know the centre point (x,y) and the radius then we know all
points of the robot.
• The configuration is just a point in the C-space (the robot is shrunk to a point)