Publications
- [J3]I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “Horizon-independent Preconditioner Design for Linear Predictive Control,” IEEE Transactions on Automatic Control, vol. 68, no. 1, pp. 580–587, Jan. 2023.
10.1109/TAC.2022.3145657 arXiv: 2010.08572 Preprint Institutional Repository
First-order optimization solvers, such as the Fast Gradient Method, are increasingly being used to solve Model Predictive Control problems in resource-constrained environments. Unfortunately, the convergence rate of these solvers is significantly affected by the conditioning of the problem data, with ill-conditioned problems requiring a large number of iterations. To reduce the number of iterations required, we present a simple method for computing a horizon-independent preconditioning matrix for the Hessian of the condensed problem. The preconditioner is based on the block Toeplitz structure of the Hessian. Horizon-independence allows one to use only the predicted system and cost matrices to compute the preconditioner, instead of the full Hessian. The proposed preconditioner has equivalent performance to an optimal preconditioner in numerical examples, producing speedups between 2x and 9x for the Fast Gradient Method. Additionally, we derive horizon-independent spectral bounds for the Hessian in terms of the transfer function of the predicted system, and show how these can be used to compute a novel horizon-independent bound on the condition number for the preconditioned Hessian.
@article{McInerney2022_closedFormPreconditioner, author = {McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, title = {Horizon-independent Preconditioner Design for Linear Predictive Control}, journal = {IEEE Transactions on Automatic Control}, volume = {68}, number = {1}, pages = {580--587}, publisher = {IEEE}, doi = {10.1109/TAC.2022.3145657}, arxiv = {2010.08572}, year = {2023}, month = jan }
- [J2]H. Li, I. McInerney, J. Davis, and G. A. Constantinides, “Digit Stability Inference for Iterative Methods Using Redundant Number Representation,” IEEE Transactions on Computers, vol. 70, no. 7, pp. 1074–1080, Jul. 2021.
10.1109/TC.2020.3003529 arXiv: 2006.09427 Preprint Institutional Repository 10.5281/zenodo.3564472
In our recent work on iterative computation in hardware, we showed that arbitrary-precision solvers can perform more favourably than their traditional arithmetic equivalents when the latter’s precisions are either under- or over-budgeted for the solution of the problem at hand. Significant proportions of these performance improvements stem from the ability to infer the existence of identical most-significant digits between iterations. This technique uses properties of algorithms operating on redundantly represented numbers to allow the generation of those digits to be skipped, increasing efficiency. It is unable, however, to guarantee that digits will stabilise, i.e. never change in any future iteration. In this article, we address this shortcoming, using interval and forward error analyses to prove that digits of high significance will become stable when computing the approximants of systems of linear equations using stationary iterative methods. We formalise the relationship between matrix conditioning and the rate of growth in most-significant digit stability, using this information to converge to our desired results more quickly. Versus our previous work, an exemplary hardware implementation of this new technique achieves an up-to 2.2x speedup in the solution of a set of variously conditioned systems using the Jacobi method.
@article{Li2021_digitElision, author = {Li, He and McInerney, Ian and Davis, James and Constantinides, George A.}, journal = {IEEE Transactions on Computers}, publisher = {IEEE}, title = {Digit Stability Inference for Iterative Methods Using Redundant Number Representation}, year = {2021}, month = jul, volume = {70}, number = {7}, pages = {1074--1080}, doi = {10.1109/TC.2020.3003529}, arxiv = {2006.09427}, zenodo = {10.5281/zenodo.3564472} }
- [J1]J.-M. Rodriguez-Bernuz, I. McInerney, A. Junyent-Ferré, and E. C. Kerrigan, “Design of a Linear Time-Varying Model Predictive Control Energy Regulator for Grid-Tied VSCs,” IEEE Transactions on Energy Conversion, vol. 36, no. 2, pp. 1425–1434, Jun. 2021.
10.1109/TEC.2021.3060319 Preprint Institutional Repository
This paper presents an energy regulator based on a Model Predictive Control (MPC) algorithm for a Voltage Source Converter (VSC). The MPC is formulated to optimise the converter performance according to the weights defined in an objective function that trades off additional features, such as current harmonic distortion, reactive power tracking and DC bus voltage oscillation. Differently from most approaches found in the research literature, the MPC proposed here considers the coupling dynamics between the AC and DC sides of the VSC. This study is focused on the example case of a single-phase VSC, which presents a nonlinear relationship between its AC and DC sides and a sustained double-line frequency power disturbance in its DC bus. To reduce the burden of the MPC, the controller is formulated to benefit from the slow energy dynamics of the system. Thus, the cascaded structure typically used in the control of VSCs is kept and the MPC is set as an energy regulator at a reduced sampling frequency while the current control relies on a fast inner controller. The computational burden of the algorithm is further reduced by using a linear time-varying approximation. The controller is presented in detail and experimental validation showing the performance of the algorithm is provided.
@article{RodriguezBernuz2021_energyConverterMPC, title = {Design of a {{Linear Time}}-{{Varying Model Predictive Control Energy Regulator}} for {{Grid}}-{{Tied VSCs}}}, author = {{Rodriguez-Bernuz}, Joan-Marc and McInerney, Ian and {Junyent-Ferr{\'e}}, Adri{\`a} and Kerrigan, Eric C.}, journal = {IEEE Transactions on Energy Conversion}, publisher = {IEEE}, year = {2021}, month = jun, volume = {36}, number = {2}, pages = {1425--1434}, doi = {10.1109/TEC.2021.3060319} }
Peer-reviewed Journal Articles
- [C11]M. Wang, I. McInerney, B. Stellato, F. Tu, S. Boyd, and H. Kwok-Hay So, “Multi-Issue Butterfly Architecture for Sparse Convex Quadratic Programming,” in 2024 57th IEEE/ACM International Symposium on Microarchitecture (MICRO), Austin, TX, USA, Nov. 2024.
10.1109/MICRO61859.2024.00115 Preprint Institutional Repository
Convex quadratic optimization solvers are extensively utilized in various domains; however, achieving optimal performance in diverse situations remains a significant challenge due to the sparse nature of objective and constraint matrices. General-purpose architectures struggle with hardware utilization when performing critical sparse matrix operations, such as factorization and multiplication. To address this issue, we introduce a pipelined spatial architecture, Multi-Issue Butterfly (MIB), which supports all primitive scalar, vector, and matrix operations required by the Alternating Direction Method of Multipliers (ADMM) based solver algorithm.
The proposed architecture features a butterfly computational network with innovative working modes for each node, controlled by runtime instructions. We developed a companion scheduling method for matrix operations based on their sparsity patterns. For factorization, an elimination tree guides the network instructions reordering to avoid data hazards caused by computation dependencies. For matrix-vector multiplication, data prefetching resolves structural hazards caused by read and write conflicts to register files. Instructions without hazards are issued simultaneously to increase pipeline throughput and function unit utilization.
We evaluate the proposed architecture using FPGA prototypes, representing the first fully FPGA-based generic QP solver. Our assessment includes extensive performance and efficiency benchmarks across 100 QP problems from five application domains. Compared to the same algorithm variation running on CPU backends, our prototype achieves a geometric mean of 30.5× end-to-end speedup, 127.0× greater energy efficiency, and 16.5× less runtime jitter. In comparison to GPU backends, the prototype attains a geometric mean of 4.3× faster end-to-end speedup, 21.7× higher energy efficiency, and 33.4× less runtime jitter.
@inproceedings{Wang2024_butterfly, title = {Multi-Issue Butterfly Architecture for Sparse Convex Quadratic Programming}, author = {Wang, Maolin and McInerney, Ian and Stellato, Bartolomeo and Tu, Fengbin and Boyd, Stephen and Kwok-Hay So, Hayden}, booktitle = {2024 57th IEEE/ACM International Symposium on Microarchitecture (MICRO)}, address = {Austin, TX, USA}, year = {2024}, month = nov, doi = {10.1109/MICRO61859.2024.00115} }
- [C10]M. Verma, I. McInerney, and L. Renson, “Learning Bounds on Computational Values in Iterative Methods using Reachability Analysis,” in Symposium on Systems Theory in Data and Optimization (SysDO2024), Stuttgart, DE, Sep. 2024.
In this extended abstract, we present our initial work on how the reachable sets of the Koopman operator for an iterative method can be approximated and then used to make decisions about the number formats required for implementations. We present our initial framework for learning the Koopman operator and performing reachability analysis on it, followed by an illustrative example on the Gauss-Seidel stationary iterative method, where the reachability analysis can inform the decision to use signed/unsigned variables.
@inproceedings{Verma2024_LearningBounds, title = {Learning Bounds on Computational Values in Iterative Methods using Reachability Analysis}, author = {Verma, Mukund and McInerney, Ian and Renson, Ludovic}, booktitle = {Symposium on Systems Theory in Data and Optimization (SysDO2024)}, address = {Stuttgart, DE}, year = {2024}, month = sep }
- [C9]M. Wang, I. McInerney, B. Stellato, S. Boyd, and H. Kwok-Hay So, “RSQP: Problem-specific Architectural Customization for Accelerated Convex Quadratic Optimization,” in 50th Annual International Symposium on Computer Architecture (ISCA ’23), Orlando, FL, USA, Jun. 2023.
10.1145/3579371.3589108 Preprint Institutional Repository Code
Convex optimization is at the heart of many performance-critical applications across a wide range of domains. Although many high-performance hardware accelerators have been developed for specific optimization problems in the past, designing such accelerator is a challenging task and the resulting computing architecture is often so specific to the targeted application that they can hardly be reused even in a related application within the same domain. To accelerate general-purpose optimization solvers that must operate on diverse user input during run time, an ideal hardware solver should be able to adapt to the provided optimization problem dynamically while achieving high performance and power-efficiency. In this work, a hardware-accelerated general-purpose quadratic program solver, called RSQP, with reconfigurable functional units and data path that facilitate problem-specific customization is presented. RSQP uses a string-based encoding to describe the problem structure with fine granularity. Based on this encoding, functional units and datapath customized to the sparsity pattern of the problem are created by solving a dictionary-based lossless string compression problem and a mixed integer linear program respectively. RSQP has been integrated to accelerate the general-purpose quadratic programming solver OSQP and has been tested using an extensive benchmark with 120 optimization problems from 6 application domains. Through architectural customization, RSQP achieves up to 7× performance improvement over its baseline generic design. Furthermore, when compared with a CPU and a GPU-accelerated implementation, RSQP achieves up to 31.2× and 6.9× end-to-end speedup on these benchmark programs, respectively. Finally, the FPGA accelerator operates at up to 6.6× lower dynamic power consumption and up to 22.7× higher power efficiency over the GPU implementation, making it an attractive solution for power-conscious datacenter applications.
@inproceedings{Wang2023_RSQP, title = {{RSQP}: Problem-specific Architectural Customization for Accelerated Convex Quadratic Optimization}, author = {Wang, Maolin and McInerney, Ian and Stellato, Bartolomeo and Boyd, Stephen and Kwok-Hay So, Hayden}, booktitle = {50th Annual International Symposium on Computer Architecture (ISCA '23)}, address = {Orlando, FL, USA}, year = {2023}, month = jun, doi = {10.1145/3579371.3589108} }
- [C8]I. McInerney and E. C. Kerrigan, “Teaching Predictive Control Using Specification-based Summative Assessments,” in 13th Symposium on Advances in Control Education (ACE 2022), Hamburg, Germany, Jul. 2022, pp. 236–241.
10.1016/j.ifacol.2022.09.285 arXiv: 2202.00157 Preprint Institutional Repository Slides
Including Model Predictive Control (MPC) in the undergraduate/graduate control curriculum is becoming vitally important due to the growing adoption of MPC in many industrial areas. In this paper, we present an overview of the predictive control course taught by the authors at Imperial College London between 2018 and 2021. We discuss how the course evolved from focusing solely on the linear MPC formulation to covering nonlinear MPC and some of its extensions. We also present a novel specification-based summative assessment framework, written in MATLAB, that was developed to assess the knowledge and understanding of the students in the course by tasking them with designing a controller for a real-world problem. The MATLAB assessment framework was designed to provide the students with the freedom to design and implement any MPC controller they wanted. The submitted controllers were then assessed against over 30 variations of the real-world problem to gauge student understanding of design robustness and the MPC topics from the course.
@inproceedings{McInerney2022_TeachingPredictiveControl, title = {Teaching Predictive Control Using Specification-based Summative Assessments}, author = {McInerney, Ian and Kerrigan, Eric C.}, year = {2022}, month = jul, booktitle = {13th Symposium on Advances in Control Education (ACE 2022)}, address = {Hamburg, Germany}, pages = {236--241}, publisher = {IFAC}, arxiv = {2202.00157}, doi = {10.1016/j.ifacol.2022.09.285} }
- [C7]L. Nita, E. M. G. Vila, M. Zagorowska, E. C. Kerrigan, Y. Nie, I. McInerney, and P. Falugi, “Fast and accurate method for computing non-smooth solutions to constrained control problems,” in 2022 European Control Conference (ECC), London, UK, Jun. 2022, pp. 1049–1054.
10.23919/ECC55457.2022.9838569 arXiv: 2205.08613 Preprint Institutional Repository
Introducing flexibility in the time-discretisation mesh can improve convergence and computational time when solving differential equations numerically, particularly in discontinuous solutions, as commonly found in optimal control problems. State-of-the-art methods invariably use fixed mesh schemes, which cannot achieve superlinear convergence in the presence of non-smooth solutions. In this paper, we propose using a flexible mesh in an integrated residual method. The locations of the mesh nodes are introduced as decision variables, and constraints are added to set upper and lower bounds on the size of the mesh intervals. We compare our approach to a uniform fixed mesh on a real-world satellite reorientation example. This sample problem demonstrates that the flexible mesh enables the solver to automatically locate the discontinuities in the solution, and have a superlinear order of convergence and faster solve time.
@inproceedings{Nita2021_FlexibleMesh, title = {Fast and accurate method for computing non-smooth solutions to constrained control problems}, author = {Nita, Lucian and Vila, Eduardo Miguel Gouveia and Zagorowska, Marta and Kerrigan, Eric C. and Nie, Yuanbo and McInerney, Ian and Falugi, Paola}, year = {2022}, month = jun, pages = {1049--1054}, booktitle = {2022 European Control Conference (ECC)}, address = {London, UK}, publisher = {IEEE}, doi = {10.23919/ECC55457.2022.9838569}, arxiv = {2205.08613} }
- [C6]B. Biggs, I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “High-level Synthesis using the Julia Language,” in 2nd Workshop on Languages, Tools, and Techniques for Accelerator Design (LATTE’22), Lausanne, Switzerland, Mar. 2022.
arXiv: 2201.11522 Preprint Institutional Repository Slides Video Web link
The growing proliferation of FPGAs and High-level Synthesis (HLS) tools has led to a large interest in designing hardware accelerators for complex operations and algorithms. However, existing HLS toolflows typically require a significant amount of user knowledge or training to be effective in both industrial and research applications. In this paper, we propose using the Julia language as the basis for an HLS tool. The Julia HLS tool aims to decrease the barrier to entry for hardware acceleration by taking advantage of the readability of the Julia language and by allowing the use of the existing large library of standard mathematical functions written in Julia. We present a prototype Julia HLS tool, written in Julia, that transforms Julia code to VHDL. We highlight how features of Julia and its compiler simplified the creation of this tool, and we discuss potential directions for future work.
@inproceedings{Biggs2022_JuliaHLS, title = {High-level Synthesis using the {Julia} Language}, author = {Biggs, Benjamin and McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, booktitle = {2nd Workshop on Languages, Tools, and Techniques for Accelerator Design (LATTE'22)}, year = {2022}, month = mar, address = {Lausanne, Switzerland}, arxiv = {2201.11522}, url = {capra.cs.cornell.edu/latte22/paper/7.pdf} }
- [C5]I. McInerney, L. Nita, Y. Nie, A. Oliveri, and E. C. Kerrigan, “Towards a Framework for Nonlinear Predictive Control Using Derivative-Free Optimization,” in 7th IFAC Conference on Nonlinear Predictive Control, Bratislava, Slovakia, Jul. 2021, pp. 284–289.
10.1016/j.ifacol.2021.08.558 arXiv: 2106.05025 Preprint Institutional Repository Slides Video
The use of derivative-based solvers to compute solutions to optimal control problems with non-differentiable cost or dynamics often requires reformulations or relaxations that complicate the implementation or increase computational complexity. We present an initial framework for using the derivative-free Mesh Adaptive Direct Search (MADS) algorithm to solve Nonlinear Model Predictive Control problems with non-differentiable features without the need for reformulation. The MADS algorithm performs a structured search of the input space by simulating selected system trajectories and computing the subsequent cost value. We propose handling the path constraints and the Lagrange cost term by augmenting the system dynamics with additional states to compute the violation and cost value alongside the state trajectories, eliminating the need for reconstructing the state trajectories in a separate phase. We demonstrate the practicality of this framework by solving a robust rocket control problem, where the objective is to reach a target altitude as close as possible, given a system with uncertain parameters. This example uses a non-differentiable cost function and simulates two different system trajectories simultaneously, with each system having its own free final time.
@inproceedings{McInerney2021_NMPC, address = {Bratislava, Slovakia}, author = {McInerney, Ian and Nita, Lucian and Nie, Yuanbo and Oliveri, Alberto and Kerrigan, Eric C.}, booktitle = {7th IFAC Conference on Nonlinear Predictive Control}, pages = {284--289}, publisher = {IFAC}, title = {Towards a Framework for Nonlinear Predictive Control Using Derivative-Free Optimization}, year = {2021}, month = jul, doi = {10.1016/j.ifacol.2021.08.558}, arxiv = {2106.05025} }
- [C4]I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “Modeling Round-off Error in the Fast Gradient Method for Predictive Control,” in 58th IEEE Conference on Decision and Control (CDC), Nice, France, Dec. 2019, pp. 4331–4336.
10.1109/CDC40024.2019.9029910 Preprint Institutional Repository Slides Poster
We present a method for determining the smallest precision required to have algorithmic stability of an implementation of the Fast Gradient Method (FGM) when solving a linear Model Predictive Control (MPC) problem in fixed-point arithmetic. We derive two models for the round-off error present in fixed-point arithmetic. The first is a generic model with no assumptions on the predicted system or weight matrices. The second is a parametric model that exploits the Toeplitz structure of the MPC problem for a Schur-stable system. We also propose a metric for measuring the amount of round-off error the FGM iteration can tolerate before becoming unstable. This metric is combined with the round-off error models to compute the minimum number of fractional bits needed for the fixed-point data type. Using these models, we show that exploiting the MPC problem structure nearly halves the number of fractional bits needed to implement an example problem. We show that this results in significant decreases in resource usage, computational energy and execution time for an implementation on a Field Programmable Gate Array.
@inproceedings{McInerney2019_cdc, address = {Nice, France}, author = {McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, booktitle = {58th IEEE Conference on Decision and Control (CDC)}, pages = {4331--4336}, publisher = {IEEE}, title = {Modeling Round-off Error in the Fast Gradient Method for Predictive Control}, year = {2019}, month = dec, doi = {10.1109/CDC40024.2019.9029910} }
- [C3]I. McInerney, G. A. Constantinides, and E. C. Kerrigan, “A Survey of the Implementation of Linear Model Predictive Control on FPGAs,” in 6th IFAC Conference on Nonlinear Model Predictive Control, Madison, Wisconsin, US, Aug. 2018, pp. 381–387.
10.1016/j.ifacol.2018.11.063 Preprint Institutional Repository Poster
Over the past 20 years, great strides have been made in the real-time implementation of linear MPC on FPGA devices. Starting from initial work, which demonstrated the benefits of embedding linear MPC onto FPGAs, recent work has shown sampling rates of more than 1 MHz are possible with FPGA-based implementations. This work surveys FPGA implementations of linear MPC, with a focus on the computational architecture. This includes the choice of number representation, the parallelizations exploited and the memory architecture. We discuss the transferability of those design choices to the FPGA implementation of nonlinear MPC, and provide some future research directions related to the implementation of MPC on FPGAs.
@inproceedings{McInerney2018_NMPC, address = {Madison, Wisconsin, US}, author = {McInerney, Ian and Constantinides, George A. and Kerrigan, Eric C.}, booktitle = {6th IFAC Conference on Nonlinear Model Predictive Control}, doi = {10.1016/j.ifacol.2018.11.063}, pages = {381--387}, publisher = {IFAC}, title = {A Survey of the Implementation of Linear Model Predictive Control on {FPGA}s}, year = {2018}, month = aug }
- [C2]I. McInerney and E. C. Kerrigan, “Automated Project-based Assessment in a Predictive Control Course,” in 2018 UKACC 12th International Conference on Control (CONTROL), Sheffield, UK, Aug. 2018, p. 443.
10.1109/CONTROL.2018.8516728 Preprint Institutional Repository
Written assessments, such as book problems and exams, have customarily been used in control courses to measure student progress, but usually only gauge their knowledge of the theoretical concepts. More complicated control methods, such as predictive control, benefit from gauging student progress through implementation projects. We present a set of automatically marked project-based assessments that test student knowledge on concepts ranging from the derivation of physics models to the creation of a closed-loop predictive controller. We present a simulation framework that allows for the students to utilize any predictive control concepts that they decide to use in their implementation. The framework then automatically tests the student solutions against multiple constraint sets and conditions to provide quantitative data for marking the assessment.
@inproceedings{McInerney2018_UKACC, address = {Sheffield, UK}, author = {McInerney, Ian and Kerrigan, Eric C.}, booktitle = {2018 UKACC 12th International Conference on Control (CONTROL)}, doi = {10.1109/CONTROL.2018.8516728}, pages = {443}, title = {Automated Project-based Assessment in a Predictive Control Course}, publisher = {IEEE}, year = {2018}, month = aug }
- [C1]I. McInerney, X. Ma, and N. Elia, “Cooperative Localization from Imprecise Range-Only Measurements: A Non-Convex Distributed Approach,” in 56th IEEE Conference on Decision and Control (CDC), Melbourne, Australia, Dec. 2017, pp. 2216–2221.
10.1109/CDC.2017.8263973 Preprint
This paper presents a distributed method to locate a target object using multi-agent systems with only knowledge of the agent position and distance between them and the target. The problem is formulated as a non-convex quadratically constrained program, which is then solved using an optimization dynamics approach. The method presented can be applied to an arbitrary undirected network, and only requires agents communicating their estimate of the target’s position and their calculated dual variables. The proposed method is derived from the Range-Based Least-Squares method, and becomes the Maximum Likelihood Estimator for this problem under Gaussian noise. We present the convergence results and also numerical simulations of this method.
@inproceedings{McInerney2017_cdc, address = {Melbourne, Australia}, author = {McInerney, Ian and Ma, Xu and Elia, Nicola}, booktitle = {56th IEEE Conference on Decision and Control (CDC)}, pages = {2216--2221}, publisher = {IEEE}, title = {Cooperative Localization from Imprecise Range-Only Measurements: A Non-Convex Distributed Approach}, year = {2017}, month = dec, doi = {10.1109/CDC.2017.8263973} }
Peer-reviewed Conference and Workshop Papers
- [T2]I. S. McInerney, “Numerical Methods for Model Predictive Control,” Ph.D. Dissertation, Department of Electrical and Electronic Engineering, Imperial College London, London, UK, 2022.
10.25560/96929 Preprint Institutional Repository
There has been an increased interest in controlling complex systems using Model Predictive Control (MPC). However, the use of resource-constrained computing platforms in these systems has slowed the adoption of MPC. This thesis focuses on increasing the efficiency of numerical methods for MPC in terms of resource usage and solution time, while also simplifying the design process.
We first show how block Toeplitz operators can be used to link the linear MPC matrices to the transfer function of the predicted system, resulting in horizon-independent bounds on the condition number of the condensed Hessian and the upper iteration bound for the Fast Gradient Method (FGM). We derive a horizon-independent preconditioner that produces up to a 9x speedup for the FGM while reducing the preconditioner computation time by up to 50,000x compared to an existing preconditioner. We propose a new method for computing the minimum number of fractional bits needed to ensure the FGM with fixed-point arithmetic is stable, with an example showing decreases of up to 77% in resource usage and 50% in the computational energy when using this method on a Field Programmable Gate Array.
Finally, we present a framework using the derivative-free Mesh Adaptive Direct Search method to solve nonlinear MPC problems with non-differentiable features or quantized variables without the need for complex or costly reformulations. We augment the system dynamics with additional states to compute the Lagrange cost term and the violation of the path constraints along the state trajectory, and then perform a structured search of the input space using a single-shooting simulation of the system dynamics. We demonstrate this framework on a robust Goddard rocket problem with a non-differentiable cost and a quantized thrust input, where we achieve an altitude within 40 m of the target, while other methods are unable to get closer than 180m.
@thesis{McInerney2022_PhdThesis, author = {McInerney, Ian Scott}, school = {Department of Electrical and Electronic Engineering, Imperial College London}, title = {{Numerical Methods for Model Predictive Control}}, type = {Ph.D. Dissertation}, address = {London, UK}, month = mar, year = {2022}, doi = {10.25560/96929} }
- [T1]I. S. McInerney, “Development of a multi-agent quadrotor research platform with distributed computational capabilities,” M.S. Thesis, Department of Electrical and Computer Engineering, Iowa State University, Ames, IA, USA, 2017.
10.31274/etd-180810-5192 Preprint Institutional Repository 10.5281/zenodo.4719659
Research on multi-agent systems of UAVs is of growing interest in the research community, with specific interest in the testing of novel algorithms on actual systems. Many existing testbeds already exist, but the majority of them utilize expensive quadrotors for their agents. With the recent surge in interest from consumers, companies have started to market lower cost quadrotor options. One such option is the Crazyflie 2.0 from Bitcraze. This quadrotor measures just 10cm from rotor to rotor, uses open-source firmware, and has developed a strong community backing. This work develops a multi-agent testbed using the Crazyflie 2.0.
This work presents a parameterization of the Crazyflie quadrotor so it can be modeled and have more advanced controllers designed for it. Additionally, this work discusses the default control loop of the Crazyflie 2.0. Then nested-loop PID controllers are designed and compared against the simulated physics model.
A software system that is capable of controlling multiple flying Crazyflie’s is also presented. This system is also capable of modifying the controller at runtime, and implementing distributed computation on the Crazyflie.
Finally, a novel algorithm for localization of a target object using distance-only measurements is presented. This algorithm uses optimization dynamics to solve a non-convex QCQP formulation of the problem in a distributed manner. The algorithm is presented and then implemented using the distributed computation framework presented in this work.
@thesis{McInerney2017_MSThesis, author = {McInerney, Ian Scott}, booktitle = {Thesis}, school = {Department of Electrical and Computer Engineering, Iowa State University}, address = {Ames, IA, USA}, title = {{Development of a multi-agent quadrotor research platform with distributed computational capabilities}}, type = {M.S. Thesis}, year = {2017}, month = aug, doi = {10.31274/etd-180810-5192}, codedoi = {10.5281/zenodo.4719659} }
Thesis
- [TR2]I. McInerney, “Conditions for Digit Stability in Iterative Methods Using the Redundant Number Representation,” May 2022.
Iterative methods play an important role in science and engineering applications, with uses ranging from linear system solvers in finite element methods to optimization solvers in model predictive control. Recently, a new computational strategy for iterative methods called ARCHITECT was proposed by Li et al. in [1] that uses the redundant number representation to create “stable digits” in the Most-significant Digits (MSDs) of an iterate, allowing the future iterations to assume the stable MSDs have not changed their value, eliminating the need to recompute them. In this work, we present a theoretical analysis of how these “stable digits” arise in iterative methods by showing that a Fejér monotone sequence in the redundant number representation can develop stable MSDs in the elements of the sequence as the sequence grows in length. This property of Fejér monotone sequences allows us to expand the class of iterative methods known to have MSD stability when using the redundant number representation to include any fixed-point iteration of a contractive Lipschitz continuous function. We then show that this allows for the theoretical guarantee of digit stability not just in the Jacobi method that was previously analyzed by Li et al. in [2], but also in other commonly used methods such as Newton’s method.
@techreport{McInerney2022_RedundantIterativeMethods, title = {Conditions for Digit Stability in Iterative Methods Using the Redundant Number Representation}, author = {McInerney, Ian}, year = {2022}, month = may, arxiv = {2205.03507} }
- [TR1]I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “Bounding Computational Complexity under Cost Function Scaling in Predictive Control,” Feb. 2019.
arXiv: 1902.02221 10.24433/CO.3311801.v1
We present a framework for upper bounding the number of iterations required by first-order optimization algorithms implementing constrained LQR controllers. We derive new bounds for the condition number and extremal eigenvalues of the primal and dual Hessian matrices when the cost function is scaled. These bounds are horizon-independent, allowing for their use with receding, variable and decreasing horizon controllers. We considerably relax prior assumptions on the structure of the weight matrices and assume only that the system is Schur-stable and the primal Hessian of the quadratic program (QP) is positive-definite. Our analysis uses the Toeplitz structure of the QP matrices to relate their spectrum to the transfer function of the system, allowing for the use of system-theoretic techniques to compute the bounds. Using these bounds, we can compute the effect on the computational complexity of trading off the input energy used against the state deviation. An example system shows a three-times increase in algorithm iterations between the two extremes, with the state 2-norm decreased by only 5% despite a greatly increased state deviation penalty.
@techreport{McInerney2019_boundingComputationalComplexity, author = {McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, title = {Bounding Computational Complexity under Cost Function Scaling in Predictive Control}, journal = {arXiv:1902.02221}, arxiv = {1902.02221}, year = {2019}, month = feb, codedoi = {10.24433/CO.3311801.v1} }
Technical Reports
- [PA1]A. K. Basu, I. S. McInerney, B. S. Howard, and I. Paduret, “OIL IDENTIFICATION SYSTEM,” U.S. Pat. App. 14/547640, Mar. 2014.
@patent{Caterpillar2014, author = {Basu, Amiyo K. and McInerney, Ian S. and Howard, Brian S. and Paduret, Ioan}, assignee = {Caterpillar, Inc.}, address = {}, title = {{OIL IDENTIFICATION SYSTEM}}, nationality = {United States}, number = {U.S. Pat. App. 14/547640}, dayfiled = {19}, monthfiled = {3}, yearfiled = {2014}, year = {2014}, month = mar, type = {Patent Application}, url = {patents.google.com/patent/US20160139103A1/en} }
Patents
- [TR2]
I. McInerney, “Conditions for Digit Stability in Iterative Methods Using the Redundant Number Representation,” May 2022.
Iterative methods play an important role in science and engineering applications, with uses ranging from linear system solvers in finite element methods to optimization solvers in model predictive control. Recently, a new computational strategy for iterative methods called ARCHITECT was proposed by Li et al. in [1] that uses the redundant number representation to create “stable digits” in the Most-significant Digits (MSDs) of an iterate, allowing the future iterations to assume the stable MSDs have not changed their value, eliminating the need to recompute them. In this work, we present a theoretical analysis of how these “stable digits” arise in iterative methods by showing that a Fejér monotone sequence in the redundant number representation can develop stable MSDs in the elements of the sequence as the sequence grows in length. This property of Fejér monotone sequences allows us to expand the class of iterative methods known to have MSD stability when using the redundant number representation to include any fixed-point iteration of a contractive Lipschitz continuous function. We then show that this allows for the theoretical guarantee of digit stability not just in the Jacobi method that was previously analyzed by Li et al. in [2], but also in other commonly used methods such as Newton’s method.
@techreport{McInerney2022_RedundantIterativeMethods, title = {Conditions for Digit Stability in Iterative Methods Using the Redundant Number Representation}, author = {McInerney, Ian}, year = {2022}, month = may, arxiv = {2205.03507} }
- [J2]
H. Li, I. McInerney, J. Davis, and G. A. Constantinides, “Digit Stability Inference for Iterative Methods Using Redundant Number Representation,” IEEE Transactions on Computers, vol. 70, no. 7, pp. 1074–1080, Jul. 2021.
10.1109/TC.2020.3003529 arXiv: 2006.09427 Preprint Institutional Repository 10.5281/zenodo.3564472
In our recent work on iterative computation in hardware, we showed that arbitrary-precision solvers can perform more favourably than their traditional arithmetic equivalents when the latter’s precisions are either under- or over-budgeted for the solution of the problem at hand. Significant proportions of these performance improvements stem from the ability to infer the existence of identical most-significant digits between iterations. This technique uses properties of algorithms operating on redundantly represented numbers to allow the generation of those digits to be skipped, increasing efficiency. It is unable, however, to guarantee that digits will stabilise, i.e. never change in any future iteration. In this article, we address this shortcoming, using interval and forward error analyses to prove that digits of high significance will become stable when computing the approximants of systems of linear equations using stationary iterative methods. We formalise the relationship between matrix conditioning and the rate of growth in most-significant digit stability, using this information to converge to our desired results more quickly. Versus our previous work, an exemplary hardware implementation of this new technique achieves an up-to 2.2x speedup in the solution of a set of variously conditioned systems using the Jacobi method.
@article{Li2021_digitElision, author = {Li, He and McInerney, Ian and Davis, James and Constantinides, George A.}, journal = {IEEE Transactions on Computers}, publisher = {IEEE}, title = {Digit Stability Inference for Iterative Methods Using Redundant Number Representation}, year = {2021}, month = jul, volume = {70}, number = {7}, pages = {1074--1080}, doi = {10.1109/TC.2020.3003529}, arxiv = {2006.09427}, zenodo = {10.5281/zenodo.3564472} }
- [J1]
J.-M. Rodriguez-Bernuz, I. McInerney, A. Junyent-Ferré, and E. C. Kerrigan, “Design of a Linear Time-Varying Model Predictive Control Energy Regulator for Grid-Tied VSCs,” IEEE Transactions on Energy Conversion, vol. 36, no. 2, pp. 1425–1434, Jun. 2021.
10.1109/TEC.2021.3060319 Preprint Institutional Repository
This paper presents an energy regulator based on a Model Predictive Control (MPC) algorithm for a Voltage Source Converter (VSC). The MPC is formulated to optimise the converter performance according to the weights defined in an objective function that trades off additional features, such as current harmonic distortion, reactive power tracking and DC bus voltage oscillation. Differently from most approaches found in the research literature, the MPC proposed here considers the coupling dynamics between the AC and DC sides of the VSC. This study is focused on the example case of a single-phase VSC, which presents a nonlinear relationship between its AC and DC sides and a sustained double-line frequency power disturbance in its DC bus. To reduce the burden of the MPC, the controller is formulated to benefit from the slow energy dynamics of the system. Thus, the cascaded structure typically used in the control of VSCs is kept and the MPC is set as an energy regulator at a reduced sampling frequency while the current control relies on a fast inner controller. The computational burden of the algorithm is further reduced by using a linear time-varying approximation. The controller is presented in detail and experimental validation showing the performance of the algorithm is provided.
@article{RodriguezBernuz2021_energyConverterMPC, title = {Design of a {{Linear Time}}-{{Varying Model Predictive Control Energy Regulator}} for {{Grid}}-{{Tied VSCs}}}, author = {{Rodriguez-Bernuz}, Joan-Marc and McInerney, Ian and {Junyent-Ferr{\'e}}, Adri{\`a} and Kerrigan, Eric C.}, journal = {IEEE Transactions on Energy Conversion}, publisher = {IEEE}, year = {2021}, month = jun, volume = {36}, number = {2}, pages = {1425--1434}, doi = {10.1109/TEC.2021.3060319} }
- [T1]
I. S. McInerney, “Development of a multi-agent quadrotor research platform with distributed computational capabilities,” M.S. Thesis, Department of Electrical and Computer Engineering, Iowa State University, Ames, IA, USA, 2017.
10.31274/etd-180810-5192 Preprint Institutional Repository 10.5281/zenodo.4719659
Research on multi-agent systems of UAVs is of growing interest in the research community, with specific interest in the testing of novel algorithms on actual systems. Many existing testbeds already exist, but the majority of them utilize expensive quadrotors for their agents. With the recent surge in interest from consumers, companies have started to market lower cost quadrotor options. One such option is the Crazyflie 2.0 from Bitcraze. This quadrotor measures just 10cm from rotor to rotor, uses open-source firmware, and has developed a strong community backing. This work develops a multi-agent testbed using the Crazyflie 2.0.
This work presents a parameterization of the Crazyflie quadrotor so it can be modeled and have more advanced controllers designed for it. Additionally, this work discusses the default control loop of the Crazyflie 2.0. Then nested-loop PID controllers are designed and compared against the simulated physics model.
A software system that is capable of controlling multiple flying Crazyflie’s is also presented. This system is also capable of modifying the controller at runtime, and implementing distributed computation on the Crazyflie.
Finally, a novel algorithm for localization of a target object using distance-only measurements is presented. This algorithm uses optimization dynamics to solve a non-convex QCQP formulation of the problem in a distributed manner. The algorithm is presented and then implemented using the distributed computation framework presented in this work.
@thesis{McInerney2017_MSThesis, author = {McInerney, Ian Scott}, booktitle = {Thesis}, school = {Department of Electrical and Computer Engineering, Iowa State University}, address = {Ames, IA, USA}, title = {{Development of a multi-agent quadrotor research platform with distributed computational capabilities}}, type = {M.S. Thesis}, year = {2017}, month = aug, doi = {10.31274/etd-180810-5192}, codedoi = {10.5281/zenodo.4719659} }
- [C10]
M. Verma, I. McInerney, and L. Renson, “Learning Bounds on Computational Values in Iterative Methods using Reachability Analysis,” in Symposium on Systems Theory in Data and Optimization (SysDO2024), Stuttgart, DE, Sep. 2024.
In this extended abstract, we present our initial work on how the reachable sets of the Koopman operator for an iterative method can be approximated and then used to make decisions about the number formats required for implementations. We present our initial framework for learning the Koopman operator and performing reachability analysis on it, followed by an illustrative example on the Gauss-Seidel stationary iterative method, where the reachability analysis can inform the decision to use signed/unsigned variables.
@inproceedings{Verma2024_LearningBounds, title = {Learning Bounds on Computational Values in Iterative Methods using Reachability Analysis}, author = {Verma, Mukund and McInerney, Ian and Renson, Ludovic}, booktitle = {Symposium on Systems Theory in Data and Optimization (SysDO2024)}, address = {Stuttgart, DE}, year = {2024}, month = sep }
- [C11]
M. Wang, I. McInerney, B. Stellato, F. Tu, S. Boyd, and H. Kwok-Hay So, “Multi-Issue Butterfly Architecture for Sparse Convex Quadratic Programming,” in 2024 57th IEEE/ACM International Symposium on Microarchitecture (MICRO), Austin, TX, USA, Nov. 2024.
10.1109/MICRO61859.2024.00115 Preprint Institutional Repository
Convex quadratic optimization solvers are extensively utilized in various domains; however, achieving optimal performance in diverse situations remains a significant challenge due to the sparse nature of objective and constraint matrices. General-purpose architectures struggle with hardware utilization when performing critical sparse matrix operations, such as factorization and multiplication. To address this issue, we introduce a pipelined spatial architecture, Multi-Issue Butterfly (MIB), which supports all primitive scalar, vector, and matrix operations required by the Alternating Direction Method of Multipliers (ADMM) based solver algorithm.
The proposed architecture features a butterfly computational network with innovative working modes for each node, controlled by runtime instructions. We developed a companion scheduling method for matrix operations based on their sparsity patterns. For factorization, an elimination tree guides the network instructions reordering to avoid data hazards caused by computation dependencies. For matrix-vector multiplication, data prefetching resolves structural hazards caused by read and write conflicts to register files. Instructions without hazards are issued simultaneously to increase pipeline throughput and function unit utilization.
We evaluate the proposed architecture using FPGA prototypes, representing the first fully FPGA-based generic QP solver. Our assessment includes extensive performance and efficiency benchmarks across 100 QP problems from five application domains. Compared to the same algorithm variation running on CPU backends, our prototype achieves a geometric mean of 30.5× end-to-end speedup, 127.0× greater energy efficiency, and 16.5× less runtime jitter. In comparison to GPU backends, the prototype attains a geometric mean of 4.3× faster end-to-end speedup, 21.7× higher energy efficiency, and 33.4× less runtime jitter.
@inproceedings{Wang2024_butterfly, title = {Multi-Issue Butterfly Architecture for Sparse Convex Quadratic Programming}, author = {Wang, Maolin and McInerney, Ian and Stellato, Bartolomeo and Tu, Fengbin and Boyd, Stephen and Kwok-Hay So, Hayden}, booktitle = {2024 57th IEEE/ACM International Symposium on Microarchitecture (MICRO)}, address = {Austin, TX, USA}, year = {2024}, month = nov, doi = {10.1109/MICRO61859.2024.00115} }
- [C9]
M. Wang, I. McInerney, B. Stellato, S. Boyd, and H. Kwok-Hay So, “RSQP: Problem-specific Architectural Customization for Accelerated Convex Quadratic Optimization,” in 50th Annual International Symposium on Computer Architecture (ISCA ’23), Orlando, FL, USA, Jun. 2023.
10.1145/3579371.3589108 Preprint Institutional Repository Code
Convex optimization is at the heart of many performance-critical applications across a wide range of domains. Although many high-performance hardware accelerators have been developed for specific optimization problems in the past, designing such accelerator is a challenging task and the resulting computing architecture is often so specific to the targeted application that they can hardly be reused even in a related application within the same domain. To accelerate general-purpose optimization solvers that must operate on diverse user input during run time, an ideal hardware solver should be able to adapt to the provided optimization problem dynamically while achieving high performance and power-efficiency. In this work, a hardware-accelerated general-purpose quadratic program solver, called RSQP, with reconfigurable functional units and data path that facilitate problem-specific customization is presented. RSQP uses a string-based encoding to describe the problem structure with fine granularity. Based on this encoding, functional units and datapath customized to the sparsity pattern of the problem are created by solving a dictionary-based lossless string compression problem and a mixed integer linear program respectively. RSQP has been integrated to accelerate the general-purpose quadratic programming solver OSQP and has been tested using an extensive benchmark with 120 optimization problems from 6 application domains. Through architectural customization, RSQP achieves up to 7× performance improvement over its baseline generic design. Furthermore, when compared with a CPU and a GPU-accelerated implementation, RSQP achieves up to 31.2× and 6.9× end-to-end speedup on these benchmark programs, respectively. Finally, the FPGA accelerator operates at up to 6.6× lower dynamic power consumption and up to 22.7× higher power efficiency over the GPU implementation, making it an attractive solution for power-conscious datacenter applications.
@inproceedings{Wang2023_RSQP, title = {{RSQP}: Problem-specific Architectural Customization for Accelerated Convex Quadratic Optimization}, author = {Wang, Maolin and McInerney, Ian and Stellato, Bartolomeo and Boyd, Stephen and Kwok-Hay So, Hayden}, booktitle = {50th Annual International Symposium on Computer Architecture (ISCA '23)}, address = {Orlando, FL, USA}, year = {2023}, month = jun, doi = {10.1145/3579371.3589108} }
- [T2]
I. S. McInerney, “Numerical Methods for Model Predictive Control,” Ph.D. Dissertation, Department of Electrical and Electronic Engineering, Imperial College London, London, UK, 2022.
10.25560/96929 Preprint Institutional Repository
There has been an increased interest in controlling complex systems using Model Predictive Control (MPC). However, the use of resource-constrained computing platforms in these systems has slowed the adoption of MPC. This thesis focuses on increasing the efficiency of numerical methods for MPC in terms of resource usage and solution time, while also simplifying the design process.
We first show how block Toeplitz operators can be used to link the linear MPC matrices to the transfer function of the predicted system, resulting in horizon-independent bounds on the condition number of the condensed Hessian and the upper iteration bound for the Fast Gradient Method (FGM). We derive a horizon-independent preconditioner that produces up to a 9x speedup for the FGM while reducing the preconditioner computation time by up to 50,000x compared to an existing preconditioner. We propose a new method for computing the minimum number of fractional bits needed to ensure the FGM with fixed-point arithmetic is stable, with an example showing decreases of up to 77% in resource usage and 50% in the computational energy when using this method on a Field Programmable Gate Array.
Finally, we present a framework using the derivative-free Mesh Adaptive Direct Search method to solve nonlinear MPC problems with non-differentiable features or quantized variables without the need for complex or costly reformulations. We augment the system dynamics with additional states to compute the Lagrange cost term and the violation of the path constraints along the state trajectory, and then perform a structured search of the input space using a single-shooting simulation of the system dynamics. We demonstrate this framework on a robust Goddard rocket problem with a non-differentiable cost and a quantized thrust input, where we achieve an altitude within 40 m of the target, while other methods are unable to get closer than 180m.
@thesis{McInerney2022_PhdThesis, author = {McInerney, Ian Scott}, school = {Department of Electrical and Electronic Engineering, Imperial College London}, title = {{Numerical Methods for Model Predictive Control}}, type = {Ph.D. Dissertation}, address = {London, UK}, month = mar, year = {2022}, doi = {10.25560/96929} }
- [C6]
B. Biggs, I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “High-level Synthesis using the Julia Language,” in 2nd Workshop on Languages, Tools, and Techniques for Accelerator Design (LATTE’22), Lausanne, Switzerland, Mar. 2022.
arXiv: 2201.11522 Preprint Institutional Repository Slides Video Web link
The growing proliferation of FPGAs and High-level Synthesis (HLS) tools has led to a large interest in designing hardware accelerators for complex operations and algorithms. However, existing HLS toolflows typically require a significant amount of user knowledge or training to be effective in both industrial and research applications. In this paper, we propose using the Julia language as the basis for an HLS tool. The Julia HLS tool aims to decrease the barrier to entry for hardware acceleration by taking advantage of the readability of the Julia language and by allowing the use of the existing large library of standard mathematical functions written in Julia. We present a prototype Julia HLS tool, written in Julia, that transforms Julia code to VHDL. We highlight how features of Julia and its compiler simplified the creation of this tool, and we discuss potential directions for future work.
@inproceedings{Biggs2022_JuliaHLS, title = {High-level Synthesis using the {Julia} Language}, author = {Biggs, Benjamin and McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, booktitle = {2nd Workshop on Languages, Tools, and Techniques for Accelerator Design (LATTE'22)}, year = {2022}, month = mar, address = {Lausanne, Switzerland}, arxiv = {2201.11522}, url = {capra.cs.cornell.edu/latte22/paper/7.pdf} }
- [J2]
H. Li, I. McInerney, J. Davis, and G. A. Constantinides, “Digit Stability Inference for Iterative Methods Using Redundant Number Representation,” IEEE Transactions on Computers, vol. 70, no. 7, pp. 1074–1080, Jul. 2021.
10.1109/TC.2020.3003529 arXiv: 2006.09427 Preprint Institutional Repository 10.5281/zenodo.3564472
In our recent work on iterative computation in hardware, we showed that arbitrary-precision solvers can perform more favourably than their traditional arithmetic equivalents when the latter’s precisions are either under- or over-budgeted for the solution of the problem at hand. Significant proportions of these performance improvements stem from the ability to infer the existence of identical most-significant digits between iterations. This technique uses properties of algorithms operating on redundantly represented numbers to allow the generation of those digits to be skipped, increasing efficiency. It is unable, however, to guarantee that digits will stabilise, i.e. never change in any future iteration. In this article, we address this shortcoming, using interval and forward error analyses to prove that digits of high significance will become stable when computing the approximants of systems of linear equations using stationary iterative methods. We formalise the relationship between matrix conditioning and the rate of growth in most-significant digit stability, using this information to converge to our desired results more quickly. Versus our previous work, an exemplary hardware implementation of this new technique achieves an up-to 2.2x speedup in the solution of a set of variously conditioned systems using the Jacobi method.
@article{Li2021_digitElision, author = {Li, He and McInerney, Ian and Davis, James and Constantinides, George A.}, journal = {IEEE Transactions on Computers}, publisher = {IEEE}, title = {Digit Stability Inference for Iterative Methods Using Redundant Number Representation}, year = {2021}, month = jul, volume = {70}, number = {7}, pages = {1074--1080}, doi = {10.1109/TC.2020.3003529}, arxiv = {2006.09427}, zenodo = {10.5281/zenodo.3564472} }
- [C4]
I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “Modeling Round-off Error in the Fast Gradient Method for Predictive Control,” in 58th IEEE Conference on Decision and Control (CDC), Nice, France, Dec. 2019, pp. 4331–4336.
10.1109/CDC40024.2019.9029910 Preprint Institutional Repository Slides Poster
We present a method for determining the smallest precision required to have algorithmic stability of an implementation of the Fast Gradient Method (FGM) when solving a linear Model Predictive Control (MPC) problem in fixed-point arithmetic. We derive two models for the round-off error present in fixed-point arithmetic. The first is a generic model with no assumptions on the predicted system or weight matrices. The second is a parametric model that exploits the Toeplitz structure of the MPC problem for a Schur-stable system. We also propose a metric for measuring the amount of round-off error the FGM iteration can tolerate before becoming unstable. This metric is combined with the round-off error models to compute the minimum number of fractional bits needed for the fixed-point data type. Using these models, we show that exploiting the MPC problem structure nearly halves the number of fractional bits needed to implement an example problem. We show that this results in significant decreases in resource usage, computational energy and execution time for an implementation on a Field Programmable Gate Array.
@inproceedings{McInerney2019_cdc, address = {Nice, France}, author = {McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, booktitle = {58th IEEE Conference on Decision and Control (CDC)}, pages = {4331--4336}, publisher = {IEEE}, title = {Modeling Round-off Error in the Fast Gradient Method for Predictive Control}, year = {2019}, month = dec, doi = {10.1109/CDC40024.2019.9029910} }
- [C2]
I. McInerney, G. A. Constantinides, and E. C. Kerrigan, “A Survey of the Implementation of Linear Model Predictive Control on FPGAs,” in 6th IFAC Conference on Nonlinear Model Predictive Control, Madison, Wisconsin, US, Aug. 2018, pp. 381–387.
10.1016/j.ifacol.2018.11.063 Preprint Institutional Repository Poster
Over the past 20 years, great strides have been made in the real-time implementation of linear MPC on FPGA devices. Starting from initial work, which demonstrated the benefits of embedding linear MPC onto FPGAs, recent work has shown sampling rates of more than 1 MHz are possible with FPGA-based implementations. This work surveys FPGA implementations of linear MPC, with a focus on the computational architecture. This includes the choice of number representation, the parallelizations exploited and the memory architecture. We discuss the transferability of those design choices to the FPGA implementation of nonlinear MPC, and provide some future research directions related to the implementation of MPC on FPGAs.
@inproceedings{McInerney2018_NMPC, address = {Madison, Wisconsin, US}, author = {McInerney, Ian and Constantinides, George A. and Kerrigan, Eric C.}, booktitle = {6th IFAC Conference on Nonlinear Model Predictive Control}, doi = {10.1016/j.ifacol.2018.11.063}, pages = {381--387}, publisher = {IFAC}, title = {A Survey of the Implementation of Linear Model Predictive Control on {FPGA}s}, year = {2018}, month = aug }
- [C6]
B. Biggs, I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “High-level Synthesis using the Julia Language,” in 2nd Workshop on Languages, Tools, and Techniques for Accelerator Design (LATTE’22), Lausanne, Switzerland, Mar. 2022.
arXiv: 2201.11522 Preprint Institutional Repository Slides Video Web link
The growing proliferation of FPGAs and High-level Synthesis (HLS) tools has led to a large interest in designing hardware accelerators for complex operations and algorithms. However, existing HLS toolflows typically require a significant amount of user knowledge or training to be effective in both industrial and research applications. In this paper, we propose using the Julia language as the basis for an HLS tool. The Julia HLS tool aims to decrease the barrier to entry for hardware acceleration by taking advantage of the readability of the Julia language and by allowing the use of the existing large library of standard mathematical functions written in Julia. We present a prototype Julia HLS tool, written in Julia, that transforms Julia code to VHDL. We highlight how features of Julia and its compiler simplified the creation of this tool, and we discuss potential directions for future work.
@inproceedings{Biggs2022_JuliaHLS, title = {High-level Synthesis using the {Julia} Language}, author = {Biggs, Benjamin and McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, booktitle = {2nd Workshop on Languages, Tools, and Techniques for Accelerator Design (LATTE'22)}, year = {2022}, month = mar, address = {Lausanne, Switzerland}, arxiv = {2201.11522}, url = {capra.cs.cornell.edu/latte22/paper/7.pdf} }
- [J3]
I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “Horizon-independent Preconditioner Design for Linear Predictive Control,” IEEE Transactions on Automatic Control, vol. 68, no. 1, pp. 580–587, Jan. 2023.
10.1109/TAC.2022.3145657 arXiv: 2010.08572 Preprint Institutional Repository
First-order optimization solvers, such as the Fast Gradient Method, are increasingly being used to solve Model Predictive Control problems in resource-constrained environments. Unfortunately, the convergence rate of these solvers is significantly affected by the conditioning of the problem data, with ill-conditioned problems requiring a large number of iterations. To reduce the number of iterations required, we present a simple method for computing a horizon-independent preconditioning matrix for the Hessian of the condensed problem. The preconditioner is based on the block Toeplitz structure of the Hessian. Horizon-independence allows one to use only the predicted system and cost matrices to compute the preconditioner, instead of the full Hessian. The proposed preconditioner has equivalent performance to an optimal preconditioner in numerical examples, producing speedups between 2x and 9x for the Fast Gradient Method. Additionally, we derive horizon-independent spectral bounds for the Hessian in terms of the transfer function of the predicted system, and show how these can be used to compute a novel horizon-independent bound on the condition number for the preconditioned Hessian.
@article{McInerney2022_closedFormPreconditioner, author = {McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, title = {Horizon-independent Preconditioner Design for Linear Predictive Control}, journal = {IEEE Transactions on Automatic Control}, volume = {68}, number = {1}, pages = {580--587}, publisher = {IEEE}, doi = {10.1109/TAC.2022.3145657}, arxiv = {2010.08572}, year = {2023}, month = jan }
- [C8]
I. McInerney and E. C. Kerrigan, “Teaching Predictive Control Using Specification-based Summative Assessments,” in 13th Symposium on Advances in Control Education (ACE 2022), Hamburg, Germany, Jul. 2022, pp. 236–241.
10.1016/j.ifacol.2022.09.285 arXiv: 2202.00157 Preprint Institutional Repository Slides
Including Model Predictive Control (MPC) in the undergraduate/graduate control curriculum is becoming vitally important due to the growing adoption of MPC in many industrial areas. In this paper, we present an overview of the predictive control course taught by the authors at Imperial College London between 2018 and 2021. We discuss how the course evolved from focusing solely on the linear MPC formulation to covering nonlinear MPC and some of its extensions. We also present a novel specification-based summative assessment framework, written in MATLAB, that was developed to assess the knowledge and understanding of the students in the course by tasking them with designing a controller for a real-world problem. The MATLAB assessment framework was designed to provide the students with the freedom to design and implement any MPC controller they wanted. The submitted controllers were then assessed against over 30 variations of the real-world problem to gauge student understanding of design robustness and the MPC topics from the course.
@inproceedings{McInerney2022_TeachingPredictiveControl, title = {Teaching Predictive Control Using Specification-based Summative Assessments}, author = {McInerney, Ian and Kerrigan, Eric C.}, year = {2022}, month = jul, booktitle = {13th Symposium on Advances in Control Education (ACE 2022)}, address = {Hamburg, Germany}, pages = {236--241}, publisher = {IFAC}, arxiv = {2202.00157}, doi = {10.1016/j.ifacol.2022.09.285} }
- [T2]
I. S. McInerney, “Numerical Methods for Model Predictive Control,” Ph.D. Dissertation, Department of Electrical and Electronic Engineering, Imperial College London, London, UK, 2022.
10.25560/96929 Preprint Institutional Repository
There has been an increased interest in controlling complex systems using Model Predictive Control (MPC). However, the use of resource-constrained computing platforms in these systems has slowed the adoption of MPC. This thesis focuses on increasing the efficiency of numerical methods for MPC in terms of resource usage and solution time, while also simplifying the design process.
We first show how block Toeplitz operators can be used to link the linear MPC matrices to the transfer function of the predicted system, resulting in horizon-independent bounds on the condition number of the condensed Hessian and the upper iteration bound for the Fast Gradient Method (FGM). We derive a horizon-independent preconditioner that produces up to a 9x speedup for the FGM while reducing the preconditioner computation time by up to 50,000x compared to an existing preconditioner. We propose a new method for computing the minimum number of fractional bits needed to ensure the FGM with fixed-point arithmetic is stable, with an example showing decreases of up to 77% in resource usage and 50% in the computational energy when using this method on a Field Programmable Gate Array.
Finally, we present a framework using the derivative-free Mesh Adaptive Direct Search method to solve nonlinear MPC problems with non-differentiable features or quantized variables without the need for complex or costly reformulations. We augment the system dynamics with additional states to compute the Lagrange cost term and the violation of the path constraints along the state trajectory, and then perform a structured search of the input space using a single-shooting simulation of the system dynamics. We demonstrate this framework on a robust Goddard rocket problem with a non-differentiable cost and a quantized thrust input, where we achieve an altitude within 40 m of the target, while other methods are unable to get closer than 180m.
@thesis{McInerney2022_PhdThesis, author = {McInerney, Ian Scott}, school = {Department of Electrical and Electronic Engineering, Imperial College London}, title = {{Numerical Methods for Model Predictive Control}}, type = {Ph.D. Dissertation}, address = {London, UK}, month = mar, year = {2022}, doi = {10.25560/96929} }
- [C5]
I. McInerney, L. Nita, Y. Nie, A. Oliveri, and E. C. Kerrigan, “Towards a Framework for Nonlinear Predictive Control Using Derivative-Free Optimization,” in 7th IFAC Conference on Nonlinear Predictive Control, Bratislava, Slovakia, Jul. 2021, pp. 284–289.
10.1016/j.ifacol.2021.08.558 arXiv: 2106.05025 Preprint Institutional Repository Slides Video
The use of derivative-based solvers to compute solutions to optimal control problems with non-differentiable cost or dynamics often requires reformulations or relaxations that complicate the implementation or increase computational complexity. We present an initial framework for using the derivative-free Mesh Adaptive Direct Search (MADS) algorithm to solve Nonlinear Model Predictive Control problems with non-differentiable features without the need for reformulation. The MADS algorithm performs a structured search of the input space by simulating selected system trajectories and computing the subsequent cost value. We propose handling the path constraints and the Lagrange cost term by augmenting the system dynamics with additional states to compute the violation and cost value alongside the state trajectories, eliminating the need for reconstructing the state trajectories in a separate phase. We demonstrate the practicality of this framework by solving a robust rocket control problem, where the objective is to reach a target altitude as close as possible, given a system with uncertain parameters. This example uses a non-differentiable cost function and simulates two different system trajectories simultaneously, with each system having its own free final time.
@inproceedings{McInerney2021_NMPC, address = {Bratislava, Slovakia}, author = {McInerney, Ian and Nita, Lucian and Nie, Yuanbo and Oliveri, Alberto and Kerrigan, Eric C.}, booktitle = {7th IFAC Conference on Nonlinear Predictive Control}, pages = {284--289}, publisher = {IFAC}, title = {Towards a Framework for Nonlinear Predictive Control Using Derivative-Free Optimization}, year = {2021}, month = jul, doi = {10.1016/j.ifacol.2021.08.558}, arxiv = {2106.05025} }
- [J1]
J.-M. Rodriguez-Bernuz, I. McInerney, A. Junyent-Ferré, and E. C. Kerrigan, “Design of a Linear Time-Varying Model Predictive Control Energy Regulator for Grid-Tied VSCs,” IEEE Transactions on Energy Conversion, vol. 36, no. 2, pp. 1425–1434, Jun. 2021.
10.1109/TEC.2021.3060319 Preprint Institutional Repository
This paper presents an energy regulator based on a Model Predictive Control (MPC) algorithm for a Voltage Source Converter (VSC). The MPC is formulated to optimise the converter performance according to the weights defined in an objective function that trades off additional features, such as current harmonic distortion, reactive power tracking and DC bus voltage oscillation. Differently from most approaches found in the research literature, the MPC proposed here considers the coupling dynamics between the AC and DC sides of the VSC. This study is focused on the example case of a single-phase VSC, which presents a nonlinear relationship between its AC and DC sides and a sustained double-line frequency power disturbance in its DC bus. To reduce the burden of the MPC, the controller is formulated to benefit from the slow energy dynamics of the system. Thus, the cascaded structure typically used in the control of VSCs is kept and the MPC is set as an energy regulator at a reduced sampling frequency while the current control relies on a fast inner controller. The computational burden of the algorithm is further reduced by using a linear time-varying approximation. The controller is presented in detail and experimental validation showing the performance of the algorithm is provided.
@article{RodriguezBernuz2021_energyConverterMPC, title = {Design of a {{Linear Time}}-{{Varying Model Predictive Control Energy Regulator}} for {{Grid}}-{{Tied VSCs}}}, author = {{Rodriguez-Bernuz}, Joan-Marc and McInerney, Ian and {Junyent-Ferr{\'e}}, Adri{\`a} and Kerrigan, Eric C.}, journal = {IEEE Transactions on Energy Conversion}, publisher = {IEEE}, year = {2021}, month = jun, volume = {36}, number = {2}, pages = {1425--1434}, doi = {10.1109/TEC.2021.3060319} }
- [C4]
I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “Modeling Round-off Error in the Fast Gradient Method for Predictive Control,” in 58th IEEE Conference on Decision and Control (CDC), Nice, France, Dec. 2019, pp. 4331–4336.
10.1109/CDC40024.2019.9029910 Preprint Institutional Repository Slides Poster
We present a method for determining the smallest precision required to have algorithmic stability of an implementation of the Fast Gradient Method (FGM) when solving a linear Model Predictive Control (MPC) problem in fixed-point arithmetic. We derive two models for the round-off error present in fixed-point arithmetic. The first is a generic model with no assumptions on the predicted system or weight matrices. The second is a parametric model that exploits the Toeplitz structure of the MPC problem for a Schur-stable system. We also propose a metric for measuring the amount of round-off error the FGM iteration can tolerate before becoming unstable. This metric is combined with the round-off error models to compute the minimum number of fractional bits needed for the fixed-point data type. Using these models, we show that exploiting the MPC problem structure nearly halves the number of fractional bits needed to implement an example problem. We show that this results in significant decreases in resource usage, computational energy and execution time for an implementation on a Field Programmable Gate Array.
@inproceedings{McInerney2019_cdc, address = {Nice, France}, author = {McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, booktitle = {58th IEEE Conference on Decision and Control (CDC)}, pages = {4331--4336}, publisher = {IEEE}, title = {Modeling Round-off Error in the Fast Gradient Method for Predictive Control}, year = {2019}, month = dec, doi = {10.1109/CDC40024.2019.9029910} }
- [TR1]
I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “Bounding Computational Complexity under Cost Function Scaling in Predictive Control,” Feb. 2019.
arXiv: 1902.02221 10.24433/CO.3311801.v1
We present a framework for upper bounding the number of iterations required by first-order optimization algorithms implementing constrained LQR controllers. We derive new bounds for the condition number and extremal eigenvalues of the primal and dual Hessian matrices when the cost function is scaled. These bounds are horizon-independent, allowing for their use with receding, variable and decreasing horizon controllers. We considerably relax prior assumptions on the structure of the weight matrices and assume only that the system is Schur-stable and the primal Hessian of the quadratic program (QP) is positive-definite. Our analysis uses the Toeplitz structure of the QP matrices to relate their spectrum to the transfer function of the system, allowing for the use of system-theoretic techniques to compute the bounds. Using these bounds, we can compute the effect on the computational complexity of trading off the input energy used against the state deviation. An example system shows a three-times increase in algorithm iterations between the two extremes, with the state 2-norm decreased by only 5% despite a greatly increased state deviation penalty.
@techreport{McInerney2019_boundingComputationalComplexity, author = {McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, title = {Bounding Computational Complexity under Cost Function Scaling in Predictive Control}, journal = {arXiv:1902.02221}, arxiv = {1902.02221}, year = {2019}, month = feb, codedoi = {10.24433/CO.3311801.v1} }
- [C3]
I. McInerney and E. C. Kerrigan, “Automated Project-based Assessment in a Predictive Control Course,” in 2018 UKACC 12th International Conference on Control (CONTROL), Sheffield, UK, Aug. 2018, p. 443.
10.1109/CONTROL.2018.8516728 Preprint Institutional Repository
Written assessments, such as book problems and exams, have customarily been used in control courses to measure student progress, but usually only gauge their knowledge of the theoretical concepts. More complicated control methods, such as predictive control, benefit from gauging student progress through implementation projects. We present a set of automatically marked project-based assessments that test student knowledge on concepts ranging from the derivation of physics models to the creation of a closed-loop predictive controller. We present a simulation framework that allows for the students to utilize any predictive control concepts that they decide to use in their implementation. The framework then automatically tests the student solutions against multiple constraint sets and conditions to provide quantitative data for marking the assessment.
@inproceedings{McInerney2018_UKACC, address = {Sheffield, UK}, author = {McInerney, Ian and Kerrigan, Eric C.}, booktitle = {2018 UKACC 12th International Conference on Control (CONTROL)}, doi = {10.1109/CONTROL.2018.8516728}, pages = {443}, title = {Automated Project-based Assessment in a Predictive Control Course}, publisher = {IEEE}, year = {2018}, month = aug }
- [C2]
I. McInerney, G. A. Constantinides, and E. C. Kerrigan, “A Survey of the Implementation of Linear Model Predictive Control on FPGAs,” in 6th IFAC Conference on Nonlinear Model Predictive Control, Madison, Wisconsin, US, Aug. 2018, pp. 381–387.
10.1016/j.ifacol.2018.11.063 Preprint Institutional Repository Poster
Over the past 20 years, great strides have been made in the real-time implementation of linear MPC on FPGA devices. Starting from initial work, which demonstrated the benefits of embedding linear MPC onto FPGAs, recent work has shown sampling rates of more than 1 MHz are possible with FPGA-based implementations. This work surveys FPGA implementations of linear MPC, with a focus on the computational architecture. This includes the choice of number representation, the parallelizations exploited and the memory architecture. We discuss the transferability of those design choices to the FPGA implementation of nonlinear MPC, and provide some future research directions related to the implementation of MPC on FPGAs.
@inproceedings{McInerney2018_NMPC, address = {Madison, Wisconsin, US}, author = {McInerney, Ian and Constantinides, George A. and Kerrigan, Eric C.}, booktitle = {6th IFAC Conference on Nonlinear Model Predictive Control}, doi = {10.1016/j.ifacol.2018.11.063}, pages = {381--387}, publisher = {IFAC}, title = {A Survey of the Implementation of Linear Model Predictive Control on {FPGA}s}, year = {2018}, month = aug }
- [C11]
M. Wang, I. McInerney, B. Stellato, F. Tu, S. Boyd, and H. Kwok-Hay So, “Multi-Issue Butterfly Architecture for Sparse Convex Quadratic Programming,” in 2024 57th IEEE/ACM International Symposium on Microarchitecture (MICRO), Austin, TX, USA, Nov. 2024.
10.1109/MICRO61859.2024.00115 Preprint Institutional Repository
Convex quadratic optimization solvers are extensively utilized in various domains; however, achieving optimal performance in diverse situations remains a significant challenge due to the sparse nature of objective and constraint matrices. General-purpose architectures struggle with hardware utilization when performing critical sparse matrix operations, such as factorization and multiplication. To address this issue, we introduce a pipelined spatial architecture, Multi-Issue Butterfly (MIB), which supports all primitive scalar, vector, and matrix operations required by the Alternating Direction Method of Multipliers (ADMM) based solver algorithm.
The proposed architecture features a butterfly computational network with innovative working modes for each node, controlled by runtime instructions. We developed a companion scheduling method for matrix operations based on their sparsity patterns. For factorization, an elimination tree guides the network instructions reordering to avoid data hazards caused by computation dependencies. For matrix-vector multiplication, data prefetching resolves structural hazards caused by read and write conflicts to register files. Instructions without hazards are issued simultaneously to increase pipeline throughput and function unit utilization.
We evaluate the proposed architecture using FPGA prototypes, representing the first fully FPGA-based generic QP solver. Our assessment includes extensive performance and efficiency benchmarks across 100 QP problems from five application domains. Compared to the same algorithm variation running on CPU backends, our prototype achieves a geometric mean of 30.5× end-to-end speedup, 127.0× greater energy efficiency, and 16.5× less runtime jitter. In comparison to GPU backends, the prototype attains a geometric mean of 4.3× faster end-to-end speedup, 21.7× higher energy efficiency, and 33.4× less runtime jitter.
@inproceedings{Wang2024_butterfly, title = {Multi-Issue Butterfly Architecture for Sparse Convex Quadratic Programming}, author = {Wang, Maolin and McInerney, Ian and Stellato, Bartolomeo and Tu, Fengbin and Boyd, Stephen and Kwok-Hay So, Hayden}, booktitle = {2024 57th IEEE/ACM International Symposium on Microarchitecture (MICRO)}, address = {Austin, TX, USA}, year = {2024}, month = nov, doi = {10.1109/MICRO61859.2024.00115} }
- [C10]
M. Verma, I. McInerney, and L. Renson, “Learning Bounds on Computational Values in Iterative Methods using Reachability Analysis,” in Symposium on Systems Theory in Data and Optimization (SysDO2024), Stuttgart, DE, Sep. 2024.
In this extended abstract, we present our initial work on how the reachable sets of the Koopman operator for an iterative method can be approximated and then used to make decisions about the number formats required for implementations. We present our initial framework for learning the Koopman operator and performing reachability analysis on it, followed by an illustrative example on the Gauss-Seidel stationary iterative method, where the reachability analysis can inform the decision to use signed/unsigned variables.
@inproceedings{Verma2024_LearningBounds, title = {Learning Bounds on Computational Values in Iterative Methods using Reachability Analysis}, author = {Verma, Mukund and McInerney, Ian and Renson, Ludovic}, booktitle = {Symposium on Systems Theory in Data and Optimization (SysDO2024)}, address = {Stuttgart, DE}, year = {2024}, month = sep }
- [C9]
M. Wang, I. McInerney, B. Stellato, S. Boyd, and H. Kwok-Hay So, “RSQP: Problem-specific Architectural Customization for Accelerated Convex Quadratic Optimization,” in 50th Annual International Symposium on Computer Architecture (ISCA ’23), Orlando, FL, USA, Jun. 2023.
10.1145/3579371.3589108 Preprint Institutional Repository Code
Convex optimization is at the heart of many performance-critical applications across a wide range of domains. Although many high-performance hardware accelerators have been developed for specific optimization problems in the past, designing such accelerator is a challenging task and the resulting computing architecture is often so specific to the targeted application that they can hardly be reused even in a related application within the same domain. To accelerate general-purpose optimization solvers that must operate on diverse user input during run time, an ideal hardware solver should be able to adapt to the provided optimization problem dynamically while achieving high performance and power-efficiency. In this work, a hardware-accelerated general-purpose quadratic program solver, called RSQP, with reconfigurable functional units and data path that facilitate problem-specific customization is presented. RSQP uses a string-based encoding to describe the problem structure with fine granularity. Based on this encoding, functional units and datapath customized to the sparsity pattern of the problem are created by solving a dictionary-based lossless string compression problem and a mixed integer linear program respectively. RSQP has been integrated to accelerate the general-purpose quadratic programming solver OSQP and has been tested using an extensive benchmark with 120 optimization problems from 6 application domains. Through architectural customization, RSQP achieves up to 7× performance improvement over its baseline generic design. Furthermore, when compared with a CPU and a GPU-accelerated implementation, RSQP achieves up to 31.2× and 6.9× end-to-end speedup on these benchmark programs, respectively. Finally, the FPGA accelerator operates at up to 6.6× lower dynamic power consumption and up to 22.7× higher power efficiency over the GPU implementation, making it an attractive solution for power-conscious datacenter applications.
@inproceedings{Wang2023_RSQP, title = {{RSQP}: Problem-specific Architectural Customization for Accelerated Convex Quadratic Optimization}, author = {Wang, Maolin and McInerney, Ian and Stellato, Bartolomeo and Boyd, Stephen and Kwok-Hay So, Hayden}, booktitle = {50th Annual International Symposium on Computer Architecture (ISCA '23)}, address = {Orlando, FL, USA}, year = {2023}, month = jun, doi = {10.1145/3579371.3589108} }
- [J3]
I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “Horizon-independent Preconditioner Design for Linear Predictive Control,” IEEE Transactions on Automatic Control, vol. 68, no. 1, pp. 580–587, Jan. 2023.
10.1109/TAC.2022.3145657 arXiv: 2010.08572 Preprint Institutional Repository
First-order optimization solvers, such as the Fast Gradient Method, are increasingly being used to solve Model Predictive Control problems in resource-constrained environments. Unfortunately, the convergence rate of these solvers is significantly affected by the conditioning of the problem data, with ill-conditioned problems requiring a large number of iterations. To reduce the number of iterations required, we present a simple method for computing a horizon-independent preconditioning matrix for the Hessian of the condensed problem. The preconditioner is based on the block Toeplitz structure of the Hessian. Horizon-independence allows one to use only the predicted system and cost matrices to compute the preconditioner, instead of the full Hessian. The proposed preconditioner has equivalent performance to an optimal preconditioner in numerical examples, producing speedups between 2x and 9x for the Fast Gradient Method. Additionally, we derive horizon-independent spectral bounds for the Hessian in terms of the transfer function of the predicted system, and show how these can be used to compute a novel horizon-independent bound on the condition number for the preconditioned Hessian.
@article{McInerney2022_closedFormPreconditioner, author = {McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, title = {Horizon-independent Preconditioner Design for Linear Predictive Control}, journal = {IEEE Transactions on Automatic Control}, volume = {68}, number = {1}, pages = {580--587}, publisher = {IEEE}, doi = {10.1109/TAC.2022.3145657}, arxiv = {2010.08572}, year = {2023}, month = jan }
- [T2]
I. S. McInerney, “Numerical Methods for Model Predictive Control,” Ph.D. Dissertation, Department of Electrical and Electronic Engineering, Imperial College London, London, UK, 2022.
10.25560/96929 Preprint Institutional Repository
There has been an increased interest in controlling complex systems using Model Predictive Control (MPC). However, the use of resource-constrained computing platforms in these systems has slowed the adoption of MPC. This thesis focuses on increasing the efficiency of numerical methods for MPC in terms of resource usage and solution time, while also simplifying the design process.
We first show how block Toeplitz operators can be used to link the linear MPC matrices to the transfer function of the predicted system, resulting in horizon-independent bounds on the condition number of the condensed Hessian and the upper iteration bound for the Fast Gradient Method (FGM). We derive a horizon-independent preconditioner that produces up to a 9x speedup for the FGM while reducing the preconditioner computation time by up to 50,000x compared to an existing preconditioner. We propose a new method for computing the minimum number of fractional bits needed to ensure the FGM with fixed-point arithmetic is stable, with an example showing decreases of up to 77% in resource usage and 50% in the computational energy when using this method on a Field Programmable Gate Array.
Finally, we present a framework using the derivative-free Mesh Adaptive Direct Search method to solve nonlinear MPC problems with non-differentiable features or quantized variables without the need for complex or costly reformulations. We augment the system dynamics with additional states to compute the Lagrange cost term and the violation of the path constraints along the state trajectory, and then perform a structured search of the input space using a single-shooting simulation of the system dynamics. We demonstrate this framework on a robust Goddard rocket problem with a non-differentiable cost and a quantized thrust input, where we achieve an altitude within 40 m of the target, while other methods are unable to get closer than 180m.
@thesis{McInerney2022_PhdThesis, author = {McInerney, Ian Scott}, school = {Department of Electrical and Electronic Engineering, Imperial College London}, title = {{Numerical Methods for Model Predictive Control}}, type = {Ph.D. Dissertation}, address = {London, UK}, month = mar, year = {2022}, doi = {10.25560/96929} }
- [J2]
H. Li, I. McInerney, J. Davis, and G. A. Constantinides, “Digit Stability Inference for Iterative Methods Using Redundant Number Representation,” IEEE Transactions on Computers, vol. 70, no. 7, pp. 1074–1080, Jul. 2021.
10.1109/TC.2020.3003529 arXiv: 2006.09427 Preprint Institutional Repository 10.5281/zenodo.3564472
In our recent work on iterative computation in hardware, we showed that arbitrary-precision solvers can perform more favourably than their traditional arithmetic equivalents when the latter’s precisions are either under- or over-budgeted for the solution of the problem at hand. Significant proportions of these performance improvements stem from the ability to infer the existence of identical most-significant digits between iterations. This technique uses properties of algorithms operating on redundantly represented numbers to allow the generation of those digits to be skipped, increasing efficiency. It is unable, however, to guarantee that digits will stabilise, i.e. never change in any future iteration. In this article, we address this shortcoming, using interval and forward error analyses to prove that digits of high significance will become stable when computing the approximants of systems of linear equations using stationary iterative methods. We formalise the relationship between matrix conditioning and the rate of growth in most-significant digit stability, using this information to converge to our desired results more quickly. Versus our previous work, an exemplary hardware implementation of this new technique achieves an up-to 2.2x speedup in the solution of a set of variously conditioned systems using the Jacobi method.
@article{Li2021_digitElision, author = {Li, He and McInerney, Ian and Davis, James and Constantinides, George A.}, journal = {IEEE Transactions on Computers}, publisher = {IEEE}, title = {Digit Stability Inference for Iterative Methods Using Redundant Number Representation}, year = {2021}, month = jul, volume = {70}, number = {7}, pages = {1074--1080}, doi = {10.1109/TC.2020.3003529}, arxiv = {2006.09427}, zenodo = {10.5281/zenodo.3564472} }
- [TR1]
I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “Bounding Computational Complexity under Cost Function Scaling in Predictive Control,” Feb. 2019.
arXiv: 1902.02221 10.24433/CO.3311801.v1
We present a framework for upper bounding the number of iterations required by first-order optimization algorithms implementing constrained LQR controllers. We derive new bounds for the condition number and extremal eigenvalues of the primal and dual Hessian matrices when the cost function is scaled. These bounds are horizon-independent, allowing for their use with receding, variable and decreasing horizon controllers. We considerably relax prior assumptions on the structure of the weight matrices and assume only that the system is Schur-stable and the primal Hessian of the quadratic program (QP) is positive-definite. Our analysis uses the Toeplitz structure of the QP matrices to relate their spectrum to the transfer function of the system, allowing for the use of system-theoretic techniques to compute the bounds. Using these bounds, we can compute the effect on the computational complexity of trading off the input energy used against the state deviation. An example system shows a three-times increase in algorithm iterations between the two extremes, with the state 2-norm decreased by only 5% despite a greatly increased state deviation penalty.
@techreport{McInerney2019_boundingComputationalComplexity, author = {McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, title = {Bounding Computational Complexity under Cost Function Scaling in Predictive Control}, journal = {arXiv:1902.02221}, arxiv = {1902.02221}, year = {2019}, month = feb, codedoi = {10.24433/CO.3311801.v1} }
- [C7]
L. Nita, E. M. G. Vila, M. Zagorowska, E. C. Kerrigan, Y. Nie, I. McInerney, and P. Falugi, “Fast and accurate method for computing non-smooth solutions to constrained control problems,” in 2022 European Control Conference (ECC), London, UK, Jun. 2022, pp. 1049–1054.
10.23919/ECC55457.2022.9838569 arXiv: 2205.08613 Preprint Institutional Repository
Introducing flexibility in the time-discretisation mesh can improve convergence and computational time when solving differential equations numerically, particularly in discontinuous solutions, as commonly found in optimal control problems. State-of-the-art methods invariably use fixed mesh schemes, which cannot achieve superlinear convergence in the presence of non-smooth solutions. In this paper, we propose using a flexible mesh in an integrated residual method. The locations of the mesh nodes are introduced as decision variables, and constraints are added to set upper and lower bounds on the size of the mesh intervals. We compare our approach to a uniform fixed mesh on a real-world satellite reorientation example. This sample problem demonstrates that the flexible mesh enables the solver to automatically locate the discontinuities in the solution, and have a superlinear order of convergence and faster solve time.
@inproceedings{Nita2021_FlexibleMesh, title = {Fast and accurate method for computing non-smooth solutions to constrained control problems}, author = {Nita, Lucian and Vila, Eduardo Miguel Gouveia and Zagorowska, Marta and Kerrigan, Eric C. and Nie, Yuanbo and McInerney, Ian and Falugi, Paola}, year = {2022}, month = jun, pages = {1049--1054}, booktitle = {2022 European Control Conference (ECC)}, address = {London, UK}, publisher = {IEEE}, doi = {10.23919/ECC55457.2022.9838569}, arxiv = {2205.08613} }
- [C5]
I. McInerney, L. Nita, Y. Nie, A. Oliveri, and E. C. Kerrigan, “Towards a Framework for Nonlinear Predictive Control Using Derivative-Free Optimization,” in 7th IFAC Conference on Nonlinear Predictive Control, Bratislava, Slovakia, Jul. 2021, pp. 284–289.
10.1016/j.ifacol.2021.08.558 arXiv: 2106.05025 Preprint Institutional Repository Slides Video
The use of derivative-based solvers to compute solutions to optimal control problems with non-differentiable cost or dynamics often requires reformulations or relaxations that complicate the implementation or increase computational complexity. We present an initial framework for using the derivative-free Mesh Adaptive Direct Search (MADS) algorithm to solve Nonlinear Model Predictive Control problems with non-differentiable features without the need for reformulation. The MADS algorithm performs a structured search of the input space by simulating selected system trajectories and computing the subsequent cost value. We propose handling the path constraints and the Lagrange cost term by augmenting the system dynamics with additional states to compute the violation and cost value alongside the state trajectories, eliminating the need for reconstructing the state trajectories in a separate phase. We demonstrate the practicality of this framework by solving a robust rocket control problem, where the objective is to reach a target altitude as close as possible, given a system with uncertain parameters. This example uses a non-differentiable cost function and simulates two different system trajectories simultaneously, with each system having its own free final time.
@inproceedings{McInerney2021_NMPC, address = {Bratislava, Slovakia}, author = {McInerney, Ian and Nita, Lucian and Nie, Yuanbo and Oliveri, Alberto and Kerrigan, Eric C.}, booktitle = {7th IFAC Conference on Nonlinear Predictive Control}, pages = {284--289}, publisher = {IFAC}, title = {Towards a Framework for Nonlinear Predictive Control Using Derivative-Free Optimization}, year = {2021}, month = jul, doi = {10.1016/j.ifacol.2021.08.558}, arxiv = {2106.05025} }
- [C11]
M. Wang, I. McInerney, B. Stellato, F. Tu, S. Boyd, and H. Kwok-Hay So, “Multi-Issue Butterfly Architecture for Sparse Convex Quadratic Programming,” in 2024 57th IEEE/ACM International Symposium on Microarchitecture (MICRO), Austin, TX, USA, Nov. 2024.
10.1109/MICRO61859.2024.00115 Preprint Institutional Repository
Convex quadratic optimization solvers are extensively utilized in various domains; however, achieving optimal performance in diverse situations remains a significant challenge due to the sparse nature of objective and constraint matrices. General-purpose architectures struggle with hardware utilization when performing critical sparse matrix operations, such as factorization and multiplication. To address this issue, we introduce a pipelined spatial architecture, Multi-Issue Butterfly (MIB), which supports all primitive scalar, vector, and matrix operations required by the Alternating Direction Method of Multipliers (ADMM) based solver algorithm.
The proposed architecture features a butterfly computational network with innovative working modes for each node, controlled by runtime instructions. We developed a companion scheduling method for matrix operations based on their sparsity patterns. For factorization, an elimination tree guides the network instructions reordering to avoid data hazards caused by computation dependencies. For matrix-vector multiplication, data prefetching resolves structural hazards caused by read and write conflicts to register files. Instructions without hazards are issued simultaneously to increase pipeline throughput and function unit utilization.
We evaluate the proposed architecture using FPGA prototypes, representing the first fully FPGA-based generic QP solver. Our assessment includes extensive performance and efficiency benchmarks across 100 QP problems from five application domains. Compared to the same algorithm variation running on CPU backends, our prototype achieves a geometric mean of 30.5× end-to-end speedup, 127.0× greater energy efficiency, and 16.5× less runtime jitter. In comparison to GPU backends, the prototype attains a geometric mean of 4.3× faster end-to-end speedup, 21.7× higher energy efficiency, and 33.4× less runtime jitter.
@inproceedings{Wang2024_butterfly, title = {Multi-Issue Butterfly Architecture for Sparse Convex Quadratic Programming}, author = {Wang, Maolin and McInerney, Ian and Stellato, Bartolomeo and Tu, Fengbin and Boyd, Stephen and Kwok-Hay So, Hayden}, booktitle = {2024 57th IEEE/ACM International Symposium on Microarchitecture (MICRO)}, address = {Austin, TX, USA}, year = {2024}, month = nov, doi = {10.1109/MICRO61859.2024.00115} }
- [C10]
M. Verma, I. McInerney, and L. Renson, “Learning Bounds on Computational Values in Iterative Methods using Reachability Analysis,” in Symposium on Systems Theory in Data and Optimization (SysDO2024), Stuttgart, DE, Sep. 2024.
In this extended abstract, we present our initial work on how the reachable sets of the Koopman operator for an iterative method can be approximated and then used to make decisions about the number formats required for implementations. We present our initial framework for learning the Koopman operator and performing reachability analysis on it, followed by an illustrative example on the Gauss-Seidel stationary iterative method, where the reachability analysis can inform the decision to use signed/unsigned variables.
@inproceedings{Verma2024_LearningBounds, title = {Learning Bounds on Computational Values in Iterative Methods using Reachability Analysis}, author = {Verma, Mukund and McInerney, Ian and Renson, Ludovic}, booktitle = {Symposium on Systems Theory in Data and Optimization (SysDO2024)}, address = {Stuttgart, DE}, year = {2024}, month = sep }
- [C9]
M. Wang, I. McInerney, B. Stellato, S. Boyd, and H. Kwok-Hay So, “RSQP: Problem-specific Architectural Customization for Accelerated Convex Quadratic Optimization,” in 50th Annual International Symposium on Computer Architecture (ISCA ’23), Orlando, FL, USA, Jun. 2023.
10.1145/3579371.3589108 Preprint Institutional Repository Code
Convex optimization is at the heart of many performance-critical applications across a wide range of domains. Although many high-performance hardware accelerators have been developed for specific optimization problems in the past, designing such accelerator is a challenging task and the resulting computing architecture is often so specific to the targeted application that they can hardly be reused even in a related application within the same domain. To accelerate general-purpose optimization solvers that must operate on diverse user input during run time, an ideal hardware solver should be able to adapt to the provided optimization problem dynamically while achieving high performance and power-efficiency. In this work, a hardware-accelerated general-purpose quadratic program solver, called RSQP, with reconfigurable functional units and data path that facilitate problem-specific customization is presented. RSQP uses a string-based encoding to describe the problem structure with fine granularity. Based on this encoding, functional units and datapath customized to the sparsity pattern of the problem are created by solving a dictionary-based lossless string compression problem and a mixed integer linear program respectively. RSQP has been integrated to accelerate the general-purpose quadratic programming solver OSQP and has been tested using an extensive benchmark with 120 optimization problems from 6 application domains. Through architectural customization, RSQP achieves up to 7× performance improvement over its baseline generic design. Furthermore, when compared with a CPU and a GPU-accelerated implementation, RSQP achieves up to 31.2× and 6.9× end-to-end speedup on these benchmark programs, respectively. Finally, the FPGA accelerator operates at up to 6.6× lower dynamic power consumption and up to 22.7× higher power efficiency over the GPU implementation, making it an attractive solution for power-conscious datacenter applications.
@inproceedings{Wang2023_RSQP, title = {{RSQP}: Problem-specific Architectural Customization for Accelerated Convex Quadratic Optimization}, author = {Wang, Maolin and McInerney, Ian and Stellato, Bartolomeo and Boyd, Stephen and Kwok-Hay So, Hayden}, booktitle = {50th Annual International Symposium on Computer Architecture (ISCA '23)}, address = {Orlando, FL, USA}, year = {2023}, month = jun, doi = {10.1145/3579371.3589108} }
- [C1]
I. McInerney, X. Ma, and N. Elia, “Cooperative Localization from Imprecise Range-Only Measurements: A Non-Convex Distributed Approach,” in 56th IEEE Conference on Decision and Control (CDC), Melbourne, Australia, Dec. 2017, pp. 2216–2221.
10.1109/CDC.2017.8263973 Preprint
This paper presents a distributed method to locate a target object using multi-agent systems with only knowledge of the agent position and distance between them and the target. The problem is formulated as a non-convex quadratically constrained program, which is then solved using an optimization dynamics approach. The method presented can be applied to an arbitrary undirected network, and only requires agents communicating their estimate of the target’s position and their calculated dual variables. The proposed method is derived from the Range-Based Least-Squares method, and becomes the Maximum Likelihood Estimator for this problem under Gaussian noise. We present the convergence results and also numerical simulations of this method.
@inproceedings{McInerney2017_cdc, address = {Melbourne, Australia}, author = {McInerney, Ian and Ma, Xu and Elia, Nicola}, booktitle = {56th IEEE Conference on Decision and Control (CDC)}, pages = {2216--2221}, publisher = {IEEE}, title = {Cooperative Localization from Imprecise Range-Only Measurements: A Non-Convex Distributed Approach}, year = {2017}, month = dec, doi = {10.1109/CDC.2017.8263973} }
- [T1]
I. S. McInerney, “Development of a multi-agent quadrotor research platform with distributed computational capabilities,” M.S. Thesis, Department of Electrical and Computer Engineering, Iowa State University, Ames, IA, USA, 2017.
10.31274/etd-180810-5192 Preprint Institutional Repository 10.5281/zenodo.4719659
Research on multi-agent systems of UAVs is of growing interest in the research community, with specific interest in the testing of novel algorithms on actual systems. Many existing testbeds already exist, but the majority of them utilize expensive quadrotors for their agents. With the recent surge in interest from consumers, companies have started to market lower cost quadrotor options. One such option is the Crazyflie 2.0 from Bitcraze. This quadrotor measures just 10cm from rotor to rotor, uses open-source firmware, and has developed a strong community backing. This work develops a multi-agent testbed using the Crazyflie 2.0.
This work presents a parameterization of the Crazyflie quadrotor so it can be modeled and have more advanced controllers designed for it. Additionally, this work discusses the default control loop of the Crazyflie 2.0. Then nested-loop PID controllers are designed and compared against the simulated physics model.
A software system that is capable of controlling multiple flying Crazyflie’s is also presented. This system is also capable of modifying the controller at runtime, and implementing distributed computation on the Crazyflie.
Finally, a novel algorithm for localization of a target object using distance-only measurements is presented. This algorithm uses optimization dynamics to solve a non-convex QCQP formulation of the problem in a distributed manner. The algorithm is presented and then implemented using the distributed computation framework presented in this work.
@thesis{McInerney2017_MSThesis, author = {McInerney, Ian Scott}, booktitle = {Thesis}, school = {Department of Electrical and Computer Engineering, Iowa State University}, address = {Ames, IA, USA}, title = {{Development of a multi-agent quadrotor research platform with distributed computational capabilities}}, type = {M.S. Thesis}, year = {2017}, month = aug, doi = {10.31274/etd-180810-5192}, codedoi = {10.5281/zenodo.4719659} }
- [C6]
B. Biggs, I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “High-level Synthesis using the Julia Language,” in 2nd Workshop on Languages, Tools, and Techniques for Accelerator Design (LATTE’22), Lausanne, Switzerland, Mar. 2022.
arXiv: 2201.11522 Preprint Institutional Repository Slides Video Web link
The growing proliferation of FPGAs and High-level Synthesis (HLS) tools has led to a large interest in designing hardware accelerators for complex operations and algorithms. However, existing HLS toolflows typically require a significant amount of user knowledge or training to be effective in both industrial and research applications. In this paper, we propose using the Julia language as the basis for an HLS tool. The Julia HLS tool aims to decrease the barrier to entry for hardware acceleration by taking advantage of the readability of the Julia language and by allowing the use of the existing large library of standard mathematical functions written in Julia. We present a prototype Julia HLS tool, written in Julia, that transforms Julia code to VHDL. We highlight how features of Julia and its compiler simplified the creation of this tool, and we discuss potential directions for future work.
@inproceedings{Biggs2022_JuliaHLS, title = {High-level Synthesis using the {Julia} Language}, author = {Biggs, Benjamin and McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, booktitle = {2nd Workshop on Languages, Tools, and Techniques for Accelerator Design (LATTE'22)}, year = {2022}, month = mar, address = {Lausanne, Switzerland}, arxiv = {2201.11522}, url = {capra.cs.cornell.edu/latte22/paper/7.pdf} }
- [T1]
I. S. McInerney, “Development of a multi-agent quadrotor research platform with distributed computational capabilities,” M.S. Thesis, Department of Electrical and Computer Engineering, Iowa State University, Ames, IA, USA, 2017.
10.31274/etd-180810-5192 Preprint Institutional Repository 10.5281/zenodo.4719659
Research on multi-agent systems of UAVs is of growing interest in the research community, with specific interest in the testing of novel algorithms on actual systems. Many existing testbeds already exist, but the majority of them utilize expensive quadrotors for their agents. With the recent surge in interest from consumers, companies have started to market lower cost quadrotor options. One such option is the Crazyflie 2.0 from Bitcraze. This quadrotor measures just 10cm from rotor to rotor, uses open-source firmware, and has developed a strong community backing. This work develops a multi-agent testbed using the Crazyflie 2.0.
This work presents a parameterization of the Crazyflie quadrotor so it can be modeled and have more advanced controllers designed for it. Additionally, this work discusses the default control loop of the Crazyflie 2.0. Then nested-loop PID controllers are designed and compared against the simulated physics model.
A software system that is capable of controlling multiple flying Crazyflie’s is also presented. This system is also capable of modifying the controller at runtime, and implementing distributed computation on the Crazyflie.
Finally, a novel algorithm for localization of a target object using distance-only measurements is presented. This algorithm uses optimization dynamics to solve a non-convex QCQP formulation of the problem in a distributed manner. The algorithm is presented and then implemented using the distributed computation framework presented in this work.
@thesis{McInerney2017_MSThesis, author = {McInerney, Ian Scott}, booktitle = {Thesis}, school = {Department of Electrical and Computer Engineering, Iowa State University}, address = {Ames, IA, USA}, title = {{Development of a multi-agent quadrotor research platform with distributed computational capabilities}}, type = {M.S. Thesis}, year = {2017}, month = aug, doi = {10.31274/etd-180810-5192}, codedoi = {10.5281/zenodo.4719659} }
- [C8]
I. McInerney and E. C. Kerrigan, “Teaching Predictive Control Using Specification-based Summative Assessments,” in 13th Symposium on Advances in Control Education (ACE 2022), Hamburg, Germany, Jul. 2022, pp. 236–241.
10.1016/j.ifacol.2022.09.285 arXiv: 2202.00157 Preprint Institutional Repository Slides
Including Model Predictive Control (MPC) in the undergraduate/graduate control curriculum is becoming vitally important due to the growing adoption of MPC in many industrial areas. In this paper, we present an overview of the predictive control course taught by the authors at Imperial College London between 2018 and 2021. We discuss how the course evolved from focusing solely on the linear MPC formulation to covering nonlinear MPC and some of its extensions. We also present a novel specification-based summative assessment framework, written in MATLAB, that was developed to assess the knowledge and understanding of the students in the course by tasking them with designing a controller for a real-world problem. The MATLAB assessment framework was designed to provide the students with the freedom to design and implement any MPC controller they wanted. The submitted controllers were then assessed against over 30 variations of the real-world problem to gauge student understanding of design robustness and the MPC topics from the course.
@inproceedings{McInerney2022_TeachingPredictiveControl, title = {Teaching Predictive Control Using Specification-based Summative Assessments}, author = {McInerney, Ian and Kerrigan, Eric C.}, year = {2022}, month = jul, booktitle = {13th Symposium on Advances in Control Education (ACE 2022)}, address = {Hamburg, Germany}, pages = {236--241}, publisher = {IFAC}, arxiv = {2202.00157}, doi = {10.1016/j.ifacol.2022.09.285} }
- [C3]
I. McInerney and E. C. Kerrigan, “Automated Project-based Assessment in a Predictive Control Course,” in 2018 UKACC 12th International Conference on Control (CONTROL), Sheffield, UK, Aug. 2018, p. 443.
10.1109/CONTROL.2018.8516728 Preprint Institutional Repository
Written assessments, such as book problems and exams, have customarily been used in control courses to measure student progress, but usually only gauge their knowledge of the theoretical concepts. More complicated control methods, such as predictive control, benefit from gauging student progress through implementation projects. We present a set of automatically marked project-based assessments that test student knowledge on concepts ranging from the derivation of physics models to the creation of a closed-loop predictive controller. We present a simulation framework that allows for the students to utilize any predictive control concepts that they decide to use in their implementation. The framework then automatically tests the student solutions against multiple constraint sets and conditions to provide quantitative data for marking the assessment.
@inproceedings{McInerney2018_UKACC, address = {Sheffield, UK}, author = {McInerney, Ian and Kerrigan, Eric C.}, booktitle = {2018 UKACC 12th International Conference on Control (CONTROL)}, doi = {10.1109/CONTROL.2018.8516728}, pages = {443}, title = {Automated Project-based Assessment in a Predictive Control Course}, publisher = {IEEE}, year = {2018}, month = aug }
Topic:
Computer Arithmetic
Control Applications
Dynamical Systems
FPGAs
High Level Synthesis
Model Predictive Control
Numerical Methods
Optimal Control
Optimization
Software
Teaching
- [C11]
M. Wang, I. McInerney, B. Stellato, F. Tu, S. Boyd, and H. Kwok-Hay So, “Multi-Issue Butterfly Architecture for Sparse Convex Quadratic Programming,” in 2024 57th IEEE/ACM International Symposium on Microarchitecture (MICRO), Austin, TX, USA, Nov. 2024.
10.1109/MICRO61859.2024.00115 Preprint Institutional Repository
Convex quadratic optimization solvers are extensively utilized in various domains; however, achieving optimal performance in diverse situations remains a significant challenge due to the sparse nature of objective and constraint matrices. General-purpose architectures struggle with hardware utilization when performing critical sparse matrix operations, such as factorization and multiplication. To address this issue, we introduce a pipelined spatial architecture, Multi-Issue Butterfly (MIB), which supports all primitive scalar, vector, and matrix operations required by the Alternating Direction Method of Multipliers (ADMM) based solver algorithm.
The proposed architecture features a butterfly computational network with innovative working modes for each node, controlled by runtime instructions. We developed a companion scheduling method for matrix operations based on their sparsity patterns. For factorization, an elimination tree guides the network instructions reordering to avoid data hazards caused by computation dependencies. For matrix-vector multiplication, data prefetching resolves structural hazards caused by read and write conflicts to register files. Instructions without hazards are issued simultaneously to increase pipeline throughput and function unit utilization.
We evaluate the proposed architecture using FPGA prototypes, representing the first fully FPGA-based generic QP solver. Our assessment includes extensive performance and efficiency benchmarks across 100 QP problems from five application domains. Compared to the same algorithm variation running on CPU backends, our prototype achieves a geometric mean of 30.5× end-to-end speedup, 127.0× greater energy efficiency, and 16.5× less runtime jitter. In comparison to GPU backends, the prototype attains a geometric mean of 4.3× faster end-to-end speedup, 21.7× higher energy efficiency, and 33.4× less runtime jitter.
@inproceedings{Wang2024_butterfly, title = {Multi-Issue Butterfly Architecture for Sparse Convex Quadratic Programming}, author = {Wang, Maolin and McInerney, Ian and Stellato, Bartolomeo and Tu, Fengbin and Boyd, Stephen and Kwok-Hay So, Hayden}, booktitle = {2024 57th IEEE/ACM International Symposium on Microarchitecture (MICRO)}, address = {Austin, TX, USA}, year = {2024}, month = nov, doi = {10.1109/MICRO61859.2024.00115} }
- [C10]
M. Verma, I. McInerney, and L. Renson, “Learning Bounds on Computational Values in Iterative Methods using Reachability Analysis,” in Symposium on Systems Theory in Data and Optimization (SysDO2024), Stuttgart, DE, Sep. 2024.
In this extended abstract, we present our initial work on how the reachable sets of the Koopman operator for an iterative method can be approximated and then used to make decisions about the number formats required for implementations. We present our initial framework for learning the Koopman operator and performing reachability analysis on it, followed by an illustrative example on the Gauss-Seidel stationary iterative method, where the reachability analysis can inform the decision to use signed/unsigned variables.
@inproceedings{Verma2024_LearningBounds, title = {Learning Bounds on Computational Values in Iterative Methods using Reachability Analysis}, author = {Verma, Mukund and McInerney, Ian and Renson, Ludovic}, booktitle = {Symposium on Systems Theory in Data and Optimization (SysDO2024)}, address = {Stuttgart, DE}, year = {2024}, month = sep }
- [C9]
M. Wang, I. McInerney, B. Stellato, S. Boyd, and H. Kwok-Hay So, “RSQP: Problem-specific Architectural Customization for Accelerated Convex Quadratic Optimization,” in 50th Annual International Symposium on Computer Architecture (ISCA ’23), Orlando, FL, USA, Jun. 2023.
10.1145/3579371.3589108 Preprint Institutional Repository Code
Convex optimization is at the heart of many performance-critical applications across a wide range of domains. Although many high-performance hardware accelerators have been developed for specific optimization problems in the past, designing such accelerator is a challenging task and the resulting computing architecture is often so specific to the targeted application that they can hardly be reused even in a related application within the same domain. To accelerate general-purpose optimization solvers that must operate on diverse user input during run time, an ideal hardware solver should be able to adapt to the provided optimization problem dynamically while achieving high performance and power-efficiency. In this work, a hardware-accelerated general-purpose quadratic program solver, called RSQP, with reconfigurable functional units and data path that facilitate problem-specific customization is presented. RSQP uses a string-based encoding to describe the problem structure with fine granularity. Based on this encoding, functional units and datapath customized to the sparsity pattern of the problem are created by solving a dictionary-based lossless string compression problem and a mixed integer linear program respectively. RSQP has been integrated to accelerate the general-purpose quadratic programming solver OSQP and has been tested using an extensive benchmark with 120 optimization problems from 6 application domains. Through architectural customization, RSQP achieves up to 7× performance improvement over its baseline generic design. Furthermore, when compared with a CPU and a GPU-accelerated implementation, RSQP achieves up to 31.2× and 6.9× end-to-end speedup on these benchmark programs, respectively. Finally, the FPGA accelerator operates at up to 6.6× lower dynamic power consumption and up to 22.7× higher power efficiency over the GPU implementation, making it an attractive solution for power-conscious datacenter applications.
@inproceedings{Wang2023_RSQP, title = {{RSQP}: Problem-specific Architectural Customization for Accelerated Convex Quadratic Optimization}, author = {Wang, Maolin and McInerney, Ian and Stellato, Bartolomeo and Boyd, Stephen and Kwok-Hay So, Hayden}, booktitle = {50th Annual International Symposium on Computer Architecture (ISCA '23)}, address = {Orlando, FL, USA}, year = {2023}, month = jun, doi = {10.1145/3579371.3589108} }
- [J3]
I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “Horizon-independent Preconditioner Design for Linear Predictive Control,” IEEE Transactions on Automatic Control, vol. 68, no. 1, pp. 580–587, Jan. 2023.
10.1109/TAC.2022.3145657 arXiv: 2010.08572 Preprint Institutional Repository
First-order optimization solvers, such as the Fast Gradient Method, are increasingly being used to solve Model Predictive Control problems in resource-constrained environments. Unfortunately, the convergence rate of these solvers is significantly affected by the conditioning of the problem data, with ill-conditioned problems requiring a large number of iterations. To reduce the number of iterations required, we present a simple method for computing a horizon-independent preconditioning matrix for the Hessian of the condensed problem. The preconditioner is based on the block Toeplitz structure of the Hessian. Horizon-independence allows one to use only the predicted system and cost matrices to compute the preconditioner, instead of the full Hessian. The proposed preconditioner has equivalent performance to an optimal preconditioner in numerical examples, producing speedups between 2x and 9x for the Fast Gradient Method. Additionally, we derive horizon-independent spectral bounds for the Hessian in terms of the transfer function of the predicted system, and show how these can be used to compute a novel horizon-independent bound on the condition number for the preconditioned Hessian.
@article{McInerney2022_closedFormPreconditioner, author = {McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, title = {Horizon-independent Preconditioner Design for Linear Predictive Control}, journal = {IEEE Transactions on Automatic Control}, volume = {68}, number = {1}, pages = {580--587}, publisher = {IEEE}, doi = {10.1109/TAC.2022.3145657}, arxiv = {2010.08572}, year = {2023}, month = jan }
- [C8]
I. McInerney and E. C. Kerrigan, “Teaching Predictive Control Using Specification-based Summative Assessments,” in 13th Symposium on Advances in Control Education (ACE 2022), Hamburg, Germany, Jul. 2022, pp. 236–241.
10.1016/j.ifacol.2022.09.285 arXiv: 2202.00157 Preprint Institutional Repository Slides
Including Model Predictive Control (MPC) in the undergraduate/graduate control curriculum is becoming vitally important due to the growing adoption of MPC in many industrial areas. In this paper, we present an overview of the predictive control course taught by the authors at Imperial College London between 2018 and 2021. We discuss how the course evolved from focusing solely on the linear MPC formulation to covering nonlinear MPC and some of its extensions. We also present a novel specification-based summative assessment framework, written in MATLAB, that was developed to assess the knowledge and understanding of the students in the course by tasking them with designing a controller for a real-world problem. The MATLAB assessment framework was designed to provide the students with the freedom to design and implement any MPC controller they wanted. The submitted controllers were then assessed against over 30 variations of the real-world problem to gauge student understanding of design robustness and the MPC topics from the course.
@inproceedings{McInerney2022_TeachingPredictiveControl, title = {Teaching Predictive Control Using Specification-based Summative Assessments}, author = {McInerney, Ian and Kerrigan, Eric C.}, year = {2022}, month = jul, booktitle = {13th Symposium on Advances in Control Education (ACE 2022)}, address = {Hamburg, Germany}, pages = {236--241}, publisher = {IFAC}, arxiv = {2202.00157}, doi = {10.1016/j.ifacol.2022.09.285} }
- [C7]
L. Nita, E. M. G. Vila, M. Zagorowska, E. C. Kerrigan, Y. Nie, I. McInerney, and P. Falugi, “Fast and accurate method for computing non-smooth solutions to constrained control problems,” in 2022 European Control Conference (ECC), London, UK, Jun. 2022, pp. 1049–1054.
10.23919/ECC55457.2022.9838569 arXiv: 2205.08613 Preprint Institutional Repository
Introducing flexibility in the time-discretisation mesh can improve convergence and computational time when solving differential equations numerically, particularly in discontinuous solutions, as commonly found in optimal control problems. State-of-the-art methods invariably use fixed mesh schemes, which cannot achieve superlinear convergence in the presence of non-smooth solutions. In this paper, we propose using a flexible mesh in an integrated residual method. The locations of the mesh nodes are introduced as decision variables, and constraints are added to set upper and lower bounds on the size of the mesh intervals. We compare our approach to a uniform fixed mesh on a real-world satellite reorientation example. This sample problem demonstrates that the flexible mesh enables the solver to automatically locate the discontinuities in the solution, and have a superlinear order of convergence and faster solve time.
@inproceedings{Nita2021_FlexibleMesh, title = {Fast and accurate method for computing non-smooth solutions to constrained control problems}, author = {Nita, Lucian and Vila, Eduardo Miguel Gouveia and Zagorowska, Marta and Kerrigan, Eric C. and Nie, Yuanbo and McInerney, Ian and Falugi, Paola}, year = {2022}, month = jun, pages = {1049--1054}, booktitle = {2022 European Control Conference (ECC)}, address = {London, UK}, publisher = {IEEE}, doi = {10.23919/ECC55457.2022.9838569}, arxiv = {2205.08613} }
- [C6]
B. Biggs, I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “High-level Synthesis using the Julia Language,” in 2nd Workshop on Languages, Tools, and Techniques for Accelerator Design (LATTE’22), Lausanne, Switzerland, Mar. 2022.
arXiv: 2201.11522 Preprint Institutional Repository Slides Video Web link
The growing proliferation of FPGAs and High-level Synthesis (HLS) tools has led to a large interest in designing hardware accelerators for complex operations and algorithms. However, existing HLS toolflows typically require a significant amount of user knowledge or training to be effective in both industrial and research applications. In this paper, we propose using the Julia language as the basis for an HLS tool. The Julia HLS tool aims to decrease the barrier to entry for hardware acceleration by taking advantage of the readability of the Julia language and by allowing the use of the existing large library of standard mathematical functions written in Julia. We present a prototype Julia HLS tool, written in Julia, that transforms Julia code to VHDL. We highlight how features of Julia and its compiler simplified the creation of this tool, and we discuss potential directions for future work.
@inproceedings{Biggs2022_JuliaHLS, title = {High-level Synthesis using the {Julia} Language}, author = {Biggs, Benjamin and McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, booktitle = {2nd Workshop on Languages, Tools, and Techniques for Accelerator Design (LATTE'22)}, year = {2022}, month = mar, address = {Lausanne, Switzerland}, arxiv = {2201.11522}, url = {capra.cs.cornell.edu/latte22/paper/7.pdf} }
- [TR2]
I. McInerney, “Conditions for Digit Stability in Iterative Methods Using the Redundant Number Representation,” May 2022.
Iterative methods play an important role in science and engineering applications, with uses ranging from linear system solvers in finite element methods to optimization solvers in model predictive control. Recently, a new computational strategy for iterative methods called ARCHITECT was proposed by Li et al. in [1] that uses the redundant number representation to create “stable digits” in the Most-significant Digits (MSDs) of an iterate, allowing the future iterations to assume the stable MSDs have not changed their value, eliminating the need to recompute them. In this work, we present a theoretical analysis of how these “stable digits” arise in iterative methods by showing that a Fejér monotone sequence in the redundant number representation can develop stable MSDs in the elements of the sequence as the sequence grows in length. This property of Fejér monotone sequences allows us to expand the class of iterative methods known to have MSD stability when using the redundant number representation to include any fixed-point iteration of a contractive Lipschitz continuous function. We then show that this allows for the theoretical guarantee of digit stability not just in the Jacobi method that was previously analyzed by Li et al. in [2], but also in other commonly used methods such as Newton’s method.
@techreport{McInerney2022_RedundantIterativeMethods, title = {Conditions for Digit Stability in Iterative Methods Using the Redundant Number Representation}, author = {McInerney, Ian}, year = {2022}, month = may, arxiv = {2205.03507} }
- [T2]
I. S. McInerney, “Numerical Methods for Model Predictive Control,” Ph.D. Dissertation, Department of Electrical and Electronic Engineering, Imperial College London, London, UK, 2022.
10.25560/96929 Preprint Institutional Repository
There has been an increased interest in controlling complex systems using Model Predictive Control (MPC). However, the use of resource-constrained computing platforms in these systems has slowed the adoption of MPC. This thesis focuses on increasing the efficiency of numerical methods for MPC in terms of resource usage and solution time, while also simplifying the design process.
We first show how block Toeplitz operators can be used to link the linear MPC matrices to the transfer function of the predicted system, resulting in horizon-independent bounds on the condition number of the condensed Hessian and the upper iteration bound for the Fast Gradient Method (FGM). We derive a horizon-independent preconditioner that produces up to a 9x speedup for the FGM while reducing the preconditioner computation time by up to 50,000x compared to an existing preconditioner. We propose a new method for computing the minimum number of fractional bits needed to ensure the FGM with fixed-point arithmetic is stable, with an example showing decreases of up to 77% in resource usage and 50% in the computational energy when using this method on a Field Programmable Gate Array.
Finally, we present a framework using the derivative-free Mesh Adaptive Direct Search method to solve nonlinear MPC problems with non-differentiable features or quantized variables without the need for complex or costly reformulations. We augment the system dynamics with additional states to compute the Lagrange cost term and the violation of the path constraints along the state trajectory, and then perform a structured search of the input space using a single-shooting simulation of the system dynamics. We demonstrate this framework on a robust Goddard rocket problem with a non-differentiable cost and a quantized thrust input, where we achieve an altitude within 40 m of the target, while other methods are unable to get closer than 180m.
@thesis{McInerney2022_PhdThesis, author = {McInerney, Ian Scott}, school = {Department of Electrical and Electronic Engineering, Imperial College London}, title = {{Numerical Methods for Model Predictive Control}}, type = {Ph.D. Dissertation}, address = {London, UK}, month = mar, year = {2022}, doi = {10.25560/96929} }
- [C5]
I. McInerney, L. Nita, Y. Nie, A. Oliveri, and E. C. Kerrigan, “Towards a Framework for Nonlinear Predictive Control Using Derivative-Free Optimization,” in 7th IFAC Conference on Nonlinear Predictive Control, Bratislava, Slovakia, Jul. 2021, pp. 284–289.
10.1016/j.ifacol.2021.08.558 arXiv: 2106.05025 Preprint Institutional Repository Slides Video
The use of derivative-based solvers to compute solutions to optimal control problems with non-differentiable cost or dynamics often requires reformulations or relaxations that complicate the implementation or increase computational complexity. We present an initial framework for using the derivative-free Mesh Adaptive Direct Search (MADS) algorithm to solve Nonlinear Model Predictive Control problems with non-differentiable features without the need for reformulation. The MADS algorithm performs a structured search of the input space by simulating selected system trajectories and computing the subsequent cost value. We propose handling the path constraints and the Lagrange cost term by augmenting the system dynamics with additional states to compute the violation and cost value alongside the state trajectories, eliminating the need for reconstructing the state trajectories in a separate phase. We demonstrate the practicality of this framework by solving a robust rocket control problem, where the objective is to reach a target altitude as close as possible, given a system with uncertain parameters. This example uses a non-differentiable cost function and simulates two different system trajectories simultaneously, with each system having its own free final time.
@inproceedings{McInerney2021_NMPC, address = {Bratislava, Slovakia}, author = {McInerney, Ian and Nita, Lucian and Nie, Yuanbo and Oliveri, Alberto and Kerrigan, Eric C.}, booktitle = {7th IFAC Conference on Nonlinear Predictive Control}, pages = {284--289}, publisher = {IFAC}, title = {Towards a Framework for Nonlinear Predictive Control Using Derivative-Free Optimization}, year = {2021}, month = jul, doi = {10.1016/j.ifacol.2021.08.558}, arxiv = {2106.05025} }
- [J2]
H. Li, I. McInerney, J. Davis, and G. A. Constantinides, “Digit Stability Inference for Iterative Methods Using Redundant Number Representation,” IEEE Transactions on Computers, vol. 70, no. 7, pp. 1074–1080, Jul. 2021.
10.1109/TC.2020.3003529 arXiv: 2006.09427 Preprint Institutional Repository 10.5281/zenodo.3564472
In our recent work on iterative computation in hardware, we showed that arbitrary-precision solvers can perform more favourably than their traditional arithmetic equivalents when the latter’s precisions are either under- or over-budgeted for the solution of the problem at hand. Significant proportions of these performance improvements stem from the ability to infer the existence of identical most-significant digits between iterations. This technique uses properties of algorithms operating on redundantly represented numbers to allow the generation of those digits to be skipped, increasing efficiency. It is unable, however, to guarantee that digits will stabilise, i.e. never change in any future iteration. In this article, we address this shortcoming, using interval and forward error analyses to prove that digits of high significance will become stable when computing the approximants of systems of linear equations using stationary iterative methods. We formalise the relationship between matrix conditioning and the rate of growth in most-significant digit stability, using this information to converge to our desired results more quickly. Versus our previous work, an exemplary hardware implementation of this new technique achieves an up-to 2.2x speedup in the solution of a set of variously conditioned systems using the Jacobi method.
@article{Li2021_digitElision, author = {Li, He and McInerney, Ian and Davis, James and Constantinides, George A.}, journal = {IEEE Transactions on Computers}, publisher = {IEEE}, title = {Digit Stability Inference for Iterative Methods Using Redundant Number Representation}, year = {2021}, month = jul, volume = {70}, number = {7}, pages = {1074--1080}, doi = {10.1109/TC.2020.3003529}, arxiv = {2006.09427}, zenodo = {10.5281/zenodo.3564472} }
- [J1]
J.-M. Rodriguez-Bernuz, I. McInerney, A. Junyent-Ferré, and E. C. Kerrigan, “Design of a Linear Time-Varying Model Predictive Control Energy Regulator for Grid-Tied VSCs,” IEEE Transactions on Energy Conversion, vol. 36, no. 2, pp. 1425–1434, Jun. 2021.
10.1109/TEC.2021.3060319 Preprint Institutional Repository
This paper presents an energy regulator based on a Model Predictive Control (MPC) algorithm for a Voltage Source Converter (VSC). The MPC is formulated to optimise the converter performance according to the weights defined in an objective function that trades off additional features, such as current harmonic distortion, reactive power tracking and DC bus voltage oscillation. Differently from most approaches found in the research literature, the MPC proposed here considers the coupling dynamics between the AC and DC sides of the VSC. This study is focused on the example case of a single-phase VSC, which presents a nonlinear relationship between its AC and DC sides and a sustained double-line frequency power disturbance in its DC bus. To reduce the burden of the MPC, the controller is formulated to benefit from the slow energy dynamics of the system. Thus, the cascaded structure typically used in the control of VSCs is kept and the MPC is set as an energy regulator at a reduced sampling frequency while the current control relies on a fast inner controller. The computational burden of the algorithm is further reduced by using a linear time-varying approximation. The controller is presented in detail and experimental validation showing the performance of the algorithm is provided.
@article{RodriguezBernuz2021_energyConverterMPC, title = {Design of a {{Linear Time}}-{{Varying Model Predictive Control Energy Regulator}} for {{Grid}}-{{Tied VSCs}}}, author = {{Rodriguez-Bernuz}, Joan-Marc and McInerney, Ian and {Junyent-Ferr{\'e}}, Adri{\`a} and Kerrigan, Eric C.}, journal = {IEEE Transactions on Energy Conversion}, publisher = {IEEE}, year = {2021}, month = jun, volume = {36}, number = {2}, pages = {1425--1434}, doi = {10.1109/TEC.2021.3060319} }
- [C4]
I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “Modeling Round-off Error in the Fast Gradient Method for Predictive Control,” in 58th IEEE Conference on Decision and Control (CDC), Nice, France, Dec. 2019, pp. 4331–4336.
10.1109/CDC40024.2019.9029910 Preprint Institutional Repository Slides Poster
We present a method for determining the smallest precision required to have algorithmic stability of an implementation of the Fast Gradient Method (FGM) when solving a linear Model Predictive Control (MPC) problem in fixed-point arithmetic. We derive two models for the round-off error present in fixed-point arithmetic. The first is a generic model with no assumptions on the predicted system or weight matrices. The second is a parametric model that exploits the Toeplitz structure of the MPC problem for a Schur-stable system. We also propose a metric for measuring the amount of round-off error the FGM iteration can tolerate before becoming unstable. This metric is combined with the round-off error models to compute the minimum number of fractional bits needed for the fixed-point data type. Using these models, we show that exploiting the MPC problem structure nearly halves the number of fractional bits needed to implement an example problem. We show that this results in significant decreases in resource usage, computational energy and execution time for an implementation on a Field Programmable Gate Array.
@inproceedings{McInerney2019_cdc, address = {Nice, France}, author = {McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, booktitle = {58th IEEE Conference on Decision and Control (CDC)}, pages = {4331--4336}, publisher = {IEEE}, title = {Modeling Round-off Error in the Fast Gradient Method for Predictive Control}, year = {2019}, month = dec, doi = {10.1109/CDC40024.2019.9029910} }
- [TR1]
I. McInerney, E. C. Kerrigan, and G. A. Constantinides, “Bounding Computational Complexity under Cost Function Scaling in Predictive Control,” Feb. 2019.
arXiv: 1902.02221 10.24433/CO.3311801.v1
We present a framework for upper bounding the number of iterations required by first-order optimization algorithms implementing constrained LQR controllers. We derive new bounds for the condition number and extremal eigenvalues of the primal and dual Hessian matrices when the cost function is scaled. These bounds are horizon-independent, allowing for their use with receding, variable and decreasing horizon controllers. We considerably relax prior assumptions on the structure of the weight matrices and assume only that the system is Schur-stable and the primal Hessian of the quadratic program (QP) is positive-definite. Our analysis uses the Toeplitz structure of the QP matrices to relate their spectrum to the transfer function of the system, allowing for the use of system-theoretic techniques to compute the bounds. Using these bounds, we can compute the effect on the computational complexity of trading off the input energy used against the state deviation. An example system shows a three-times increase in algorithm iterations between the two extremes, with the state 2-norm decreased by only 5% despite a greatly increased state deviation penalty.
@techreport{McInerney2019_boundingComputationalComplexity, author = {McInerney, Ian and Kerrigan, Eric C. and Constantinides, George A.}, title = {Bounding Computational Complexity under Cost Function Scaling in Predictive Control}, journal = {arXiv:1902.02221}, arxiv = {1902.02221}, year = {2019}, month = feb, codedoi = {10.24433/CO.3311801.v1} }
- [C3]
I. McInerney, G. A. Constantinides, and E. C. Kerrigan, “A Survey of the Implementation of Linear Model Predictive Control on FPGAs,” in 6th IFAC Conference on Nonlinear Model Predictive Control, Madison, Wisconsin, US, Aug. 2018, pp. 381–387.
10.1016/j.ifacol.2018.11.063 Preprint Institutional Repository Poster
Over the past 20 years, great strides have been made in the real-time implementation of linear MPC on FPGA devices. Starting from initial work, which demonstrated the benefits of embedding linear MPC onto FPGAs, recent work has shown sampling rates of more than 1 MHz are possible with FPGA-based implementations. This work surveys FPGA implementations of linear MPC, with a focus on the computational architecture. This includes the choice of number representation, the parallelizations exploited and the memory architecture. We discuss the transferability of those design choices to the FPGA implementation of nonlinear MPC, and provide some future research directions related to the implementation of MPC on FPGAs.
@inproceedings{McInerney2018_NMPC, address = {Madison, Wisconsin, US}, author = {McInerney, Ian and Constantinides, George A. and Kerrigan, Eric C.}, booktitle = {6th IFAC Conference on Nonlinear Model Predictive Control}, doi = {10.1016/j.ifacol.2018.11.063}, pages = {381--387}, publisher = {IFAC}, title = {A Survey of the Implementation of Linear Model Predictive Control on {FPGA}s}, year = {2018}, month = aug }
- [C2]
I. McInerney and E. C. Kerrigan, “Automated Project-based Assessment in a Predictive Control Course,” in 2018 UKACC 12th International Conference on Control (CONTROL), Sheffield, UK, Aug. 2018, p. 443.
10.1109/CONTROL.2018.8516728 Preprint Institutional Repository
Written assessments, such as book problems and exams, have customarily been used in control courses to measure student progress, but usually only gauge their knowledge of the theoretical concepts. More complicated control methods, such as predictive control, benefit from gauging student progress through implementation projects. We present a set of automatically marked project-based assessments that test student knowledge on concepts ranging from the derivation of physics models to the creation of a closed-loop predictive controller. We present a simulation framework that allows for the students to utilize any predictive control concepts that they decide to use in their implementation. The framework then automatically tests the student solutions against multiple constraint sets and conditions to provide quantitative data for marking the assessment.
@inproceedings{McInerney2018_UKACC, address = {Sheffield, UK}, author = {McInerney, Ian and Kerrigan, Eric C.}, booktitle = {2018 UKACC 12th International Conference on Control (CONTROL)}, doi = {10.1109/CONTROL.2018.8516728}, pages = {443}, title = {Automated Project-based Assessment in a Predictive Control Course}, publisher = {IEEE}, year = {2018}, month = aug }
- [C1]
I. McInerney, X. Ma, and N. Elia, “Cooperative Localization from Imprecise Range-Only Measurements: A Non-Convex Distributed Approach,” in 56th IEEE Conference on Decision and Control (CDC), Melbourne, Australia, Dec. 2017, pp. 2216–2221.
10.1109/CDC.2017.8263973 Preprint
This paper presents a distributed method to locate a target object using multi-agent systems with only knowledge of the agent position and distance between them and the target. The problem is formulated as a non-convex quadratically constrained program, which is then solved using an optimization dynamics approach. The method presented can be applied to an arbitrary undirected network, and only requires agents communicating their estimate of the target’s position and their calculated dual variables. The proposed method is derived from the Range-Based Least-Squares method, and becomes the Maximum Likelihood Estimator for this problem under Gaussian noise. We present the convergence results and also numerical simulations of this method.
@inproceedings{McInerney2017_cdc, address = {Melbourne, Australia}, author = {McInerney, Ian and Ma, Xu and Elia, Nicola}, booktitle = {56th IEEE Conference on Decision and Control (CDC)}, pages = {2216--2221}, publisher = {IEEE}, title = {Cooperative Localization from Imprecise Range-Only Measurements: A Non-Convex Distributed Approach}, year = {2017}, month = dec, doi = {10.1109/CDC.2017.8263973} }
- [T1]
I. S. McInerney, “Development of a multi-agent quadrotor research platform with distributed computational capabilities,” M.S. Thesis, Department of Electrical and Computer Engineering, Iowa State University, Ames, IA, USA, 2017.
10.31274/etd-180810-5192 Preprint Institutional Repository 10.5281/zenodo.4719659
Research on multi-agent systems of UAVs is of growing interest in the research community, with specific interest in the testing of novel algorithms on actual systems. Many existing testbeds already exist, but the majority of them utilize expensive quadrotors for their agents. With the recent surge in interest from consumers, companies have started to market lower cost quadrotor options. One such option is the Crazyflie 2.0 from Bitcraze. This quadrotor measures just 10cm from rotor to rotor, uses open-source firmware, and has developed a strong community backing. This work develops a multi-agent testbed using the Crazyflie 2.0.
This work presents a parameterization of the Crazyflie quadrotor so it can be modeled and have more advanced controllers designed for it. Additionally, this work discusses the default control loop of the Crazyflie 2.0. Then nested-loop PID controllers are designed and compared against the simulated physics model.
A software system that is capable of controlling multiple flying Crazyflie’s is also presented. This system is also capable of modifying the controller at runtime, and implementing distributed computation on the Crazyflie.
Finally, a novel algorithm for localization of a target object using distance-only measurements is presented. This algorithm uses optimization dynamics to solve a non-convex QCQP formulation of the problem in a distributed manner. The algorithm is presented and then implemented using the distributed computation framework presented in this work.
@thesis{McInerney2017_MSThesis, author = {McInerney, Ian Scott}, booktitle = {Thesis}, school = {Department of Electrical and Computer Engineering, Iowa State University}, address = {Ames, IA, USA}, title = {{Development of a multi-agent quadrotor research platform with distributed computational capabilities}}, type = {M.S. Thesis}, year = {2017}, month = aug, doi = {10.31274/etd-180810-5192}, codedoi = {10.5281/zenodo.4719659} }
- [PA1]
A. K. Basu, I. S. McInerney, B. S. Howard, and I. Paduret, “OIL IDENTIFICATION SYSTEM,” U.S. Pat. App. 14/547640, Mar. 2014.
@patent{Caterpillar2014, author = {Basu, Amiyo K. and McInerney, Ian S. and Howard, Brian S. and Paduret, Ioan}, assignee = {Caterpillar, Inc.}, address = {}, title = {{OIL IDENTIFICATION SYSTEM}}, nationality = {United States}, number = {U.S. Pat. App. 14/547640}, dayfiled = {19}, monthfiled = {3}, yearfiled = {2014}, year = {2014}, month = mar, type = {Patent Application}, url = {patents.google.com/patent/US20160139103A1/en} }
2024
2023
2022
2021
2019
2018
2017
2014
Copyright disclaimer: The documents contained in this page are included to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author’s copyright. These works may not be reposted without the explicit permission of the copyright holder.