Real-time evolutionary model predictive control using a graphics processing unit

With humanoid robots becoming more complex and operating in un-modeled or human environments, there is a growing need for control methods that are scalable and robust, while still maintaining compliance for safety reasons. Model Predictive Control (MPC) is an optimal control method which has proven robust to modeling error and disturbances. However, it can be difficult to implement for high degree of freedom (DoF) systems due to the optimization problem that must be solved. While evolutionary algorithms have proven effective for complex large-scale optimization problems, they have not been formulated to find solutions quickly enough for use with MPC. This work details the implementation of a parallelized evolutionary MPC (EMPC) algorithm which is able to run in real-time through the use of a Graphics Processing Unit (GPU). This parallelization is accomplished by simulating candidate control input trajectories in parallel on the GPU. We show that this framework is more flexible in terms of cost function definition than traditional MPC and that it shows promise for finding solutions for high DoF systems.

[1]  P.P. Gelsinger,et al.  Microprocessors for the new millennium: Challenges, opportunities, and new frontiers , 2001, 2001 IEEE International Solid-State Circuits Conference. Digest of Technical Papers. ISSCC (Cat. No.01CH37177).

[2]  Charles C. Kemp,et al.  Model predictive control for fast reaching in clutter , 2016, Auton. Robots.

[3]  Charles C. Kemp,et al.  Fast reaching in clutter while regulating forces using model predictive control , 2013, 2013 13th IEEE-RAS International Conference on Humanoid Robots (Humanoids).

[4]  B. Kvasov Cubic Spline Interpolation , 2000 .

[5]  Peter I. Corke Robotics, Vision and Control - Fundamental Algorithms In MATLAB® Second, Completely Revised, Extended And Updated Edition, Second Edition , 2017, Springer Tracts in Advanced Robotics.

[6]  Eric C. Kerrigan,et al.  Parallel move blocking Model Predictive Control , 2011, IEEE Conference on Decision and Control and European Control Conference.

[7]  Simon See,et al.  Solving Quadratic Programming Problems on Graphics Processing Unit , 2011 .

[8]  Jia Guo,et al.  Channel-Hopping Model Predictive Control , 2011 .

[9]  Michael Garland,et al.  Designing efficient sorting algorithms for manycore GPUs , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[10]  Gao Shang,et al.  Cubic spline interpolation on new condition , 2011 .

[11]  Wu Bing-fang,et al.  MULTIPLEXED MODEL PREDICTIVE CONTROL , 2005 .

[12]  Nolan Wagener,et al.  Information theoretic MPC for model-based reinforcement learning , 2017, 2017 IEEE International Conference on Robotics and Automation (ICRA).

[13]  Antonio Bicchi,et al.  Compliant design for intrinsic safety: general issues and preliminary design , 2001, Proceedings 2001 IEEE/RSJ International Conference on Intelligent Robots and Systems. Expanding the Societal Role of Robotics in the the Next Millennium (Cat. No.01CH37180).

[14]  Jan M. Maciejowski,et al.  Output disturbance rejection using parallel model predictive control , 2013, 2013 XXIV International Conference on Information, Communication and Automation Technologies (ICAT).

[15]  Cristóvão Duarte Sousa SymPyBotics v1.0 , 2014 .

[16]  Samuel Williams,et al.  The Landscape of Parallel Computing Research: A View from Berkeley , 2006 .

[17]  Cristóvão D. Sousa,et al.  Dynamic model identification of robot manipulators: Solving the physical feasibility problem , 2015 .

[18]  George A. Constantinides,et al.  Tutorial paper: Parallel architectures for model predictive control , 2009, 2009 European Control Conference (ECC).

[19]  Marc D. Killpack,et al.  A New Soft Robot Control Method: Using Model Predictive Control for a Pneumatically Actuated Humanoid , 2016, IEEE Robotics & Automation Magazine.

[20]  Jonathan Rogers,et al.  Robust Parafoil Terminal Guidance Using Massively Parallel Processing , 2012 .

[21]  James M. Rehg,et al.  Aggressive driving with model predictive path integral control , 2016, 2016 IEEE International Conference on Robotics and Automation (ICRA).