Professional Documents
Culture Documents
CDC2019 Karthik 19-0057 01 MS
CDC2019 Karthik 19-0057 01 MS
Abstract— Parallel programming paradigms intertwined with a systematic framework to deal with system constraints,
sophisticated multi-core hardware processors has paved way for nonlinearities, objective/performance requirements and also,
fruition of computationally demanding algorithms into practice. with increased computational power these days, MPC proves
The complex algorithms developed in the early 20th century,
which were stunted due to limited computing resources those to be a viable option for RT constrained control, which is its
times has seen the light of the day in recent years due to putative advantage.
immense development in the field of parallel computing tech- The underlying idea (receding horizon control) behind the
nology. In the same spirit, in this paper we address a simulation MPC scheme is to find the optimal input sequence from an
based approach for solving nonlinear model predictive control optimal control problem (OCP) over a look ahead period
(NMPC) problem via a parameterized technique for control
of vertical dynamics of half car vehicle equipped with semi- given the current state of the system. From the obtained
active (SA) suspension system. The method taps the potential solution, the first optimal input injected into the system
of the ubiquitous graphic processing unit (GPU) to simulate and this procedure is repeated at the next sampling period
the system parallely for several combinations of control inputs with the receipt of the propagated state. The two rudimental
and the optimal input is elicited which minimizes the objective approaches to deal with this optimization problem involves
function and satisfies the constraints. The method was tested in
MATLAB/Simulink environment by means of simulations and a) solve methods and b) search methods. The former method
a comparative study was conducted with ACADO-qpOASES finds the optimal solution by solving via iterative methods
NMPC framework. The simulation results display better per- while the latter searches for the optimal solution by means
formance of the proposed approach in terms of computation of simulation. In this paper, the latter approach is adopted
time, closed loop objective and constraint satisfaction when and the simulations are computed in parallel by virtue of
juxtaposed to the ACADO-qpOASES NMPC controller.
Graphic Processing Unit (GPU).
I. INTRODUCTION Along the line of research for control of suspension
systems, several contributions have been proposed such as (to
Over the last decade, with the induction of autonomous ve-
name a few) Skyhook controller, Mixed Sky-Hook and ADD
hicles on public roads, a tremendous amount of emphasis has
controller , H∞ and LPV methods [1], MPC approaches [2]–
been placed on automotive research and development both
[4] etc. See [5] for a detailed exposition on different control
in industry as well as academia. In the current scenario of
methods. In regards with parallely solving the MPC problem,
enormous market competition, the entire automotive industry
there has been several research conducted in the past which
has been filliped to develop high end solutions and products
harnesses the potential of GPU. A brief tutorial on different
for its consumers. In this regard, in recent years advanced
parallel architectures for MPC is proposed in [6]. In [7],
control methods have garnered immense attention due to the
scenario approach based stochastic MPC was implemented
requirements on quality, safety and performance. Given this
for drinking water network system by means of accelerated
prelude, in this paper we address vertical dynamics control
proximal gradient method. In [8], a path integral based MPC
problem and more specifically on NMPC of SA suspension
method was proposed and experimentally validated for a RC
system for half car vehicle. The prime functionality of the
car. In [9], several GPU based interior point methods were
suspension controller is to facilitate safety and comfort for
developed for linear MPC framework. In [10], a sampling
the onboard passengers. However this design task poses
based parallelized nonlinear MPC (NMPC) scheme was
several control and modeling challenges. On one end there
proposed and the method was experimentally validated for
are inherent system nonlinearities, state/input constraints,
an inverted pendulum system.
partially modeled dynamics etc. and on the other end there
In this paper we propose a parallelized parameterized
are performance requirements (comfort and safety), real-time
NMPC (pNMPC) scheme for real half car vehicle equipped
(RT) adaptability and operability etc. and the control engi-
with SA suspension system. The method taps the power of
neer is coerced to walk along a tight rope between the two.
GPU computing for solving automotive suspension control
Thus, a meticulous care ought to be undertaken in the design
problem and has a huge vista of potential payoff in days to
process to balance this tradeoff. In this regard, MPC provides
come. The key aspects of the method are a) simplicity, b)
*This work was supported by the ITEA3 European project, efficient RT operability, c) scalable for full car system, d)
15016 EMPHYSIS (Embedded systems with physical models completely parallelizable, e) seamless operation for highly
in the production code software). The authors are with Univ. nonlinear dynamics, constraints and objective functions, f)
Grenoble Alpes, CNRS, Grenoble INP, GIPSA-lab, 38000
Grenoble, France, {karthik.murali-madhavan-rathai, road information (from road preview sensors/road model)
olivier.sename, mazen.alamir}@grenoble-inp.fr can be easily incorporated into control design and g) the
.
Preprint Received February 26, 2019 07:12:37 PST
CONFIDENTIAL. Limited circulation. For review only
IEEE L-CSS submission 19-0057.1 (Submission for L-CSS and CDC)
A. Half car mathematical model where k0 , c0 , fc , a1 and a2 represent the damper stiffness
coefficient, viscous damping coefficient, dynamic yield force
The half car vertical dynamics model is a 4 degrees of of the fluid, hysteresis coefficient due to velocity and position
freedom (DOF) model [1], which involves chassis dynamics respectively. φi , ∀i ∈ {l, r} represents the PWM duty
(heave motion), roll dynamics and dynamics of the two cycle (PWM-DC) input signal which manipulates the damper
unsprung masses (wheels). The model ought to be viewed characteristics online by changing the input voltage. zd,i =
as the vehicle being scrunched from the front and rear zs,i − zus,i and żd,i = żs,i − żus,i represents the deflection
ends into a single block. Let the left and right corner of position and velocity ∀i ∈ {l, r} between the chassis and
the vehicle be indexed with i ∈ {l, r} respectively. The 4 wheel respectively.
DOF mathematical model is expressed with the following Let X = [zs , θ, zus,l , zus,r , żs , θ̇, żus,l , żus,r ] denote
equations the state vector, U = [φl , φr ] denote the input vector and
P D = [zr,l , zr,r ] denote the disturbance vector, then the half
ms z̈s = − i∈{l,r} Fs,i car model (1) can be compactly expressed with
I θ̈ = (l F − l F )
x l s,l r s,r Ẋ(t) = f (X(t), U(t), D(t)) (5)
(1)
m z̈
us,l us,l = (−Fs,l + Ft,l )
where X ∈ R8 , U ∈ R2 and D ∈ R2 . The parameters are
mus,r z̈us,r = (−Fs,r + Ft,r )
obtained from the INOVE test platform (shown in Fig. 1) at
GIPSA lab, Grenoble. The INOVE test platform discussed
where, ms , mus,l , mus,r represent the chassis mass, un-
is a 1:5-scaled baja style racing car which consists of 4
sprung masses for the left and right corners. Ix represents
controllable Electro-Rheological (ER) SA dampers (ER-SA)
the moment of inertia along the roll axis. ll and lr represents
and 4 DC motors to generate different road profiles for each
the length of the chassis from the left and right corners with
wheel corner [11]. The model parameters are listed in [4].
respect to centre of gravity (COG). Fs,i represents the chassis
forces and Ft,i represents the wheel forces ∀i ∈ {l, r} which III. MODEL PREDICTIVE CONTROL DESIGN
are expressed with Under the ambit of half car vertical dynamics control, the
objective and constraint requirements are listed below
Fs,i = −ks,i (zs,i − zus,i ) + ui
(2) A. Objective requirements
Ft,i = −kt,i (zus,i − zr,i )
The objective design can be briefly classified as a) comfort
where, ks,i and kt,i represents the stiffness coefficent of and b) ride handling objective [1].
the SA suspension system and wheel respectively. zr,i and 1) Comfort objective: The prime goal of the comfort
zus,i represents the vertical road displacement and unsprung based objective is to minimize the vertical acceleration
mass position ∀i ∈ {l, r}. ui represents the actuation force of the chassis (z̈s ). The comfort objective for a given
obtained from the nonlinear SA damper model (see Section look ahead period Tl is expressed with
II-B). zs,i represents the sprung mass displacement at each Z Tl
corner which are obtained from the following equations acc
JTl (X(.), U(.), D(.)) = (z̈s (t))2 dt (6)
0
zs,l = zs + ll sinθ 2) Ride handling objective: The prime goal of the ride
(3)
zs,r = zs − lr sinθ handling objective is to minimize the roll angle of the
.
Preprint Received February 26, 2019 07:12:37 PST
CONFIDENTIAL. Limited circulation. For review only
IEEE L-CSS submission 19-0057.1 (Submission for L-CSS and CDC)
vehicle. The ride handling objective for a given look where Γ0 = [Γ10 , Γ20 ] with Γ10 and Γ20 being the convex
ahead period Tl is expressed with combination weights between the two objectives. Once the
Z Tl optimal input trajectory is computed, the first control action
JTroll
l
(X(.), U(.), D(.)) = (θ(t))2 dt (7) in U∗ is injected into the system and this procedure is
0 repeated in receding horizon fashion. In this work, a constant
B. Constraint requirements input profile is assumed over the horizon.
The constraints for the SA suspension system primarily IV. PARALLELIZED P NMPC ALGORITHM
arise from the physical limitations and secondarily from
performance requirements [12]. For the MPC design, the The crux of the method is to finitely parameterize the
included constraints are input constraint set ΩU and by virtue of parallel computing
methods, the system (5) is simulated for every parameter-
1) ER-SA damper input constraints:
ized input given the current state, disturbance and objective
a) Damper force constraint (Physical): The ER- specification information. The optimal input is elicited which
SA damper force is bounded, i.e. ui ∈ minimizes the objective and satisfies the constraint in (8) (see
[umin,i , umax,i ], ∀i ∈ {l, r}. [4] for more details). The pseudo-code for the parallelized
b) PWM-DC input constraints: The operating DC pNMPC is shown in Algorithm 1. The pseudo-code deserves
for the PWM signal is constrained to φi ∈ some explanation to elucidate its working principle. The
[φmin,i , φmax,i ], ∀i ∈ {l, r}. details enclosed in this section provides the control engineer
2) State constraints: with the need to know basics to handle parallel computing
a) Stroke deflection constraint (Physical): This using the NVIDIA CUDA GPUs for implementation of the
forms a linear state constraint i.e. zd,i ∈ proposed parallelized pNMPC algorithm for appropriate re-
[zdmin,i , zdmax,i ], ∀i ∈ {l, r}. search purposes. For the respective application programming
b) Peak acceleration constraint (Performance): This interfaces (APIs) and other syntax details refer [14].
bounds the peak acceleration of the chassis mass 1) Initialization, I/Os and Syntax declaration:
i.e. z̈s ∈ [z̈min,s , z̈max,s ].
a) The first step is the data initialization where the
c) Wheel rebound constraint (Performance): This
model/constraint parameters and GPU parame-
bounds the deflection position between the wheel
ters are initialized. bs , gs represents the size of
and road. This is to ensure the tyre deflec-
the grid and blocks respectively [14]. nφl , nφr
tion forces are bounded i.e. zus,i − zr,i ∈
represents the number of quantized levels of the
[zrebmin,i , zrebmax,i ], ∀i ∈ {l, r}.
PWM-DC input signal for the left/right corner of
d) Unsprung mass displacement constraint (Per-
the vehicle respectively.
formance): This bounds the displacement of
b) The input variables for the algorithm are
the unsprung mass. This reinforces the road
X0 , D0 , Γ0 and the output variable is U∗ .
holding condition for the vehicle i.e. zus,i ∈
c) The decorators HOST , GLOBAL ,
[zusmin,i , zusmax,i ], ∀i ∈ {l, r}.
DEVICE denotes the function call made
3) Road disturbance assumption: The road disturbance from host (CPU) to host, host to device (GPU)
is assumed to be constant over the prediction horizon and device to device respectively. The first
(Tl ) with D(0) = D0 i.e. the road profile measured at function invoked is the MAIN.
the current time instant by means of observers [13].
2) MAIN function:
There is no loss of generality with this formulation as
it can be easily extendable with any road models such a) The lines 2-5 dynamically allocates memory
as ISO road profiles or from road preview sensors. (DMA) in the host and the device for the ob-
jective and inputs.
The mixed input-state constraint set is compactly ex-
b) In line 6, the KER function is launched with
pressed with (X, U) ∈ Ω(X,U) ⊂ R8 ×R2 , the input constraint
appropriate launch parameters gs and bs .
set is compactly expressed with U ∈ ΩU ⊂ R2 and the state
c) The lines 7-8 transfers the computed objective
constraint set is compactly expressed with X ∈ ΩX ⊂ R8 .
and input data from the device to the host.
C. MPC problem formulation d) The lines 9-11 returns the optimal input U∗ by
In summary, with the proposed objective and constraints finding the index of the minimum objective or
function, the NMPC OCP is casted as constraint violation.
3) KER function:
Jobj (X0 , Γ0 , D0 , U(.)) = min Γ10 JTacc + Γ20 JTroll
U(.) l l
a) The lines 14 and 15 sets the thread indices for
subject to Ẋ(t) = f (X(t), U(t), D(t)) each PWM-DC input combination. From this
(8) point onward, each thread parallely computes the
X0 = X(0), D(t) = D0
solution for each input combination.
X(t) ∈ ΩX , U(t) ∈ ΩU b) The line 16 serializes the 2D grid into a single
(X(t), U(t)) ∈ Ω(X,U) vector for objective and input vector designation.
.
Preprint Received February 26, 2019 07:12:37 PST
CONFIDENTIAL. Limited circulation. For review only
IEEE L-CSS submission 19-0057.1 (Submission for L-CSS and CDC)
.
Preprint Received February 26, 2019 07:12:37 PST
CONFIDENTIAL. Limited circulation. For review only
IEEE L-CSS submission 19-0057.1 (Submission for L-CSS and CDC)
TABLE I -1
-3
5 7 0.70 1.6 -5
10 7 0.95 2.2 0 1 2 3 4 5 6 7 8 9 10
0.005
Roll angle (rad)
-0.015
0 1 2 3 4 5 6 7 8 9 10
Time (s)
C. Road profile test - Ride handling Fig. 4. Ride handling - roll angle θ
The experiment involved a lopsided bump road profile with
an amplitude of 4mm with ride handling objective (Γ10 = The histogram of computation time for both the methods
0, Γ20 = 1) and the duration of simulation was 10s. The road are displayed in Fig. 5. The mean computation time are
.
Preprint Received February 26, 2019 07:12:37 PST
CONFIDENTIAL. Limited circulation. For review only
IEEE L-CSS submission 19-0057.1 (Submission for L-CSS and CDC)
PWM-DC inputs Parallelized pNMPC
0.35
400
800 Parallelized pNMPC algorithm ACADO-qpOASES PWM-DC left corner
350 0.3 PWM-DC right corner
700
PWM-DC signal
300 0.25
600
250
Frequency
Frequency
500 0.2
200
400
0.15
300 150
0.1
200 100 0 1 2 3 4 5 6 7 8 9 10
Time (s)
100 50
Fig. 6. PWM-DC input for Parallelized pNMPC algorithm
0 0
0.2 0.3 0.4 0.5 0.2 0.4 0.6 0.8 1
PWM-DC inputs - ACADO-qpOASES
Computation time (ms) Computation time (ms) 0.35
PWM-DC signal
0.25
.
Preprint Received February 26, 2019 07:12:37 PST