1 Robot Navigation u www.tugraz.at
2 Motivation challenges physical laws e.g. inertia, acceleration uncertainty e.g. maps, observations geometric constraints e.g. shape of a robot dynamic environment e.g. moving objects complexity e.g. tractability
3 Literature Choset, Lynch, Hutchinson, Kantor, Burgard, Kavraki and Thrun. Principle of Robot Motion Theory, Algorithms and Implementation. MIT Press. 2005.
4 Literature Probabilistic Robotics by Sebastian Thrun, Wolfram Burgard and Dieter Fox MIT Press
5 Navigation the process of planning, recording, and controlling the movement of a craft or vehicle from one place to another ¹ ¹ NIMA National Imagery and Mapping Agency. The American Practical Navigator: Bowditch. Paradise Cay Publications, 2002.
6 Navigation Questions to answern ¹: Where am I going? What is the best way there? Where have I been? Where am I? ¹ Robin R. Murphy. Introduction to AI Robotics. The MIT Press, Massachusetts, 1 st edition, 2000.
7 Basic Navigation Components MAP GOAL LOCALIZATION PATH PLANNER SENSORS PATH EXECUTION LOCOMOTION
8 Goal z position set of coordinates y x orientation Source: http://www.grc.nasa.gov/www/ K-12/airplane/rotations.html
9 Orientation Quaternions Common representation for rotations in 3D Roll Pitch Yaw
10 Map Grid Map Representation Free cell is definitive free Occupied cell is definitive occupied Unknown don t know
11 Cost Map Represents cost for being at a particular cell Initialized by the map Updated by sensor information
12 Cost Map Global Cost Map Local Cost Map Includes the full area Used for global path planning Rolling window around the robot Cares about local obstacles
13 Cost Map sensor update changes map according to sensor data, i.e. range data marking : range readings occupies cells clearing : free cells closer than range reading inflation obstacles are inflated by robot s footprint to maintain distance to obstacles
14 Localization Particle-Filter Localization Adaptive Monte Carlo Localization (amcl ) laser-based localization
15 Particle-Filter Localization
16 Particle-Filter Localization
17 Lacalization Video
18 Transformations Representation of the robot state Tracks the different coordinate systems of a robot Where is the detected object in the world? What is the current pose of the base on the map?
19 Path Planner START GOAL Pose Pose GLOBAL PLANNER Global Path LOCAL PLANNER Commands LOCOMOTION
20 Path Planner Global Path Planner Local Path Planner Find minimum cost path Algorithms LPN RRT A* Adapt path to local constraints Avoid moving obstacles Approaches Dynamic Window
21 LPN Algorithm a method to find minimum cost paths based on linear programming work well on grid maps, extension of the wave-front algorithm given path as points in sample space P ={p 1,p 2,,p n } costs for traversing P navigation function represents the steepest gradient for a path P k starting at point k goal a path P with minimum costs
22 LPN Algorithm initially assign 0 to goal and to all other points obstacles contribute to I(p) goal point is active point expand path to neighbors p and calculate F (p) if F (p) < F(p) update F(p) and set p as active point continue for all active points until no points remain
23 RRT Rapidly Exploring Random Tree Random based algorithm Grows a tree Stochastic Complete Video
24 Dynamic Window Approach the approach assumes a differential drive robot moving along arcs considers aspects of the dynamic works in the velocity space (v, ω ) the approach uses the actual velocity of the robot a dynamic window of reachable velocities in the next cycle given by the dynamic of the robot calculate admissible velocities allow to stop before hitting an obstacle maximize an objective function
25 Dynamic Window Approach
26 Dynamic Window Approach heading(v,ω): π-δθ Target distance(v,ω): closest obstacle velocity(v, ω): proportional to v
27 ROS Navigation ROS provides a full navigation stack Solves the localization problem does global planning does local planning supports differential drive and omni-directional robots works with or without global localization and map can work with 2d and/or 3d maps and sensors drawbacks works only for flat office-like environments optimized for the Willow Garage PR2 very compact design
28 ROS Navigation Overview Map server Goal Global planner Global costmap AMCL Recovery behavior Local planner Local costmap move_base Laser scanner base controller
29 Working with ROS Navigation Tutorial http://wiki.ros.org/navigation/tutorials (or alternative) Basic Steps: Setting up tf Building a map Configure the navigation stack Sending a goal
30 Working with TurtleBot Tutorial http://wiki.ros.org/robots/turtlebot (or alternative) user: turtlebot passwd: ros