Evolutionary Artificial Potential Field for Path Planning: A GPU Implementation

Similar documents
Mobile Robot Path Planning in Static Environment

Evolutionary Artificial Potential Fields and Their Application in Real Time Robot Path Planning

DETERMINING MAXIMUM/MINIMUM VALUES FOR TWO- DIMENTIONAL MATHMATICLE FUNCTIONS USING RANDOM CREOSSOVER TECHNIQUES

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

Facial Recognition Using Neural Networks over GPGPU

OBJECT TRACKING UNDER NON-UNIFORM ILLUMINATION CONDITIONS

GPU Accelerated Machine Learning for Bond Price Prediction

Exploiting GPU Caches in Sparse Matrix Vector Multiplication. Yusuke Nagasaka Tokyo Institute of Technology

Technical Report TR

G P G P U : H I G H - P E R F O R M A N C E C O M P U T I N G

CS/CoE 1541 Final exam (Fall 2017). This is the cumulative final exam given in the Fall of Question 1 (12 points): was on Chapter 4

Lecture 15: Introduction to GPU programming. Lecture 15: Introduction to GPU programming p. 1

Introduction to GPGPU and GPU-architectures

High-Performance Computing Using GPUs

GPU Programming Using CUDA

A Hybrid Genetic Algorithm for the Distributed Permutation Flowshop Scheduling Problem Yan Li 1, a*, Zhigang Chen 2, b

An Extension of the StarSs Programming Model for Platforms with Multiple GPUs

Introduction to Parallel Computing with CUDA. Oswald Haan

A THREAD BUILDING BLOCKS BASED PARALLEL GENETIC ALGORITHM

OpenMPSuperscalar: Task-Parallel Simulation and Visualization of Crowds with Several CPUs and GPUs

HPC with Multicore and GPUs

CUDA-accelerated genetic feedforward-ann training for data mining

Highly Scalable Multi-Objective Test Suite Minimisation Using Graphics Card

HYBRID GENETIC ALGORITHM WITH GREAT DELUGE TO SOLVE CONSTRAINED OPTIMIZATION PROBLEMS

Supporting Data Parallelism in Matcloud: Final Report

Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization

THE use of an artificial potential field (APF) to describe the

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Multi Agent Navigation on GPU. Avi Bleiweiss

What is GOSET? GOSET stands for Genetic Optimization System Engineering Tool

Accelerating Leukocyte Tracking Using CUDA: A Case Study in Leveraging Manycore Coprocessors

Evolving a CUDA Kernel from an nvidia Template

Graphics Processing Unit (GPU) Acceleration of Machine Vision Software for Space Flight Applications

GPU programming. Dr. Bernhard Kainz

Evolving a CUDA Kernel from an nvidia Template

From Biological Cells to Populations of Individuals: Complex Systems Simulations with CUDA (S5133)

Example 1: Color-to-Grayscale Image Processing

Combining Deep Reinforcement Learning and Safety Based Control for Autonomous Driving

Auto-Generation and Auto-Tuning of 3D Stencil Codes on GPU Clusters

3D Path Planning for Multi-UAV Base on Artificial Potential Field Method Zhong-tong GUO *, Hong-jie HU and Fei FENG

Atomic Operations. Atomic operations, fast reduction. GPU Programming. Szénási Sándor.

GPU & High Performance Computing (by NVIDIA) CUDA. Compute Unified Device Architecture Florian Schornbaum

PATH PLANNING OF ROBOT IN STATIC ENVIRONMENT USING GENETIC ALGORITHM (GA) TECHNIQUE

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

Experimental Comparison of Different Techniques to Generate Adaptive Sequences

Hardware/Software Co-Design

Grid Scheduling Strategy using GA (GSSGA)

Evolutionary Computation. Chao Lan

Supporting Advanced Patterns in GrPPI, a Generic Parallel Pattern Interface

Dependency Tracking for Fast Marching. Dynamic Replanning for Ground Vehicles

Genetic Algorithms. Kang Zheng Karl Schober

Large-scale Deep Unsupervised Learning using Graphics Processors

Computational Financial Modeling

GPU programming CUDA C. GPU programming,ii. COMP528 Multi-Core Programming. Different ways:

March 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms

GENETIC ALGORITHM with Hands-On exercise

Automatic translation from CUDA to C++ Luca Atzori, Vincenzo Innocente, Felice Pantaleo, Danilo Piparo

Fast Knowledge Discovery in Time Series with GPGPU on Genetic Programming

Tesla Architecture, CUDA and Optimization Strategies

A Parallel Architecture for the Generalized Traveling Salesman Problem

GPU Programming Using NVIDIA CUDA

Embedded real-time stereo estimation via Semi-Global Matching on the GPU

A Parallel Evolutionary Algorithm for Discovery of Decision Rules

Improving 3D Medical Image Registration CUDA Software with Genetic Programming

MULTI-OBJECTIVE EVOLUTIONARY ALGORITHMS FOR ENERGY-EFFICIENCY IN HETEROGENEOUS WIRELESS SENSOR NETWORKS

