A Genetic Algorithm for Robust Motion Planning

Similar documents
THE mobile robot path planning problem is typically formulated

Unit 2: Locomotion Kinematics of Wheeled Robots: Part 3

Agent Based Intersection Traffic Simulation

Introduction to Mobile Robotics Path Planning and Collision Avoidance. Wolfram Burgard, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

Arm Trajectory Planning by Controlling the Direction of End-point Position Error Caused by Disturbance

Autonomous Mobile Robots, Chapter 6 Planning and Navigation Where am I going? How do I get there? Localization. Cognition. Real World Environment

Introduction to Mobile Robotics Path Planning and Collision Avoidance

1 Differential Drive Kinematics

Robot Motion Control Matteo Matteucci

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm

Robotics. Lecture 5: Monte Carlo Localisation. See course website for up to date information.

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning

Elastic Bands: Connecting Path Planning and Control

CMPUT 412 Motion Control Wheeled robots. Csaba Szepesvári University of Alberta

A Fuzzy Local Path Planning and Obstacle Avoidance for Mobile Robots

EE565:Mobile Robotics Lecture 3

Motion Control (wheeled robots)

Fundamental problems in mobile robotics

OptimizationOf Straight Movement 6 Dof Robot Arm With Genetic Algorithm

A New Performance-Based Motion Planner for Nonholonomic Mobile Robots

Non-holonomic Planning

Self-learning Mobile Robot Navigation in Unknown Environment Using Evolutionary Learning

NOVEL HYBRID GENETIC ALGORITHM WITH HMM BASED IRIS RECOGNITION

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T

Robot Path Planning Method Based on Improved Genetic Algorithm

Efficient implementation of Constrained Min-Max Model Predictive Control with Bounded Uncertainties

5. Tests and results Scan Matching Optimization Parameters Influence

Adaptive Crossover in Genetic Algorithms Using Statistics Mechanism

REAL-CODED GENETIC ALGORITHMS CONSTRAINED OPTIMIZATION. Nedim TUTKUN

Optimization of a two-link Robotic Manipulator

S-SHAPED ONE TRAIL PARALLEL PARKING OF A CAR-LIKE MOBILE ROBOT

COLLISION-FREE TRAJECTORY PLANNING FOR MANIPULATORS USING GENERALIZED PATTERN SEARCH

Evolutionary Computation. Chao Lan

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017

Optimal Trajectory Generation for Nonholonomic Robots in Dynamic Environments

EKF Localization and EKF SLAM incorporating prior information

Motion Planning of an Autonomous Mobile Robot Considering Regions with Velocity Constraint

Using Genetic Algorithms to optimize ACS-TSP

Improving Performance of Multi-objective Genetic for Function Approximation through island specialisation

Trajectory Modification Using Elastic Force for Collision Avoidance of a Mobile Manipulator

Abstracting any Vehicle Shape and the Kinematics and Dynamic Constraints from Reactive Collision Avoidance Methods

CSE 490R P1 - Localization using Particle Filters Due date: Sun, Jan 28-11:59 PM

Automated Parameterization of the Joint Space Dynamics of a Robotic Arm. Josh Petersen

Multi-objective Optimization

A Genetic Algorithm for Mid-Air Target Interception

Cognitive Robotics Robot Motion Planning Matteo Matteucci

Dynamic Modeling of Free-Space for a Mobile Robot

Kinematics, Kinematics Chains CS 685

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

Spline Curves. Spline Curves. Prof. Dr. Hans Hagen Algorithmic Geometry WS 2013/2014 1

Kinodynamic Trajectory Optimization and Control for Car-Like Robots

Stable Trajectory Design for Highly Constrained Environments using Receding Horizon Control

Localization, Where am I?

Math 126 Final Examination Autumn CHECK that your exam contains 9 problems on 10 pages.

AUTONOMOUS mobile robots are those robots that have

1498. End-effector vibrations reduction in trajectory tracking for mobile manipulator

Aero-engine PID parameters Optimization based on Adaptive Genetic Algorithm. Yinling Wang, Huacong Li

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

1 Lab + Hwk 5: Particle Swarm Optimization

Toward More Efficient Methods for Path Planning of Mobile Robots: Simplified Non-Convex Constraints

CHAPTER 2 CONVENTIONAL AND NON-CONVENTIONAL TECHNIQUES TO SOLVE ORPD PROBLEM

1 Lab 5: Particle Swarm Optimization

Engineers and scientists use instrumentation and measurement. Genetic Algorithms for Autonomous Robot Navigation

Traffic Signal Control Based On Fuzzy Artificial Neural Networks With Particle Swarm Optimization

Performance Assessment of DMOEA-DD with CEC 2009 MOEA Competition Test Instances

