JP2021081852A - 移動体及びシステム - Google Patents

移動体及びシステム Download PDF

Info

Publication number
JP2021081852A
JP2021081852A JP2019207099A JP2019207099A JP2021081852A JP 2021081852 A JP2021081852 A JP 2021081852A JP 2019207099 A JP2019207099 A JP 2019207099A JP 2019207099 A JP2019207099 A JP 2019207099A JP 2021081852 A JP2021081852 A JP 2021081852A
Authority
JP
Japan
Prior art keywords
moving body
image
sensor
unit
collected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019207099A
Other languages
English (en)
Other versions
JP7273696B2 (ja
Inventor
拓弥 宮本
Takuya Miyamoto
拓弥 宮本
賢一 下山
Kenichi Shimoyama
賢一 下山
恵古 野口
Keiko Noguchi
恵古 野口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2019207099A priority Critical patent/JP7273696B2/ja
Priority to US17/006,967 priority patent/US11715229B2/en
Publication of JP2021081852A publication Critical patent/JP2021081852A/ja
Application granted granted Critical
Publication of JP7273696B2 publication Critical patent/JP7273696B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30132Masonry; Concrete
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Abstract

【課題】位置の推定精度が向上した移動体及びそれを含むシステムを提供すること。【解決手段】移動体は、センサ情報収集部51と、判定部12と、位置推定部22とを有する。センサ情報収集部51は、移動体の外部の画像を収集する外界センサと、移動体の内部の状態に関連する情報を収集する内界センサとを有する。判定部12は、内界センサで収集された移動体の内部の状態に関連する情報から、外界センサで収集された画像を移動体の位置の推定のための第1の画像として採用するか否かを判定する。位置推定部22は、第1の画像と、収集位置と関連付けられている第2の画像とを比較して移動体の位置を推定する。【選択図】図1

Description

実施形態は、移動体及びそれを含むシステムに関する。
物流倉庫でのカゴ台車の搬送の自動化に向けて移動体の開発が進んでいる。移動体は、荷物が積まれたカゴ台車を指定された場所で受け取り、受け取ったカゴ台車を指定された場所まで自律的に搬送し、指定された場所でカゴ台車を陳列する。これらの動作のうち、カゴ台車を受け取る動作及びカゴ台車を陳列する動作を正確に行うためには、移動体の正確な位置が推定されている必要がある。
移動体の位置を推定するための手法として、移動体に取り付けられたカメラによって取得された画像を用いる手法がある。例えば、目標位置で撮影された画像と走行領域内の複数の位置で撮影された画像とを格納する位置情報データベースを予め作成しておき、位置情報データベースに格納された画像と移動体のカメラで取得された画像とを参照することによって移動体の位置を推定する手法がある。
特開2017−093626号公報
"Physical Cue based Depth-Sensing by Color Coding with Deaberration Network", Nao Mishima (Toshiba Research and Development Center); Tatsuo Kozakaya (Toshiba); Akihisa Moriya (Toshiba); Ryuzo Okdata (Toshiba); Shinsaku Hiura (University of Hyogo), British Machine Vision Conference(BMVC), 2019 J. Borenstein, Liqiang Feng, "Measurement and Correction of Systematic Odometry Errors in Mobile Robots", IEEE Transaction on Robotics and Automation, vol.12, no.6, pp.869-880, 1996
画像の参照によって位置を推定するに際して、カメラの揺れ等の撮影時の撮影状態が考慮されていないと、参照する画像の画質が安定しておらず、位置の推定精度が低下する。
実施形態は、位置の推定精度が向上した移動体及びそれを含むシステムを提供することを目的とする。
一態様の移動体は、センサ情報収集部と、判定部と、位置推定部とを有する。センサ情報収集部は、移動体の外部の画像を収集する外界センサと、移動体の内部の状態に関連する情報を収集する内界センサとを有する。判定部は、内界センサで収集された移動体の内部の状態に関連する情報から、外界センサで収集された画像を移動体の位置の推定のための第1の画像として採用するか否かを判定する。位置推定部は、第1の画像と、収集位置と関連付けられている第2の画像とを比較して移動体の位置を推定する。
図1は、第1の実施形態に係るシステムの一例の構成を示す図である。 図2は、位置推定装置のハードウェア構成の一例を示す図である。 図3は、外界センサの一例としてのステレオカメラの配置例を示す図である。 図4は、参照用辞書を作成する際の処理を示すフローチャートである。 図5は、図4の処理に従って参照用辞書に登録される画像の撮影位置の例を示す図である。 図6は、位置推定時の処理を示すフローチャートである。 図7Aは、撮影状態の異なる画像で特徴点マッチングがされたときの例を示す図である。 図7Bは、撮影状態の同等な画像で特徴点マッチングがされたときの例を示す図である。 図8は、第2の実施形態に係るシステムの一例の構成を示す図である。 図9は、処理部による欠損箇所の検出例を示す図である。
以下、図面を参照して実施形態を説明する。
[第1の実施形態]
図1は、第1の実施形態に係るシステムの一例の構成を示す図である。システムは、位置推定装置1と、移動体50とを有している。位置推定装置1は、移動体50と通信できるように構成されている。
移動体50は、移動体制御部51と、センサ情報収集部52とを有している。また、図示はしていないが、移動体50は、移動のために必要な駆動機構を有している。
移動体制御部51は、移動体50の移動等に関わる制御を行う。移動体制御部51は、例えば、指定された目標位置へ移動体50を移動させるための駆動機構の制御を行う。
センサ情報収集部52は、移動体50に備えられた各種の内界センサ及び外界センサを有し、各種のセンサ情報を収集する。内界センサは、移動体50の自己の状態に関連するセンサ情報を収集するためのセンサである。実施形態では、内界センサは、主に移動体50の自己の動きに関連するセンサ情報を収集する。一方、外界センサは、移動体50の外部の状態に関連するセンサ情報を収集するセンサである。実施形態では、外界センサは、主に移動体50の外部の画像を収集する。
位置推定装置1は、移動体50で収集される画像から、移動体50の位置を推定するように構成されている。位置推定装置1は、移動体50の位置の推定結果に基づいて移動体50の移動を制御する上位システムであってもよい。位置推定装置1は、例えばパーソナルコンピュータ(PC)である。位置推定装置1は、センサ情報処理部10と、センサ情報取得部21と、位置推定部22と、制御部23と、辞書記憶部30とを有している。
センサ情報取得部21は、移動体50のセンサ情報収集部52からセンサ情報を取得する。例えば、センサ情報取得部21は、移動体50から通信される信号からセンサ情報を取り出す。
センサ情報処理部10は、センサ情報取得部21で取得されたセンサ情報を処理する。センサ情報処理部10は、評価情報算出部11と、判定部12とを有している。
評価情報算出部11は、センサ情報取得部21で取得された移動体50の内界センサのセンサ情報に基づいて、判定部12での判定のための評価情報を算出する。評価情報は、例えば移動体50の動きに関連する情報であり、例えば移動体50の速度、角速度、加速度といった情報を含む。
判定部12は、センサ情報取得部21で取得された移動体50の外部の画像を、移動体50の位置の推定に採用するか否かを判定する。判定部12は、辞書記憶部30に記憶されている画像が収集されたときの評価情報と同等の評価情報の画像を、移動体50の位置の推定に採用すると判定する。
位置推定部22は、センサ情報取得部21で取得された移動体50の外部の画像のうちで判定部12によって位置の推定に採用すると判定された画像と辞書記憶部30に登録されている画像とに基づいて移動体50の位置を推定する。
制御部23は、位置推定部22で推定された移動体50の位置に従って、移動体50の動作を制御する。
辞書記憶部30は、移動体50の目標位置の画像と、目標位置の周辺の複数の撮影位置で収集された画像と、各画像から抽出される特徴点及び特徴量と、各画像間の対応関係と、各画像の収集位置の情報と、各画像の評価情報を保持した辞書を記憶している。
図2は、位置推定装置1のハードウェア構成の一例を示す図である。位置推定装置1は、例えばCPU101と、入力装置102と、表示装置103と、通信装置104と、記憶装置105とをハードウェアとして有している。CPU101と、入力装置102と、表示装置103と、通信装置104と、記憶装置105とは、バス106に接続されている。
CPU101は、位置推定装置1の全体的な動作を制御するプロセッサである。CPU101は、例えば記憶装置105に記憶されているプログラムを実行することによって、センサ情報処理部10、センサ情報取得部21、位置推定部22、制御部23として動作する。CPU101は、MPU、GPU、ASIC、FPGA等に置き換えられてもよい。CPU101は、単一のCPU等であってもよいし、複数のCPU等であってもよい。
入力装置102は、ジョイスティック、タッチパネル、キーボード、マウス等の入力装置である。入力装置102の操作がされた場合、操作内容に応じた信号がバス106を介してCPU101に入力される。CPU101は、この信号に応じて各種の処理を行う。
表示装置103は、液晶ディスプレイ、有機ELディスプレイ等の表示装置である。表示装置103は、各種の画像を表示する。
通信装置104は、例えば無線LAN通信のための通信装置である。通信装置104は、移動体50と通信する。通信装置104は、必ずしも無線LAN通信のための通信装置でなくてもよい。
記憶装置105は、例えばハードディスクドライブ、ソリッドステートドライブといった記憶装置である。記憶装置105は、辞書記憶部30として動作する。また、記憶装置105は、CPU101によって実行される各種のプログラムを記憶していてもよい。
バス106は、CPU101と、入力装置102と、表示装置103と、通信装置104と、記憶装置105との間のデータのやり取りのためのデータ転送路である。
以下、図1で示した各構成についてさらに詳しく説明する。図1で示す移動体50は、例えば無人搬送車(Automated Guided Vehicle:AGV)である。AGVは、指示された荷物積み場所へ自動走行し、荷物積み場所において人や自動ロボット等によって積み込まれた荷物を、指示された荷降ろし場所まで搬送する無軌道車両である。移動体50は、あらゆる駆動機構を有することができる。例えば、移動体50は、2輪駆動機構を有していてもよいし、4輪駆動機構を有していてもよいし、無限軌道機構(キャタピラ)を有していてもよい。また、移動体50は、2足又は多足で歩行する移動体であってもよいし、飛行体であってもよい。また、移動体50は、無軌道でなく、指定された軌道を移動するライントレース方式の移動体であってもよい。実施形態においては特記しない限り移動体50はAGVであるとする。
移動体制御部51は、移動体50を指定された目標位置へ移動させるための駆動機構の制御を行う。このとき、移動体制御部51は、位置推定装置1で推定された位置によって自己の位置を認識しつつ、指定された目標位置に向かうために必要な方向及び距離を判断して駆動機構を制御してよい。移動体50の目標位置は、移動体50の上位のシステムとしての例えば位置推定装置1から与えられてもよいし、事前に設定されたものを呼び出すことによって与えられてもよいし、人が直接設定することによって与えられてもよい。目標位置は、移動体50の空間的な位置だけでなく、目標位置における移動体50の姿勢を含んでいてもよい。実施形態においては特記しない限り、移動体50に搭載されるセンサの位置及び姿勢が移動体の位置及び姿勢であるとする。目標位置が指定されるに当たり、特定の位置の座標が指定されるだけでなく、作業エリアの地図等の情報が利用されることで、「Aの場所」、「Bの作業エリア」といった領域が指定されてもよい。さらに、移動の命令は、絶対的の位置を指定する命令に限らず、現在の位置からの相対的な位置を指定する命令であってもよい。例えば、移動の命令は、1m前方で30度時計回りに旋回した位置、といった命令であってもよい。所定の場所への移動に際してその移動の経路が重要になる場合もある。これは、単純に所定の位置へ直線的に移動しようとしても障害物等によって移動が困難な場合があるためである。移動の経路は、移動体制御部51が決定してもよいし、上位のシステムによって与えられてもよい。さらに、移動の経路は、事前に設定されたものを呼び出すことによって与えられてもよいし、人が直接設定することによって与えられてもよい。
センサ情報収集部52の内界センサは、例えばロータリエンコーダ、加速度センサ、ジャイロセンサ等の角速度センサを含む。これらの内界センサによって移動体50の移動量及び姿勢を測定することができる。移動体50の移動量と姿勢とから、移動体50のおおよその位置を取得することができる。
センサ情報収集部52の外界センサは、移動体50の外部の画像を収集する。外界センサは、移動体50の外部の画像に加えて、移動体50の周辺の距離を計測又は算出できるセンサ情報を収集できることが好ましい。外界センサは、移動体50の周辺の距離を面で計測又は算出できるセンサ情報を収集できることがさらに好ましい。例えば、Depthカメラ及びLIDAR(Light Detecting and Raging)等は、面状の距離画像を収集できる。距離画像は、距離の値を輝度の値に変換することによって生成される画像である。Depthカメラは、ToF(Time of Flight)式、パターン照射式等、どのような方式のものでもかまわない。また、ライン計測式のレーザ距離計等であっても、機械的に計測方向を変更させたり、複数台の計測方向を変えたりすることで面状の距離画像を収集できる。さらに、直接計測しない方法としては、ステレオカメラや単眼カメラ等を利用することも考えられる。ステレオカメラであればステレオマッチング方式によって画像を距離情報に変換することができる。単眼カメラであっても、移動体の位置、姿勢を変化させることでステレオカメラと同様のステレオ撮影が実現でき、距離情報を算出することが可能である。外界センサはこれら以外のものでもかまわない。実施形態では特記しない限り外界センサはステレオカメラであるとする。
図3は、外界センサの一例としてのステレオカメラの配置例を示す。図3では、移動体50の上面中央部にステレオカメラ521が設置されている。ステレオカメラ521は、その光学中心522が地面62から高さhの位置になるように設置される。そして、ステレオカメラ521の光軸は、地面62に対して角度φだけ傾けられている。また、ステレオカメラ521の画角は、θxである。このとき、ステレオカメラ521の撮影範囲70は、主として地面62から高さHの位置にある天井60を含む撮影範囲71である。図3に示すように、移動体50が壁61に近づいているときには、ステレオカメラ521の撮影範囲70は、天井60及び壁61を含む撮影範囲71及び72である。ステレオカメラ521の撮影範囲70は、ステレオカメラ521で収集される画像の用途によって変えられてよい。例えば、用途が移動体50の位置の推定であるとき、ステレオカメラ521で収集される画像内の被写体は、移動体50の位置にだけ依存して変動し、時間的には変動しないことが好ましい。図3に示すように、ステレオカメラ521の撮影範囲70が天井60及び壁61を含み得る撮影範囲71及び72に設定されることによって、被写体の時間的な変動の少ない、移動体50の位置の推定に適した画像が収集され得る。勿論、ステレオカメラ521の設置位置及び向きは図3で示したものに限定されるものではない。
次に、センサ情報処理部10についてさらに説明する。評価情報算出部11は、センサ情報取得部21で取得された内界センサのセンサ情報から移動体50の動きに関連する情報を算出する。
移動体50の動きに関連する情報は、例えば移動体50の速度である。この場合、評価情報算出部11は、例えば移動体50の車輪に取り付けられた内界センサとしてのロータリエンコーダの測定値から移動体50の移動量を算出する。そして、評価情報算出部11は、算出した移動量を時間で微分することによって移動体50の速度を算出する。評価情報算出部11は、車輪等の駆動機構の回転速度を移動体50の速度に変換することで移動体50の速度を算出してもよいし、車輪等の駆動機構の角速度を移動体50の速度に変換することで移動体50の速度を算出してもよい。また、移動体50に内界センサとしての加速度センサが取り付けられていれば、評価情報算出部11は、移動体50の本体の加速度を積分することによって移動体50の速度を算出してもよい。さらには、評価情報算出部11は、車輪等の駆動機構に対して移動体制御部51から入力される駆動電流値等から移動体50の速度を算出してもよい。つまり、評価情報算出部11は、任意の内界センサのセンサ情報を用いて速度を算出してよい。
また、移動体50の動きに関連する情報は、移動体50の速度に限らない。例えば、移動体50の動きに関連する情報は、移動体50に設けられた車輪等の駆動機構の回転速度又は角速度であってもよいし、移動体50の加速度であってもよい。
判定部12は、評価情報算出部11で算出された移動体50の動きに関連する評価情報と辞書記憶部30に登録されている目標位置の画像に関連づけられた評価情報とを参照することによって、移動体50で収集された画像を移動体50の位置の推定のための画像として採用するか否かを判定する。具体的には、判定部12は、評価情報の差異が少ないときに、移動体50で収集された画像が移動体50の位置の推定のための画像に適していると判定する。このとき、判定部12は、移動体50で収集された画像を移動体50の位置の推定のための画像として採用すると判定する。
例えば、判定部12は、評価情報算出部11で算出された移動体50の速度と辞書記憶部30に登録されている目標位置の画像に関連づけられた速度との差が一定範囲内であるときに、移動体50で収集された画像を移動体50の位置の推定のための画像に適していると判定する。ここで、速度差の範囲は、人によって指定されてもよいし、辞書記憶部30に登録されている目標位置の画像に関連づけられた速度に対する割合によって定義されてもよい。例えば、速度差の範囲は、移動体50が停止している状態の0±0.1[m/s]に設定されてよい。また、例えば、速度差の範囲は、辞書記憶部30に登録されている目標位置の画像が3[m/s]の速度のときに撮影されている場合、その10%である±0.3[m/s]に設定されてよい。
また、判定部12は、辞書記憶部30に登録されている速度をロータリエンコーダやジャイロセンサ等の内界センサのセンサ情報に変換し、このセンサ情報を内界センサのセンサ情報と比較してもよい。この場合、判定部12は、センサ情報取得部21で取得されたセンサ情報と、辞書記憶部30に登録されている速度から変換されたセンサ情報との差が一定範囲内であるときに、移動体50で収集された画像を移動体50の位置の推定のための画像に適していると判定してよい。例えば、判定部12は、辞書記憶部30に登録した速度から変換された角速度が10[rad/s]であるときに、センサ情報取得部21で取得した角速度が±1[rad/s]の差であれば画像を使用すると判定してよい。
また、辞書記憶部30に複数の目標位置の画像が登録されている場合、判定部12は、上位システムから指定された目標位置について判定をしてもよいし、予め設定された目標位置について判定をしてもよい。
次に、辞書記憶部30について説明する。辞書記憶部30は、センサ情報処理部10及び位置推定部22で必要な目標位置の情報が登録された参照用辞書を記憶している。参照用辞書の登録情報としては例えば以下がある。
・目標位置とその周辺の画像
・目標位置とその周辺の画像の特徴点と特徴量
・画像間の対応付け結果
・目標位置とその周辺の画像の位置
・目標位置の画像の撮影時の移動体の動きに関連する評価情報(例えば速度)
目標位置が複数存在する場合の参照用辞書の登録方法には、1)すべての目標位置についての登録情報をまとめて1つの辞書に登録する方法と、2)目標位置毎の辞書に分ける方法の2種類がある。1)の方法では、辞書の選択をする必要がなくなる反面、参照用辞書に登録されている画像の全てに対して特徴点のマッチングをする必要があるために位置の推定の処理に時間がかかる。また、2)の方法では、必要な目標位置が登録されている参照用辞書に対する処理だけで済むため、位置の推定の処理は短い。一方、2)の方法では、上位システム及び人手等で使用する参照用辞書が指定される必要がある。このように参照用辞書の登録方法1)と2)にはそれぞれメリットとデメリットがある。したがって、必要に応じて参照用辞書の登録方法1)と2)は、使い分けられることが好ましい。
図4は、参照用辞書を作成する際の処理を示すフローチャートである。図4の処理は、位置の推定に先立って行われる。
ステップS101において、位置推定装置1の制御部23は、移動体50の1つの指定位置までの移動を開始させる。指定位置は、目標位置と、その周辺の撮影位置とを含む。制御部23は、このうちの1つを選択し、移動体50に対して移動を指示する。これを受けて、移動体50は、自律的に移動を開始する。なお、移動体50の移動は、ジョイスティック等の操作によるマニュアルで行われてもよい。
ステップS102において、制御部23は、センサ情報取得部21で取得されたセンサ情報から、移動体50が停止したか否かを判定する。制御部23は、例えば、センサ情報取得部21で取得されたセンサ情報から移動体50の速度を算出し、算出した速度が閾値以下であるときに移動体50が停止したと判定する。移動体50の速度は、評価情報算出部11で算出される速度が用いられてよい。ここで、移動体50が停止するのは、目標位置又は撮影位置に到着した場合に限るものではない。例えば、移動体50は、目標位置又は撮影位置に向かうまでの曲がり角等で停止するように構成されていてもよい。この場合も、ステップS102の判定において、移動体50の速度が閾値以下であるときには、移動体50が停止したと判定される。ステップS102において、移動体50が停止したと判定されるまで、処理は待機される。ステップS102において、移動体50が停止したと判定された場合、処理はステップS103に移行する。
ステップS103において、制御部23は、移動体50に撮影を指示して、移動体50から画像を取得する。
ステップS104において、制御部23は、指定した枚数分の画像を取得したか否かを判定する。例えば、制御部23は、目標位置と、すべての撮影位置の画像を取得したときに、指定した枚数分の画像を取得したと判定する。ステップS104において、指定した枚数分の画像を取得していない、すなわち画像を取得していない撮影位置が残っているときには、処理はステップS101に戻る。この場合、制御部23は、新たな撮影位置を指定して、移動体50の移動を開始させる。ステップS104において、指定した枚数分の画像を取得したときには、処理はステップS105に移行する。
ステップS105において、位置推定部22は、取得した画像から特徴点を検出する。位置推定部22は、SIFT(Scale Invariant Feature Transform)、AKAZE(Accelerated KAZE)等を用いて特徴点を検出してよい。
ステップS106において、位置推定部22は、検出した各特徴点から特徴量を抽出する。位置推定部22は、特徴点検出に用いた手法に従って特徴量を抽出してよい。
ステップS107において、位置推定部22は、目標位置の画像と、各撮影位置の画像との特徴点マッチングをする。具体的には、位置推定部22は、特徴量の差が最も小さくなるように各画像の特徴点を対応付ける。位置推定部22は、NN(Nearest Neighbor)、k-NN、kd-tree、ハミング距離等の手法で特徴点マッチングを行ってよい。
ステップS108において、位置推定部22は、目標位置の画像と、各撮影位置の画像との対応関係を推定する。例えば、位置推定部22は、目標位置の画像と撮影位置の画像との特徴点の対応関係から、目標位置に対する各撮影位置の移動体50の相対位置及び相対姿勢を推定する。そして、位置推定部22は、推定した相対位置及び相対姿勢を用いて三角測量の原理により、各画像についての3次元情報を生成する。
ステップS109において、位置推定部22は、画像毎の特徴点及び特徴量、目標位置に対する各撮影位置の画像の対応関係、目標位置及び撮影位置の座標、それぞれの画像の収集時の移動体50の動きに関連する評価情報、例えば移動体50の速度を参照用辞書に登録する。
図5は、図4の処理に従って参照用辞書に登録される画像の撮影位置の例を示す図である。図5では、カゴ台車の位置RBPの直前の位置が目標位置P0とされている。また、目標位置P0の周辺の位置P1、P2、P3、P4、P5が撮影位置とされている。撮影位置P1、P2、P3、P4、P5では、目標位置P0の方にステレオカメラが向けられて撮影が行われる。目標位置P0は、例えば上位システム等によって与えられる既知の位置である。一方、撮影位置P1−P5は、各々の位置で撮影される毎に計測される位置である。
ここで、参照用辞書に登録する画像の枚数、すなわち撮影位置の数は特定の値に限定されない。また、目標位置と撮影位置との位置関係は原理上どのような関係であっても問題ない。実際には、撮影位置は、目標位置の近傍の範囲NB内に位置していることが望ましい。
次に、位置推定部22について説明する。位置推定部22は、センサ情報取得部21で取得した画像のうちでセンサ情報処理部10の判定部12によって移動体50の位置の推定に採用してよいと判定された画像と辞書記憶部30の参照用辞書に登録されている画像とを比較することで、移動体50の位置を推定する。図6は、位置推定時の処理を示すフローチャートである。
ステップS201において、センサ情報取得部21は、移動体50のセンサ情報収集部52から内界センサのセンサ情報である例えばロータリエンコーダの測定値及び外界センサのセンサ情報である例えばステレオカメラで得られた画像を取得する。センサ情報取得部21は、例えば一定の間隔毎に移動体50のセンサ情報収集部52からセンサ情報を取得する。
ステップS202において、評価情報算出部11は、センサ情報取得部21で取得された内界センサのセンサ情報から評価情報を算出する。例えば、評価情報算出部11は、ロータリエンコーダの測定値から移動体50の速度を算出する。
ステップS203において、判定部12は、センサ情報取得部21から取得した画像が移動体50の位置の推定に適した画像であるか否かを判定する。例えば、判定部12は、評価情報算出部11で算出された移動体50の速度と辞書記憶部30に登録されている目標位置の画像に関連づけられた速度との差が一定範囲内であるときに、移動体50で収集された画像を移動体50の位置の推定のための画像に適していると判定する。ステップS203において、センサ情報取得部21から取得した画像が移動体50の位置の推定に適した画像でないと判定されたときには、図6の処理は終了する。図6の処理は、センサ情報取得部21による次のセンサ情報の取得のタイミングで再び行われる。ステップS203において、センサ情報取得部21から取得した画像が移動体50の位置の推定に適した画像であると判定されたときには、処理はステップS204に移行する。
ステップS204において、位置推定部22は、ステップS203において位置の推定に適しているために位置の推定に採用すると判定された画像をセンサ情報取得部21から取得する。そして、位置推定部22は、取得した画像から特徴点を検出する。位置推定部22は、SIFT(Scale Invariant Feature Transform)、AKAZE(Accelerated KAZE)等を用いて特徴点を検出してよい。
ステップS205において、位置推定部22は、検出した各特徴点から特徴量を抽出する。位置推定部22は、特徴点検出に用いた手法に従って特徴量を抽出してよい。
ステップS206において、位置推定部22は、辞書記憶部30に記憶されている参照辞書に登録されている目標位置の画像及びその周辺の撮影位置の画像と、センサ情報取得部21で取得された画像との特徴点マッチングをする。具体的には、位置推定部22は、特徴量の差が最も小さくなるように特徴点をマッチングさせる。ここで、参照用辞書に複数の目標位置が登録されている場合には、目標位置が選択される必要がある。目標位置は、1)移動体に上位システムを搭載しておき、その上位システムから目標位置を取得する手法、2)参照用辞書に登録されている全ての目標位置に対して移動体50の位置を推定し、最も良い推定結果を選択する手法、の何れかによって選択され得る。
ステップS207において、位置推定部22は、参照用辞書に登録されている特徴点の3次元点群と対応付けた2次元点の関係から、PnP(Perspective n-Point)を用いて相対位置を算出する。そして、位置推定部22は、目標位置からみた移動体50の位置を推定する。その後、図6の処理は終了する。図6の処理は、センサ情報取得部21による次のセンサ情報の取得のタイミングで再び行われる。
以上説明したように第1の実施形態では、移動体50に備えられた内界センサで収集されるセンサ情報に基づく評価情報と、参照用辞書に登録される画像の収集時のセンサ情報に基づく評価情報との差異が少ないときに、移動体50に備えられた外界センサで収集された画像が移動体50の位置の推定のための画像として採用される。
位置推定部22で推定される移動体50の位置の精度は、撮影状態が考慮されているか否かで大きく変化する。
図7Aは、撮影状態の異なる画像で特徴点マッチングがされたときの例を示す図である。図7Aの画像RIは参照用辞書に登録されている画像であり、画像SIは位置推定のために収集された画像である。位置推定の時の収集時と参照用辞書への登録時とでは撮影状態が異なっている可能性がある。例えば、図7Aにおいて画像SIは、撮影時の移動体50の揺れによって画像RIには発生していなかったブレが発生している。この場合、画像RIと画像SIとのマッチングの結果、本来のマッチングすべき特徴点の位置とは異なる位置でマッチングしてしまう可能性がある。図7Aでは、特徴点RF1と特徴点SF11、特徴点RF2と特徴点SF21、特徴点RF3と特徴点SF31、特徴点RF4と特徴点SF41でマッチングする必要があるところ、特徴点RF1と特徴点SF12、特徴点RF2と特徴点SF22、特徴点RF3と特徴点SF32、特徴点RF4と特徴点SF42でマッチングしてしまった状態が示されている。このような誤った特徴点のマッチングの結果、位置の推定精度は低下する。
図7Bは、撮影状態の同等な画像で特徴点マッチングがされたときの例を示す図である。図7Bの画像RIは参照用辞書に登録されている画像であり、画像SIは位置推定のために収集された画像である。位置推定の時の収集時と参照用辞書への登録時とでは撮影状態が同等であるので、特徴点RF1と特徴点SF1、特徴点RF2と特徴点SF2、特徴点RF3と特徴点SF3、特徴点RF4と特徴点SF4といったように本来のマッチングすべき特徴点の位置でマッチングする。このように、第1の実施形態では、位置の推定精度の低下の要因となるステレオカメラの揺れ等の影響を未然に防ぎ、良質な画像から特徴点マッチングと移動体50の位置推定の処理とが行われ得る。したがって、移動体50の位置推定の精度が向上する。
また、実施形態では、参照用辞書に登録される画像は、移動体50の速度が閾値以下となったときに撮影される。このため、参照用辞書に登録される画像におけるブレは小さいと考えることができる。また、例えば移動体50が自律的に移動することが想定される場合、移動体50が低速になるのは、目標位置の近辺、曲がり角、行き止まり等の注目すべき場所であることが多い。このような場所で撮影が行われることにより、意味のある移動体50の位置推定が行われ得る。
ここで、第1の実施形態では、移動体50と位置推定装置1とが別体のシステムであるとして説明されている。しかしながら、移動体50と位置推定装置1とは一体であってもよい。また、位置推定装置1の一部は、位置推定装置1とは別体であってもよい。例えば、辞書記憶部30は、位置推定装置1の外部のサーバ等に設けられていてもよい。
[第2の実施形態]
図8は、第2の実施形態に係るシステムの一例の構成を示す図である。第1の実施形態と同様に、システムは、位置推定装置1と、移動体50とを有している。位置推定装置1は、移動体50と通信できるように構成されている。なお、以下の説明において、第1の実施形態において説明した部分については第1の実施形態と同一の参照符号を付すことで説明を省略する。第2の実施形態では、位置推定装置1が処理部24を有している点のみが異なる。なお、処理部24は、例えばCPU101によって実現され得る。
処理部24は、辞書記憶部30の参照用辞書に登録された目標位置の画像と、移動体50において異なる時間で収集された目標位置の画像とを比較し、目標位置における欠損箇所を検出する。欠損箇所とは、壁に空いた穴、亀裂、傷等の本来の目標位置には存在しない箇所のことを言う。図9は、処理部24による欠損箇所の検出例を示す図である。
前述したように、実施形態の位置推定部22は、判定部12によって採用された画像を用いて移動体50の位置の推定をする。したがって、位置推定部22が推定した移動体50の位置が目標位置であるとき、センサ情報取得部21で取得されている画像SIの撮影状態は、参照用辞書に登録された目標位置の画像RIの撮影状態と同等であって基本的には画像RIと画像SIとは一致する。一方、目標位置に欠損箇所がある場合、図9に示すように、この欠損箇所が画像RIと画像SIとの差異として表れることになる。
処理部24による欠損箇所の検出処理としては、特徴点マッチングを利用して2画像間の対応付けを行った上で差異の大きい箇所を欠損箇所として検出する処理、テンプレートマッチングによって探索される類似度の低い箇所を欠損箇所として検出する処理、背景差分法により輝度差の大きい箇所を欠損箇所として検出する処理といった種々の処理が適用され得る。
以上説明したように第2の実施形態によれば、良質な画像を用いて欠損箇所の検出が行われ得る。このため、移動体50を保守点検に利用する等の各種の応用が期待される。
第1の実施形態と同様に第2の実施形態においても、移動体50と位置推定装置1とは一体であってもよい。また、位置推定装置1の一部は、位置推定装置1とは別体であってもよい。例えば、辞書記憶部30は、位置推定装置1の外部のサーバ等に設けられていてもよい。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1 位置推定装置、10 センサ情報処理部、11 評価情報算出部、12 判定部、21 センサ情報取得部、22 位置推定部、23 制御部、24 処理部、30 辞書記憶部、50 移動体、51 移動体制御部、52 センサ情報収集部、101 CPU、102 入力装置、103 表示装置、104 通信装置、105 記憶装置、106 バス。

