Robotics Club: 5:30 this evening

Slides:



Advertisements
Similar presentations
Mobile Robot Localization and Mapping using the Kalman Filter
Advertisements

Problem solving with graph search
Artificial Intelligence CS482, CS682, MW 1 – 2:15, SEM 201, MS 227 Prerequisites: 302, 365 Instructor: Sushil Louis,
Sensor Based Planners Bug algorithms.
Motion Planning for Point Robots CS 659 Kris Hauser.
Sonar and Localization LMICSE Workshop June , 2005 Alma College.
University of Amsterdam Search, Navigate, and Actuate - Quantitative Navigation Arnoud Visser 1 Search, Navigate, and Actuate Quantative Navigation.
Mapping with Known Poses
Monte Carlo Localization for Mobile Robots Karan M. Gupta 03/10/2004
Bayesian Robot Programming & Probabilistic Robotics Pavel Petrovič Department of Applied Informatics, Faculty of Mathematics, Physics and Informatics
Probabilistic Robotics Probabilistic Motion Models.
Motion planning, control and obstacle avoidance D. Calisi.
Autonomous Robot Navigation Panos Trahanias ΗΥ475 Fall 2007.
Robotic Mapping: A Survey Sebastian Thrun, 2002 Presentation by David Black-Schaffer and Kristof Richmond.
1 Single Robot Motion Planning - II Liang-Jun Zhang COMP Sep 24, 2008.
ECE 4340/7340 Exam #2 Review Winter Sensing and Perception CMUcam and image representation (RGB, YUV) Percept; logical sensors Logical redundancy.
Monte Carlo Localization
CS 326A: Motion Planning Basic Motion Planning for a Point Robot.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
Planetary Surface Robotics ENAE 788U, Spring 2005 U N I V E R S I T Y O F MARYLAND Lecture 8 Mapping 5 April, 2005.
Bayesian Filtering for Location Estimation D. Fox, J. Hightower, L. Liao, D. Schulz, and G. Borriello Presented by: Honggang Zhang.
1/53 Key Problems Localization –“where am I ?” Fault Detection –“what’s wrong ?” Mapping –“what is my environment like ?”
Introduction to Robot Motion Planning. Example A robot arm is to build an assembly from a set of parts. Tasks for the robot: Grasping: position gripper.
The City College of New York 1 Dr. John (Jizhong) Xiao Department of Electrical Engineering City College of New York Mobile Robot Mapping.
Bayesian Filtering for Robot Localization
Mobile Robot controlled by Kalman Filter
Lab 3 How’d it go?.
Localisation & Navigation
Mapping and Localization for Robots The Occupancy Grid Approach.
Localization and Mapping (3)
© Manfred Huber Autonomous Robots Robot Path Planning.
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.
From Bayesian Filtering to Particle Filters Dieter Fox University of Washington Joint work with W. Burgard, F. Dellaert, C. Kwok, S. Thrun.
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.
Lab 3 2 students: missing info from submissions? ( ed) 95 +/ Remember, -10 per day late! Overall, really good.
TGI Friday’s Mistletoe Drone /12/10/mistletoe- quadcopter-draws- blood/
Visibility Graph. Voronoi Diagram Control is easy: stay equidistant away from closest obstacles.
1 Robot Environment Interaction Environment perception provides information about the environment’s state, and it tends to increase the robot’s knowledge.
How are things going? Core AI Problem Mobile robot path planning: identifying a trajectory that, when executed, will enable the robot to reach the goal.
TKK | Automation Technology Laboratory Partially Observable Markov Decision Process (Chapter 15 & 16) José Luis Peralta.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 6.1: Bayes Filter Jürgen Sturm Technische Universität München.
11 Chapter 11: Localization and Map Making a. Occupancy Grids b. Evidential Methods c. Exploration Overivew Occupancy Grids -Sonar Models -Bayesian Updating.
1 CMPUT 412 Localization Csaba Szepesvári University of Alberta TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A.
yG7s#t=15 yG7s#t=15.
City College of New York 1 Dr. Jizhong Xiao Department of Electrical Engineering City College of New York Advanced Mobile Robotics.
UNC Chapel Hill M. C. Lin Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
4 Proposed Research Projects SmartHome – Encouraging patients with mild cognitive disabilities to use digital memory notebook for activities of daily living.
Overivew Occupancy Grids -Sonar Models -Bayesian Updating
Inference Algorithms for Bayes Networks
1/17/2016CS225B Kurt Konolige Probabilistic Models of Sensing and Movement Move to probability models of sensing and movement Project 2 is about complex.
Probabilistic Robotics
Autonomous Robots Robot Path Planning (3) © Manfred Huber 2008.
State Estimation and Kalman Filtering Zeeshan Ali Sayyed.
Fast SLAM Simultaneous Localization And Mapping using Particle Filter A geometric approach (as opposed to discretization approach)‏ Subhrajit Bhattacharya.
Probabilistic Robotics Introduction Probabilities Bayes rule Bayes filters.
Learning Roomba Module 5 - Localization. Outline What is Localization? Why is Localization important? Why is Localization hard? Some Approaches Using.
Artificial Intelligence Lecture No. 8 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Mobile Robot Localization and Mapping Using Range Sensor Data Dr. Joel Burdick, Dr. Stergios Roumeliotis, Samuel Pfister, Kristo Kriechbaum.
Autonomous Mobile Robots Autonomous Systems Lab Zürich Probabilistic Map Based Localization "Position" Global Map PerceptionMotion Control Cognition Real.
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
Matching ® ® ® Global Map Local Map … … … obstacle Where am I on the global map?                                   
CS b659: Intelligent Robotics
Schedule for next 2 weeks
Probabilistic Robotics
Markov ó Kalman Filter Localization
Overivew Occupancy Grids -Sonar Models -Bayesian Updating
Probabilistic Map Based Localization
Planning.
Presentation transcript:

