localization & navigation
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 PresentationTRANSCRIPT
![Page 1: Localization & Navigation](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/1.jpg)
Localization & Navigation
Announcement: Robot Manipulator Lab will be due the
week of March 29th
![Page 2: Localization & Navigation](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/6.jpg)
“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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/7.jpg)
Behavior Based Navigation• Can Robbie the Reactive Robot get from
point A to point B?
![Page 8: Localization & Navigation](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/8.jpg)
Goal Directed Behavior Based Control
How would Robbie navigate an office building?
![Page 9: Localization & Navigation](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/9.jpg)
Behavior-Based Navigation Vs. Delibrative Navigation
![Page 10: Localization & Navigation](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/15.jpg)
Types of Mobile Bases
![Page 16: Localization & Navigation](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/18.jpg)
• Two types of wheel encoders
• Note that there are two transitions per rotation
Wheel Encoders
reflectance sensor slot
sensor
![Page 19: Localization & Navigation](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/19.jpg)
How is the Accuracy Determined?
![Page 20: Localization & Navigation](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/21.jpg)
How far has the robot traveled and
how far has it turned?
![Page 22: Localization & Navigation](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/22.jpg)
Which way am I going?
• Heading– Percentage of the circumference of the circle
with radius d
![Page 23: Localization & Navigation](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/26.jpg)
Example
![Page 27: Localization & Navigation](https://reader030.vdocuments.net/reader030/viewer/2022033102/568167f5550346895ddd6fd8/html5/thumbnails/27.jpg)
Errors• Systematic Errors vs. Random Errors
– Can they be managed?