﻿ 基于非合作模型预测控制的人机共驾策略
 文章快速检索
 同济大学学报(自然科学版)  2019, Vol. 47 Issue (7): 1037-1045.  DOI: 10.11908/j.issn.0253-374x.2019.07.016 0

### 引用本文

LIU Rui, ZHU Xichan, LIU Lin, MA Zhixiong. Cooperative Driving Strategy Based on Non-cooperative Model Predictive Control[J]. Journal of Tongji University (Natural Science), 2019, 47(7): 1037-1045. DOI: 10.11908/j.issn.0253-374x.2019.07.016

### 文章历史

Cooperative Driving Strategy Based on Non-cooperative Model Predictive Control
LIU Rui , ZHU Xichan , LIU Lin , MA Zhixiong
School of Automotive Studies, Tongji University, Shanghai 201804, China
Abstract: An intelligent vehicle cooperative driving strategy based on non-cooperative model predictive control (MPC) was proposed. Firstly, the cooperative driving model was presented, in which the shared control of the vehicle was realized. Next, the cost functions of the driver and the control system were obtained. Then, the Nash equilibrium solution of the non-cooperative MPC was achieved. At last, simulations were used to verify the advantages and effectiveness of the strategy. It is shown that the Nash equilibrium solution of the non-cooperative MPC can be achieved by a non-iterative method. And gradual handover of the driving privilege is realized by using the updated confidence matrixes of the driver and the control system. Simulations based on Matlab show that the non-cooperative MPC cooperative driving strategy can deliver the driving privilege from the driver to the control system gradually when the intelligent vehicle encounters danger. And this strategy can guarantee that the driver is in the control loop all the time.
Key words: cooperative driving    game theory    model predictive control    driving privilege

