Robotic Agents (CMPSC 311)
Robot Navigation Janyl Jumadinova September 19, 2019
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 1 / 31
Robotic Agents (CMPSC 311) Robot Navigation Janyl Jumadinova - - PowerPoint PPT Presentation
Robotic Agents (CMPSC 311) Robot Navigation Janyl Jumadinova September 19, 2019 Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 1 / 31 Do we need to localize or not? To go from A to B , does the robot need to know where it is?
Robot Navigation Janyl Jumadinova September 19, 2019
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 1 / 31
To go from A to B, does the robot need to know where it is?
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 2 / 31
To go from A to B, does the robot need to know where it is?
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 2 / 31
How to navigate between A and B: navigation without hitting obstacles, detection of goal location.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 3 / 31
How to navigate between A and B: navigation without hitting obstacles, detection of goal location. Possible by always following the left wall
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 3 / 31
How to navigate between A and B: navigation without hitting obstacles, detection of goal location. Possible by always following the left wall
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 3 / 31
Following the left wall is an example of behavior-based navigation. It can work in some environments, but not in all.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 4 / 31
Following the left wall is an example of behavior-based navigation. It can work in some environments, but not in all. With which accuracy and reliability do we reach the goal?
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 4 / 31
As opposed to behavior-based navigation is map-based navigation. Assuming that the map is known, at every time step the robot has to know where it is. How?
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 5 / 31
As opposed to behavior-based navigation is map-based navigation. Assuming that the map is known, at every time step the robot has to know where it is. How? If we know the start position, we can use wheel odometry or previous position and estimated speed.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 5 / 31
As opposed to behavior-based navigation is map-based navigation. Assuming that the map is known, at every time step the robot has to know where it is. How? If we know the start position, we can use wheel odometry or previous position and estimated speed. Is this enough? What else can we use?
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 5 / 31
As opposed to behavior-based navigation is map-based navigation. Assuming that the map is known, at every time step the robot has to know where it is. How? If we know the start position, we can use wheel odometry or previous position and estimated speed. Is this enough? What else can we use? How do we represent the map for the robot? And how do we represent the position of the robot in the map? (return to this later)
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 5 / 31
Localization based on external sensors, beacons or landmarks. Odometry. Map Based Localization (without external sensors or artificial landmarks; just using robot onboard sensors)
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 6 / 31
The beacons are fixed at appropriate locations in the environment. The precise locations of these beacons are known to the robot. As it moves, it uses some on-board device to measure its exact distance and direction from any one beacon. Hence the robot can calculate its own precise position in the environment.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 7 / 31
The beacons are fixed at appropriate locations in the environment. The precise locations of these beacons are known to the robot. As it moves, it uses some on-board device to measure its exact distance and direction from any one beacon. Hence the robot can calculate its own precise position in the environment.
them (example: RoboCup or autonomous robots in tennis fields)
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 7 / 31
Dead reckoning (also deduced reckoning or odometry) is the process
determined position and estimated speeds over the elapsed time.
Odometry: wheel sensors only Dead reckoning: also heading sensors
Robot motion is recovered by integrating proprioceptive sensor velocities readings.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 8 / 31
Dead reckoning (also deduced reckoning or odometry) is the process
determined position and estimated speeds over the elapsed time.
Odometry: wheel sensors only Dead reckoning: also heading sensors
Robot motion is recovered by integrating proprioceptive sensor velocities readings. Pros: Straightforward Cons: Errors are integrated → unbound Heading sensors (e.g., gyroscope) help to reduce the accumulated errors but drift remains.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 8 / 31
Consider a mobile robot moving in a known environment.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 9 / 31
Consider a mobile robot moving in a known environment. As it starts to move, say from a precisely known location, it might keep track of its location using odometry.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 9 / 31
Consider a mobile robot moving in a known environment. As it starts to move, say from a precisely known location, it might keep track of its location using odometry. However, after a certain movement the robot will get very uncertain about its position → update using an observation of its environment.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 9 / 31
Consider a mobile robot moving in a known environment. As it starts to move, say from a precisely known location, it might keep track of its location using odometry. However, after a certain movement the robot will get very uncertain about its position → update using an observation of its environment. Observation leads also to an estimate of the robot position which can then be fused with the odometric estimation to get the best possible update of the robots actual position.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 9 / 31
Consider a mobile robot moving in a known environment.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 10 / 31
Consider a mobile robot moving in a known environment. As it starts to move, say from a precisely known location, it can keep track of its motion using odometry.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 11 / 31
Consider a mobile robot moving in a known environment. As it starts to move, say from a precisely known location, it can keep track of its motion using odometry.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 12 / 31
Consider a mobile robot moving in a known environment. As it starts to move, say from a precisely known location, it can keep track of its motion using odometry.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 13 / 31
Consider a mobile robot moving in a known environment. As it starts to move, say from a precisely known location, it can keep track of its motion using odometry. The robot makes an observation and updates its position and uncertainty.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 14 / 31
Probability theory → error propagation, sensor fusion. Belief representation (map/position) → discrete / continuous. Motion model → odometry model. Sensing → measurement model.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 15 / 31
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 16 / 31
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 17 / 31
Markov localization uses an explicit, discrete representation for the probability of all positions in the state space.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 18 / 31
Markov localization uses an explicit, discrete representation for the probability of all positions in the state space. Usually represent the environment by a finite number of (states) positions:
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 18 / 31
Markov localization uses an explicit, discrete representation for the probability of all positions in the state space. Usually represent the environment by a finite number of (states) positions:
At each iteration, the probability of each state of the entire space is updated.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 18 / 31
We assume in localization the Markov Property holds true.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 19 / 31
We assume in localization the Markov Property holds true. Markov Property (memorylessness) A stochastic process satisfies the Markov Property if it is conditional only
independent.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 19 / 31
We assume in localization the Markov Property holds true. Markov Property (memorylessness) A stochastic process satisfies the Markov Property if it is conditional only
independent. Future sensor readings are conditionally independent of past readings, given the true current position of the robot.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 19 / 31
Time steps taken from an example of the robot Minerva navigating around the Smithsonian. In the following figures:
Figures courtesy of W. Burgard
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 20 / 31
Museum: Laser Scan 1
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 21 / 31
Museum: Laser Scan 2
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 22 / 31
Museum: Laser Scan 3
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 23 / 31
Museum: Laser Scan 13
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 24 / 31
Museum: Laser Scan 21
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 25 / 31
Pros: localization starting from any unknown position recovers from ambiguous situation Cons: However, to update the probability of all positions within the whole state space at any time requires a discrete representation of the space (grid). The required memory and calculation power can thus become very important if a fine grid is used.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 26 / 31
Given a probability distribution over inputs, computing the distribution over outcomes can be hard.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 27 / 31
Given a probability distribution over inputs, computing the distribution over outcomes can be hard.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 27 / 31
Given a probability distribution over inputs, computing the distribution over outcomes can be hard.
Sample concrete instances (“particles”) from the input distribution.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 27 / 31
Given a probability distribution over inputs, computing the distribution over outcomes can be hard.
Sample concrete instances (“particles”) from the input distribution. Collect the outcomes.
distribution.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 27 / 31
Given a probability distribution over inputs, computing the distribution over outcomes can be hard.
Sample concrete instances (“particles”) from the input distribution. Collect the outcomes.
distribution. This has been called “particle filtering”.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 27 / 31
Key idea: represent the belief that a robot is at a particular location by a set of “samples”, or “particles”.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 28 / 31
Key idea: represent the belief that a robot is at a particular location by a set of “samples”, or “particles”. Maintain multiple estimates of robot’s location. A concrete instance is a particular pose.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 28 / 31
Key idea: represent the belief that a robot is at a particular location by a set of “samples”, or “particles”. Maintain multiple estimates of robot’s location. A concrete instance is a particular pose.
A probability distribution is represented by a collection of N poses.
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 28 / 31
Key idea: represent the belief that a robot is at a particular location by a set of “samples”, or “particles”. Maintain multiple estimates of robot’s location. A concrete instance is a particular pose.
A probability distribution is represented by a collection of N poses.
Initialize with
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 28 / 31
Predict, Weight, Resample
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 29 / 31
Predict, Weight, Resample
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 30 / 31
Predict, Weight, Resample
Janyl Jumadinova Robotic Agents (CMPSC 311) September 19, 2019 31 / 31