ΕΚΠ 413 / ΕΚΠ 606 Αυτόνοµοι (Ροµ οτικοί) Πράκτορες Κινητά Ροµ ότ Πλοήγηση και Συντονισµός Mobile Robots Navigation and Coordination Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης
Ε ανάληψη Συλλογιστική στο χρόνο χρόνος και αβεβαιότητα παραδοχές Βασικές λειτουργίες συµ ερασµού φιλτράρισµα πρόβλεψη εξοµάλυνση πλέον πιθανή εξήγηση Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 2
Σήµερα Mobile robot navigation path planning motion control improvements experiments Multi-Robot Coordination auction-based coordination multi-robot routing experiments Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 3
Mobile Robots Computers on wheels!
Mobile Robots RWI B14 RWI B21 Nomad XR4000 Nomad 150 Nomad 200 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 5
Boudreaux @ Univ. of Louisiana, Lafayette Nomad 200 Robot Nonholonomic Mobile Base Zero Gyro-Radius Max Speeds: 24 in/sec, 60 deg/sec Diameter: 21 in, Height: 31 in Pentium-Based Master PC Linux Operating System Full Wireless 1.6 Mbps Ethernet 16 Sonar Ring (6 in - 255 in) 20 Bump Sensors Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 6
Distance Sensors Hardware ultrasound, laser, infrared,... transmission, reflection, reception Information distance to closest obstacles egocentric view circular area of coverage Quality limited coverage decaying resolution noisy readings Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 7
Nonholonomicity degrees of freedom (DOF) degrees of action (DOA) DOA < DOF The unicycle model Kinematic Model Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 8
Mobile Robot Navigation Moving Around Safely
Mobile Robot Navigation Global Map-Based Deliberative Slow Local Sensory-Based Reactive Fast Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 10
Robot Navigation Problems What should I remember? Mapping Where am I? Localization Where should I go? Path Planning How can I go? Motion Control Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 11
Animal Navigation Maximum Gradient Following The Planarian reaches the food by testing the water and by moving toward the direction where chemical stimulation increases. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 12
Path Planning Where should I go next?
Path Planning Robot Goal 2D Map Obstacle-free path from initial position to the goal Grid-Based Method for Path Planning (neural map, potential field, harmonic functions, A* search,...) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 14
Path Planning Methods Cell decomposition divide the configuration space in a finite number of cells path planning within each cell is easy reduce the problem to discrete graph search Potential field assign a value of potential to each point in the free space highest value at the goal, least value at the obstacles variety of methods for potential field generation value iteration Laplace transformation neural maps Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 15
Potential Field Navigation Create a model of the robot s environment. Simulate diffusion from the target position. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 16
Navigation Landscape Find a path from any initial position to the target by steepest ascent (maximum gradient following) on the navigation landscape. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 17
Neural Maps A localized neural representation of signals in the outer world [Amari] Hopfield Neural Networks receptive field connections Topologically Ordered Units mapping of places to neurons Self-Organization amplification of sensitive areas Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 18
Fixed Network Topology Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 19
Neurons Non-linear Processing Units u i (t) = W i V (t) +θ i (t) Non-Linear Dynamics v i (t +1) = Φ(u i (t)) dv i (t) dt = Φ(u i (t)) v i (t) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 20
Path Planning Example I Target (middle) and initial position (up right). Obstacle-free path from initial position to the target. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 21
Path Planning Example I 50 x 50 rectangular neural map Activation landscape formed on the neural map at equilibrium. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 22
Path Planning Example I Activation diffusion on the neural map. Navigation map for the given target. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 23
Path Planning Example II Initial position (middle) and three targets. Obstacle-free path to the closest target. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 24
Path Planning Example II 50 x 50 rectangular neural map Activation landscape formed on the neural map at equilibrium. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 25
Path Planning Example II Activation diffusion on the neural map. Navigation map for the given targets. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 26
Neural Maps for Local Navigation No map information! Sensory information Egocentric view Circular range Decaying resolution Main idea A neural map can be used if adapted appropriately to the sensory and motor capabilities of the robot! Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 27
Bad and Good Organization Rectangular Topology Polar Topology Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 28
polar ΕΚΠ 413/606 Αυτόνοµοι Πράκτορες 2007 The Polar Neural Map Topologically-ordered neurons topology Natural mapping of sensory data resembles the distribution of sonar data Representation of the local space working memory Higher resolution closer to the robot focus of attention Conventions Inner Ring: Robot Center Outer Ring: Target Direction Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 29
Incremental Path Planning Obstacle Goal Sensor Range Five sensors detect the L-shaped obstacle. The robot is on the way to the goal. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 30
Incremental Path Planning Areas of the map characterized as obstructed by the sensor data. The polar neural map superimposed. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 31
Incremental Path Planning Obstacle Units The goal is specified at the periphery. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 32
Incremental Path Planning Path of maximum activation propagation. Angular Displacement Target Point Radial Displacement Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 33
Motion Control How can I go there?
Motion Control Motion control move and stop the robot at a goal position Control cycle input: the target point from the path planner output: the translational and rotational velocities (u,v) Dynamic constraints limited acceleration Kinematic constraints nonholonomic system Safety constraints unexpected (moving) obstacles Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 35
Smoothness: The Dynamic Window Dynamic constraints changes in velocity are subject to maximum acceleration Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 36
Accuracy: Configuration Estimation Minimum Braking Distance/Angle Final configuration estimation Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 37
trajectory under constant velocities target position from the path planner estimated stopping configuration configuration at the next control cycle Robot Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 38
Safety: Impact Minimization Unexpected potential impacts holonomic path planner moving obstacles robot drifts Potential impact measure weighted density of obstacles (WDO) in the safety area triangular safety area around the estimated trajectory obstacle information from current range sensor readings weights proportional to the distance from the origin Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 39
Multi-Objective Motion Control Objective function f 1 : distance error from the target point f 2 : orientation error from the target point f 3 : density of obstacles along the estimated trajectory Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 40
Motion Control Algorithm Discrete optimization exhaustively find the best pair (u,v) Motion control cycle determine the current dynamic window discretize the dynamic window in a 2-dimensional grid evaluate the objective function at every point find the pair (u,v) which minimizes the objective function select (u,v) as control input Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 41
Improvements Past and future at our service!
Observations Control cycle perceive, think, act, perceive, think, act, perceive, think, act,... time from perception to action: 0.25 seconds (typical) Concern: time instant information is limited noisy distance readings motion during control cycle Idea: past and future exploit the time zone around the present time past: remember! future: predict! Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 43
Problem: Motion during Cycle Problem the robot moves during thinking the action taken at the end of the current step is based on the perception of the world at the beginning of the current step significant problem in high-speed navigation Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 44
Solution: Configuration Prediction Prediction measure dynamically the (real) time taken for each control step use the forward kinematic model of the robot (unicycle model) estimate the robot configuration at the end of the current step Improvement project all sensory data to the predicted configuration determine the next control input using the predicted/projected data Benefits control inputs are constantly up-to-date adaptive prediction depth Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 45
Problem: Noisy Sonar Data Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 46
Solution: Sonar Short-Term Memory Short-term memory maintain a window of the last n sonar scans corresponding to about 2-3 seconds of real time Transformation project all data to the current position (reuse) use odometric information (locally accurate) Conservative view assume that all data are correct discard only the data which fall within the physical area of the robot outside the polar map Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 47
Transformation Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 48
Representation on the Polar Map 100 48 Polar Map Memory Window Size = 1 100 48 Polar Map Memory Window Size = 10 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 49
Improvement Tricks distance sensor data t k t odometry t kinematic model t+ t time Trick #1: Predict the near future! measure dynamically the elapsed real-time of the control cycle run the kinematic model from the current configuration predict the configuration at the end of the control cycle Trick #2: Remember the recent past! store a sliding window (over time) of sensory data use the local odometry and the predicted configuration transform all sensory data to the predicted configuration Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 50
Complete Motion Control Algorithm Motion control cycle predict the configuration at the end of the control cycle transform all stored sensory data to the predicted configuration pretend that the current configuration is the predicted one determine the current dynamic window discretize the dynamic window in a 2-dimensional grid evaluate the objective function at every pair find the pair (u,v) which minimizes the objective function select (u,v) as control input Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 51
Experiments Move, robot, move!
System Architecture Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 53
Navigation in a Simulated World Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 54
Sonar Sensor Data Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 55
U-Shaped Obstacle Target Trace Sensor Range Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 56
Cluttered Environment Start Finish Translational Velocity Control Input Rotational Velocity Control Steps Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 57
Various Navigation Tasks Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 58
Velocity Profiles Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 59
Comparison to Heuristic Motion Control Start Finish Control Steps Control Steps Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 60
Navigation in the Real World Start Finish Avoiding a walking person. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 61
Navigation in the Real World Start Finish The target is distant in the direction of the arrow. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 62
Robot Navigation Video Clip videotape & 05-cmubg.mpg Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 63
Mobile Robot Coordination Actions and Auctions
Multi-Robot Task Allocation???? @#$%^&? Who gets to do what and how in a team of robots Can we do it efficiently for real-world problems? Can we guarantee a good solution? Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 65
Multi-Robot Routing (MRR) Goal: Visit all targets and optimize a team objective Assumptions: triangle inequality, identical robots Examples: search and rescue, planetary exploration Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 66
Team Objectives Minimize Sum of Robot Costs (MiniSum) Total energy or distance Planetary surface exploration Minimize Max of Robot Costs (MiniMax) Total completion time (makespan) Facility surveillance Minimize Average Target Cost (MiniAve) Average visitation time (flowtime) Search and rescue Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 67
Hardness of MRR Hardness MRR is NP-Hard for any team objective Reduction from Hamiltonian Path Goal: good approximation algorithms MRR is related to the Vehicle Routing Problem (VRP) Traveling Salesman Problem (TSP) Traveling Repairman Problem (TRP) except that robots do not necessarily start at the same location are not required to return to the initial location do not have capacity constraints Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 68
MRR as Auction Auction Framework Robots=Bidders, Targets=Goods, Cost=Currency Multi-Round Sequential Auction While there are unallocated targets, repeat: Each robot places bids on all oneunallocated bid one targets unallocated target The minimum bid over all targets and robots wins One target is allocated to the winning robot Robots update their bids Decentralized Implementation Broadcast bids by message relay Determine winner locally Communication complexity: O(nm) per link Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 69
A form of hill climbing Derivation of Bidding Rules Generic Bidding Rule Bid the least marginal increase in the team objective. - Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 70
Auction Example Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 71
Auction: Round 1 Bids 20 29 32 31 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 72 11
Auction: Round 1 Winner 20 29 32 31 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 73 11
Auction: Round 2 Bids 20 29 32 31 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 74 23
Auction: Round 2 Winner 20 29 32 31 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 75 23
Auction: Round 3 Bids 15 29 32 31 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 76 23
Auction: Round 3 Winner 15 29 32 31 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 77 23
Auction: Round 4 Bids 30 29 32 31 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 78 23
Auction: Round 4 Winner 30 29 32 31 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 79 23
Auction: Round 5 Bids 30 29 32 31 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 80 39
Auction: Round 5 Winner 30 29 32 31 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 81 39
Auction: Round 6 Bids 30 43 33 31 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 82 39
Auction: Final solution Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 83
Bounds on Performance Performanc e Ratio = Solution of the Bidding Rule Optimal Solution n robots and m targets Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 84
Experimental Evidence BidSumPath (energy) Sum = 182.50 Max = 113.36 Ave = 48.61 Optimal (MiniSum) Sum = 182.50 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 85
Experimental Evidence BidMaxPath (makespan) Sum = 218.12 Max = 93.87 Ave = 46.01 Optimal (MiniMax) Max = 85.01 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 86
Experimental Evidence BidAvePath (flowtime) Sum = 269.27 Max = 105.39 Ave = 45.15 Optimal (MiniAve) Ave = 44.98 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 87
Auction in Action 06-auction.wmv Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 88
Observations Quality within a factor of ~1.4 from the optimal Number of Bids Much less than combinatorial auctions Fixed for static allocations (N M) Computation time A fraction of a second for small problems 5 robots, 100 targets in 0.001 seconds Reasonable for larger problems 100 robots, 10000 targets in 47 seconds Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 89
Comparison Quantify the relationship Optimal [MIP formulation and CPLEX] Exponential number of constraints Practical only for small problems Combinatorial auctions Bids on bundles, large number of bids Computationally intensive, centralized Parallel auctions Targets are allocated independently in parallel Simple, but synergies are ignored Combine the best Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 90
Μελέτη Σύγγραµµα Κεφάλαιο 25 Άρθρα M. G. Lagoudakis and A. S. Maida, Neural Maps for Mobile Robot Navigation, IEEE Intl Joint Conf on Neural Networks, 1999. M. G. Lagoudakis, V. Markakis, D. Kempee, P. Keskinocak, S. Koenig, C. Tovey, A. Kleywegt, A. Meyerson, and S. Jain, Auction- Based Multi-Robot Routing, Robotics: Science and Systems, 2005. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 91