27
Localization & Navigation Announcement: Robot Manipulator Lab will be due the week of March 29th

Localization & Navigation

  • Upload
    luigi

  • View
    65

  • Download
    2

Embed Size (px)

DESCRIPTION

Localization & Navigation. Announcement : Robot Manipulator Lab will be due the week of March 29th. Computer with Wheels. Where am I? Localization problem Kidnapped robot problem What way should I take to get there? Path Planning (Pathing) Where am I going? Mission planning - PowerPoint PPT Presentation

Citation preview

Page 1: Localization & Navigation

Localization & Navigation

Announcement: Robot Manipulator Lab will be due the

week of March 29th

Page 2: Localization & Navigation

Computer with Wheels• Where am I?

– Localization problem– Kidnapped robot problem

• What way should I take to get there?– Path Planning (Pathing)

• Where am I going?– Mission planning

• Where have I been?– Map Making or Map Enhancement

Page 4: Localization & Navigation

Why is it difficult for a robot to know where it is?

• Sensors are the fundamental input for the process of perception, therefore the degree sensors can discriminate the world state is critical

• Sensor Aliasing– Many-to-one mapping between environmental states to

the robot’s perceptual inputs– Amount of information is generally insufficient to identify

the robot’s position from a single sensor reading

Page 5: Localization & Navigation

Why is it difficult for a robot to know where it is?

• Sensor Noise– Adds a limitation on the consistency of sensor readings– Often the source of noise problems is that some

environmental features are not captured by the robot’s representation.

• Dynamic Environments• Unanticipated Events• Obstacle Avoidance

Page 6: Localization & Navigation

“Where am I”?• Localization

– Given an initial estimate, q, of the robot’s location in configuration space, maintain an ongoing estimate of the robot pose with respect to the map, P(q).

– Configuration Space (Cspace): data structure which allows the robot to specify its pose

– Pose: (x,y,Θ)

Page 7: Localization & Navigation

Behavior Based Navigation• Can Robbie the Reactive Robot get from

point A to point B?

Page 8: Localization & Navigation

Goal Directed Behavior Based Control

How would Robbie navigate an office building?

Page 9: Localization & Navigation

Behavior-Based Navigation Vs. Delibrative Navigation

Page 10: Localization & Navigation

The Cartographer: Spatial Memory

• Data structures and methods for interpreting and storing sensory input with relation to the robot’s world– Representation of the world– Sensory input interpretation– Focus attention– Path planning & evaluation– Collection of information about the current

environment

Page 11: Localization & Navigation

Map Representations• Quantitative (Metric Representations)• Topological (Landmarks)• Important considerations

– Sufficiently represent the environment• Enough detail to navigate potential problems

– Space and time complexity– Sufficiently represent the limitations of the

robot– Support for map changes and re-planning– Compatibility with reactive layer

Page 12: Localization & Navigation

Many Types of Mobile Bases

• Differential Drive– Two independently

driven wheels on opposite sides of the robot

– 3 DoF: pose = [x,y,Θ]– Holonomic: can be

treated as a massless point that can move in any direction

Page 13: Localization & Navigation

Types of Mobile Bases

• Omni Drive– Wheel capable of rolling in any direction.– Robot can change direction without rotating the base

Page 14: Localization & Navigation

Types of Mobile Bases• Ackerman Drive

– Typical car steering– Non-holonomic: must

take into account position and velocity variable (can’t turn a car without moving it forward)

Page 15: Localization & Navigation

Types of Mobile Bases

Page 16: Localization & Navigation

Using Dead Reckoning to Estimate Pose

• “ded reckoning” or deduced reckoning – Reckon: to determine by reference to a fixed

basis• Keep track off the current position by noting

how far the robot has traveled on a specific heading– Used for maritime navigation– Proprioceptive

Page 17: Localization & Navigation

Dead Reckoning with Shaft Encoders• How far has a wheel traveled?

distance = 2 * PI * radius * #revolutions

• Two types of wheel encoders

reflectance sensor slot

sensor

Page 18: Localization & Navigation

• Two types of wheel encoders

• Note that there are two transitions per rotation

Wheel Encoders

reflectance sensor slot

sensor

Page 19: Localization & Navigation

How is the Accuracy Determined?

Page 20: Localization & Navigation

Using Encoders with the HB • Encoder functions defined in standard HB libraries • Connect to ports 7, 8, 12, 13 (encoder# is 0, 1, 2, 3)

enable_encoder(encoder#);– enable an encoder only once...unless you disable it

between enablesdisable_encoder(encoder#);read_encoder(encoder#);– returns the number of transitionsreset_encoder(encoder#);– sets that encoder’s count back to 0

Page 21: Localization & Navigation

How far has the robot traveled and

how far has it turned?

Page 22: Localization & Navigation

Which way am I going?

• Heading– Percentage of the circumference of the circle

with radius d

Page 23: Localization & Navigation

How far have I gone?

• Half the distance of the arc at the end of the motion– Distance moved for center of the robot

Page 24: Localization & Navigation

Adding it up

• (x,y,Θ)• Update the position

information at each sensor update.

• How large can a single segment be?

• What does this assume?

Page 25: Localization & Navigation

Navigation with a Relational Graph• Graph representation: G = (V,E)

– Landmarks and paths connecting

– DAG– Paths can contain additional

information• Shortest Path Algorithm

– Dijkstra’s Shortest Path

Page 26: Localization & Navigation

Example

Page 27: Localization & Navigation

Errors• Systematic Errors vs. Random Errors

– Can they be managed?