1 人机共驾系统模型

 $\begin{array}{*{20}{c}} {\mathit{\boldsymbol{\dot x}} = {\mathit{\boldsymbol{A}}_{\rm{c}}}\mathit{\boldsymbol{x}} + {\mathit{\boldsymbol{B}}_{1,{\rm{c}}}}{\mathit{\boldsymbol{u}}_{\rm{D}}} + {\mathit{\boldsymbol{B}}_{2,{\rm{c}}}}{\mathit{\boldsymbol{u}}_{\rm{A}}}}\\ {\mathit{\boldsymbol{z}} = \mathit{\boldsymbol{Cx}}} \end{array}$ (1)

 $\mathit{\boldsymbol{C}} = \left[ {\begin{array}{*{20}{c}} 1&0&0&0\\ 0&0&1&0 \end{array}} \right],{a_{11}} = - \frac{{2{C_{\rm{f}}} + 2{C_{\rm{r}}}}}{{m{v_x}}},$
 ${a_{12}} = - {v_x} - \frac{{2a{C_{\rm{f}}} - 2b{C_{\rm{r}}}}}{{m{v_x}}},\;{a_{21}} = - \frac{{2a{C_{\rm{f}}} - 2b{C_{\rm{r}}}}}{{{I_z}{v_x}}},$
 ${a_{22}} = - \frac{{2{a^2}{C_{\rm{f}}} + 2{b^2}{C_{\rm{r}}}}}{{{I_z}{v_x}}},{b_1} = \frac{{2{C_{\rm{f}}}}}{m},{b_2} = \frac{{2a{C_{\rm{f}}}}}{{{I_z}}}.$

 $\begin{array}{*{20}{c}} {\mathit{\boldsymbol{x}}\left( {k + 1} \right) = \mathit{\boldsymbol{Ax}}\left( k \right) + {\mathit{\boldsymbol{B}}_1}{\mathit{\boldsymbol{u}}_{\rm{D}}}\left( k \right) + {\mathit{\boldsymbol{B}}_2}{\mathit{\boldsymbol{u}}_{\rm{A}}}\left( k \right)}\\ {\mathit{\boldsymbol{z}}\left( k \right) = \mathit{\boldsymbol{Cx}}\left( k \right)} \end{array}$ (2)

 $\mathit{\boldsymbol{Z}}\left( k \right) = \mathit{\boldsymbol{ \boldsymbol{\varPsi} x}}\left( k \right) + {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_1}{\mathit{\boldsymbol{U}}_1}\left( k \right) + {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_2}{\mathit{\boldsymbol{U}}_2}\left( k \right)$ (3)

 ${\mathit{\boldsymbol{U}}_1} = \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{u}}_{\rm{D}}}\left( k \right)}\\ {{\mathit{\boldsymbol{u}}_{\rm{D}}}\left( {k + 1} \right)}\\ \vdots \\ {{\mathit{\boldsymbol{u}}_{\rm{D}}}\left( {k + {N_{\rm{u}}} - 2} \right)}\\ {{\mathit{\boldsymbol{u}}_{\rm{D}}}\left( {k + {N_{\rm{u}}} - 1} \right)} \end{array}} \right],{\mathit{\boldsymbol{U}}_2} = \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{u}}_{\rm{A}}}\left( k \right)}\\ {{\mathit{\boldsymbol{u}}_{\rm{A}}}\left( {k + 1} \right)}\\ \vdots \\ {{\mathit{\boldsymbol{u}}_{\rm{A}}}\left( {k + {N_{\rm{u}}} - 2} \right)}\\ {{\mathit{\boldsymbol{u}}_{\rm{A}}}\left( {k + {N_{\rm{u}}} - 1} \right)} \end{array}} \right],$
 $\mathit{\boldsymbol{ \boldsymbol{\varPsi} }} = \left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{CA}}}\\ {\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{A}}^2}}\\ \vdots \\ {\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{A}}^{{N_{\rm{p}}} - 1}}}\\ {\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{A}}^{{N_{\rm{p}}}}}} \end{array}} \right],$
 ${\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_1} = \left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{B}}_1}}&0& \cdots &0\\ {\mathit{\boldsymbol{CA}}{\mathit{\boldsymbol{B}}_1}}&{\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{B}}_1}}& \cdots &0\\ \vdots & \vdots & \ddots & \vdots \\ {\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{A}}^{{N_{\rm{u}}} - 1}}{\mathit{\boldsymbol{B}}_1}}&{\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{A}}^{{N_{\rm{u}}} - 2}}{\mathit{\boldsymbol{B}}_1}}& \cdots &{\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{B}}_1}}\\ \vdots & \vdots & \ddots & \vdots \\ {\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{A}}^{{N_{\rm{p}}} - 1}}{\mathit{\boldsymbol{B}}_1}}&{\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{A}}^{{N_{\rm{p}}} - 2}}{\mathit{\boldsymbol{B}}_1}}& \cdots &{\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{A}}^{{N_{\rm{p}}} - {N_{\rm{u}}}}}{\mathit{\boldsymbol{B}}_1}} \end{array}} \right],$
 ${\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_2} = \left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{B}}_2}}&0& \cdots &0\\ {\mathit{\boldsymbol{CA}}{\mathit{\boldsymbol{B}}_2}}&{\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{B}}_2}}& \cdots &0\\ \vdots & \vdots & \ddots & \vdots \\ {\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{A}}^{{N_{\rm{u}}} - 1}}{\mathit{\boldsymbol{B}}_2}}&{\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{A}}^{{N_{\rm{u}}} - 2}}{\mathit{\boldsymbol{B}}_2}}& \cdots &{\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{B}}_2}}\\ \vdots & \vdots & \ddots & \vdots \\ {\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{A}}^{{N_{\rm{p}}} - 1}}{\mathit{\boldsymbol{B}}_2}}&{\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{A}}^{{N_{\rm{p}}} - 2}}{\mathit{\boldsymbol{B}}_2}}& \cdots &{\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{A}}^{{N_{\rm{p}}} - {N_{\rm{u}}}}}{\mathit{\boldsymbol{B}}_2}} \end{array}} \right].$

