Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

CONFIDENTIAL. Limited circulation.

For review only


IEEE L-CSS submission 19-0057.1 (Submission for L-CSS and CDC)

GPU based Parameterized NMPC Scheme for Control of Half Car


Vehicle with Semi-active Suspension System
Karthik Murali Madhavan Rathai, Olivier Sename and Mazen Alamir

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)

knowledge of system is immaterial (only a simulator is


required aka oracle), which is generally the case due to
intellectual property rights issues between the OEMs and
supply/service provider.
The paper is organized as follows. Section II details the
half car mathematical model and the quasi-nonlinear SA
suspension model. Section III entails the objective and con-
straints requirements for the MPC scheme. Section IV details
the parallelized pNMPC algorithm and its implementation in
NVIDIA CUDA based GPUs. In Section V, the simulation
results and a comparative study between ACADO-qpOASES Fig. 1. INOVE test platform
NMPC controller and the proposed parallelized pNMPC
algorithm is presented. The paper is finally ended with
conclusions and future works in Section VI. B. Nonlinear quasi-static SA damper model
The SA damper force ui (2) is expressed by utilizing the
Guo’s damper force model [1] ∀i ∈ {l, r} with
II. HALF CAR MODEL WITH SEMI-ACTIVE
SUSPENSION SYSTEM ui = k0 zd,i + c0 żd,i + fc φi tanh(a1 żd,i + a2 zd,i ) (4)

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)

c) The line 17 is a check condition to make sure the


thread access is not exceeded.
d) The lines 20 and 21 obtains the input combination
Algorithm 1 Parallelized pNMPC algorithm
and objective value from the functions GRID2D
and ODESIM2OBJ. Data Initialization: Model/Constraint parameters, bs , gs
nφl , nφr
4) GRID2D function:
Input: X0 , D0 , Γ0
a) The line 24-25 sets the PWM-DC input values Output: U∗
for left and right corner of the vehicle. 1: function HOST MAIN(X0 , D0 , Γ0 )
b) The function assigns the input values for every 2: HostDMAObj(hobj );
thread call, i.e. for all input combinations. 3: HostDMAInp(hinp );
5) ODESIM2OBJ function: 4: DeviceDMAObj(dobj );
a) The line 29 initializes the objective and constraint 5: DeviceDMAInp(dinp );
violation variable to zero and line 30 invokes 6: KER{gs ,bs } (dobj , dinp , X0 , D0 , Γ0 );
the GRID2D function for specific thread indices 7: DevicetoHostCpy(hobj , dobj );
which corresponds to an input combination. 8: DevicetoHostCpy(hinp , dinp );
b) The lines 31-40 runs the Euler integration scheme 9: kopt ← indexmin(hobj );
for the system (5) until the look ahead period 10: U∗ ← hinp (kopt );
Tl with an integration step of h. In case the 11: return U∗ ;
constraints are violated, the objective is set to a 12: end function
very high value MAX and the constraint violation
is quantified with N function, which computes 13: function GLOBAL K ER{bs ,gs } (dobj , dinp , X0 , D0 , Γ0 )
the 2-norm for the constraints. Otherwise, the
objective in (8) is computed numerically. 14: i ← bIdx.x*bDim.x+tIdx.x;
c) The line 41 returns the sum of objective and 15: j ← bIdx.y*bDim.y+tIdx.y;
constraint violation for the given thread indices. 16: r ← nφl i + j;
17: if i ≥ nφl ∨ j ≥ nφr then
V. SIMULATION RESULTS 18: return ;
The conducted simulation study can be broadly clas- 19: end if
sified into three parts which are a) Computational time 20: dinp [r] ← GRID2D(i, j);
(CT) analysis b/w CPU (serial) and GPU (parallel) for the 21: dobj [r] ← ODESIM2OBJ(X0 , D0 , Γ0 , i, j);
proposed pNMPC algorithm, b) Comparative analysis b/w 22: end function
ACADO-qpOASES NMPC controller [15] and the proposed
parallelized pNMPC algorithm and c) Performance analysis 23: function DEVICE G RID 2D(i, j)
with a road profile test. The sampling period (Ts ) of the 24: φi,l = φmin,l + φl i−1 (φmax,l − φmin,l );
INOVE platform is 5 ms. 25: φj,r = φmin,r + φrj−1 (φmax,r − φmin,r );
26: return {φi,l , φj,r };
A. Computational time analysis b/w CPU and GPU 27: end function
The raison d’être for conducting this analysis is to empha-
size the significance of GPUs for solving huge simulations 28: function DEVICE ODE SIM 2O BJ(X0 , D0 , Γ0 , i, j)
and viability of the approach for control of real SA sus- 29: Obj = 0; Con = 0;
pension system. From Fig. 2, it is evident that the pNMPC 30: Ui,j ← Grid2D(i, j);
algorithm fares well in GPU compared to CPU in terms of 31: for tloop = 0 : h : Tl do
mean CT per sampling period. The abscissa indicates the 32: X+ ← X0 + hf (X0 , Ui,j , D0 );
number of discretized inputs for the PWM-DC signal for 33: if X+ ∈/ Ω(X,U) ∨ X+ ∈/ Ω(X) then
both left (nφl ) and right (nφr ) corner of the vehicle. The 34: Obj = MAX;
road profile involved a chirp signal (same profile for both 35: Con = Con + N(Ω(X,U) , Ω(X) );
corners) with an amplitude of 2.5 mm and frequency sweep 36: else
from 1 − 14 Hz for a duration of 10 s. The objective was 37: Obj = Obj + h(Γ10 Jlacc
l
+ Γ20 Jlroll
l
);
comfort (Γ10 = 1, Γ20 = 0). 38: end if
39: X0 = X+ ;
B. Comparative analysis 40: end for
A comparative analysis was conducted b/w ACADO- 41: return {Obj + Con};
qpOASES NMPC controller and the proposed parallelized 42: end function
pNMPC algorithm. The basis for conducting this study was
to analyze computational time (CT), normalized closed-loop
objective (NCLO), i.e. with respect to nominal damping (see

.
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)

