Lab 2 Lab 3 Homework Labs 4-6 Final Project Late No Videos Write up

Slides:



Advertisements
Similar presentations
Bayesian Belief Propagation
Advertisements

Mobile Robot Localization and Mapping using the Kalman Filter
Odometry Error Modeling Three noble methods to model random odometry error.
Probabilistic Robotics
Probabilistic Robotics
Probabilistic Robotics
Probabilistic Robotics SLAM. 2 Given: The robot’s controls Observations of nearby features Estimate: Map of features Path of the robot The SLAM Problem.
(Includes references to Brian Clipp
Monte Carlo Localization for Mobile Robots Karan M. Gupta 03/10/2004
The GraphSLAM Algorithm Daniel Holman CS 5391: AI Robotics March 12, 2014.
IR Lab, 16th Oct 2007 Zeyn Saigol
Probabilistic Robotics
Markov Localization & Bayes Filtering 1 with Kalman Filters Discrete Filters Particle Filters Slides adapted from Thrun et al., Probabilistic Robotics.
Simultaneous Localization and Mapping
Simultaneous Localization & Mapping - SLAM
Introduction to Mobile Robotics Bayes Filter Implementations Gaussian filters.
Probabilistic Robotics: Kalman Filters
Robotic Mapping: A Survey Sebastian Thrun, 2002 Presentation by David Black-Schaffer and Kristof Richmond.
Adam Rachmielowski 615 Project: Real-time monocular vision-based SLAM.
Stanford CS223B Computer Vision, Winter 2007 Lecture 12 Tracking Motion Professors Sebastian Thrun and Jana Košecká CAs: Vaibhav Vaish and David Stavens.
Introduction to Kalman Filter and SLAM Ting-Wei Hsu 08/10/30.
Active Simultaneous Localization and Mapping Stephen Tully, : Robotic Motion Planning This project is to actively control the.
SLAM: Simultaneous Localization and Mapping: Part I Chang Young Kim These slides are based on: Probabilistic Robotics, S. Thrun, W. Burgard, D. Fox, MIT.
Probabilistic Robotics
Probabilistic Robotics
Authors: Joseph Djugash, Sanjiv Singh, George Kantor and Wei Zhang
Single Point of Contact Manipulation of Unknown Objects Stuart Anderson Advisor: Reid Simmons School of Computer Science Carnegie Mellon University.
Estimation and the Kalman Filter David Johnson. The Mean of a Discrete Distribution “I have more legs than average”
Overview and Mathematics Bjoern Griesbach
Particle Filtering. Sensors and Uncertainty Real world sensors are noisy and suffer from missing data (e.g., occlusions, GPS blackouts) Use sensor models.
ROBOT MAPPING AND EKF SLAM
Kalman filter and SLAM problem
Markov Localization & Bayes Filtering
/09/dji-phantom-crashes-into- canadian-lake/
Computer vision: models, learning and inference Chapter 19 Temporal models.
Lab 4 1.Get an image into a ROS node 2.Find all the orange pixels (suggest HSV) 3.Identify the midpoint of all the orange pixels 4.Explore the findContours.
Computer vision: models, learning and inference Chapter 19 Temporal models.
Simultaneous Localization and Mapping Presented by Lihan He Apr. 21, 2006.
Mapping and Localization with RFID Technology Matthai Philipose, Kenneth P Fishkin, Dieter Fox, Dirk Hahnel, Wolfram Burgard Presenter: Aniket Shah.
Probabilistic Robotics Bayes Filter Implementations Gaussian filters.
Probabilistic Robotics Bayes Filter Implementations.
Young Ki Baik, Computer Vision Lab.
Visual SLAM Visual SLAM SPL Seminar (Fri) Young Ki Baik Computer Vision Lab.
Mobile Robot Localization (ch. 7)
Real-Time Simultaneous Localization and Mapping with a Single Camera (Mono SLAM) Young Ki Baik Computer Vision Lab. Seoul National University.
Range-Only SLAM for Robots Operating Cooperatively with Sensor Networks Authors: Joseph Djugash, Sanjiv Singh, George Kantor and Wei Zhang Reading Assignment.
Short Introduction to Particle Filtering by Arthur Pece [ follows my Introduction to Kalman filtering ]
Vision-based SLAM Enhanced by Particle Swarm Optimization on the Euclidean Group Vision seminar : Dec Young Ki BAIK Computer Vision Lab.
State Estimation and Kalman Filtering Zeeshan Ali Sayyed.
Tracking with dynamics
Particle Filtering. Sensors and Uncertainty Real world sensors are noisy and suffer from missing data (e.g., occlusions, GPS blackouts) Use sensor models.
Sebastian Thrun Michael Montemerlo
10-1 Probabilistic Robotics: FastSLAM Slide credits: Wolfram Burgard, Dieter Fox, Cyrill Stachniss, Giorgio Grisetti, Maren Bennewitz, Christian Plagemann,
SLAM Techniques -Venkata satya jayanth Vuddagiri 1.
Autonomous Mobile Robots Autonomous Systems Lab Zürich Probabilistic Map Based Localization "Position" Global Map PerceptionMotion Control Cognition Real.
General approach: A: action S: pose O: observation Position at time t depends on position previous position and action, and current observation.
Probabilistic Robotics Bayes Filter Implementations Gaussian filters.
SLAM : Simultaneous Localization and Mapping
Probabilistic Robotics Graph SLAM
Paper – Stephen Se, David Lowe, Jim Little
+ SLAM with SIFT Se, Lowe, and Little Presented by Matt Loper
Probabilistic Robotics
Simultaneous Localization and Mapping
Probabilistic Robotics
Particle Filter/Monte Carlo Localization
A Short Introduction to the Bayes Filter and Related Models
Probabilistic Map Based Localization
Probabilistic Robotics
Kalman Filtering COS 323.
Probabilistic Robotics Bayes Filter Implementations FastSLAM
Presentation transcript:

Lab 2 Lab 3 Homework Labs 4-6 Final Project Late No Videos Write up Functions 150cm spiral Homework Labs 4-6 Final Project

Mid-semester feedback What do you think of the balance of theoretical vs. applied work? What’s been most useful to you (and why)? What’s been least useful (and why)? What could students do to improve the class? What could Matt do to improve the class?

Example Right

Kalman Filter (Section 5.6.8) μ’=μ+u σ2’=σ2+r2 Sense Move Gaussian: μ, σ2 Initial Belief

Kalman Filter in Multiple Dimensions 2D Gaussian

Implementing a Kalman Filter example VERY simple model of robot movement: What information do our sensors give us?

Implementing a Kalman Filter example H H = [1 0]

Implementing a Kalman Filter Estimate P’ uncertainty covariance F state transition matrix u motion vector F motion noise Measurement measurement function measurement noise identity matrix

Particle Filter Localization (using sonar) http://www.cs.washington.edu/ai/Mobile_Robotics//mcl/animations/global-floor-start.gif

Particles Each particle is a guess about where the robot might be x y θ

move each particle according to the rules of motion Robot Motion move each particle according to the rules of motion + add random noise 𝑛 particles 𝑛 particles

Incorporating Sensing

Incorporating Sensing

Incorporating Sensing Difference between the actual measurement and the estimated measurement Importance weight

Importance weight python code def Gaussian(self, mu, sigma, x): # calculates the probability of x for 1-dim Gaussian with mean mu and var. sigma return exp(- ((mu - x) ** 2) / (sigma ** 2) / 2.0) / sqrt(2.0 * pi * (sigma ** 2)) def measurement_prob(self, measurement): # calculates how likely a measurement should be prob = 1.0; for i in range(len(landmarks)): dist = sqrt((self.x - landmarks[i][0]) ** 2 + (self.y - landmarks[i][1]) ** 2) prob *= self.Gaussian(dist, self.sense_noise, measurement[i]) return prob def get_weights(self): w = [] for i in range(N): #for each particle w.append(p[i].measurement_prob(Z)) #set it’s weight to p(measurement Z) return w

Importance weight pseudocode Calculate the probability of a sensor measurement for a particle: prob = 1.0; for each landmark d = Euclidean distance to landmark prob *= Gaussian probability of obtaining a reading at distance d for this landmark from this particle return prob

Incorporating Sensing

Resampling Importance Weight 0.2 0.6 𝑛 original particles 0.8 Sum is 2.8

Normalized Probability Resampling 𝑛 original particles Importance Weight Normalized Probability 0.2 0.07 0.6 0.21 0.8 0.29 Sum is 2.8

Normalized Probability Resampling 𝑛 original particles Importance Weight Normalized Probability 0.2 0.07 0.6 0.21 0.8 0.29 Sample n new particles from previous set Each particle chosen with probability p, with replacement Sum is 2.8

Normalized Probability Resampling Is it possible that one of the particles is never chosen? Yes! Is it possible that one of the particles is chosen more than once? 𝑛 original particles Importance Weight Normalized Probability 0.2 0.07 0.6 0.21 0.8 0.29 Sample n new particles from previous set Each particle chosen with probability p, with replacement Sum is 2.8

Normalized Probability Resampling What is the probability that this particle is not chosen during the resampling of the six new particles? 0.71 6 =0.13 𝑛 original particles Importance Weight Normalized Probability 0.2 0.07 0.6 0.21 0.8 0.29 .71 ^ 6 = 12.8% Sample n new particles from previous set Each particle chosen with probability p, with replacement Sum is 2.8

Normalized Probability What is the probability that this particle is not chosen during the resampling of the six new particles? 0.93 6 =.65 Resampling 𝑛 original particles Importance Weight Normalized Probability 0.2 0.07 0.6 0.21 0.8 0.29 Sample n new particles from previous set Each particle chosen with probability p, with replacement Sum is 2.8

Question What happens if there are no particles near the correct robot location?

Question What happens if there are no particles near the correct robot location? Possible solutions: Add random points each cycle Add random points each cycle, where is proportional to the average measurement error Add points each cycle, located in states with a high likelihood for the current observations

Summary Kalman Filter Particle Filter Continuous Unimodal Harder to implement More efficient Requires a good starting guess of robot location Particle Filter Continuous Multimodal Easier to implement Less efficient Does not require an accurate prior estimate

SLAM Simultaneous localization and mapping: Is it possible for a mobile robot to be placed at an unknown location in an unknown environment and for the robot to incrementally build a consistent map of this environment while simultaneously determining its location within this map? http://flic.kr/p/9jdHrL

Three Basic Steps The robot moves increases the uncertainty on robot pose need a mathematical model for the motion called motion model

Three Basic Steps The robot discovers interesting features in the environment called landmarks uncertainty in the location of landmarks need a mathematical model to determine the position of the landmarks from sensor data called inverse observation model

Three Basic Steps The robot observes previously mapped landmarks uses them to correct both self localization and the localization of all landmarks in space uncertainties decrease need a model to predict the measurement from predicted landmark location and robot localization called direct observation model

How to do SLAM

How to do SLAM

How to do SLAM

How to do SLAM

How to do SLAM

How to do SLAM

How to do SLAM

How to do SLAM

How to do SLAM

The Essential SLAM Problem

SLAM Paradigms Some of the most important approaches to SLAM: Extended Kalman Filter SLAM (EKF SLAM) Particle Filter SLAM (FAST SLAM) GraphSLAM

EKF Slam Keep track of combined state vector at time t: x, y, θ m1,x, m1,y, s1 … mN,x, mN,y, sN m = estimated coordinates of a landmark s = sensor’s signature for this landmark Very similar to EKF localization, starting at origin

EKF-SLAM Grey: Robot Pose Estimate White: Landmark Location Estimate

Visual Slam Single Camera What’s harder? How could it be possible? angle

GraphSLAM SLAM can be interpreted as a sparse graph of nodes and constraints between nodes.

GraphSLAM SLAM can be interpreted as a sparse graph of nodes and constraints between nodes. nodes: robot locations and map-feature locations edges: constraints between consecutive robot poses (given by the odometry input u) robot poses and the features observed from these poses.

GraphSLAM Key property: constraints are not to be thought as rigid constraints but as soft constraints Constraints acting like springs Solve full SLAM by relaxing these constraints get the best estimate of the robot path and the environment map by computing the state of minimal energy of this spring mass network

GraphSLAM

GraphSLAM

GraphSLAM

GraphSLAM Build graph Inference: solve system of linear equations to get map and path

GraphSLAM The update time of the graph is constant. The required memory is linear in the number of features. Final graph optimization can become computationally costly if the robot path is long. Impressing results with even hundred million features. End of 483_13