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

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

▶ 株式会社豊田自動織機の特許一覧 ▶ 独立行政法人産業技術総合研究所の特許一覧

特許7285517自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム
<>
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図1
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図2
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図3
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図4
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図5
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図6
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図7
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図8
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図9
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図10
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図11
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図12
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-25
(45)【発行日】2023-06-02
(54)【発明の名称】自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム
(51)【国際特許分類】
   G05D 1/02 20200101AFI20230526BHJP
【FI】
G05D1/02 K
【請求項の数】 10
(21)【出願番号】P 2019236689
(22)【出願日】2019-12-26
(65)【公開番号】P2021105832
(43)【公開日】2021-07-26
【審査請求日】2022-02-28
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(73)【特許権者】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100124062
【弁理士】
【氏名又は名称】三上 敬史
(74)【代理人】
【識別番号】100148013
【弁理士】
【氏名又は名称】中山 浩光
(74)【代理人】
【識別番号】100162640
【弁理士】
【氏名又は名称】柳 康樹
(72)【発明者】
【氏名】古室 達也
(72)【発明者】
【氏名】加藤 紀彦
(72)【発明者】
【氏名】阪野 貴彦
(72)【発明者】
【氏名】横塚 将志
【審査官】仁木 学
(56)【参考文献】
【文献】特開2020-017173(JP,A)
【文献】特開2012-248032(JP,A)
【文献】特開2007-322138(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
(57)【特許請求の範囲】
【請求項1】
取得された画像から抽出された特徴と、予め位置情報と前記特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定装置であって、
前記画像を取得する画像取得部と、
前記画像取得部で取得された前記画像から前記特徴を抽出する抽出部と、
前記抽出部で抽出された前記特徴と、前記データベースとをマッチングさせることで前記移動体の自己位置を推定する推定部と、
前記推定部の推定精度を評価する評価部と、
前記評価部による評価結果に基づいて、前記推定部による自己位置の推定結果を走行支援に用いるか否かを切り替える切替部と、を備え
前記推定部は、前記特徴のマッチング成功数が閾値以上のときに、自己位置推定結果を用いて、オドメトリ誤差を補正する、自己位置推定装置。
【請求項2】
前記評価部は、前記特徴と前記データベースとのマッチングに基づいて前記推定精度を評価する、請求項1に記載の自己位置推定装置。
【請求項3】
前記切替部は、前記評価部による前記評価結果が低い場合、前記移動体の走行部からの走行情報のみに基づく前記走行支援に切り替える、請求項1又は2に記載の自己位置推定装置。
【請求項4】
前記評価部は、前記データベースに登録されている前記位置情報に対応する位置からどの程度離れたら前記推定精度が低下するかを評価する、請求項1~3の何れか一項に記載の自己位置推定装置。
【請求項5】
前記評価部は、前記移動体の走行範囲の中で、前記推定精度が高いと評価した位置を、前記移動体の位置合わせ用の位置とする、請求項1~4の何れか一項に記載の自己位置推定装置。
【請求項6】
前記評価部は、前記移動体の走行範囲の各位置における前記評価結果に基づいて、前記データベース自体の評価を行う、請求項1~5の何れか一項に記載の自己位置推定装置。
【請求項7】
前記評価部は、前記移動体の走行範囲の各位置における前記評価結果に基づいて、前記移動体の経路からの乖離度合の評価を行う、請求項1~6の何れか一項に記載の自己位置推定装置。
【請求項8】
請求項1~7の何れか一項に記載された自己位置推定装置を備える移動体。
【請求項9】
取得された画像から抽出された特徴と、予め位置情報と前記特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定方法であって、
前記画像を取得する画像取得ステップと、
前記画像取得ステップで取得された前記画像から前記特徴を抽出する抽出ステップと、
前記抽出ステップで抽出された前記特徴と、前記データベースとをマッチングさせることで前記移動体の自己位置を推定する推定ステップと、
前記推定ステップの推定精度を評価する評価ステップと、
前記評価ステップによる評価結果に基づいて、前記推定ステップによる自己位置の推定結果を走行支援に用いるか否かを切り替える切替ステップと、を備え、
前記推定ステップにおいて、前記特徴のマッチング成功数が閾値以上のときに、自己位置推定結果を用いて、オドメトリ誤差を補正する、自己位置推定方法。
【請求項10】
取得された画像から抽出された特徴と、予め位置情報と前記特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定プログラムであって、
前記画像を取得する画像取得ステップと、
前記画像取得ステップで取得された前記画像から前記特徴を抽出する抽出ステップと、
前記抽出ステップで抽出された前記特徴と、前記データベースとをマッチングさせることで前記移動体の自己位置を推定する推定ステップと、
前記推定ステップの推定精度を評価する評価ステップと、
前記評価ステップによる評価結果に基づいて、前記推定ステップによる自己位置の推定結果を走行支援に用いるか否かを切り替える切替ステップと、を制御部に実行させ
前記推定ステップにおいて、前記特徴のマッチング成功数が閾値以上のときに、自己位置推定結果を用いて、オドメトリ誤差を補正する、自己位置推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラムに関する。
【背景技術】
【0002】
従来の自己位置推定装置として、特許文献1に記載されたものが知られている。この自己位置推定装置は、事前に取得した画像と、移動体の走行中に取得した画像と、を用いることで、自己位置を推定している。ここで、画像から位置推定を行うことは、演算時間がかかるため、この自己位置推定装置は、機械センサ(オドメトリ)を使用することによって、演算中の自己位置の推定結果の保管を行っている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-81008号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、画像から自己位置の推定を行った場合の推定精度が常に良いとは限らない。この場合、推定精度が低い自己位置の推定結果を用いて、移動体の走行支援を行った場合、適切な走行支援を行うことができず、移動体が経路から外れて走行を行ってしまう可能性がある。
【0005】
従って、本発明は、適切な移動体の走行支援を行うことができる自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係る自己位置推定装置は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定装置であって、画像を取得する画像取得部と、画像取得部で取得された画像から特徴を抽出する抽出部と、抽出部で抽出された特徴と、データベースとをマッチングさせることで移動体の自己位置を推定する推定部と、推定部の推定精度を評価する評価部と、評価部による評価結果に基づいて、推定部による自己位置の推定結果を走行支援に用いるか否かを切り替える切替部と、を備える。
【0007】
自己位置推定装置は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するためのものである。ここで、例えば、画像取得部は、データベースが作成されたときの位置から離れた位置で画像を取得する場合がある。このような場合、当該画像を用いて行われた自己位置の推定は、推定精度が十分に高くない可能性がある。これに対し、評価部は、推定部の推定精度を評価することが出来る。すなわち、評価部は、画像取得部で画像が取得された位置での自己位置の推定精度が高いか低いかの評価を行うことができる。また、切替部は、評価部による評価結果に基づいて、推定部による自己位置の推定結果を走行支援に用いるか否かを切り替える。これにより、切替部は、推定精度が高いと評価された自己位置の推定結果については、走行支援に用いる一方、推定精度が低いと評価された自己位置の推定結果については、走行支援に用いないように切り替えることができる。以上より、適切な移動体の走行支援を行うことができる。
【0008】
評価部は、特徴とデータベースとのマッチングに基づいて推定精度を評価してよい。これにより、評価部は、推定部での推定精度を適切に評価できる。
【0009】
切替部は、評価部による評価結果が低い場合、移動体の走行部からの走行情報のみに基づく走行支援に切り替えてよい。これにより、推定精度の低い自己位置の推定結果に基づいた走行支援がなされることを回避できる。
【0010】
評価部は、データベースに登録されている位置情報に対応する位置からどの程度離れたら推定精度が低下するかを評価してよい。これにより、推定精度が下がりやすいエリアについては、データベースに登録される位置情報を増やすことなどが可能になる。
【0011】
評価部は、移動体の走行範囲の中で、推定精度が高いと評価した位置を、移動体の位置合わせ用の位置としてよい。例えば、移動体が自己位置を見失った場合、当該移動体は、推定精度が高いと評価された位置に戻り、自己位置を把握した上で、走行に復帰することができる。
【0012】
評価部は、移動体の走行範囲の各位置における評価結果に基づいて、データベース自体の評価を行ってよい。例えば、データベースに登録された位置情報に対応する位置に近付いた場合であっても推定精度の評価が良くならない場合、データベース自体が作成に失敗している可能性がある。従って、評価部がデータベース自体の評価を行うことで、当該状況に対する対策をとることが可能になる。
【0013】
評価部は、移動体の走行範囲の各位置における評価結果に基づいて、移動体の経路からの乖離度合の評価を行ってよい。例えば、データベースに登録された位置情報に対応する位置に近付いた場合であっても推定精度の評価が良くならない場合、移動体が経路自体から反れてしまっている可能性がある。従って、評価部が移動体の経路からの乖離度合の評価を行うことで、当該状況に対する対策をとることが可能になる。
【0014】
本発明に係る移動体は、上述の自己位置推定装置を備える。
【0015】
本発明に係る自己位置推定方法は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定方法であって、画像を取得する画像取得ステップと、画像取得ステップで取得された画像から特徴を抽出する抽出ステップと、抽出ステップで抽出された特徴と、データベースとをマッチングさせることで移動体の自己位置を推定する推定ステップと、推定ステップの推定精度を評価する評価ステップと、評価ステップによる評価結果に基づいて、推定ステップによる自己位置の推定結果を走行支援に用いるか否かを切り替える切替ステップと、を備える。
【0016】
本発明に係る自己位置推定プログラムは、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定プログラムであって、画像を取得する画像取得ステップと、画像取得ステップで取得された画像から特徴を抽出する抽出ステップと、抽出ステップで抽出された特徴と、データベースとをマッチングさせることで移動体の自己位置を推定する推定ステップと、推定ステップの推定精度を評価する評価ステップと、評価ステップによる評価結果に基づいて、推定ステップによる自己位置の推定結果を走行支援に用いるか否かを切り替える切替ステップと、を制御部に実行させる。
【0017】
これらの移動体、自己位置推定方法、及び自己位置推定プログラムによれば、上述の自己位置推定装置と同様な効果を得ることができる。
【発明の効果】
【0018】
本発明によれば、適切な移動体の走行支援を行うことができる自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラムを提供することができる。
【図面の簡単な説明】
【0019】
図1】本発明の実施形態に係る自己位置推定装置を備える自己位置推定システムを示す概略図である。
図2】本発明の実施形態に係る自己位置推定装置を備える移動体のブロック構成を示すブロック構成図である。
図3】データベース作成時の作業場の様子を示す概略図である。
図4】データベースの作成方法を示すフローチャートである。
図5】特徴を抽出する方法を説明するための図である。
図6】カメラで取得された画像、及び抽出された特徴を示す図である。
図7】特徴の三次元座標を取得する方法を示す概念図である。
図8】移動体が自動走行を行うときの様子を示す概略図である。
図9図9は、移動体の自己位置の推定方法を示すフローチャートである。
図10】データベースに登録されている位置情報に対応する位置からの距離と、自己位置の推定精度との関係を示すグラフである。
図11】特徴点を評価するときの様子を示す概念図である。
図12】走行経路における移動体の走行支援状況を示す概念図である。
図13】自己位置の推定精度の評価、及び当該評価結果を用いた移動体の走行支援の方法を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【0021】
図1は、本実施形態に係る自己位置推定装置1を備える自己位置推定システム100を示す概略図である。図1に示すように、自己位置推定システム100は、複数の移動体50のそれぞれに設けられた自己位置推定装置1と、管理部2と、を備える。
【0022】
本実施形態では、移動体50として、フォークリフトが例示されている。図1には、移動体50としてのフォークリフトが、倉庫や工場などの作業場E(所定の領域)にて、荷物の積み卸しの作業を行っている様子が示されている。作業場Eでは、複数の棚60が配列されている。また、棚60と棚60との間に、移動体50が通過するための通路61が形成されている。自己位置推定装置1は、このような作業場E内における移動体50の自己位置を推定する装置である。自己位置推定装置1は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体50の自己位置を推定する。移動体50は、自己位置推定装置1で推定された自己位置を用いることで、作業場E内で自動走行することができる。なお、自己位置推定装置1の詳細な構成については後述する。管理部2は、作業場E内の複数の移動体50を管理するサーバーである。管理部2は、必要に応じて、複数の移動体50から所定の情報を受信し、複数の移動体50に対して所定の情報を送信する。
【0023】
図2は、本実施形態に係る自己位置推定装置1を備える移動体50のブロック構成を示すブロック構成図である。図2に示すように、移動体50は、走行部11と、カメラ12と、制御部20と、を備える。走行部11は、移動体50を走行させるための駆動力を発生するモータなどの駆動系である。カメラ12(画像取得部)は、移動体50の周囲の画像を取得する機器である。カメラ12は、取得した画像を自己位置推定部26へ送信する。
【0024】
制御部20は、移動体50を統括的に管理するECU[Electronic Control Unit]を備えている。ECUは、CPU[Central Processing Unit]、ROM[Read Only Memory]、RAM[Random Access Memory]、CAN[Controller Area Network]通信回路等を有する電子制御ユニットである。ECUでは、例えば、ROMに記憶されているプログラムをRAMにロードし、RAMにロードされたプログラムをCPUで実行することにより各種の機能を実現する。制御部20は、経路計画部21と、指令速度計算部22と、通信部23と、記憶部24と、自己位置推定部26(抽出部、推定部)と、オドメトリ計算部27と、自己位置決定部28と、評価部31と、切替部32と、を備える。このうち、記憶部24、自己位置推定部26、オドメトリ計算部27、自己位置決定部28、評価部31、切替部32、及びカメラ12によって自己位置推定装置1が構成される。
【0025】
経路計画部21は、移動体50が移動する経路を計画する。経路計画部21は、作業場Eの中の出発位置と目的位置とを設定すると共に、目的位置までの経路を計画する。経路計画部21は、計画した経路の情報を指令速度計算部22へ送信する。指令速度計算部22は、走行部11に対する指令速度、すなわちモータに対する指令回転数を計算する。指令速度計算部22は、経路計画部21から送信された経路、及び自己位置決定部28から送信された自己位置に基づいて、指令回転数を計算する。通信部23は、走行部11との間で通信を行う。通信部23は、走行部11に対して走行に必要な制御信号を送信する。なお、通信部23は、図示されないエンコーダからのエンコーダ値を取得すると共に、当該エンコーダ値をオドメトリ計算部27に送信する。
【0026】
次に、自己位置推定装置1の各構成要素について説明する。記憶部24は、自己位置推定に必要なデータベースを記憶する。データベースは、予め位置情報と、当該位置で取得された画像から抽出された特徴と、を関連付けた情報群である。記憶部24は、自己位置推定部26に対してデータベースを送信する。
【0027】
自己位置推定部26は、カメラ12で取得された画像から特徴を抽出する。また、自己位置推定部26は、カメラ12で取得された画像から抽出された特徴と、記憶部24から送信されたデータベースとをマッチングさせることで、移動体50の自己位置を推定する。自己位置推定部26は、推定した自己位置を自己位置決定部28へ送信する。
【0028】
オドメトリ計算部27は、通信部23から取得したエンコーダ値に基づいて、オドメトリによる自己位置を計算する。オドメトリ計算部27は、カメラ12の画像によることなく、容易な計算によって自己位置を取得することができる。オドメトリ計算部27は、オドメトリによる自己位置を自己位置決定部28へ送信する。自己位置決定部28は、自己位置推定部26からの自己位置と、オドメトリ計算部27からの自己位置を総合的に判断し、移動体50の自己位置を決定する。自己位置決定部28は、オドメトリ計算部27からの自己位置をベースとしつつ、画像を用いた自己位置推定部26からの自己位置推定結果を用いて、オドメトリ誤差を補正することで、自己位置を決定する。自己位置決定部28は、決定した自己位置を指令速度計算部22へ送信する。
【0029】
ここで、図3図6を参照して、データベースの作成方法について説明する。データベースの作成は、実際に移動体50が自己位置を推定しながら作業場Eで作業を行うよりも前段階において、予め行われる。データベースの作成は、作業場Eのうち、走行に重要なポイントにおいて画像を取得し、位置推定に必要な情報を算出してデータベース化して、作業場Eの地図に紐付けることによってなされる。重要なポイントは、例えば、図3において「1」~「12」までの番号が付された位置である。以降の説明においては、「1」の番号の位置を「第1重要ポイント」と称するものとする。他の番号が付された場所も同様に「第n重要ポイント」と称される。なお、ここでは、データベース作成のために、図2に示す移動体50を用いるものとして説明する。後述のように、自己位置推定部26が画像から特徴を抽出する機能や画像同士をマッチングする機能を有しているため、自己位置推定部26がデータベース作成のための各種処理を行うものとする。しかし、データベース作成のために用いられる機器は、特に限定されず、以降の処理を実行できる機器であれば、どのようなものを採用してもよい。
【0030】
図4は、データベースの作成方法を示すフローチャートである。まず、カメラ12は、データベースにしたい画像を1枚取得すると共に、その周辺の画像を1枚(複数でも可)取得する(ステップS10:画像取得ステップ)。例えば、第1重要ポイントにおける画像をデータベースにする場合、カメラ12は、第1重要ポイントで画像を1枚取得し、当該第1重要ポイントの近くから別の画像を取得する。次に、自己位置推定部26は、特徴を抽出できるように、画像の前処理を行う(ステップS20)。例えば、カメラ12は、広範囲を撮影できるように魚眼レンズを有する場合がある。このときは、画像中の物体が歪んで映っているため、前処理を行って、実際の見え方に近い画像に調整する。
【0031】
次に、自己位置推定部26は、二枚の画像からそれぞれ特徴を抽出する(ステップS30:抽出ステップ)。ここで、図5を参照して、画像中の特徴の抽出の方法について説明する。図5は、特徴を抽出する方法を説明するための図である。図5(a)に示すように、自己位置推定部26は、判定画素Xと周囲画素(ここでは16画素)の輝度を比較することで、「明」「暗」「同」の三パターンに層別する。例えば、自己位置推定部26は、「判定画素(X)-周囲画素(i)>明暗閾値」という関係が成り立つ周囲画素は「明」と判定し、「判定画素(X)-周囲画素(i)<明暗閾値」という関係が成り立つ周囲画素は「暗」と判定し、「(判定画素(X)-周囲画素(i))の絶対値<明暗閾値」という関係が成り立つ周囲画素は「同」と判定する。
【0032】
ここで、自己位置推定部26は、「明」または「暗」の周囲画素の連続数がコーナー閾値以上となった場合、判定画素Xを画像中の特徴として抽出する。例えば、コーナー閾値を「12」とした場合、図5(b)の判定画素Xは「明」の周囲画素が12連続以上であるため、特徴として抽出される。図5(c)の判定画素Xは「明」の周囲画素が11連続しかないため、判定画素Xは特徴ではないものとして破棄される。これにより、図6に示すように、画像PC中の棚、床、天井、壁などの構造物のコーナー部などが特徴(特徴点FP)として抽出される。その他、荷物、設置物、移動体などが画像に写っている場合、それらの物体のコーナー部も特徴として抽出される。
【0033】
本明細書では、特徴として抽出された画素を「特徴点FP」と称する場合がある。なお、自己位置推定に用いられる画像中の特徴は、点である場合のみならず、線や所定形状などである場合もある。すなわち、特徴は、画像中において特徴的な部分として画像処理によって抽出可能な部分であり、且つ、他の画像で抽出したものとマッチング可能な部分であれば、どのような態様であるかは限定されない。
【0034】
図4に戻り、自己位置推定部26は、二枚の画像同士の特徴をマッチングする(ステップS40)。そして、自己位置推定部26は、特徴の3次元復元を行い、データベースとして登録する。データベースでは、重要ポイント(画像が取得された位置)の位置情報と、画像中の特徴の画像座標と、特徴の3次元座標とが、関連付けられた形で登録されている。なお、位置情報には、撮影時のカメラ12の姿勢も含まれる。例えば、図7に示すように、重要ポイントにおける画像PC1中では、特徴点G,R,Bが抽出されており、それらの画像座標が特定されている。また、画像PC1が取得された場所の位置情報も特定されている。重要ポイントの周囲で取得された画像PC2中でも、特徴点G,R,Bが抽出されており、それらの画像座標が特定されている。また、画像PC2が取得された場所の位置情報も特定されている。周囲の撮影位置と、重要ポイントとの位置関係は、オドメトリ値を紐付けたり、画像から推定するなどの方法で把握される。自己位置推定部26は、画像PC1と画像PC2の特徴同士をマッチングする。これにより、自己位置推定部26は、三角測量の要領で、特徴点G,R,Bの三次元座標を取得することができる。
【0035】
図4に戻り、ステップS50の処理が終了すると、一枚の画像のデータベース化が終了する。移動体50は、次の重要ポイントへ移動し、当該重要ポイントにてカメラ12で画像を取得して、再び図4の処理を行う。このようにして、作業場Eの全ての重要ポイントでの画像のデータベース化を行う。作成されたデータベースは、記憶部24に格納される。
【0036】
次に、図8及び図9を参照して、移動体50の自動走行の方法、及び自動走行のための自己位置推定部26による自己位置推定方法について説明する。例えば、移動体50は、図8に示す現在位置STから、目標位置GLである第8重要ポイントまで自動走行するものとする。このとき、自己位置推定部26は、移動体50が現在どこに存在しているかを推定する。これにより、自己位置決定部28は、現在位置STが「第10重要ポイントから東へ2m」であると決定できる。そして、経路計画部21は、「第11重要ポイントまで東に48m、第8重要ポイントまで北へ16m」という経路を計画する。これにより、移動体が自動走行を行う。
【0037】
図9は、移動体50の自己位置の推定方法を示すフローチャートである。自己位置推定部26は、移動体50の自己位置を推定するために図9に示す処理を実行する。図9に示すように、自己位置推定部26は、カメラ12から移動体50の走行中の画像を取得する(ステップS110:画像取得ステップ)。例えば、カメラ12は、第10重要ポイント付近の現在位置STで画像を取得する(図8参照)。次に、自己位置推定部26は、特徴を抽出できるように、画像の前処理を行う(ステップS120)。次に、自己位置推定部26は、走行中の画像から特徴を抽出する(ステップS130:抽出ステップ)。なお、ステップS120,S130では、図4のステップS20,S30と同趣旨の処理がなされる。これにより、図6のような画像PCが取得された場合には、特徴点FPが取得される。
【0038】
次に、自己位置推定部26は、ステップS130で抽出した特徴と、データベースの画像の特徴とをマッチングさせる(ステップS140:推定ステップ)。そして、自己位置推定部26は、移動体50の自己位置を推定する(ステップS150:推定ステップ)。
【0039】
例えば、移動体50の走行中に、図6に示す画像PCに類似する画像が得られた場合、自己位置推定部26は、図6のものと類似する複数の特徴点FPを抽出することができる。そして、自己位置推定部26は、当該特徴点と、データベースの画像中の特徴点とを照らし合わせる。データベース作成時に第10重要ポイントで図6に示す画像PCが得られ、図6に示す複数の特徴点FPが抽出されていた場合、自己位置推定部26は、ステップS130で抽出された特徴点と、図6に示す特徴点FPとをマッチングさせることができる。なお、特徴点同士をマッチングさせる方法としては、例えば、特徴点の特徴量記述子を計算し、データベースの特徴点の中から最も距離が小さい特徴点をマッチングさせる方法が挙げられるが、方法は特に限定されず、公知の方法を用いればよい。
【0040】
ここで、走行中に撮影した場所が、第10重要ポイントからずれており、走行中に撮影したときの姿勢が、データベース作成時の撮影の姿勢からずれている場合、走行中に撮影された画像及び特徴点の画像座標は、図6の画像PC及び特徴点FPの画像座標から若干のずれが生じている。従って、ステップS150では、自己位置推定部26は、データベースから任意の3点の特徴点の座標を、走行中の画像の3点の特徴点に紐付ける。そして、自己位置推定部26は、公知の3点法の技術を用いて、移動体50の位置及び姿勢を推定する。なお、ステップS150に用いられる3点の特徴点は、画像中に多数存在する特徴点の中から、ランダムで選ばれる。
【0041】
次に、図2に示す評価部31、及び切替部32について詳細に説明する。評価部31は、自己位置推定部26の推定精度を評価する。ここで、図10を参照して、データベースに登録されている位置情報に対応する位置からの距離と、自己位置の推定精度との関係について説明する。図10のグラフ上段側の「走行」と示された直線上にプロットされたドットは、データベースに登録されている位置情報に対応する位置を示す。図10の下段側には、移動体50の走行範囲の各位置における、データベースに登録されている位置情報に対応する位置からの距離を示すグラフと、自己位置の推定結果の誤差が示されている。当該グラフは、事前に行われた実験の結果を示している。データベースに登録されている位置情報に対応する位置とは、前述の「第1~12重要ポイント」の位置であり、事前にデータベース作成のために画像を取得した位置である。走行中の撮影位置(すなわち、自己位置推定を行う位置)が、各重要ポイントから離れれば離れるほど、データベースに登録されているものから画像の見え方の変化が大きくなる。従って、図10に示すように、各重要ポイントからの距離が離れるほど、自己位置推定部26の推定精度が低下する。
【0042】
具体的に、評価部31は、特徴とデータベースとのマッチングに基づいて推定精度を評価する。評価部31は、自己位置推定部26によって抽出された特徴点FPと、データベースに登録された画像の特徴点FPとのマッチングを行う。評価部31は、このときのマッチング成功数(またはマッチング成功割合)が高いときは自己位置推定部26の推定精度が高いと評価し、低いときは自己位置推定部26の推定精度が低いと評価する。評価部31は、マッチング成功数(マッチング成功割合)に対して、予め閾値を設定し、当該閾値以上のときに、推定精度が高いと評価する。なお、閾値は、固定値であってもよく、事前に取得した画像から推定した値であってもよい。
【0043】
具体的に、図11(a)に示すように、特徴点R,G,Bを用いて3点法で自己位置推定がなされた場合、評価部31は、当該3点の特徴点R,G,B以外の特徴点FPについてのマッチングの成否の判断を自動的に行う。図11(b)に示すように、3点の特徴点R,G,B以外の特徴点FPのマッチングの成否を判断するとき、データベースの画像PC1の画像座標中では、判定対象の特徴点FPは「特徴点FP1」で示され、走行中の画像PC2の画像座標中では、判定対象の特徴点FPは「特徴点FP2」で示される。評価部31は、特徴点FP1の三次元座標点を画像PC2上に再投影する。当該再投影された特徴点FP1は、画像PC2の画像座標中では「特徴点FP2a」と示される。評価部31は、特徴点FP2aと特徴点FP1との間の誤差の大きさを取得すると共に、当該誤差が閾値以下であるか否かを判定する。評価部31は、誤差が閾値以下である場合、判定対象に係る特徴点FPのマッチングが成功すると判定し、マッチング成功数のカウントを一つ増やす。一方、評価部31は、誤差が閾値より大きい場合、判定対象に係る特徴点FPのマッチングは失敗であると判定し、カウントしない。
【0044】
切替部32は、評価部31による評価結果に基づいて、自己位置推定部26による自己位置の推定結果を走行支援に用いるか否かを切り替える。すなわち、切替部32は、評価部31による評価が高い推定結果の場合は、自己位置推定部26による推定結果を走行支援で用いられるようにする。具体的には、切替部32は、自己位置決定部28において、自己位置推定部26の推定結果が用いられるように設定を行う。これにより、自己位置決定部28は、画像を用いた自己位置推定部26からの自己位置推定結果を用いて、オドメトリ誤差を補正することで、自己位置を決定する。一方、切替部32は、評価部31による評価結果が低い推定結果の場合は、自己位置推定部26による推定結果が走行支援で用いられないようにする。すなわち、切替部32は、評価部31による評価結果が低い場合、移動体50の走行部11からの走行情報のみに基づく走行支援に切り替える。ここでの走行情報とは、走行部11からのエンコーダ値に基づくオドメトリである。具体的には、切替部32は、自己位置決定部28において、自己位置推定部26の推定結果が用いられないように設定を切り替える。これにより、自己位置決定部28は、画像を用いた自己位置推定部26からの自己位置推定結果を用いずに、オドメトリ誤差を補正することなく、自己位置を決定する。
【0045】
図12は、走行経路における移動体50の走行支援状況を示す概念図である。図12の「走行」と示された直線上にプロットされたドットは、データベースに登録されている位置情報に対応する位置(各重要ポイント)を示す。移動体50は、重要ポイントに近い領域E1では、自己位置推定部26からの自己位置推定結果を用いて、オドメトリ誤差を補正することによる、走行支援によって走行する。一方、移動体50は、重要ポイントから遠い領域E2では、オドメトリのみに基づいた走行支援によって走行する。
【0046】
次に、図13を参照して、自己位置の推定精度の評価、及び当該評価結果を用いた移動体の走行支援の方法について説明する。図13は、自己位置の推定精度の評価、及び当該評価結果を用いた移動体の走行支援の方法を示すフローチャートである。この処理は、走行経路のある位置において、自己位置推定部26が自己位置を推定した後に実行される。
【0047】
まず、評価部31は、自己位置推定部26による自己位置推定の推定精度を評価する(ステップS210:評価ステップ)。評価部31は、自己位置推定部26で抽出された特徴のマッチング成功数(成功割合)に基づいて、評価を行う。
【0048】
次に、評価部31は、ステップS210における評価結果が高いか否かを判定する(ステップS220:評価ステップ)。ステップS220において、評価が高いと判定された場合、切替部32は、自己位置推定部26による推定結果を走行支援で用いられるように設定する(ステップS230:切替ステップ)。一方、ステップS220において、評価が低いと判定された場合、切替部32は、自己位置推定部26による推定結果が走行支援で用いられないようにし、オドメトリのみに基づいて走行支援が行われるように設定する(ステップS240:切替ステップ)。以上により、図13に示す処理が終了する。
【0049】
次に、本実施形態に係る自己位置推定装置1、移動体50、自己位置推定方法、及び自己位置推定プログラムの作用・効果について説明する。
【0050】
自己位置推定装置1は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するためのものである。ここで、例えば、カメラ12は、データベースが作成されたときの位置(重要ポイント)から離れた位置で画像を取得する場合がある。このような場合、当該画像を用いて行われた自己位置の推定は、推定精度が十分に高くない可能性がある。これに対し、評価部31は、自己位置推定部26の推定精度を評価することが出来る。すなわち、評価部31は、カメラ12で画像が取得された位置での自己位置の推定精度が高いか低いかの評価を行うことができる。また、切替部32は、評価部31による評価結果に基づいて、自己位置推定部26による自己位置の推定結果を走行支援に用いるか否かを切り替える。これにより、切替部32は、推定精度が高いと評価された自己位置の推定結果については、走行支援に用いる一方、推定精度が低いと評価された自己位置の推定結果については、走行支援に用いないように切り替えることができる。以上より、適切な移動体50の走行支援を行うことができる。
【0051】
評価部31は、特徴とデータベースとのマッチングに基づいて推定精度を評価してよい。これにより、評価部31は、自己位置推定部26での推定精度を適切に評価できる。
【0052】
切替部32は、評価部31による評価結果が低い場合、移動体50の走行部11からの走行情報のみに基づく走行支援に切り替えてよい。これにより、推定精度の低い自己位置の推定結果に基づいた走行支援がなされることを回避できる。
【0053】
本実施形態に係る移動体50は、上述の自己位置推定装置1を備える。
【0054】
本実施形態に係る自己位置推定方法は、自己位置推定方法は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定方法であって、画像を取得する画像取得ステップと、画像取得ステップで取得された画像から特徴を抽出する抽出ステップと、抽出ステップで抽出された特徴と、データベースとをマッチングさせることで移動体の自己位置を推定する推定ステップと、推定ステップの推定精度を評価する評価ステップと、評価ステップによる評価結果に基づいて、推定ステップによる自己位置の推定結果を走行支援に用いるか否かを切り替える切替ステップと、を備える。
【0055】
本実施形態に係る自己位置推定プログラムは、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定プログラムであって、画像を取得する画像取得ステップと、画像取得ステップで取得された画像から特徴を抽出する抽出ステップと、抽出ステップで抽出された特徴と、データベースとをマッチングさせることで移動体の自己位置を推定する推定ステップと、推定ステップの推定精度を評価する評価ステップと、評価ステップによる評価結果に基づいて、推定ステップによる自己位置の推定結果を走行支援に用いるか否かを切り替える切替ステップと、を制御部に実行させる。
【0056】
これらの移動体50、自己位置推定方法、及び自己位置推定プログラムによれば、上述の自己位置推定装置1と同様な効果を得ることができる。
【0057】
本発明は、上述の実施形態に限定されるものではない。
【0058】
自己位置推定装置1は、上述の実施形態に加えて、更に追加の処理を行ってよい。例えば、評価部31は、データベースに登録されている位置情報に対応する位置からどの程度離れたら推定精度が低下するかを評価してよい。これにより、推定精度が下がりやすいエリアについては、データベースに登録される位置情報を増やすことなどが可能になる。当該処理は、特に、図4に示すデータベース作成の時に行われてよい。これにより、推定精度が下がりやすいエリア(例えば、たくさんの物が近くに存在するような環境)については、重要ポイントを多く設定することで、データベースを多く設定することができる。これにより、推定精度を向上できる。また、推定精度が下がりにくいエリア(例えば、開けた環境)については、重要ポイントを少なめに設定することができる。これにより、データ容量を低減できる。なお、当該処理は、移動体50の走行中に行われてもよく、必要に応じて、重要ポイントを後から増やして、データベースを新たに登録してよい。
【0059】
また、評価部31は、移動体50の走行範囲の中で、推定精度が高いと評価した位置を、移動体50の位置合わせ用の位置としてよい。例えば、移動体50が自己位置を見失った場合、当該移動体50は、全てのデータベースに対し自己位置推定を行い、最も推定精度が高いと評価(例えば最もマッチング成功数が高い)された結果を自己位置と把握したうえで、走行に復帰することができる。
【0060】
また、評価部31は、移動体50の走行範囲の各位置における評価結果に基づいて、データベース自体の評価を行ってよい。例えば、データベースに登録された位置情報に対応する位置に近付いた場合であっても推定精度の評価が良くならない場合、データベース自体が作成に失敗している可能性がある。従って、評価部31がデータベース自体の評価を行うことで、当該状況に対する対策をとることが可能になる。例えば、管理者に警告を出したり、データベースを作成しなおすなどの処理が行われてよい。なお、データベース自体の評価は、事前のティーチング時に収集した画像を用いて行われてもよく、走行中に行われてもよい。
【0061】
また、評価部31は、移動体50の走行範囲の各位置における評価結果に基づいて、移動体50の経路からの乖離度合の評価を行ってよい。例えば、データベースに登録された位置情報に対応する位置に近付いた場合であっても推定精度の評価が良くならない場合、移動体50が経路自体から反れてしまっている可能性がある。従って、評価部31が移動体の経路からの乖離度合の評価を行うことで、当該状況に対する対策をとることが可能になる。この場合、一旦、移動体50を停止させ、停止した状態で自己位置推定を繰り返しおこなう。自己位置推定装置1は、繰り返し計算結果のばらつきが小さい場合は、位置推定精度が高いとみなし、オドメトリ補正を行う。自己位置推定装置1は、繰り返し計算結果のばらつきが大きい場合は、補正が困難であるとみなし、管理者に警告を出す。
【0062】
上述の実施形態では、移動体50に自己位置推定装置の構成要素が全て含まれていた。これに代えて、管理部2が自己位置推定装置の一部の機能を有してもよい。
【符号の説明】
【0063】
1…自己位置推定装置、12…カメラ(画像取得部)、26…自己位置推定部(抽出部、推定部)、31…評価部、32…切替部、50…移動体。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13