JP2021149420A - 推定システムおよび方法 - Google Patents
推定システムおよび方法 Download PDFInfo
- Publication number
- JP2021149420A JP2021149420A JP2020047789A JP2020047789A JP2021149420A JP 2021149420 A JP2021149420 A JP 2021149420A JP 2020047789 A JP2020047789 A JP 2020047789A JP 2020047789 A JP2020047789 A JP 2020047789A JP 2021149420 A JP2021149420 A JP 2021149420A
- Authority
- JP
- Japan
- Prior art keywords
- image
- pattern
- height
- distance
- estimation system
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 29
- 238000003384 imaging method Methods 0.000 claims abstract description 33
- 239000003086 colorant Substances 0.000 claims 1
- 238000005192 partition Methods 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 14
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006854 communication Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 239000003973 paint Substances 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Image Analysis (AREA)
Abstract
【課題】周囲環境を推定するための技術を提供する。【解決手段】推定システムは、第1高さに所定のパターンが付与された三次元空間内の物体の形状または配置を推定する。推定システムは、第2高さに設置された撮像装置と、予め用意された関数またはルックアップテーブルを格納した記憶装置と、演算回路とを有する。演算回路は、撮像装置が撮影した画像を取得し、画像内で、パターンの像が存在する位置である、少なくとも1つのパターン像存在位置を検出し、各パターン像存在位置と、記憶装置に格納された関数またはルックアップテーブルとを利用して、撮像装置の位置からパターンの位置までの距離を算出し、算出した距離から、物体の形状または配置を推定する。関数またはルックアップテーブルは、第1高さおよび第2高さを利用して作成された、画像の各画素の位置と、撮像装置の位置からパターンの位置までの距離との関係を示している。【選択図】図1
Description
本開示は、三次元空間内の物体の形状または配置を推定するための推定システムおよび方法に関する。
地上を走行する自動搬送車、空中を飛行するドローン等では、三次元空間内の物体の形状または配置等の周囲環境、を推定するため、例えば以下のような技術が採用されている。
・ステレオカメラを用いて視差により周囲環境の形状認識を行う技術
・LiDARセンサを用いてレーザパルスの反射を利用して反射点までの距離を測定し、周囲環境の形状認識を行う技術
・単眼カメラから得られた情報と、カメラ以外の他のセンサ(例:LiDARセンサ)から得られた情報とを重ね合わせて、周囲環境の形状認識を行う技術
・ビーコンやランドマークで、おおまかな位置を把握する技術
・天井や床面の模様(マーカ)、標識をカメラで読み取り、埋め込まれた情報から位置を特定する技術
・ステレオカメラを用いて視差により周囲環境の形状認識を行う技術
・LiDARセンサを用いてレーザパルスの反射を利用して反射点までの距離を測定し、周囲環境の形状認識を行う技術
・単眼カメラから得られた情報と、カメラ以外の他のセンサ(例:LiDARセンサ)から得られた情報とを重ね合わせて、周囲環境の形状認識を行う技術
・ビーコンやランドマークで、おおまかな位置を把握する技術
・天井や床面の模様(マーカ)、標識をカメラで読み取り、埋め込まれた情報から位置を特定する技術
例えば特開2010−117847号公報は、移動体の周囲環境に付され、位置情報を含む模様を撮影して移動体を制御する移動体制御システムを開示する。当該システムは、模様を撮像するカメラと、カメラによって撮影された模様より位置情報を取得する画像処理部と、画像処理部によって取得された位置情報に基づいて自己位置を推定し、推定された自己位置に基づいて、予め位置と関連づけられた走行面情報を取得し、当該走行面情報に基づいて、移動体の動作制御を行う制御計算部を有している。
上述したいずれの技術も導入コストが比較的高額であり、その結果、自動搬送車、ドローン等の製品コストへの影響が大きい。
例えば、使用するカメラの性能によっては得られた画像のデータ量が多くなり処理負荷が高くなる。そのため、大容量のメモリ、高速なCPU、FPGA等のハードウェアが必要になる。その結果、コストが高額になり得る。
LiDARセンサは周囲環境を検知できるが、LiDARセンサ自体が依然として非常に高額である。さらに、モータを用いてレーザパルスの放射口を回転させながら周囲をスキャンする場合、当該可動部分はカメラに比べて壊れやすくメンテナンスおよび修理を含めて高コストになりやすい。
天井や床面に印字されたマーカを読み取る方法では、停止、旋回、通路等の動作を行うことが想定されている全ての領域または各領域の近傍に、マーカまたは標識を設置する必要がある。さらに、自動搬送車等にはマーカまたは標識を設けた全ての位置を示す地図を事前に記憶させておく必要がある。これらは、導入時の手間およびコストを増加させる一因である。さらに、マーカまたは標識の位置を変更する場合、自動搬送車等に記憶させておく地図の変更も必要になる。併せて、他のマーカまたは標識の位置を変更する必要が生じる可能性もある。
本開示は、周囲環境を推定するための新たな技術を提供する。
本開示の例示的な実施形態にかかるシステムは、三次元空間内の物体の形状または配置を推定するための推定システムであって、前記三次元空間内の物体には、第1高さに予め定められたパターン が付与されており、前記第1高さとは異なる第2高さ に設置され、前記三次元空間を撮影する撮像装置と、予め用意された関数またはルックアップテーブルを格納した記憶装置と、演算回路とを有し、前記演算回路は、(a)前記撮像装置によって撮影された画像を取得し、(b)前記画像内で、前記パターンの像が存在する位置である、少なくとも1つのパターン像存在位置を検出し、(c)各パターン像存在位置と、前記記憶装置に格納された前記関数またはルックアップテーブルとを利用して、前記撮像装置の位置から前記パターンの位置までの距離を算出し、(d)算出した前記距離から、前記物体の形状または配置を推定し、前記関数または前記ルックアップテーブルは、既知の前記第1高さおよび既知の前記第2高さを利用して作成された、前記画像の各画素の位置と、前記撮像装置の位置から前記パターンの位置までの距離との関係を示している。
本開示の例示的な実施形態にかかる方法は、三次元空間内の物体の形状または配置を推定する方法であって、前記三次元空間内の物体には、第1高さに予め定められたパターンが付与されており、(a)前記第1高さとは異なる第2高さに設置された撮像装置で前記三次元空間を撮影して画像を取得し、(b)前記画像内で、前記パターンの像が存在する位置である、少なくとも1つのパターン像存在位置を検出し、(c)各パターン像存在位置と、予め用意された関数またはルックアップテーブルとを利用して、前記撮像装置の位置から前記パターンの位置までの距離を算出し、(d)算出した前記距離から、前記物体の形状を推定し、前記工程(c)における前記関数または前記ルックアップテーブルは、既知の前記第1高さおよび既知の前記第2高さを利用して作成された、前記画像の各画素の位置と、前記撮像装置の位置から前記パターンの位置までの距離との関係を示している。
本開示の例示的な実施形態によれば、周囲環境を認識するための新たな技術が提供される。
以下、添付の図面を参照しながら、本発明による、三次元空間内の物体の形状または配置を推定するための推定システムの実施形態を説明する。本明細書では、必要以上に詳細な説明は省略する場合がある。たとえば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、本発明者は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図しない。以下の説明においては、同一または類似する構成要素には、同一の参照符号を付している。
本開示において説明する推定システムは、三次元空間内の物体の形状または配置を推定するために利用される。例示的な推定システムは、地上を走行する自動搬送車、空中を飛行するドローン等の、自律的に移動する移動体に搭載され得る。
図1は、本開示の例示的な実施形態における推定システム100の概略構成を示すブロック図である。推定システム100は、撮像装置102と、演算回路104と、記憶装置106とを備えている。また図2は、推定システム100の演算回路104による、三次元空間(以下、単に「空間」と記述する。)内の物体の形状/配置を推定する処理の手順を示すフローチャートである。
まず図1を参照しながら推定システム100の構成を説明する。なお、本実施形態では、空間内の物体として屋内の空間を仕切る壁を例示する。しかしながら壁は一例に過ぎず、柱、扉等であってもよい。また、移動可能であるが一時的に設置されている物、例えば棚、荷物、も上述の「物体」であり得る。
壁面には、予め定められた1または複数のパターンが描かれている。パターンは、例えば床面から30cmの高さに沿って引かれた線である。複数のパターンとして、高さを変えて描かれた複数の線を採用してもよい。複数の線が描かれている場合、それぞれの線は高さ以外の特徴によっても互いに区別され得る。例えば、それぞれの線は、赤、青、緑等の色の違い、一点鎖線、疎な鎖線、密な鎖線等の種類の違いによって互いに区別され得る。
撮像装置102はカメラであり、周囲の空間を繰り返し撮影して撮影毎に画像を生成する。撮影間隔は、例えば100ミリ秒である。撮影間隔は、空間内の物体の形状または配置の推定精度に応じて変化させ得る。例えば、撮影間隔を短くすれば、三次元空間内の物体の形状または配置の推定精度をより高くすることができる。
撮像装置102として種々のカメラを採用することができる。例えば、撮像装置102は、単眼カメラ (広角カメラ、魚眼カメラ、全天球カメラ)である。本実施形態の技術は、単眼カメラを用いてパターンまでの距離を求めることができる。しかしながら、撮像装置102として単眼カメラ以外の二眼以上のカメラ、例えば複眼カメラ、を採用してもよい。例えば、複眼カメラの一方の撮像系が故障した場合に、正常に動作する他方の撮像系を利用して、本実施形態にかかる処理を行うことができる。同様に、RGB−Dカメラ(深度カメラやToFカメラ)のような、対象物までの距離を求める機能を有するカメラであっても、当該機能が故障した場合などに本実施形態にかかる処理を採用してもよい。
以下に説明するように、撮影された画像には上述した少なくともパターンが含まれているとする。
演算回路104は半導体集積回路チップである。演算回路104は、撮像装置102の撮影間隔以内に図2に示す各ステップの処理が行うことが可能な性能を有していればよい。なお演算回路104は、図示されないレジスタ、キャッシュメモリ、RAM等を有していてもよい。
記憶装置106は、不揮発性の半導体メモリ装置である。ただし、記憶装置14cは、ハードディスクに代表される磁気記録媒体、または、光ディスクに代表される光学式記録媒体であってもよい。さらに、記憶装置14cは、いずれかの記録媒体にデータを書き込みおよび/または読み出すためのヘッド装置および当該ヘッド装置の制御装置を含んでもよい。
記憶装置106は、ルックアップテーブル(LUT)Tを格納した記憶装置である。ルックアップテーブルTは、画像に含まれるパターンの像を構成する各画素の位置と、撮像装置102の位置からパターンの位置までの距離との関係を示すテーブルである。例えば、画素位置の単位はピクセルであり、距離の単位はメートルである。
図示されたルックアップテーブルTの例から理解されるように、各画素の位置が決まると距離が決まる。つまり、各画素の位置を入力とし、距離を出力とする関数を定義することも可能である。記憶装置106は、ルックアップテーブルTに代えて関数を格納してもよい。
なお図1には、推定システム100が移動体に搭載されたときの、当該移動体の構成要素であるコントローラ108および駆動装置110が参考のため示されている。移動体のコントローラ108は推定システム100の出力である周囲環境の推定結果を利用して自己位置を同定し、駆動装置110を制御して所望の目的地への移動を実現する。 駆動装置110は、移動体を移動させる機構を備えている。例えば移動体が無人搬送車である場合、駆動装置110は、少なくとも1台の駆動用電気モータ、および、当該モータを制御するモータ制御回路を備え得る。
ある実施形態では演算回路104およびコントローラ108は、それぞれ別個の半導体集積回路チップであるが、他の実施形態では、演算回路104およびコントローラ108は1つの半導体集積回路チップであり得る。ただしコントローラ108および駆動装置110は本開示による推定システム100の必須の構成要素ではない。
以下、図2を参照しながら、演算回路104の動作を説明する。
ステップS2において、演算回路104は撮像装置102によって撮影された画像を取得する。ステップS4において演算回路104は、画像内から、予め定められたパターンの像を識別し、当該パターンが存在する位置(以下、「パターン像存在位置」と記述する。)を検出する。画像内に複数のパターンが含まれている場合には、演算回路104は、各パターンについてパターン像存在位置を検出する。
ステップS6において演算回路104は、各パターン像存在位置とルックアップテーブルTとを利用して、撮像装置の位置から各パターンの位置までの距離を算出する。
ステップS8において演算回路104は、算出した各距離から物体の形状/配置を推定する。
物体の形状/配置の推定結果を利用することにより、上述したコントローラ108および駆動装置110を用いて移動体を移動させること等が可能になる。
予めルックアップテーブルTを用意しておくことにより、画像内のパターン像存在位置から空間内のパターンまでの距離を推定することができる。予め空間の環境地図を用意しなくても、三次元空間内の物体の形状または配置等の周囲環境を認識することができる。
以下、移動体が無人搬送車である場合のより具体的な例を説明する。本明細書では、略語を用いて、無人搬送車を「AGV」と記述することがある。なお、以下の説明は、矛盾がない限り、AGV以外の移動体、例えば移動ロボット、ドローン、または有人の車両などにも同様に適用することができる。
図3は、本開示による例示的な移動体管理システム1000の基本構成例を示している。移動体管理システム1000は、少なくとも1台のAGV10と、AGV10の運行管理を行う運行管理装置50とを含む。本実施形態にかかる推定システム100はAGV10の内部に搭載されている。AGV10は、カメラである撮像装置102を有している。なお図3には、ユーザ1によって操作される端末装置20も記載されている。
AGV10は、走行に磁気テープなどの誘導体が不要な「ガイドレス式」走行が可能な無人搬送台車である。AGV10は、自己位置推定を行い、推定の結果を端末装置20および運行管理装置50に送信することができる。AGV10は、運行管理装置50からの指令に従って空間S内を自動走行することが可能である。AGV10は、さらに、人または他の移動体に追従して移動する「追尾モード」で動作することが可能である。
運行管理装置50は各AGV10の位置をトラッキングし、各AGV10の走行を管理するコンピュータシステムである。運行管理装置50は、デスクトップ型PC、ノート型PC、および/または、サーバコンピュータであり得る。運行管理装置50は、複数のアクセスポイント2を介して、各AGV10と通信する。たとえば、運行管理装置50は、各AGV10が次に向かうべき位置の座標のデータを各AGV10に送信する。各AGV10は、定期的に、たとえば100ミリ秒ごとに自身の位置および姿勢(orientation)を示すデータを運行管理装置50に送信する。指示した位置にAGV10が到達すると、運行管理装置50は、さらに次に向かうべき位置の座標のデータを送信する。AGV10は、端末装置20に入力されたユーザ1の操作に応じて空間S内を走行することも可能である。端末装置20の一例はタブレットコンピュータである。
図4は、3台のAGV10a、10bおよび10cが存在する空間Sの一例を示している。いずれのAGVも図中の奥行き方向に走行しているとする。AGV10aおよび10bは天板に載置された荷物を搬送中である。AGV10cは、前方のAGV10bに追従して走行している。なお、説明の便宜のため、図4では参照符号10a、10bおよび10cを付したが、以下では、「AGV10」と記述する。
再び図3を参照する。移動体管理システム1000は、複数のアクセスポイント2を有している。複数のアクセスポイント2は、たとえばスイッチングハブ3を介して互いに接続されている。図3には2台のアクセスポイント2a、2bが記載されている。例えばAGV10はアクセスポイント2aと無線で接続されている。複数のアクセスポイント2はスイッチングハブ3を介して運行管理装置50とも接続されている。
各AGV10と運行管理装置50とは、1または複数のアクセスポイント2を利用してWi−Fi(登録商標)に準拠した通信を行うことができる。AGV10が送信したデータはアクセスポイント2aで受信され、スイッチングハブ3を介して運行管理装置50に送信される。また、運行管理装置50が送信したデータは、スイッチングハブ3を介してアクセスポイント2aに転送され、アクセスポイント2aからAGV10に送信される。これにより、運行管理装置50と各AGV10との間で双方向通信が実現される。なお、各AGV10と端末装置20との間も、アクセスポイント2を介したWi−Fi(登録商標)に準拠した通信が行われ、または1対1で接続されてBluetooth(登録商標)規格に準拠した通信が行われ得る。
次に、本実施形態にかかる推定システム100が、物体である壁に付与された1または複数のパターンを利用して距離を推定する原理を説明する。
図5は、例示的な実施形態にかかる推定システム100を有するAGV10と、空間内の壁Wに描かれた複数種類のパターンとを示している。壁Wには、3種類のパターンL1,L2およびL3が描かれている。パターンL1は密な破線であり、パターンL2は疎な破線であり、パターンL3は一点鎖線である。例えば、パターンL1は床面から30cm、パターンL2は床面から20cm、パターンL3は床面から10cmの高さに描かれているとする。推定システム100を利用して距離を推定するにあたっては、パターンごとに床面からの高さが既知であることを前提とする。以下に説明する方法を異なる高さに設けた複数のパターンの各々に適用することにより、複数の高さの地形を同時に検知することができる。
AGV10に設けられた撮像装置102は、これらのパターンを含む周囲環境を撮影して画像を生成する。説明および図面作成の便宜のため、以下ではパターンL1のみが壁Wに描かれているとする。
図6は、撮像装置102によって撮影された壁Wの画像Pを示している。画像Pには、パターンL1の像L1Pが含まれている。ここで、撮像装置102の座標系を設定する。
図7は、撮像装置102の座標系を示す図である。撮像装置102の位置を原点Ocとする。撮像装置102の座標系は、原点Ocを通り、互いに直交する3本の軸Xc,Yc,Zcによって張られている。軸Zcは奥行方向、すなわち撮像装置102からみて壁Wの方向である。軸XcおよびYcは軸Zcに垂直な平面を張る。撮像装置102は、撮像装置102の原点Ocから焦点距離fの位置に画像Pを生成する。画像Pを長方形としたとき、軸Xcは画像Pの水平方向と平行であり、軸Ycは画像Pの垂直方向と平行である。
いま、説明の便宜のため、パターンL1上のある点Aに注目する。カメラ座標系における点Aの座標を(x,y,z)とおく。画像Pには、点Aの像A’が含まれている。続いて画像Pにも画像座標系を設定する。
図8は、画像Pの座標系Qを示す図である。軸Zc(図7)は画像Pの中心O’を通過する。画像Pの座標系Qは、中心O’を通り、互いに直交する2本の軸XpおよびYpによって張られている。図面右方向をXp軸の正方向とし、図面下方向をYp軸の正方向とする。中心O’を画像Pの座標系の原点とする。画像Pの座標系Qにおいて、点Aの像A’の位置を(x’,y’)と表現する。本明細書において、像A’の位置(x’,y’)は「パターン像存在位置」と呼ぶ。なお、パターンL1の像L1Pのような連続する像に関しては、当該像を構成する個々の画素の位置を「パターン像存在位置」と呼ぶことができる。
なお、画像の座標系を設定する方法は種々考えられる。例えば画像Pの左上の隅を原点として、図面右方向をXp軸の正方向とし、図面下方向をYp軸の正方向とする座標系Q’を設定することもできる。座標系Qにおける原点O’(0,0)が、座標系Q’では(m,n)と表されるとする。座標系Q’を採用する場合には、以下の説明における座標系QのXp軸の座標値に「m」を加算し、Yp軸の座標値に「n」を加算すればよい。
なお、上述の例では、画像Pは横2m画素、縦2n画素の計4・m・n画素で構成される。典型的な例では、画像Pは800画素×600画素、すなわちm=400、n=300である。
以下、「パターン像存在位置」の検出方法を説明する。
「パターン像存在位置」の検出は、演算回路104によって行われる。画像Pを受け取った演算回路104は、Xp軸の方向に沿って画像Pを走査しながらパターン像存在位置を検出する。例えば、図8に示す座標系Qにおいて、画像Pが800画素×600画素のサイズの場合、演算回路104は、画像PのXp軸の座標値xpを、”−400”から”+400”まで変化させながらパターン像存在位置を検出し、座標値(例えば(x’,y’))を取得する。
より具体的に説明する。
1)演算回路104はまず、画像Pのxp=−400の位置で、パターンL1の像L1Pが存在する画素のYp座標値ypを取得する。つまり、パターン像存在位置の座標値は、(−400,yp)と表現される。Yp座標値ypを検出する際には、例えば、周知のパターン認識処理を用いて画像P全体における像L1Pの位置を検出しておき、その検出された像L1Pのxp=−400におけるYp座標値ypを取得すればよい。xp=−400に沿った縦方向の画素群のみからでは、像L1Pの位置が認識できない場合があり得るからである。
2)次に、演算回路104は座標値xpを+1だけインクリメントし、インクリメント後の座標値xpの位置で、同様にパターンL1の像L1Pが存在する画素のYp座標値を取得する。
3)上記2)の処理を、xp=+400についてのYp座標値を取得するまで繰り返す。
上述した処理1)〜3)により、演算回路104は一枚の画像P内のパターン像存在位置を検出できる。
一枚の画像P内の全てのパターン像存在位置を検出した後は、演算回路104は、各パターン像存在位置の座標値(xp,yp)からパターンL1上の対応点までの距離を算出する。以下、距離の検出方法を説明する。
なお、演算回路104は、1つのパターン像存在位置を検出するたびに、パターンL1上の対応点までの距離を算出してもよい。いずれの方法によっても、結果として全てのパターン像存在位置のパターンL1上の対応点までの距離を求められればよい。そうすると、一枚の画像Pから、現実の空間内の対応点の座標値(X,Z,30cm)を800個検出することができる。そしてAGV10が、一定時間または一定距離だけ移動するごとに新たに画像Pを取得し、対応点の座標値を算出する。その結果、得られた点群を合成して、空間の地図を作成することが可能になる。なお、対応点の座標値が「800個」得られる場合とは、Xp軸の方向に沿って画像Pを完全に横切るように、パターンL1の像L1Pが存在する場合である。像L1Pが画像Pの完全に横切らない場合には、得られる対応点の座標値は当然に800個未満になる。
図9は、Xc−Zc座標系に投影された点Aの像A’と画像Pとの関係を説明する図である。理解の便宜のため、引き続き、点Aの像A’を例示して説明する。点Aの像A’の位置(撮像装置102の撮像面上のパターン像存在位置)は、カメラ座標系の原点Ocと点Aとを結ぶ直線R1が焦点距離f(Zc=f)を通過する位置として求められる。よって、Xc−Zc座標系では、点Aのパターン像存在位置はA’(xr’,f)と表現される。ここで「xr’」は、Xc軸方向に沿う、Zc軸から点Aの像A’の撮影面上の位置までの長さである。撮像面とは、撮像装置102のイメージセンサを意味する。撮像装置102のイメージセンサが格子状に配置された複数の画素によって構成されているとし、1画素のXc軸方向の寸法(画素ピッチ)をkxとする。上述したxr’はxr’=x’・kx と表される。
画像Pが得られ、点Aのパターン像存在位置が適切に認識されると、画像P上の点Aの像A’(x’,f)の値x’(画素値)は、上述したパターン像存在位置の検出方法によって取得されているため既知である。また、撮像装置102の焦点距離fの値および画素ピッチkxの値も既知である。点Aおよび点Aの撮像面上の位置A’が直線R1上にあることを踏まえると、値xは以下の式によって求めることができる。
(式1) x=(z・xr’)/f=(z・x’・kx)/f
(式1) x=(z・xr’)/f=(z・x’・kx)/f
値zが求まれば、値xが求められる。そこで以下、値zの算出方法を説明する。
図10は、Yc−Zc座標系に投影された点Aと画像Pとの関係を説明する図である。図10では撮像装置102の視野Fが模式的に示されている。
画像Pに含まれる、点Aの像A’の位置(撮像装置102の撮像面上のパターン像存在位置)は、カメラ座標系の原点Ocと点Aとを結ぶ直線R2が焦点距離f(Zc=f)を通過する位置として求められる。よって、Yc−Zc座標系では、点Aのパターン像存在位置はA’(yr’,f)と表現される。ここで「yr’」は、Yc軸方向に沿う、Zc軸から点Aの像A’の撮影面上の位置までの長さである。撮像装置102のイメージセンサが格子状に配置された複数の画素によって構成されているとし、1画素のYc軸方向の寸法(画素ピッチ)をkyとする。上述したyr’はyr’=y’・ky と表される。
画像Pが得られ、点Aのパターン像存在位置が適切に認識されると、画像P上の像A’(x’,y’)の各値x’およびy’は既知である。そして、既に説明したように、点Aを含むパターンL1は床面から30cmの高さに引かれている。これらを利用すると、Zc軸方向の位置(距離:z)を求めることができる。
図11は、撮像装置102から位置AまでのZc軸方向の長さの算出方法を説明するための図である。なお、図示されないXc軸は画像内の水平位置を規定する。Yc−Zc平面は、Xc軸を法線に持つ平面である。
図11に示すように、長さHb,HcおよびHdをとる。
長さHbは、位置Aの床面からの高さを示す。例示的な実施形態では、Hb=30cmである。
長さHcは、床面からの原点Ocの高さである。本実施形態では、長さHcは床面からの撮像装置102の高さであるとする。AGV10に搭載された状態で撮像装置102の高さを計測することにより、長さHcは既知である。本実施形態では、長さHcは例えば60cmである。撮像装置102の高さは、パターンL1の高さとは異なる。
長さHdは、長さHcから長さHbを減算した値である。長さHcおよびHbはいずれも既知であるから、長さHdも既知(固定値)である。長さHdは、位置AにおけるYc座標の値に相当する。すなわち長さHd=位置AのYc座標の値y である。長さHdの固定値は、撮像装置102の高さHcに対応する画像P内の水平位置から、画像Pの各画素の位置までの高さ方向の画素数と対応付けられている。画素数は、撮像装置102の位置からパターンL1の位置までの距離に応じて変化する。
点Aおよび撮像装置102の撮像面上のパターン像存在位置A’が直線R2上にあることを踏まえると、値zは以下の式によって求めることができる。
(式2) z=(f/yr’)・y
=(f/yr’)・Hd
=f・(Hc−Hb)/(y’・ky)
(式2) z=(f/yr’)・y
=(f/yr’)・Hd
=f・(Hc−Hb)/(y’・ky)
上述のように、画像P上のパターン像存在位置を示すA’(x’,y’)の値y’は既知である。また、撮像装置102の焦点距離fの値および画素ピッチkyの値も既知である。式2によれば、撮像装置102から位置AまでのZc軸方向の長さzを算出できる。
算出した値zを式1に代入すれば、カメラ座標系における点Aのx座標値も得ることができる。この結果、撮像装置102から点Aまでの距離Dは以下の式3によって算出できる。
(式3) D=(x2+y2+z2)1/2
(式3) D=(x2+y2+z2)1/2
なお、位置AのYc座標の値は30cm(0.3m)である。
式3は、撮像装置102からパターンL1上の位置Aまでの直線距離であるが、例えば座標値yが十分小さい場合には、2つの値xおよびzを用いて距離Dを算出してもよい。この場合には、距離Dは、撮像装置102からパターンL1上の位置Aまでの水平距離を表す。
位置AはパターンL1上の任意の点である。パターンL1上の複数の点について上述の演算を繰り返すことにより、パターンL1の位置ごとに、撮像装置102からの距離を求めることができる。
上述の算出方法による場合には、記憶装置106には式1から式3までの関数を保持しておけばよい。しかしながら、図1に例示したように、記憶装置106にルックアップテーブルTを設けておくこともできる。ルックアップテーブルTは、例えば、パターン像存在位置と距離との関係を幾何学的に予め算出できる。画素位置を求めた後はルックアップテーブルTを参照するだけで距離を取得できるため、関数を用いて都度計算する処理と比較すると、計算負荷はより小さくて済む。
なお、実測によってルックアップテーブルTを求めることもできる。手順を以下の1〜6に示す。
1)壁Wの床から30cmの高さに沿ってパターンL1の線を引く。
2)壁Wから1m離れた位置で、AGV10の撮像装置102を壁Wに向けて配置する。
3)撮像装置102を用いて画像を取得し、画像P内のパターン像存在位置を画素ごとに求める。
4)各画素の位置を、距離1m、高さ30cmのパターンL1の値としてルックアップテーブルTに記録する。
5)壁Wからの距離を変化させて、3)〜4)を繰り返す。
6)検出可能な距離を網羅するとルックアップテーブルTが完成する。
1)壁Wの床から30cmの高さに沿ってパターンL1の線を引く。
2)壁Wから1m離れた位置で、AGV10の撮像装置102を壁Wに向けて配置する。
3)撮像装置102を用いて画像を取得し、画像P内のパターン像存在位置を画素ごとに求める。
4)各画素の位置を、距離1m、高さ30cmのパターンL1の値としてルックアップテーブルTに記録する。
5)壁Wからの距離を変化させて、3)〜4)を繰り返す。
6)検出可能な距離を網羅するとルックアップテーブルTが完成する。
なお、上述の例では、パターンL1のみについて説明したが、図5に示すパターンL2およびL3についても同様である。なお、いずれの例においても、パターンL1〜L3の高さは、撮像装置102の高さと一致しない。本実施形態では、撮像装置102の高さはL1よりもさらに高い位置に設定されている。
以下に、上述の実施形態にかかる方法の応用例を説明する。
上述のとおり、本実施形態においては、壁W等の物体にパターンを設ける。これらのパターンは人に煩わしさを感じさせる可能性がある。そのような可能性を考慮し、可視光の帯域以外の帯域で認識可能な塗料を用いてパターンを描いてもよい。例えば、ブラックライトを当てたときにのみ認識可能な塗料、または、赤外線カメラによって認識可能な塗料を利用すればよい。または、パターンを、例えば壁Wの模様として利用する、または壁Wの模様に紛れ込ませることにより、人が感じる煩わしさを低減できる。それにより、例えば商業施設にパターンを描き、自律移動ロボットを動作させることができる。
撮像装置102の分解能との関係で、高さ方向のパターンの幅を広げてもよい。これにより、撮像装置102からの視認距離を伸ばすことができる。
撮像装置102によって撮影した画像は、画像認識などの他の用途に利用してもよい。このような他の用途への利用が可能であることは、例えばLidarと比較すると汎用性が高いと言える。Lidarによって取得されたポイントクラウドの情報は他に流量することが困難だからである。
角度によっては、画像P中のパターンが途切れることがある。その場合、演算回路104は、壁Wとの間に障害物があると検知することができる。
本開示の例示的な推定システムは、無人搬送車、ドローン等に搭載されて自律的に移動するために空間内の物体との距離を推定する際に好適に利用され得る。
100・・・推定システム、102・・・撮像装置、104・・・演算回路、106・・・記憶装置、108・・・コントローラ、110・・・駆動装置
Claims (11)
- 三次元空間内の物体の形状または配置を推定するための推定システムであって、
前記三次元空間内の物体には、第1高さに予め定められたパターンが付与されており、
前記第1高さとは異なる第2高さに設置され、前記三次元空間を撮影する撮像装置と、
予め用意された関数またはルックアップテーブルを格納した記憶装置と、
演算回路と
を有し、
前記演算回路は、
(a)前記撮像装置によって撮影された画像を取得し、
(b)前記画像内で、前記パターンの像が存在する位置である、少なくとも1つのパターン像存在位置を検出し、
(c)各パターン像存在位置と、前記記憶装置に格納された前記関数またはルックアップテーブルとを利用して、前記撮像装置の位置から前記パターンの位置までの距離を算出し、
(d)算出した前記距離から、前記物体の形状または配置を推定し、
前記関数または前記ルックアップテーブルは、既知の前記第1高さおよび既知の前記第2高さを利用して作成された、前記画像の各画素の位置と、前記撮像装置の位置から前記パターンの位置までの距離との関係を示している、推定システム。 - 前記予め定められたパターンが既知の前記第1高さに付与されていること、および、前記撮像装置が既知の前記第2高さに設置されていること、により、前記第2高さと前記第1高さとの差は固定値であり、
前記固定値は、前記第2高さに対応する前記画像内の水平位置から、前記画像の各画素の位置までの高さ方向の画素数と対応付けられ、前記画素数は、前記撮像装置の位置から前記パターンの位置までの距離に応じて変化し、
前記関数または前記ルックアップテーブルは、前記画像の各画素の位置と、前記各画素の位置によって決定される前記画素数に対応する前記距離との関係を示している、請求項1に記載の推定システム。 - 前記距離は、前記撮像装置から前記パターンの位置までの直線距離または水平距離である、請求項1または2に記載の推定システム。
- 前記パターンは線である、請求項1から3のいずれかに記載の推定システム。
- 前記物体は、前記三次元空間を仕切る壁である、請求項4に記載の推定システム。
- 前記演算回路は、
前記(c)において、前記パターン像存在位置ごとに前記距離を算出し、
前記(d)において、前記パターン像存在位置ごとの距離から、前記物体の形状または配置を推定する、請求項1から5のいずれかに記載の推定システム。 - 前記三次元空間内の前記物体および/または前記物体とは異なる他の物体には、前記第1高さとは異なる高さに、前記パターンとは異なる1以上の他のパターンが付与されており、
前記記憶装置は、高さの異なるパターンごとの関数またはルックアップテーブルであって、前記パターンごとの既知の高さおよび既知の前記第2高さを利用して作成された、前記画像の各画素の位置と、前記撮像装置の位置から前記パターンの位置までの距離との関数または対応関係を示す関数またはルックアップテーブルをさらに格納する、請求項1から6のいずれかに記載の推定システム。 - 前記パターンおよび前記1以上の他のパターンは、色が異なる線である、請求項7に記載の推定システム。
- 前記撮像装置は単眼のカメラである、請求項1から8のいずれかに記載の推定システム。
- 前記撮像装置は二眼以上のカメラであり、前記画像は前記カメラの1つの撮像系によって撮影される、請求項1から8のいずれかに記載の推定システム。
- 三次元空間内の物体の形状または配置を推定する方法であって、
前記三次元空間内の物体には、第1高さに予め定められたパターンが付与されており、
(a)前記第1高さとは異なる第2高さに設置された撮像装置で前記三次元空間を撮影して画像を取得し、
(b)前記画像内で、前記パターンの像が存在する位置である、少なくとも1つのパターン像存在位置を検出し、
(c)各パターン像存在位置と、予め用意された関数またはルックアップテーブルとを利用して、前記撮像装置の位置から前記パターンの位置までの距離を算出し、
(d)算出した前記距離から、前記物体の形状を推定し、
前記工程(c)における前記関数または前記ルックアップテーブルは、既知の前記第1高さおよび既知の前記第2高さを利用して作成された、前記画像の各画素の位置と、前記撮像装置の位置から前記パターンの位置までの距離との関係を示している、方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020047789A JP2021149420A (ja) | 2020-03-18 | 2020-03-18 | 推定システムおよび方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020047789A JP2021149420A (ja) | 2020-03-18 | 2020-03-18 | 推定システムおよび方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021149420A true JP2021149420A (ja) | 2021-09-27 |
Family
ID=77848975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020047789A Pending JP2021149420A (ja) | 2020-03-18 | 2020-03-18 | 推定システムおよび方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021149420A (ja) |
-
2020
- 2020-03-18 JP JP2020047789A patent/JP2021149420A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3568334B1 (en) | System, method and non-transitory computer readable storage medium for parking vehicle | |
CN109154827B (zh) | 机器人车辆的定位 | |
US11407116B2 (en) | Robot and operation method therefor | |
BR112020024333A2 (pt) | rastrear veículos em um ambiente de armazém | |
CN111788102B (zh) | 用于跟踪交通灯的里程计系统和方法 | |
WO2020258721A1 (zh) | 智能巡航车导航方法及系统 | |
Chen et al. | Qualitative vision-based path following | |
TWI827649B (zh) | 用於vslam比例估計的設備、系統和方法 | |
WO2019187816A1 (ja) | 移動体および移動体システム | |
Peasley et al. | Real-time obstacle detection and avoidance in the presence of specular surfaces using an active 3D sensor | |
KR20180039438A (ko) | 공항용 안내 로봇 및 그의 동작 방법 | |
JP2012084149A (ja) | モバイル機器のナビゲーション | |
JP2020534198A (ja) | 移動可能物体の制御方法、機器およびシステム | |
EP4208763A1 (en) | Method of operating a mobile device | |
WO2021157136A1 (ja) | 測位システム | |
JPWO2020137315A1 (ja) | 測位装置及び移動体 | |
US11460855B1 (en) | Systems and methods for sensor calibration | |
WO2018180454A1 (ja) | 移動体 | |
Smith et al. | PiPS: Planning in perception space | |
Tsukiyama | Global navigation system with RFID tags | |
JPWO2018179960A1 (ja) | 移動体および自己位置推定装置 | |
WO2020137311A1 (ja) | 測位装置及び移動体 | |
JP2021149420A (ja) | 推定システムおよび方法 | |
Noaman et al. | Landmarks exploration algorithm for mobile robot indoor localization using VISION sensor | |
Poomarin et al. | Automatic docking with obstacle avoidance of a differential wheel mobile robot |