25
Localisation & Navigation Self- Localisation: Global Sensors • Odometry • Markers al : understand how robots know where e and how they get to new locations Navigation Navigation : : Classical Classical Feature Based Feature Based Potential Potential Fields Fields Behaviour- Behaviour- Based Based

Localisation & Navigation

  • Upload
    sue

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

Localisation & Navigation. Goal : understand how robots know where they are and how they get to new locations. Self-Localisation: Global Sensors Odometry Markers. Navigation : Classical Feature Based Potential Fields Behaviour-Based. Global Sensors. - PowerPoint PPT Presentation

Citation preview

Page 1: Localisation & Navigation

Localisation & Navigation

Self-Localisation:• Global Sensors• Odometry• Markers

Goal : understand how robots know where theyare and how they get to new locations

NavigationNavigation::

• Classical Feature BasedClassical Feature Based• Potential FieldsPotential Fields• Behaviour-BasedBehaviour-Based

Page 2: Localisation & Navigation

Global SensorsSatellite Global Position Sensors (GPS)• Outdoor ok – c. 10m accuracy• Military differential GPS < 1m accuracy• Near buildings – too many reflections• Indoors: Satellite signal not receivedSatellite signal not received

Local transmitters usable Local transmitters usable

Buried cables give route and positionBuried cables give route and position

Page 3: Localisation & Navigation

