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

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

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

特許7283665自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム
<>
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図1
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図2
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図3
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図4
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図5
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図6
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図7
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図8
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図9
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図10
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図11
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図12
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図13
  • 特許-自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-22
(45)【発行日】2023-05-30
(54)【発明の名称】自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム
(51)【国際特許分類】
   G06T 7/70 20170101AFI20230523BHJP
   G06T 7/00 20170101ALI20230523BHJP
   G01C 21/30 20060101ALI20230523BHJP
   G05D 1/02 20200101ALN20230523BHJP
【FI】
G06T7/70 A
G06T7/00 300F
G01C21/30
G05D1/02 H
【請求項の数】 6
(21)【出願番号】P 2019229498
(22)【出願日】2019-12-19
(65)【公開番号】P2021096789
(43)【公開日】2021-06-24
【審査請求日】2022-03-30
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(73)【特許権者】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100124062
【弁理士】
【氏名又は名称】三上 敬史
(74)【代理人】
【識別番号】100148013
【弁理士】
【氏名又は名称】中山 浩光
(74)【代理人】
【識別番号】100162640
【弁理士】
【氏名又は名称】柳 康樹
(72)【発明者】
【氏名】古室 達也
(72)【発明者】
【氏名】加藤 紀彦
(72)【発明者】
【氏名】阪野 貴彦
(72)【発明者】
【氏名】横塚 将志
(72)【発明者】
【氏名】音田 弘
【審査官】小太刀 慶明
(56)【参考文献】
【文献】特開2017-045447(JP,A)
【文献】特開2015-210677(JP,A)
【文献】特開2018-109849(JP,A)
【文献】国際公開第2012/046671(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G05D 1/02
G01C 21/30
(57)【特許請求の範囲】
【請求項1】
取得された画像から抽出された特徴と、予め位置情報と前記特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定装置であって、
前記データベース中の前記特徴について、前記マッチングを行う上での適格性を評価した評価結果を取得する評価結果取得部と、
前記評価結果取得部で取得された前記評価結果に基づいて、前記データベースを加工処理する処理部と、を備え
前記評価結果取得部は、前記移動体が所定の領域内で繰り返し走行を行うことによって、前記データベース中のそれぞれの前記特徴について繰り返し判定を行い蓄積したマッチングの成功の回数に基づいた適格性を評価した評価結果を取得する、自己位置推定装置。
【請求項2】
前記画像を取得する画像取得部と、
前記画像取得部で取得された前記画像から前記特徴を抽出する抽出部と、
前記抽出部で抽出された前記特徴と、前記データベースとをマッチングさせることで前記移動体の自己位置を推定する推定部と、
前記データベース中の特徴について、マッチングを行う上での適格性を評価する評価部と、を更に備える、請求項1に記載の自己位置推定装置。
【請求項3】
前記処理部は、前記適格性が低いと評価された前記特徴については、前記マッチングに用いられる頻度を低下させ、または前記データベースから削除する、請求項1又は2に記載の自己位置推定装置。
【請求項4】
請求項1~3の何れか一項に記載された自己位置推定装置を備える移動体。
【請求項5】
取得された画像から抽出された特徴と、予め位置情報と前記特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定方法であって、
前記データベース中の前記特徴について、前記マッチングを行う上での適格性を評価した評価結果を取得する評価結果取得ステップと、
前記評価結果取得ステップで取得された前記評価結果に基づいて、前記データベースを加工処理する処理ステップと、を備え
前記評価結果取得ステップでは、前記移動体が所定の領域内で繰り返し走行を行うことによって、前記データベース中のそれぞれの前記特徴について繰り返し判定を行い蓄積したマッチングの成功の回数に基づいた適格性を評価した評価結果を取得する、自己位置推定方法。
【請求項6】
取得された画像から抽出された特徴と、予め位置情報と前記特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定プログラムであって、
前記データベース中の前記特徴について、前記マッチングを行う上での適格性を評価した評価結果を取得する評価結果取得ステップと、
前記評価結果取得ステップで取得された前記評価結果に基づいて、前記データベースを加工処理する処理ステップと、を制御部に実行させ
前記評価結果取得ステップでは、前記移動体が所定の領域内で繰り返し走行を行うことによって、前記データベース中のそれぞれの前記特徴について繰り返し判定を行い蓄積したマッチングの成功の回数に基づいた適格性を評価した評価結果を取得する、自己位置推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラムに関する。
【背景技術】
【0002】
従来の自己位置推定装置として、特許文献1に記載されたものが知られている。この自己位置推定装置は、画像入力部から順に入力された時系列画像から物体の特徴点を抽出して、抽出した特徴点を追跡して移動ベクトルを算出する。そして、算出された特徴点の移動ベクトルの長さ及び方向に基づいて、特徴点が移動物であるか否かを判定している。そして、特徴点が移動物であると判定した場合、特徴点に対応する物体を時系列画像から除去し、除去されなかった特徴点の物体の世界座標系における座標を含む地図情報を生成し、生成した地図情報に基づいて自己位置を推定している。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-157197号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、物流現場などにおいて、現場に配置されている荷物は、データベース作成時には静止した状態となっている一方、自己位置を推定する時には移動してしまっていることがある。特許文献1の自己位置推定装置では、物流現場の荷物のような物体を移動可能物と判断することができない。すなわち、マッチングを行う上での特徴としての適格性が低い移動可能物に基づいて自己位置推定が行われる可能性があり、自己位置推定の精度を向上できないという問題がある。
【0005】
従って、本発明は、自己位置推定の精度を向上できる自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係る自己位置推定装置は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定装置であって、データベース中の特徴について、マッチングを行う上での適格性を評価した評価結果を取得する評価結果取得部と、評価結果取得部で取得された評価結果に基づいて、データベースを加工処理する処理部と、を備える。
【0007】
自己位置推定装置は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するためのものである。ここで、データベースを予め作成するときには、棚などのような不動の構造物のみならず、例えば荷物などのような移動可能物の特徴が抽出される場合がある。これに対し、評価結果取得部は、データベース中の特徴について、マッチングを行う上での適格性を評価した評価結果を取得する。従って、荷物などの移動可能物の特徴のように適格性の低い特徴がデータベースに含まれている場合でも、評価結果取得部は、そのような特徴に対して適格性を低く評価した評価結果を取得できる。更に、処理部は、評価結果取得部で取得された評価結果に基づいて、データベースを加工処理できる。すなわち、処理部は、適格性の高い特徴によってマッチングがなされ易くなるように、データベースを加工処理することができる。以上より、自己位置推定の精度を向上することができる。
【0008】
自己位置推定装置は、画像を取得する画像取得部と、画像取得部で取得された画像から特徴を抽出する抽出部と、抽出部で抽出された特徴と、データベースとをマッチングさせることで移動体の自己位置を推定する推定部と、データベース中の特徴について、マッチングを行う上での適格性を評価する評価部と、を更に備えてよい。これにより、自己位置推定装置は、自身が有する画像取得部で取得した画像に基づいて特徴を抽出して評価を行い、データベースの加工処理を行うことができる。
【0009】
評価結果取得部は、移動体が所定の領域内で繰り返し走行を行うことによって得られた評価結果を取得してよい。これにより、移動体が走行を繰り返すことで、処理部によるデータベースの加工処理を進行させることができる。従って、移動体が走行しているときに自動的に自己位置推定の精度を向上させることができる。
【0010】
評価結果取得部は、機械学習によって得られた評価結果を取得してよい。この場合、実際に移動体が繰り返し走行を行わなくとも、速やかにデータベースの加工処理を行うことが可能となる。
【0011】
処理部は、適格性が低いと評価された特徴については、マッチングに用いられる頻度を低下させ、またはデータベースから削除してよい。その結果、適格性が高い特徴がマッチングに用いられる割合が増加する。
【0012】
本発明の一態様に係る移動体は、上述の自己位置推定装置を備える。
【0013】
本発明の一態様に係る自己位置推定方法は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定方法であって、データベース中の特徴について、マッチングを行う上での適格性を評価した評価結果を取得する評価結果取得ステップと、評価結果取得ステップで取得された評価結果に基づいて、データベースを加工処理する処理ステップと、を備える。
【0014】
本発明の一態様に係る自己位置推定プログラムは、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定プログラムであって、データベース中の特徴について、マッチングを行う上での適格性を評価した評価結果を取得する評価結果取得ステップと、評価結果取得ステップで取得された評価結果に基づいて、データベースを加工処理する処理ステップと、を制御部に実行させる。
【0015】
これらの移動体、自己位置推定方法、及び自己位置推定プログラムによれば、上述の自己位置推定装置と同様な効果を得ることができる。
【発明の効果】
【0016】
本発明によれば、自己位置推定の精度を向上できる自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラムを提供することができる。
【図面の簡単な説明】
【0017】
図1】本発明の実施形態に係る自己位置推定装置を備える自己位置推定システムを示す概略図である。
図2】本発明の実施形態に係る自己位置推定装置を備える移動体のブロック構成を示すブロック構成図である。
図3】データベース作成時の作業場の様子を示す概略図である。
図4】データベースの作成方法を示すフローチャートである。
図5】特徴を抽出する方法を説明するための図である。
図6】カメラで取得された画像、及び抽出された特徴を示す図である。
図7】特徴の三次元座標を取得する方法を示す概念図である。
図8】移動体が自動走行を行うときの様子を示す概略図である。
図9図9は、移動体の自己位置の推定方法を示すフローチャートである。
図10】特徴点の適格性について説明するための概念図である。
図11】特徴点の適格性について説明するための概念図である。
図12】データベース中の特徴の評価及びデータベースの加工の方法を示すフローチャートである。
図13】特徴点を評価するときの様子を示す概念図である。
図14】データベース中のそれぞれの特徴点についての、マッチング成功回数の積算値を示すグラフである。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【0019】
図1は、本実施形態に係る自己位置推定装置1を備える自己位置推定システム100を示す概略図である。図1に示すように、自己位置推定システム100は、複数の移動体50のそれぞれに設けられた自己位置推定装置1と、管理部2と、を備える。
【0020】
本実施形態では、移動体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に対して所定の情報を送信する。
【0021】
図2は、本実施形態に係る自己位置推定装置1を備える移動体50のブロック構成を示すブロック構成図である。図2に示すように、移動体50は、走行部11と、カメラ12と、制御部20と、を備える。走行部11は、移動体50を走行させるための駆動力を発生するモータなどの駆動系である。カメラ12(画像取得部)は、移動体50の周囲の画像を取得する機器である。カメラ12は、取得した画像を自己位置推定部26へ送信する。
【0022】
制御部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と、処理部33と、を備える。このうち、記憶部24、自己位置推定部26、オドメトリ計算部27、自己位置決定部28、評価部31、評価結果取得部32、処理部33、及びカメラ12によって自己位置推定装置1が構成される。
【0023】
経路計画部21は、移動体50が移動する経路を計画する。経路計画部21は、作業場Eの中の出発位置と目的位置とを設定すると共に、目的位置までの経路を計画する。経路計画部21は、計画した経路の情報を指令速度計算部22へ送信する。指令速度計算部22は、走行部11に対する指令速度、すなわちモータに対する指令回転数を計算する。指令速度計算部22は、経路計画部21から送信された経路、及び自己位置決定部28から送信された自己位置に基づいて、指令回転数を計算する。通信部23は、走行部11との間で通信を行う。通信部23は、走行部11に対して走行に必要な制御信号を送信する。なお、通信部23は、図示されないエンコーダからのエンコーダ値を取得すると共に、当該エンコーダ値をオドメトリ計算部27に送信する。
【0024】
次に、自己位置推定装置1の各構成要素について説明する。記憶部24は、自己位置推定に必要なデータベースを記憶する。データベースは、予め位置情報と、当該位置で取得された画像から抽出された特徴と、を関連付けた情報群である。記憶部24は、自己位置推定部26に対してデータベースを送信する。
【0025】
図2に戻り、自己位置推定部26は、カメラ12で取得された画像から特徴を抽出する。また、自己位置推定部26は、カメラ12で取得された画像から抽出された特徴と、記憶部24から送信されたデータベースとをマッチングさせることで、移動体50の自己位置を推定する。自己位置推定部26は、推定した自己位置を自己位置決定部28へ送信する。
【0026】
オドメトリ計算部27は、通信部23から取得したエンコーダ値に基づいて、オドメトリによる自己位置を計算する。オドメトリ計算部27は、カメラ12の画像によることなく、容易な計算によって自己位置を取得することができる。オドメトリ計算部27は、オドメトリによる自己位置を自己位置決定部28へ送信する。自己位置決定部28は、自己位置推定部26からの自己位置と、オドメトリ計算部27からの自己位置を総合的に判断し、移動体50の自己位置を決定する。自己位置決定部28は、決定した自己位置を指令速度計算部22へ送信する。
【0027】
ここで、図3図6を参照して、データベースの作成方法について説明する。データベースの作成は、実際に移動体50が自己位置を推定しながら作業場Eで作業を行うよりも前段階において、予め行われる。データベースの作成は、作業場Eのうち、走行に重要なポイントにおいて画像を取得し、位置推定に必要な情報を算出してデータベース化して、作業場Eの地図に紐付けることによってなされる。重要なポイントは、例えば、図3において「1」~「12」までの番号が付された位置である。以降の説明においては、「1」の番号の位置を「第1重要ポイント」と称するものとする。他の番号が付された場所も同様に「第n重要ポイント」と称される。なお、ここでは、データベース作成のために、図2に示す移動体50を用いるものとして説明する。後述のように、自己位置推定部26が画像から特徴を抽出する機能や画像同士をマッチングする機能を有しているため、自己位置推定部26がデータベース作成のための各種処理を行うものとする。しかし、データベース作成のために用いられる機器は、特に限定されず、以降の処理を実行できる機器であれば、どのようなものを採用してもよい。
【0028】
図4は、データベースの作成方法を示すフローチャートである。まず、カメラ12は、データベースにしたい画像を1枚取得すると共に、その周辺の画像を1枚(複数でも可)取得する(ステップS10)。例えば、第1重要ポイントにおける画像をデータベースにする場合、カメラ12は、第1重要ポイントで画像を1枚取得し、当該第1重要ポイントの近くから別の画像を取得する。次に、自己位置推定部26は、特徴を抽出できるように、画像の前処理を行う(ステップS20)。例えば、カメラ12は、広範囲を撮影できるように魚眼レンズを有する場合がある。このときは、画像中の物体が歪んで映っているため、前処理を行って、実際の見え方に近い画像に調整する。
【0029】
次に、自己位置推定部26は、二枚の画像からそれぞれ特徴を抽出する(ステップS30)。ここで、図5を参照して、画像中の特徴の抽出の方法について説明する。図5は、特徴を抽出する方法を説明するための図である。図5(a)に示すように、自己位置推定部26は、判定画素Xと周囲画素(ここでは16画素)の輝度を比較することで、「明」「暗」「同」の三パターンに層別する。例えば、自己位置推定部26は、「判定画素(X)-周囲画素(i)>明暗閾値」という関係が成り立つ周囲画素は「明」と判定し、「判定画素(X)-周囲画素(i)<明暗閾値」という関係が成り立つ周囲画素は「暗」と判定し、「(判定画素(X)-周囲画素(i))の絶対値<明暗閾値」という関係が成り立つ周囲画素は「同」と判定する。
【0030】
ここで、自己位置推定部26は、「明」または「暗」の周囲画素の連続数がコーナー閾値以上となった場合、判定画素Xを画像中の特徴として抽出する。例えば、コーナー閾値を「12」とした場合、図5(b)の判定画素Xは「明」の周囲画素が12連続以上であるため、特徴として抽出される。図5(c)の判定画素Xは「明」の周囲画素が11連続しかないため、判定画素Xは特徴ではないものとして破棄される。これにより、図6に示すように、画像PC中の棚、床、天井、壁などの構造物のコーナー部などが特徴(特徴点FP)として抽出される。その他、荷物、設置物、移動体などが画像に写っている場合、それらの物体のコーナー部も特徴として抽出される。
【0031】
本明細書では、特徴として抽出された画素を「特徴点FP」と称する場合がある。なお、自己位置推定に用いられる画像中の特徴は、点である場合のみならず、線や所定形状などである場合もある。すなわち、特徴は、画像中において特徴的な部分として画像処理によって抽出可能な部分であり、且つ、他の画像で抽出したものとマッチング可能な部分であれば、どのような態様であるかは限定されない。
【0032】
図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の三次元座標を取得することができる。
【0033】
図4に戻り、ステップS50の処理が終了すると、一枚の画像のデータベース化が終了する。移動体50は、次の重要ポイントへ移動し、当該重要ポイントにてカメラ12で画像を取得して、再び図4の処理を行う。このようにして、作業場Eの全ての重要ポイントでの画像のデータベース化を行う。作成されたデータベースは、記憶部24に格納される。
【0034】
次に、図8及び図9を参照して、移動体50の自動走行の方法、及び自動走行のための自己位置推定部26による自己位置推定方法について説明する。例えば、移動体50は、図8に示す現在位置STから、目標位置GLである第8重要ポイントまで自動走行するものとする。このとき、自己位置推定部26は、移動体50が現在どこに存在しているかを推定する。これにより、自己位置決定部28は、現在位置STが「第10重要ポイントから東へ2m」であると決定できる。そして、経路計画部21は、「第11重要ポイントまで東に48m、第8重要ポイントまで北へ16m」という経路を計画する。これにより、移動体が自動走行を行う。
【0035】
図9は、移動体50の自己位置の推定方法を示すフローチャートである。自己位置推定部26は、移動体50の自己位置を推定するために図9に示す処理を実行する。図9に示すように、自己位置推定部26は、カメラ12から移動体50の走行中の画像を取得する(ステップS110)。例えば、カメラ12は、第10重要ポイント付近の現在位置STで画像を取得する(図8参照)。次に、自己位置推定部26は、特徴を抽出できるように、画像の前処理を行う(ステップS120)。次に、自己位置推定部26は、走行中の画像から特徴を抽出する。なお、ステップS120,S130では、図4のステップS20,S30と同趣旨の処理がなされる。これにより、図6のような画像PCが取得された場合には、特徴点FPが取得される。
【0036】
次に、自己位置推定部26は、ステップS130で抽出した特徴と、データベースの画像の特徴とをマッチングさせる(ステップS140)。そして、自己位置推定部26は、移動体50の自己位置を推定する(ステップS150)。
【0037】
例えば、移動体50の走行中に、図6に示す画像PCに類似する画像が得られた場合、自己位置推定部26は、図6のものと類似する複数の特徴点FPを抽出することができる。そして、自己位置推定部26は、当該特徴点と、データベースの画像中の特徴点とを照らし合わせる。データベース作成時に第10重要ポイントで図6に示す画像PCが得られ、図6に示す複数の特徴点FPが抽出されていた場合、自己位置推定部26は、ステップS130で抽出された特徴点と、図6に示す特徴点FPとをマッチングさせることができる。なお、特徴点同士をマッチングさせる方法としては、例えば、特徴点の特徴量記述子を計算し、データベースの特徴点の中から最も距離が小さい特徴点をマッチングさせる方法が挙げられるが、方法は特に限定されず、公知の方法を用いればよい。
【0038】
ここで、走行中に撮影した場所が、第10重要ポイントからずれており、走行中に撮影したときの姿勢が、データベース作成時の撮影の姿勢からずれている場合、走行中に撮影された画像及び特徴点の画像座標は、図6の画像PC及び特徴点FPの画像座標から若干のずれが生じている。従って、ステップS150では、自己位置推定部26は、データベースから任意の3点の特徴点の座標を、走行中の画像の3点の特徴点に紐付ける。そして、自己位置推定部26は、公知の3点法の技術を用いて、移動体50の位置及び姿勢を推定する。なお、ステップS150に用いられる3点の特徴点は、画像中に多数存在する特徴点の中から、ランダムで選ばれる。
【0039】
次に、図2に示す評価部31、評価結果取得部32、及び処理部33について詳細に説明する。これらの構成要素は、マッチングを行う上での適格性の高い特徴の割合が高くなるようにデータベースを加工するためのものである。すなわち、データベース作成時には、必ずしも適格性の高い特徴だけが抽出されるわけではなく、作業場Eの状況によっては、適格性の低い特徴も抽出され得る。例えば、図10(a)及び図11(a)は、データベースに登録されている画像PC1及び特徴点FPである。図10(a)及び図11(a)に示すように、画像PC1には、棚60のような構造物のみならず、荷物62のように別の場所に移動する移動可能物も写り込む。この場合、棚60の特徴点FP(円で示す特徴点)のみならず、荷物62の特徴点FP(三角形で示す特徴点)も抽出される。しかし、走行中に取得された画像PC2では、図10(b)に示すように、荷物62が他の場所へ搬送されて特徴点FPごと無くなる場合がある。または、画像PC2では、図11(b)に示すように、荷物62の位置が特徴点FPと共に画像PC2内でずれる場合がある。このように、荷物62のように移動する物体の特徴点FPは、マッチングが失敗する可能性が高いため、適格性が低い特徴と言える。従って、本実施形態に係る自己位置推定装置1は、適格性が低い特徴をデータベースから削除等することで、適格性が高い特徴の割合を高める。
【0040】
具体的に、評価部31は、データベース中の特徴について、マッチングを行う上での適格性を評価する。評価部31は、移動体50が作業場E内で繰り返し走行を行うことを通じて、評価を行う。評価部31は、移動体50の自動走行に伴い、データベース中の特徴ごとに、マッチングが成功するか失敗するかを判定する。そして、評価部31は、各特徴についてのマッチングの成功回数をカウントして、当該カウントの結果に基づいて、特徴の適格性を評価する。評価部31は、評価結果を評価結果取得部32へ送信する。
【0041】
評価結果取得部32は、評価部31から評価結果を取得する。すなわち、評価結果取得部32は、データベース中の特徴について、マッチングを行う上での適格性を評価した評価結果を取得する。評価結果取得部32は、移動体50が作業場E内で繰り返し走行を行うことによって得られた評価結果を取得する。評価結果取得部32は、取得した評価結果を処理部33へ送信する。
【0042】
処理部33は、評価結果取得部32で取得された評価結果に基づいて、データベースを加工処理する。処理部33は、適格性が低いと評価された特徴については、マッチングに用いられる頻度を低下させ、またはデータベースから削除する。
【0043】
次に、図12を参照して、データベース中の特徴の評価及びデータベースの加工の方法について説明する。図12は、データベース中の特徴の評価及びデータベースの加工の方法を示すフローチャートである。なお、以下の処理においては、移動体50は、自己位置推定を行いながら第1~第12重要ポイントを自動走行で一周し、当該自動走行を何周も行っているものとする。移動体50がこのような回周を繰り返している中で、データベース中の特徴の評価及びデータベースの加工が行われている。
【0044】
まず、評価部31は、データベース中の特徴について、マッチングを行う上での適格性を評価する。具体的には、図12に示すように、評価部31は、データベース中の各特徴について、マッチングの成否を判定するとともに、マッチングが成功した回数をカウントする(ステップS210)。
【0045】
具体的に、図13(a)に示すように、特徴点R,G,Bを用いて3点法で自己位置推定がなされた場合、評価部31は、当該3点の特徴点R,G,B以外の特徴点FPについてのマッチングの成否の判断を自動的行う。図13(b)に示すように、3点の特徴点R,G,B以外の特徴点FPのマッチングの成否を判断するとき、データベースの画像PC1の画像座標中では、判定対象の特徴点FPは「特徴点FP1」で示され、走行中の画像PC2の画像座標中では、判定対象の特徴点FPは「特徴点FP2」で示される。評価部31は、特徴点FP1の三次元座標点を画像PC2上に再投影する。当該再投影された特徴点FP1は、画像PC2の画像座標中では「特徴点FP2a」と示される。評価部31は、特徴点FP2aと特徴点FP2との間の誤差の大きさを取得すると共に、当該誤差が閾値以下であるか否かを判定する。評価部31は、誤差が閾値以下である場合、判定対象に係る特徴点FPのマッチングが成功すると判定し、当該特徴点のマッチング成功回数のカウントを一つ増やす。一方、評価部31は、誤差が閾値より大きい場合、判定対象に係る特徴点FPのマッチングは失敗であると判定し、カウントしない。
【0046】
ここで、図14は、データベース中のそれぞれの特徴点FPについての、マッチング成功回数を示すグラフである。図14(a)~(d)同士で、移動体50の作業場Eの回周の回数が異なっている。なお、図14の横軸は、データベース中の特徴点に対して任意に付された識別番号の順序を示している。図14の縦軸は、マッチング成功回数を示す。図14では、適格性の高い特徴点FPは図10,11同様に円形で示され、荷物などの適格性の低い特徴点FPは三角形で示される。移動体50が作業場Eを一周するたびに、データベース中のそれぞれの特徴点FPについての、マッチングの成否の判定がなされる。従って、図14(a)~(c)に示すように、移動体50が回周することで、適格性の高い特徴点FPのマッチング成功回数は増加する傾向にあり、適格性の低い特徴点FPのマッチング成功回数は増加しない傾向にある。なお、説明の便宜上、適格性の高い円形の特徴点FPと適格性の低い三角形の特徴点FPの表記を分けているが、実際の処理においては、両者の区別はなされていない。なお、図14は、データベースの中の一部の特徴点FPだけが示されているが、実際のデータベース中には、更に多数の特徴点FPが登録されている。
【0047】
図12に戻り、次に、評価部31は、データベース中の特徴の適格性の評価を行うか否かの判定を行う(ステップS220)。判定条件として、移動体50の回周の回数を設定してよい。例えば、移動体50が作業場Eを10周回る度に、評価を行うようにしてもよい。ステップS220において、評価を行わないと判定された場合、図12に示す処理が終了し、再びステップS210から処理が開始される。
【0048】
ステップS220において、評価を行うと判定された場合、評価部31は評価を行うと共に、評価結果取得部32は、当該評価結果を取得する(ステップS320)。これにより、評価部31は、データベース中の特徴について、マッチングを行う上での適格性を評価した評価結果を取得する。評価部31は、例えば図14(c)に示すような、それぞれの特徴点FPのマッチング成功回数が、閾値TH以上であるかを判定することで、評価を行う。評価部31は、閾値THよりマッチング成功回数が少ない特徴点FPについては、マッチングの適格性が低い特徴点FPであると評価する。
【0049】
処理部33は、ステップS230で取得された評価結果に基づいて、データベースの加工を行う(ステップS240)。処理部33は、例えば、図14(c)に示すように、閾値THよりマッチング成功回数が少ない特徴点FP(二点鎖線で示される領域内に存在する特徴点FP)をデータベースから削除する。
【0050】
次に、評価部31は、ステップS240でのデータベースの加工が行われた後、残った特徴点FPについてのマッチング成功回数のカウントをリセットする(ステップS250)。これにより、作業場Eでの状況の変化に対応し易くなる。例えば、棚に長時間放置されたような荷物の特徴点FPについては、適合性が低い特徴点FPであるにも関わらず、マッチング成功回数が非常に多くなる。棚から荷物が取り除かれた後は、当該荷物に対応する特徴点FPのカウント数は増加しないが、過去の多数のマッチング成功回数の影響で、データベースからの削除が遅れる可能性がある。これに対し、定期的にマッチング成功回数をリセットすることで、棚から取り除かれた荷物に対応する特徴点FPは、次のデータベース加工時に、速やかに削除することができる。ステップS250が終了したら、図12に示す処理が終了し、再びステップS210から処理が開始される。
【0051】
次に、本実施形態に係る自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラムの作用・効果について説明する。
【0052】
自己位置推定装置1は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体50の自己位置を推定するためのものである。ここで、データベースを予め作成するときには、棚60などのような不動の構造物のみならず、例えば荷物62などのような移動可能物の特徴が抽出される場合がある。これに対し、評価結果取得部32は、データベース中の特徴について、マッチングを行う上での適格性を評価した評価結果を取得する。従って、荷物62などの移動可能物の特徴のように適格性の低い特徴がデータベースに含まれている場合でも、評価結果取得部32は、そのような特徴に対して適格性を低く評価した評価結果を取得できる。更に、処理部33は、評価結果取得部32で取得された評価結果に基づいて、データベースを加工処理できる。すなわち、処理部33は、適格性の高い特徴によってマッチングがなされ易くなるように、データベースを加工処理することができる。以上より、自己位置推定の精度を向上することができる。
【0053】
自己位置推定装置1は、画像を取得するカメラ12と、カメラ12で取得された画像から特徴を抽出し、抽出された特徴と、データベースとをマッチングさせることで移動体の自己位置を推定する自己位置推定部26と、データベース中の特徴について、マッチングを行う上での適格性を評価する評価部31と、を更に備えてよい。これにより、自己位置推定装置1は、自身が有するカメラ12で取得した画像に基づいて特徴を抽出して評価を行い、データベースの加工処理を行うことができる。
【0054】
評価結果取得部32は、移動体50が作業場E内で繰り返し走行を行うことによって得られた評価結果を取得する。これにより、移動体50が走行を繰り返すことで、処理部33によるデータベースの加工処理を進行させることができる。従って、移動体50が走行しているときに自動的に自己位置推定の精度を向上させることができる。
【0055】
処理部33は、適格性が低いと評価された特徴については、データベースから削除する。その結果、適格性が高い特徴がマッチングに用いられる割合が増加する。
【0056】
例えば、予め、移動可能物に対応する特徴点の数と、移動しない構造物に対応する特徴点の数とを把握した状態で、図14で説明した方法でデータベースの処理を行う実験をした。この結果、データベース作成時に、458個の特徴点がデータベースに存在し、構造物に対応する特徴点の割合が53%であったものが、200周目には、217個の特徴点がデータベースに存在し、構造物に対応する特徴点の割合が88%になった。このように、適格性の高い特徴点の割合が多いデータベースとなった。
【0057】
本実施形態に係る移動体50は、上述の自己位置推定装置1を備える。
【0058】
本実施形態に係る自己位置推定方法は、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体50の自己位置を推定するための自己位置推定方法であって、データベース中の特徴について、マッチングを行う上での適格性を評価した評価結果を取得する評価結果取得ステップと、評価結果取得ステップで取得された評価結果に基づいて、データベースを加工処理する処理ステップと、を備える。
【0059】
本実施形態に係る自己位置推定プログラムは、取得された画像から抽出された特徴と、予め位置情報と特徴とを関連付けたデータベースとをマッチングさせることで移動体の自己位置を推定するための自己位置推定プログラムであって、データベース中の特徴について、マッチングを行う上での適格性を評価した評価結果を取得する評価結果取得ステップと、評価結果取得ステップで取得された評価結果に基づいて、データベースを加工処理する処理ステップと、を制御部に実行させる。
【0060】
これらの移動体50、自己位置推定方法、及び自己位置推定プログラムによれば、上述の自己位置推定装置1と同様な効果を得ることができる。
【0061】
本発明は、上述の実施形態に限定されるものではない。
【0062】
例えば、評価結果取得部32は、機械学習によって得られた評価結果を取得してよい。この場合、実際に移動体が繰り返し走行を行わなくとも、処理部33が、速やかにデータベースの加工処理を行うことが可能となる。例えば、評価部31は、作業場Eを繰り返し走行することによって得られた評価結果を、学習用データとして機械学習してよい。この場合、人手を要せずに学習用データセットを作成することができる。例えば、ある作業場で機械学習を行った自己位置推定装置1を、次の作業場へ持ち込んだ場合、評価部31は、再び走行を繰り返さなくとも、データベースを作成した後、速やかにデータベースを加工処理できる。
【0063】
なお、上述の実施形態では、処理部33は、適格性が低いと評価された特徴について、データベースから削除する処理を行っていた。これに代えて、処理部33は、適格性が低いと評価された特徴については、マッチングに用いられる頻度を低下させる処理を行ってもよい。例えば、マッチングの際に、特徴点が3点ランダムに選ばれるとき、適格性が低い特徴点について、選ばれる確率を下げてよい。このように、適格性が低いと評価された特徴点を完全に削除せずに残しておけば、他の時期において適格性が高くなった場合に、特徴点として用いることができる。例えば、適格性の高い特徴点であっても、障害物や日照の関係で隠されたり見えにくくなることで、一時的に適格性が低くなる可能性もあるためである。
【0064】
上述の実施形態では、棚60に荷物62が置かれたままの状態で、データベースの作成がなされていた。このように、本発明の自己位置推定装置1を用いれば、棚60から荷物62を撤去しなくとも、データベースの精度を高めることができる。ただし、作業場Eに荷物62が撤去された状態であって、本願発明の自己位置推定装置1は有効である。例えば、構造物であっても、例えば、金網などは特徴点として抽出できたり出来なかったりする場合もあり、適格性が低くなる特徴が存在する可能性があるためである。また、データベース作成時に、一時的に作業者や他の移動体が写り込む可能性もあるためである。
【0065】
上述の実施形態では、移動体50に自己位置推定装置の構成要素が全て含まれていた。これに代えて、管理部2が自己位置推定装置の一部の機能を有してもよい。例えば、管理部2が、評価結果取得部32及び処理部33を有していてもよい。この場合、個々の移動体50が作業場Eの評価を行い、管理部2が、それらの評価結果を一括して処理部33の処理に反映してもよい。この場合、管理部2も自己位置推定装置として機能する。なお、管理部2が自己位置推定装置として機能する場合、「自己」とは管理部2を主体としておらず、推定対象となる移動体50を主体とした表現であるものとする。
【符号の説明】
【0066】
1…自己位置推定装置、12…カメラ(画像取得部)、26…自己位置推定部(抽出部、推定部)、31…評価部、32…評価結果取得部、33…処理部、50…移動体。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14