2 非合作MPC人机共驾策略

 图 1 人机共驾策略原理 Fig.1 Schematic diagram of cooperative driving

 $\begin{array}{*{20}{c}} {\mathop {\min }\limits_{{U_1}} {\mathit{\boldsymbol{V}}_1}\left( k \right),\;\;\;\;\;\mathop {\min }\limits_{{U_2}} {\mathit{\boldsymbol{V}}_2}\left( k \right)}\\ {{\rm{s}}.\;{\rm{t}}.\;\;\mathit{\boldsymbol{Z}}\left( k \right) = \mathit{\boldsymbol{ \boldsymbol{\varPsi} x}}\left( k \right) + {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_1}{\mathit{\boldsymbol{U}}_1}\left( k \right) + {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_2}{\mathit{\boldsymbol{U}}_2}\left( k \right)} \end{array}$ (4)

 $\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{V}}_1}\left( k \right) = \left\| {\mathit{\boldsymbol{Z}}\left( k \right) - {\mathit{\boldsymbol{T}}_1}\left( k \right)} \right\|_{{Q_1}\left( k \right)}^2 + \left\| {{\mathit{\boldsymbol{U}}_1}\left( k \right)} \right\|_{{R_1}}^2}\\ {{\mathit{\boldsymbol{V}}_2}\left( k \right) = \left\| {\mathit{\boldsymbol{Z}}\left( k \right) - {\mathit{\boldsymbol{T}}_2}\left( k \right)} \right\|_{{Q_2}\left( k \right)}^2 + \left\| {{\mathit{\boldsymbol{U}}_2}\left( k \right)} \right\|_{{R_2}}^2} \end{array}$ (5)

 ${\mathit{\boldsymbol{T}}_2}\left( k \right) = \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{t}}_2}\left( {k - {N_{\rm{p}}} + 1} \right)}\\ {{\mathit{\boldsymbol{t}}_2}\left( {k - {N_{\rm{p}}} + 2} \right)}\\ \vdots \\ {{\mathit{\boldsymbol{t}}_2}\left( {k - 1} \right)}\\ {{\mathit{\boldsymbol{t}}_2}\left( k \right)} \end{array}} \right],{\mathit{\boldsymbol{R}}_1} = \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{r}}_1}}&0& \cdots &0\\ 0&{{\mathit{\boldsymbol{r}}_1}}& \cdots &0\\ \vdots & \vdots & \ddots & \vdots \\ 0&0& \cdots &{{\mathit{\boldsymbol{r}}_1}} \end{array}} \right],$
 ${\mathit{\boldsymbol{R}}_2} = \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{r}}_2}}&0& \cdots &0\\ 0&{{\mathit{\boldsymbol{r}}_2}}& \cdots &0\\ \vdots & \vdots & \ddots & \vdots \\ 0&0& \cdots &{{\mathit{\boldsymbol{r}}_2}} \end{array}} \right],$
 ${\mathit{\boldsymbol{Q}}_1}\left( k \right) = \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{q}}_1}\left( {k + 1} \right)}&0& \cdots &0\\ 0&{{\mathit{\boldsymbol{q}}_1}\left( {k + 2} \right)}& \cdots &0\\ \vdots & \vdots & \ddots & \vdots \\ 0&0& \cdots &{{\mathit{\boldsymbol{q}}_1}\left( {k + {N_{\rm{p}}}} \right)} \end{array}} \right],$
 ${\mathit{\boldsymbol{Q}}_2}\left( k \right) = \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{q}}_2}\left( {k + 1} \right)}&0& \cdots &0\\ 0&{{\mathit{\boldsymbol{q}}_2}\left( {k + 2} \right)}& \cdots &0\\ \vdots & \vdots & \ddots & \vdots \\ 0&0& \cdots &{{\mathit{\boldsymbol{q}}_2}\left( {k + {N_{\rm{p}}}} \right)} \end{array}} \right],$
 ${\mathit{\boldsymbol{q}}_1}\left( k \right) = \left[ {\begin{array}{*{20}{c}} {{\kappa _1}\left( k \right)}&0\\ 0&{{\lambda _1}\left( k \right)} \end{array}} \right],{\mathit{\boldsymbol{q}}_2}\left( k \right) = \left[ {\begin{array}{*{20}{c}} {{\kappa _2}\left( k \right)}&0\\ 0&{{\lambda _2}\left( k \right)} \end{array}} \right],$
 ${\mathit{\boldsymbol{t}}_1}\left( k \right) = \left[ {\begin{array}{*{20}{c}} {{y_{\rm{D}}}\left( k \right)}\\ {{\psi _{\rm{D}}}\left( k \right)} \end{array}} \right],{\mathit{\boldsymbol{t}}_2}\left( k \right) = \left[ {\begin{array}{*{20}{c}} {{y_{\rm{A}}}\left( k \right)}\\ {{\psi _{\rm{A}}}\left( k \right)} \end{array}} \right].$

(1) Q1(k)和Q2(k)均为时变矩阵.q1(k)为驾驶员置信度矩阵，q2(k)为智能车控制系统置信度矩阵.通过Q1(k)和Q2(k)中的两个置信度矩阵随时间的变化可以实现驾驶员与智能车控制系统之间驾驶权的转换.通过后文仿真分析可知，κ1(k)和κ2(k)是与驾驶权分配相关的参数，因此称其为分配系数；λ1(k)和λ2(k)是与动态特性相关的参数，因此称其为动态调整系数.当智能车感知到车辆进入危险状态时，可以通过逐渐调低κ1(k)并逐渐调高κ2(k)，使车辆沿着智能车控制系统的规划轨迹行驶以躲避危险.而当车辆躲避危险逐渐进入正常行驶状态时，可以通过逐渐调高κ1(k)并逐渐调低κ2(k)，将驾驶权逐渐交还给驾驶员.这样就实现了驾驶员与控制系统之间驾驶权的平缓交接.

(2) MPC需要根据未来Np步内的预测信息来求局部最优解.但在非合作MPC人机共驾策略中，期望使用驾驶员实时转向操作实现双驾双控.因此，使用一种预测域提前的方法，即将预测域取为当前时刻向前Np步的区间.这样可以较好地解决非合作MPC的实时求解，但会产生Np步的延迟.因此预测域Np不能取得过大.本文选取Np=10，而每一步的时长为0.01 s.这样产生的0.1 s延迟仍在可接受范围之内.