Robotics Club: 5:30 this evening How are things going?

In this problem the start state is S, and the goal state is G In this problem the start state is S, and the goal state is G. IGNORE the heuristic estimate, h, and the transition costs next to the edges. Assume that ordering is defined by, and ties are always broken by, choosing the state that comes first alphabetically. What is the order of states expanded using Depth First Search? Assume DFS terminates as soon as it reaches G.  What is the order of states expanded using Breadth First Search? Assume BFS terminates as soon as it reaches G.   SABDFG SABCDEFG

In this problem the start state is S, and the goal state is G In this problem the start state is S, and the goal state is G. The transition costs are next to the edges. IGNORE the heuristic estimate, h. Assume that ordering is defined by, and ties are always broken by, choosing the state that comes first alphabetically. What is the order of states expanded using Uniform Cost Search? Assume algorithm terminates when reaches G.  SABCDEFG

Visibility Graph Road Map: Exact Decomposition

Voronoi Diagram Road Map: Exact Decomposition

Occupancy Grid, accounting for C-Space Approximate, Fixed Cell Decomposition start goal

Exact Cell Decomposition How would this be used?

Exact Cell Decomposition Identify adjacent cells

Exact Cell Decomposition Plan over this graph How can we improve the path?

Example of Adaptive Decomposition Quadtrees

Example of Adaptive Decomposition Quadtrees Each internal node has 4 children Recursively sub-divide space into quadrants

Exact vs. fixed vs. adaptive Pros and Cons?

Considerations Difficulty in constructing map Computational complexity Planning over map Constructing map Map Accuracy Memory Needed

Kinematics Navigation Maps Localization Map building Move were you want to go Navigation Given a Map, and Path planning: Decide where you want to go, and then use Kinematics Maps Representation: Turn the real world into a map I can plan over Localization Given a map, how do I know where I am? Map building Oh man, how do I construct a map? Well, it probably depends on where I am and how I move….

How to navigate between A and B? Two components to this task: Navigation without hitting obstacles Detection of goal location Possible by following always the left wall How to detect that the goal is reached? “behavior based navigation” It can work in some environments but not in all

How to navigate between A and B? Map based navigation relies on a map Assuming that the map is known, at every time step the robot has to localize itself in the map. How? If we know the start position, we can use wheel odometry or dead reckoning.

Odometry and Mapping Create a map as the robot is exploring the environment. If we assume that our odometry is perfect, could get something like this: Can’t trust odometry so we must localize as we’re mapping.

Challenges Effector noise / Odometry Error Sensor noise Distance movement estimation Turn error: turning estimation Drift Error: difference in error of wheels Sensor noise False positive readings, fall negative readings, noisy readings Sensor aliasing Multiple locations appear the same to the sensors