Evolutionary Approaches for Resilient Surveillance Management. Ruidan Li and Errin W. Fulp. U N I V E R S I T Y Department of Computer Science

Robot Path Planning Method Based on Improved Genetic Algorithm

Module Memory and Data Locality

Path Planning Optimization Using Genetic Algorithm A Literature Review

Programming GPUs with CUDA. Prerequisites for this tutorial. Commercial models available for Kepler: GeForce vs. Tesla. I.

High Performance and GPU Computing in MATLAB

Outline. Motivation. Introduction of GAs. Genetic Algorithm 9/7/2017. Motivation Genetic algorithms An illustrative example Hypothesis space search

Interpreting a genetic programming population on an nvidia Tesla

ME964 High Performance Computing for Engineering Applications

Introduction to GPU Computing Junjie Lai, NVIDIA Corporation

Heuristic Optimisation

Innovative Systems Design and Engineering ISSN (Paper) ISSN (Online) Vol.5, No.1, 2014

Lecture 1: Introduction and Computational Thinking

Reconstruction Improvements on Compressive Sensing

Optimizing Parallel Reduction in CUDA

NVIDIA s Compute Unified Device Architecture (CUDA)

NVIDIA s Compute Unified Device Architecture (CUDA)

Parallel Memory Defragmentation on a GPU

Mobile Robots Path Planning using Genetic Algorithms

