1 / 27

Localization & Navigation

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

luigi
Download Presentation

Localization & Navigation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. 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

  5. “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,Θ)

  6. Behavior Based Navigation • Can Robbie the Reactive Robot get from point A to point B?

  7. Goal Directed Behavior Based Control How would Robbie navigate an office building?

  8. Behavior-Based Navigation Vs. Delibrative Navigation

  9. 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

  10. 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

  11. 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

  12. Types of Mobile Bases • Omni Drive • Wheel capable of rolling in any direction. • Robot can change direction without rotating the base

  13. 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)

  14. Types of Mobile Bases

  15. 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

  16. 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

  17. Wheel Encoders • Two types of wheel encoders • Note that there are two transitions per rotation reflectance sensor slot sensor

  18. How is the Accuracy Determined?

  19. 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 enables disable_encoder(encoder#); read_encoder(encoder#); • returns the number of transitions reset_encoder(encoder#); • sets that encoder’s count back to 0

  20. How far has the robot traveled and how far has it turned?

  21. Which way am I going? • Heading • Percentage of the circumference of the circle with radius d

  22. How far have I gone? • Half the distance of the arc at the end of the motion • Distance moved for center of the robot

  23. Adding it up • (x,y,Θ) • Update the position information at each sensor update. • How large can a single segment be? • What does this assume?

  24. 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

  25. Example

  26. Errors • Systematic Errors vs. Random Errors • Can they be managed?

More Related