Presentation is loading. Please wait.

Presentation is loading. Please wait.

Today: Localization & Navigation Wednesday: Image Processing

Similar presentations


Presentation on theme: "Today: Localization & Navigation Wednesday: Image Processing"— Presentation transcript:

1 Today: Localization & Navigation Wednesday: Image Processing
Intelligent Robotics Today: Localization & Navigation Wednesday: Image Processing

2 “Where am I”? Localization
Given an initial estimate, q, of the robot’s location in configuration space, maintain an ongoing estimate of the robot pose with respect to the map, P(q).

3 Overview of Location

4 If your robot has a map, why is it difficult for it to know where it is?
Sensors are the fundamental input for the process of perception, therefore the degree sensors can discriminate the world state is critical Sensor Aliasing Many-to-one mapping between environmental states to the robot’s perceptual inputs Amount of information is generally insufficient to identify the robot’s position from a single sensor reading

5 Why is it difficult for a robot to know where it is?
Sensor Noise Adds a limitation on the consistency of sensor readings Often the source of noise problems is that some environmental features are not captured by the robot’s representation. Dynamic Environments Unanticipated Events Obstacle Avoidance

6 The Configuration Space
A set of “reachable” areas constructed from knowledge of both the robot and the world How to create it First abstract the robot as a point object. Then, enlarge the obstacles to account for the robot’s footprint and degrees of freedom

7 Configuration Space: the robot has...
A Footprint The amount of space a robot occupies Degrees of Freedom The number of variables necessary to fully describe a robot’s configuration in space Six DoF Most Use 2 DoF Why? When would you need more?

8 Configuration Space: Accommodate Robot Size
Obstacles Free Space Robot (treat as point object) x,y

9 The Cartographer: Spatial Memory
Data structures and methods for interpreting and storing sensory input with relation to the robot’s world Representation of the world Sensory input interpretation Path planning & evaluation Collection of information about the current environment

10 Map Representations Quantitative (Metric Representations)
Topological (Landmarks) Important considerations Sufficiently represent the environment Enough detail to navigate potential problems Space and time complexity Sufficiently represent the limitations of the robot Support for map changes and re-planning Compatibility with reactive control layer

11 Using Dead Reckoning to Estimate Pose
“ded reckoning” or deduced reckoning Reckon: to determine by reference to a fixed basis Keep track off the current position by noting how far the robot has traveled on a specific heading Used for maritime navigation Proprioceptive

12 Dead Reckoning with Shaft Encoders
How far has a wheel traveled? distance = 2 * PI * radius * #revolutions Two types of wheel encoders reflectance sensor slot sensor

13 How far has the robot traveled and how far has it turned?

14 Which way am I going? Heading
Percentage of the circumference of the circle with radius d

15 How far have I gone? Half the distance of the arc at the end of the motion Distance moved for center of the robot

16 Adding it up (x,y,Θ) Update the position information at each sensor update. How large can a single segment be? What does this assume?

17 Many Types of Mobile Bases
Differential Drive Two independently driven wheels on opposite sides of the robot 3 DoF: pose = [x,y,Θ] Holonomic: can be treated as a mass-less point that can move in any direction

18 Types of Mobile Bases Omni Drive Synchro Drive
Wheel capable of rolling in any direction. Robot can change direction without rotating the base Synchro Drive

19 Types of Mobile Bases Ackerman Drive Typical car steering
Non-holonomic: must take into account position and velocity variable (can’t turn a car without moving it forward)

20 Types of Mobile Bases

21 Example

22 Errors Systematic Errors vs. Random Errors Can they be managed?

23 Topological Representation
Use of Landmarks Natural or Artificial Passive or Active Based on a specific sensing modality Vision, laser, sonar, IR

24 What makes a good Landmark
Perceivable from many different viewpoints Persistence Distinct features Readily recognizable Unique features Avoid sensor aliasing

25 What would make good landmarks in the EB?

26 Example: Distinctive Places

27 Distinctive Places

28 Triangulation A single landmark can be used as a beacon
Given 2 landmarks the robot’s pose can be constrained on the arc of a circle Given 3 landmarks the robot’s pose can be determined to a point

29 Metric Representations
Coordinate system representation Path is decomposed into waypoints As opposed to landmarks Path planning is usually based on some measure of optimal or best path Graph search or graph coloring methods

30 World Representations

31 Meadow Map Extend boundaries to accommodate size of robot
Divide free space into convex polygons Connecting corners Create waypoints by determining the midpoints of lines that border two polygons Use graph search method for path planning

32 Meadow Map What problems would the robot encounter using a Meadow Map?
Are there other problems with using a Meadow Map?

33 Voronoi Graph Decompose the space into regions around each point, such that all the points in the region around p_i are closer to p_i than any other point in S. Voronoi edges become equidistant from boundary points Voronoi vertex is created where Voronoi edges meet

34 Voronoi Graph Use a graph search method for path planning
Advantages and Disadvantages?

