Learning Roomba Module 5 - Localization Outline What is Localization? Why is Localization important? Why is Localization hard? Some Approaches Using the Fixed-Camera Localization Exercises What is Localization? Process of determining where a robot is in its environment Absolute position in the world Position in a map Relative to the start position Relative to some landmark Relative to another robot Some other way of identifying location What is Localization? Can be done with or without a map of the environment A map contains information about the environment that the robot can use to help localize itself Why is Localization important? Robot needs to know where it is to know how to act Without knowing where you are, you can only wander around randomly Cannot navigate to a location without knowing where you are Many tasks rely on navigation Why is Localization Hard? Robot needs to know about its enviornment Sensors are not always accurate Noisy Unreliable Sensors do not tell the Robot what it needs to know Many sensors report distance to an object, not where the Robot is Some Approaches Odometry Global Positioning Systems Landmarks Trilateration Distance Sensors Others Using the Fixed-Camera Localization getLocalizedX() Returns the Localized X-position of the Roomba in Meters getLocalizedY() Returns the Localized Y-position of the Roomba in Meters Using the Fixed-Camera Localization X and Y positions are grid locations in the world Diagram taken from BBC’s website Principles of the Fixed-Camera Localization Merges 3 Concepts Odometry Readings Topological Map Image Tracking Principles of the Fixed-Camera Localization Odometry Readings Recorded from the sensors on the Roomba’s wheels Map can be built over time of where the Roomba has visited. Only as accurate as the sensors Accuracy worsens over time due to drift and skidding Principles of the Fixed-Camera Localization Topological Map Type of Graph Vertices are interesting features in the environment Edges are transitions between the features Usually able to determine when an already visited feature has been reached Principles of the Fixed-Camera Localization Image Tracking Able to find the Roomba in an image Looks for an area with an average color similar to the average color of the Roomba Tracked points in the image become points of interest (Vertices) in the Topological map Camera does not move, so the same pixel represents the same location of the Roomba Principles of the Fixed-Camera Localization As the Roomba drives in the Environment, the algorithm builds the Topological Map Vertices are tracked image coordinates Edges are odometry readings to get from one image coordinate to another The Topological Map can be used to determine the position of the Roomba Finds the current image coordinates where the Roomba is Find the shortest path between the start position and the current position through the Topological Map Exercises Report the position of a virtual wall beam. To do so, have the robot drive until it detects a virtual wall. Print the localized positions once it has reached the beam. Exercises Write a program that will have the Roomba drive in a square 10 times with each side of the square being 1 meter long. Print out the X-Position and YPosition according to Odometry and localization Questions?