Claims (7)

  1. 移動体の外部の画像を収集する外界センサと、前記移動体の内部の状態に関連する情報を収集する内界センサとを有するセンサ情報収集部と、
    前記内界センサで収集された前記移動体の内部の状態に関連する情報から、前記外界センサで収集された画像を前記移動体の位置の推定のための第1の画像として採用するか否かを判定する判定部と、
    前記第1の画像と、収集位置と関連付けられている第2の画像とを比較して前記移動体の位置を推定する位置推定部と、
    を具備する移動体。
  2. 同じ収集位置で収集された前記第1の画像と前記第2の画像との比較により、前記第1の画像において前記第2の画像と異なっている部分を欠損箇所として検出する処理部をさらに具備する請求項1に記載の移動体。
  3. 前記移動体の内部の状態に関する情報は、前記移動体の動きに関する情報である請求項1又は2に記載の移動体。
  4. 前記第2の画像には、収集されたときの前記移動体の動きに関連する評価情報が関連付けられており、
    前記判定部は、前記外界センサで画像が収集されたときに前記内界センサで収集された前記移動体の動きに関連する評価情報と、前記第2の画像に関連付けられている前記移動体の動きに関する評価情報との差異が少ないときに、前記外界センサで収集された画像を前記第1の画像として採用すると判定する請求項3に記載の移動体。
  5. 前記動きに関する評価情報は、前記移動体の速度と前記移動体の角速度との少なくとも何れかを含む請求項3又は4に記載の移動体。
  6. 前記第2の画像は、前記移動体の動きに関する評価情報が閾値以下のときに撮影された画像である請求項3乃至5の何れか1項に記載の移動体。
  7. 移動体の外部の画像を収集する外界センサと、前記移動体の内部の状態に関連する情報を収集する内界センサとを有するセンサ情報収集部を具備する移動体と、
    前記内界センサで収集された前記移動体の内部の状態に関連する情報から、前記外界センサで収集された画像を前記移動体の位置の推定のための第1の画像として採用するか否かを判定する判定部と、
    前記第1の画像と、収集位置と関連付けられている第2の画像とを比較して前記移動体の位置を推定する位置推定部と、
    を具備する位置推定装置と、
    を有するシステム。