ATI Material Do Not Duplicate ATI Material. www. ATIcourses.com. www. ATIcourses.com

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

BEST2015 Autonomous Mobile Robots Lecture 2: Mobile Robot Kinematics and Control

EFFECT OF COOPERATIVE WORK IN OBJECT TRANSPORTATION BY MULTY-AGENT SYSTEMS IN KNOWN ENVIRONMENTS

Goals: Course Unit: Describing Moving Objects Different Ways of Representing Functions Vector-valued Functions, or Parametric Curves

TURN AROUND BEHAVIOR GENERATION AND EXECUTION FOR UNMANNED GROUND VEHICLES OPERATING IN ROUGH TERRAIN

Introduction to Robotics

DYNAMIC POSITIONING OF A MOBILE ROBOT USING A LASER-BASED GONIOMETER. Joaquim A. Batlle*, Josep Maria Font*, Josep Escoda**

A Reduced-Order Analytical Solution to Mobile Robot Trajectory Generation in the Presence of Moving Obstacles

Mobile Robot Kinematics

MEAM 620 Part II Introduction to Motion Planning. Peng Cheng. Levine 403,GRASP Lab

Efficient Navigation for Anyshape Holonomic Mobile Robots in Dynamic Environments

13. Learning Ballistic Movementsof a Robot Arm 212

Chapter 14 Global Search Algorithms

Non-Isomorphic Interaction in 3D User Interfaces

JGA User Guide. WinNT/2000 Deployment v

Chapter 5 Components for Evolution of Modular Artificial Neural Networks

Variable-resolution Velocity Roadmap Generation Considering Safety Constraints for Mobile Robots

CHAPTER 5 MOTION DETECTION AND ANALYSIS

angle field approach. In addition to kinematic constrains these frameworks take into account dynamic constraints to reduce the search space even furth

Revising Stereo Vision Maps in Particle Filter Based SLAM using Localisation Confidence and Sample History

Centre for Autonomous Systems

Spatio-Temporal Stereo Disparity Integration

Mobile Robots Path Planning using Genetic Algorithms

Probabilistic Robotics

Genetic Algorithm Based Template Optimization for a Vision System: Obstacle Detection

Data Association for SLAM

HYBRID GENETIC ALGORITHM WITH GREAT DELUGE TO SOLVE CONSTRAINED OPTIMIZATION PROBLEMS

Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding

Differential Evolution

Implementation of Path Planning using Genetic Algorithms on Mobile Robots

Robotics. Chapter 25-b. Chapter 25-b 1

Motion Analysis. Motion analysis. Now we will talk about. Differential Motion Analysis. Motion analysis. Difference Pictures

Manipulator trajectory planning

Multicriterion Genetic Programming for Trajectory Planning of Underwater Vehicle

Transcription:

A Genetic Algorithm for Robust Motion Planning Domingo Gallardo, Otto Colomina, Francisco Flórez, Ramón Rizo domingo,otto,florez,rizo@dtic.ua.es Grupo i3a: Informatica Industrial e Inteligencia Artificial Departamento de Ciencia de la Computacion e Inteligencia Artificial Universidad de Alicante San Vicente E-03080, Spain Resumen This paper proposes a solution by genetic algorithms to the problem of planning a robust and suboptimal trajectory in the velocity space of a mobile robot. Robust trajectories are obtained introducing cumulative noise in the evaluation of the fitness function and introducing modifications in the genetic algorithm to taking into account this new feature. Results are presented that show the performance of the algorithm in different environments and the influence of the noise in the planned trajectories. Keywords: nonholonomic motion planning, robust robot motion, evolutionary computation in noisy environments. 1 Introduction The problem of path planning for mobile robots has been addressed with many techniques, both algorithmic ([5]) as evolutionary ([7, 4, 6, 1]). Most of these approaches solve the problem in the robot configuration space (usually defined by means of its x and y position and its θ orientation). In this case, the solution is presented as a continuous sequence of space configurations (a path in the plane) that does not collide with obstacles and connects the initial and final points. A path, however, does not solve directly the problem of moving the robot, since it lacks of an associated time law (different linear and angular velocities may generate the same path). 1