35 Regular Grid Subdivide space into same size grid spaces
Use center of square or vertices as waypoints Considered as 4 connected or 8 connected

36 Regular Grid Advantages & Disadvantages?

37 Quadtree Representation
Recursively divides a square into four smaller squares until each square is either filled with free space or non-free space Center of squares are used as waypoints

38 Path Planning: Wave Front Planners
Graph Coloring Algorithm From the goal destination “color” each bordering region with a value indicating its proximity, continue from each region until the start region is colored. Follow the gradient toward the goal

39 Can difficult terrain be modeled?

40 Waypoint Planning: Search
The activity of looking for a sequence of actions that solves (achieves) the goal (goal state) Plan: sequence of actions to achieve a goal State-Space Search Initial State Set of Actions Goal Test Search Tree: root is the initial state, each successive level is a state expanded from its parent by the application of a valid action

41 8-Tile Puzzle

42 Search Strategy: choosing which state to expand next.

43 Uninformed or blind searches
Search Strategies Uninformed or blind searches Breadth First Search, Depth First Search Systematic, exhaustive search Comparison of breadth first and depth first? Which one is guaranteed to find a solution if one exists? Which one has the potential of getting caught in an endless loop? How do you prevent it (dynamic programming principle)

44 Heuristic Search Heuristic Examples “Rule of thumb”
a way to measure good a state is to get to your goal Examples Parking: what would be a good heuristic to find your car?

45 Search Strategies Informed or heuristic searches
Use domain knowledge to determine which state looks most promising to expand next Heuristic Function h(n) = estimate of the path cost from state n to the goal h(n) = 0 if and only if n is a goal state

46 Informed Search Strategies
Best First or Greedy Search: Expand the state that is estimated to be closest to the goal Why greedy? Similar to depth first, depth first backs up when a dead-end is reached, best first backs-up when another state appears better.

47 Informed Search Strategies
Branch & Bound: Expand the state that is estimated to be closest to the goal f(n) = g(n) + h(n) g(n) = actual cost of path going through state n f(n) is estimated cost of the cheapest solution that goes through state n

48 Branch & Bound f(n) = g(n) + h(n)

49 A* Search Admissible Heuristic: Always underestimates the actual cost of the path A* search is Branch & Bound with an admissible heuristic Why is it important for h(n) to “underestimate” the actual cost?

50 Search Space Comparison
Breadth First Search Space Shaded region is A* Search Space The better h(n) estimates the actual cost, the smaller the search space A* and it variations used mostly for navigation

51 Search: A* f(n) = g(n) + h(n)
g(n) Cost of going from the starting state to state n h(n) heuristic estimate of the cost of going from state n to the goal state Guaranteed to find a solution if one exists Will find the optimal solution

52 Admissible Heuristics for Pathing
Straight Line Distance h(A) = sqrt((A.x-goal.x)^2 + (A.y-goal.y)^2) Manhattan Distance h(A) = (abs(A.x-goal.x) + abs(A.y-goal.y)) Diagonal Distance h(A) = max(abs(A.x-goal.x), abs(A.y-goal.y)) Use a weighting factor to estimate the cost of traversing difficult terrain.

53 A* Primer Do you have to have an OPEN and CLOSED list?
Create a node containing the goal state node_goal Create a node containing the start state node_start Put node_start on the open list While the OPEN list is not empty { Get the node off the open list with the lowest f-value and call it node_current If node_current is the same state as node_goal we have found the solution; return solution Generate each state node_successor that can come after node_current For each node_successor of node_current         Set the cost of this node to be the cost of node_current plus the cost to get to node_successor         If this node is on the OPEN list but the existing one is better then discard this successor; break         If this node is on the CLOSED list but the existing one is better then discard this successor; break          Remove occurrences of this state from OPEN and CLOSED         Set the parent of node_successor to node_current         Set h-value to be the estimated distance to node_goal         Add this node to the OPEN list by f-value     } Return failure Do you have to have an OPEN and CLOSED list?

54 A* Example: European Vacation

55 On the Road to Bucharest
A* Pathing: Arad to Bucharest

56 Optimal (Shortest) Path
A* chooses which location to expand based on the value f(n) = g(n) + h(n) If h(n) is admissible, A* will generate all paths that underestimate the actual path cost, thereby guaranteeing that the solution path found is the optimal one.

57 Additional Points A* Demo Cost of Travel
Additional costs associated with path or region. Terrain Uphill & down hill costs An efficient data structure is important for storing the Open and Close lists. Suggestions? Variations IDA* (Iterative Deepening) Bi-directional D* (Dynamic Planning) Hierarchical A* A* Demo

58 Obstacles What should the robot do if it cannot complete the plan?
Alternatives D* Dijkstra’s Shortest Path Algorithm


Download ppt "Today: Localization & Navigation Wednesday: Image Processing"

Similar presentations


Ads by Google