autonomous robot localisation, path planning, navigation, and obstacle avoidance the problem:...

16
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

Upload: timothy-wilson

Post on 25-Dec-2015

220 views

Category:

Documents


0 download

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

Autonomous Operation

High Level Command:“Go to the top of this hill”

CS36510 2

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:

NASA MER Localisation Solution

CS36510 6

Images courtesyRon Li, OSU

NASA MER Localisation Solution

CS36510 7

Images courtesyRon Li, OSU

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