In order to completely solve the problem a sequence of velocities must be planned, searching not the configuration space but the velocity space (in the case of synchro-drive robots, as the one used in this work, these velocities are v, the linear velocity and ω, the angular velocity). In this new space obstacles can not be defined geometrically, and many of the algorithmic techniques defined so far can not be applied. Additionally, for a great number of robots, is needed to impose constraints that locally reduce the dimensionality of its velocity space. For instance, a robot that moves like a car, as it is the case of synchro-drive robots, can not move laterally and has a limited turn angle. This problem is called trajectory planning with nonholonomic constraints, and it is a research field in the areas of control and robotics [5, 3, 2]. All the solutions proposed so far have two important problems: 1. Suboptimal solutions: most of the algorithmic techniques that solve the problem of nonholonomic motion planning find a trajectory, but they do not consider practical issues like temporal cost of the trajectory, regularity, etc. 2. Trajectory robustness: once the trajectory is planned, it has to be executed in a real robot, having to consider the uncertainty in the plan execution. This uncertainty is due to noisy execution of velocity commands and the error associated to odometry. This type of uncertainty is cumulative, so long trajectories suffer more than short ones. For this reason, planned trajectories have to be robust, in the sense that the introduction of small changes in them do not change too much the final result. This feature of robustness is not guaranteed by any approach used so far to solve the problem. In this work a solution to the planning of nonholonomic trajectories using genetic algorithms is proposed. This solution addresses the problems treated above. The search of the best trajectory according to some criteria will be done by introducing the criteria in the fitness function, and the robustness will be accomplished by introducing in the fitness function a term of gaussian cumulative noise. 2 Problem formulation In this section we formulate the motion equations of a synchro-drive robot. The coding of the planned trajectories and the fitness function are based on these equations. The state variables of the mobile robot are its position (x,y), its orientation (θ) and its angular and linear velocities (ω and v, respectively). We consider the angular and linear accelerations as constants (a ω y a v ). They tend to be low in real 2

mobile robots implementations, in order to not tension the physical structure of the robot and to obtain smooth movements. Due to this, the acceleration have to be considered in order to obtain results that can be applied to real robots. We use the variables c v y c ω to model the robot control commands. They take discrete values { 1, 0, 1} and define if, for a given time, the velocities have to be decremented, not modified or incremented. The increment of the velocities will be given by the acceleration constants. ω(t n ) = ω( ) + a ω c ω (t)dt (1) v(t n ) = v( ) + a v c v (t)dt (2) The position and angular direction of the robot at a given time are modeled by the following equations. θ(t n ) = θ( ) + x(t n ) = x( ) + y(t n ) = y( ) + ω(t)dt (3) v(t) cos θ(t)dt (4) v(t) sin θ(t)dt (5) These equations can be simplified if it is assumed that the robot has to be controlled discretely, with control intervals of time t, being the control variables c v y c ω constant for a given time interval. In this way, the former equations can be simplified where x(t n ) = x( ) + n 1 ti + t i=0 t i (v(t i ) + t t i v) cos(θ(t i ) + t t i θ)dt (6) t t i v = a v c v (t)(t t i ) (7) t t i ω = ω(t i )c ω (t i )(t t i ) + 1 2 a ω(t i )c ω (t i )(t t i ) 2 (8) So the problem of finding a trajectory in a velocity space can be formulated as the search of a temporal sequence of values for the commands c v y c ω 3

(c vt0,c ωt0 ), (c vt1,c ωt1 ),...,(c vt n,c ωt n ) that makes the robot move from the initial configuration (x = x 0,y = y 0,θ = θ 0,v = 0,ω = 0,t = ) to the goal position (x = x obj,y = y obj,v = 0,ω = 0,t = t n ). Note that robot has to finish in a static configuration and that we do not impose any restriction for the final orientation. As additional constraints, we try to minimize t n and to obtain a robust trajectory, in the sense above stated. 3 Trajectory planning using genetic algorithms We have chosen genetic algorithms to generate robot trajectories mainly for two reasons: firstly, they are a powerful tool for searching in high dimensional spaces, like in this case. Secondly, the method imposes few mathematical constraints in the shape of the function to optimize. In this way, this method is applicable to the generation of a wide range of behaviors (obstacle avoiding, wall following, etc.). 3.1 Solution encoding Each individual in the population represents a trajectory starting from the initial point and trying to reach the final point. Not only a sequence of coordinates connecting the initial and the final point is needed, but also linear and angular velocities must be specified. So, a chromosome is a string of pairs v, w representing reference linear and angular velocities for the robot at each point. (v t1,w t1 ), (v t2,w t2 ),...,(v tn,w tn ) This sequence has to be converted into velocity commands like those in the section 2 to be executed on the robot. 3.2 Fitness function Fitness function measures the optimality of each trajectory considering two factors: the distance between the final robot position and the goal point and the time invested. where: f = αd obj (t n,σ)+ βt n 4

