Top Banner
51

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

Feb 24, 2016

Download

Documents

edan

Robotics Club: 5:30 this evening How are things going?. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

CptS: Introduction to Robotics

Robotics Club: 5:30 this eveningHow are things going?

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.

SABDFGSABCDEFG3

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.

SABCDEFG4Visibility GraphRoad Map: Exact Decomposition

Voronoi DiagramRoad Map: Exact Decomposition

Occupancy Grid, accounting for C-SpaceApproximate, Fixed Cell Decomposition

startgoalExact Cell Decomposition

How would this be used?Exact Cell Decomposition

Identify adjacent cellsExact Cell Decomposition

How can we improve the path?Plan over this graphExample of Adaptive DecompositionQuadtreesExample of Adaptive DecompositionQuadtreesEach internal node has 4 childrenRecursively sub-divide space into quadrants

Exact vs. fixed vs. adaptive

Pros and Cons?ConsiderationsDifficulty in constructing mapComputational complexity Planning over mapConstructing mapMap AccuracyMemory Needed

KinematicsMove were you want to goNavigationGiven a Map, and Path planning: Decide where you want to go, and then use KinematicsMapsRepresentation: Turn the real world into a map I can plan overLocalizationGiven a map, how do I know where I am?Map buildingOh 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 obstaclesDetection of goal locationPossible by following always the left wallHow to detect that the goal is reached?

behavior based navigationIt can work in some environments but not in allHow to navigate between A and B?Map based navigation relies on a mapAssuming 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 MappingCreate a map as the robot is exploring the environment.If we assume that our odometry is perfect, could get something like this:

Cant trust odometry so we must localize as were mapping.ChallengesEffector noise / Odometry ErrorDistance movement estimationTurn error: turning estimationDrift Error: difference in error of wheelsSensor noiseFalse positive readings, fall negative readings, noisy readingsSensor aliasingMultiple locations appear the same to the sensorsSimple error model from kinematics

but now add in turning

and this leads to things like

(Dieter Fox @ CMU)

LocalizationTwo types of approaches:Iconic : use raw sensor data directly. Match current sensor readings with what was observed in the pastFeature-based : extract features of the environment, such as corners and doorways. Match current observations Continuous Localization and MappingTimeInitial MapGlobal MapContinuous Localization and MappingTimeSensor DataLocal MapGlobal MapMatchingRegistrationContinuous Localization and MappingTimeLocal MapGlobal MapMatchingRegistrationContinuous Localization and Mappingconstruct local mapmatch and scoreglobal mapsensor datalocal mapbest poseregisterContinuous Localization and Mappingconstruct local mappose estimationmatch and scoreglobal mapsensor dataencoder datalocal mapk possible posesbest poseregisterMatchingXGlobal MapLocal MapprobabilitiesWhere am I?MatchingGlobal MapLocal MapobstacleWhere am I on the global map?Examine different possible robot positions.This sounds hard, do we need to localize?http://www.youtube.com/watch?v=1FKMniE_q1QMatching and RegistrationCollect sensor readings and create a local mapEstimate poses that the robot is likely to be in given the distance traveled from the last map updateIn theory k is infiniteDiscretize 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 RegistrationWhat if you were tracking multiple possible poses.How would you combine info from this withprevious estimate of global position + odometry?Matching and Registration

Representations

line-based map (~100 lines)RepresentationsOne location vs. location distribution

Grid-based map (3000 cells)Topological map (50 features, 18 nodes)Feature-Based LocalizationExtract features such as doorways, corners and intersectionsEitherUse continuous localization to try and match features at each updateUse 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 its actually at B. How could it correct that information?Localization Problem(s)Position TrackingGlobal LocalizationKidnapped Robot ProblemMulti-Robot LocalizationGeneral approach:

A: actionS: poseO: observationPosition at time t depends on position previous position and action, and current observation

Pose at time t determines the observation at time tIf we know the pose, we can say what the observation is

But, this is backwardsHello Bayes!

Quiz!If events a and b are independent,p(a, b) = If events a and b are not independent, p(a, b) =

p(c|d) = ?

Mattel1992Quiz!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 FilteringWant to have a way of representing uncertaintyProbability DistributionCould be discrete or continuousProb. of each pose in set of all possible poses

BeliefPriorPosteriorModels of Belief

Uniform PriorObservation: see pillarAction: move rightObservation: see pillarModeling objects in the environment

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