CPU vs GPU computation time


0 profile is illustrated in Fig. 3. Three different methods were
adopted to analyze the performance of the system which
Log of mean computation time (s)
-0.5
GPU are 1) Nominal damping, 2) ACADO-qpOASES NMPC
-1
CPU
-1.5 controller and 3) Parallelized pNMPC method. The settings
-2 for each method are listed below
-2.5 1) Nominal damping (Passive): The PWM-DC input for
-3 both left and the right corner was set to a constant
-3.5 value 0.225, i.e. the case when the damper control is
-4 switched off and the system is passive.
-4.5 2) ACADO-qpOASES NMPC controller: The corre-
-5
2 4 8 16 32 64 128 256
sponding best setting was utilized, Integrator - 4th
Discretized inputs (Complexity) order Runge Kutta integrator, QP solver - qpOASES,
Hessian approximation - Gauss-Newton, Discretiza-
Fig. 2. CPU vs GPU pNMPC computation time tion - Multiple shooting, Discretization intervals - 5,
Levenberg-Marquart tolerance - 10− 7 and for the
rest, default parameters were utilized.
Section V-C) and feasibility analysis (FA), i.e. constraint 3) Parallelized pNMPC controller: The number of dis-
satisfaction. The study involved a gradual increase in the cretization points (complexity) was {nφl , nφr } = 8 for
complexity parameter and the aforementioned criteria were both left and right corners of the vehicle.
recorded. The complexity parameter for ACADO-qpOASES
NMPC controller was the number of Newton iterations (Ns ) Road profile for ride handling
10-3
and other settings were set to default and the discretization 5

points {nφl , nφr } (left/right corner of the vehicle) for paral- 4


Left road profile
lelized pNMPC algorithm. The road profile utilized was the 3 Right road profile
same as mentioned in Section V-A and the objective was Amplitude (m)
2

comfort (Γ10 = 1, Γ20 = 0). 1

TABLE I -1

ACADO- QP OASES NMPC CONTROLLER -2

-3

Ns FA Mean CT (ms) Max CT (ms) NCLO -4

5 7 0.70 1.6 -5
10 7 0.95 2.2 0 1 2 3 4 5 6 7 8 9 10

15 3 1.3 2.9 0.6484 Time (s)


20 3 1.5 3.0 0.6412
25 3 1.9 3.9 0.6317 Fig. 3. Road profile for ride handling

Fig. 4 illustrates the roll angle (θ) and it is clearly evident


The 7and 3indicates the infeasibility and feasibilty of the that the overshoot in the nominal damping is larger than
imposed constraints for the system. The recorded readings the other two methods. In comparing the ACADO-qpOASES
are listed in Table I and II and from the tables, it is NMPC and proposed parallelized pNMPC method, the latter
evident that the proposed parallelized pNMPC algorithm performs slightly better than the former. However the key
performs better than ACADO-qpOASES NMPC controller aspects here are the computation time and the input profile.
in all criteria.
Ride handling performance
TABLE II 0.015

Parallelized pNMPC algorithm


PARALLELIZED P NMPC ALGORITHM 0.01 ACADO-qpOASES
Nominal damping

0.005
Roll angle (rad)

(φl , φr ) FA Mean CT (ms) Max CT (ms) NCLO


2 3 0.35 0.62 0.4679 0

4 3 0.35 0.60 0.4640


8 3 0.35 0.61 0.4646 -0.005

16 3 0.36 0.55 0.4588


32 3 0.41 0.67 0.4668 -0.01

-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 left corner


PWM-DC right corner
Fig. 5. Computational time distribution 0.3

PWM-DC signal
0.25

0.28 ms and 0.39 ms and maximum computation time are 0.2

0.50 ms and 0.95 ms for parallelized pNMPC method and


ACADO-qpOASES NMPC controller respectively. A sig- 0.15

nificant reduction in the computation time is observed for


0.1

nearly the same performance of the system. The PWM- 0 1 2 3 4 5


Time (s)
6 7 8 9 10