Introduction (7.1) Genetic Algorithms (GA) (7.2) Simulated Annealing (SA) (7.3) Random Search (7.4) Downhill Simplex Search (DSS) (7.

CUDA Memory Types All material not from online sources/textbook copyright Travis Desell, 2012

Parallel LZ77 Decoding with a GPU. Emmanuel Morfiadakis Supervisor: Dr Eric McCreath College of Engineering and Computer Science, ANU

GPU-Accelerated Genetic Algorithms

Computer Science, UCL, London

Simultaneous Solving of Linear Programming Problems in GPU

Accelerating image registration on GPUs

The Simple Genetic Algorithm Performance: A Comparative Study on the Operators Combination

The Parallel Software Design Process. Parallel Software Design

Accelerating Financial Applications on the GPU

Complex Systems Simulations on the GPU

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Using a GPU in InSAR processing to improve performance

Scientific Computations Using Graphics Processors

Combinational Circuit Design Using Genetic Algorithms

Solving Classification Problems Using Genetic Programming Algorithms on GPUs

Transcription:

Evolutionary Artificial Potential Field for Path Planning: A GPU Implementation Ulises Orozco-Rosas, Oscar Montiel, Roberto Sepúlveda March 2015

Outline Introduction Evolutionary Artificial Potential Field GPU Implementation Results Conclusions and Future Work 2

Introduction Motivation Robotics is one of the most important technologies since it is a fundamental part in automation and manufacturing process. In particular, there is an increasing demand of autonomous mobile robots in various field of application. http://blogs.nvidia.com/blog/2014/01/07/audi-will-deploy-tegra-k1-to-power-piloted-driving-initiatives/ http://www.nasa.gov/centers/goddard/news/features/2012/msl-post-landing_prt.htm. http://www.canada.com/technology/futuretech/self+driving+cars+almost+here+expect+tomorrow/6806156/story.html 3

Introduction Problem This work addresses the problem of autonomous navigation of a mobile robot to take it from one position to another one without the assistance of a human operator, in particular, planning a reachable set of mobile robot configurations to accomplish its mission. Path planning of a mobile robot is to determine a collision-free path from a starting point to a goal point optimizing a performance criterion such as distance, time or energy, distance being the most commonly adopted criterion. http://www.mobilerobots.com/researchrobots/p3at.aspx 4

Introduction Research objective The main objective is to design and develop an efficient path planning algorithm, that it is capable to find an optimal collision free path in a reasonable time to take the robot from the start to the goal point, considering static and dynamic environments with obstacles. 5

Evolutionary Artificial Potential Field Literature review Artificial Potential Field (APF) Khatib (1986) proposed the APF, this approach is based on two potential field (attractive + repulsive) to drive the robot to its goal. Evolutionary Artificial Potential Field (EAPF) Vadakkepat et al. (2000) proposed Evolutionary APF (EAPF) to derive optimal potential field functions using GAs. Population Parallel Evolutionary Artificial Potential Field (PEAPF) Montiel et al. (2014) proposed the Parallel EAPF algorithm using the CPU threads to accelerate the fitness function evaluation. Gen. Ops. Evaluation Selection 6

Evolutionary Artificial Potential Field Artificial Potential Field Potential Surface Potential Area Obstacle Goal Start Total potential field U(q) total = U(q) att + U(q) rep Attraction potential field U(q) att = 1 2 k a(q q f ) 2 Repulsive potential field 1 U(q) rep = 2 k r 1 ρ 1 ρ 0 2 if ρ ρ 0 0 if ρ > ρ 0 Total force F(q) = U(q) total 7

Evolutionary Artificial Potential Field Artificial Potential Field ADVANTAGES DISADVANTAGES Y Path Y Robot X X 8

Evolutionary Artificial Potential Field Evolutionary Artificial Potential Field Population (chromosomes) Genetic operators Genetic Algorithms (GAs) are adaptive heuristic search algorithm premised on the evolutionary ideas of natural selection and genetic. The basic concept of GAs is designed to simulate processes in natural systems necessary for evolution. Selection (mating pool) Evaluation (fitness) 9

GPU Implementation Parallel Evolutionary Artificial Potential Field Population (k a, k r ) 00 (k a, k r ) 01 (k a, k r ) 02 (k a, k r ) 0n Genetic operators (chromosomes) Selection Evaluation (fitness) (k a, k r ) 10 (k a, k r ) 11 (k a, k r ) 12 (k a, k r ) 1n (k a, k r ) m0 (k a, k r ) m1 (k a, k r ) m2 (k a, k r ) mn (mating pool) 10

GPU Implementation GPU Implementation The APF is blended with an Evolutionary Algorithm The potential functions are implemented in GPU (parallel) Potential field Potential force Path evaluation The genetic operators are implemented in the CPU (sequential) Selection Crossover Mutation The path planning system was implemented with Matlab and CUDA programming platforms 11

GPU Implementation Host Matlab call CUDA % Create CUDAKernel object kernel_apf_potential = parallel.gpu.cudakernel( apf_gpu_eval.ptx,... apf_gpu_eval.cu, APF_Potential ); % Set object properties kernel_apf_potential.gridsize = [gridsize, 1, 1]; kernel_apf_potential.threadblocksize = [blocksize, 1, 1]; % Call feval with defined inputs [dev_ua, dev_ur,...] = feval(kernel_apf_potential,...); % Collect data Ua = gather(dev_ua); Ur = gather(dev_ur);... eapf.m 12

GPU Implementation Device CUDA kernel apf_gpu_eval.cu // CUDA kernel for potential field computation global void APF_Potential(float *Ua, float *Ur,...) { int id = blockidx.x * blockdim.x + threadidx.x;... } Potential field Potential force Evaluation U(q) total = 1 2 k a(q q f ) 2 + 1 2 k r 1 ρ 1 ρ 0 2 2 F(q) = U(q) total S = (q i+1 n i=0 q i 2 ) 1/2 13

Results: off-line path planning 1 2 3 4 5 Results 14

Results: on-line path planning 1 2 3 4 5 Results 15

Computation time (s) 1 2 3 4 5 Results EAPF computation time results In EAPF the solution quality improves with larger populations. The experimental results show a speedup of 4.2 on GPU implementation. 140 120 CPU (sequential) Intel Core i7-4710hq CPU @ 2.50Ghz GPU (parallel) GeForce GTX 860M 100 80 Population size (N x 10) Mean (µ) seconds Std. Dev. (σ) Mean (µ) seconds Std. Dev. (σ) Speedup 32 4.491 1.128 5.902 0.985 0.8 64 8.255 0.770 5.784 0.068 1.4 128 16.895 1.165 6.120 0.033 2.8 256 33.832 1.478 10.762 0.230 3.1 512 67.957 2.430 17.402 0.257 3.9 1024 134.701 3.548 32.003 0.528 4.2 60 40 20 0 32 64 128 256 512 1024 Population size (N x 10) CPU GPU 16

Conclusions and Future Work Conclusions Through the integration of the APF with GAs using parallel computing, it has been presented a path planning system capable of obtaining good solutions (even the global optimum) in a moderate run time. It has been demonstrated that parallel EAPF on GPU is capable to solve the path planning for off-line and on-line cases. Due to the simulation results, it can be concluded that parallel EAPF on GPU can be capable of facing more complex and bigger planning problems. 17

Computation time (s) 1 2 3 4 5 Conclusions and Future Work Future work In the future, the work will be expand to complex sceneries. The approach will also be expanded to real-world implementation. 140 120 expected results 100 80 60 40 20 0 32 64 128 256 512 1024 Population size (N x 10) 1024*1024 1048576 http://www.futura-sciences.com/magazines/high-tech/infos/actu/d/robotique-robots http://www.dailygalaxy.com/my_weblog/2012/02/newsflash http://www.darpa.mil/newsevents/releases/2014/03/13.aspx CPU GPU 18

Conclusions and Future Work 19

Acknowledgments We thank to the (Instituto Politécnico Nacional - IPN), to the Comisión de Fomento y Apoyo Académico del IPN (COFAA), and the Mexican National Council of Science and Tehnology (CONACYT) for supporting our research activities. Special thanks to Dr. Antonio Sanz Montemayor from University of Rey Juan Carlos, Spain. For his valuable advice to improve this work 20

Thanks for attending! ulises.or@gmail.com uorozco@citedi.mx mx.linkedin.com/pub/ulises-orozco-rosas/44/50/714 https://www.researchgate.net/profile/ulises_orozco-rosas 21