(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6775263
(24)【登録日】2020年10月8日
(45)【発行日】2020年10月28日
(54)【発明の名称】測位方法及び装置
(51)【国際特許分類】
G05D 1/02 20200101AFI20201019BHJP
G01C 21/28 20060101ALI20201019BHJP
【FI】
G05D1/02 J
G01C21/28
【請求項の数】12
【全頁数】11
(21)【出願番号】特願2019-529633(P2019-529633)
(86)(22)【出願日】2016年12月2日
(65)【公表番号】特表2019-537023(P2019-537023A)
(43)【公表日】2019年12月19日
(86)【国際出願番号】CN2016108392
(87)【国際公開番号】WO2018098811
(87)【国際公開日】20180607
【審査請求日】2019年5月31日
【早期審査対象出願】
【前置審査】
(73)【特許権者】
【識別番号】518413398
【氏名又は名称】深▲せん▼前海達闥云端智能科技有限公司
【氏名又は名称原語表記】CLOUDMINDS (SHENZHEN) ROBOTICS SYSTEMS CO.,LTD.
(74)【代理人】
【識別番号】100121728
【弁理士】
【氏名又は名称】井関 勝守
(72)【発明者】
【氏名】林 義▲ミン▼
(72)【発明者】
【氏名】廉 士国
【審査官】
中田 善邦
(56)【参考文献】
【文献】
特開2018−028489(JP,A)
【文献】
特開2011−039968(JP,A)
【文献】
特開2012−168098(JP,A)
【文献】
特開2012−103819(JP,A)
【文献】
中国特許出願公開第103631261(CN,A)
【文献】
米国特許出願公開第2005/0234679(US,A1)
【文献】
KAESS M ET AL,Probabilistic structure matching for visual SLAM with a multi-camera rig,COMPUTER VISION AND IMAGE UNDERSTANDING,米国,ACADEMIC PRESS,2010年 2月 1日,vol. 114, no. 2,pages 286 - 296,ISSN: 1077-3142
【文献】
PATRICK ROBERTSON ET AL,Collaborative Pedestrian Mapping of Buildings Using Inertial Sensors and FootSLAM,GNSS 2011 - PROCEEDINGS OF THE 24TH INTERNATIONAL TECHNICAL MEETING OF THE SATELLITE DIVISION OF THE INSTITUTE OF NAVIGATION (ION GNSS 2011),THE INSTITUTE OF NAVIGATION,2011年 9月23日,pages 1366
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00− 1/12,
G01C21/28
(57)【特許請求の範囲】
【請求項1】
測位方法であって、
複数の視覚的同時測位及びマッピングvSLAMプロセスを作成して、各vSLAMプロセスのために対応した地図データベースをそれぞれロードするステップと、
各vSLAMプロセスを呼び出して、リアルタイム画像に基づいて測位するステップと、
測位に成功した各vSLAMプロセスによる測位結果に基づいて測位するステップとを含み、
vSLAMプロセスのうちの1つが測位に成功した後、測位に成功したvSLAMプロセスが出力する測位結果により指示される位置を検索範囲に含むように、ほかのvSLAMプロセスの対応した地図データベースにおける検索範囲を絞り込むステップをさらに含むことを特徴とする測位方法。
【請求項2】
前記複数の視覚的同時測位及びマッピングvSLAMプロセスを作成するステップは、
異なる測位ルールを用いた複数のvSLAMプロセスを作成するステップを含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記複数の視覚的同時測位及びマッピングvSLAMプロセスを作成するステップは、
初期化時に、複数のvSLAMプロセスを作成するステップと、作成した各vSLAMプロセスがすべて終了した後、複数のvSLAMプロセスを作成するステップとを含み、
前記方法はさらに、
vSLAMプロセスが測位に失敗するごとに、該vSLAMプロセスを終了するステップを含むことを特徴とする請求項1又は2に記載の方法。
【請求項4】
前記測位に成功した各vSLAMプロセスによる測位結果に基づいて測位するステップは、
測位に成功した各vSLAMプロセスによる測位結果により指示される位置の座標値の平均値を現在測位結果とするステップを含むことを特徴とする請求項1−3のいずれか1項に記載の方法。
【請求項5】
パノラマ画像撮影カメラが複数の角度で撮影した画像を取得するステップと、
各角度で撮影した画像をvSLAMプロセスに使用される地図データベースに対応して設定するステップとをさらに含むことを特徴とする請求項1−4のいずれか1項に記載の方法。
【請求項6】
測位装置であって、
複数の視覚的同時測位及びマッピングvSLAMプロセスを作成して、各vSLAMプロセスのために対応した地図データベースをそれぞれロードする作成ユニットと、
各vSLAMプロセスを呼び出して、リアルタイム画像に基づいて測位する測位ユニットとを備え、
前記測位ユニットはさらに、測位に成功した各vSLAMプロセスによる測位結果に基づいて測位し、
前記測位ユニットはさらに、vSLAMプロセスのうちの1つが測位に成功した後、測位に成功したvSLAMプロセスが出力する測位結果により指示される位置を検索範囲に含むように、ほかのvSLAMプロセスの対応した地図データベースにおける検索範囲を絞り込むことを特徴とする測位装置。
【請求項7】
前記作成ユニットは具体的には、
異なる測位ルールを用いた複数の異なるタイプのvSLAMプロセスを作成することを特徴とする請求項6に記載の測位装置。
【請求項8】
前記作成ユニットは具体的には、初期化時に、複数のvSLAMプロセスを作成し、且つ作成したvSLAMプロセスがすべて終了した後、複数のvSLAMプロセスを作成し、
前記測位ユニットはさらに、vSLAMプロセスが測位に失敗するごとに、該vSLAMプロセスを終了することを特徴とする請求項6又は7に記載の測位装置。
【請求項9】
前記測位ユニットは具体的には、
測位に成功した各vSLAMプロセスによる測位結果により指示される位置の座標値の平均値を現在測位結果とすることを特徴とする請求項6−8のいずれか1項に記載の測位装置。
【請求項10】
パノラマ画像撮影カメラが複数の角度で撮影した画像を取得し、各角度で撮影した画像をvSLAMプロセスに使用される地図データベースに対応して設定する取得ユニットをさらに備えることを特徴とする請求項6−9のいずれか1項に記載の測位装置。
【請求項11】
コンピュータ記憶媒体であって、
請求項1〜5のいずれか1項に記載の測位方法を実行するために設計されたプログラムコードを含む測位装置用のコンピュータソフトウェア命令を記憶することを特徴とするコンピュータ記憶媒体。
【請求項12】
電子機器であって、
コンピュータ実行可能コードを記憶するメモリと、測位機器と外部機器がデータ伝送を行う通信インターフェースと、前記コンピュータ実行可能コードを実行して請求項1−5のいずれか1項に記載の測位方法を実行するように制御するプロセッサとを備えることを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、測位及びナビゲーションの分野に関し、特に測位方法及び装置に関する。
【背景技術】
【0002】
現在、vSLAM(visual simultaneous localization and mapping、視覚的同時測位及びマッピング)はロボットナビゲーションに幅広く使用されており、ロボットによる測位及びナビゲーションのタスクを支援することができる。しかしながら、vSLAMは画像に基づいて処理するため、光照射や視角の変動による影響を受けやすい。例えば、vSLAMが昼間にあるシーンのある時刻での地図を作成するが、夜の光照射が変わるので、夜に同じシーンにおいて収集するvSLAM地図にマッチングする画像は、昼間に作成した地図において検出できないため、測位及びナビゲーションをリアルタイムで実施できない。また、vSLAMは、画像を収集するときにセンサの視角による影響を受けるため、作成された地図の視角には指向性があり、測位時の視角と保存視角に大きな差異があり、同様に測位及びナビゲーションを実施できない。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の実施例は、vSLAMが視角や光照射による影響を受けて測位及びナビゲーションを実施できなくなるという問題を解決する測位方法及び装置を提供する。
【課題を解決するための手段】
【0004】
上記目的を達成させるために、本発明の実施例は下記技術案を採用する。
【0005】
第1態様によれば、
複数の視覚的同時測位及びマッピングvSLAMプロセスを作成して、各vSLAMプロセスのために対応した地図データベースをそれぞれロードするステップと、
各vSLAMプロセスを呼び出して、リアルタイム画像に基づいて測位するステップと、
測位に成功した各vSLAMプロセスによる測位結果に基づいて測位するステップとを含む測位方法を提供する。
【0006】
第2態様によれば、
複数の視覚的同時測位及びマッピングvSLAMプロセスを作成して、各vSLAMプロセスのために対応した地図データベースをそれぞれロードする作成ユニットと、各vSLAMプロセスを呼び出して、リアルタイム画像に基づいて測位する測位ユニットとを備え、
前記測位ユニットはさらに、測位に成功した各vSLAMプロセスによる測位結果に基づいて測位する測位装置を提供する。
【0007】
第3態様によれば、第1態様に記載の測位方法を実行するために設計されるプログラムコードを含む測位装置用のコンピュータソフトウェア命令を記憶するコンピュータ記憶媒体を提供する。
【0008】
第4態様によれば、コンピュータの内部メモリに直接ロードでき、ソフトウェアコードを含み、前記コンピュータプログラムがコンピュータを介してロードされて実行されると第1態様に記載の測位方法を実現できるコンピュータプログラム製品を提供する。
【0009】
第5態様によれば、コンピュータ実行可能コードを記憶するメモリと、測位機器と外部機器のデータ伝送を行う通信インターフェースと、前記コンピュータ実行可能コードを実行して第1態様に記載の測位方法を実行するように制御するプロセッサとを備える電子機器を提供する。
【発明の効果】
【0010】
本発明の実施例による測位方法及び装置は、異なる撮影期間又は撮影視角に対応した地図データベースをリアルタイム画像とマッチングさせ、次にマッチング結果に基づいて測位することによって、vSLAMが視角や光照射による影響を受けて測位及びナビゲーションを実施できなくなるという問題を解決する。
【図面の簡単な説明】
【0011】
本発明の実施例または従来技術における技術案をさらに説明するために、以下、実施例または従来技術の説明に必要な図面を簡単に説明するが、勿論、以下の説明における図面は本発明の実施例の一部に過ぎず、当業者であれば、創造的な努力を必要とせずに、これら図面に基づいて他の図面を想到し得る。
【0012】
【
図3】本発明の実施例による測位方法のフロー模式図である。
【
図4】本発明の実施例による測位方法のフロー模式図である。
【
図5】本発明の実施例による測位装置の構造模式図である。
【
図6】本発明の実施例による別の測位装置の構造模式図である。
【
図7】本発明の実施例によるさらなる測位装置の構造模式図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施例における図面を参照しながら、本発明の実施例における技術案を明瞭且つ完全に説明するが、勿論、説明する実施例は本発明の実施例の一部に過ぎず、すべての実施例ではない。本発明における実施例に基づいて、当業者が創造的な努力を必要とせずに想到し得る他のすべての実施例は、本発明の保護範囲に属する。
【0014】
本発明の実施例による測位方法及び装置はロボット、自律走行自動車などの装置による室内外での視覚測位及びナビゲーションに適用できる。測位装置は測位サーバーとしてクラウドに配置されてもよく、又は端末(たとえば盲導ヘルメット)として現場に配置されてもよい。
【0015】
図1に示されるように、本発明の実施例の前記視角とは、カメラの光軸方向と走行方向がなす角度である。
図2に示されるように、本発明の実施例の前記測位とは、直角座標系X−Y平面における位置(x、y)を特定する。
【0016】
本発明の実施例による測位方法は、上記測位装置に適用され、
図3に示されるように、S101−S104を含む。
【0017】
S101、複数のvSLAMプロセスを作成し、各vSLAMプロセスのために対応した地図データベースをそれぞれロードする。
【0018】
地図データベースは、同一経路について異なる期間、異なる視角で事前に収集した地図データベースである。具体的には、出発地、目的地及び走行経路が決定されると、ある期間において、撮影車両が視覚センサモジュールの視角を一定に保持して、出発地から走行経路に沿って目的地へ走行し、走行過程において所定時間ごとに画像を1回撮影するとともに位置座標(相対位置又は絶対位置)を記録し、目的地に到着すると、該走行経路の一組の地図データベースが形成される。ここで、地図データベースはそれぞれ画像、画像撮影時の視角、時間及び位置座標を含む。
【0019】
計算量のバランス及びマッチングの正確性のために、撮影時間間隔は、表1に示されるように1時間を間隔としてそれぞれ0−23時での地図データベースを収集することができ、このようにすると、各種光照射条件での地図データベースが得られる。また、視角は、表1に示されるように45度を間隔として360度視角での地図データベースを収集できる。さらに好ましくは、360度パノラマカメラを直接用いて撮影することにより表2に示される地図データベースを取得することができ、地図データベースはそれぞれ360度パノラマ画像を含み、それにより撮影作業量を低減させるとともに、測位時の計算量を減少させる。
【0022】
作成されたvSLAMプロセスの数が地図データベースの組数以下としてもよい。例えば、16組の地図データベースがある場合、1−16個のプロセスを作成して上記マッチング演算を行い、プロセスごとに一組の地図データベースを利用してリアルタイム画像とともに測位を行い、1つのプロセスによる測位が終了すると、すべてのN組の地図データベースのロードが完了するまで、残りの複数組の地図データベースから一組を選択して、再度リアルタイム画像とともに測位を行う。
【0023】
各vSLAMプロセスは、同じ測位ルールを用いて、異なる地図データベースについて測位を行ってもよく、異なる測位ルールを用いて、同一地図データベースについて測位を行ってもよい。
【0024】
いくつかの実施形態において、初期化時に、複数のvSLAMプロセスを作成し、1つのvSLAMプロセスが測位に失敗すると、該vSLAMプロセスを終了し、それにより計算リソースを節約することができる。作成された各vSLAMプロセスがすべて終了すると、改めて複数のvSLAMプロセスを作成する。
【0025】
S102、各vSLAMプロセスを呼び出して、リアルタイム画像に基づいて測位する。
【0026】
具体的には、視覚センサモジュール(例えばカメラ)により現在フレームのリアルタイム画像を収集する。
【0027】
各プロセスがリアルタイム画像に基づいてロードした地図データベースから測位結果を取得すると、演算をさらに簡素化させるために、両方のすべての画像点を1つずつマッチングさせることなく、それぞれ両方から画像特徴を抽出した後に両方の画像特徴をマッチングさせることができ、このように計算量を大幅に減少できる。さらに、地図データベースが一定のものであるので、地図データベースを画像特徴として予め保存しておき、それにより測位するたびに、リアルタイム画像だけについて画像特徴を抽出すればよく、それにより計算量をさらに減少させる。
【0028】
いくつかの実施形態において、1つのvSLAMプロセスが測位に成功すると、該プロセスは、測位に成功したvSLAMプロセスが出力する測位結果により指示される位置を検索範囲に含むように、測位に成功していないほかのvSLAMプロセスに対応地図データベースにおける検索範囲を絞り込むように通知できる。一例として、第1プロセスが第1組の地図データベースを処理し、第2プロセスが第2組の地図データベースを処理するとすれば、第1プロセスによる処理において、測位過程に第1組の地図データベースにおける100番目の地図データベースによる測位成功を検出すると、第2プロセス(測位未成功)に、第2組の地図データベースにおける100番目の地図データベースの付近で測位成功の可能性が最も高い旨を知らせて、例えば、第2組の地図データベースにおける前の89個の地図データベースをスキップして、90番目の地図データベースから検出するような指示を第2プロセスに与え、それによって計算作業量を減少させるという目的を達成させる。
【0029】
いくつかの実施形態において、vSLAMプロセスが測位に失敗すると、該プロセスがロードした本組の地図データベースは光照射、視角、撮影間隔などの要素によりリアルタイム画像について測位できないことを示し、本組の地図データベースは後続のリアルタイム画像の測位過程に関与しなくなり、したがって、該vSLAMプロセスを終了し、このようにすべてのvSLAMプロセスがすべて終了すると、次の撮影間隔におけるリアルタイム画像の地図データベースに対する測位を成功させるために、ステップS101に従って複数のvSLAMプロセスを再度作成し、それによって、計算作業量を減少させる目的を達成させる。具体的には、各組の地図データベースにフラグを設定する方式によって各組の地図データベースが後続のリアルタイム画像の測位過程に関与するか否かを示すことができる。
【0030】
S103、測位装置は、N組の地図データベースの測位結果に基づいて測位する。
【0031】
具体的には、測位に成功した各vSLAMプロセスによる測位結果により指示される位置の座標値について平均値を求めて現在のリアルタイム画像の位置結果とする。次に、測位の位置座標に基づいて路径計画結果と組み合わせてナビゲーション方向を決定する。
【0032】
好ましくは、
図4に示されるように、ステップS101の前に、S104をさらに含んでもよい。
【0033】
S104、パノラマ画像撮影カメラが複数の角度で撮影した画像を取得し、各角度で撮影した画像をvSLAMプロセスに使用される地図データベースに対応して設定する。
【0034】
地図データベースはそれぞれ360度パノラマ画像を含むことにより、撮影作業量を低減させるとともに、測位時の計算量を減少させる。
【0035】
本発明の実施例による測位方法は、異なる撮影期間又は撮影視角に対応した地図データベースをリアルタイム画像と測位を行い、次に測位結果に基づいて測位することによって、vSLAMが視角や光照射による影響を受けて測位及びナビゲーションを実施できなくなるという問題を解決する。
【0036】
当業者にとって明らかなように、本明細書に開示された実施例において説明する各例示的なユニットおよびアルゴリズムのステップに基づいて、本発明はハードウェアまたはハードウェアとコンピュータソフトウェアの組み合わせとして実現できる。特定の機能がハードウェアによって実行されるか、コンピュータソフトウェアを利用してハードウェアを駆動する方式で実行されるかは、技術案の特定用途および設計の制限条件により決まる。当業者であれば、各特定の用途に応じて異なる方法により説明される機能を実現できるが、これら実現は本発明の範囲に含まれる。
【0037】
本発明の実施例は、上記方法の例に応じて測位装置の機能モジュールを分割することができ、たとえば、各機能に対応して各機能モジュールを分割してもよいし、2つまたは2つ以上の機能を1つの処理モジュールに集積させてもよい。上記集積モジュールは、ハードウェアの形態として実現されてもよく、ソフトウェア機能モジュールの形態として実現されてもよい。なお、本発明の実施例によるモジュールの分割は模式的なものであり、ロジック機能による分割に過ぎず、実際に実現するときに別の分割方式としてもよい。
【0038】
各機能に対応して各機能モジュールを分割する場合について、
図5は上記実施例に係る測位装置の一例の構造模式図を示しており、測位装置11は、作成ユニット1101、測位ユニット1102、取得ユニット1103を備える。測位装置は、作成ユニット1101を利用して
図3における過程S101、
図4における過程S101を実行し、測位ユニット1102を利用して
図3における過程S102、S103、
図4における過程S102、S103を実行し、取得ユニット1103を利用して
図4における過程S104を実行する。上記方法の実施例に係る各ステップのすべての関連内容は対応した機能モジュールの機能の説明に引用できるため、ここで詳細な説明を省略する。
【0039】
集積ユニットを用いる場合について、
図6は、上記実施例に係る電子機器の一例の構造模式図を示している。電子機器11は、処理モジュール1112及び通信モジュール1113を備える。処理モジュール1112は、測位装置の動作を制御して管理し、例えば、処理モジュール1112を利用して
図3における過程S101−S103、
図4における過程S101−S104、及び/又は本明細書に説明された技術のほかの過程を実行し、通信モジュール1113を利用してほかの外部エンティティと通信する。電子機器11はさらに、測位装置のプログラムコード及びデータを記憶するための記憶モジュール1111を備えてもよい。
【0040】
処理モジュール1112は、プロセッサまたはコントローラ、たとえば中央プロセッサ(central processing unit、CPU)、汎用プロセッサ、デジタルシグナルプロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application−specific integrated circuit、ASIC)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array、FPGA)またはほかのプログラマブルロジックデバイス、トランジスタロジックデバイス、ハードウェアコンポーネントまたはそれらの任意の組み合わせであってもよい。本発明の開示内容において説明された各種例示的な論理ブロック、モジュールおよび回路を実現または実行できる。前記プロセッサは、計算機能を実現できる組み合わせとしてもよく、たとえば1つまたは複数のマイクロプロセッサの組み合わせ、DSPとマイクロプロセッサの組み合わせなどを含む。記憶モジュール1111はメモリであってもよい。
【0041】
処理モジュール1112がプロセッサ、通信モジュール1113が通信インターフェース、記憶モジュール1111がメモリである場合、本発明の実施例に係る測位装置は
図7に示される測位装置であってもよい。
【0042】
図7に示されるように、該電子機器11は、プロセッサ1122、通信インターフェース1123、メモリ1121およびバス1124を備える。プロセッサ1122、通信インターフェース1123、メモリ1121はバス1124を介して互いに接続され、バス1124は周辺機器相互接続標準(peripheral component interconnect、PCI)バスまたは拡張業界標準アーキテクチャ(extended industry standard architecture、EISA)バスなどとしてもよい。前記バスは、アドレスバス、データバス、制御バスなどに分類できる。表示し易さから、
図7中に1本の太線で示されているが、1本のバスまたは1種のタイプのバスだけがあると限らない。
【0043】
実施するときに、ここでの電子機器は、民生用電子機器であってもよいし、対応した機能を提供するサーバーなどであってもよい。
【0044】
本発明の開示内容において説明した方法またはアルゴリズムのステップはハードウェアの方式により実現されてもよいし、プロセッサでソフトウェア命令を実行する方式により実現されてもよい。本発明の実施例はさらに記憶媒体を提供し、該記憶媒体は測位方法を実行するために設計されるプログラムコードを含む測位装置用のコンピュータソフトウェア命令を記憶するメモリ1121を含んでもよい。具体的には、ソフトウェア命令は対応したソフトウェアモジュールから構成でき、ソフトウェアモジュールはランダムアクセスメモリ(random access memory、RAM)、フラッシュメモリ、読み取り専用メモリ(read only memory、ROM)、消去可能プログラマブル読み出し専用メモリ(erasable programmable ROM、EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(electrically EPROM、EEPROM)、レジスター、ハードディスク、モバイルハードディスク、読み取り専用コンパクトディスク(CD-ROM)または本分野において公知する任意の形態の記憶媒体に格納できる。一例として、記憶媒体がプロセッサに結合され、それによってプロセッサは該記憶媒体から情報を読み取ったり、該記憶媒体に情報を書き込んだりすることができる。勿論、記憶媒体はプロセッサの構成部分であってもよい。プロセッサおよび記憶媒体はASICに配置できる。また、該ASICは測位装置に配置できる。勿論、プロセッサおよび記憶媒体は独立部品として測位装置に存在してもよい。
【0045】
本発明の実施例はさらに、メモリ1121に直接ロードでき、ソフトウェアコードを含み、コンピュータプログラムがコンピュータによりロードされて実行されると上記マンマシンハイブリッド意思決定方法を実行できるコンピュータプログラム製品を提供する。
【0046】
以上は本発明の特定の実施形態に過ぎず、本発明の保護範囲がそれに制限されず、当業者が本発明の開示した技術範囲から逸出することなく、容易に想到し得る変化または置換はすべて本発明の保護範囲に属する。このため、本発明の保護範囲は前記特許請求の範囲の保護範囲を基準にする。