【解決手段】認識処理部41は、移動体の外部環境を撮像する撮像部11により得られた画像データに基づいて移動体の外部環境を認識する認識処理を行う。認識処理部41は、複数の演算コア300により構成される。複数の演算コア300は、認識処理を行う認識処理コア301と、認識処理コア301の出力の異常に基づいて撮像部11と認識処理部41とを含むデータ処理系統の異常を検出する異常検出コア302とを含む。
【発明を実施するための形態】
【0016】
以下、実施の形態を図面を参照して詳しく説明する。なお、図中同一または相当部分には同一の符号を付しその説明は繰り返さない。以下では、移動体の動作を制御する移動体制御システムの一例である車両制御システム10を例に挙げて説明する。
【0017】
(実施形態)
図1は、車両制御システム10の構成を例示する。車両制御システム10は、移動体の一例である車両(この例では自動四輪車)に設けられる。この車両は、マニュアル運転とアシスト運転と自動運転とに切り換え可能である。マニュアル運転は、ドライバの操作(例えばアクセルの操作など)に応じて走行する運転である。アシスト運転は、ドライバの操作を支援して走行する運転である。自動運転は、ドライバの操作なしに走行する運転である。車両制御システム10は、自動運転およびアシスト運転において、車両に設けられたアクチュエータ101を制御することで車両の動作を制御する。例えば、アクチュエータ101は、エンジン、トランスミッション、ブレーキ、ステアリングなどを含む。
【0018】
なお、以下の説明では、車両制御システム10が設けられている車両を「自車両」と記載し、自車両の周囲に存在する他の車両を「他車両」と記載する。
【0019】
この例では、車両制御システム10は、複数のカメラ11と、複数のレーダ12と、位置センサ13と、車両状態センサ14と、ドライバ状態センサ15と、運転操作センサ16と、通信部17と、コントロールユニット18と、ヒューマンマシンインターフェース19と、演算装置20とを備える。演算装置20は、外部環境認識装置の一例である。
【0020】
〔カメラ(撮像部)〕
複数のカメラ11は、互いに同様の構成を有する。カメラ11は、自車両の外部環境を撮像することで、自車両の外部環境を示す画像データを取得する。カメラ11により得られた画像データは、演算装置20に送信される。なお、カメラ11は、移動体の外部環境を撮像する撮像部の一例である。
【0021】
この例では、カメラ11は、広角レンズを有する単眼カメラである。そして、複数のカメラ11による自車両の外部環境の撮像範囲が自車両の周囲の全周に渡るように、複数のカメラ11が自車両に配置されている。例えば、カメラ11は、CCD(Charge Coupled Device)やCMOS(Complementary metal-oxide-semiconductor)などの固体撮像素子を用いて構成される。なお、カメラ11は、通常のレンズを有する単眼カメラであってもよいし、ステレオカメラであってもよい。
【0022】
〔レーダ(検出部)〕
複数のレーダ12は、互いに同様の構成を有する。レーダ12は、自車両の外部環境を検出する。具体的には、レーダ12は、自車両の外部環境へ向けて電波(探知波の一例)を送信して自車両の外部環境からの反射波を受信することで、自車両の外部環境を検出する。レーダ12の検出結果は、演算装置20に送信される。なお、レーダ12は、移動体の外部環境を検出する検出部の一例である。検出部は、移動体の外部環境へ向けて探知波を送信して移動体の外部環境からの反射波を受信することで、移動体の外部環境を検出する。
【0023】
この例では、複数のレーダ12による自車両の外部環境の検出範囲が自車両の周囲の全周に渡るように、複数のレーダ12が自車両に配置されている。例えば、レーダ12は、ミリ波(探知波の一例)を送信するミリ波レーダであってもよいし、レーザ光(探知波の一例)を送信するライダ(Light Detection and Ranging)であってもよいし、赤外線(探知波の一例)を送信する赤外線レーダであってもよいし、超音波(探知波の一例)を送信する超音波センサであってもよい。
【0024】
〔位置センサ〕
位置センサ13は、自車両の位置(例えば緯度および経度)を検出する。例えば、位置センサ13は、全地球測位システムからのGPS情報を受信し、GPS情報に基づいて自車両の位置を検出する。位置センサ13により検出された自車両の位置は、演算装置20に送信される。
【0025】
〔車両状態センサ〕
車両状態センサ14は、自車両の状態(例えば速度や加速度やヨーレートなど)を検出する。例えば、車両状態センサ14は、自車両の速度を検出する車速センサ、自車両の加速度を検出する加速度センサ、自車両のヨーレートを検出するヨーレートセンサなどにより構成される。車両状態センサ14により検出された自車両の状態は、演算装置20に送信される。
【0026】
〔ドライバ状態センサ〕
ドライバ状態センサ15は、自車両を運転するドライバの状態(例えばドライバの健康状態や感情や身体挙動など)を検出する。例えば、ドライバ状態センサ15は、ドライバを撮像する車内カメラ、ドライバの生体情報を検出する生体情報センサなどにより構成される。ドライバ状態センサ15により検出されたドライバの状態は、演算装置20に送信される。
【0027】
〔運転操作センサ〕
運転操作センサ16は、自車両に加えられる運転操作を検出する。例えば、運転操作センサ16は、自車両のハンドルの操舵角を検出する操舵角センサ、自車両のアクセルの操作量を検出するアクセルセンサ、自車両のブレーキの操作量を検出するブレーキセンサなどにより構成される。運転操作センサ16により検出された運転操作は、演算装置20に送信される。
【0028】
〔通信部〕
通信部17は、自車両の外部に設けられた外部装置との間で通信を行う。例えば、通信部17は、自車両の周囲に位置する他車両(図示を省略)からの通信情報、ナビゲーションシステム(図示を省略)からの交通情報などを受信する。通信部17により受信された情報は、演算装置20に送信される。
【0029】
〔コントロールユニット〕
コントロールユニット18は、演算装置20により制御され、自車両に設けられたアクチュエータ101を制御する。例えば、コントロールユニット18は、パワートレイン装置、ブレーキ装置、ステアリング装置などを含む。パワートレイン装置は、後述する駆動指令値に示された目標駆動力に基づいて、アクチュエータ101に含まれるエンジンおよびトランスミッションを制御する。ブレーキ装置は、後述する制動指令値に示された目標制動力に基づいて、アクチュエータ101に含まれるブレーキを制御する。ステアリング装置は、後述する操舵指令値に示された目標操舵量に基づいてアクチュエータ101に含まれるステアリングを制御する。
【0030】
〔ヒューマンマシンインターフェース〕
ヒューマンマシンインターフェース19は、演算装置20と自車両の乗員(特にドライバ)との間において情報の入出力を行うために設けられる。例えば、ヒューマンマシンインターフェース19は、情報を表示するディスプレイ、情報を音声出力するスピーカ、音声を入力するマイク、自車両の乗員(特にドライバ)による操作が与えられる操作部などを含む。操作部は、タッチパネルやボタンである。
【0031】
〔演算装置〕
演算装置20は、自車両に設けられたセンサ類の出力および車外から送信された情報などに基づいて、自車両が走行すべき経路である目標経路を決定し、目標経路を走行するために必要となる自車両の運動である目標運動を決定する。そして、演算装置20は、自車両の運動が目標運動となるように、コントロールユニット18を制御してアクチュエータ101の動作を制御する。例えば、演算装置20は、1つまたは複数の演算チップを有する電子制御ユニット(ECU)により構成される。言い換えると、演算装置20は、1つまたは複数のプロセッサ、1つまたは複数のプロセッサを動作させるためのプログラムやデータを記憶する1つまたは複数のメモリなどを有する電子制御ユニット(ECU)により構成される。
【0032】
この例では、演算装置20は、外部環境認識部21と、候補経路生成部22と、車両挙動認識部23と、ドライバ挙動認識部24と、目標運動決定部25と、運動制御部26とを有する。これらは、演算装置20の機能の一部である。
【0033】
外部環境認識部21は、自車両の外部環境を認識する。候補経路生成部22は、外部環境認識部21の出力に基づいて1つまたは複数の候補経路を生成する。候補経路は、自車両が走行可能な経路であり、目標経路の候補である。
【0034】
車両挙動認識部23は、車両状態センサ14の出力に基づいて自車両の挙動(例えば速度や加速度やヨーレートなど)を認識する。例えば、車両挙動認識部23は、深層学習により生成された学習モデルを用いて車両状態センサ14の出力から自車両の挙動を認識する。ドライバ挙動認識部24は、ドライバ状態センサ15の出力に基づいてドライバの挙動(例えばドライバの健康状態や感情や身体挙動など)を認識する。例えば、ドライバ挙動認識部24は、深層学習により生成された学習モデルを用いてドライバ状態センサ15の出力からドライバの挙動を認識する。
【0035】
目標運動決定部25は、車両挙動認識部23の出力と、ドライバ挙動認識部24の出力に基づいて、候補経路生成部22により生成された1つまたは複数の候補経路の中から目標経路となる候補経路を選択する。例えば、目標運動決定部25は、複数の候補経路のうちドライバが最も快適であると感じる候補経路を選択する。そして、目標運動決定部25は、目標経路として選択された候補経路に基づいて目標運動を決定する。
【0036】
運動制御部26は、目標運動決定部25により決定された目標運動に基づいてコントロールユニット18を制御する。例えば、運動制御部26は、目標運動を達成するための駆動力と制動力と操舵量である目標駆動力と目標制動力と目標操舵量をそれぞれ導出する。そして、運動制御部26は、目標駆動力を示す駆動指令値と目標制動力を示す制動指令値と目標操舵量を示す操舵指令値をコントロールユニット18に含まれるパワートレイン装置とブレーキ装置とステアリング装置にそれぞれ送信する。
【0037】
〔外部環境認識部〕
図2は、外部環境認識部21の構成を例示する。この例では、外部環境認識部21は、画像処理チップ31と、人工知能アクセラレータ32と、制御チップ33とにより構成される。画像処理チップ31と人工知能アクセラレータ32と制御チップ33の各々は、プロセッサと、プロセッサを動作させるためのプログラムやデータなどを記憶するメモリとにより構成される。
【0038】
この例では、外部環境認識部21は、前処理部40と、認識処理部41と、統合データ生成部42と、二次元データ生成部43とを有する。これらは、外部環境認識部21の機能の一部である。この例では、画像処理チップ31に前処理部40が設けられ、人工知能アクセラレータ32に認識処理部41と統合データ生成部42が設けられ、制御チップ33に二次元データ生成部43が設けられる。
【0039】
〈前処理部〉
前処理部40は、カメラ11により得られた画像データに対して前処理を行う。前処理には、画像データに示された画像の歪みを補正する歪み補正処理、画像データに示された画像の明度を調整するホワイトバランス調整処理などが含まれる。
【0040】
〈認識処理部〉
認識処理部41は、認識処理を行う。認識処理では、認識処理部41は、前処理部40により前処理された画像データに基づいて、自車両の外部環境を認識する。
【0041】
〈統合データ生成部〉
統合データ生成部42は、認識処理部41の認識結果に基づいて、統合データを生成する。統合データは、認識処理部41により認識された自車両の外部環境に含まれる移動可能領域および物標が統合されたデータである。この例では、統合データ生成部42は、認識処理部41の認識結果と、レーダ12の検出結果(すなわちレーダ12により検出された自車両の外部環境)とに基づいて、統合データを生成する。
【0042】
〈二次元データ生成部〉
二次元データ生成部43は、統合データ生成部42により生成された統合データに基づいて、二次元データを生成する。二次元データは、統合データに含まれる移動可能領域および物標が二次元化されたデータである。
【0043】
〈オブジェクトデータ生成部〉
なお、この例では、統合データ生成部42と二次元データ生成部43がオブジェクトデータ生成部45を構成している。オブジェクトデータ生成部45は、認識処理部41の認識結果に基づいてオブジェクトデータを生成する。オブジェクトデータは、認識処理部41により認識された自車両の外部環境を表現するデータである。この例では、オブジェクトデータ生成部45は、認識処理部41の認識結果と、レーダ12の検出結果(すなわちレーダ12により検出された自車両の外部環境)とに基づいて、オブジェクトデータを生成する。
【0044】
〔認識処理部の構成〕
図3は、認識処理部41の構成を例示する。認識処理部41は、複数の演算コア300により構成される。複数の演算コア300は、認識処理コア301と、異常検出コア302とを含む。
図3の例では、12個の演算コア300のうち8つの演算コア300が認識処理コア301であり、残りの4つの演算コア300が異常検出コア302である。例えば、演算コア300は、プロセッサと、プロセッサを動作させるためのプログラムやデータを記憶するメモリとにより構成される。
【0045】
認識処理コア301は、認識処理を行う。認識処理では、認識処理コア301は、前処理部40により前処理された画像データに基づいて、自車両の外部環境を認識する。
【0046】
異常検出コア302は、認識処理コア301の出力の異常に基づいて、カメラ11と認識処理部41とを含むデータ処理系統の異常を検出する。この例では、カメラ11と認識処理部41とを含むデータ処理系統は、カメラ11から前処理部40を経由して認識処理部41に至るデータ処理系統である。例えば、異常検出コア302は、データ処理系統の異常を検出する異常検出処理において、深層学習により生成された学習モデルを用いて認識処理コア301の出力の異常を検出するように構成されてもよい。この学習モデルは、認識処理コア301の出力の異常を検出するための学習モデルである。なお、異常検出コア302は、他の周知の異常検出技術を用いて認識処理コア301の出力の異常を検出するように構成されてもよい。
【0047】
〔外部環境認識部の基本動作〕
次に、
図4を参照して、外部環境認識部21の基本動作について説明する。
【0048】
〈ステップS11〉
まず、前処理部40は、カメラ11により得られた画像データに対して前処理を行う。この例では、前処理部40は、複数のカメラ11により得られた複数の画像データの各々に対して前処理を行う。前処理には、画像データに示された画像の歪み(この例ではカメラ11の広角化による歪み)を補正する歪み補正処理や、画像データに示された画像のホワイトバランスを調整するホワイトバランス調整処理などが含まれる。なお、カメラ11により得られた画像データに歪みがない場合(例えば通常のレンズを有するカメラを用いる場合)は、歪み補正処理が省略されてもよい。
【0049】
図5に示すように、画像データD1に示された自車両の外部環境には、車道50と歩道71と空地72が含まれている。車道50は、自車両が移動することができる移動可能領域の一例である。また、この画像データD1に示された自車両の外部環境には、他車両61と標識62と街路樹63と建物80が含まれている。他車両61(自動四輪車)は、時間経過により変位する動体の一例である。動体の他の例としては、自動二輪車、自転車、歩行者などが挙げられる。標識62と街路樹63は、時間経過により変位しない静止体の一例である。静止体の他の例としては、中央分離帯、センターポール、建物などが挙げられる。動体と静止体は、物標60の一例である。
【0050】
図5の例では、車道50の外側に歩道71が設けられ、歩道71の外側(車道50から遠い側)に空地72が設けられている。また、
図5の例では、車道50のうち自車両が走行する車線を1台の他車両61が走行し、車道50のうち自車両が走行する車線の対向車線を2台の他車両61が走行している。そして、歩道71の外側に沿うように標識62と街路樹63が並んでいる。また、自車両の前方の遠い位置に建物80が設けられている。
【0051】
〈ステップS12〉
次に、認識処理部41(認識処理コア301)は、画像データD1に対して分類処理を行う。この例では、認識処理部41は、複数のカメラ11により得られた複数の画像データの各々に対して分類処理を行う。分類処理では、認識処理部41は、画像データD1に示された画像を画素単位で分類し、その分類結果を示す分類情報を画像データD1に付加する。この分類処理により、認識処理部41は、画像データD1に示された画像(自車両の外部環境を示す画像)の中から移動可能領域および物標を認識する。例えば、認識処理部41は、深層学習により生成された学習モデルを用いて分類処理を行う。この学習モデルは、画像データD1に示された画像を画素単位で分類するための学習モデルである。なお、認識処理部41は、他の周知の分類技術を用いて分類処理を行うように構成されてもよい。
【0052】
図6は、画像データD1に示される画像の分類結果を例示するセグメンテーション画像D2を示す。
図6の例では、画像データD1に示される画像は、画素単位で、車道と車両と標識と街路樹と歩道と空地と建物のいずれかに分類されている。
【0053】
〈ステップS13〉
次に、認識処理部41(認識処理コア301)は、画像データに対して、移動可能領域データ生成処理を行う。移動可能領域データ生成処理では、認識処理部41は、画像データD1に示される画像の中から分類処理により移動可能領域(この例では車道50)に分類された画素領域を特定し、その特定された画素領域に基づいて移動可能領域データを生成する。移動可能領域データは、認識処理部41により認識された移動可能領域を表現するデータ(この例では二次元マップデータ)である。この例では、認識処理部41は、同一の時点において複数のカメラ11により取得された複数の画像データの各々において特定された移動可能領域に基づいて、移動可能領域データを生成する。例えば、移動可能データ生成処理には、周知の二次元データ生成技術が用いられてもよい。
【0054】
〈ステップS14〉
また、認識処理部41(認識処理コア301)は、物標情報生成処理を行う。物標情報生成処理では、認識処理部41は、第1情報生成処理と、第2情報生成処理と、情報統合処理とを行う。
【0055】
第1情報生成処理は、画像データに対して行われる。この例では、認識処理部41は、複数のカメラ11により得られた複数の画像データの各々に対して第1情報生成処理を行う。第1情報生成処理では、認識処理部41は、画像データD1に示される画像の中から分類処理により物標60に分類された画素領域を特定し、その特定された画素領域に基づいて物標情報を生成する。なお、画像データD1に示された画像において複数の物標60が認識された場合、認識処理部41は、複数の物標60の各々に対して第1情報生成処理を行う。物標情報は、物標60に関する情報であり、物標60の種別、物標60の形状、自車両から物標60までの距離および方向、自車両を基準とする物標60の位置、自車両の移動速度に対する物標60の相対速度の大きさおよび向きなどを示す。例えば、認識処理部41は、深層学習により生成された学習モデルを用いて第1情報生成処理を行う。この学習モデルは、画像データD1に示される画像の中から特定された画素領域(物標60に分類された画素領域)に基づいて物標情報を生成ための学習モデルである。なお、認識処理部41は、他の周知の情報生成技術を用いて第1情報生成処理を行うように構成されてもよい。
【0056】
第2情報生成処理は、レーダ12の出力に対して行われる。この例では、認識処理部41は、複数のレーダ12の各々の出力に基づいて第2情報生成処理を行う。第2情報生成処理では、認識処理部41は、レーダ12の検出結果に基づいて物標情報を生成する。例えば、認識処理部41は、レーダ12の検出結果(自車両の外部環境を表現する反射波の強度分布)に対して解析処理を行うことで、物標情報(具体的には物標60の種別、物標60の形状、自車両から物標60までの距離および方向、自車両を基準とする物標60の位置、自車両の移動速度に対する物標60の相対速度の大きさおよび向きなど)を導出する。なお、認識処理部41は、深層学習により生成された学習モデル(レーダ12の検出結果に基づいて物標情報を生成するための学習モデル)を用いて第2情報生成処理を行うように構成されてもよいし、他の周知の解析技術を用いて第2情報生成処理を行うように構成されてもよい。
【0057】
情報統合処理では、認識処理部41は、第1情報生成処理により得られた物標情報と、第2情報生成処理により得られた物標情報とを統合することにより、新たな物標情報を生成する。例えば、認識処理部41は、物標情報に含まれる複数のパラメータ(具体的には物標60の種別、物標60の形状、自車両から物標60までの距離および方向、自車両を基準とする物標60の位置、自車両の移動速度に対する物標60の相対速度の大きさおよび向きなど)の各々について、第1情報生成処理により得られた物標情報のパラメータと第2情報生成処理により得られた物標情報のパラメータとを比較し、2つのパラメータのうち精度が高いほうのパラメータを新たな物標情報に含まれるパラメータとする。
【0058】
〈ステップS15〉
次に、統合データ生成部42は、ステップS13において生成された移動可能領域データと、ステップS14において生成された物標情報とを統合することにより、統合データD3を生成する。統合データD3は、認識処理部41(認識処理コア301)により認識された移動可能領域(この例では車道50)および物標60が統合されたデータ(この例では三次元マップデータ)である。例えば、統合データ生成部42は、周知のデータ統合技術を用いて、移動可能領域データと物標情報とから統合データD3を生成するように構成されてもよい。
【0059】
図7は、統合データD3の概念を例示する。
図7に示すように、統合データD3では、物標60が抽象化されている。
【0060】
〈ステップS16〉
次に、二次元データ生成部43は、統合データD3を二次元化することにより、二次元データD4を生成する。二次元データD4は、統合データD3に含まれる移動可能領域(この例では車道50)および物標60が二次元化されたデータ(この例では二次元マップデータ)である。例えば、二次元データ生成部43は、周知の二次元化技術を用いて、統合データD3から二次元データD4を生成するように構成されてもよい。
【0061】
図8に示すように、二次元データD4では、移動可能領域(この例では車道50)と物標60(この例では自車両100)とが二次元化されている。この例では、二次元データD4は、自車両100の俯瞰図(上空から自車両100を見下ろした図)に対応する。二次元データD4には、車道50と他車両61と自車両100とが含まれている。
【0062】
以上のように、この例では、認識処理部41(具体的には認識処理コア301)により行われる認識処理には、分類処理と、移動可能領域データ生成処理と、物標情報生成処理とが含まれている。そして、認識処理コア301の出力には、認識処理により認識された自車両の外部環境(移動可能領域や物標60など)が示されている。
【0063】
〔異常検出処理〕
次に、
図9を参照して、異常検出コア302による異常検出処理(データ処理系統の異常を検出する処理)について説明する。
【0064】
〈ステップS21〉
まず、異常検出コア302は、認識処理コア301の出力を取得する。すなわち、異常検出コア302は、認識処理コア301の出力には、認識処理により認識された自車両の外部環境が示されている。
【0065】
〈ステップS22〉
次に、異常検出コア302は、認識処理コア301の出力の異常が発生しているか否かを判定する。認識処理コア301の出力の異常が発生している場合には、ステップS23の処理が行われ、そうでない場合には、ステップS24の処理が行われる。
【0066】
〈ステップS23〉
認識処理コア301の出力の異常が発生している場合、異常検出コア302は、カメラ11と認識処理部41とを含むデータ処理系統の異常が発生していると判定する。
【0067】
〈ステップS24〉
一方、認識処理コア301の出力の異常が発生していない場合、異常検出コア302は、カメラ11と認識処理部41とを含むデータ処理系統の異常が発生していないと判定する。
【0068】
〔認識処理コア301の出力の異常の具体例〕
次に、認識処理コア301の出力の異常について説明する。この例では、認識処理コア301の出力の異常には、認識処理コア301の出力の静的な異常と、認識処理コア301の出力の時間的変化の異常(動的な異常)とがある。すなわち、この例では、異常検出コア302は、認識処理コア301の出力の静的な異常および認識処理コア301の出力の時間的変化の異常のうち少なくとも一方が発生している場合に、データ処理系統の異常が発生していると判定し、認識処理コア301の出力の静的な異常および認識処理コア301の出力の時間的変化の異常の両方が発生していない場合に、データ処理系統の異常が発生していないと判定する。
【0069】
〈認識処理コア301の出力の静的な異常〉
認識処理コア301の出力の静的な異常は、単一の時点において取得された画像データに基づいて生成された認識処理コア301の出力に基づいて検出される。認識処理コア301の出力の静的な異常の例としては、認識処理コア301の出力のデータ量の異常、認識処理コア301の出力に示された自車両の外部環境の異常などが挙げられる。
【0070】
認識処理コア301の出力のデータ量の異常に基づく異常検出処理(データ処理系統の異常を検出する処理)では、異常検出コア302は、認識処理コア301の出力のデータ量が予め定められた正常範囲から逸脱する場合に、データ処理系統の異常が発生していると判定し、認識処理コア301の出力のデータ量が正常範囲から逸脱しない場合に、データ処理系統の異常が発生していないと判定する。
【0071】
認識処理コア301の出力に示された自車両の外部環境(すなわち認識処理により認識された車両の外部環境)の異常に基づく異常検出処理では、異常検出コア302は、認識処理コア301の出力に示された自車両の外部環境が非現実的である場合に、データ処理系統の異常が発生していると判定し、認識処理コア301の出力に示された自車両の外部環境が現実的である場合に、データ処理系統の異常が発生していないと判定する。なお、認識処理コア301の出力に示された自車両の外部環境が非現実的である例としては、認識処理コア301の出力に示された自車両の外部環境に含まれる車道50の位置および/または形状が非現実的である場合、認識処理コア301の出力に示された自車両の外部環境に含まれる物標60の位置および/または形状が非現実的である場合、認識処理コア301の出力に示された自車両の外部環境に含まれる車道50および物標60の各々の位置および/または形状が非現実的である場合などが挙げられる。具体的には、車道50の幅が予め定められた車道幅範囲(例えば想定される車道50の幅の最小値から最大値までの範囲)から逸脱している場合、物標60の一例である他車両61の車幅が予め定められた車幅範囲(例えば想定される他車両61の幅の最小値から最大値までの範囲)から逸脱している場合などが挙げられる。
【0072】
〈認識処理コア301の出力の時間的変化の異常〉
認識処理コア301の出力の時間的変化の異常は、それぞれ異なる時点において取得された複数の画像データに基づいて生成された複数の認識処理コア301の出力に基づいて検出される。認識処理コア301の出力の時間的変化の異常の例としては、認識処理コア301の出力のデータ量の時間的変化の異常、認識処理コア301の出力に示された自車両の外部環境の時間的変化の異常などが挙げられる。
【0073】
認識処理コア301の出力のデータ量の時間的変化の異常に基づく異常検出処理(データ処理系統の異常を検出する処理)では、異常検出コア302は、認識処理コア301の出力のデータ量の時間的変化量(例えば単位時間当たりの変化量)が予め定められた正常変化範囲から逸脱する場合に、データ処理系統の異常が発生していると判定し、認識処理コア301の出力のデータ量の時間的変化量が正常変化範囲から逸脱しない場合に、データ処理系統の異常が発生していないと判定する。
【0074】
認識処理コア301の出力に示された自車両の外部環境の時間的変化の異常に基づく異常検出処理では、異常検出コア302は、認識処理コア301の出力に示された自車両の外部環境の時間的変化が非現実的である場合に、データ処理系統の異常が発生していると判定し、認識処理コア301の出力に示された自車両の外部環境の時間的変化が現実的である場合に、データ処理系統の異常が発生していないと判定する。なお、認識処理コア301の出力に示された自車両の外部環境の時間的変化が非現実的である例としては、認識処理コア301の出力に示された自車両の外部環境に含まれる車道50(移動可能領域)の位置および/または形状の時間的変化が非現実的である場合、認識処理コア301の出力に示された自車両の外部環境に含まれる物標60の位置および/または形状の時間的変化が非現実的である場合、認識処理コア301の出力に示された自車両の外部環境に含まれる車道50および物標60の各々の位置および/または形状の時間的変化が非現実的である場合などが挙げられる。具体的には、車道50の幅の時間的変化量が予め定められた車道幅上限変化量(例えば想定される車道50の幅の時間的変化量の上限)を上回る場合、物標60の一例である他車両61の車幅の時間的変化量が予め定められた車幅上限変化量(例えば想定される他車両61の幅の時間的変化量の上限)を上回る場合、他車両61や標識62などの物標60が急に消えて物標60を追跡することができない場合などが挙げられる。
【0075】
〔実施形態の効果〕
以上のように、この実施形態の演算装置20では、異常検出の対象となるデータ処理系統の全体を二重化することなく、データ処理系統の異常を検出することができる。これにより、異常検出の対象となるデータ処理系統の全体を二重化する場合よりも、異常検出機能の追加に伴う回路規模および消費電力の増加を低減することができる。
【0076】
また、この実施形態の演算装置20では、異常検出コア302は、認識処理コア301の出力の時間的変化の異常に基づいてデータ処理系統の異常を検出する。このように、認識処理コア301の出力の時間的変化の異常に基づくことにより、単一の時点における認識処理コア301の出力だけでは検出することができない異常を検出することができる。これにより、データ処理系統の異常の検出精度を向上させることができる。
【0077】
(実施形態の変形例1)
なお、認識処理コア301の出力の異常は、認識処理コア301の出力に示された車両の外部環境(すなわち認証処理により認識された車両の外部環境)に含まれる移動可能領域の異常であることが好ましい。この変形例1では、異常検出コア302は、認識処理コア301の出力に示された車両の外部環境に含まれる移動可能領域の異常に基づいて、データ処理系統の異常を検出する。
【0078】
〔実施形態の変形例1の効果〕
この実施形態の変形例1の演算装置20では、異常検出コア302は、認識処理により認識された移動可能領域の異常に基づいて、データ処理系統の異常を検出する。なお、車両の外部環境を示す画像(画像データ)において、移動可能領域(例えば車道50)を示す画素領域の面積は、物標60(例えば車両61)を示す画素領域の面積よりも大きくなる傾向にある。そのため、認識処理において、移動可能領域は、物標よりも認識されやすい。したがって、認識処理により認識された移動可能領域の異常に基づいてデータ処理系統の異常を検出することにより、認識処理により認識された物標の異常に基づいてデータ処理系統の異常を検出する場合よりも、データ処理系統の異常の検出精度を向上させることができる。
【0079】
(実施形態の変形例2)
また、異常検出コア302は、認識処理コア301の出力の異常の継続時間に基づいて、データ処理系統の異常を検出するように構成されてもよい。具体的には、この変形例1では、異常検出コア302は、認識処理コア301の出力の異常の継続時間が予め定められた正常時間を上回る場合に、データ処理系統に異常が発生していると判定し、認識処理コア301の出力の異常の継続時間が正常時間を上回らない場合に、データ処理系統に異常が発生していないと判定する。なお、この変形例2においても、認識処理コア301の出力の異常には、認識処理コア301の出力の静的な異常と、認識処理コア301の出力の時間的変化の異常(動的な異常)とがあってもよい。
【0080】
〔実施形態の変形例1の効果〕
この実施形態の変形例1の演算装置20では、異常検出コア302は、認識処理コア301の出力の異常の継続時間に基づいて、データ処理系統の異常を検出する。これにより、データ処理系統の異常の過検出を低減することができる。例えば、データ処理系統の異常ではない別の原因(例えば瞬時的なノイズなど)により認識処理コア301の出力が僅かな時間だけ異常となる場合に、データ処理系統の異常が誤検出される、という事態を回避することができる。これにより、データ処理系統の異常の検出を適切に行うことができる。
【0081】
(実施形態の変形例2)
また、複数の演算コア300の一部または全部は、認識処理コア301と異常検出コア302とに切り換えられるように構成されてもよい。例えば、
図3に示すように、3行4列の行列状に配列された12個の演算コア300の全部が認識処理コア301と異常検出コア302とに切り換え可能である場合、第1行目の演算コア300が異常検出コア302となり残りの演算コア300が認識処理コア301となる第1状態と、第2行目の演算コア300が異常検出コア302となり残りの演算コア300が認識処理コア301となる第2状態と、第3行目の演算コア300が異常検出コア302となり残りの演算コア300が認識処理コア301となる第3状態とが周期に切り換えられてもよい。
【0082】
〔実施形態の変形例2の効果〕
この実施形態の変形例2の演算装置20では、複数の演算コア300の一部または全部は、認識処理コア301と異常検出コア302とに切り換えられるように構成される。これにより、異常検出コア302となり異常検出処理を担当する演算コア300を異常検出処理の対象となる認識処理コア301に切り換えることができるので、異常検出処理の対象となる演算コア300の数を増加させることができる。
【0083】
(その他の実施形態)
以上の説明では、移動体として車両(自動四輪車)を例に挙げたが、これに限定されない。例えば、移動体は、船舶、列車、航空機、自動二輪車、自立移動型のロボット、掃除機、ドローンなどであってもよい。
【0084】
また、以上の説明では、二次元データ生成部43が制御チップ33に設けられる場合を例に挙げたが、これに限定されない。例えば、二次元データ生成部43は、人工知能アクセラレータ32に設けられてもよいし、その他の演算チップに設けられてもよい。なお、外部環境認識部21の他の構成(例えば前処理部40など)および演算装置20の他の構成(例えば候補経路生成部22など)についても同様のことがいえる。
【0085】
また、以上の説明では、外部環境認識部21が画像処理チップ31と人工知能アクセラレータ32と制御チップ33とにより構成される場合を例に挙げたが、これに限定されない。例えば、外部環境認識部21は、2つ以下の演算チップにより構成されてもよいし、4つ以上の演算チップにより構成されてもよい。なお、外部環境認識部21の他の構成(例えば前処理部40など)および演算装置20の他の構成(例えば候補経路生成部22など)についても同様のことがいえる。
【0086】
また、以上の実施形態および変形例を適宜組み合わせて実施してもよい。以上の実施形態および変形例は、本質的に好ましい例示であって、この発明、その適用物、あるいはその用途の範囲を制限することを意図するものではない。