JP2019207099A 2019-11-15 2019-11-15 位置推定装置及びシステム Active JP7273696B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019207099A JP7273696B2 (ja) 2019-11-15 2019-11-15 位置推定装置及びシステム
US17/006,967 US11715229B2 (en) 2019-11-15 2020-08-31 Moving body and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019207099A JP7273696B2 (ja) 2019-11-15 2019-11-15 位置推定装置及びシステム

Publications (2)

Publication Number Publication Date
JP2021081852A true JP2021081852A (ja) 2021-05-27
JP7273696B2 JP7273696B2 (ja) 2023-05-15

Family

ID=75908211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019207099A Active JP7273696B2 (ja) 2019-11-15 2019-11-15 位置推定装置及びシステム

Country Status (2)

Country Link
US (1) US11715229B2 (ja)
JP (1) JP7273696B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016162013A (ja) * 2015-02-27 2016-09-05 株式会社日立製作所 自己位置推定装置および移動体
JP2018165889A (ja) * 2017-03-28 2018-10-25 カシオ計算機株式会社 自律移動装置、方法およびプログラム
US20190068962A1 (en) * 2017-08-24 2019-02-28 Qualcomm Incorporated Systems and Methods for Improving Performance of a Robotic Vehicle by Managing On-board Camera Defects

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9160980B2 (en) * 2011-01-11 2015-10-13 Qualcomm Incorporated Camera-based inertial sensor alignment for PND
JP6609463B2 (ja) 2015-11-19 2019-11-20 シャープ株式会社 自走式電子機器
US10178315B1 (en) * 2016-06-29 2019-01-08 Amazon Technologies, Inc. Image capture in a vibrational environment
US10520943B2 (en) * 2016-08-12 2019-12-31 Skydio, Inc. Unmanned aerial image capture platform
JP2019067001A (ja) 2017-09-29 2019-04-25 日本電産シンポ株式会社 移動体
JP7151725B2 (ja) * 2017-12-28 2022-10-12 ソニーグループ株式会社 制御装置、および制御方法、プログラム、並びに移動体
CN110018688B (zh) 2019-04-11 2022-03-29 清华大学深圳研究生院 基于视觉的自动引导车定位方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016162013A (ja) * 2015-02-27 2016-09-05 株式会社日立製作所 自己位置推定装置および移動体
JP2018165889A (ja) * 2017-03-28 2018-10-25 カシオ計算機株式会社 自律移動装置、方法およびプログラム
US20190068962A1 (en) * 2017-08-24 2019-02-28 Qualcomm Incorporated Systems and Methods for Improving Performance of a Robotic Vehicle by Managing On-board Camera Defects

