IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社豊田自動織機の特許一覧

<>
  • 特許-自律走行車、及び自律走行車の制御装置 図1
  • 特許-自律走行車、及び自律走行車の制御装置 図2
  • 特許-自律走行車、及び自律走行車の制御装置 図3
  • 特許-自律走行車、及び自律走行車の制御装置 図4
  • 特許-自律走行車、及び自律走行車の制御装置 図5
  • 特許-自律走行車、及び自律走行車の制御装置 図6
  • 特許-自律走行車、及び自律走行車の制御装置 図7
  • 特許-自律走行車、及び自律走行車の制御装置 図8
  • 特許-自律走行車、及び自律走行車の制御装置 図9
  • 特許-自律走行車、及び自律走行車の制御装置 図10
  • 特許-自律走行車、及び自律走行車の制御装置 図11
  • 特許-自律走行車、及び自律走行車の制御装置 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】自律走行車、及び自律走行車の制御装置
(51)【国際特許分類】
   G05D 1/43 20240101AFI20241022BHJP
   B60W 40/00 20060101ALI20241022BHJP
   B60W 60/00 20200101ALI20241022BHJP
【FI】
G05D1/43
B60W40/00
B60W60/00
【請求項の数】 3
(21)【出願番号】P 2021177751
(22)【出願日】2021-10-29
(65)【公開番号】P2023066897
(43)【公開日】2023-05-16
【審査請求日】2024-04-18
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】宇野 峰志
【審査官】牧 初
(56)【参考文献】
【文献】特開2011-243050(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00-1/87
B60W 60/00
(57)【特許請求の範囲】
【請求項1】
自己位置を推定しながら走行する自律走行車であって、
所定時間毎に撮像するカメラと、
予め撮像された地図画像データに位置情報を対応付けた地図データが複数記憶された記憶装置と、
前記カメラから画像データを取得する取得部と、
前記地図画像データと前記画像データとを比較することで当該画像データに対応する前記地図画像データを特定する画像マッチング処理を前記所定時間毎に実行し、特定された当該地図画像データと当該画像データとの相対位置、及び特定された当該地図画像データと当該画像データとの相対角度から自己位置を推定する自己位置推定処理を実行する自己位置推定部と、
前記自律走行車の自己位置を推定するための処理を実行する処理装置と、を備え、
複数の前記地図データは、撮像対象の状態毎に複数のグループに分けられており、
前記処理装置は、
複数の前記地図データを所定の並び替え順に並び替える処理であるデータ整列処理と、
前記データ整列処理の後に所定の条件を満たした場合、前記画像データと複数の前記グループのそれぞれに含まれる前記地図画像データとを比較して、当該画像データに最も類似する前記地図画像データを含む前記グループを特定グループとして特定する特定処理と、
前記データ整列処理によって並び替えられた複数の前記地図データを、前記特定グループに属する前記地図データが前記画像マッチング処理で優先的に用いられるように更に並び替える優先順位設定処理と、を実行し、
前記画像マッチング処理は、前記優先順位設定処理の後において、並び替え順の先頭から所定数の前記地図データのみを対象として、並び替え順の先頭から順に前記地図画像データと前記画像データとを比較することで当該画像データに対応する前記地図画像データを特定する
自律走行車。
【請求項2】
前記データ整列処理において、前記所定の並び順は、前回の前記画像マッチング処理が実行されたときの前記位置情報に距離が近い順である
請求項1に記載の自律走行車。
【請求項3】
自己位置を推定しながら走行する自律走行車を制御する制御装置であって、
所定時間毎に撮像するカメラから画像データを取得する取得部と、
予め撮像された地図画像データに位置情報を対応付けた複数の地図データに含まれる当該地図画像データと前記画像データとを比較することで当該画像データに対応する前記地図画像データを特定する画像マッチング処理を前記所定時間毎に実行し、特定された当該地図画像データと、当該画像データとの相対位置、及び特定された当該地図画像データと当該画像データとの相対角度から自己位置を推定する自己位置推定処理を実行する自己位置推定部と、を備え、
複数の前記地図データは、撮像対象の状態毎に複数のグループに分けられており、
前記制御装置は、
複数の前記地図データを所定の並び替え順に並び替える処理であるデータ整列処理と、
前記データ整列処理の後に所定の条件を満たした場合、前記画像データと複数の前記グループのそれぞれに含まれる前記地図画像データとを比較して、当該画像データに最も類似する前記地図画像データを含む前記グループを特定グループとして特定する特定処理と、
前記データ整列処理によって並び替えられた複数の前記地図データを、前記特定グループに属する前記地図データが前記画像マッチング処理で優先的に用いられるように更に並び替える優先順位設定処理と、を実行し、
前記画像マッチング処理は、前記優先順位設定処理の後において、並び替え順の先頭から所定数の前記地図データのみを対象として、並び替え順の先頭から順に前記地図画像データと前記画像データとを比較することで当該画像データに対応する前記地図画像データを特定する
自律走行車の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律走行車、及び自律走行車の制御装置に関する。
【背景技術】
【0002】
特許文献1に記載の自律走行車は、カメラと、記憶装置と、制御装置と、を備えている。カメラは、所定時間毎に撮像する。記憶装置は、地図データを記憶している。地図データは、地図画像データと位置情報とを対応付けたデータである。
【0003】
制御装置は、自律走行車の自己位置を所定時間毎に推定する。自己位置の推定に際し、制御装置は、カメラから画像データを取得する。制御装置は、取得した画像データと、記憶装置に記憶されている地図画像データとを比較する画像マッチング処理を行う。この画像マッチング処理により、制御装置は、画像データに対応する地図画像データを特定する。制御装置は、特定された地図画像データと画像データとの相対位置、及び特定された地図画像データと画像データとの相対角度から自己位置を推定する。
【先行技術文献】
【特許文献】
【0004】
【文献】米国特許第8725413号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、画像マッチング処理において、記憶装置に記憶されている全ての地図データの地図画像データを使用すると、画像マッチング処理の処理時間が長くなる。この処理時間の短縮を目的として、使用する地図画像データの数を減らす方法が考えられる。この方法では、地図データの並び替えが行われる。並び替え順は、画像マッチング処理が実行される所定時間前の位置情報に距離が近い順である。画像マッチング処理は、並び替え順の先頭に位置する地図データから順に、所定数の地図データのみを対象として行う。
【0006】
しかし、地図データを並び替えたとしても、画像データの撮像環境と、当該画像データと比較する地図画像データの撮像環境とが異なる場合がある。この場合、自律走行車の自己位置の推定精度が低下する虞がある。
【課題を解決するための手段】
【0007】
上記課題を解決する自律走行車は、自己位置を推定しながら走行する自律走行車であって、所定時間毎に撮像するカメラと、予め撮像された地図画像データに位置情報を対応付けた地図データが複数記憶された記憶装置と、前記カメラから画像データを取得する取得部と、前記地図画像データと前記画像データとを比較することで当該画像データに対応する前記地図画像データを特定する画像マッチング処理を前記所定時間毎に実行し、特定された当該地図画像データと当該画像データとの相対位置、及び特定された当該地図画像データと当該画像データとの相対角度から自己位置を推定する自己位置推定処理を実行する自己位置推定部と、前記自律走行車の自己位置を推定するための処理を実行する処理装置と、を備え、複数の前記地図データは、撮像対象の状態毎に複数のグループに分けられており、前記処理装置は、複数の前記地図データを所定の並び替え順に並び替える処理であるデータ整列処理と、前記データ整列処理の後に所定の条件を満たした場合、前記画像データと複数の前記グループのそれぞれに含まれる前記地図画像データとを比較して、当該画像データに最も類似する前記地図画像データを含む前記グループを特定グループとして特定する特定処理と、前記データ整列処理によって並び替えられた複数の前記地図データを、前記特定グループに属する前記地図データが前記画像マッチング処理で優先的に用いられるように更に並び替える優先順位設定処理と、を実行し、前記画像マッチング処理は、前記優先順位設定処理の後において、並び替え順の先頭から所定数の前記地図データのみを対象として、並び替え順の先頭から順に前記地図画像データと前記画像データとを比較することで当該画像データに対応する前記地図画像データを特定する。
【0008】
これによれば、特定処理では、画像マッチング処理に使用する画像データの撮像環境に類似する地図データを特定できる。優先順位設定処理では、画像データの撮像環境に対する類似性を判断基準として、データ整列処理後の地図データを更に並び替える。このため、画像マッチング処理において、画像データと、当該画像データの撮像環境と最も類似する撮像環境の地図画像データとを比較しやすくなる。このため、自律走行車の自己位置の推定精度が向上する。
【0009】
また、画像マッチング処理は、データ整列処理で並び替えた所定数の地図データのみを対象として実行される。このため、全ての地図画像データと画像データとを比較する場合よりも画像マッチング処理の処理時間も短縮できる。したがって、画像マッチング処理の処理時間を短縮させつつ自己位置の推定精度が向上する。
【0010】
上記の自律走行車において、前記データ整列処理において、前記所定の並び順は、前回の前記画像マッチング処理が実行されたときの前記位置情報に距離が近い順であるとよい。
【0011】
上記課題を解決する自律走行車の制御装置は、自己位置を推定しながら走行する自律走行車を制御する制御装置であって、所定時間毎に撮像するカメラから画像データを取得する取得部と、予め撮像された地図画像データに位置情報を対応付けた複数の地図データに含まれる当該地図画像データと前記画像データとを比較することで当該画像データに対応する前記地図画像データを特定する画像マッチング処理を前記所定時間毎に実行し、特定された当該地図画像データと、当該画像データとの相対位置、及び特定された当該地図画像データと当該画像データとの相対角度から自己位置を推定する自己位置推定処理を実行する自己位置推定部と、を備え、複数の前記地図データは、撮像対象の状態毎に複数のグループに分けられており、前記制御装置は、複数の前記地図データを所定の並び替え順に並び替える処理であるデータ整列処理と、前記データ整列処理の後に所定の条件を満たした場合、前記画像データと複数の前記グループのそれぞれに含まれる前記地図画像データとを比較して、当該画像データに最も類似する前記地図画像データを含む前記グループを特定グループとして特定する特定処理と、前記データ整列処理によって並び替えられた複数の前記地図データを、前記特定グループに属する前記地図データが前記画像マッチング処理で優先的に用いられるように更に並び替える優先順位設定処理と、を実行し、前記画像マッチング処理は、前記優先順位設定処理の後において、並び替え順の先頭から所定数の前記地図データのみを対象として、並び替え順の先頭から順に前記地図画像データと前記画像データとを比較することで当該画像データに対応する前記地図画像データを特定する。
【0012】
これによれば、特定処理では、画像マッチング処理に使用する画像データの撮像環境に類似する地図データを特定できる。優先順位設定処理では、画像データの撮像環境に対する類似性を判断基準として、データ整列処理後の地図データを更に並び替える。このため、画像マッチング処理において、画像データと、当該画像データの撮像環境と最も類似する撮像環境の地図画像データとを比較しやすくなる。このため、自律走行車の自己位置の推定精度が向上する。
【0013】
また、画像マッチング処理は、データ整列処理で並び替えた所定数の地図データのみを対象として実行される。このため、全ての地図画像データと画像データとを比較する場合よりも画像マッチング処理の処理時間も短縮できる。したがって、画像マッチング処理の処理時間を短縮させつつ自己位置の推定精度が向上する。
【発明の効果】
【0014】
この発明によれば、画像マッチング処理の処理時間を短縮させつつ自己位置の推定精度が向上する。
【図面の簡単な説明】
【0015】
図1】自律走行車を示す側面図である。
図2】自律走行車の構成を示すブロック図である。
図3】自律走行車が実行する処理を示すフローチャートである。
図4】画像処理を示す図である。
図5】地図抽出処理を示す図である。
図6】データ整列処理を示す図である。
図7】特定処理を示す図である。
図8】優先順位設定処理を示す図である。
図9】画像マッチング処理を示す図である。
図10】自己位置推定処理を示す図である。
図11】変更例におけるフローチャートである。
図12】変更例におけるフローチャートである。
【発明を実施するための形態】
【0016】
以下、自律走行車、及び自律走行車の制御装置を具体化した一実施形態を図1図10にしたがって説明する。
<自律走行車の構成>
図1及び図2に示すように、自律走行車10は、車体11と、駆動輪21と、操舵輪31と、を備えている。自律走行車10は、走行モータドライバ22と、走行モータ23と、操舵モータドライバ32と、操舵モータ33と、を備えている。自律走行車10は、カメラ41と、照明装置51と、測位装置61と、制御装置81と、補助記憶装置71と、を備えている。自律走行車10は、乗用車であってもよいし、産業車両であってもよい。産業車両は、フォークリフト、トーイングトラクタ、及び無人搬送車を含む。
【0017】
走行モータ23は、駆動輪21を回転させるためのモータである。走行モータドライバ22は、制御装置81からの指令に応じて走行モータ23を駆動させる。走行モータ23の駆動により駆動輪21が回転することで、自律走行車10が走行する。操舵モータ33は、操舵輪31を操舵するためのモータである。操舵モータドライバ32は、制御装置81からの指令に応じて操舵モータ33を駆動させる。操舵モータ33の駆動により操舵輪31が操舵されることで、自律走行車10が旋回する。
【0018】
<カメラの構成>
カメラ41は、デジタルカメラである。カメラ41は、撮像素子を有している。撮像素子としては、例えば、CCDイメージセンサ(Charge Coupled Device image sensor)、及びCMOSイメージセンサ(Complementary Metal Oxide Semiconductor image sensor)を挙げることができる。カメラ41としては、例えば、RGBカメラ、赤外線カメラ、グレースケールカメラ、及び可視光カメラを挙げることができる。
【0019】
カメラ41は、所定時間毎に撮像を行うことにより画像データを生成する。この画像データは、カメラ41で撮像した画像のデジタルデータである。所定時間とは、例えば0.1秒である。
【0020】
カメラ41は、路面Srを撮像するように配置されている。カメラ41は、鉛直方向を向いた状態で車体11の底部に設けられている。カメラ41の光軸が鉛直方向に延びるようにカメラ41は設けられている。カメラ41が鉛直方向を向いた状態とは、カメラ41の取付精度による誤差を許容するものである。すなわち、カメラ41は鉛直方向に対して若干ずれた方向を向いた状態で取り付けられていてもよい。
【0021】
カメラ41は、撮像対象としての路面Srを撮像した画像を示す画像データを生成するといえる。画像データは、一例として、図4に示す円形状の画像データIM1である。画像データIM1には、路面Srの特徴Bが写っている。路面Srの特徴は、例えば、路面Srの凹凸である。図4には、路面Srの特徴Bを模式的に示す。なお、図4に示す路面Srの特徴Bは、自律走行車10が走行する位置によって変更する。
【0022】
<照明装置の構成>
照明装置51は、路面Srの照明を行うように配置されている。照明装置51は、路面Srのうちカメラ41によって撮像される範囲の照明を行う。照明装置51は、下方を向いた状態で車体11の底部に設けられている。照明装置51としては、例えば、発光ダイオードを用いることができる。
【0023】
<測位装置の構成>
測位装置61は、衛星航法装置62と、慣性測定装置63と、を有している。衛星航法装置62は、GNSS(Global Navigation Satellite System)衛星から送信される衛星信号を用いて位置を測定するものである。慣性測定装置63は、ジャイロセンサ、及び加速度センサを含む。測位装置61は、自律走行車10の位置情報を取得可能である。位置情報は、例えば、衛星航法装置62を用いて取得した経緯度、及び慣性測定装置63を用いて算出する自律走行車10の自己移動量によって算出可能である。
【0024】
<補助記憶装置の構成>
補助記憶装置71は、制御装置81が読み取り可能な情報を記憶している。補助記憶装置71としては、例えば、ハードディスクドライブ、ソリッドステートドライブ、及びフラッシュメモリを挙げることができる。
【0025】
補助記憶装置71は、複数の地図データM1を記憶している。地図データM1は、予め撮像された路面Srの地図画像データと位置情報とを対応付けたものである。位置情報は、座標情報と、方位情報と、を含む。座標情報は、絶対位置を表す座標系である地図座標系の座標である。地図座標系は、直交座標系であってもよいし、地理座標系であってもよい。方位情報は、地図座標系の座標軸に対する傾きを示す情報である。補助記憶装置71は、地図データM1が複数記憶された記憶装置である。
【0026】
<自律走行車の制御装置の構成>
制御装置81は、プロセッサ82と、記憶部83と、を備えている。プロセッサ82としては、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、及びDSP(Digital Signal Processor)を挙げることができる。記憶部83は、RAM(Random Access Memory)及びROM(Read Only Memory)を含む。記憶部83は、処理をプロセッサ82に実行させるように構成されたプログラムコードまたは指令を格納している。記憶部83、即ち、コンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。制御装置81は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェア回路によって構成されていてもよい。処理回路である制御装置81は、コンピュータプログラムに従って動作する1つ以上のプロセッサ、ASICやFPGA等の1つ以上のハードウェア回路、或いは、それらの組み合わせを含み得る。
【0027】
制御装置81は、取得部84と、地図作成部85と、自己位置推定部86と、を備えている。取得部84、地図作成部85、及び自己位置推定部86は、制御装置81が予め定められたプログラムを実行することで機能する機能要素である。なお、自律走行車10は、取得部84、地図作成部85、及び自己位置推定部86を制御装置81とは別の装置として備えていてもよい。
【0028】
取得部84は、カメラ41から画像データを取得する。取得部84は、取得した画像データを地図作成部85に出力する。
地図作成部85は、地図作成処理を実行する。地図作成処理は、補助記憶装置71に記憶された地図データM1を予め作成する処理である。地図データM1は、例えば、自律走行車10が走行すると想定される場所を、予め自律走行車10で走行することで得ることができる。地図データM1は、自律走行車10が走行すると想定される場所を複数回走行することで複数作成される。複数の地図データM1は、当該場所の路面Srの状態毎に作成される。路面Srの状態とは、例えば、雨が降っているときの路面Srの凹凸の状態や、晴れているときの路面Srの凹凸の状態、異物が散布されているときの路面Srの状態等である。
【0029】
地図作成部85は、取得部84を介してカメラ41から画像データを取得する。一例として、図4に示す画像データIM1を取得したとして説明を行う。地図作成部85は、画像データIM1の一部を切り出すことで半円形状の地図画像データIM11を取得する。画像データIM1から切り出される地図画像データIM11の大きさ、及び画像データIM1から切り出される地図画像データIM11の位置は、任意に設定することができる。
【0030】
地図作成部85は、地図画像データIM11に、画像データIM1を取得した時刻と位置情報を対応付ける。位置情報は、画像データIM1を取得した時刻に測位装置61が取得した情報である。地図作成部85は、座標CP1に位置情報を対応付ける。座標CP1は、地図画像データIM11の画素位置を表す座標系においてカメラ41の光軸位置を表す座標である。地図画像データIM11の画素位置を表す座標系は、画像座標系である。画像座標系とは、画像データIM1の画素位置を表す2軸直交座標系である。画像データIM1の画素位置は、例えば、画素の横位置を表す座標と、画素の縦位置を表す座標とで表現できる。地図画像データIM11は、画像データIM1の一部を切り出したものであるため、地図画像データIM11の画素位置は画像座標系で表現することができる。画像座標系において座標CP1は、地図画像データIM11を切り出す前の画像データIM1の中心座標に一致する。地図画像データIM11が半円形状であるため、弦の中点に位置する座標が座標CP1である。
【0031】
地図作成部85は、地図画像データIM11に、ピクセルスケールを対応付ける。ピクセルスケールとは、1画素当たりの実際のサイズである。地図作成部85は、画像ナンバーを地図画像データIM11に対応付ける。画像ナンバーは、撮像時刻や地図画像データIM11毎に個別に付与されている。地図作成部85は、地図画像データIM11に位置情報、ピクセルスケール、撮像時刻、及び画像ナンバーを対応付けることにより地図データM1を作成する。
【0032】
図5に示すように、地図作成部85が作成した全ての地図データM1は、補助記憶装置71に記憶されている。補助記憶装置71に記憶される全ての地図データM1は、路面Srの状態毎に複数のグループG1,G2,…Gnに分けられている。複数のグループG1,G2,…Gnのそれぞれには、複数の地図データM1が含まれている。
【0033】
制御装置81は、上記した地図データM1を用いて自律走行車10の自己位置を推定しながら、走行モータドライバ22及び操舵モータドライバ32を制御する。制御装置81は、自律走行車10を制御することにより自律走行車10を目標位置に走行させる。これにより、自律走行車10は、自己位置を推定しながら走行する。なお、目標位置は、自律走行車10のユーザーが設定するものであってもよいし、自律走行車10の上位制御装置が設定するものであってもよい。
【0034】
<制御装置が実行する処理について>
制御装置81は、自律走行車10の自己位置を推定するための処理を実行する処理装置である。
【0035】
図3に示すように、制御装置81は、画像データ取得処理S1と、画像処理S2と、地図データ抽出処理S3と、を実行する。制御装置81は、データ整列処理S4と、判定処理S5と、優先順位設定処理S6と、特定処理S7とを実行する。制御装置81は、画像マッチング処理S8と、自己位置推定処理S9と、を実行する。本実施形態では、各処理S1~S9は、自律走行車10の自己位置を推定するための処理である。各処理S1~S9は、カメラ41が撮像する所定時間内に実行される。各処理S1~S9は、所定時間内に実行されるルーチンである。各処理S1,S2,S3,S4,S5,S6,S8,S9は、所定時間内で必ず実行されるが、特定処理S7は、判定処理S5の処理において所定の条件を満たした場合にのみ実行される。なお、画像マッチング処理S8、及び自己位置推定処理S9は、自己位置推定部86が実行する。
【0036】
自己位置推定部86は、データ整列処理S4、判定処理S5、優先順位設定処理S6、及び特定処理S7を実行してもよい。制御装置81は、自己位置推定部86以外に、データ整列処理S4、判定処理S5、優先順位設定処理S6、及び特定処理S7を実行するための機能要素を備えていてもよい。自律走行車10は、データ整列処理S4、判定処理S5、優先順位設定処理S6、及び特定処理S7を実行する機能要素を制御装置81とは別の装置として備えていてもよい。自律走行車10において、各処理S4,S5,S6,S7を実行する機能要素を制御装置81と別の装置として備えた場合、制御装置81及び当該別の装置が処理装置となる。
【0037】
自律走行車10において、自己位置推定部86を制御装置81とは別の装置とし、且つ各処理S4,S5,S6,S7を実行する機能要素を制御装置81とは別の装置とした場合を考える。この場合、自己位置推定部86の機能を有する装置、及び各処理S4,S5,S6,S7を実行する機能を有する装置を処理装置としてもよい。また、各処理S4,S5,S6,S7を実行する機能を有する装置を処理装置としてもよい。各処理S4,S5,S6,S7を実行する機能を有する装置を処理装置とする場合、各処理S4,S5,S6,S7は、自律走行車10の自己位置を推定するための処理である。各処理S4,S5,S6,S7を実行する機能を有する装置を処理装置とした場合、当該処理装置の処理結果を自己位置推定部86の機能を有する装置に出力する。そして、自己位置推定部86は、当該処理結果に基づき各処理S8,S9を実行する。
【0038】
以下、制御装置81が実行するルーチンについて説明する。
画像データ取得処理S1において、制御装置81は、取得部84によりカメラ41からの画像データを取得する。以下の説明において、画像データ取得処理S1では、図4に示す画像データIM2を取得したとして説明を行う。なお、図4に示す画像データIM2は、上述した画像データIM1と同じであるように見えるが、特徴Bの位置が異なるデータとする。制御装置81は、画像データ取得処理S1を実行した後、画像処理S2を実行する。
【0039】
図4に示すように、画像処理S2において、制御装置81は、画像データIM2の一部を切り出すことにより切出画像データIM12を取得する。制御装置81は、地図画像データIM11と同一の範囲を画像データIM2から切り出すことで切出画像データIM12を取得する。切出画像データIM12の画素位置は、画像座標系の座標で表すことができる。地図画像データIM11の画素位置と、切出画像データIM12の画素位置とは同一の座標系で表すことができる。例えば、地図画像データIM11の弦の中点を表す座標CP1と、切出画像データIM12の弦の中点を表す座標CP2とは、同一座標で表現できる。制御装置81は、画像処理S2を実行した後、地図データ抽出処理S3を実行する。
【0040】
図3に示すように、地図データ抽出処理S3において、制御装置81は、補助記憶装置71に記憶された全ての地図データM1のうち規定数の地図データM1のみを抽出する。規定数は、各グループG1,G2,…Gnのそれぞれに含まれる地図データM1が複数含まれることを予め確認した数である。規定数は、補助記憶装置71に記憶されている全ての地図データM1の数より少ない。制御装置81は、地図データ抽出処理S3を実行した後、データ整列処理S4を実行する。なお、地図データ抽出処理S3において、補助記憶装置71の全ての地図データM1が抽出されてもよい。
【0041】
図6に示すように、データ整列処理S4は、複数の地図データM1を所定の並び替え順に並び替える処理である。データ整列処理S4において、制御装置81は、所定の並び替え順に、抽出された地図データM1を並び替える。所定の並び替え順は、本ルーチンが実行される前のルーチンにおける画像マッチング処理S8が実行されたときの位置情報に距離が近い順である。換言すると、データ整列処理において、所定の並び替え順は、前回の画像マッチング処理S8が実行されたときの位置情報に距離が近い順である。以下の説明において、「本ルーチンが実行される前のルーチン」のことを「前回のルーチン」と記載する。
【0042】
具体的には、データ整列処理S4において、制御装置81は、第1座標情報と第2座標情報との間の距離を比較する。第1座標情報は、前回のルーチンにおける位置情報に含まれる座標情報である。第2座標情報は、抽出された地図データM1の地図画像データIM11に対応付けられた位置情報に含まれる座標情報である。制御装置81は、第1座標情報と第2座標情報との間の距離に応じて地図データM1を並び替える。並び替え順の先頭に近い地図データM1ほど、第1座標情報との距離が小さくなる第2座標情報を含む。制御装置81は、データ整列処理S4を実行した後、判定処理S5を実行する。
【0043】
判定処理S5において、制御装置81は、所定の条件を満たしたか否かを判定する。所定の条件とは、本実施形態では、自律走行車10及び制御装置81が起動時であること、及び前回のルーチンで実行した画像マッチング処理S8においてマッチング数が閾値以下であることである。自律走行車10及び制御装置81が起動時であることは、自律走行車10及び制御装置81が起動して初めてルーチンを実行することである。
【0044】
判定処理S5において、所定の条件が満たしていないと判定された場合(判定処理S5:NO)には、処理を優先順位設定処理S6へと進める。判定処理S5において、所定の条件を満たしたと判定された場合(判定処理S5:YES)には、処理を特定処理S7へと進める。
【0045】
図7に示すように、特定処理S7において、制御装置81は、画像データIM2と、抽出された規定数の地図データM1に含まれる地図画像データIM11とを比較する。特定処理S7において、制御装置81は、画像データIM2と、抽出された各グループG1,G2,…Gnのそれぞれに含まれる地図画像データIM11とを比較する。本実施形態において、制御装置81は、本ルーチンで使用する切出画像データIM12と、抽出された規定数の地図データM1に含まれる地図画像データIM11とをマッチングする。なお、図7に示すような特徴Bを有する地図画像データIM11は、一例として第2グループG2に含まれるデータである。抽出された全ての地図画像データIM11は、特徴Bの位置が異なるデータである。
【0046】
制御装置81は、切出画像データIM12から特徴点を抽出する。制御装置81は、特徴点の特徴量を記述する。特徴量としては、例えば、特徴量ベクトル、及び輝度値を挙げることができる。制御装置81は、抽出された地図画像データIM11から特徴点の抽出、及び特徴量の記述を行う。
【0047】
制御装置81は、切出画像データIM12から得られた特徴点及び特徴量と、抽出された地図画像データIM11から得られた特徴点及び特徴量とをマッチングする。上記したマッチングは、特徴量記述子を用いて行うことができる。特徴量記述子としては、例えば、ORB(Oriented FAST and Rotated BRIEF)、SIFT(Scale-Invariant Feature Transform)、及びSURF(Speeded Up Robust Features)を挙げることができる。
【0048】
制御装置81は、切出画像データIM12及び抽出された地図画像データIM11のそれぞれの特徴量が類似する特徴点のペアを探索する。制御装置81は、切出画像データIM12との特徴点のペアが最も多くなる、いわゆる最もマッチング数が多くなる地図画像データIM11を特定する。このように、マッチングを行うことで、切出画像データIM12と特徴Bのパターンが一致、あるいは、類似する地図画像データIM11を特定することができる。
【0049】
図7から把握できるように、切出画像データIM12に含まれる特徴Bと、第2グループG2に含まれる地図画像データIM11に含まれる特徴Bとは一致している。このため、制御装置81は、画像データIM2に最も類似するデータとして、第2グループG2に含まれる地図画像データIM11のうちの1つを特定する。
【0050】
制御装置81は、特定処理S7で特定された地図画像データIM11を含むグループを特定グループとして特定する。図7から把握できるように、特定処理S7では、特定グループとして第2グループG2が特定される。制御装置81は、特定グループを記憶部83に記憶した後、優先順位設定処理S6を実行する。
【0051】
図6及び図8に示すように、優先順位設定処理S6において、制御装置81は、データ整列処理S4によって並び替えられた地図データM1を、特定処理S7の結果に基づく並び替え順に並び替える。
【0052】
制御装置81は、判定処理S5においてYESと判定した後に実行する優先順位設定処理S6において、データ整列処理S4によって並び替えられた地図データM1を、本ルーチンで実行した特定処理S7の結果を記憶部83から参照することにより並び替え順に並び替える。
【0053】
制御装置81は、判定処理S5においてNOと判定した後に実行する優先順位設定処理S6において、データ整列処理S4によって並び替えられた地図データM1を、前回のルーチンで実行した特定処理S7の結果を記憶部83から参照することにより並び替え順に並び替える。
【0054】
特定処理S7の結果に基づく並び替え順とは、特定処理S7で特定された特定グループに属する地図データM1を並び替え順の先頭にすることである。優先順位設定処理S6において、制御装置81は、並び替え順の先頭から所定数の地図データM1のうち第2グループG2に属する地図データM1を並び替え順の先頭に並び替える。本実施形態では、所定数は、「4」である。所定数は、データ整列処理S4の後に地図データM1を並び替え順の先頭から順に見たとき、画像データIM2の撮像環境と同じ撮像環境の地図画像データIM11が必ず含まれることを予め確認して設定される。制御装置81は、優先順位設定処理S6を実行した後、画像マッチング処理S8を実行する。なお、所定数は、適宜変更してもよい。
【0055】
図9に示すように、制御装置81は、優先順位設定処理S6の後における、並び替え順の先頭から所定数の地図データM1のみを対象として画像マッチング処理S8を実行する。画像マッチング処理S8において、制御装置81は、並び替え順の先頭から順に地図画像データIM11と切出画像データIM12とをマッチングする。マッチングの手法は、特定処理S7で実行したマッチングの手法と同じである。
【0056】
画像マッチング処理S8において、制御装置81は、切出画像データIM12との特徴点のペアの数が閾値以上となる地図画像データIM11を特定する。換言すると、画像マッチング処理S8において、制御装置81は、切出画像データIM12とのマッチング数が閾値以上となる地図画像データIM11を特定する。制御装置81は、当該ペアの数が閾値以上となった時点で、当該ペアの数が閾値以上となった地図画像データIM11を、画像データIM2に対応する地図画像データIM11として特定する。画像マッチング処理S8は、並び替え順の先頭から順に地図画像データIM11と画像データIM2とを比較することで画像データIM2に対応する地図画像データIM11を特定する処理である。
【0057】
本実施形態では、画像マッチング処理S8において、特定グループである第2グループG2に属する地図データM1が他のグループG1,G3,…Gnに属する地図データM1よりも優先的に使用されている。このため、優先順位設定処理S6は、特定グループに属する地図データM1が画像マッチング処理S8で優先的に用いられるようにデータ整列処理S4によって並び替えられた複数の地図データM1を更に並び替える処理である。画像マッチング処理S8において、切出画像データIM12の特徴と、特定された地図画像データIM11の特徴とのマッチング数は、記憶部83に記憶される。
【0058】
記憶部83に記憶されたマッチング数は、次回のルーチンにおける判定処理S5にて使用される。判定処理S5において、当該マッチング数が閾値以下である場合とは、前回の画像マッチング処理S8で使用された切出画像データIM12の撮像環境と、特定された地図画像データIM11の撮像環境とが異なっていることを示している。判定処理S5で使用される閾値は、画像データIM2の撮像環境と、前回の画像マッチング処理S8において特定された地図画像データIM11との撮像環境とが異なることを示す数値である。
【0059】
図9から把握できるように、切出画像データIM12に含まれる特徴Bと、第2グループG2に含まれる地図画像データIM11に含まれる特徴Bとは一致している。このため、制御装置81は、画像データIM2に対応する地図画像データIM11として、第2グループG2に含まれる地図画像データIM11のうちの1つを特定する。制御装置81は、画像マッチング処理S8を実行した後、自己位置推定処理S9を実行する。
【0060】
図10に示すように、自己位置推定処理S9において、制御装置81は、画像マッチング処理S8で特定された地図画像データIM11に基づき自己位置を推定する。自己位置とは、地図座標系での自律走行車10の座標、及び自律走行車10の姿勢を含む。
【0061】
制御装置81は、画像マッチング処理S8で特定された地図画像データIM11と切出画像データIM12との相対位置を算出する。特定された地図画像データIM11と切出画像データIM12との相対位置は、特定された地図画像データIM11と画像データIM2との相対位置ともいえる。
【0062】
図10には、特定された地図画像データIM11と、切出画像データIM12との相対位置を示す。本実施形態では、特徴点同士が重なるように特定された地図画像データIM11と切出画像データIM12とを重ねたとき、座標CP1と座標CP2とは、距離Lだけ離間している。距離Lは、画像座標系での寸法である。制御装置81は、画像座標系での距離Lを、特定された地図画像データIM11に対応付けられたピクセルスケールを用いて地図座標系の距離に変換する。制御装置81は、地図座標系に変換された距離を特定された地図画像データIM11と切出画像データIM12との相対位置とする。
【0063】
制御装置81は、画像マッチング処理S8で特定された地図画像データIM11と切出画像データIM12との相対角度を算出する。特定された地図画像データIM11と切出画像データIM12との相対角度は、特定された地図画像データIM11と画像データIM2との相対角度ともいえる。
【0064】
特定された地図画像データIM11と切出画像データIM12との相対角度とは、特定された地図画像データIM11と切出画像データIM12とのずれ角である。特定された地図画像データIM11を取得した時点と、切出画像データIM12を取得した時点での自律走行車10の姿勢に差が生じる。自律走行車10の姿勢の差によって、切出画像データIM12は、特定された地図画像データIM11を回転させたものになる。この回転により生じるずれ角が、特定された地図画像データIM11と切出画像データIM12との相対角度である。なお、本実施形態では、特定された地図画像データIM11の特徴点と、切出画像データIM12の特徴点とが一致している。このため、図10には、相対角度が「0」である一例を記載している。
【0065】
制御装置81は、特定された地図画像データIM11に対応付けられた位置情報と、相対位置と、相対角度とに基づき自己位置を推定する。制御装置81は、特定された地図画像データIM11に対応付けられた座標情報を相対位置に対応する座標だけずらす。制御装置81は、特定された地図画像データIM11に対応付けられた方位情報を相対角度分だけずらす。制御装置81は、これにより得られる地図座標系での座標、及び姿勢を自己位置とする。制御装置81は、自己位置推定処理S9を実行した後、処理を終了する。
【0066】
<本実施形態の作用>
本実施形態の作用を説明する。
特定処理S7では、画像マッチング処理S8に使用する画像データIM2の撮像環境に類似する地図データM1を特定できる。優先順位設定処理S6では、画像データIM2の撮像環境に対する類似性を判断基準として、データ整列処理S4後の地図データM1を更に並び替える。このため、画像マッチング処理S8において、画像データIM2と、画像データIM2の撮像環境と最も類似する撮像環境の地図画像データIM11とを比較しやすくなる。
【0067】
また、画像マッチング処理S8は、データ整列処理S4で並び替えた所定数の地図データM1のみを対象として実行される。このため、全ての地図画像データIM11と画像データIM2とを比較する場合よりも画像マッチング処理S8の処理時間が短縮する。
【0068】
<本実施形態の効果>
本実施形態の効果を説明する。
(1)特定処理S7及び優先順位設定処理S6が実行されることにより、画像マッチング処理S8で画像データIM2の撮像環境と最も類似する撮像環境の地図画像データIM11が使用される。このため、自律走行車10の自己位置の推定精度が向上する。また、画像マッチング処理S8において、全ての地図画像データIM11を使用する必要がないため、画像マッチング処理S8の処理時間が短くなる。したがって、画像マッチング処理S8の処理時間を短縮しつつ自己位置の推定精度が向上する。
【0069】
(2)地図データ抽出処理S3において、規定数の地図データM1が抽出される。このため、特定処理S7で補助記憶装置71に記憶された全ての地図画像データIM11を使用することがなくなる。これにより、画像マッチング処理S8の処理時間だけでなく、自律走行車10が実行するルーチンの処理時間も短くなる。
【0070】
(3)判定処理S5により特定処理S7を実行する頻度を抑えることができる。したがって、制御装置81による処理負荷を抑えることができる。
<変更例>
なお、本実施形態は、以下のように変更して実施できる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施できる。
【0071】
○ 特定処理S7では、特定グループとして第2グループG2が特定されたが、これに限らない。画像データIM2が撮像された撮像環境と同じ撮像環境の地図画像データIM11を含むグループが特定されるのであれば、第1グループG1を特定グループとしてもよい。特定処理S7にて特定されるグループは、画像データIM2の撮像環境によって適宜変更される。
【0072】
○ 優先順位設定処理S6では、データ整列処理S4により並び替えられた地図データM1において、並び替え順の先頭から所定数の地図データM1のうち第2グループG2に属する地図データM1を並び替え順の先頭から2番目に並び替えてもよい。優先順位設定処理S6では、データ整列処理S4により並び替えられた地図データM1において、先頭から所定数の地図データM1のうち特定グループに属する地図データM1を並び替え順の先頭に近い位置に並び替えてもよい。
【0073】
特定グループに属する地図データM1は、優先順位設定処理S6において、データ整列処理S4の後における、並び替え順の先頭から3番目に並び替えてもよい。所定数が「5」に変更された場合、特定グループに属する地図データM1は、優先順位設定処理S6において、データ整列処理S4の後における、並び替え順の先頭から4番目に並び替えてもよい。すなわち、優先順位設定処理S6は、並び順の先頭から所定数の地図データM1のうち特定グループに属する地図データM1を、優先順位設定処理S6を実行する前よりも上位に並び替える処理であればよい。換言すると、優先順位設定処理S6は、特定グループに属する地図データM1が画像マッチング処理S8で優先的に用いられるようにデータ整列処理S4によって並び替えられた複数の地図データM1を更に並び替える処理であればよい。
【0074】
○ 本実施形態では、データ整列処理S4により並び替えられた地図データM1において、並び替え順の先頭から所定数に特定グループに属する地図データM1が1つだけ存在していたが、これに限らない。例えば、並び替え順の先頭から所定数に特定グループに属する地図データM1が複数存在するように所定数を決めてもよい。この場合、優先順位設定処理S6では、所定数に含まれる特定グループに属する地図データM1の全てを、優先順位設定処理S6を実行する前よりも上位に並び替えるとよい。
【0075】
○ 規定数は、例えば、補助記憶装置71に記憶された全ての地図データM1の数と一致していなければ、どのような数であってもよい。この変更に伴い、データ整列処理S4後の所定数の地図データM1に、画像データIM2を撮像した撮像環境と同じ撮像環境で撮像された地図画像データIM11が含まれていない場合が考えられる。この場合、所定数の地図データM1のうちに、画像データIM2を撮像した撮像環境と同じ撮像環境で撮像された地図画像データIM11が含まれるまで、地図データ抽出処理S3を繰り返してもよい。
【0076】
○ 地図画像データIM11は、画像データIM1を切り出したデータでなくてもよい。地図画像データIM11は、円形状のデータであってもよい。この変更に伴い、画像データIM2を切り出して切出画像データIM12を取得する画像処理S2をルーチンから割愛してもよい。このように変更された場合、特定処理S7や画像マッチング処理S8では、円形状の地図画像データIM11と、画像データIM2とをマッチングする。すなわち、特定処理S7や画像マッチング処理S8では、円形状の地図画像データIM11と、画像データIM2とを直接的に比較してもよい。
【0077】
○ 位置情報は、画像座標系においてカメラ41の光軸位置を表す座標に対応付けられていればよく、地図画像データIM11に含まれていなくてもよい。すなわち、画像座標系においてカメラ41の光軸位置を表す座標は、地図画像データIM11の範囲外であってもよい。
【0078】
○ 地図データM1が記憶される記憶装置は、記憶部83であってもよい。
○ 地図画像データIM11の画素位置を表す座標系と、画像データIM2の画素位置を表す座標系は、異なる座標系であってもよい。
【0079】
○ 制御装置81は、地図作成部85を備えていなくてもよい。制御装置81は、地図データM1を作成する機能を備えていなくてもよい。例えば、自律走行車10が複数存在する場合、1つの自律走行車10によって地図データM1を作成し、この地図データM1を複製して、残りの自律走行車10で用いられるようにすればよい。
【0080】
○ 本実施形態では、カメラ41は、鉛直方向を向いて配置できればよく、車体11の底部とは異なる位置に設けられていてもよい。
○ カメラ41で撮像する撮像対象を路面Srとしていたが、これに限らない。カメラ41で撮像する撮像対象を、自律走行車10の周囲に存在し得る建造物等に変更してもよい。この場合、カメラ41は、例えば、自律走行車10の前方や後方を向いて配置されてもよい。そして、記憶装置に記憶された複数の地図データM1は、例えば、撮像対象として建造物の状態毎に複数作成される。建造物の状態とは、例えば、雨が降っているときの建造物の外壁の凹凸の状態や、晴れているときの建造物の外壁の凹凸の状態、建造物の外壁に取り付けられる設備の位置の状態等である。
【0081】
○ 本実施形態において、各処理S1~S9は、所定時間内に実行されるルーチンであったが、これに限らない。例えば、各処理S1~S7を所定時間内に実行されるルーチンとしてもよい。このように変更する場合、各処理S8,S9は、本ルーチンの次に実行されるルーチンの間に実行されるように変更する。ただし、画像マッチング処理S8は、1回のルーチンの後に1回のみ行われるようにする。すなわち、画像マッチング処理S8は、カメラ41により撮像された画像データに対して1回のみ行われるようにする。換言すると、画像マッチング処理S8は、所定時間毎に実行されるようにする。
【0082】
○データ整列処理S4は、前回のルーチンにおける位置情報を中心として、所定範囲に含まれる地図画像データIM11を有する地図データM1を並び替え順の先頭に近い位置に適宜並び替える処理であってもよい。
【0083】
図11に示すように、自己位置推定処理S9が実行された後に、第2判定処理S10及び特定処理S11を追加してもよい。第2判定処理S10において、制御装置81は、画像マッチング処理S8において記憶部83に記憶されたマッチング数が閾値以下であるか否かを判定する。第2判定処理S10にて使用される閾値は、判定処理S5で使用される閾値と同じである。第2判定処理S10において、YESと判定された場合、処理を特定処理S11へと進める。第2判定処理S10において、NOと判定された場合、ルーチンを終了する。特定処理S11は、特定処理S7と同じ処理である。
【0084】
本ルーチンにおける画像マッチング処理S8の後に特定処理S11を実行することにより、例えば画像マッチング処理S8をする前後で撮像環境が変化する事象が発生しても、迅速に特定グループを更新することができる。
【0085】
○ 判定処理S5において、所定の条件は、例えば、自律走行車10及び制御装置81が起動してから予め決められた時間が経過する毎、としてもよい。また、判定処理S5において、所定の条件は、例えば、自律走行車10が予め決められた規定の距離を走行する毎、としてもよい。すなわち、所定の条件は、自律走行車10が走行している環境の変化を定期的に確認するように設定してもよい。
【0086】
図12に示すように、制御装置81が実行するルーチンにおいて、データ整列処理S4の後に画像マッチング処理S8を実行し、画像マッチング処理S8の後に各処理S5,S6,S7が実行されるように変更してもよい。
【0087】
本ルーチンにおいて初めて実行される画像マッチング処理S8は、データ整列処理S4の後において、並び替え順の先頭から所定数の地図データM1のみを対象として実行されるように変更する。画像マッチング処理S8が実行された後に判定処理S5が実行される。
【0088】
判定処理S5において、NOと判定された場合、処理を自己位置推定処理S9へと進めるように変更する。判定処理S5において、YESと判定された場合、特定処理S7及び優先順位設定処理S6を実行した後、再び画像マッチング処理S8を実行するように変更する。
【0089】
本ルーチンにおいて優先順位設定処理S6の後に2回目の画像マッチング処理S8が実行された場合、所定の条件から「自律走行車10及び制御装置81が起動時であること」の条件を割愛する。
【符号の説明】
【0090】
10…自律走行車、41…カメラ、71…補助記憶装置、81…自律走行車の制御装置、84…取得部、86…自己位置推定部、M1…地図データ、IM1,IM2…画像データ、IM11…地図画像データ、IM12…切出画像データ、S4…データ整列処理、S7…特定処理、S6…優先順位設定処理、S8…画像マッチング処理、S9…自己位置推定処理、G1,G2,…Gn…グループ。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12