T1(k)和T2(k)是两个参与者的局部目标轨迹，在每一次优化前都需要滚动更新.其更新方程为

 $\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{T}}_1}\left( {k + 1} \right) = \mathit{\boldsymbol{G}}{\mathit{\boldsymbol{T}}_1}\left( k \right) + \mathit{\boldsymbol{H}}{\mathit{\boldsymbol{t}}_1}\left( {k + 1} \right)}\\ {{\mathit{\boldsymbol{T}}_2}\left( {k + 1} \right) = \mathit{\boldsymbol{G}}{\mathit{\boldsymbol{T}}_2}\left( k \right) + \mathit{\boldsymbol{H}}{\mathit{\boldsymbol{t}}_2}\left( {k + 1} \right)} \end{array}$ (6)

3 人机共驾中的纳什均衡解

 $\begin{array}{*{20}{c}} {{\varepsilon _1}\left( k \right) = {\mathit{\boldsymbol{T}}_1}\left( k \right) - \mathit{\boldsymbol{ \boldsymbol{\varPsi} x}}\left( k \right) - {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_2}{\mathit{\boldsymbol{U}}_2}\left( k \right)}\\ {{\varepsilon _2}\left( k \right) = {\mathit{\boldsymbol{T}}_2}\left( k \right) - \mathit{\boldsymbol{ \boldsymbol{\varPsi} x}}\left( k \right) - {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_1}{\mathit{\boldsymbol{U}}_1}\left( k \right)} \end{array}$ (7)

 $\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{V}}_i}\left( k \right) = \left\| {{\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_i}{\mathit{\boldsymbol{U}}_i}\left( k \right) - {\varepsilon _i}\left( k \right)} \right\|_{{Q_i}\left( k \right)}^2 + \left\| {{\mathit{\boldsymbol{U}}_i}\left( k \right)} \right\|_{{R_i}}^2,}\\ {i = 1,2} \end{array}$ (8)

Vi(k)对Ui(k)的偏导为

 $\begin{array}{l} \frac{{\partial {\mathit{\boldsymbol{V}}_i}\left( k \right)}}{{\partial {\mathit{\boldsymbol{U}}_i}\left( k \right)}} = - 2\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_i^{\rm{T}}{\mathit{\boldsymbol{Q}}_i}\left( k \right){\varepsilon _i}\left( k \right) + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;2\left[ {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_i^{\rm{T}}{\mathit{\boldsymbol{Q}}_i}\left( k \right){\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_i} + {\mathit{\boldsymbol{R}}_i}} \right]{\mathit{\boldsymbol{U}}_i}\left( k \right) \end{array}$ (9)

 $\begin{array}{*{20}{c}} {\mathit{\boldsymbol{U}}_i^{\rm{o}}\left( k \right) = {\mathit{\boldsymbol{F}}_i}\left( k \right){\varepsilon _i}\left( k \right)}\\ {\mathit{\boldsymbol{U}}_i^{\rm{o}}\left( k \right) \in \mathit{\boldsymbol{ \boldsymbol{\varPi} }}_i^{\rm{o}}} \end{array}$ (10)

 ${\mathit{\boldsymbol{F}}_i}\left( k \right) = {\left[ {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_i^{\rm{T}}{\mathit{\boldsymbol{Q}}_i}\left( k \right){\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_i} + {\mathit{\boldsymbol{R}}_i}} \right]^{ - 1}}\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_i^{\rm{T}}{\mathit{\boldsymbol{Q}}_i}\left( k \right)$ (11)