Simple error model from kinematics

but now add in turning…

and this leads to things like (Dieter Fox @ CMU)

Localization Two types of approaches: Iconic : use raw sensor data directly. Match current sensor readings with what was observed in the past Feature-based : extract features of the environment, such as corners and doorways. Match current observations

Continuous Localization and Mapping Time Initial Map Global Map

Continuous Localization and Mapping Time Sensor Data Local Map Global Map Matching Registration 𝑥,𝑦,𝜃 offsets to correct odometry

Continuous Localization and Mapping Time Local Map Global Map Matching Registration 𝑥,𝑦,𝜃 offsets to correct odometry

Continuous Localization and Mapping register global map match and score sensor data construct local map local map best pose

Continuous Localization and Mapping register global map match and score sensor data construct local map local map best pose encoder data pose estimation k possible poses

Matching X Where am I? Local Map probabilities Global Map

Matching … … … ® Local Map obstacle Global Map             Where am I on the global map? Local Map obstacle Global Map                ®   …  ®    …        …                   Examine different possible robot positions.

This sounds hard, do we need to localize? http://www.youtube.com/watch?v=1FKMniE_q1Q

Matching and Registration Collect sensor readings and create a local map Estimate poses that the robot is likely to be in given the distance traveled from the last map update In theory k is infinite Discretize the space of possible positions (e.g. consider errors in increments of 5o) Try to model the likely behavior of your robot. Try to account for systematic errors (e.g., robot tends to drift to one side)

Matching and Registration Collect 𝑛 sensor readings and create a local map Estimate 𝑘 poses (𝑥,𝑦,𝜃) that the robot is likely to be in given the distance travelled from the last map update For each pose 𝑘 score how well the local map matches the global map at this position Choose the pose with the best score. Update the position of the robot to the corresponding (𝑥,𝑦,𝜃) location. What if you were tracking multiple possible poses. How would you combine info from this with previous estimate of global position + odometry?

Matching and Registration Collect 𝑛 sensor readings and create a local map Estimate 𝑘 poses (𝑥,𝑦,𝜃) that the robot is likely to be in given the distance travelled from the last map update For each pose 𝑘 score how well the local map matches the global map at this position Choose the pose with the best score. Update the position of the robot to the corresponding (𝑥,𝑦,𝜃) location. Registration: update the global map. One possible way: 𝑔𝑙𝑜𝑏𝑎𝑙 𝑖 𝑗 = 𝑔𝑙𝑜𝑏𝑎𝑙 𝑖 𝑗 +𝑙𝑜𝑐𝑎𝑙 𝑖 [𝑗] 2

Representations line-based map (~100 lines)

Representations One location vs. location distribution Topological map (50 features, 18 nodes) Grid-based map (3000 cells)

Feature-Based Localization Extract features such as doorways, corners and intersections Either Use continuous localization to try and match features at each update Use topological information to create a graph of the environment

Topological Map of Office Building The robot has identified 10 doorways, marked by single number. Hallways between doorways labeled by gateway-gateway pairing.

Topological Map of Office Building What if the robot is told it is at position A but it’s actually at B. How could it correct that information?

Localization Problem(s) Position Tracking Global Localization Kidnapped Robot Problem Multi-Robot Localization

General approach: A: action S: pose O: observation Position at time t depends on position previous position and action, and current observation

Pose at time t determines the observation at time t If we know the pose, we can say what the observation is But, this is backwards… Hello Bayes!

Quiz! If events a and b are independent, p(a, b) = If events a and b are not independent, p(c|d) = ? Mattel 1992

Quiz! If events a and b are independent, p(a, b) = p(a) × p(b) If events a and b are not independent, p(a, b) = p(a) × p(b|a) = p(b) × p (a|b) p(c|d) = p (c , d) / p(d) = p((d|c) p(c)) / p(d)

Bayes Filtering Want to have a way of representing uncertainty Probability Distribution Could be discrete or continuous Prob. of each pose in set of all possible poses Belief Prior Posterior

Models of Belief

Uniform Prior Observation: see pillar Action: move right

Modeling objects in the environment http://www.cs.washington.edu/research/rse-lab/projects/mcl

Modeling objects in the environment http://www.cs.washington.edu/research/rse-lab/projects/mcl