(57)【要約】【課題】制御対象をより確実に制御する。【解決手段】与えられる状態量に対してフィルタ処理を行い駆動部３ａ、３ｂを制御可能な第２制御信号を、与えられる状態量に対して予め用意されたルールを記憶する記憶部に記憶されているルールに基づき演算を行い駆動部３ａ、３ｂを制御可能な第１制御信号よりも高速に生成する特徴量抽出部４４と、  第１制御信号および第２制御信号の少なくとも一方に基づいて制御部３ａ、３ｂを制御する信号を送信する駆動制御部４５と、を有する。【選択図】図２
2020083199.tif 000002
【特許請求の範囲】
【請求項１】
与えられる状態量に対してフィルタ処理を行い制御対象を制御可能な第２制御信号を、与えられる状態量に対して予め用意されたルールを記憶する記憶部に記憶されているルールに基づき演算を行い前記制御対象を制御可能な第１制御信号よりも高速に生成する生成部と、
前記第１制御信号および前記第２制御信号の少なくとも一方に基づいて前記制御対象を制御する信号を送信する送信部と、
を有することを特徴とする制御装置。
【請求項２】
前記送信部は、前記第１制御信号と前記第２制御信号を、予め定められた制御の要素毎に分解し、要素毎に比較して第１制御信号および第２制御信号を統合する請求項１に記載の制御装置。
【請求項３】
与えられる状態量に対して記憶部に記憶されているルールに基づき演算を行い制御対象を制御可能な第１制御信号を生成し、
与えられる状態量に対してフィルタ処理を行い前記制御対象を制御可能な第２制御信号を前記第１制御信号よりも高速に生成する、
ことを特徴とする制御方法。
【請求項４】
コンピュータに、
与えられる状態量に対してフィルタ処理を行い制御対象を制御可能な第２制御信号を、与えられる状態量に対して予め用意されたルールを記憶する記憶部に記憶されているルールに基づき演算を行い前記制御対象を制御可能な第１制御信号よりも高速に生成する、
処理を実行させることを特徴とするプログラム。
【請求項５】
与えられる状態量に対してフィルタ処理を行い制御対象を制御可能な第２制御信号を、与えられる状態量に対して予め用意されたルールを記憶する記憶部に記憶されているルールに基づき演算を行い前記制御対象を制御可能な第１制御信号よりも高速に生成する生成部を有することを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は制御装置、制御方法およびプログラムに関する。
【背景技術】
【０００２】
車両の自動運転に関する技術が知られている。
【０００３】
例えば、自動運転制御情報に基づいて生成される第一の制御信号と自車と周辺物体との相対情報に基づいて生成される第二の制御信号との何れか一方を駆動装置に出力し、自動運転制御情報に異常が検出された場合には、第一の制御信号に代えて、第二の制御信号を駆動装置に出力する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−４７６９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
自動運転では、予め定められたルール通りに動作するルールベースの制御システムを採用することが考えられる。ルールベースの制御システムの場合、比較的容易に制御システムを構築することが可能である。
しかしながら、ルールベースの制御システムを採用した場合において処理能力を超えた処理を要求された場合、適切な制御が間に合わない場合がある。
【０００６】
例えば、入力が空間情報や多数の条件を含んだ外部状態量であった場合等は、計算量が多くなるため制御には一定の計算時間を要する。従って、所定時間内に計算が完了しなかったり、計算が完了した場合でも制御が間に合わない場合がある。
１つの側面では、本発明は、制御対象のより確実な制御を目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、開示の制御装置が提供される。この制御装置は、与えられる状態量に対してフィルタ処理を行い制御対象を制御可能な第２制御信号を、与えられる状態量に対して予め用意されたルールを記憶する記憶部に記憶されているルールに基づき演算を行い制御対象を制御可能な第１制御信号よりも高速に生成する生成部と、第１制御信号および第２制御信号の少なくとも一方に基づいて制御対象を制御する信号を送信する送信部と、を有している。
【発明の効果】
【０００８】
１態様では、制御対象をより確実に制御することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態の車両の機能を示すブロック図である。
【図２】実施の形態の制御部の機能を示すブロック図である。
【図３】制御部の処理を説明するフローチャートである。
【図４】第１制御信号生成処理を説明するフローチャートである。
【図５】第２制御信号生成処理を説明するフローチャートである。
【図６】制御信号更新処理を説明するフローチャートである。
【図７】実施の形態の制御部のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、実施の形態の制御装置を、図面を参照して詳細に説明する。
＜実施の形態＞
図１は、実施の形態の車両の機能を示すブロック図である。
【００１１】
第１の実施の形態の車両１は、センサ２ａ、２ｂと、駆動部（制御対象：Actuator）３ａ、３ｂと制御部４とを有している。車両１としては、特に限定されないが、例えば乗用車やトラック等、道路を走行するものが挙げられる。
センサおよび駆動部の数は、図示したものに限定されず、１つまたは３つ以上でもよい。また、制御部は多段構成や並列構成であってもよい。
【００１２】
センサ２ａ、２ｂとしては、例えばＬｉＤＡＲ（Laser Imaging Detection and Ranging）、ミリ波や超音波を用いたソナー（SONAR：Sound navigation and ranging）、ＧＰＳ、カメラ等の外部状態量を検出するものや、車速やステアリングの角度等、車両１内部の状態を検出するもの等が挙げられる。
【００１３】
これらセンサ２ａ、２ｂが検出する信号としては、例えば、車両１のアクセル開度、ブレーキの開度、サイドブレーキのオン、オフ、ステアリングの角度、ステアリングモータに流れる電流、シフトポジション（Ｒ／Ｎ／Ｄ）、ドアロックの有無、タイヤの角度、車軸の速度、車軸の加速度、車体の速度、車体の加速度、車体の角速度等が挙げられる。
【００１４】
駆動部３ａ、３ｂとしては、モータやアクチュエータ等を備え、車両１の動作に関わるものが挙げられる。例えば、ブレーキ、ステアリングモータ、シフトポジション（Ｒ／Ｎ／Ｄ）、ドアロック、駆動モータ等が挙げられる。
【００１５】
制御部４は、例えば、複数の制御回路の集合体である。制御部４は、与えられる状態量に対して記憶部に記憶されているルールに基づき演算を行い制御対象を制御する第１制御信号を生成する。また、制御部４は、与えられる状態量に対してフィルタ処理を行う等、第１制御信号生成よりも計算コストを少なくして制御対象を制御可能な第２の制御信号を第１制御信号よりも高速に生成する。
【００１６】
制御部４は、生成した第１制御信号および第２制御信号を使い分けたり、組み合わせたりして駆動部３ａ、３ｂを制御する。例えば、第１制御信号よりも速く生成される第２制御信号を用いて車両１を制動して減速させ、その後、第１制御信号を用いて適切な制動量を決定する等の制御が可能となる。また、状況に応じて第１制御信号と第２制御信号を統合し、より適切な駆動部３ａ、３ｂの制御を図ることもできる。
以下、開示の制御部４をより具体的に説明する。
図２は、実施の形態の制御部の機能を示すブロック図である。
【００１７】
制御部４は、センサ制御部４１と、ルール制御部（第１制御信号生成部）４２と、インファレンスエンジン（Inference Engine）４３と、特徴量抽出部（第２制御信号生成部）４４と、駆動制御部４５とを有している。これらの各部の機能がそれぞれ１つの集積回路で形成されていてもよいし、いくつかの機能がまとめられて１つの集積回路で形成されていてもよい。
【００１８】
センサ制御部４１は、ユーザの指示により、または所定の状況下においてセンサ２ａ、２ｂが検出した信号（Knowledge Data）を受け取る。センサ制御部４１は、受け取った検出信号をルール制御部４２および特徴量抽出部４４に送る。
【００１９】
ルール制御部４２は、センサ制御部４１から与えられる検出信号に対して予め記憶されているルールに基づき演算を行い、車両１を制御する第１制御信号を生成する。
【００２０】
インファレンスエンジン４３は、センサ２ａ、２ｂが検出した信号や、ルール制御部４２および特徴量抽出部４４が生成する制御信号等を記憶する知識データベース（図示せず）に記憶されている情報を参照し、システム全体の機能的特性を考慮して、ある時点におけるシステムの内部状態量並びに外部状態量を網羅的に特定、且つ、その状態を認識する。インファレンスエンジン４３は、認識された状態とユーザの指示により設定された目標との差異又は関係を基に目標達成に必要な行動を推論し、選択する。
【００２１】
また、インファレンスエンジン４３は、ユーザが希望する目的地の設定を受け付けると、走行する経路情報（ルート）を生成する計画作成部（図示せず）とインファレンスエンジン４３とに基づき、現状のルールをアップデートする更新用ルールを生成する。インファレンスエンジン４３は、ルール制御部４２に更新用ルールを送る。
【００２２】
また、インファレンスエンジン４３は、現状のフィルタをアップデートする更新用フィルタを生成する。インファレンスエンジン４３は、特徴量抽出部４４に更新用フィルタを送る。
【００２３】
特徴量抽出部４４は、例えばＦＰＧＡ（field-programmable gate array）にて実現してもよい。特徴量抽出部４４は、与えられる状態量に対してフィルタ処理を行い、ルール制御部４２よりも高速に車両１を制御可能な第２制御信号を生成する。第２制御信号の生成に際し、特徴量抽出部４４は、入力信号の波形近似やノイズ、周期的アプローチ等、様々な手法を取り得る。
【００２４】
ここで、センサ制御部４１が信号をルール制御部４２および特徴量抽出部４４に送ると、ルール制御部４２および特徴量抽出部４４は、それぞれの手法を用いて第１制御信号および第２制御信号の生成を開始する。前述したように、結果的に、第２制御信号の方が第１制御信号よりも速く生成される。これにより、例えば、まず車両１を制動して減速させ、その後、適切な制動量を決定する等の制御が可能となる。
【００２５】
駆動制御部４５は、送信部の一例であり、第１制御信号および第２制御信号の少なくとも一方に基づいて駆動部３ａ、３ｂを制御する信号を生成し、送信する。一例として、駆動制御部４５は、第１制御信号および第２制御信号の各信号を１つのベクトルと捉えて、そのベクトルを、制御の有無、制御方法、制御量等の予め定められた要素毎に分解する。
【００２６】
そして、駆動制御部４５は、分解した要素毎に評価、選択、重みづけ、加減算をして第１制御信号および第２制御信号を統合して駆動部３ａ、３ｂを制御する制御信号を生成する。
【００２７】
駆動制御部４５の（回路）構成の一例としては、ベクトル分解器（２つ）、入力側乗算器（分解後のベクトル数に一致＝あらかじめ定められた要素の数×２）、加算器（加算後のベクトル数に一致＝あらかじめ定められた要素の数）、出力側乗算器（加算後のベクトル数に一致＝あらかじめ定められた要素の数）、ベクトル合成器（１つ）の組み合わせが挙げられる。
駆動制御部４５は、各駆動部３ａ、３ｂに対し制御信号を送る。
【００２８】
次に、制御部４の処理を、フローチャートを用いて説明する。なお、以下のフローチャートに示す手順は一例であり、一部を省略したり、他の手順が挿入されたり、一部の手順を入れ替えたり、複数の処理を並行して実行してもよい。
図３は、制御部の処理を説明するフローチャートである。
【００２９】
［ステップＳ１］  センサ制御部４１は、ユーザの指示により、または所定の状況下において自動運転許可信号「オン」の入力を受け付ける。自動運転許可信号「オン」の状態では、車両１は、例えば車両１の速度を維持したり、車間制御を行ったりする。
【００３０】
［ステップＳ２］  センサ制御部４１は、自動運転許可信号が「オン」か「オフ」かを判断する。自動運転許可信号が「オン」であれば（ステップＳ２のＹｅｓ）、ステップＳ３に遷移する。自動運転許可信号が「オフ」であれば（ステップＳ２のＮｏ）、図３に示す処理を終了する。
【００３１】
［ステップＳ３］  センサ制御部４１は、センサ２ａ、２ｂが検出した信号を受け取り、知識データベース（図示せず）に送る。その後、ステップＳ４およびステップＳ５に遷移する。ステップＳ４およびステップＳ５の処理は並行して実行することができる。
【００３２】
［ステップＳ４］  ルール制御部４２は、センサ制御部４１から与えられる検出信号に対して予め記憶されているルールに基づき演算を行い、車両１を制御する第１制御信号を生成する。その後、ステップＳ６に遷移する。
【００３３】
［ステップＳ５］  特徴量抽出部４４は、与えられる状態量に対してフィルタ処理を行い、ルール制御部４２よりも高速に車両１を制御可能な第２の制御信号を生成する。また、駆動制御部４５は、状況に応じて制御信号を更新する。その後、ステップＳ６に遷移する。
【００３４】
［ステップＳ６］  駆動制御部４５は、前述した方法を用いて、第１制御信号および第２制御信号を調停して駆動信号の生成を試みる。ここで言う調停としては、例えば、複数の信号のいずれかを選択したり、駆動制御部４５の有する機能を用いて、複数の信号を統合して単一の信号を生成すること等が挙げられる。
【００３５】
［ステップＳ７］  駆動制御部４５は、ステップＳ６にて調停に成功したか否かを判断する。調停に成功した場合（ステップＳ７のＹｅｓ）、ステップＳ８に遷移する。調停に失敗した場合（ステップＳ７のＮｏ）、ステップＳ２に遷移する。
【００３６】
［ステップＳ８］  駆動制御部４５は、知識データベースを更新する知識データベース更新情報を生成する。駆動制御部４５は、生成した知識データベース更新情報を知識データベースに送る。その後、ステップＳ９に遷移する。
【００３７】
［ステップＳ９］  駆動制御部４５は、ステップＳ６にて生成した制御信号を用いて駆動部３ａ、３ｂを制御する制御信号を更新する制御信号更新処理を実行する。制御信号更新処理については後に詳述する。
以上で図３の処理の説明を終了する。
次に、ステップＳ４の第１制御信号を生成する処理（第１制御信号生成処理）を説明する。
図４は、第１制御信号生成処理を説明するフローチャートである。
【００３８】
［ステップＳ４ａ］  ルール制御部４２は、ルールマッチングを行う。具体的には、ルール制御部４２は、インファレンスエンジン４３から与えられたルールに基づき、センサ制御部４１から与えられる状態量が唯一合致する選択肢（唯一解）を選択する。
【００３９】
［ステップＳ４ｂ］  ルール制御部４２は、唯一解を見つけられたか否かを判断する。唯一解を見つけられた場合（ステップＳ４ｂのＹｅｓ）、その唯一解を第１制御信号に設定し、第１制御信号生成処理を終了する。唯一解を見つけられなかった場合（ステップＳ４ｂのＮｏ）、ステップＳ４ｃに遷移する。
［ステップＳ４ｃ］  ルール制御部４２は、エスカレーションおよびルールの更新要求をインファレンスエンジン４３に送る。
ルールの更新の一例としては、停止信号を生成したり、ステアリング操作を行ったりする等が挙げられる。
［ステップＳ４ｄ］  ルール制御部４２は、予め用意された回答を第１制御信号に設定する。その後、第１制御信号生成処理を終了する。
［ステップＳ４ｅ］  ルール制御部４２は、唯一解に基づき駆動部３ａ、３ｂの制御状態を更新する制御信号を生成する。
次に、図３のステップＳ５の第２制御信号を生成する処理および状況に応じて制御信号を更新する処理（第２制御信号生成更新処理）を説明する。
図５は、第２制御信号生成更新処理を説明するフローチャートである。
［ステップＳ５ａ］  特徴量抽出部４４は、入力される検出信号に対してフィルタ処理を施す。
［ステップＳ５ｂ］  特徴量抽出部４４は、ステップＳ５ａにてフィルタ処理が施された信号から有意な特徴量（サイン）を抽出できたか否かを判断する。
【００４０】
有意な特徴量としては、例えば、車両１の前方に高速で物体が出現した、センサ２ａ、２ｂが検出した情報が異常値を示した、車両１の状態が安全制御域を逸脱した、理想的なセンサ状態との大幅な乖離が発見された（例えば外的要因によって突然スピンした等）等が挙げられる。
【００４１】
有意な特徴量を抽出できた場合（ステップＳ５ｂのＹｅｓ）、ステップＳ５ｃに遷移する。有意な特徴量を抽出できなかった場合（ステップＳ５ｂのＮｏ）、第２制御信号生成処理を終了する。
【００４２】
［ステップＳ５ｃ］  特徴量抽出部４４は、駆動部３ａ、３ｂの制御状態を更新する制御信号を生成する。ルールベースシステムやパターンマッチングと異なり、唯一の正解をみつけられなくてもとりあえず特徴量毎に並列に動作して制御信号を生成する。例えば、物体認識の結果を待たずに緩やかな減速を行うような制御信号を生成する。これにより、回避可能性を上げる。
なお、ステップＳ５ａ〜Ｓ５ｃは、論理回路等により一体のステップとして実行してもよい。
【００４３】
［ステップＳ５ｄ］  特徴量抽出部４４は、知識データベースを更新する知識データベース更新情報を生成する。特徴量抽出部４４は、生成した知識データベース更新情報を知識データベースに送る。また、特徴量抽出部４４は、生成した制御信号を駆動制御部４５に送る。その後、ステップＳ５ｅに遷移する。なお、ステップＳ５ｅの処理と並行してステップＳ６の処理を実行することができる。
［ステップＳ５ｅ］  駆動制御部４５は、制御信号を更新する制御信号更新処理を実行する。制御信号更新処理については後に詳述する。
以上で図３の処理の説明を終了する。
次に、ステップＳ５ｅおよびステップＳ９にて駆動制御部４５が実行する制御信号の更新処理（制御信号更新処理）を、フローチャートを用いて説明する。
図６は、制御信号更新処理を説明するフローチャートである。
【００４４】
［ステップＳ９ａ］  駆動制御部４５は、ルール制御部４２または特徴量抽出部４４から駆動部３ａ、３ｂへの制御信号を受け付ける。なお、ルール制御部４２からの制御信号は、前述したステップＳ８の処理により生成される。特徴量抽出部４４から制御信号は、前述したステップＳ５ｄの処理により生成される。
［ステップＳ９ｂ］  駆動制御部４５は、各駆動部３ａ、３ｂに制御信号を送る。これにより、各駆動部３ａ、３ｂは、制御信号に応じた駆動を行う。
【００４５】
以上述べたように、制御部４によれば、予め用意されたルールを記憶する知識データベースと、与えられる状態量に対して知識データベースに記憶されているルールに基づき演算を行い駆動部３ａ、３ｂを制御可能な第１制御信号を生成するルール制御部４２と、与えられる状態量に対してフィルタ処理を行い駆動部３ａ、３ｂを制御可能な第２制御信号を第１制御信号よりも高速に生成する特徴量抽出部４４と、を有する。
【００４６】
より具体的には、ステップＳ５ｄにて特徴量抽出部４４は、知識データベース更新情報および制御信号を生成する。特徴量抽出部４４は、生成した知識データベース更新情報を知識データベースに送る。また、特徴量抽出部４４は、生成した制御信号を駆動制御部４５に送る。この段階で、高速に制御信号が更新可能となるため、正確さよりも速度が優先される処理に対応することができる。
【００４７】
そして、ステップＳ８にて、改めて知識データベース更新情報および制御信号を生成する。これにより、処理に正確に対応することができる。これにより、第１制御信号のみを用いて車両１を制御する場合に比べ、制御の初動を速くすることができる。従って、行動の成功確率を高めることができる。
【００４８】
なお、制御部４が行った処理が、複数の装置によって分散処理されるようにしてもよい。例えば、１つの装置が、第１制御信号および第２制御信号を生成しておき、他の装置が、第１制御信号および第２制御信号を統合するようにしてもよい。
【００４９】
以上、本発明の制御装置、制御方法およびプログラムを、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
例えば、本実施の形態では制御部４を制御回路を用いて実現した。しかし、これに限らず、制御部４を同様の機能を備えるコンピュータにて実現してもよい。
図７は、実施の形態の制御部のハードウェア構成の一例を示す図である。
【００５０】
制御部４は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０５を介してＲＡＭ（Random Access Memory）１０２と複数の周辺機器が接続されている。
【００５１】
ＲＡＭ１０２は、制御部４の主記憶装置として使用される。ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に使用する各種データが格納される。
バス１０５には、内蔵メモリ１０３および通信インタフェース１０４が接続されている。
【００５２】
内蔵メモリ１０３は、データの書き込みおよび読み出しを行う。内蔵メモリ１０３は、携帯端末装置２の二次記憶装置として使用される。内蔵メモリ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、内蔵メモリとしては、例えばフラッシュメモリ等の半導体記憶装置が挙げられる。
【００５３】
通信インタフェース１０４は、ネットワーク５０に接続されている。通信インタフェース１０４は、ネットワーク５０を介して、他のコンピュータまたは通信機器との間でデータを送受信する。なお、通信インタフェース１０４を省略することもできる。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
また、本発明は、前述した各実施の形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【００５４】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、制御部４が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記憶装置には、ハードディスクドライブ、フレキシブルディスク（ＦＤ）、磁気テープ等が挙げられる。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷ等が挙げられる。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）等が挙げられる。
【００５５】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００５６】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００５７】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）等の電子回路で実現することもできる。
【符号の説明】
【００５８】
１  車両
２ａ、２ｂ  センサ
３ａ、３ｂ  駆動部
４  制御部
４１  センサ制御部
４２  ルール制御部
４３  インファレンスエンジン
４４  特徴量抽出部
４５  駆動制御部
【図１】
2020083199.tif 000003
【図２】
2020083199.tif 000004
【図３】
2020083199.tif 000005
【図４】
2020083199.tif 000006
【図５】
2020083199.tif 000007
【図６】
2020083199.tif 000008
【図７】
2020083199.tif 000009