Uio(k)表示第i个(i=1, 2)控制输入Ui(k)的最优控制序列.Πio表示Ui(k)的所有可能最优控制序列的集合.通过式(7)可知，式(10)中一个参与者的最优控制序列总与另一个参与者的控制决策有关.即U1o(k)是与U2(k)相关的，U2o(k)是与U1(k)相关的.因此式(10)表示了一簇最优控制序列，这一簇最优控制序列组成的集合可以表示为Π1o×Π2o.符号×表示集合的直积.

 $\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{V}}_1}\left( {\mathit{\boldsymbol{U}}_1^ * ,\mathit{\boldsymbol{U}}_2^ * } \right) \le {\mathit{\boldsymbol{V}}_1}\left( {{\mathit{\boldsymbol{U}}_1},\mathit{\boldsymbol{U}}_2^ * } \right),\forall {\mathit{\boldsymbol{U}}_1} \in {\mathit{\boldsymbol{ \boldsymbol{\varPi} }}_1}}\\ {{\mathit{\boldsymbol{V}}_2}\left( {\mathit{\boldsymbol{U}}_1^ * ,\mathit{\boldsymbol{U}}_2^ * } \right) \le {\mathit{\boldsymbol{V}}_1}\left( {\mathit{\boldsymbol{U}}_1^ * ,{\mathit{\boldsymbol{U}}_2}} \right),\forall {\mathit{\boldsymbol{U}}_2} \in {\mathit{\boldsymbol{ \boldsymbol{\varPi} }}_2}} \end{array}$ (12)

 $\left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{U}}_1^ * \left( k \right)}\\ {\mathit{\boldsymbol{U}}_2^ * \left( k \right)} \end{array}} \right] = \mathit{\boldsymbol{K}}\left( k \right)\left\{ {\left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{T}}_1}\left( k \right)}\\ {{\mathit{\boldsymbol{T}}_2}\left( k \right)} \end{array}} \right] - \left[ {\begin{array}{*{20}{c}} \mathit{\boldsymbol{ \boldsymbol{\varPsi} }}\\ \mathit{\boldsymbol{ \boldsymbol{\varPsi} }} \end{array}} \right]\mathit{\boldsymbol{x}}\left( k \right)} \right\}$

 $\mathit{\boldsymbol{M}}\left( k \right) = \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{F}}_1}\left( k \right)}&0\\ 0&{{\mathit{\boldsymbol{F}}_2}\left( k \right)} \end{array}} \right],$
 $\mathit{\boldsymbol{L}}\left( k \right) = \left[ {\begin{array}{*{20}{c}} 0&{ - {\mathit{\boldsymbol{F}}_1}\left( k \right){\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_2}}\\ { - {\mathit{\boldsymbol{F}}_2}\left( k \right){\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_1}}&0 \end{array}} \right].$

 $\mathit{\boldsymbol{P}}\left( k \right) = \left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_1^{\rm{T}}{\mathit{\boldsymbol{Q}}_1}\left( k \right){\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_1} + {\mathit{\boldsymbol{R}}_1}}&{\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_1^{\rm{T}}{\mathit{\boldsymbol{Q}}_1}\left( k \right){\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_2}}\\ {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_2^{\rm{T}}{\mathit{\boldsymbol{Q}}_2}\left( k \right){\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_1}}&{\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_2^{\rm{T}}{\mathit{\boldsymbol{Q}}_2}\left( k \right){\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_2} + {\mathit{\boldsymbol{R}}_2}} \end{array}} \right]$

P(k)进行变换可得

 $\begin{array}{l} \mathit{\boldsymbol{P}}\left( k \right) = \left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_1^{\rm{T}}{\mathit{\boldsymbol{Q}}_1}\left( k \right){\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_1} + {\mathit{\boldsymbol{R}}_1}}&0\\ 0&{\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_2^{\rm{T}}{\mathit{\boldsymbol{Q}}_2}\left( k \right){\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_2} + {\mathit{\boldsymbol{R}}_2}} \end{array}} \right] \cdot \\ \;\;\;\;\;\;\;\;\;\;\;\left[ {\mathit{\boldsymbol{I}} - \mathit{\boldsymbol{L}}\left( k \right)} \right] \end{array}$

(2) 构造性.当I-L(k)可逆时，非合作MPC的唯一纳什均衡解可以直接求得闭式解析表达而不需要迭代.下面来构造非合作MPC的纳什均衡解.

