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

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

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

特許7283378自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム
<>
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図1
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図2
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図3
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図4
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図5
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図6
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図7
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図8
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図9
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図10
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図11
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図12
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-22
(45)【発行日】2023-05-30
(54)【発明の名称】自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム
(51)【国際特許分類】
   G05D 1/02 20200101AFI20230523BHJP
【FI】
G05D1/02 K
【請求項の数】 9
(21)【出願番号】P 2019236687
(22)【出願日】2019-12-26
(65)【公開番号】P2021105831
(43)【公開日】2021-07-26
【審査請求日】2022-03-15
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100124062
【弁理士】
【氏名又は名称】三上 敬史
(74)【代理人】
【識別番号】100148013
【弁理士】
【氏名又は名称】中山 浩光
(74)【代理人】
【識別番号】100162640
【弁理士】
【氏名又は名称】柳 康樹
(72)【発明者】
【氏名】古室 達也
(72)【発明者】
【氏名】加藤 紀彦
【審査官】大古 健一
(56)【参考文献】
【文献】国際公開第2019/131198(WO,A1)
【文献】国際公開第2012/172870(WO,A1)
【文献】特開2019-53462(JP,A)
【文献】国際公開第2019/021412(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 - 1/12
(57)【特許請求の範囲】
【請求項1】
取得された画像から抽出された特徴と、予め位置情報と前記特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定装置であって、
前記画像を取得する画像取得部と、
前記画像取得部で取得された前記画像から前記特徴を抽出する抽出部と、
前記抽出部で抽出された前記特徴と、前記データベースとをマッチングさせることで前記移動体の自己位置を推定する推定部と、
前記特徴を抽出するための判定閾値の調整を行う判定閾値調整部と、を備え、
前記判定閾値調整部は、記憶部に保存される前記データベースを更新するための前記判定閾値を調整し、
前記判定閾値調整部は、前記判定閾値が調整された状態の前記データベースを取得し、当該データベースにおいて各位置情報と紐付けられた前記判定閾値に基づいて前記判定閾値の調整を行い、
前記抽出部は、前記判定閾値調整部で調整された前記判定閾値を用いて、前記画像から前記特徴を抽出する、自己位置推定装置。
【請求項2】
取得された画像から抽出された特徴と、予め位置情報と前記特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定装置であって、
前記画像を取得する画像取得部と、
前記画像取得部で取得された前記画像から前記特徴を抽出する抽出部と、
前記抽出部で抽出された前記特徴と、前記データベースとをマッチングさせることで前記移動体の自己位置を推定する推定部と、
前記特徴を抽出するための判定閾値の調整を行う判定閾値調整部と、を備え、
前記判定閾値調整部は、前記判定閾値が調整された状態の前記データベースを取得し、当該データベースにおいて各位置情報と紐付けられた前記判定閾値に基づいて前記判定閾値の調整を行い、
前記抽出部は、前記判定閾値調整部で調整された前記判定閾値を用いて、前記画像から前記特徴を抽出し、
前記判定閾値調整部は、前記判定閾値として、
前記特徴か否かの判定対象となる判定画素に対して周囲画素が明るいか暗いかを判定する明暗閾値、
及び、明るい又は暗いと判定された周囲画素の連続数を判定するコーナー閾値、の少なくとも一方を調整する、自己位置推定装置。
【請求項3】
取得された画像から抽出された特徴と、予め位置情報と前記特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定装置であって、
前記画像を取得する画像取得部と、
前記画像取得部で取得された前記画像から前記特徴を抽出する抽出部と、
前記抽出部で抽出された前記特徴と、前記データベースとをマッチングさせることで前記移動体の自己位置を推定する推定部と、
前記特徴を抽出するための判定閾値の調整を行う判定閾値調整部と、を備え、
前記判定閾値調整部は、前記判定閾値が調整された状態の前記データベースを取得し、当該データベースにおいて各位置情報と紐付けられた前記判定閾値に基づいて前記判定閾値の調整を行い、
前記抽出部は、前記判定閾値調整部で調整された前記判定閾値を用いて、前記画像から前記特徴を抽出し、
前記抽出部は、抽出した前記特徴の分布態様が、前記データベースのものから変化しているか否かを判定する、自己位置推定装置。
【請求項4】
前記データベース内の所定の位置情報に紐付けられた画像は、複数のエリアに分割されており、一のエリアと他のエリアとでは、前記判定閾値が互いに異なっている、請求項1~3の何れか一項に記載の自己位置推定装置。
【請求項5】
前記データベースには、前記判定閾値の調整を行っても前記特徴の数が所定量に満たない位置が、走行注意エリアとして登録されている、請求項1~4の何れか一項に記載の自己位置推定装置。
【請求項6】
取得された画像から抽出された特徴と、予め位置情報と前記特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定装置であって、
前記画像を取得する画像取得部と、
前記画像取得部で取得された画像から前記特徴を抽出する抽出部と、
前記特徴を抽出するための判定閾値の調整を行う判定閾値調整部と、を備え、
前記判定閾値調整部は、記憶部に保存される前記データベースを更新するための前記判定閾値を調整し、
前記判定閾値調整部は、前記画像取得部で取得された前記画像から抽出された前記特徴の分布態様を評価し、当該評価結果に基づいて、前記特徴を抽出するための判定閾値を調整し、
前記抽出部は、前記判定閾値調整部で調整された前記判定閾値を用いて、前記画像から前記特徴を抽出する、自己位置推定装置。
【請求項7】
請求項1~6の何れか一項に記載された自己位置推定装置を備える移動体。
【請求項8】
取得された画像から抽出された特徴と、予め位置情報と前記特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定方法であって、
前記画像を取得する画像取得ステップと、
前記画像取得ステップで取得された前記画像から前記特徴を抽出する抽出ステップと、
前記抽出ステップで抽出された前記特徴と、前記データベースとをマッチングさせることで前記移動体の自己位置を推定する推定ステップと、
前記特徴を抽出するための判定閾値の調整を行う判定閾値調整ステップと、を備え、
前記判定閾値調整ステップでは、記憶部に保存される前記データベースを更新するための前記判定閾値を調整し、
前記判定閾値調整ステップでは、前記判定閾値が調整された状態の前記データベースを取得し、当該データベースにおいて各位置情報と紐付けられた前記判定閾値に基づいて前記判定閾値の調整を行い、
前記抽出ステップでは、前記判定閾値調整ステップで調整された前記判定閾値を用いて、前記画像から前記特徴を抽出する、自己位置推定方法。
【請求項9】
取得された画像から抽出された特徴と、予め位置情報と前記特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定プログラムであって、
前記画像を取得する画像取得ステップと、
前記画像取得ステップで取得された前記画像から前記特徴を抽出する抽出ステップと、
前記抽出ステップで抽出された前記特徴と、前記データベースとをマッチングさせることで前記移動体の自己位置を推定する推定ステップと、
前記特徴を抽出するための判定閾値の調整を行う判定閾値調整ステップと、を制御部に実行させ、
前記判定閾値調整ステップでは、記憶部に保存される前記データベースを更新するための前記判定閾値を調整し、
前記判定閾値調整ステップでは、前記判定閾値が調整された状態の前記データベースを取得し、当該データベースにおいて各位置情報と紐付けられた前記判定閾値に基づいて前記判定閾値の調整を行い、
前記抽出ステップでは、前記判定閾値調整ステップで調整された前記判定閾値を用いて、前記画像から前記特徴を抽出する、自己位置推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラムに関する。
【背景技術】
【0002】
従来の自己位置推定装置として、特許文献1に記載されたものが知られている。この自己位置推定装置は、画像入力部から順に入力された時系列画像から物体の特徴点を抽出してトラッキングする。そして、算出された特徴点と地図情報とをマッチングさせることで、移動体の自己位置を推定している。この自己位置推定装置は、トラッキングする特徴点を厳選することで精度を上げている。
【先行技術文献】
【特許文献】
【0003】
【文献】国際特許公開2015-049717号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、画像から特徴を抽出した場合、移動体の走行位置によっては、特徴の数や分布が不均一になる可能性がある。例えば、抽出される特徴が少ない場合や、分布に偏りがある場合、自己位置推定の精度が低下するという問題が生じる。また、抽出される特徴が多すぎると、処理速度が低下してリアルタイムでの自己位置推定が難しくなるという問題が生じる。
【0005】
従って、本発明は、移動体の走行位置によらず、高い精度にてリアルタイムで自己位置の推定を行うことができる自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係る自己位置推定装置は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定装置であって、画像を取得する画像取得部と、画像取得部で取得された画像から特徴を抽出する抽出部と、抽出部で抽出された特徴と、データベースとをマッチングさせることで移動体の自己位置を推定する推定部と、特徴を抽出するための判定閾値の調整を行う判定閾値調整部と、を備え、判定閾値調整部は、判定閾値が調整された状態のデータベースを取得し、当該データベースにおいて各位置情報と紐付けられた判定閾値に基づいて判定閾値の調整を行い、抽出部は、判定閾値調整部で調整された判定閾値を用いて、画像から特徴を抽出する。
【0007】
自己位置推定装置は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するためのものである。ここで、抽出部が画像から特徴を抽出するときに一定の判定閾値のみを用いる場合、移動体の走行位置によっては、特徴の数や分布が不均一になる可能性がある。これに対し、本発明に係る自己位置推定装置は、特徴を抽出するための判定閾値の調整を行う判定閾値調整部を有している。この判定閾値調整部は、判定閾値が調整された状態のデータベースを取得し、当該データベースにおいて各位置情報と紐付けられた判定閾値に基づいて判定閾値の調整を行う。従って、判定閾値調整部は、移動体の走行位置に応じ、判定閾値を適切な値に調整することができる。抽出部は、このように適切な値に調整された判定閾値を用いることで、数や分布が不均一になることを抑制した状態で、画像から特徴を抽出することができる。これにより、自己位置推定装置は、抽出される特徴が少ないことや分布に偏りがあることによる、自己位置推定の精度の低下、及び抽出される特徴が多すぎることによる処理速度の低下を抑制することができる。以上により、自己位置推定装置は、移動体の走行位置によらず、高い精度にてリアルタイムで自己位置の推定を行うことができる。
【0008】
判定閾値調整部は、例えば、判定閾値として、特徴か否かの判定対象となる判定画素に対して周囲画素が明るいか暗いかを判定する明暗閾値、及び、明るい又は暗いと判定された周囲画素の連続数を判定するコーナー閾値、の少なくとも一方を調整してよい。
【0009】
データベース内の所定の位置情報に紐付けられた画像は、複数のエリアに分割されており、一のエリアと他のエリアとでは、判定閾値が互いに異なっていてよい。これにより、画像内で特徴の分布が偏りやすい位置であっても、抽出部は、エリアに応じた適切な判定閾値で特徴を抽出することができる。
【0010】
抽出部は、抽出した特徴の分布態様が、データベースのものから変化しているか否かを判定してよい。抽出した特徴の分布態様がデータベースのものから変化している場合、周囲環境の変化など、精度の良い自己位置推定が行えなくなるような異常が発生している可能性がある。従って、抽出部が当該状況を判定することで、対策をとることが可能となる。
【0011】
データベースには、判定閾値の調整を行っても特徴の数が所定量に満たない位置が、走行注意エリアとして登録されていてよい。この場合、移動体が走行注意エリアを走行するときには、速やかに対策をとることが可能となる。
【0012】
本発明の一形態に係る自己位置推定装置は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定装置であって、画像を取得する画像取得部と、画像取得部で取得された画像から特徴を抽出する抽出部と、特徴を抽出するための判定閾値の調整を行う判定閾値調整部と、を備え、判定閾値調整部は、画像取得部で取得された画像から抽出された特徴の分布態様を評価し、当該評価結果に基づいて、特徴を抽出するための判定閾値を調整し、抽出部は、判定閾値調整部で調整された判定閾値を用いて、画像から特徴を抽出する。
【0013】
本発明の一形態に係る移動体は、上述の自己位置推定装置を備える。
【0014】
本発明の一形態に係る自己位置推定方法は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定方法であって、画像を取得する画像取得ステップと、画像取得ステップで取得された画像から特徴を抽出する抽出ステップと、抽出ステップで抽出された特徴と、データベースとをマッチングさせることで移動体の自己位置を推定する推定ステップと、特徴を抽出するための判定閾値の調整を行う判定閾値調整ステップと、を備え、判定閾値調整ステップでは、判定閾値が調整された状態のデータベースを取得し、当該データベースにおいて各位置情報と紐付けられた判定閾値に基づいて判定閾値の調整を行い、抽出ステップでは、判定閾値調整ステップで調整された判定閾値を用いて、画像から特徴を抽出する。
【0015】
本発明の一形態に係る自己位置推定プログラムは、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定プログラムであって、画像を取得する画像取得ステップと、画像取得ステップで取得された画像から特徴を抽出する抽出ステップと、抽出部で抽出された特徴と、データベースとをマッチングさせることで移動体の自己位置を推定する推定ステップと、特徴を抽出するための判定閾値の調整を行う判定閾値調整ステップと、を制御部に実行させ、判定閾値調整ステップでは、判定閾値が調整された状態のデータベースを取得し、当該データベースにおいて各位置情報と紐付けられた判定閾値に基づいて判定閾値の調整を行い、抽出ステップでは、判定閾値調整ステップで調整された判定閾値を用いて、画像から特徴を抽出する。
【0016】
これらの自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラムによれば、上述の自己位置推定装置と同様な効果を得ることができる。
【発明の効果】
【0017】
本発明によれば、移動体の走行位置によらず、高い精度にてリアルタイムで自己位置の推定を行うことができる自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラムを提供することができる。
【図面の簡単な説明】
【0018】
図1】本発明の実施形態に係る自己位置推定装置を備える自己位置推定システムを示す概略図である。
図2】本発明の実施形態に係る自己位置推定装置を備える移動体のブロック構成を示すブロック構成図である。
図3】データベース作成時の作業場の様子を示す概略図である。
図4】データベースの作成方法を示すフローチャートである。
図5】特徴を抽出する方法を説明するための図である。
図6】カメラで取得された画像、及び抽出された特徴を示す図である。
図7】特徴の三次元座標を取得する方法を示す概念図である。
図8】移動体が自動走行を行うときの様子を示す概略図である。
図9図9は、移動体の自己位置の推定方法を示すフローチャートである。
図10】判定閾値調整部による処理内容を示すフローチャートである。
図11】判定閾値調整部によって判定閾値が調整される前と調整された後の特徴点の様子を示す画像である。
図12】走行注意エリアとして登録される位置での様子を示す画像である。
図13】走行時に抽出した特徴の分布態様が、データベースのものから変化している様子を示す画像である。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【0020】
図1は、本実施形態に係る自己位置推定装置1を備える自己位置推定システム100を示す概略図である。図1に示すように、自己位置推定システム100は、複数の移動体50のそれぞれに設けられた自己位置推定装置1と、管理部2と、を備える。
【0021】
本実施形態では、移動体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に対して所定の情報を送信する。
【0022】
図2は、本実施形態に係る自己位置推定装置1を備える移動体50のブロック構成を示すブロック構成図である。図2に示すように、移動体50は、走行部11と、カメラ12(画像取得部)と、制御部20と、を備える。走行部11は、移動体50を走行させるための駆動力を発生するモータなどの駆動系である。カメラ12は、移動体50の周囲の画像を取得する機器である。カメラ12は、取得した画像を自己位置推定部26へ送信する。
【0023】
制御部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と、を備える。このうち、記憶部24、自己位置推定部26(抽出部、推定部)、オドメトリ計算部27、自己位置決定部28、判定閾値調整部31、及びカメラ12によって自己位置推定装置1が構成される。
【0024】
経路計画部21は、移動体50が移動する経路を計画する。経路計画部21は、作業場Eの中の出発位置と目的位置とを設定すると共に、目的位置までの経路を計画する。経路計画部21は、計画した経路の情報を指令速度計算部22へ送信する。指令速度計算部22は、走行部11に対する指令速度、すなわちモータに対する指令回転数を計算する。指令速度計算部22は、経路計画部21から送信された経路、及び自己位置決定部28から送信された自己位置に基づいて、指令回転数を計算する。通信部23は、走行部11との間で通信を行う。通信部23は、走行部11に対して走行に必要な制御信号を送信する。なお、通信部23は、図示されないエンコーダからのエンコーダ値を取得すると共に、当該エンコーダ値をオドメトリ計算部27に送信する。
【0025】
次に、自己位置推定装置1の各構成要素について説明する。記憶部24は、自己位置推定に必要なデータベースを記憶する。データベースは、予め位置情報と、当該位置で取得された画像から抽出された特徴と、を関連付けた情報群である。記憶部24は、自己位置推定部26に対してデータベースを送信する。
【0026】
図2に戻り、自己位置推定部26は、カメラ12で取得された画像から特徴を抽出する。また、自己位置推定部26は、カメラ12で取得された画像から抽出された特徴と、記憶部24から送信されたデータベースとをマッチングさせることで、移動体50の自己位置を推定する。自己位置推定部26は、推定した自己位置を自己位置決定部28へ送信する。
【0027】
オドメトリ計算部27は、通信部23から取得したエンコーダ値に基づいて、オドメトリによる自己位置を計算する。オドメトリ計算部27は、カメラ12の画像によることなく、容易な計算によって自己位置を取得することができる。オドメトリ計算部27は、オドメトリによる自己位置を自己位置決定部28へ送信する。自己位置決定部28は、自己位置推定部26からの自己位置と、オドメトリ計算部27からの自己位置を総合的に判断し、移動体50の自己位置を決定する。自己位置決定部28は、決定した自己位置を指令速度計算部22へ送信する。
【0028】
判定閾値調整部31は、特徴を抽出するための判定閾値の調整を行う。判定閾値調整部31は、判定閾値として、後述の明暗閾値及びコーナー閾値の少なくとも一方を調整する。なお、判定閾値調整部31については、データベースの作成方法について説明した後に、詳細に説明する。
【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)として抽出される。その他、荷物、設置物、移動体などが画像に写っている場合、それらの物体のコーナー部も特徴として抽出される。なお、判定閾値調整部31による調整が行われる前段階では、明暗閾値及びコーナー閾値として、予め設定されたデフォルト値が用いられてよい。
【0033】
本明細書では、特徴として抽出された画素を「特徴点FP」と称する場合がある。なお、自己位置推定に用いられる画像中の特徴は、点である場合のみならず、線や所定形状などである場合もある。すなわち、特徴は、画像中において特徴的な部分として画像処理によって抽出可能な部分であり、且つ、他の画像で抽出したものとマッチング可能な部分であれば、どのような態様であるかは限定されない。なお、本実施形態では、特徴点抽出方法として図5に示す方法を例示したが、抽出方法は特に限定されるものではない。また、抽出方法として別のものを採用した場合は、上述のような明暗閾値、及びコーナー閾値に代えて、抽出方法に合わせた閾値を用いてよい。
【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】
次に、図10及び図11を参照して、判定閾値調整部31について説明する。図10は、判定閾値調整部31による処理内容を示すフローチャートである。図11は、判定閾値調整部31によって判定閾値が調整される前と調整された後の特徴点FPの様子を示す画像である。図11の上段側が調整前の画像であり、下段側が調整後の画像である。判定閾値調整部31は、カメラ12で取得された画像から抽出された特徴の分布態様を評価し、当該評価結果に基づいて、特徴を抽出するための判定閾値を調整する。
【0037】
例えば、図11(a)の上段側の画像が示すように、第3重要ポイントでは、特徴が多くなりすぎる。この場合、演算の負荷が大きくなり、リアルタイムでの自己位置推定が行い難くなる。従って、図11(a)の下段側の画像が示すように、判定閾値調整部31は、判定閾値を調整して、特徴の数を減少させる。また、図11(b)の上段側の画像が示すように、第10重要ポイントでは、特徴が少なすぎる。この場合、自己位置推定が行い難くなる。従って、図11(b)の下段側の画像が示すように、判定閾値調整部31は、判定閾値を調整して、特徴の数を増加させる。判定閾値調整部31は、ある位置における画像について判定閾値の調整を行ったら、当該画像に対応する位置情報に対して、判定閾値を紐付けて、データベースに登録する。すなわち、図11(a)の例では、判定閾値調整部31は、第3重要ポイントの位置情報に対して、特徴を減少させる判定閾値を紐付けて登録する。図11(b)の例では、判定閾値調整部31は、第10重要ポイントの位置情報に対して、特徴を増加させる判定閾値を紐付けて登録する。
【0038】
また、図11(c)の上段側の画像が示すように、第6重要ポイントでは、左側のエリアにて適切な数の特徴が均一に分布しているのに対し、右側のエリアでは特徴が少ない。その結果、画像全体で見た時に特徴の分布に偏りが生じている。従って、図11(c)の下段側の画像が示すように、判定閾値調整部31は、右側のエリアの判定閾値を調整して、右側のエリアの数を増加させる。その結果、画像全体として見て、特徴の分布が均一となる。このように、判定閾値調整部31は、ある位置における画像を複数のエリアに分割する。そして、それぞれの分割エリアに対して、個別に判定閾値の調整を行うことができる。判定閾値調整部31は、判定閾値と共に分割パターンもデータベースに登録する。図11(c)の例では、判定閾値調整部31は、第6重要ポイントの位置情報に対して、左半分と右半分とを分割した分割パターンと共に、右半分のエリアにおいて特徴を増加させる判定閾値を紐付けて登録する。これにより、データベース内の所定の位置情報に紐付けられた画像は、複数のエリアに分割されており、一のエリアと他のエリア(図11(c)の例では、左半分のエリアと右半分のエリア)とでは、判定閾値が互いに異なっている。
【0039】
次に、図10を参照して判定閾値調整部31の処理内容について説明する。なお、図10に示す処理は、図4のステップS30とステップS40との間で実行されてもよいし、図4の処理が全て終了した後で実行されてもよい。図10に示すように、判定閾値調整部31は、調整対象となる画像の入力を行う(ステップS210)。次に、判定閾値調整部31は、画像を複数のエリアに分割する(ステップS220)。このとき、どのように画像を分割するかは特に限定されない。例えば、判定閾値調整部31は、画像を左右に二分割してもよいし、左右上下に四分割してもよいし、さらに細分化してもよい。次に、判定閾値調整部31は、分割したエリアごとに明暗閾値を調整する(ステップS230:判定閾値調整ステップ)。なお、第1回目のステップS230では、明暗閾値としてデフォルト値が用いられてよい。次に、判定閾値調整部31は、特徴数が一定範囲内に収まっているか否かを判定する(ステップS240)。判定閾値調整部31は、分割された各エリアについて、特徴数を判定する。特徴数の範囲は任意に設定可能である。また、エリアの分割数が多くなればなるほど、一エリアあたりの大きさは小さくなる。従って、特徴数の範囲は、分割数に応じて適宜設定される。ステップS240において、全てのエリアについて特徴数が一定範囲内と判定された場合、判定閾値調整部31は、対応する位置情報に対して、判定閾値、及び分割パターン、及び特徴数などを紐付けてデータベースに登録する(ステップS250)。
【0040】
ステップS240において、全てのエリアについて特徴数が一定範囲内でないと判定された場合、判定閾値調整部31は、明暗閾値を全て試したか否かを判定する(ステップS260)。ステップS260において、まだ試していない明暗閾値が存在すると判定された場合、再びステップS230から処理を繰り返す。なお、ステップS260の後のステップS230では、他の明暗閾値が用いられる。このとき、判定閾値調整部31は、分布態様を考慮して、あらたな明暗閾値を設定してよい。例えば、画像が暗すぎることによって特徴数が明かに少なすぎる場合、判定閾値調整部31は、明暗閾値を大きく減少させてよい。また、複数のエリアのうち、一部のエリアについては特徴数が一定範囲内であった場合、当該エリアについては、判定閾値調整部31は、判定閾値の調整を行わなくてよい。
【0041】
ステップS260において、全ての明暗閾値を試したと判定された場合、判定閾値調整部31は、分割したエリアごとにコーナー閾値を調整する(ステップS270:判定閾値調整ステップ)。次に、判定閾値調整部31は、特徴数が一定範囲内に収まっているか否かを判定する(ステップS280)。ステップS280において、全てのエリアについて特徴数が一定範囲内と判定された場合、判定閾値調整部31は、対応する位置情報に対して、判定閾値、及び分割パターン、及び特徴数などを紐付けてデータベースに登録する(ステップS250)。ステップS280において、全てのエリアについて特徴数が一定範囲内でないと判定された場合、判定閾値調整部31は、コーナー閾値を全て試したか否かを判定する(ステップS290)。ステップS290において、まだ試していない明暗閾値が存在すると判定された場合、再びステップS270から処理を繰り返す。ステップS290において、全てのエリアについて全てのコーナー閾値を試したと判定された場合、判定閾値調整部31は、対応する位置情報に対して、判定閾値、及び分割パターン、及び特徴数などを紐付けてデータベースに登録する(ステップS250)。
【0042】
なお、データベースには、判定閾値の調整を行っても特徴の数が所定量に満たない位置が、走行注意エリアとして登録されてよい。すなわち、上述のステップS290において、ステップS290において、全てのエリアについて全てのコーナー閾値を試したと判定された場合、判定閾値調整部31は、対応する位置情報について、自己位置推定を良好に行う事ができない走行注意エリアとして登録する。この場合、移動体50は、自己位置推定結果は用いずに、オドメトリによる自己位置のみに基づいて走行を行ってよい。例えば、図12に示すように、画像中に写り込んでいる物自体がシンプルであって、特徴が抽出できない場合、走行注意エリアとして登録される。
【0043】
次に、図8及び図9を参照して、移動体50の自動走行の方法、及び自動走行のための自己位置推定部26による自己位置推定方法について説明する。例えば、移動体50は、図8に示す現在位置STから、目標位置GLである第8重要ポイントまで自動走行するものとする。このとき、自己位置推定部26は、移動体50が現在どこに存在しているかを推定する。これにより、自己位置決定部28は、現在位置STが「第10重要ポイントから東へ2m」であると決定できる。そして、経路計画部21は、「第11重要ポイントまで東に48m、第8重要ポイントまで北へ16m」という経路を計画する。これにより、移動体が自動走行を行う。
【0044】
図9は、移動体50の自己位置の推定方法を示すフローチャートである。自己位置推定部26は、移動体50の自己位置を推定するために図9に示す処理を実行する。図9に示すように、自己位置推定部26は、カメラ12から移動体50の走行中の画像を取得する(ステップS110:画像取得ステップ)。例えば、カメラ12は、第10重要ポイント付近の現在位置STで画像を取得する(図8参照)。次に、自己位置推定部26は、特徴を抽出できるように、画像の前処理を行う(ステップS120)。
【0045】
次に、判定閾値調整部31は、特徴を抽出するための判定閾値の調整を行う(ステップS125:判定閾値調整ステップ)。判定閾値調整部31は、判定閾値が調整された状態のデータベースを取得し、当該データベースにおいて各位置情報と紐付けられた判定閾値に基づいて判定閾値の調整を行う。なお、ステップS125は厳密な自己位置推定がなされる後述のステップS150の前段階の処理であるため、当該ステップS125では、判定閾値調整部31は、1フレーム前の自己位置情報を基に、使用するデータベースとデータベースに紐付けられた判定閾値を読み出してよい。また、初期位置では(すなわち1フレーム前の自己位置情報が無い場合)、管理者から最初に与えられる画像から自己位置が推定されてよい。あるいは、全てのデータベースに対し自己位置推定を行い、最も推定精度が高いと評価(例えば最もマッチング成功数が高い)された結果を自己位置と把握して、そこを初期位置としてよい。
【0046】
次に、自己位置推定部26は、走行中の画像から特徴を抽出する(ステップS130:抽出ステップ)。このとき、自己位置推定部26は、ステップS125で調整された判定閾値を用いて特徴の抽出が行われる。なお、ステップS120,S130では、図4のステップS20,S30と同趣旨の処理がなされる。これにより、図6のような画像PCが取得された場合には、特徴点FPが取得される。
【0047】
次に、自己位置推定部26は、ステップS130で抽出した特徴と、データベースの画像の特徴とをマッチングさせる(ステップS140:推定ステップ)。そして、自己位置推定部26は、移動体50の自己位置を推定する(ステップS150:推定ステップ)。
【0048】
例えば、移動体50の走行中に、図6に示す画像PCに類似する画像が得られた場合、自己位置推定部26は、図6のものと類似する複数の特徴点FPを抽出することができる。そして、自己位置推定部26は、当該特徴点と、データベースの画像中の特徴点とを照らし合わせる。データベース作成時に第10重要ポイントで図6に示す画像PCが得られ、図6に示す複数の特徴点FPが抽出されていた場合、自己位置推定部26は、ステップS130で抽出された特徴点と、図6に示す特徴点FPとをマッチングさせることができる。なお、特徴点同士をマッチングさせる方法としては、例えば、特徴点の特徴量記述子を計算し、データベースの特徴点の中から最も距離が小さい特徴点をマッチングさせる方法が挙げられるが、方法は特に限定されず、公知の方法を用いればよい。
【0049】
ここで、走行中に撮影した場所が、第10重要ポイントからずれており、走行中に撮影したときの姿勢が、データベース作成時の撮影の姿勢からずれている場合、走行中に撮影された画像及び特徴点の画像座標は、図6の画像PC及び特徴点FPの画像座標から若干のずれが生じている。従って、ステップS150では、自己位置推定部26は、データベースから任意の3点の特徴点の座標を、走行中の画像の3点の特徴点に紐付ける。そして、自己位置推定部26は、公知の3点法の技術を用いて、移動体50の位置及び姿勢を推定する。なお、ステップS150に用いられる3点の特徴点は、画像中に多数存在する特徴点の中から、ランダムで選ばれる。
【0050】
次に、本実施形態に係る自己位置推定装置1、移動体50、自己位置推定方法、及び自己位置推定プログラムの作用・効果について説明する。
【0051】
自己位置推定装置1は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するためのものである。ここで、自己位置推定部26が画像から特徴を抽出するときに一定の判定閾値のみを用いる場合、移動体50の走行位置によっては、特徴の数や分布が不均一になる可能性がある(例えば、図11の上段の画像を参照)。これに対し、本実施形態に係る自己位置推定装置1は、特徴を抽出するための判定閾値の調整を行う判定閾値調整部31を有している。この判定閾値調整部31は、判定閾値が調整された状態のデータベースを取得し、当該データベースにおいて各位置情報と紐付けられた判定閾値に基づいて判定閾値の調整を行う。従って、判定閾値調整部31は、移動体50の走行位置に応じ、判定閾値を適切な値に調整することができる。自己位置推定部26は、このように適切な値に調整された判定閾値を用いることで、数や分布が不均一になることを抑制した状態で、画像から特徴を抽出することができる。これにより、自己位置推定装置1は、抽出される特徴が少ないことや分布に偏りがあることによる、自己位置推定の精度の低下、及び抽出される特徴が多すぎることによる処理速度の低下を抑制することができる。以上により、自己位置推定装置1は、移動体50の走行位置によらず、高い精度にてリアルタイムで自己位置の推定を行うことができる。
【0052】
判定閾値調整部31は、例えば、判定閾値として、特徴か否かの判定対象となる判定画素に対して周囲画素が明るいか暗いかを判定する明暗閾値、及び、明るい又は暗いと判定された周囲画素の連続数を判定するコーナー閾値、の少なくとも一方を調整してよい。
【0053】
データベース内の所定の位置情報に紐付けられた画像は、複数のエリアに分割されており、一のエリアと他のエリアとでは、判定閾値が互いに異なっていてよい。これにより、画像内で特徴の分布が偏りやすい位置であっても(例えば、図11(c)の上段の画像を参照)、自己位置推定部26は、エリアに応じた適切な判定閾値で特徴を抽出することができる。
【0054】
データベースには、判定閾値の調整を行っても特徴の数が所定量に満たない位置が、走行注意エリアとして登録されていてよい。この場合、移動体50が走行注意エリアを走行するときには、速やかに対策をとることが可能となる。例えば、移動体50は、走行注意エリアでは、画像を用いた自己位置の推定結果を用いることなく、他の手段(例えばオドメトリのみに基づく走行支援)での走行に切り替えてよい。あるいは、移動体50は、走行注意エリアでは、通常よりも速度を落として走行してよい。
【0055】
本発明の一形態に係る自己位置推定装置1は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定装置1であって、画像を取得するカメラ12と、カメラ12で取得された画像から特徴を抽出する自己位置推定部26と、特徴を抽出するための判定閾値の調整を行う判定閾値調整部31と、を備え、判定閾値調整部31は、カメラ12で取得された画像から抽出された特徴の分布態様を評価し、当該評価結果に基づいて、特徴を抽出するための判定閾値を調整し、自己位置推定部26は、判定閾値調整部31で調整された判定閾値を用いて、画像から特徴を抽出する。
【0056】
本発明の一形態に係る移動体50は、上述の自己位置推定装置1を備える。
【0057】
本発明の一形態に係る自己位置推定方法は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体50の自己位置を推定するための自己位置推定方法であって、画像を取得する画像取得ステップと、画像取得ステップで取得された画像から特徴を抽出する抽出ステップと、抽出ステップで抽出された特徴と、データベースとをマッチングさせることで移動体50の自己位置を推定する推定ステップと、特徴を抽出するための判定閾値の調整を行う判定閾値調整ステップと、を備え、判定閾値調整ステップでは、判定閾値が調整された状態のデータベースを取得し、当該データベースにおいて各位置情報と紐付けられた判定閾値に基づいて判定閾値の調整を行い、抽出ステップでは、判定閾値調整ステップで調整された判定閾値を用いて、画像から特徴を抽出する。
【0058】
本発明の一形態に係る自己位置推定プログラムは、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体50の自己位置を推定するための自己位置推定プログラムであって、画像を取得する画像取得ステップと、画像取得ステップで取得された画像から特徴を抽出する抽出ステップと、抽出ステップで抽出された特徴と、データベースとをマッチングさせることで移動体の自己位置を推定する推定ステップと、特徴を抽出するための判定閾値の調整を行う判定閾値調整ステップと、を制御部に実行させ、判定閾値調整ステップでは、判定閾値が調整された状態のデータベースを取得し、当該データベースにおいて各位置情報と紐付けられた判定閾値に基づいて判定閾値の調整を行い、抽出ステップでは、判定閾値調整ステップで調整された判定閾値を用いて、画像から特徴を抽出する。
【0059】
これらの自己位置推定装置1、移動体50、自己位置推定方法、及び自己位置推定プログラムによれば、上述の自己位置推定装置1と同様な効果を得ることができる。
【0060】
本発明は、上述の実施形態に限定されるものではない。
【0061】
自己位置推定部26は、上述の実施形態に示された機能に加えて、更に機能が追加されてもよい。例えば、自己位置推定部26は、抽出した特徴の分布態様が、データベースのものから変化しているか否かを判定してよい。走行時に抽出した特徴の分布態様がデータベースのものから変化している場合、周囲環境の変化など、精度の良い自己位置推定が行えなくなるような異常が発生している可能性がある。従って、自己位置推定部26が当該状況を判定することで、対策をとることが可能となる。例えば、図13の左側の画像に示すように、データベース作成時には特徴の分布が各エリアに均一であったものが、図13の右側の画像に示すように、照度が変化したり、画像にブレが生じることで、特徴の数が少なくなることがある。このような場合、自己位置推定部26は、抽出した特徴の分布態様(図13の右側の態様)が、データベースのもの(図13の左側の態様)から変化していると判定する。当該判定には、特徴点の数などに対して閾値を設定してよい。変化していると判定された場合、移動体50は、警告を出したり、走行処理を変更するなどの対策をとってよい。例えば、移動体50は、走行速度を落とし、判定閾値を調整しなおしてデータベースを更新してよい。あるいは、移動体50は、画像を用いた自己位置の推定結果を用いることなく、他の手段(例えばオドメトリのみに基づく走行支援)での走行に切り替えてよい。なお、一つのデータベースに対して、判定閾値を複数セット、有していてもよい。例えば、データベースは、朝の時間帯の判定閾値のセットと、夕方の時間帯の判定閾値のセットを有してよい。
【0062】
上述の実施形態では、移動体50に自己位置推定装置の構成要素が全て含まれていた。これに代えて、管理部2が自己位置推定装置の一部の機能を有してもよい。
【符号の説明】
【0063】
1…自己位置推定装置、12…カメラ(画像取得部)、26…自己位置推定部(抽出部、推定部)、31…判定閾値調整部、50…移動体。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13