技术领域
[0001] 本申请涉及控制理论以及人工智能技术领域,尤其涉及解决自动驾驶车辆人机共享控制问题的微分博弈方法及装置。
相关背景技术
[0002] 在当前智能交通发展的背景下,人机共享控制逐渐成为实现车辆智能化驾驶的重要方式之一。人机共享控制中,驾驶员与自动驾驶系统协同控制车辆,既结合了人工驾驶的灵活性,又利用了自动系统的精确操控。而如何解决驾驶员与自动驾驶系统之间的有效协调成为了人机共享控制的关键问题,现有方法包括基于规则和基于博弈的方法:基于规则的方法策略固定,难以适应复杂动态环境;基于微分博弈的方法通过用微分方程来描述车辆的动态系统,将驾驶员和自动系统视为博弈玩家,计算纳什均衡策略来使人与机器都达到一个相对最优的控制状态,从而有效地解决了决策过程中的冲突和协调问题。
[0003] 现有的方法如模型预测控制等大多依赖于精确的车辆动力学模型,然而在实际应用中,精确模型往往难以获得,这使得基于模型的方法在复杂、动态的环境中表现受限。
具体实施方式
[0053] 下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
[0054] 下面参考附图描述本申请实施例的解决自动驾驶车辆人机共享控制问题的微分博弈方法及装置。
[0055] 图1为本申请实施例一所提供的一种解决自动驾驶车辆人机共享控制问题的微分博弈方法的流程示意图。
[0056] 如图1所示,该解决自动驾驶车辆人机共享控制问题的微分博弈方法包括以下步骤:步骤101,基于驾驶员目标轨迹和自动驾驶系统所规划轨迹、考虑矩阵不等式形式的控制约束建立人机的非合作微分博弈模型,其中,非合作微分博弈模型采用纳什均衡表示人机博弈问题;
在本实施例中,考虑以下形式的车辆控制系统模型:
[0057] 其中, 是系统状态变量, 是人机共享控制输入, 是系统漂移向量函数, 是系统的控制向量函数, 是系统的初始状态;
对于人机共享控制系统,驾驶员和自动驾驶系统的协同控制可以通过将两者的控制输入加权融合来实现,即共享控制输入可以表示为:
[0058] 其中, 和 分别表示驾驶员和自动驾驶系统的控制输入, 为施加在驾驶员和自动驾驶系统上的权限分配系数, 时为完全手动驾驶, 时为完全自动驾驶;因此车辆人机共享控制微分博弈系统可以被描述为:
[0059]
[0060] 其中, 为系统的输出变量, 为系统的输出矩阵;假设驾驶员和自动驾驶系统容许控制集可以表示为:
[0061]
[0062] 其中, 和 分别为驾驶员和自动驾驶系统的约束矩阵,和 分别为驾驶员和自动驾驶系统的阈值向量;
对于驾驶员和自动驾驶系统,分别采用以下形式的二次型代价函数:
[0063]
[0064] 其中, 为驾驶员的目标轨迹, 为自动驾驶系统所规划的目标轨迹,和 分别为人和自动驾驶系统输出跟踪误差权重矩阵,和 分别为人和自动驾驶系统控制能量权重矩阵, 为给定
的有限时域,假设驾驶员和自动驾驶系统的目标均为基于所给定的微分博弈系统和矩阵不等式约束,最小化各自的代价函数,且驾驶员和自动驾驶系统不会进行合作或协商,则博弈问题可以通过求取纳什均衡解来解决,公式化为:
[0065]
[0066] 庞特里亚金极小值原理给出了上述两人非零和微分博弈问题所满足的必要条件为以下两组方程:
[0067]
[0068]
[0069]
[0070]
[0071]
[0072] 其中, 和 分别为驾驶员和自动驾驶系统的协态量,和 分别为驾驶员和自动驾驶系统的哈密顿函数,定义为:
[0073]
[0074] 在本实施例中,以一种横摆—侧滑“自行车”模型系统为例,其示意图如图2所示。
[0075] 横摆—侧滑“自行车”模型所描述的车辆动力学方程为:
[0076]
[0077] 其中,表示车辆坐标系中横向速度,表示偏航速率,表示人机共享控制输入,为车辆坐标系中纵向速度, 和 分别是前轮转向刚度和后轮转向刚度,是车辆质量,和 分别是车辆质心到前轴和后轴的距离,是转动惯量, 是转向传动比;在全局坐标系中,车辆的位移可以表示为:
[0078]
[0079] 其中,为车辆的偏航角,在偏航角为小角度的情况下,车辆的位移可以进一步近似表示为:
[0080]
[0081] 人机共享控制微分博弈系统方程可以描述为:
[0082]
[0083] 其中, 为系统的状态变量,由于车辆纵向位移 和偏航角 便于测量,因此一般选取 为系统的输出变量,
[0084]
[0085]
[0086] 分别为博弈系统的状态矩阵,输入矩阵和输出矩阵;以上述为例,选取CarSim中的模型作为仿真模型,车辆模型选取为一种C类掀背车,轮胎型号选取为215/55 R17,车辆模型的部分参数如下表所示,表1为:
表1
[0087] 以上述为例,驾驶场景设计为:假设车辆行驶在图3所示的双车道道路上,车辆正前方有一个障碍物或其他潜在的危险情况,而驾驶员未能发现这一状况,因此驾驶员目的为保持正常直线行驶,如图3所示,自动驾驶系统检测到了这一危险情况,并规划了一个换道路径,如图3所示,自动驾驶规划路径可以表示为:
[0088] 以上述为例,选取驾驶员和自动驾驶系统的控制输入满足 ,,则矩阵不等式容许控制集可以表示为:
[0089]
[0090] 以上述为例,选取驾驶员和自动驾驶系统的代价函数为:
[0091]
[0092] 步骤102,基于非合作微分博弈模型引入神经网络等函数近似方法,建立未知参数的微分博弈系统;在本实施例中,将未知的微分博弈系统表示为:
[0093]
[0094] 其中, 和 分别为未知的权重矩阵, 和分别为激活函数, 和 为对应的近似误差,可以证明,通过增加神经元的个
数 和 ,可以将近似误差可以收敛到任意小的范围之内,令 为神经元的总
数量, 为增广的权重矩阵,
为增广激活函数向量,
为集总误差,则未知的微分博弈系统可以表示为:
[0095] 由于真实权重系数矩阵未知,定义以下的近似系统:
[0096] 其中,为权重系数矩阵的估计值。
[0097] 以上述为例,选取一个单隐藏层的神经网络,选取。
[0098] 步骤103,采用积分并行学习方法,利用轨迹数据作数值积分辨识系统中的未知参数;在本实施例中,采集W组在 内的历史轨线数据,记为 ,
并对每一组数据,计算:
[0099] 其中, ,定义矩阵 ,所采集的历史轨迹数据集合要求满足 ,积分并行学习方法同时利用历史数据集合的数值积分以及实时数据来更新辨识模型中的未知参数,从而摆脱了传统并行学习方法中对于状态导数数据的需求;
定义 和 分别代表第 次迭代过程中增广系统状态值和系数矩阵的估计值,积分并行学习方法给出了以下形式的参数自适应律:
[0100] 其中 、 为学习率, 是第 次迭代过程中系统状态的估计误差。
[0101] 以上 述为 例,随 机 给定 驾驶员 和自 动驾 驶系 统的 控制 输入 为, ,随机选取一段时间间隔内的轨迹数据共计1000组作为历史轨迹数据。
[0102] 步骤104,基于辨识后的微分博弈系统,通过自适应迭代学习算法学习人机博弈问题中的纳什均衡解。
[0103] 在本实施例中,提出一种自适应迭代算法用于求解矩阵不等式控制输入约束下人机微分博弈问题的解,具体步骤为:S1:令i=0,初始化系数 、 、 、 和收敛精度 、 ,选取驾驶员和自动控制
系统的初始控制输入 和 以及初始系数矩阵估计值 ,求解以
下方程组来更新系统的初始轨迹估计值以及初始权重系数矩阵估计值:
[0104] 其中, 和 分别是初始系统状态轨迹和初始权重系数矩阵的估计误差, 的具体表达式由积分并行学习方法中的自适应律所确定, 为系统的真实初始状态轨迹,
S2:通过下式来计算 :
[0105] 其中, 代表哈密顿函数的估计值。
[0106] S3:通过求解以下方程来更新驾驶员的控制输入:
[0107] 其中, , 。
[0108] S4:通过更新后的控制输入计算新的系统状态 以及对应的驾驶员的代价函数,判断更新后的驾驶员控制输入是否使得其代价函数减小:如果 ,则令 , , 为迭代步长,并且返回S3,
否则,进入S5。
[0109] S5:通过下式来计算 :
[0110] 其中, 代表哈密顿函数的估计值。
[0111] S6:通过求解以下方程来更新自动驾驶系统的控制输入:
[0112] 其中, , 。
[0113] S7:通过更新后的控制输入计算新的系统状态 以及对应的自动驾驶系统的代价函数 ,判断更新后的自动驾驶系统控制输入是否使得其代价函数减小:如果 ,则令 , , 为迭代步长,
并且返回S6,否则,进入S8。
[0114] S8:通过求解以下方程组更新系统的轨迹估计值以及权重系数矩阵估计值:
[0115] S9:如果 ,则进入S10,否则令 , , , , 并返回S2。
[0116] S10:如果 ,停止迭代流程,得到对应的纳什均衡解,否则令, , , , 并返回S2。
[0117] 以上述为例,车辆系统的初始状态值选取为静止: ,人和自动驾驶系统的初始控制输入选取为: , ,自适应迭代算法
的初始参数设置为: , , ,初始系数矩阵随机选取
为 ,具体如下所示:
[0118] 以上述为例,给定了不同的权限分配系数,并通过迭代算法计算其纳什均衡解。
[0119] 图4展示了不同权限分配系数下 和 的迭代变化图。可以看到,在每次迭代中,驾驶员和自动化系统的控制输入更新都导致了其对应的成本函数的下降,并最终趋于收敛。此外,可以清楚地观察到,随着自动驾驶系统权限的增加,在纳什均衡下的驾驶员代价函数 逐渐增加,而自动驾驶系统的代价函数 则逐渐减少。
[0120] 图5反映了不同权重下驾驶员和自动驾驶系统的目标轨迹之间的比较,可以看到,随着自动驾驶系统权限的增加,纳什均衡解下车辆的真实轨迹更加贴近于自动驾驶系统所规划的轨迹,反之亦然。
[0121] 图6展示了不同权重下驾驶员和自动驾驶系统对应的纳什均衡解,可以看到控制输入满足给定的约束条件。
[0122] 图7‑图26反映了不同权重下车辆真实状态轨迹和其估计值之间的比较,其中,图7、图8、图9、图10中 ,图11、图12、图13、图14中 ,图15、图16、图17、图18中,图19、图20、图21、图22中 ,图23、图24、图25、图26中 ,可以看到,系统的辨识模型与车辆的真实模型非常接近。
[0123] 图27反映了不同权重下车辆轨迹变化3D示意图,可以直观的观察到车辆在纳什均衡解下的真实轨迹随权重的变化趋势。
[0124] 本申请实施例的解决自动驾驶车辆人机共享控制问题的微分博弈方法,通过基于驾驶员目标轨迹和自动驾驶系统所规划轨迹以及矩阵不等式形式的控制约束建立两者的非合作微分博弈模型;基于非合作微分博弈的模型引入神经网络等函数近似方法,建立未知博弈系统的参数辨识模型;利用积分并行学习方法,利用实时轨迹数据和历史记录的轨迹数据作数值积分以辨识模型中的未知参数;基于辨识后的模型,提出一种自适应迭代学习算法用来学习人机博弈问题中的纳什均衡解。本申请在不依赖于系统模型精确参数的前提下,考虑了控制受约束的情况,通过求解人机非合作纳什均衡解来改善驾驶系统的控制策略。
[0125] 为了实现上述实施例,本申请还提出一种解决自动驾驶车辆人机共享控制问题的微分博弈装置。
[0126] 图28为本申请实施例提供的一种解决自动驾驶车辆人机共享控制问题的微分博弈装置的结构示意图。
[0127] 如图28所示,该解决自动驾驶车辆人机共享控制问题的微分博弈装置包括:系统建立模块,用于基于驾驶员目标轨迹和自动驾驶系统所规划轨迹、考虑矩阵不等式形式的控制约束建立人机的非合作微分博弈模型,其中,非合作微分博弈模型采用纳什均衡表示人机博弈问题;
系统建立模块,还用于基于非合作微分博弈模型引入神经网络等函数近似方法,建立未知参数的微分博弈系统;
系统辨识模块,用于采用积分并行学习方法,利用轨迹数据作数值积分辨识系统中的未知参数;
计算求解模块,用于基于辨识后的微分博弈系统,通过自适应迭代学习算法学习人机博弈问题中的纳什均衡解。
[0128] 需要说明的是,前述对解决自动驾驶车辆人机共享控制问题的微分博弈方法实施例的解释说明也适用于该实施例的解决自动驾驶车辆人机共享控制问题的微分博弈装置,此处不再赘述。
[0129] 为了实现上述实施例,本申请还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述实施例所述的方法。
[0130] 为了实现上述实施例,本申请还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例的方法。
[0131] 为了实现上述实施例,本申请还提出一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行上述实施例所述的方法。
[0132] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0133] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0134] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
[0135] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0136] 应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0137] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0138] 此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0139] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。