(57)【要約】【課題】自動運転システムにおける駆動装置指令値生成機能故障時に、縮退機能を用いて動作継続する際、車両挙動の不安的化を抑止する手段を提供する。【解決手段】駆動装置指令値生成の主機能部が出力する将来のアクチュエータ指令値と、駆動装置指令値生成の縮退機能が出力する簡易的なアクチュエータ指令値を時間的に変化する重み係数を用いて合成する。【選択図】図１
2020111296.tif 000002
【特許請求の範囲】
【請求項１】
自動運転車の車両挙動を算出する自動運転制御部から信号が入力され、アクチュエータを制御する駆動装置群に信号を出力する駆動装置指令生成部であって、
前記駆動装置群のそれぞれに向けて少なくとも２系統の異なるアクチュエータ指令値を送出することを特徴とする駆動装置指令生成部
【請求項２】
請求項１に記載の駆動装置指令生成部において、
一定時間先のアクチュエータ指令値も含めて演算を行う第１の演算部と、
前記第１の演算部とは異なる演算を行う第２の演算部と、を有することを特徴とする駆動装置指令生成部
【請求項３】
請求項２に記載の駆動装置指令生成部において、
前記第１の演算部は前記第２の演算部に対して、前記一定時間先のアクチュエータ指令値を送出することを特徴とする駆動装置指令生成部
【請求項４】
請求項３に記載の駆動装置指令生成部において、
前記第２の演算部は一定時間の間、前記第１の演算部が故障前に演算を行った前記一定時間先の演算結果に基づいてアクチュエータ指令値を演算することを特長とする駆動装置指令生成部
【請求項５】
前記駆動装置指令生成部は前記自動運転制御部から少なくとも２系統の車両挙動指令値を受け取る請求項４に記載の駆動装置指令生成部
【請求項６】
複数の外界認識手段と、
複数のアクチュエータと、
前記複数のアクチュエータに対応した複数のアクチュエータ制御手段と、
前記複数の外界認識手段からの入力値に基づき、車両挙動を算出する自動運転制御手段と、
前記自動運転制御手段からの入力値に基づき、前記複数のアクチュエータ制御手段へのアクチュエータ指令値を算出する駆動指令生成手段と、を備え、
前記駆動指令生成手段は、少なくとも２系統の異なるアクチュエータ指令値を前記複数のアクチュエータ制御手段に送信する車両制御システム
【請求項７】
前記２系統の異なるアクチュエータ指令値の一方は、一定時間先のアクチュエータ指令値も含めて演算を行う演算手法で算出される請求項６に記載の車両制御システム
【請求項８】
前記２系統の異なるアクチュエータ指令値の他方を算出する演算手法は、前記一方のアクチュエータ指令値を算出する演算手法が正常時にさ出した一定時間先の演算結果に基づいて前記一方の演算手法が故障時の演算を実施する請求項７に記載の車両制御システム
【請求項９】
前記自動運転制御手段は、少なくとも２系統の信号を前記駆動指令生成手段に送信する請求項８に記載の車両制御システム
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は自動車の運転計画を行うための運転制御システムに関し、運転計画を行う上位の演算部（以下、「自動運転制御部」と記す）と、その配下にエンジンや変速機、ブレーキやステアリング等の車両の運動を司る装置を制御する下位の演算部（以下、「駆動装置指令生成部」と記す）とを有するものであって、特に、駆動装置指令生成部に故障が発生した際に車両の運動制御を継続するための手段を備えた運転制御システムに関する。
【背景技術】
【０００２】
［自動運転の高度化とフェールオペレーションの要求］
近年、人工知能技術の発達を受け、自動車の自動運転制御技術の実用化が進められている。高度な自動運転では、システムが車両制御の責任を持つため、高度な安全性が求められる。この安全性に対する要求のひとつとして、フェールオペレーションの要求がある。
【０００３】
これは、構成要素の一箇所が故障した場合にただちに機能を停止するのではなく、残存する機能を用いて最低限の性能を維持する機能を指す。運転制御においては、例えば故障が発生しても安全な場所まで移動してから停止できるようにすることで、その場に直ちに停車する場合と比べて安全性を確保できるようにすることが挙げられる。
【０００４】
［フェールオペレーションに関する先行技術］
このようなフェールオペレーションを実現する先行技術として、下記特許文献１に示すような運転制御システムが知られている。特許文献１では、自動運転制御部内に、駆動装置指令生成部への指令値を演算する複数の演算部を有し冗長化することで、次度運転制御のフェールオペレーションを実現可能な運転制御システムが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−０４７６９４
【発明の概要】
【発明が解決しようとする課題】
【０００６】
当該先行技術は、自動運転制御部のフェールオペレーションには有効である一方で、下位システムである駆動装置指令生成部のフェールオペレーションを実現する手段の開示は無い。より望ましくは、駆動装置指令生成部のフェールオペレーション対応が必要である。
【課題を解決するための手段】
【０００７】
本発明による運転制御システムは、このような課題を解決するため、
認識装置からの外界認識結果を元に，自動運転車の車両挙動を算出する自動運転制御部と、エンジンやモーター、ステアリングなどのアクチュエータを制御する複数の駆動装置群との間に接続される駆動装置指令生成部であって、
前記駆動装置指令生成部は前記自動運転制御部から少なくとも２系統の車両挙動指令値を受け取り、
さらに前記駆動装置群のそれぞれに向けて少なくとも２系統の異なるアクチュエータ指令値（演算部１からの指令値、演算部２からの指令値）を送出することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、駆動装置指令生成部に故障が発生した際に、自動運転制御を継続することが出来る。
【図面の簡単な説明】
【０００９】
【図１】運転制御システムの全体ブロック図
【図２】自動運転制御部３のブロック図
【図３】駆動装置指令値生成部６のブロック図
【図４】前方車両を追い越す時の車両軌道の例
【図５】図４で示した車両軌道を追従するための車両挙動指令値の例
【図６】駆動装置指令演算部３０がアクチュエータ指令値を演算するフローチャート
【図７】図６で説明したフローチャートの動作図
【図８】ルックアップテーブルを用いたアクチュエータ指令値ｖの生成手法
【図９】重み係数の時間変化
【図１０】駆動装置指令演算部３１が演算するアクチュエータ指令値Uout_iの出力例
【発明を実施するための形態】
【００１０】
以下、本発明に係る実施形態を図面を参照して説明する。
【００１１】
（第１の実施形態）
［全体の構成］
以下、本発明に係る第１の実施形態による運転制御システムの構成と動作について、図１を用いて説明する。
【００１２】
図１は本実施形態による運転制御システムの全体ブロック図であり、大きく、カメラやレーダー等の認識装置群（１〜２）、自動運転制御部３、駆動装置指令生成部６、エンジンやブレーキ、ステア等の駆動装置群（１０〜１２）を備える。
【００１３】
自動運転制御部３は、認識装置群（１〜２）によって取得した外界情報を元に、動的物体との衝突を回避し、かつ乗り心地の良い車両挙動指令値を算出し、２系統の通信経路（４〜５）を用いて下位の駆動装置指令生成部６に出力する。駆動装置指令生成部６は入力された車両挙動指令を実現するためのアクチュエータ指令値を演算し、２系統の通信経路（８〜９）を用いて駆動装置群（１０〜１２）に出力する。駆動装置群（１０〜１２）は入力されたアクチュエータ指令値に従い、（本図には図示していない）エンジンや変速機、ブレーキ等のアクチュエータを制御する。
【００１４】
図２は自動運転制御部３のブロック図である。
【００１５】
自動運転制御部３は軌道生成部２０、軌道生成部２１、切替部２２、車両運動制御部２３、を備える。
【００１６】
軌道生成部２０、軌道生成部２１は、認識装置群（１〜２）によって取得した外界情報を元に、動的物体との衝突を回避し、かつ乗り心地の良い車両軌道を生成する。図４に、前方車両を追い越す時の車両軌道の例であり、本例では将来の車両位置を0.1秒刻みで設定している。
【００１７】
切替部２２は、軌道生成部２０、軌道生成部２１のどちらか片方が故障した場合、正常な軌道生成部が出力した車両軌道を選択して、車両運動制御部２３に出力する。
【００１８】
車両運動制御部２３は、入力された車両軌道を追従するための車両挙動指令値を生成する。図５は、図４で示した車両軌道を追従するための車両挙動指令値の例であり、将来の加速度、角速度指令0.1秒刻みで設定している。
【００１９】
切替部２２、および車両運動制御部２３は、フェールオペレーションを実現するため、ロックステップの演算器を2組用いて実装される。なお、切替部２２、および車両運動制御部２３のフェールオペレーションを実現するために、ロックステップの演算器に限らず、多数決を用いる等、他の実現方法で実装しても良い。
図３は駆動装置指令値生成部６のブロック図である。
【００２０】
駆動装置指令値生成部６は、駆動装置指令演算部３０、駆動装置指令演算部３１を備える。駆動装置指令演算部３０はアクチュエータ指令値を生成するための主機能である。駆動装置指令演算部３０故障時は、駆動装置指令演算部３１が縮退系となり、フェールオペレーションを実現する。
【００２１】
駆動装置指令演算部３０は、自動運転制御部５から入力される２系統の車両挙動指令値のうち、正常な車両挙動指令値を選択し、当該車両軌道指令を実現するためのアクチュエータ指令値を演算し、通信経路８を経由して、駆動装置群（１０〜１２）に出力する。
【００２２】
駆動装置指令演算部３０がアクチュエータ指令値を演算する方式を図６、図７を用いて説明する。
【００２３】
図６は駆動装置指令演算部３０がアクチュエータ指令値を演算するフローチャートである。本フローチャートはアクチュエータ指令値候補生成ステップ６０、出力予測ステップ（６１）、評価関数演算ステップ（６２）、評価関数収束判定ステップ（６３）から構成される。
【００２４】
アクチュエータ指令値候補生成ステップ６０は、将来のアクチュエータ指令値候補(u0, u1,.., un)(j)を生成する、なおuの添え字は時間方向のステップ数（un: nステップ後のアクチュエータ指令値）、括弧外の添え字jは探索回数を示す。アクチュエータ指令値候補の生成は、遺伝的アルゴリズムや、Artifitial Bee Colonyアルゴリズム等、最適化問題の探索的求解手法を用いる。
【００２５】
出力予測ステップ６１は、将来のアクチュエータ指令値候補(u0, u1,.., un)(j)を入力した場合のアクチュエータの出力(x0, x1,.., xn)(j)をアクチュエータの物理モデルに基づく差分方程式で演算する。なお、なおxの添え字は時間方向のステップ数（xn: nステップ後のアクチュエータ出力）、括弧外の添え字jは探索回数を示す。
【００２６】
評価関数演算ステップ６２は、出力予測ステップ６１にて演算したアクチュエータ出力が、所望の制御目的をどれだけ満たしているかを評価する。図６では、アクチュエータ出力をxrefに追従するための評価関数の例を示している。
【００２７】
評価関数収束判定ステップ６３は、評価関数の値が所定の閾値以下になるかを判定し、条件を満たすと終了となり、満たさない場合は、アクチュエータ指令値候補生成ステップ６０に戻り、処理を繰返す。
【００２８】
図７に、図６で説明したフローチャートの動作を示す。
【００２９】
アクチュエータ指令値候補生成ステップ６０にて、アクチュエータ指令値候補の初期値(u0, u1,.., un)(0)を生成する。続く出力予測ステップ６１にて、(u0, u1,.., un)(0)が入力されて時のアクチュエータ出力(x0, x1,.., xn)(0)を演算する。続く評価関数演算ステップ６２にて評価関数を演算し、評価関数収束判定ステップ６３は、評価関数の値が所定の閾値以下になるかを判定し、条件を満たさないため、アクチュエータ指令値候補生成ステップ６０にもどって同処理を反復する。最終的に反復回数J-1にて評価関数が閾値以下になり、処理が終了する。以上の処理により、評価関数で表される制御目的に合致する最適なアクチュエータ操作量を演算することが出来る。駆動装置指令演算部３０は、演算終了時のアクチュエータ指令値(u0, u1,.., un)(J)のうち、u0のみを通信経路８を経由して出力し、通信経路３２を用いてアクチュエータ指令値(u0, u1,.., un)(J)全体を駆動装置指令演算部に出力する。
【００３０】
駆動装置指令演算部３１は、自動運転制御部５から入力される２系統の車両挙動指令値のうち、正常な車両挙動指令値を選択し、当該車両軌道指令を実現するためのアクチュエータ指令値を演算し、通信経路９を経由して、駆動装置群（１０〜１２）に出力する。
【００３１】
駆動装置指令演算部３１がアクチュエータ指令値を演算する方式を図８〜１０を用いて説明する。
【００３２】
図８はルックアップテーブルを用いたアクチュエータ指令値ｖの生成手法を示したものである。アクチュエータの出力目標値に対応したアクチュエータ指令値の代表点をｋ+1設定しておき、代表点の間は内挿補間する。
【００３３】
駆動装置指令演算部３１は、駆動装置指令演算部３１から入力したアクチュエータ指令値(u0, u1,.., un)(J)、およびルックアップテーブルを用いたアクチュエータ指令値ｖを用いて以下の式１にてアクチュエータ指令値を演算する。
【００３４】
Uout_i = w1_i ＊ v + w2 ＊ u_i  (式1) (添え字”_i”は時間ステップを示す)
w1_i, w2_iは0〜1の値をとる重み係数であり、図９に示すように変化する。
図1は駆動装置指令演算部３１が演算するアクチュエータ指令値Uout_iの出力例である。
駆動装置指令演算部３１は、駆動装置指令演算部３１から入力したアクチュエータ指令値(u0, u1,.., un)(J)を時間的に変化する重み係数を用いて合成することにより、駆動装置指令演算部３０が故障した際に、簡易的な演算であるルックアップテーブルを用いたアクチュエータ指令値に連続的に切り替えることが可能となり、フェールオペレーション時の車両挙動の安定が確保できる。
【００３５】
本実施例における駆動装置指令生成部並びにそれを備える車両制御システムは、駆動装置群に対して、第１の演算部である駆動装置指令演算部３０で生成した第１のアクチュエータ指令値と、第２の演算部である駆動装置指令演算部３１で生成した第２のアクチュエータ指令値と、の少なくとも２系統の異なるアクチュエータ指令値を送信している。これにより、駆動装置指令演算部３０が故障した場合に、駆動装置指令演算部３１で生成した指令値により駆動装置群を駆動可能となり、フェールオペレーションを実現可能である。
【００３６】
駆動装置指令演算部３０は、一定時間先（将来）の指令値も含めて演算を行うようにしていると、乗り心地性が向上するので望ましい。一方で、一定時間先の指令値を含めて演算を行う場合、演算規模が大きくなるため、駆動装置指令演算部３１も同様にすると、システムコストの増大につながってしまう。そこで、更なる好例として、駆動装置指令３１はルックアップテーブルを用いた手法等、簡易的な演算を用いることで、システムコストの増大を抑制しつつ、フェールオペレーションを可能とできる。
【００３７】
更なる好例として、駆動装置指令演算部３０で生成した一定時間先の演算結果を、駆動装置指令３１に送信する。そして、駆動装置指令３１は、駆動装置指令演算部３０が故障した際には、駆動装置指令演算部３０が故障前に演算を行った一定時間先の演算結果に基づいてアクチュエータ指令値を演算する。駆動装置指令演算部３０と駆動装置指令演算部３１とは異なる演算手法を用いていることにより、いきなり切り替えることによる不連続性によってドライバが違和感を感じる虞があるところ、駆動装置指令演算部３１は駆動装置指令演算部３０から引き継ぐ際に駆動装置指令演算部３０が生成した演算結果を用いて演算を実施することで、不連続性を緩和することが可能であり、フェールオペレーション時にスムーズな引き継ぎが可能となる。駆動装置指令演算部３１は、一定時間経過後は自動運転制御部からの指令値に基づいて演算を継続する。
【００３８】
更なる好例として、自動運転制御部からすくなくとも２系統の車両制御指令値を受けとる。駆動装置指令生成部６は自動運転制御部３からすくなくとも２系統の車両制御指令値４、５を受けとる構成とすることで、例えば通信線の一方が断線したとしても制御を続けることが可能となる。なお、２系統の信号は冗長系であってもよいし、一方が通常の指令値で、他方が安全地帯へ退避する軌道やドライバへの引き継ぎ時間を確保する軌道といった縮退軌道であってもよい。後者の場合、自動運転制御制御部が完全冗長系でなくてもよいので、システムコストが低減できる。
【００３９】
また、駆動装置（駆動制御装置）側で、駆動装置指令演算部３０が演算した指令値と、駆動装置指令演算部３１が演算した指令値の何れかを選択する機能を備えているとよい。
【符号の説明】
【００４０】
１〜２：認識装置群、３：自動運転制御部経路計画部、６：駆動装置指令値生成部、
１０〜１２：駆動装置群
【図１】
2020111296.tif 000003
【図２】
2020111296.tif 000004
【図３】
2020111296.tif 000005
【図４】
2020111296.tif 000006
【図５】
2020111296.tif 000007
【図６】
2020111296.tif 000008
【図７】
2020111296.tif 000009
【図８】
2020111296.tif 000010
【図９】
2020111296.tif 000011
【図１０】
2020111296.tif 000012