Also Published As

Publication number Publication date
JP7273696B2 (ja) 2023-05-15
US20210150750A1 (en) 2021-05-20
US11715229B2 (en) 2023-08-01

Similar Documents

Publication Publication Date Title
CN108051002B (zh) 基于惯性测量辅助视觉的运输车空间定位方法及系统
KR100922494B1 (ko) 이동 로봇의 자세 측정 방법 및 상기 방법을 이용한 위치측정 방법 및 장치
JP6343670B2 (ja) 自律移動装置及び自己位置推定方法
JP5276931B2 (ja) 移動体および移動体の位置推定誤り状態からの復帰方法
WO2020051923A1 (en) Systems And Methods For VSLAM Scale Estimation Using Optical Flow Sensor On A Robotic Device
KR20090009172A (ko) 이동 로봇의 위치 측정 방법 및 장치
KR101658578B1 (ko) 복합 센서의 캘리브레이션 장치 및 방법
US20210318122A1 (en) Positioning apparatus capable of measuring position of moving body using image capturing apparatus
EP3905213B1 (en) Positioning apparatus and moving body
CN111837136A (zh) 基于本地感测的自主导航以及相关联的系统和方法
CN101802738A (zh) 用来检测环境的系统
JP2017120551A (ja) 自律走行装置
US20220366599A1 (en) Positioning system and moving body for measuring position of moving body using image capturing apparatus
US20220366596A1 (en) Positioning system for measuring position of moving body using image capturing apparatus
US20210312661A1 (en) Positioning apparatus capable of measuring position of moving body using image capturing apparatus
US11525697B2 (en) Limited-sensor 3D localization system for mobile vehicle
Tsukiyama Global navigation system with RFID tags
KR20220005025A (ko) 동시 위치인식 및 지도작성 방법
JP7273696B2 (ja) 位置推定装置及びシステム
JP2019124573A (ja) 自車位置推定装置、自車位置推定方法、および自車位置推定プログラム
Wang et al. Agv navigation based on apriltags2 auxiliary positioning
Zhang et al. A visual slam system with laser assisted optimization
CN114911223A (zh) 一种机器人导航方法、装置、机器人及存储介质
Sun et al. Detection and state estimation of moving objects on a moving base for indoor navigation
JP2023046043A (ja) 処理システム、制御システム、移動体、撮影位置決定方法及び撮影位置決定プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221122

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20230105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230428

R151 Written notification of patent or utility model registration

Ref document number: 7273696

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151