OdometryOdometryOdometry: position measurement by distanceOdometry: position measurement by distance travelledtravelled• Know current position Know current position • Know how much wheels rotateKnow how much wheels rotate (e.g. current * time)(e.g. current * time)• New position = old position + commandedNew position = old position + commanded motionmotionBut:But:• motors inaccurate -> use shaft encodersmotors inaccurate -> use shaft encoders• wheels slip on surface -> also need somewheels slip on surface -> also need some feature trackingfeature tracking

),,( yx

Page 4: Localisation & Navigation

Khepera Odometry

Non-Holonomic – must rotate about central vertical axis by wheel rotation counts L = -R

Wheel Geometry:Wheel Geometry:

Page 5: Localisation & Navigation

Computing Khepara position• N=600 encoder pulses/full wheel rotationN=600 encoder pulses/full wheel rotation• L & R encoder pulses commanded (or speed &L & R encoder pulses commanded (or speed & time)time)• Wheel radius Wheel radius • Left/right wheel travel: &Left/right wheel travel: &• Wheel separation dWheel separation d

2

)(2NLrtl )(2

NRrtr

/25r

Page 6: Localisation & Navigation

Khepera Position Update I

2/)(

/)(

|)2/(||)2/(|

2/)(||

rl

lr

l

r

lr

tth

dtt

dhtdhttth

Page 7: Localisation & Navigation

Khepera Position II

)sin()cos(

rtyx

yx

1)cos()sin(

)cos()sin()sin()cos(

hyx

yx

If Khepera rotating:If Khepera rotating:

If not rotating:If not rotating: ),0( rl tt

Page 8: Localisation & Navigation

Khepera Inverse Kinematics

rl tt &

Assume smooth pathAssume smooth pathCompute from change in bearingCompute from change in bearingCompute h from change in positionCompute h from change in positionCompute Compute Compute left & right wheel pulse Compute left & right wheel pulse incrementsincrements (L & R)(L & R)

Page 9: Localisation & Navigation

Navigating With Beacons

Dead reckoning: wheel slip means increasing errorDead reckoning: wheel slip means increasing error

Periodically observe markers to recalculate positionPeriodically observe markers to recalculate position

Classical style: sense, compute, actClassical style: sense, compute, act

Beacons: easily identifiable features: IR LEDsBeacons: easily identifiable features: IR LEDs special markers, bar codes special markers, bar codes

Page 10: Localisation & Navigation

2D Beacon ObservationObserve direction to 3 beaconsObserve direction to 3 beaconsBeacons have known positionBeacons have known positionAngle and between pairs of beaconsAngle and between pairs of beaconsLocate self by triangulationLocate self by triangulationNeed lots of beaconsNeed lots of beacons

Page 11: Localisation & Navigation

Beacons with rangeAssume can measure distances (u,v) to 2 beacons(A,B) as well as bearing (e.g. with a range sensor)

Page 12: Localisation & Navigation

Beacons cont.

Need:Need:• Lots of beaconsLots of beacons• Map of beacon locationMap of beacon location• Easily identifiable beaconsEasily identifiable beacons

Common alternative:Common alternative: Use existing scene features: doorways, Use existing scene features: doorways, cornerscorners

Page 13: Localisation & Navigation

Navigation IPlanning how to get to destinationPlanning how to get to destinationKeeping track of current positionKeeping track of current position

Classical robotics approachClassical robotics approach1.1. Sense: localisation (previous)Sense: localisation (previous)2.2. Plan: path planning (now)Plan: path planning (now)3.3. Act: move (kinematics)Act: move (kinematics)4.4. Repeat 1-3 until at goalRepeat 1-3 until at goal

Page 14: Localisation & Navigation

Path Planning IGet route from current point to destinationGet route from current point to destination that avoids obstaclesthat avoids obstacles

Assume a world map, with observable featuresAssume a world map, with observable featuresin known positions (e.g. corners, doors, walls)in known positions (e.g. corners, doors, walls)

Page 15: Localisation & Navigation

Avoiding Obstacles

Simplest approach for convex robots is to Simplest approach for convex robots is to enlarge environment by size of robotenlarge environment by size of robot

Page 16: Localisation & Navigation

Route Planning IGraph search:Graph search:• Nodes: floor regions + centre of massNodes: floor regions + centre of mass• Arcs: connectivity & straight line distanceArcs: connectivity & straight line distance between lines of sightbetween lines of sight

Here graph trivial.Here graph trivial.Normally use Dijkstra’sNormally use Dijkstra’sAlgorithm for shortestAlgorithm for shortestrouteroute

Page 17: Localisation & Navigation

Route Planning II

More realistic graphMore realistic graph

Page 18: Localisation & Navigation

Route Planning – Potential FieldsGive a scene free space map, compute 2 Give a scene free space map, compute 2

fields:fields:1.1. F(x,y): distance from nearest obstacleF(x,y): distance from nearest obstacle (eg. corridor wall)(eg. corridor wall)2.2. G(x,y): distance from goal positionG(x,y): distance from goal position

Page 19: Localisation & Navigation

Potential Fields IIDefine H(x,y)=F(x,y)-k*G(x,y)Define H(x,y)=F(x,y)-k*G(x,y)Move in direction of maximum gradient:Move in direction of maximum gradient:

GkFH : Force vector from walls: Force vector from walls : Force vector towards goal: Force vector towards goalAvoids walls while moving towards goalAvoids walls while moving towards goalAvoids explicit path planningAvoids explicit path planningNeed only compute F,G near current positionNeed only compute F,G near current positionLocal minina possible: stuckLocal minina possible: stuck

FG

Page 20: Localisation & Navigation

Mars Rovers2 Rovers: Spirit & Opportunity2 Rovers: Spirit & OpportunityOpportunity: 1350 Sols travel, 11.5 km (design: 90 Sols)Opportunity: 1350 Sols travel, 11.5 km (design: 90 Sols)Humans: route goalsHumans: route goalsRobot: route following, obstacle detection,Robot: route following, obstacle detection,

power and motor managementpower and motor managementVictoria crater (0.8 km diameter) route from Sol 860-952Victoria crater (0.8 km diameter) route from Sol 860-952

Page 21: Localisation & Navigation

Reactive Navigation I

Classical Robot Control ParadigmClassical Robot Control Paradigm

Page 22: Localisation & Navigation

Reactive Navigation IIReactive: responds immediately to sensor dataReactive: responds immediately to sensor dataMIT’s Rodney Brooks Subsumption ArchitectureMIT’s Rodney Brooks Subsumption ArchitectureHierarchy of parallel behavioursHierarchy of parallel behavioursUpper depend on, but also override lower onesUpper depend on, but also override lower ones

Page 23: Localisation & Navigation

Reactive Navigation III

Run videoRun video

Page 24: Localisation & Navigation

Reactive Navigation IV

Genghis’s leg Augmented (with timers) Finite State MachineGenghis’s leg Augmented (with timers) Finite State Machine

Page 25: Localisation & Navigation

Localisation & Navigation Summary

1.1. Global features/beacons allow direct positionGlobal features/beacons allow direct position feedbackfeedback2. Odometry: position based on estimated motion2. Odometry: position based on estimated motion3. Path planning using symbolic (graph) or3. Path planning using symbolic (graph) or numerical (potential fields)numerical (potential fields)4. Reactive methods respond to world rather than4. Reactive methods respond to world rather than model itmodel it