U1o(k)与U2o(k)表示为矩阵形式可得

 $\begin{array}{l} \left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{U}}_1^{\rm{o}}\left( k \right)}\\ {\mathit{\boldsymbol{U}}_2^{\rm{o}}\left( k \right)} \end{array}} \right] = \mathit{\boldsymbol{M}}\left( k \right)\left\{ {\left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{T}}_1}\left( k \right)}\\ {{\mathit{\boldsymbol{T}}_2}\left( k \right)} \end{array}} \right] - \left[ {\begin{array}{*{20}{c}} \mathit{\boldsymbol{ \boldsymbol{\varPsi} }}\\ \mathit{\boldsymbol{ \boldsymbol{\varPsi} }} \end{array}} \right]\mathit{\boldsymbol{x}}\left( k \right)} \right\} + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\mathit{\boldsymbol{L}}\left( k \right)\left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{U}}_1}\left( k \right)}\\ {{\mathit{\boldsymbol{U}}_2}\left( k \right)} \end{array}} \right] \end{array}$ (13)

 $\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{V}}_1}\left( {\mathit{\boldsymbol{U}}_1^{\rm{o}},{\mathit{\boldsymbol{U}}_2}} \right) \le {\mathit{\boldsymbol{V}}_1}\left( {{\mathit{\boldsymbol{U}}_1},{\mathit{\boldsymbol{U}}_2}} \right),\forall {\mathit{\boldsymbol{U}}_1} \in {\mathit{\boldsymbol{ \boldsymbol{\varPi} }}_1},\forall {\mathit{\boldsymbol{U}}_2} \in {\mathit{\boldsymbol{ \boldsymbol{\varPi} }}_2}}\\ {{\mathit{\boldsymbol{V}}_2}\left( {{\mathit{\boldsymbol{U}}_1},\mathit{\boldsymbol{U}}_2^{\rm{o}}} \right) \le {\mathit{\boldsymbol{V}}_2}\left( {{\mathit{\boldsymbol{U}}_1},{\mathit{\boldsymbol{U}}_2}} \right),\forall {\mathit{\boldsymbol{U}}_1} \in {\mathit{\boldsymbol{ \boldsymbol{\varPi} }}_1},\forall {\mathit{\boldsymbol{U}}_2} \in {\mathit{\boldsymbol{ \boldsymbol{\varPi} }}_2}} \end{array}$ (14)

 $\begin{array}{*{20}{c}} {\left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{U}}_1^ * \left( k \right)}\\ {\mathit{\boldsymbol{U}}_2^ * \left( k \right)} \end{array}} \right] = \mathit{\boldsymbol{M}}\left( k \right)\left\{ {\left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{T}}_1}\left( k \right)}\\ {{\mathit{\boldsymbol{T}}_2}\left( k \right)} \end{array}} \right] - \left[ {\begin{array}{*{20}{c}} \mathit{\boldsymbol{ \boldsymbol{\varPsi} }}\\ \mathit{\boldsymbol{ \boldsymbol{\varPsi} }} \end{array}} \right]\mathit{\boldsymbol{x}}\left( k \right)} \right\} + }\\ {\mathit{\boldsymbol{L}}\left( k \right)\left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{U}}_1^ * \left( k \right)}\\ {\mathit{\boldsymbol{U}}_2^ * \left( k \right)} \end{array}} \right]} \end{array}$ (15)

 $\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{V}}_1}\left( {\mathit{\boldsymbol{U}}_1^ * ,\mathit{\boldsymbol{U}}_2^ * } \right) \le {\mathit{\boldsymbol{V}}_1}\left( {{\mathit{\boldsymbol{U}}_1},\mathit{\boldsymbol{U}}_2^ * } \right),\forall {\mathit{\boldsymbol{U}}_1} \in {\mathit{\boldsymbol{ \boldsymbol{\varPi} }}_1}}\\ {{\mathit{\boldsymbol{V}}_2}\left( {\mathit{\boldsymbol{U}}_1^ * ,\mathit{\boldsymbol{U}}_2^ * } \right) \le {\mathit{\boldsymbol{V}}_2}\left( {\mathit{\boldsymbol{U}}_2^ * ,{\mathit{\boldsymbol{U}}_2}} \right),\forall {\mathit{\boldsymbol{U}}_2} \in {\mathit{\boldsymbol{ \boldsymbol{\varPi} }}_2}} \end{array}$ (16)

 $\begin{array}{l} \left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{U}}_1^ * \left( k \right)}\\ {\mathit{\boldsymbol{U}}_2^ * \left( k \right)} \end{array}} \right] = {\left[ {\mathit{\boldsymbol{I}} - \mathit{\boldsymbol{L}}\left( k \right)} \right]^{ - 1}}\mathit{\boldsymbol{M}}\left( k \right) \cdot \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\left\{ {\left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{T}}_1}\left( k \right)}\\ {{\mathit{\boldsymbol{T}}_2}\left( k \right)} \end{array}} \right] - \left[ {\begin{array}{*{20}{c}} \mathit{\boldsymbol{ \boldsymbol{\varPsi} }}\\ \mathit{\boldsymbol{ \boldsymbol{\varPsi} }} \end{array}} \right]\mathit{\boldsymbol{x}}\left( k \right)} \right\} \end{array}$ (17)

 $\left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{K}}_1}\left( k \right)}\\ {{\mathit{\boldsymbol{K}}_2}\left( k \right)} \end{array}} \right] = \left[ {\underbrace {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{I}}_l}}&0& \cdots &0\\ 0&0& \cdots &0 \end{array}}_{{N_{\rm{p}}}}\left| {\underbrace {\begin{array}{*{20}{c}} 0&0& \cdots &0\\ {{\mathit{\boldsymbol{I}}_l}}&0& \cdots &0 \end{array}}_{{N_{\rm{p}}}}} \right.} \right]\mathit{\boldsymbol{K}}\left( k \right)$ (18)

 $\begin{array}{l} \mathit{\boldsymbol{u}}_{\rm{D}}^ * \left( k \right) = {\mathit{\boldsymbol{K}}_1}\left( k \right)\left\{ {\left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{T}}_1}\left( k \right)}\\ {{\mathit{\boldsymbol{T}}_2}\left( k \right)} \end{array}} \right] - \left[ {\begin{array}{*{20}{c}} \mathit{\boldsymbol{ \boldsymbol{\varPsi} }}\\ \mathit{\boldsymbol{ \boldsymbol{\varPsi} }} \end{array}} \right]\mathit{\boldsymbol{x}}\left( k \right)} \right\}\\ \mathit{\boldsymbol{u}}_{\rm{A}}^ * \left( k \right) = {\mathit{\boldsymbol{K}}_2}\left( k \right)\left\{ {\left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{T}}_1}\left( k \right)}\\ {{\mathit{\boldsymbol{T}}_2}\left( k \right)} \end{array}} \right] - \left[ {\begin{array}{*{20}{c}} \mathit{\boldsymbol{ \boldsymbol{\varPsi} }}\\ \mathit{\boldsymbol{ \boldsymbol{\varPsi} }} \end{array}} \right]\mathit{\boldsymbol{x}}\left( k \right)} \right\} \end{array}$ (19)

 $\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{F}}_1}\left( k \right) = {{\left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{S}}_{{Q_1}}}\left( k \right){\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_1}}\\ {{\mathit{\boldsymbol{S}}_{{R_1}}}} \end{array}} \right]}^ + }\left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{S}}_{{Q_1}}}\left( k \right)}\\ 0 \end{array}} \right]}\\ {{\mathit{\boldsymbol{F}}_2}\left( k \right) = {{\left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{S}}_{{Q_2}}}\left( k \right){\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_2}}\\ {{\mathit{\boldsymbol{S}}_{{R_2}}}} \end{array}} \right]}^ + }\left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{S}}_{{Q_2}}}\left( k \right)}\\ 0 \end{array}} \right]}\\ {\left\{ \begin{array}{l} {\mathit{\boldsymbol{S}}_{{Q_1}}}{\left( k \right)^{\rm{T}}}{\mathit{\boldsymbol{S}}_{{Q_1}}}\left( k \right) = {\mathit{\boldsymbol{Q}}_1}\left( k \right)\\ \mathit{\boldsymbol{S}}_{{R_1}}^{\rm{T}}{\mathit{\boldsymbol{S}}_{{R_1}}} = {\mathit{\boldsymbol{R}}_1} \end{array} \right.}\\ {\left\{ \begin{array}{l} {\mathit{\boldsymbol{S}}_{{Q_2}}}{\left( k \right)^{\rm{T}}}{\mathit{\boldsymbol{S}}_{{Q_2}}}\left( k \right) = {\mathit{\boldsymbol{Q}}_2}\left( k \right)\\ \mathit{\boldsymbol{S}}_{{R_2}}^{\rm{T}}{\mathit{\boldsymbol{S}}_{{R_2}}} = {\mathit{\boldsymbol{R}}_2} \end{array} \right.} \end{array}$ (20)

4 仿真结果及分析

(1) 仿真工况1.1：κ1(k)=0.1，λ1(k)=10；κ2(k)=0.1，λ2(k)=10.

(2) 仿真工况1.2：κ1(k)=0.4，λ1(k)=40；κ2(k)=0.1，λ2(k)=10.

(3) 仿真工况1.3：κ1(k)=0.1，λ1(k)=10；κ2(k)=0.3，λ2(k)=30.

(4) 仿真工况1.4：κ1(k)=0，λ1(k)=0；κ2(k)=0.1，λ2(k)=10.

(5) 仿真工况1.5：κ1(k)=0.1，λ1(k)=10；κ2(k)=0，λ2(k)=0.

 图 2 第1组仿真工况结果 Fig.2 Results of the first group of simulations

(1) 仿真工况2.1：κ1(k)=0.1，λ1(k)=10；κ2(k)=0.1，λ2(k)=10.

(2) 仿真工况2.2：κ1(k)=0.1，λ1(k)=2；κ2(k)=0.1，λ2(k)=10.

(3) 仿真工况2.3：κ1(k)=0.1，λ1(k)=6；κ2(k)=0.1，λ2(k)=10.

(4) 仿真工况2.4：κ1(k)=0.1，λ1(k)=10；κ2(k)=0.1，λ2(k)=2..

(5) 仿真工况2.5：κ1(k)=0.1，λ1(k)=10；κ2(k)=0.1，λ2(k)=6.

 图 3 第2组仿真工况结果 Fig.3 Results of second group of simulations

 图 4 分配系数的变化 Fig.4 Assignment coefficients in the third group of simulations

 图 5 第三组仿真工况结果 Fig.5 Results of the third group of simulations

5 结语

 [1] Da LIO M, BIRAL F, BERTOLAZZI E, et al. Artificial co-drivers as a universal enabling technology for future intelligent vehicles and transportation systems[J]. IEEE Transactions on Intelligent Transportation Systems, 2015, 16(1): 244 DOI:10.1109/TITS.2014.2330199 [2] ROSENSTATTER T, ENGLUND C. Modelling the level of trust in a cooperative automated vehicle control system[J]. IEEE Transactions on Intelligent Transportation Systems, 2018, 19(4): 1237 DOI:10.1109/TITS.2017.2749962 [3] SAWADE O, SCHULZE M, RADUSCH I. Robust communication for cooperative driving maneuvers[J]. IEEE Intelligent Transportation Systems Magazine, 2018, 10(3): 159 DOI:10.1109/MITS.2018.2842241 [4] WU Jian, CHENG Shuo, LIU Binhao, et al. A human-machine-cooperative-driving controller based on AFS and DYC for vehicle dynamic stability[J]. Energies, 2017, 10(11): 1737 DOI:10.3390/en10111737 [5] MENG Yue, LI Li, WANG Feiyue, et al. Analysis of cooperative driving strategies for nonsignalized intersections[J]. IEEE Transactions on Vehicular Technology, 2018, 67(4): 2900 DOI:10.1109/TVT.2017.2780269 [6] MICHON J A.A critical view of driver behavior models: what do we know, what should we do?[C]//Human Behavior and Traffic Safety.New York: Springer, 1985: 485-520. [7] RUMAR K.The role of perceptual and cognitive filters in ohserved hehavior[M].Human Behavior and Traffic Safety.New York: Springer, 1985. [8] KHOSRAVANI S, KHAJEPOUR A, FIDAN B, et al.Development of a robust vehicle control with driver in the loop[C]//American Control Conference.Portland: IEEE, 2014: 3482-3487. [9] LI Renjie, LI Shengbo, GAO Hongbo, et al.Effects of human adaptation and trust on shared control for driver-automation cooperative driving[C]//SAE Technical Paper Series.Detroit: SAE Publication Group, 2017: 2017-01-1987. [10] ABBINK D A, MULDER M, BOER E R. Haptic shared control:smoothly shifting control authority?[J]. Cognition Technology&Work, 2012, 14(1): 19 [11] SOUALMI B, SENTOUH C, POPIEUL J C, et al. Automation-driver cooperative driving in presence of undetected obstacles[J]. Control Engineering Practice, 2014, 24(1): 106 [12] MULDER M, ABBINK D A, BOER E R. sharing control with haptics:seamless driver support from manual to automatic control[J]. Human Factors, 2012, 54(5): 786 DOI:10.1177/0018720812443984 [13] OMAE M, FUJIOKA T, HASHIMOTO N, et al. The application of RTK-GPS and steer-by-wire technology to the automatic driving of vehicles and an evaluation of driver behavior[J]. IATSS Research, 2006, 30(2): 29 DOI:10.1016/S0386-1112(14)60167-9 [14] LI Renjie, LI Yanan, LI Shengbo, et al.Driver-automation indirect shared control of highly automated vehicles with intention-aware authority transition[C]//Intelligent Vehicles Symposium.Los Angeles: IEEE, 2017: 26-32. [15] BASAR T, OLSDER G J. Dynamic noncooperative game theory[M]. Philadelphia: SIAM, 1999 [16] MA W H, PENG H. Worst-case vehicle evaluation methodology?examples on truck rollover/jackknifing and active yaw control systems[J]. Vehicle System Dynamics, 1999, 32(4/5): 389 [17] MA W H, PENG H. A worst-case evaluation method for dynamic systems[J]. Journal of Dynamic Systems Measurement and Control, 1999, 121(2): 191 DOI:10.1115/1.2802454 [18] TAMADDONI S H, TAHERI S, AHMADIAN M.Optimal VSC design based on nash strategy for differential 2-player games[C]//International Conference on Systems, Man and Cybernetics.San Antonio: IEEE, 2009: 2415-2420. [19] TAMADDONI S H, TAHERI S, AHMADIAN M. Optimal preview game theory approach to vehicle stability controller design[J]. Vehicle System Dynamics, 2011, 49(12): 1967 DOI:10.1080/00423114.2011.565778 [20] NA X, COLE D J. Linear quadratic game and non-cooperative predictive methods for potential application to modelling driver-AFS interactive steering control[J]. Vehicle System Dynamics, 2013, 51(2): 165 DOI:10.1080/00423114.2012.715653 [21] ENGWERDA J. LQ dynamic optimization and differential games[M]. London: John Wiley&Sons Ltd, 2005 [22] MACIEJOWSKI J M. Predictive control with constraints[M]. London: Pearson Education, 2001 [23] SLEDGE N H, MARSHEK K M.Comparison of ideal vehicle lane-change trajectories[C]//SAE Technical Paper Series.Detroit: SAE Publication Group, 1997: 971062.