d obj (t, σ ) = (χ(t, σ ) x obj ) 2 + (ψ(t, σ ) y obj ) 2 + ν(t,σ) 2 + ϕ(t,σ) 2 represents the euclidean distance in the space (x,y,v,w)between the goal point and the final robot position t n represents the time invested in reaching the final point α, β are weighting coefficients To ensure that infeasible individuals (i.e., trajectories intersecting with obstacles) get a worse (greater) fitness than feasible ones, the fitness of the worst feasible trajectory is added to each of the infeasible trajectories. The ν(t,σ) and ϕ(t,σ) functions represent the linear and angular velocities, respectively, which are obtained introducing gaussian noise with standard deviation σ in the equations (1) and (2): ϕ(t n,σ)= ω( ) + (a ω c ω (t) + ρ(t, σ ))dt (9) ν(t n,σ)= v( ) + (a v c v (t) + ρ(t, σ ))dt (10) The χ(t,σ)and ψ(t, σ ) functions represent the x and y values obtained using those velocities. The noise term, ρ(t,σ), models the uncertainty in positions and velocities which would take place if the commands were executed on a real robot. From an evaluation point of view, this uncertainty means that an individual will have not a unique fitness value. We have adopted the strategy of evaluating each individual N times and setting its fitness to the worst value obtained. This approach is addressed to promote robust trajectories. To avoid improving an individual fitness accidentally with the introduction of noise, we also evaluate each individual in absence of noise. 4 Genetic operators Crossover: this operator recombines two trajectories. A random crossover point is calculated independently for each parent, and the right part of the chromosome is exchanged between the two parents. This method produces variable length individuals, which are able to grow and eventually reach the goal point. Mutation: each mutation consists of adding a random value from a normal distribution with 0 mean and variance equal to 5 m/s to a gene value (which a variance equal to 5 degrees/s for angular velocities). 5

(a) (b) Figura 1: Results obtained in several environments without noise. 5 Results 5.1 Results obtained in several environments without noise Figure 1 shows two trajectories which were generated using the genetic algorithm in two different environments, without noise in the fitness function. The parameter setting was the following: population size m = 100, generations n = 100, crossover probability p c = 0.75 and mutation probability p m = 0.01. It is interesting to note that these trajectories usually reach high velocities, but passing too close to obstacles. A real robot following these trajectories would probably collide with the objects in the environment. 6 Results comparison with and without noise In order to check the effects produced by noise introduction in the features of the obtained trajectories using the evolutionary algorithm, several tests have been performed in the same environment (figure 2), without changing the parameters between runs, except standard deviation σ of the gaussian noise. Table 1 reports the obtained results averaged over 20 runs with each noise level. The parameter D min represents the smallest distance from the robot to the obstacles along the trajectory. The parameter V avg is the average linear velocity. As can be seen in table 1, noise forces trajectories to pass farther from obsta- 6

(a) (b) Figura 2: Results obtained for the corridor environment cles. Noise-free trajectories achieve faster average velocities because they have no distance constraints (figure 2), but noisy trajectories are more robust and safer if they have to be executed on a real robot. PARAMETER NOISE LEVEL (σ ) 0.0 0.04 0.1 D min (cm) 38.2 39.8 43.8 V avg (cm/s) 51.31 50.92 46.4 Tabla 1: Results obtained for the corridor environment. 7 Conclusions We have presented a solution to the robust trajectory planning problem, using an evolutionary algorithm that searches in the velocities space. We have obtained satisfying results and the robustness of trajectories is improved in comparison with other methods. A cumulative noise term has been introduced in the fitness function and the evolutionary algorithm has been adapted to find a suboptimal and robust solution to satisfy this function. 7

Future work includes to modify the fitness function to plan trajectories corresponding to various schemata of local behavior, as wall following or navigating throughout corridors. The resulting trajectories will be used to learn a local controller capable of guiding the robot using the sensed data. We are also exploring some alternatives in solution encoding to obtain better results in environments with strong local minima. Referencias [1] J.M. Ahuactzin, E.G. Talbi, P. Bessiere, and E. Mazer. Using genetic algorithms for robot motion planning. In European Conference on Artificial Intelligence (ECAI92), 1992. [2] R. Chatila, M. Khatib, H. Jaouni, and J-P. Laumond. Dynamic path modification for car-like non-holonomic mobile robots. In Proc. IEEE Int. Conf. Robotics and Automation, 1997. [3] A. Divelbiss and J. Wen. Nonholonomic motion planning with inequality constraints. In Proc. IEEE Int. Conf. Robotics and Automation, 1994. [4] A. Doyle. Algorithms and computational techniques for robot path planning. PhD thesis, School of Electronic Engineering and Computer Systems, University of Wales, 1995. [5] J. Latombe. Robot Motion Planning. Kluwer Academic Publishers, 1991. [6] M.J. Rendas and W.Tetenoire. Definition of exploratory trajectories in robotics using genetic algorithms. In Tenth International Conference in Industrial and Engineering Applications of Artificial Intelligence and Expert Systems, 1997. [7] J. Xiao, Z. Michalewicz, L. Zhang, and K. Trojanowski. Adaptive evolutionary planner/navigator for robots. IEEE Trans. on Evolutionary Computation, 1, 1997. 8