(57)【要約】  走行制御方法は、車両に搭載されたカメラ（１２ａ、１２ｂ）で車両の周囲を撮影して得られた画像に基づいて車両が走行した地点（ＣＫ１〜ＣＫ４）を学習し、車両から得られる車両信号に基づいて車両の走行軌跡を学習する。そして、カメラ（１２ａ、１２ｂ）で撮影して得られた画像に基づいて前記地点（ＣＫ１〜ＣＫ４）を車両が通過したか否かを判断し、地点（ＣＫ１〜ＣＫ４）の間の目標軌跡（ＴＪ１〜ＴＪ４）として、車両信号に基づいて学習した走行軌跡を用いて車両の走行制御を行う。
2018235171.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載されたカメラで前記車両の周囲を撮影して得られた画像に基づいて前記車両が走行した地点を学習し、学習した前記地点を再び通過するように前記車両の走行制御を行う走行制御方法であって、
前記地点を学習する時に、前記車両から得られる車両信号に基づいて、前記車両の走行軌跡を学習し、
前記走行制御を行う時に、前記カメラで撮影して得られた画像に基づいて、前記地点を前記車両が通過したか否かを判断し、
前記地点の間の目標軌跡として、前記車両信号に基づいて学習した前記走行軌跡を用いて、前記車両の走行制御を行う
走行制御方法。
【請求項２】
請求項１記載の走行制御方法であって、
前記地点を学習する時に、前記車両から得られる車両信号に基づいて、前記地点の間の前記車両の走行軌跡を学習する
走行制御方法。
【請求項３】
請求項１もしくは２に記載の走行制御方法であって、
前記地点を通過したと判断した時に、前記地点から次の地点までの前記走行軌跡を前記目標軌跡に設定し、
前記地点を通過したと判断した時の前記車両の位置及び進行方向を用いて前記目標軌跡を補正し、
前記地点を通過していないと判断する場合には、設定した前記目標軌跡の補正を禁止する
走行制御方法。
【請求項４】
請求項３に記載の走行制御方法であって、
前記目標軌跡から前記車両の位置までの距離を算出し、
前記距離が所定値以上である場合には、前記地点を通過していないと判断する
走行制御方法。
【請求項５】
請求項１〜４のいずれか一項に記載の走行制御方法であって、
前記車両の周囲の画像に基づいて前記車両の第１の移動値を検出し、
前記車両から出力される車両信号に基づいて前記車両の第２の移動値を検出し、
前記第１の移動値と前記第２の移動値とを比較し、
比較結果に基づいて、前記カメラからの出力値を補正する
走行制御方法。
【請求項６】
請求項５に記載の走行制御方法であって、
前記カメラからの出力値として、前記車両の進行方向の出力値及び前記進行方向に垂直な方向の出力値を補正する
走行制御方法。
【請求項７】
請求項５又は６に記載の走行制御方法であって、
前記出力値の補正は、前記車両の直進時に実行する
走行制御方法。
【請求項８】
車両に搭載されたカメラで前記車両の周囲を撮影して得られた画像に基づいて前記車両が走行した地点を学習する学習回路と、学習した前記地点を再び通過するように前記車両の走行制御を行う走行制御回路と、を備える走行制御装置であって、
前記学習回路は、前記車両から得られる車両信号に基づいて、前記車両の走行軌跡を学習し、
前記走行制御回路は、
前記カメラで撮影して得られた画像に基づいて、前記地点を前記車両が通過したか否かを判断し、
前記地点の間の目標軌跡として、前記車両信号に基づいて学習した前記走行軌跡を用いて、前記走行制御を行う
走行制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、走行制御方法及び走行制御装置に関する。
【背景技術】
【０００２】
従来から、互いに異なる時刻にカメラで撮影された物体の画像上の位置の差とカメラの移動量とに基づいて物体の３次元位置を計測する３次元位置計測装置が知られている（特許文献１参照）。特許文献１では、処理対象の画像から抽出された抽出特徴点のうち、３次元位置が確定した抽出特徴点を除く抽出特徴点を、次の処理対象の画像から抽出される特徴点との照合に使用することにより、処理時間の増加を抑制している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１０６０９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このように、カメラを用いて周囲の物体（特徴点）の３次元位置を計測することにより、物体（特徴点）の３次元位置から成る地図を作成できると同時に、当該地図上の車両が通過した地点を特定することもできる。そして、車両が走行した地点を再び通過するような走行計画を立て、当該走行計画に基づいて車両の走行制御を行うことが可能となる。【０００５】
車両の走行制御を行う際に、カメラを用いて地点を再び通過したか否かを精度良く確認することができる。しかし、カメラを用いたビジュアルオドメトリで検出される車両の移動量の検出精度は、車両から特徴点までの距離が長くなる程低下してしまう。このため、地図上の移動量と現実の移動量との間に大きな誤差が発生してしまう。よって、ビジュアルオドメトリで検出された車両の移動量を用いて車両の走行計画を立て、当該走行計画に沿って車両の走行制御を行った場合、現実の環境に沿って走行できない恐れがある。【０００６】
本発明は、このような従来の課題に鑑みてなされたものであり、その目的は、現実の環境に沿って正確に走行することである。
【課題を解決するための手段】
【０００７】
本発明の一態様に係わる走行制御装置の走行制御方法は、車両に搭載されたカメラで車両の周囲を撮影して得られた画像に基づいて車両が走行した地点を学習し、車両から得られる車両信号に基づいて車両の走行軌跡を学習する。そして、カメラで撮影して得られた画像に基づいて地点を車両が通過したか否かを判断し、地点の間の目標軌跡として、車両信号に基づいて学習した走行軌跡を用いて車両の走行制御を行う。
【発明の効果】
【０００８】
本発明の一態様によれば、現実の環境に沿って正確に走行できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係わる走行制御装置の全体構成を示す機能ブロック図である。
【図２】図２は、学習部２３の動作の一例を示すフローチャートである。
【図３】図３は、走行制御部３１の動作の一例を示すフローチャートである。
【図４Ａ】図４Ａは、カメラ（１２ａ、１２ｂ）の取り付け角度（ヨー角）が正しい場合の直進状態の車両の姿勢を示す図である。
【図４Ｂ】図４Ｂは、カメラ（１２ａ、１２ｂ）の取り付け角度（ヨー角）が傾いている場合の直進状態の車両の姿勢を示す図である。
【図４Ｃ】図４Ｃは、カメラ（１２ａ、１２ｂ）の車両の前後方向の取り付け位置が正しい場合の車両の旋回軌跡を示す図である。
【図４Ｄ】図４Ｄは、カメラ（１２ａ、１２ｂ）の車両の前後方向の取り付け位置がずれている場合の車両の旋回軌跡を示す図である。
【図５】図５は、オートキャリブレーションの手順の一例を示すフローチャートである。
【図６Ａ】図６Ａは、ビジュアルオドメトリで学習した地図上における、特徴点（ＦＰ１〜ＦＰ４）に対するチェックポイント（ＣＫ１〜ＣＫ４）の相対位置、各特徴点（ＦＰ１〜ＦＰ４）の間の相対位置、チェックポイント（ＣＫ１〜ＣＫ４）からの目標軌跡（車両オドメトリ：ＴＪ１〜ＴＪ４）を示す図である。
【図６Ｂ】図６Ｂは、実際の車両の動きを示す図であり、特徴点（ＦＰ１〜ＦＰ４）に対するチェックポイント（ＣＫ１〜ＣＫ４）の相対位置、各特徴点（ＦＰ１〜ＦＰ４）の間の相対位置、チェックポイント（ＣＫ１〜ＣＫ４）からの目標軌跡（車両オドメトリ：ＴＪ１〜ＴＪ４）を示す。
【発明を実施するための形態】
【００１０】
次に、図面を参照して、実施形態を詳細に説明する。
【００１１】
＜走行制御装置＞
図１を参照して、実施形態に係わる走行制御装置の全体構成を説明する。走行制御装置は、カメラ（１２ａ、１２ｂ）と、車両センサ１３と、カメラ（１２ａ、１２ｂ）及び車両センサ１３から得られたデータを記録する記録装置１５と、車両の走行制御を実行する車両アクチュエータ１４と、コントローラ１１とを備える。
【００１２】
カメラ（１２ａ、１２ｂ）は、車両に搭載されたステレオカメラであって、車両の周囲を撮像して画像データを生成する。カメラ（１２ａ、１２ｂ）は、車両の周囲の物体を複数の異なる方向から同時に撮影することにより、視差情報に基づき物体の奥行き情報を取得することができる。つまり、カメラ（１２ａ、１２ｂ）を用いて車両の周囲の物体の３次元位置を計測することが可能となる。勿論、単眼カメラで撮像した１枚の画像から距離情報を取得しても構わない。
【００１３】
車両センサ１３は、車両に搭載され、車両から得られる様々な情報（車両信号）を検出する。車両センサ１３には、例えば、車両の走行速度（車速）を検出する車速センサ、車両が備える各タイヤの回転速度を検出する車輪速センサ、車両の３軸方向の加速度（減速度を含む）を検出する３軸加速度センサ（Ｇセンサ）、操舵角（転舵角を含む）を検出する操舵角センサ、車両に生じる角速度を検出するジャイロセンサ、ヨーレートを検出するヨーレートセンサが含まれる。
【００１４】
車両アクチュエータ１４は、車両の走行に関わるアクセル、ブレーキ、ステアリングの操作を実行する駆動部である。車両アクチュエータ１４には、例えば、アクセルペダルを操作するアクセルペダルアクチュエータ、制動力を制御するブレーキアクチュエータ、舵角を制御するステアリングアクチュエータが含まれる。
【００１５】
コントローラ１１は、カメラ（１２ａ、１２ｂ）及び車両センサ１３により得られるデータに基づいて車両が通過した地点及び走行軌跡を学習し、学習結果に基づいて車両アクチュエータ１４を制御することにより車両の走行制御を行う。尚、本実施形態において実行する走行制御は、学習した走行軌跡に基づいて走行するように制御されればよく、アクチュエータ１４の内、アクセルペダルアクチュエータ、ブレーキアクチュエータ、ステアリングアクチュエータの少なくとも何れかが制御されていればよい。また走行制御においては、乗員の介入なしに車両を走行させる自動運転、ドライバーの介入に基づいて車両を走行させる手動運転に用いることができる。手動運転に用いる場合は、走行軌跡に基づいて走行できるように、乗員の介入をアシストする。
【００１６】
コントローラ１１は、ＣＰＵ（中央処理装置）、メモリ、及び入出力部を備える汎用のマイクロコンピュータを用いて実現可能である。コントローラ１１には、走行制御装置として機能させるためのコンピュータプログラム（走行制御プログラム）がインストールされ、メモリに記憶されている。コンピュータプログラムを実行することにより、コントローラ１１は、走行制御装置が備える複数の情報処理回路（２１、２２、２３、３１）として機能する。なお、実施形態では、ソフトウェアによって走行制御装置が備える複数の情報処理回路（２１、２２、２３、３１）を実現する例を示すが、もちろん、以下に示す各情報処理を実行するための専用のハードウェアを用意して、情報処理回路（２１、２２、２３、３１）を構成することも可能である。また、複数の情報処理回路（２１、２２、２３、３１）を個別のハードウェアにより構成してもよい。更に、情報処理回路（２１、２２、２３、３１）は、車両に関わる他の制御に用いる電子制御ユニット（ＥＣＵ）と兼用してもよい。
【００１７】
コントローラ１１は、複数の情報処理回路として、画像取得部２１と、車両信号取得部２２と、学習部２３と、走行制御部３１とを備える。学習部２３は、チェックポイント学習部２９と、車両オドメトリ学習部３０とを備える。走行制御部３１は、通過確認部２４と、目標軌跡設定部２５と、車両制御部２６とを備える。
【００１８】
記録装置１５は、学習部２３による学習結果を保存する軌跡画像記録部２７及び軌跡記録部２８を備える。軌跡画像記録部２７には、チェックポイント学習部２９による学習結果が記録され、軌跡記録部２８には、車両オドメトリ学習部３０による学習結果が記録される。
【００１９】
画像取得部２１は、カメラ（１２ａ、１２ｂ）の撮影により得られた画像データを取得する。詳細には、画像取得部２１は、画像データと共に、その撮影タイミングを示すタイムスタンプも同時に取得する。車両信号取得部２２は、車両センサ１３からの検出結果を、車両から得られる車両信号として取得する。詳細には、車両信号取得部２２は、車両信号と共に、その検出タイミングを示すタイムスタップも同時に取得する。撮像タイミング及び検出タイミングの各々を示すタイムスタップを、画像データ及び車両信号と共に受信することにより、画像データ及び車両信号を時間軸により関連付けることが可能となる。
【００２０】
学習部２３（学習回路）は、車両が走行した地点（チェックポイント）と、走行軌跡を、同時に並行して学習することができる。
【００２１】
チェックポイント学習部２９は、カメラ（１２ａ、１２ｂ）の画像データに基づいて、地図、及び地図上における車両の位置及び車両の走行軌跡を算出する。算出方法は特に問わず、既存の方法を用いることができる。例えば、先ず、カメラ（１２ａ、１２ｂ）の画像の中から特徴点をそれぞれ抽出し、特徴点のステレオマッチング処理及び視差情報に基づき、特徴点の３次元位置を特定する。そして、車両が走行しながら繰り返し撮像を行い、フレーム（画像）間で特徴点のマッチング処理を行うことにより、車両の走行軌跡を算出することができる。これらのマッチング処理により、チェックポイント学習部２９は、複数のフレームから抽出された複数の特徴点の３次元位置を１つの地図（環境マップを含む）上に表すことができる。また同時に、地図上における車両の位置及び車両の走行軌跡を特定することもできる。なお、カメラ（１２ａ、１２ｂ）の画像に基づいて算出される車両の走行軌跡を「ビジュアルオドメトリ（ＶＯ）」と呼ぶ。
【００２２】
更に、チェックポイント学習部２９は、カメラ（１２ａ、１２ｂ）の画像データに基づいて、車両が走行した地点（チェックポイント）を学習する。具体的には、チェックポイントを、当該地点を車両が通過したときに撮影した画像に基づいて学習する。例えば、チェックポイント学習部２９は、当該画像から抽出された特徴点の画像上の位置、又は特徴点の３次元位置に基づいて、チェックポイントを学習すればよい。
【００２３】
地図、チェックポイントに関わる画像データ、及び特徴点の位置情報を含むチェックポイント学習部２９の学習結果は、軌跡画像記録部２７に記録される。
【００２４】
車両オドメトリ学習部３０は、車両センサ１３により検出された車両信号に基づいて、車両の走行軌跡を算出し、学習する。走行軌跡の算出方法は、特に問わず、既存の方法を用いることができる。例えば、左右のタイヤの回転角度の差からヨーレートを算出し、ヨーレートを積分することにより車両のヨー角（車両の姿勢、進行方向を含む）を算出すればよい。勿論、ヨーレートセンサを用いても構わない。また、車両が備えるタイヤの回転量から車両の移動量を算出することができる。車両信号に基づいて算出される車両の走行軌跡を「車両オドメトリ」と呼ぶ。車両の走行軌跡を含む学習結果は、軌跡記録部２８に記録される。尚、車両オドメトリ学習部３０は、チェックポイントの間毎に分割して走行軌跡を学習してもよく、分割せず車両軌跡を学習するようにしてもよい。分割する際は、所定時間毎にでもよく、シーン毎（例えば、直進、カーブ、高速道、一般道、交差点）でもよく、分割する方法は問わない。
【００２５】
なお、チェックポイント学習部２９及び車両オドメトリ学習部３０は、車両の走行中に並行して、チェックポイント及び走行軌跡（車両オドメトリ）を学習することができる。チェックポイント及び走行軌跡（車両オドメトリ）を同時に学習してもよいし、いずれか一方を他方よりも先に学習しても構わない。
【００２６】
このようにして、学習部２３は、チェックポイントと、走行軌跡（車両オドメトリ）を、同時に並行して学習することができる。
【００２７】
走行制御部３１（走行制御回路）は、学習部２３が学習したチェックポイント、及びチェックポイント間の走行軌跡に基づいて、車両の走行制御を行う。具体的には、チェックポイントを再び通過した否かを確認し、チェックポイントの間の目標軌跡として、車両信号に基づいて学習した走行軌跡（車両オドメトリ）を用いて、車両の走行制御を行う。
【００２８】
走行制御部３１は、ユーザからの指示の基に、学習部２９により作成された地図上において車両の走行計画を立てる。走行計画には、出発地（現在地を含む）、目的地、及び出発地から目的地までの走行経路上で通過するチェックポイントが含まれる。走行制御部３１は、走行計画に従って車両の走行制御を行う。
【００２９】
通過確認部２４は、チェックポイントを車両が通過したか否かを判断する。具体的には、先ず、チェックポイントを通過した時の画像（記録画像）及び記録画像中の特徴点の位置情報を、軌跡画像記録部２７から読み出す。そして、走行制御の時に撮影された画像（対象画像）中の特徴点と、記録画像中の特徴点との対応付けを行う。対応付けに成功した特徴点が所定の条件を満たした場合、チェックポイントにおけるカメラの位置及び姿勢を、走行制御時に再現できた判断できる。即ち、対象画像は、記録画像を取得した時と同じカメラの位置及び姿勢において取得された、と判断できる。よって、この場合、通過確認部２４は、チェックポイントを車両が通過したと判断する。
【００３０】
画像に基づくチェックポイントの学習は、車両の周囲環境から抽出された特徴点に結びつけられた形で車両の位置を学習することである。このため、学習結果である地図上のチェックポイントと現実のチェックポイントとの誤差は極めて小さい。よって、走行制御の時のチェックポイントの通過を高い再現性によって確認することができる。
【００３１】
なお、対応付けに成功した特徴点が所定の条件を満たしたか否かは、例えば、以下の方法を用いて判断することができる。先ず、記録画像中から抽出された特徴点の数をＦｓとする。対象画像中から抽出された特徴点のうち、記録画像中から抽出された特徴点と対応付けに成功した特徴点の数をＦｎとする。例えば、記録画像と対象画像との間で、車両に対する特徴点の相対位置のずれが所定値未満である場合、その特徴点は対応付けに成功したと判断する。画像通過確信度（Ｚ）を、Ｚ＝Ｆｎ／Ｆｓと定義する。画像通過確信度は、チェックポイントを車両が通過した可能性を示す。通過確認部２４は、画像通過確信度が０．８未満である場合、画像通過確信度が低いため、対応付けに成功した特徴点が所定の条件を満たしていない、つまり、チェックポイントを車両が通過していない、と判断する。通過確認部２４は、画像通過確信度が０．８以上である場合、対応付けに成功した特徴点が所定の条件を満たしている、つまり、チェックポイントを車両が通過したと判断する。
【００３２】
なお、通過確認部２４は、車両信号に基づく走行軌跡（車両オドメトリ）からチェックポイントにおける車両の姿勢の再現性を追加的に確認してもよい。チェックポイントを通過した時の走行軌跡（車両オドメトリ）を軌跡記録部２８から読み出し、チェックポイントを通過した時の車両の進行方向（学習進行方向）を特定する。そして、走行制御の時に画像に基づいて検出された車両の進行方向と、学習進行方向との対応付けを行う。通過確認部２４は、対応付けに成功した特徴点が所定の条件を満たし、且つ進行方向の対応付けに成功した場合、チェックポイントを車両が通過したと判断しても構わない。例えば、走行制御の時の進行方向と、学習進行方向との角度差が、５°以下であれば、進行方向の対応付けに成功したと判断すればよい。
【００３３】
更に、通過確認部２４は、特徴点の対応付けにより算出されるカメラのオフセット量、つまり、チェックポイントからのずれ量が所定値（２ｍ）以上である場合、画像通過確信度がゼロ（Ｚ＝０）であり、チェックポイントを車両が通過していないと判断してもよい。或いは、通過確認部２４は、目標軌跡設定部２５により設定された目標軌跡から車両の位置までの距離を算出し、当該距離が所定値（２ｍ）以上である場合、チェックポイントを車両が通過していないと判断しても構わない。
【００３４】
目標軌跡設定部２５は、チェックポイントの間の目標軌跡として、車両信号を用いて学習した走行軌跡（車両オドメトリ）を設定する。具体的には、通過確認部２４により第１のチェックポイントの通過が確認された場合に、第１のチェックポイントから第２のチェックポイントまでの走行軌跡を軌跡記録部２８から読み出し、第２のチェックポイント（次のチェックポイント）までの目標軌跡として、読み出した走行軌跡を設定する。第２のチェックポイントは、走行計画において、第１のチェックポイントの後に通過する予定のチェックポイントである。
【００３５】
目標軌跡設定部２５は、通過確認部２４によって第１のチェックポイントの通過が確認された時の車両の位置及び進行方向に基づいて、目標軌跡に対するオフセット量を算出する。第１のチェックポイントの通過が確認された時の、第１のチェックポイントからの車両の位置のずれ量、及び目標軌跡に対する車両の進行方向のずれ量を、目標軌跡にするオフセット量として算出する。目標軌跡設定部２５は、当該オフセット量に基づいて目標軌跡を補正する。具体的には、車両の位置及び進行方向のずれ量の各々が修正されるように、目標軌跡を補正する。目標軌跡が補正されなければ、第１のチェックポイントの通過確認時の車両の位置及び進行方向のずれ量は、第２のチェックポイントにおいても引き継がれてしまう。オフセット量に基づいて目標軌跡を補正することにより、補正後の目標軌跡に沿って車両を走行させることができる。これにより、次のチェックポイント（第２のチェックポイント）に向かって車両を走行させることができるので、次のチェックポイント（第２のチェックポイント）の通過可能性を高めることができる。
【００３６】
車両制御部２６は、目標軌跡設定部２５により設定され又は補正された地点間の走行軌跡と同じ軌道を走行するように、車両アクチュエータ１４を制御する。具体的な制御方法は問わず、既存の方法を用いればよい。例えば、走行制御時の車両信号から演算される走行軌跡フィードバック制御（例えば、ＰＩＤ制御）を用いて、車両アクチュエータ１４を制御することができる。
【００３７】
＜走行制御方法＞
次に、図２及び図３を参照して、走行制御装置の動作例を説明する。先ず、図２を参照して、学習部２３の動作例を説明する。
【００３８】
ステップＳ０１において、画像取得部２１は、カメラ（１２ａ、１２ｂ）を用いて車両の周囲を撮影して画像を取得する。画像取得部２１は、カメラ（１２ａ、１２ｂ）の撮影タイミングを同期させ、且つ、所定のフレームレート（１〜５ＦＰＳ）で繰り返し撮影する。
【００３９】
ステップＳ０３に進み、チェックポイント学習部２９は、カメラ（１２ａ、１２ｂ）の画像の中から特徴点をそれぞれ抽出する。
【００４０】
ステップＳ０５に進み、チェックポイント学習部２９は、特徴点のステレオマッチング処理及び画像の視差情報に基づき、特徴点の３次元位置を特定する。そして、特徴点に対する車両の相対位置を、車両が走行した地点（チェックポイント）として学習する。チェックポイント学習部２９は、チェックポイントに関わる画像データ、及び特徴点の位置情報を含む学習結果を、軌跡画像記録部２７に記録する。本動作例において、フレーム（画像）間で特徴点のマッチング処理を行わなくてもよい。つまり、複数のフレームから抽出された複数の特徴点の３次元位置を示す地図は作成しなくてもよい。
【００４１】
ステップＳ０７に進み、車両オドメトリ学習部３０は、車両センサ１３により検出された車両信号に基づいて、車両の走行軌跡を算出し、学習する。車両オドメトリ学習部３０は、車両の走行軌跡を含む学習結果を、軌跡記録部２８に記録する。なお、本動作例のみならず、ステップＳ０１〜Ｓ０５とステップＳ０７とを同時に並行して実行してもよいし、ステップＳ０７をステップＳ０１〜Ｓ０５よりも前に実施しても構わない。
【００４２】
次に、図３を参照して、走行制御部３１の動作例を説明する。ステップＳ１１において、通過確認部２４は、チェックポイントを通過した時の画像（記録画像）及び記録画像中の特徴点の位置情報を、軌跡画像記録部２７から読み出す。
【００４３】
ステップＳ１３に進み、画像取得部２１は、カメラ（１２ａ、１２ｂ）を用いて車両の周囲を撮影して画像を取得する。画像取得部２１は、カメラ（１２ａ、１２ｂ）の撮影タイミングを同期させ、且つ、所定のフレームレート（１〜５ＦＰＳ）で繰り返し撮影する。
【００４４】
ステップＳ１５に進み、通過確認部２４は、ステップＳ１３で取得した画像（対象画像）の中から特徴点をそれぞれ抽出する。ステップＳ１７に進み、通過確認部２４は、ステップＳ１５において抽出された特徴点と、読み出した記録画像中の特徴点との対応付けを行う。
【００４５】
ステップＳ１９に進み、通過確認部２４は、車両オドメトリから車両の進行方向を算出する。ステップＳ２１に進み、通過確認部２４は、特徴点の対応付けの結果を画像通過確信度（Ｚ）として算出する。ステップＳ２３に進み、通過確認部２４は、画像通過確信度（Ｚ）が０．８以上であるか否かを判断する。更に、通過確認部２４は、チェックポイントを通過した時の車両の進行方向（学習進行方向）と、ステップＳ１９で算出した走行制御の時の進行方向とを対比する。通過確認部２４は、走行制御の時の進行方向と、学習進行方向との角度差が、５°以下であるか否かを判断する。
【００４６】
画像通過確信度（Ｚ）が０．８以上であり、且つ角度差が５°以下である場合（Ｓ２３でＹＥＳ）、チェックポイントを車両が通過したと判断して、ステップＳ２５へ進む。一方、画像通過確信度（Ｚ）が０．８未満であるか、或いは、角度差が５°未満である場合（Ｓ２３でＮＯ）、チェックポイントを車両が通過していないと判断して、ステップＳ１３へ戻る。
【００４７】
ステップＳ２５において、目標軌跡設定部２５は、チェックポイントの通過が確認された時（ステップＳ２３でＹＥＳ）の車両の位置を基準にして、次のチェックポイントまでの目標軌跡として、ステップＳ０７において学習した走行軌跡（車両オドメトリ）を設定する。
【００４８】
ステップＳ２７に進み、目標軌跡設定部２５は、チェックポイントの通過が確認された時の車両の位置を基準にして、目標軌跡に対するオフセット量を算出する。具体的には、チェックポイントからの車両の位置のずれ量、及び目標軌跡に対する車両の進行方向のずれ量を、算出する。ステップＳ２９に進み、目標軌跡設定部２５は、車両の位置及び進行方向のずれ量の各々が修正されるように、オフセット量に基づいてステップＳ２５で設定した目標軌跡を補正する。
【００４９】
ステップＳ３１に進み、通過確認部２４は、次のチェックポイントを設定する。具体的には、次のチェックポイントを通過した時の画像（記録画像）及び記録画像中の特徴点の位置情報を、軌跡画像記録部２７から読み出す。
【００５０】
ステップＳ３３に進み、車両制御部２６は、ステップＳ２９において補正された走行軌跡と同じ軌道を走行するように、車両アクチュエータ１４を制御する。ステップＳ３５に進み、走行制御部３１は、走行計画における目的地に到達したか否かは判断し、目的地に到達するまで、繰り返し、ステップＳ１１〜３３を実行する。
【００５１】
＜キャリブレーション＞
次に、カメラ（１２ａ、１２ｂ）の取り付け位置及び取り付け角度のキャリブレーションについて説明する。カメラ（１２ａ、１２ｂ）の取り付け位置又は取り付け角度には固体誤差が生じる。また、カメラ（１２ａ、１２ｂ）の取り付け位置及び角度は、走行距離又は走行時間と共に変化する可能性がある。車両の走行制御を行う時（オンライン時）のカメラ（１２ａ、１２ｂ）の取り付け位置又は取り付け角度が、チェックポイント及び走行軌跡を学習する時（オフライン時）の取り付け位置又は取り付け角度から変化する可能性がある。
【００５２】
カメラ（１２ａ、１２ｂ）の取り付け位置又は取り付け角度がずれている場合、カメラ（１２ａ、１２ｂ）の移動量が正しく求められても、車両の移動量が正しく求められない。例えば、車両の速度が同じであっても、カメラ（１２ａ、１２ｂ）の取り付け角度（ピッチ角）が異なれば、画像上において特徴点の移動速度が変化する。これにより、車両の移動量に誤差が生じてしまう。この他に、図４Ａに示すように、カメラ（１２ａ、１２ｂ）の取り付け角度（ヨー角）が正しい場合、直進状態の車両の姿勢を正しく求めることができる。しかし、図４Ｂに示すように取り付け角度が傾いている場合、車両の移動を正しく求めることができない。また、図４Ｃ及び図４Ｄに示すように、カメラ（１２ａ、１２ｂ）の取り付け位置が車両の前後方向にずれている場合、車両が旋回する時に、カメラ（１２ａ、１２ｂ）の移動軌跡を正しく求めることはできるが、車両の走行軌跡を正しく求めることができない。
【００５３】
そこで、走行中において、カメラ（１２ａ、１２ｂ）の取り付け位置又は取り付け角度の校正（オートキャリブレーション）を行うことが望ましい。図５を参照して、オートキャリブレーションの手順の一例を説明する。
【００５４】
先ず、ステップＳ５１において、画像取得部２１は、カメラ（１２ａ、１２ｂ）を用いて車両の周囲を撮影して画像を取得する。ステップＳ５３に進み、チェックポイント学習部２９は、特徴点のステレオマッチング処理及び視差情報に基づき、特徴点の３次元位置を特定する。そして、フレーム（画像）間で特徴点のマッチング処理を行うことにより、車両の走行軌跡（ビジュアルオドメトリ）を算出する。ビジュアルオドメトリからカメラ（１２ａ、１２ｂ）の移動量を算出する。
【００５５】
ステップＳ５５に進み、車輪速センサは、各タイヤの回転速度を検出し、車両オドメトリ学習部３０は、回転速度を時間で積分することにより、各タイヤの回転量を検出する。ステップＳ５７に進み、車両オドメトリ学習部３０は、ジャイロセンサを用いて車両の回転量（ヨー角）を検出する。ステップＳ５９に進み、車両オドメトリ学習部３０は、各タイヤの回転量及び車両の回転量（ヨー角）に基づいて、車両の走行軌跡（車両オドメトリ）を算出する。
【００５６】
ステップＳ６１に進み、コントローラ１１は、キャリブレーションが可能な場所を車両が走行しているか否かを判断する。具体的には、ビジュアルオドメトリを求める為に必要な数の特徴点を得られる場所であることを確認する。画像上における輝度変化が少ない場所や光量の少ない場所を走行している場合、コントローラ１１は、キャリブレーションが可能な場所ではないと判断して、キャリブレーションの処理を中断する。
【００５７】
なお、ビジュアルオドメトリでは、フレーム間での特徴点のマッチング処理によって複数の特徴点を追跡しながらカメラ（１２ａ、１２ｂ）の進行方向を推定する。このため、遠方が見通せない場所、点滅する点を特徴点とする場所、スラロームなどの直線状に走行できない場所であっても、複数の特徴点を用いて進行方向の計測を継続することができる。
【００５８】
キャリブレーションが可能な場所であると判断された場合には、ステップＳ６３に進み、コントローラ１１は、ステップＳ５３で算出した車両の走行軌跡（第１の移動値：ビジュアルオドメトリ）と、ステップＳ５９で算出した車両の走行軌跡（第２の移動値：車両オドメトリ）とを比較して、比較結果として走行軌跡の差違を算出する。ステップＳ６５に進み、走行軌跡の差違に基づいて、カメラ（１２ａ、１２ｂ）からの出力値を補正する。カメラ（１２ａ、１２ｂ）からの出力値には、カメラ（１２ａ、１２ｂ）から出力された画像上の特徴点の位置が含まれる。具体的には、コントローラ１１は、ビジュアルオドメトリと車両オドメトリの比較結果に基づいて、カメラ（１２ａ、１２ｂ）の取り付け位置及び取り付け角度（ヨー角、ピッチ角）のずれを算出する。そして、当該ずれが修正されるように、画像上の特徴点の位置を補正する。これにより、走行中にカメラ（１２ａ、１２ｂ）のキャリブレーションを実行することができ、カメラ（１２ａ、１２ｂ）の取り付け位置及び取り付け角度を正確に特定できる。
【００５９】
なお、カメラ（１２ａ、１２ｂ）からの出力値として、車両の進行方向の出力値及び進行方向に垂直な方向の出力値を補正してもよい。これにより、車両の進行方向に平行な方向に誤差が発生した時に、垂直方向に出力値の補正を正確に実施することが可能となる。
【００６０】
また、カメラ（１２ａ、１２ｂ）からの出力値の補正は、車両の直進時に実行してもよい。つまり、図５のステップＳ６１において、車両が直進状態であることを確認した上で、処理を進めてもよい。具体的には、「車両は、直進している時は、正面を向いている」ことを利用して、カメラ（１２ａ、１２ｂ）の取り付け角度（ヨー角）のキャリブレーションを行う。車両が直進状態である場合、画像上において特徴点は一定した動きを取り、特徴点を見失うことなく安定して検出することができる。このため、ビジュアルオドメトリを用いることにより、車両が直進状態か否かを高精度に判断することができる。スラローム走行時においても、局所的に直進状態となる区間を抽出して、キャリブレーションを実行することができる。これにより、システムの稼働時間を増やすことができる。
【００６１】
以上説明したように、実施形態によれば、以下の作用効果が得られる。
【００６２】
実施形態に関わる走行制御装置は、車両の周囲の物体の３次元位置からなる地図を作成すると同時に、地図上の車両が通過した地点（チェックポイント）、及び走行軌跡（車両オドメトリ）を学習し、学習したチェックポイントを再び通過し、学習した走行軌跡（車両オドメトリ）に沿って走行するように車両の走行制御を行う。
【００６３】
実施形態では、車両から得られる車両信号に基づいて車両の走行軌跡（車両オドメトリ）を学習する。車両オドメトリで学習した局所的な移動量の精度は、ビジュアルオドメトリで学習した局所的な移動量の精度に比べて高い。特に、特徴点までの距離が長い画像に基づいて学習した局所的な移動量の精度は著しく低下する。そこで、カメラ（１２ａ、１２ｂ）を用いてチェックポイントを学習し、走行軌跡を車両オドメトリで学習する。これにより、学習した地点間の走行軌跡（車両オドメトリ）と現実の走行軌跡との誤差を抑制し、現実の環境に沿った正確な走行制御を実行できるようになる。
【００６４】
また、実施形態に関わる走行制御装置は、車両の周囲の物体の３次元位置からなる地図を作成すると同時に、地図上の車両が通過した地点（チェックポイント）、及び通過したチェックポイント間の走行軌跡（車両オドメトリ）を学習し、学習したチェックポイントを再び通過し、学習した走行軌跡（車両オドメトリ）に沿って走行するように車両の走行制御を行う。
【００６５】
これにより、走行制御を行う時に、チェックポイント間の目標軌跡として、高精度の車両オドメトリで学習した走行軌跡を用いることができる。このため、現実の走行軌跡から大きく逸脱することがないので、大きな修正操舵が発生せず、高い再現性で走行軌跡に沿って車両を走行させることができる。
【００６６】
画像に基づく地点（チェックポイント）の学習は、周囲環境から抽出された特徴点に結びつけられた形で車両の位置を学習することである。このため、学習結果である地図上の地点と現実の地点との誤差は極めて小さい。よって、チェックポイント間の走行軌跡の誤差は、チェックポイントの通過確認によって修正することができる。しかし、ビジュアルオドメトリで学習した車両の移動量の精度は、特徴点までの距離が長いほど、低下する。よって、ビジュアルオドメトリで走行軌跡を学習した場合、走行軌跡に含まれる誤差が大きくなる。このため、地点（チェックポイント）において大きな位置ずれが発見され、その後、大きな修正操舵が発生してしまう。
【００６７】
図６Ａ及び図６Ｂに示すように、各特徴点（ＦＰ１〜ＦＰ４）までの距離が短い車両の位置をチェックポイント（ＣＫ１〜ＣＫ４）に設定することにより、チェックポイント（ＣＫ１〜ＣＫ４）の通過を精度よく判断できる。一方、チェックポイント（ＣＫ１〜ＣＫ４）の間の目標軌跡（ＴＪ１〜ＴＪ４）は、高精度の車両オドメトリで学習した走行軌跡を用いる。
【００６８】
本実施形態によれば、チェックポイントの間の目標軌跡として、高精度の車両オドメトリで学習した走行軌跡を用いることができる。よって、大きな修正操舵が発生せず、高い再現性で走行軌跡に沿って車両を走行させることができる。よって、現実の環境に沿った正確な走行制御を実行できるようになる。
【００６９】
図６Ａに示すように、ビジュアルオドメトリで学習した地図上において、特徴点（ＦＰ１〜ＦＰ４）に対するチェックポイント（ＣＫ１〜ＣＫ４）の相対位置は、ビジュアルオドメトリによって正確に求めることができる。しかし、特徴点（ＦＰ１〜ＦＰ４）の間の相対位置は、正確ではない。よって、図６Ａに示すように、ビジュアルオドメトリで学習した地図では、チェックポイント（ＣＫ１〜ＣＫ４）間の目標軌跡（ＴＪ１〜ＴＪ４）は、互いに非連続となる。しかし、実際には、図６Ｂに示すように、チェックポイント（ＣＫ１〜ＣＫ４）間の目標軌跡（ＴＪ１〜ＴＪ４）は、連続した軌道となり、一度走行した軌道を高い精度で再現することができる。すなわち、学習したチェックポイント（ＣＫ１〜ＣＫ４）を再び通過し、学習した走行軌跡（ＴＪ１〜ＴＪ４）に沿って走行するように車両の走行制御を行うことができる。逆に、図６Ａに示す地図上において連続した１つの軌道となるように、チェックポイント（ＣＫ１〜ＣＫ４）間の目標軌跡（図示せず）を設定した場合、実際の走行軌跡から大きく逸脱してしまい、チェックポイント（ＣＫ１〜ＣＫ４）において大きな位置ずれが発見され、その後、大きな修正操舵が発生してしまう。
【００７０】
チェックポイントを学習する時に、車両から得られる車両信号に基づいて、チェックポイントの間の車両の走行軌跡を学習することもできる。つまり、チェックポイント毎に分割して走行軌跡を学習してもよい。或いは、所定時間毎、又は走行シーン毎（例えば、直進、カーブ、高速道、一般道、交差点）に分割して学習してもよい。局所的に精度の高い走行軌跡を学習することができる。
【００７１】
コントローラ１１は、チェックポイントを通過したと判断した時に、チェックポイントから次のチェックポイントまでの走行軌跡（車両オドメトリ）を目標軌跡に設定し、チェックポイントを通過したと判断した時の車両の位置及び進行方向を用いて目標軌跡を補正する。コントローラ１１は、チェックポイントを通過していないと判断する場合には、設定した目標軌跡の補正を禁止する。これにより、基準位置ではない車両の位置から目標軌跡を補正することを抑制することができる。
【００７２】
コントローラ１１は、目標軌跡から車両の位置までの距離を算出し、距離が所定値以上である場合には、チェックポイントを通過していないと判断する。目標軌跡から車両の位置までの距離が所定値以上である場合には、画像通過確信度（Ｚ）が低い可能性が高い。つまり、チェックポイントを通過していない可能性が高い。そこで、目標軌跡から車両の位置までの距離が所定位置以上である場合にはチェックポイントを通過していないと判断する。これにより、目標軌跡の補正が禁止されるため、誤った情報（基準位置ではない車両位置）から目標軌跡を補正することを抑制することができる。
【００７３】
以上、実施形態に沿って本発明の内容を説明したが、本発明はこれらの記載に限定されるものではなく、種々の変形及び改良が可能であることは、当業者には自明である。
【符号の説明】
【００７４】
１２ａ、１２ｂ  カメラ
２３  学習部（学習回路）
３１  走行制御部（走行制御回路）
ＣＫ１〜ＣＫ４  チェックポイント（地点）
ＦＰ１〜ＦＰ４  特徴点
ＴＪ１〜ＴＪ４  目標軌跡
【図１】
2018235171.tif 000003
【図２】
2018235171.tif 000004
【図３】
2018235171.tif 000005
【図４Ａ】
2018235171.tif 000006
【図４Ｂ】
2018235171.tif 000007
【図４Ｃ】
2018235171.tif 000008
【図４Ｄ】
2018235171.tif 000009
【図５】
2018235171.tif 000010
【図６Ａ】
2018235171.tif 000011
【図６Ｂ】
2018235171.tif 000012
【手続補正書】
【提出日】平成30年2月20日(2018.2.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
車両に搭載されたカメラで前記車両の周囲を撮影して得られた画像に基づいて前記車両が走行した地点を学習し、学習した前記地点を再び通過するように前記車両の走行制御を行う走行制御方法であって、
前記地点を学習する時に、前記車両から得られる車両信号に基づいて、前記車両の走行軌跡を学習し、
前記走行制御を行う時に、前記カメラで撮影して得られた画像に基づいて、前記地点を前記車両が通過したか否かを判断し、
前記地点の何れかの地点を通過した場合に、前記何れかの地点の次の地点までの目標軌跡として、前記車両信号に基づいて学習した前記走行軌跡を用いて、前記車両の走行制御を行い、
前記カメラで撮影して得られた画像に基づいて、前記次の地点を車両が通過したか否かを判断する
走行制御方法。
【請求項２】
請求項１記載の走行制御方法であって、
前記地点を学習する時に、前記車両から得られる車両信号に基づいて、前記地点の間の前記車両の走行軌跡を学習する
走行制御方法。
【請求項３】
請求項１もしくは２に記載の走行制御方法であって、
前記何れかの地点を通過したと判断した時に、前記何れかの地点から前記次の地点までの前記走行軌跡を前記目標軌跡に設定し、
前記何れかの地点を通過したと判断した時の前記車両の位置及び進行方向を用いて前記目標軌跡を補正し、
前記何れかの地点を通過していないと判断する場合には、設定した前記目標軌跡の補正を禁止する
走行制御方法。
【請求項４】
請求項３に記載の走行制御方法であって、
前記目標軌跡から前記車両の位置までの距離を算出し、
前記距離が所定値以上である場合には、前記何れかの地点を通過していないと判断する
走行制御方法。
【請求項５】
請求項１〜４のいずれか一項に記載の走行制御方法であって、
前記車両の周囲の画像に基づいて前記車両の第１の移動値を検出し、
前記車両から出力される車両信号に基づいて前記車両の第２の移動値を検出し、
前記第１の移動値と前記第２の移動値とを比較し、
比較結果に基づいて、前記カメラからの出力値を補正する
走行制御方法。
【請求項６】
請求項５に記載の走行制御方法であって、
前記カメラからの出力値として、前記車両の進行方向の出力値及び前記進行方向に垂直な方向の出力値を補正する
走行制御方法。
【請求項７】
請求項５又は６に記載の走行制御方法であって、
前記出力値の補正は、前記車両の直進時に実行する
走行制御方法。
【請求項８】
車両に搭載されたカメラで前記車両の周囲を撮影して得られた画像に基づいて前記車両が走行した地点を学習する学習回路と、学習した前記地点を再び通過するように前記車両の走行制御を行う走行制御回路と、を備える走行制御装置であって、
前記学習回路は、前記車両から得られる車両信号に基づいて、前記車両の走行軌跡を学習し、
前記走行制御回路は、
前記カメラで撮影して得られた画像に基づいて、前記地点を前記車両が通過したか否かを判断し、
前記地点の何れかの地点を通過した場合に、前記何れかの地点の次の地点までの目標軌跡として、前記車両信号に基づいて学習した前記走行軌跡を用いて、前記走行制御を行い、
前記カメラで撮影して得られた画像に基づいて、前記次の地点を車両が通過したか否かを判断する
走行制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
両の走行制御を行った場合、現実の環境に沿って走行できない恐れがある。
［０００６］
本発明は、このような従来の課題に鑑みてなされたものであり、その目的は、現実の環境に沿って正確に走行することである。
課題を解決するための手段
［０００７］
本発明の一態様に係わる走行制御装置の走行制御方法は、車両に搭載されたカメラで車両の周囲を撮影して得られた画像に基づいて車両が走行した地点を学習し、車両から得られる車両信号に基づいて車両の走行軌跡を学習する。そして、カメラで撮影して得られた画像に基づいて地点を車両が通過したか否かを判断し、地点の何れかの地点を通過した場合に、何れかの地点の次の地点までの目標軌跡として、車両信号に基づいて学習した走行軌跡を用いて車両の走行制御を行い、カメラで撮影して得られた画像に基づいて、次の地点を車両が通過したか否かを判断する。
発明の効果
［０００８］
本発明の一態様によれば、現実の環境に沿って正確に走行できるようになる。
図面の簡単な説明
［０００９］
［図１］図１は、実施形態に係わる走行制御装置の全体構成を示す機能ブロック図である。
［図２］図２は、学習部２３の動作の一例を示すフローチャートである。
［図３］図３は、走行制御部３１の動作の一例を示すフローチャートである。
［図４Ａ］図４Ａは、カメラ（１２ａ、１２ｂ）の取り付け角度（ヨー角）が正しい場合の直進状態の車両の姿勢を示す図である。
［図４Ｂ］図４Ｂは、カメラ（１２ａ、１２ｂ）の取り付け角度（ヨー角）が傾いている場合の直進状態の車両の姿勢を示す図である。
［図４Ｃ］図４Ｃは、カメラ（１２ａ、１２ｂ）の車両の前後方向の取り付け位置が正しい場合の車両の旋回軌跡を示す図である。
［図４Ｄ］図４Ｄは、カメラ（１２ａ、１２ｂ）の車両の前後方向の取り付け位置がずれている場合の車両の旋回軌跡を示す図である。
［図５］図５は、オートキャリブレーションの手順の一例を示すフローチャートである。
【手続補正書】
【提出日】令和2年1月23日(2020.1.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
画像通過確信度（Ｚ）が０．８以上であり、且つ角度差が５°以下である場合（Ｓ２３でＹＥＳ）、チェックポイントを車両が通過したと判断して、ステップＳ２５へ進む。一方、画像通過確信度（Ｚ）が０．８未満であるか、或いは、角度差が５°より大きい場合（Ｓ２３でＮＯ）、チェックポイントを車両が通過していないと判断して、ステップＳ１３へ戻る。
【国際調査報告】
2018235171.tif 000013
2018235171.tif 000014
2018235171.tif 000015
2018235171.tif 000016