autonomous robot localisation, path planning, navigation, and obstacle avoidance the problem:...
TRANSCRIPT
Autonomous Robot Localisation, Path Planning, Navigation, and Obstacle Avoidance
• The Problem:– Robot needs to know where it is? where
it’s going? is there more than one way to get there? if yes, then which is the best way? and it must not collide with any obstacles en route, or fall down a ravine, or get stuck, or fall over!
CC36510 1
Required Functionality for Navigation
• Environment perception– Cameras: PanCam (stereo), NavCams, HazCams
• Environment modelling– DEMs used for terrain gradient and feature identification
• Localisation– Star maps, Earth based radio telescopes, rover odometer,
gyros• Obstacle avoidance
– ‘Reactive Control’ - “if obstacle distance < 10 cm then turn 10 degrees clockwise else move towards goal”
– ‘Deliberative Control’ – generate a map of your environment and plan your route round obstacles to get to your goal
• ‘Best’ route planning and search algorithms– Use D* algorithm which is based on A* algorithm
CS36510 3
Localisation Challenge
CS36510 4
Need to know where you are, before you can start navigating to where you want to be!
•No GPS!
•Cannot always see the stars
•Anomalous localised magnetic regions on Mars
•Cannot commit orbital resources full time (e.g. orbiter cameras)
•Cannot commit terrestrial resources full time (e.g. radio telescopes)
•Line-of-sight not always possible (e.g. on opposite side of planet)
•Dead-reckoning (e.g. odometry, inertial navigation) unreliable (wheel slippage, instrument integration drift)
NASA MER Localisation Solution
CS36510 5
1. Capture stereo-image data of any rocks that are situated (typically) at a site in front of the rover.
2. Process image data to extract interest points such as rock peaks, sharp corners, and ridge points.
3. Extract rock surface points which are needed in addition to the interest points in order to fit an analytical rock model to, and to describe the size of any rock. Typical analytical models include hemispheroid, semi-ellipsoid, cone or tetrahedron shapes.
4. Traverse the rover and reposition the stereo cameras (pan & tilt) to view the same site of rocks, but these are now (typically) behind the rover.
5. Capture stereo-image data and repeat same image processing (steps 2 and 3) to fit an analytical rock model to the new scene.
6. Perform rock matching on the before and after traverse rock model data. In principle, a rigid transform including three rotations and a 3D translation between the two corresponding rock distribution sites can be obtained.
7. Repeat steps 1 to 6 to localise the rover after each traverse (typically less than 30 m per traverse when using the MER Navigation cameras).
Ron Li, Ohio State University, algorithm overview:
Reactive versus Deliberative
CS36510 8
Reactive processes (c.f. reflex actions)
‘Brain’
Sensors Actuators
Deliberativeprocesses
Both deliberativeand reactivemethods havetheir strengthsand weaknessessuch as ….?
Required Functionality for Navigation
• Consult the following:– “Recent Progress in Local and Global
Traversability for Planetary Rovers” (icra2000v6.pdf)
– Need to know about A* and D* algorithms
CS36510 9
Pathfinding with the A* algorithm
CS36510 10
An example of A star (A*) algorithm in action where nodes (n) arecities connected with roads and h(n) is the straight-line distanceto target point. Key: green: start; blue: goal; orange: visited
Node - nFigure of merit - f(n)Cost so far – g(n)Cost to go – h(n)Has to be an under estimate
f(n) = g(n) + h(n)
Some A* algorithm links
CS36510 11
http://en.wikipedia.org/wiki/A*_search_algorithm
http://www.policyalmanac.org/games/aStarTutorial.htm
http://theory.stanford.edu/~amitp/GameProgramming/
A* strengths andweaknesses ….?Hence you need D*(a variant is D* Lite)
CMU Architecture
CS36510 12
1. Paper introduces challenges for navigation
2. Describes research in this area3. Uses both a local (reactive)
and a global (deliberative) approach
4. Stereo Map – for traversability (‘slope map’)
5. Morphin – local traversability (obstacle avoidance)
6. D* – global path planner7. Arbiter – to combine both
local and global control commands
Stereo Map
CS36510 13
The traversability mapper calculates the expected roll and pitch of the robot at each map grid cell in the sensorfootprint using a local least-squares plane-fitting on range data. The residual error is used as an estimate of the small-scale roughness of the terrain
Morphin (see paper for full details)
CS36510 14
1. Black areas – not seen before2. Grey areas – recent, less recent
and old data3. Textured areas – obstacles4. Sensing arcs (‘whiskers’) based
upon steering arcs5. Goodness histogram – sensing
arc cells occupancy6. Certainty histogram – cell data
age7. Traversability histogram –
weighted combination of goodness and certainty
D* (see paper for full details and D* Lite links)
CS36510 15
1. Dynamic A* is an extension to basic A*
2. When the world model unexpectedly changes due to new sensor data, the A* algorithm has to be re-run – computationally undesirable
3. D* allows incremental re-planning based upon existing occupancy data (i.e. you don’t have to start from scratch every time)
4. Calculates a local ‘patch’ in the route plan to get around new obstacles and get back to original plan (example using synthetic data)
Red: rover path; Black: obstaclesdiscovered, Green: occupancy data
Arbiter (see paper for full details)
CS36510 16
1. A ratio of weights is applied to Morphin and D* steering command outputs (ongoing research)
2. Morphin (reactive) is weighted higher than D* (deliberative) at the cost of path optimality
3. Top image result – Bullwinkle cul-de-sac negotiation
4. Lower image (top) result – Morphin weight 5 × more than D*
5. Lower image (bottom) result – D* weight 2 × more than Morphin