DC input for parellelized pNMPC method and ACADO-


qpOASES NMPC controller are displayed in Fig. 6 and Fig. Fig. 7. PWM-DC input for ACADO-qpOASES NMPC controller
7. A key point to be noted is that the input profile rendered
by ACADO-qpOASES NMPC controller is unrealistic and
cannot be practically injected into the real SA suspension [4] K. M. M. Rathai, M. Alamir, O. Sename, and R. Tang, “A parame-
terized nmpc scheme for embedded control of semi-active suspension
system (INOVE test platform) due to the limitations of the system,” IFAC-PapersOnLine, vol. 51, no. 20, pp. 301–306, 2018.
set of operational input levels of the PWM-DC signal, i.e. [5] H. E. Tseng and D. Hrovat, “State of the art survey: Active and
quantized levels. On the contrary, this can be easily included semi-active suspension control,” Vehicle System Dynamics, vol. 53,
pp. 1034–1062, 2015.
into the proposed parallelized pNMPC method and this is [6] M. Koegel and R. Findeisen, “Parallel architectures for model pre-
illustrated in Fig. 6. dictive control,” in 4th IFAC Nonlinear Model Predictive Control
Conference, vol. 4, 2012.
VI. CONCLUSIONS AND FUTURE WORKS [7] A. K. Sampathirao, P. Sopasakis, A. Bemporad, and P. P. Patrinos,
“Gpu-accelerated stochastic predictive control of drinking water net-
This work was conducted under the purview of the ITEA3 works,” IEEE Transactions on Control Systems Technology, vol. 26,
European project EMPHYSIS i.e. Embedded system with no. 2, pp. 551–562, 2018.
[8] G. Williams, P. Drews, B. Goldfain, J. M. Rehg, and E. A. Theodorou,
Physical models in the production code Software with the “Aggressive driving with model predictive path integral control,” in
premise on demanding needs from industrial partners for Robotics and Automation (ICRA), 2016 IEEE International Conference
optimal performance at fast sampling rates for highly nonlin- on. IEEE, 2016, pp. 1433–1440.
[9] N. F. Gade-Nielsen, B. Dammann, and J. B. Jørgensen, “Interior point
ear automotive systems. The proposed parallelized pNMPC methods on gpu with application to model predictive control,” 2014.
algorithm fares well vis-à-vis to the best off the shelf NMPC [10] S. Ohyama and H. Date, “Parallelized nonlinear model predictive
framework - ACADO-qpOASES and also aligns with the control on gpu,” in Control Conference (ASCC), 2017 11th Asian.
IEEE, 2017, pp. 1620–1625.
project goals. For the future works, the following are in the [11] C. Vivas-Lopez, D. H. Alcántara, M. Q. Nguyen, S. Fergani, G. Buche,
pipeline - a) Extend the method for full car model, b) Perform O. Sename, L. Dugard, and R. Morales-Menéndez, “Inove: a testbench
HIL tests with dSPACE MicroAutoBox II with ACADO- for the analysis and control of automotive vertical dynamics,” in 14th
International Conference on Vehicle System Dynamics, Identification
qpOASES and CPU version of pNMPC algorithm, c) Include and Anomalies (VSDIA 2014), 2014, pp. pp–403.
complex road models to reflect real world scenario, d) Utilize [12] A. Baumal, J. McPhee, and P. Calamai, “Application of genetic
GPU for implementing the proposed parallelized pNMPC algorithms to the design optimization of an active vehicle suspension
system,” Computer methods in applied mechanics and engineering,
algorithm for INOVE test platform at GIPSA lab, Grenoble. vol. 163, no. 1-4, pp. 87–94, 1998.
[13] M. Doumiati, J. Martinez, O. Sename, L. Dugard, and D. Lechner,
R EFERENCES “Road profile estimation using an adaptive youla–kučera parametric
[1] S. M. Savaresi, C. Poussot-Vassal, C. Spelta, O. Sename, and observer: Comparison to real profilers,” Control Engineering Practice,
L. Dugard, Semi-active suspension control design for vehicles. Else- vol. 61, pp. 270–278, 2017.
vier, 2010. [14] J. Sanders and E. Kandrot, CUDA by example: an introduction to
[2] M. Canale, M. Milanese, and C. Novara, “Semi-active suspension general-purpose GPU programming. Addison-Wesley Professional,
control using ”fast” model-predictive techniques,” IEEE Transactions 2010.
on Control Systems Technology, vol. 14, no. 6, pp. 1034–1046, 2006. [15] B. Houska, H. Ferreau, and M. Diehl, “ACADO Toolkit – An Open
[3] N. Giorgetti, A. Bemporad, H. E. Tseng, and D. Hrovat, “Hybrid Source Framework for Automatic Control and Dynamic Optimization,”
model predictive control application towards optimal semi-active sus- Optimal Control Applications and Methods, vol. 32, no. 3, pp. 298–
pension,” International Journal of Control, vol. 79, pp. 521–533, 2006. 312, 2011.

.
Preprint Received February 26, 2019 07:12:37 PST

You might also like