201 likes | 505 Vues
CC36510. Autonomous Robot Localisation, Path Planning, Navigation, and Obstacle Avoidance. The Problem:
E N D
CC36510 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! 1
CS36510 Autonomous Operation High Level Command: “Go to the top of this hill” 2
CS36510 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 3
‘Brain’ Both deliberative and reactive methods have their strengths and weaknesses such as ….? Deliberative processes Sensors Actuators CS36510 Reactive versus Deliberative Reactive processes (c.f. reflex actions) 4
CS36510 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 5
CS36510 Pathfinding with the A* algorithm Node - n Figure 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) An example of A star (A*) algorithm in action where nodes (n) are cities connected with roads and h(n) is the straight-line distance to target point. Key: green: start; blue: goal; orange: visited 6
CS36510 Some A* algorithm links A* strengths and weaknesses ….? Hence you need D* (a variant is D* Lite) http://en.wikipedia.org/wiki/A*_search_algorithm http://www.policyalmanac.org/games/aStarTutorial.htm http://theory.stanford.edu/~amitp/GameProgramming/ 7
CS36510 CMU Architecture • Paper introduces challenges for navigation • Describes research in this area • Uses both a local (reactive) and a global (deliberative) approach • Stereo Map – for traversability (‘slope map’) • Morphin – local traversability (obstacle avoidance) • D* – global path planner • Arbiter – to combine both local and global control commands 11
CS36510 Stereo Map The traversability mapper calculates the expected roll and pitch of the robot at each map grid cell in the sensor footprint 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 12
CS36510 Morphin (see paper for full details) • Black areas – not seen before • Grey areas – recent, less recent and old data • Textured areas – obstacles • Sensing arcs (‘whiskers’) based upon steering arcs • Goodness histogram – sensing arc cells occupancy • Certainty histogram – cell data age • Traversability histogram – weighted combination of goodness and certainty 17
CS36510 D* (see paper for full details and D* Lite links) • Dynamic A* is an extension to basic A* • When the world model unexpectedly changes due to new sensor data, the A* algorithm has to be re-run – computationally undesirable • D* allows incremental re-planning based upon existing occupancy data (i.e. you don’t have to start from scratch every time) • 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: obstacles discovered, Green: occupancy data 18
CS36510 Arbiter (see paper for full details) • A ratio of weights is applied to Morphin and D* steering command outputs (ongoing research) • Morphin (reactive) is weighted higher than D* (deliberative) at the cost of path optimality • Top image result – Bullwinkle cul-de-sac negotiation • Lower image (top) result – Morphin weight 5 × more than D* • Lower image (bottom) result – D* weight 2 × more than Morphin 19