(57)【要約】      （修正有）【課題】計算量を低減した、小型ロボット用の位置決め方法を提供する。【解決手段】位置決め方法は、ロボットに適用され、ロボットはカメラを含む。マーキングパターン領域を含む予め設定された領域の写真を撮影するステップと、マーキングパターン領域の少なくとも２つのマーキングポイントを識別し、各マーキングポイントの第１座標データを取得するステップと、カメラのパラメータ及びマーキングポイントの第１座標データに基づいて、ロボットのワールド座標における第２座標データを計算するステップと、マーキングポイントの第１座標データ及びロボットのワールド座標における第２座標データに基づいて、ロボットのワールド座標における角度データを計算するステップとを含む。上記位置決め方法により、小型ロボットは単眼視覚位置決めを迅速に行うことができ、位置決めの計算量を低減することができる。【選択図】図１
2020053008.tif 000002
【特許請求の範囲】
【請求項１】
位置決め方法であって、ロボットに適用され、前記ロボットはカメラを含み、前記位置決め方法は、
マーキングパターン領域を含む予め設定された領域の写真を撮影するステップと、
前記マーキングパターン領域の少なくとも２つのマーキングポイントを識別し、各マーキングポイントの第１座標データを取得するステップと、
前記カメラのパラメータ及び前記マーキングポイントの第１座標データに基づいて、前記ロボットのワールド座標における第２座標データを計算するステップと、
前記マーキングポイントの第１座標データ及び前記ロボットのワールド座標における第２座標データに基づいて、前記ロボットのワールド座標における角度データを計算するステップとを含む、ことを特徴とする位置決め方法。
【請求項２】
予め設定された領域の写真を撮影する前に、
前記カメラのパラメータを校正するステップを更に含み、前記カメラのパラメータは少なくとも焦点距離、解像度、及び拡大倍率を含む、ことを特徴とする請求項１に記載の位置決め方法。
【請求項３】
予め設定された領域の写真を撮影するステップは、
前記カメラが前記ロボットの底部方向に対して固定された予め設定された角度で、予め設定された領域の写真を撮影するステップを更に含み、前記予め設定された角度は９０°未満である、ことを特徴とする請求項２に記載の位置決め方法。
【請求項４】
前記第１座標データは、第１画素座標データ及び前記マーキングポイントのワールド座標における第１物理座標データを含み、
前記カメラのパラメータ及び前記マーキングポイントの第１座標データに基づいて、前記ロボットのワールド座標における第２座標データを計算するステップはさらに、
前記カメラのパラメータ及び前記第１画素座標データに基づいて、前記マーキングポイントと前記カメラとの第１距離データを取得するステップと、
前記マーキングポイントのワールド座標における第１物理座標データ及び前記第１距離データに基づいて、前記ロボットのワールド座標における第２座標データを取得するステップとを含み、
前記マーキングポイントの第１座標データ及び前記ロボットのワールド座標における第２座標データに基づいて、前記ロボットのワールド座標における角度データを計算するステップはさらに、
前記マーキングポイントのワールド座標における第１物理座標データ及び前記ロボットのワールド座標における第２座標データに基づいて、前記ロボットのワールド座標における角度データを計算するステップを含む、ことを特徴とする請求項１に記載の位置決め方法。
【請求項５】
前記マーキングパターン領域は、マーキングポイントとコード化パターンとを含み、
前記マーキングパターン領域の少なくとも２つのマーキングポイントを識別し、前記少なくとも２つのマーキングポイントの第１座標データを取得するステップは、
前記マーキングパターン領域の少なくとも２つのマーキングポイントを識別し、前記少なくとも２つのマーキングポイントの第１画素座標データを取得するステップと、
前記マーキングパターン領域の少なくとも２つのマーキングポイントの間のコード化パターンを識別して、前記コード化パターンに対応するコード化データを取得するステップと、
予め記憶された記録から、前記コード化データに対応する前記コード化パターンに隣接する前記マーキングポイントのワールド座標における第１物理座標データを検索するステップとを含む、ことを特徴とする請求項４に記載の位置決め方法。
【請求項６】
前記コード化パターンは少なくとも２つのコード化ブロックを含み、
前記マーキングパターン領域の少なくとも２つのマーキングポイントの間のコード化パターンを識別して、前記コード化パターンに対応するコード化データを取得するステップはさらに、
前記マーキングパターン領域の少なくとも２つのマーキングポイントの間の前記コード化ブロックの色、数及び／又は配列順序を識別して、前記コード化パターンに対応するコード化データを取得するステップを含む、ことを特徴とする請求項５に記載の位置決め方法。
【請求項７】
前記マーキングパターン領域の少なくとも２つのマーキングポイントを識別し、前記少なくとも２つのマーキングポイントの第１画素座標データを取得するステップの後に、
少なくとも２つの前記マーキングポイントの第１画素座標データに基づいて、前記マーキングポイントの間の第２距離データを取得するステップと、
第２距離データが予め設定された距離条件を満たすか否かを判断するステップと、
第２距離データが予め設定された距離条件を満たさない場合、前記マーキングポイントを再識別するステップと、
第２距離データが予め設定された距離条件を満たす場合、前記カメラのパラメータ及び前記第１画素座標データに基づいて、前記マーキングポイントと前記カメラとの第１距離データを取得するステップを実行するステップとをさらに含む、ことを特徴とする請求項５に記載の位置決め方法。
【請求項８】
前記マーキングポイントのワールド座標における第１物理座標データ及び前記第１距離データに基づいて、前記ロボットのワールド座標における第２座標データを取得するステップはさらに、
前記マーキングポイントのワールド座標における第１物理座標データ及び前記第１距離データに基づいて、三辺測量位置決め方法により、前記ロボットのワールド座標における第２座標データを取得するステップを含む、ことを特徴とする請求項７に記載の位置決め方法。
【請求項９】
ロボットであって、カメラと、メモリと、前記カメラ及び前記メモリにそれぞれ接続されたプロセッサーと、１つ以上のコンピュータプログラムとを含み、
前記カメラは、マーキングパターン領域を含む予め設定された領域の写真を撮影するために使用され、
前記１つ以上のコンピュータプログラムは、前記メモリに記憶され、前記プロセッサー上で実行可能であり、以下のような命令を含み、
前記命令は、前記マーキングパターン領域の少なくとも２つのマーキングポイントを識別し、各マーキングポイントの第１座標データを取得し、前記カメラのパラメータ及び前記少なくとも２つのマーキングポイントの第１座標データに基づいて、前記ロボットのワールド座標における第２座標データを計算し、前記少なくとも２つのマーキングポイントの第１座標データ及び前記ロボットのワールド座標における第２座標データに基づいて、前記ロボットのワールド座標における角度データを計算するためのものである、ことを特徴とするロボット。
【請求項１０】
前記１つ以上のコンピュータプログラムは、
前記カメラのパラメータを校正するための命令をさらに含み、
前記カメラのパラメータは、少なくとも焦点距離、解像度、及び拡大倍率を含む、ことを特徴とする請求項９に記載のロボット。
【請求項１１】
予め設定された領域の写真を撮影するための命令は、
前記カメラによって、ロボットの底部方向に対して予め設定された角度で、予め設定された領域の写真を撮影するための命令を含み、
前記予め設定された角度は９０°未満である、ことを特徴とする請求項１０に記載のロボット。
【請求項１２】
前記第１座標データは、第１画素座標データ及び少なくとも２つのマーキングポイントのワールド座標における第１物理座標データを含み、
前記カメラのパラメータ及び前記少なくとも２つのマーキングポイントの第１座標データに基づいて、前記ロボットのワールド座標における第２座標データを計算するための前記命令は、
前記カメラのパラメータ及び前記第１画素座標データに基づいて、前記少なくとも２つのマーキングポイント及び前記カメラの第１距離データを取得するための命令と、
前記マーキングポイントのワールド座標における第１物理座標データ及び前記第１距離データに基づいて、前記ロボットのワールド座標における第２座標データを計算するための命令とを含み、
前記少なくとも２つのマーキングポイントの第１座標データ及び前記ロボットのワールド座標における第２座標データに基づいて、前記ロボットのワールド座標における角度データを計算するための前記命令は、
前記少なくとも２つのマーキングポイントのワールド座標における第１物理座標データ及び前記ロボットのワールド座標における第２座標データに基づいて、前記ロボットのワールド座標における角度データを計算するための命令を含む、ことを特徴とする請求項９に記載のロボット。
【請求項１３】
前記マーキングパターン領域は、マーキングポイントとコード化パターンとを含み、
前記マーキングパターン領域の少なくとも２つのマーキングポイントを識別し、前記少なくとも２つのマーキングポイントの第１座標データを取得するための前記命令は、
前記マーキングパターン領域の少なくとも２つのマーキングポイントを識別し、前記少なくとも２つのマーキングポイントの第１画素座標データを取得するための命令と、
前記マーキングパターン領域の少なくとも２つのマーキングポイントの間のコード化パターンを識別して、前記コード化パターンに対応するコード化データを取得する命令と、
予め記憶された記録から、前記コード化データに対応する前記コード化パターンに隣接する少なくとも２つのマーキングポイントのワールド座標における第１物理座標データを検索するための命令とを含む、ことを特徴とする請求項１２に記載のロボット。
【請求項１４】
前記コード化パターンは少なくとも２つのコード化ブロックを含み、
前記マーキングパターン領域の前記少なくとも２つのマーキングポイントの間のコード化パターンを識別して、前記コード化パターンに対応するコード化データを取得する前記命令は、
前記マーキングパターン領域の少なくとも２つのマーキングポイントの間の前記コード化ブロックの色、数及び／又は配列順序を識別して、前記コード化パターンに対応するコード化データを取得するための命令を含む、ことを特徴とする請求項１３に記載のロボット。
【請求項１５】
前記１つ以上のコンピュータプログラムは、
前記少なくとも２つのマーキングポイントの第１画素座標データに基づいて、前記少なくとも２つのマーキングポイントの間の第２距離データを計算するための命令と、
前記第２距離データが予め設定された距離条件を満たすか否かを判断するための命令と、
前記第２距離データが前記予め設定された距離条件を満たさないと決定することに応答して少なくとも２つのマーキングポイントを再識別するための命令と、
前記第２距離データが予め設定された距離条件を満たすと決定することに応答して、前記カメラのパラメータ及び前記第１画素座標データに基づいて、前記少なくとも２つのマーキングポイントと前記カメラとの第１距離データを取得するステップを実行するための命令とをさらに含む、ことを特徴とする請求項１３に記載のロボット。
【請求項１６】
前記マーキングポイントのワールド座標における第１物理座標データ及び前記第１距離データに基づいて、前記ロボットの前記第２座標データを計算するための前記命令は、
前記少なくとも２つのマーキングポイントのワールド座標における第１物理座標データ及び前記第１距離データに基づいて、三辺測量位置決め方法により、前記ロボットのワールド座標における第２座標データを計算するための命令を含む、ことを特徴とする請求項１５に記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本願はロボット技術の分野に関し、特に位置決め方法、ロボット及びコンピューター記憶媒体に関する。
【背景技術】
【０００２】
センサー技術、ネットワーク技術及び画像技術の発展に伴い、視覚に基づく位置決め技術は急速に発展している新しい分野となり、ロボットナビゲーション、航空宇宙航空機の位置決め及び捕捉、仮想現実などの技術においてますます広く使用されている。
【０００３】
位置決め技術は、単眼位置決め技術、両眼位置決め技術、及び多眼位置決め技術を含む。その中で、単眼位置決め技術は、その簡単なシステム及び低コストのために小型ロボットの位置決めに広く使用されている。
【０００４】
しかしながら、小型ロボットのサイズが小さいため、位置決め技術に必要な計算量は、小型ロボットのプロセッサーに大きな負担をかける。
【発明の概要】
【０００５】
本願は、位置決め方法、ロボット及びコンピューター記憶媒体を提供するものであり、その主な技術課題は、単眼視覚位置決めの計算量をいかにして低減するかである。
【０００６】
上記技術課題を解決するために、本願は位置決め方法を提供する。位置決め方法はロボットに適用される。ロボットはカメラを含む。その位置決め方法は、
マーキングパターン領域を含む予め設定された領域の写真を撮影するステップと、
マーキングパターン領域の少なくとも２つのマーキングポイントを識別して、マーキングポイントの第１座標データを取得するステップと、
カメラのパラメータ及びマーキングポイントの第１座標データに基づいて、ロボットのワールド座標における第２座標データを計算するステップと、
マーキングポイントの第１座標データ及びロボットのワールド座標における第２座標データに基づいて、ロボットのワールド座標における角度データを計算するステップとを含む。
【０００７】
上記技術課題を解決するために、本願はロボットをさらに提供する。そのロボットは、カメラと、メモリと、カメラ及びメモリにそれぞれ接続されたプロセッサーとを含む。
カメラは、マーキングパターン領域を含む予め設定された領域の写真を撮影するために使用される。
プロセッサーは、マーキングパターン領域の少なくとも２つのマーキングポイントを識別して、マーキングポイントの第１座標データを取得するために使用される。プロセッサーはまた、カメラのパラメータ及びマーキングポイントの第１座標データに基づいて、ロボットのワールド座標における第２座標データを計算するために使用される。プロセッサーはさらに、マーキングポイントの第１座標データ及びロボットのワールド座標における第２座標データに基づいて、ロボットのワールド座標における角度データを計算するために使用される。
メモリは、プロセッサーのデータを記憶するために使用される。
【０００８】
上記技術課題を解決するために、本願はコンピューター記憶媒体を更に提供する。そのコンピューター記憶媒体は、コンピュターブログラムを記憶するために使用される。上記位置決め方法のステップを実現するためにコンピュターブログラムを実行することができる。
【０００９】
従来技術と比較して、本願の有益な効果は以下のとおりである。その位置決め方法は以下のステップを含む。マーキングパターン領域を含む予め設定された領域の写真を撮影する。マーキングパターン領域の少なくとも２つのマーキングポイントを識別し、マーキングポイントの第１座標データを取得する。撮影したマーキングパターンを識別することにより、マーキングポイントの画素データ及び物理データを取得することができ、画素データにより物理データを取得するための計算量を節約することができる。カメラのパラメータ及びマーキングポイントの第１座標データに基づいて、ロボットのワールド座標における第２座標データを計算する。マーキングポイントの第１座標データ及びロボットのワールド座標における第２座標データに基づいて、ロボットのワールド座標における角度データを計算する。ロボットのワールド座標における角度データにより、ロボットの姿勢を取得することができる。上記に示す方法により、小型ロボットは単眼視覚位置決めを迅速に行うことができ、位置決めの計算量を低減することができる。
【図面の簡単な説明】
【００１０】
以下、本発明の実施例の技術的手段を更に詳細に説明するために、実施例の説明に必要な図面を簡単に説明する。当然のことながら、下記の説明における図面は本発明の幾つかの実施例に過ぎず、当業者であれば、創造的な労働をしない前提で、これらの図面に基づいて他の図面を得ることができる。ここで、
【図１】本願の位置決め方法の第１実施例のフローチャートである。
【図２】図１のロボットの構造模式図である。
【図３】本願の位置決め方法の第２実施例のフローチャートである。
【図４−１】図３の画像領域をマーキングした模式図である。
【図４−２】図３の画像領域をマーキングした模式図である。
【図５】本願の位置決め方法の第３実施例のフローチャートである。
【図６】本願のロボットの一実施例の構造模式図である。
【図７】本願のコンピューター記憶媒体の一実施例の構造模式図である。
【発明を実施するための形態】
【００１１】
以下では、本願の実施例の添付図面を参照しながら、本願の実施例の技術的解決手段を明確かつ完全に説明する。当然のことながら、ここで説明する実施例は本願の実施例の全てではなく一部にすぎない。当業者が創造的な作業なしに本願の実施例に基づいて得られる全ての他の実施例は、本願の保護範囲に含まれるべきである。
【００１２】
図１及び図２を参照されたい。図１は本願の位置決め方法の第１実施例のフローチャートである。図２は図１のロボットの構造模式図である。
【００１３】
本実施例の位置決め方法はロボット２００に適用される。図２に示すように、ロボット２００は少なくともカメラ２１を含み、カメラ２１は、例えば、ロボット２００の頭部に配置される。小型ロボット２００では、カメラ２１の位置及び角度は、小型ロボット２００全体の位置及び角度に近似する。小型ロボット２００は、本実施例の位置決め方法によって、マップの座標系に対する小型ロボット２００の姿勢を取得することができる。
【００１４】
図１に示すように、位置決め方法はＳ１１〜Ｓ１４を含む。
Ｓ１１では、マーキングパターン領域を含む予め設定された領域の写真を撮影する。
ロボット２００は、マーキングツール上に置かれる（図示せず）。マーキングツールは、碁盤目を有するマーキングプレート又はマーキングペーパーである。マーキングツールはマーキングパターン領域を含む。具体的に、ロボット２００はマーキングパターン領域内に置かれる。
【００１５】
ロボット２００は、マーキングパターン領域の中央、又はマーキングパターン領域内の任意の位置に置かれる。ロボット２００内に設けられたカメラ２１は写真を撮影する。カメラ２１は、マーキングパターン領域の異なる角度及び異なる距離を含む写真を取得し、少なくともマーキングパターンの一部が写真に表示される。
【００１６】
Ｓ１２では、マーキングパターン領域の少なくとも２つのマーキングポイントを識別し、マーキングポイントの第１座標データを取得する。
【００１７】
ロボット２００は、写真内のマーキングパターン領域の少なくとも２つのマーキングポイントを識別して、識別したマーキングポイントの第１座標データを取得する。マーキングポイントの第１座標データは少なくともワールド座標系におけるマーキングポイントの座標データを含む。
【００１８】
Ｓ１３では、カメラのパラメータ及びマーキングポイントの第１座標データに基づいて、ロボットのワールド座標における第２座標データを計算する。
【００１９】
カメラ２１のパラメータは、カメラ２１自体の技術的パラメータや、撮影時に設定された例えば、焦点距離、拡大倍率及び解像度などのカメラ２１のパラメータを含む。ロボット２００は、カメラ２１のパラメータ（内部パラメータ及び外部パラメータ）とステップＳ１２で取得されたマーキングポイントの第１座標データに基づいて、ロボット２００のワールド座標における第２座標データを光学原理又は座標変換などにより計算することができる。内部パラメータは、カメラ２１自体の技術的パラメータや撮影時に設定されたカメラ２１のパラメータを含む。外部パラメータは、カメラ２１の光学中心とロボットの座標との位置関係である。
【００２０】
Ｓ１４では、マーキングポイントの第１座標データ及びロボットのワールド座標における第２座標データに基づいて、ロボットのワールド座標における角度データを計算する。
【００２１】
ロボット２００は、マーキングポイントのワールド座標における第１座標データ及びロボット２００のワールド座標における第２座標データに基づいて、ロボット２００のワールド座標における角度データを計算する。ロボット２００は、ワールド座標における角度データをロボット２００の姿勢データに変換する。カメラ２１の位置及び角度は、小型ロボット２００全体の位置及び角度に近似する。ロボット２００の姿勢データは、ロボット２００自体の表示画面（図示せず）によって表示されてもよいし、記憶及び処理のために無線伝送によってクラウドサーバー又はコンピューターに伝送されてもよい。
【００２２】
具体的には、ロボット２００は、マーキングポイントのワールド座標における第１座標データ及びロボット２００のワールド座標における第２座標データに基づいて、三角関数及び余弦定理を用いて、ロボット２００のワールド座標における角度を計算することができる。
【００２３】
本実施例の位置決め方法では、ロボット２００は、撮影した写真により、少なくともマーキングポイントのワールド座標における第１座標データを取得する。次に、マーキングポイントのワールド座標における第１座標データに基づいて、ロボット２００のワールド座標における第２座標データを取得する。最後に、第１座標データ及び第２座標データに基づいて、ロボット２００の角度データ及び姿勢データを取得する。上記位置決め方法によれば、ロボット２００は、単眼視覚位置決めを行う際に、マーキングポイントの座標データを識別することによって座標変換時の計算量を低減することができる。
【００２４】
本願は別の位置決め方法を更に提供する。詳細については、図３及び図４を参照されたい。図３は、本願の位置決め方法の第２実施例のフローチャートである。図４は、図３の画像領域をマーキングした模式図である。本実施例の位置決め方法もロボット２００に適用される。ロボット２００の具体的な構造については図２を参照されたく、ここでは贅言しない。
【００２５】
図３に示すように、本実施例の位置決め方法は以下のステップＳ３１〜Ｓ３８を含む。
Ｓ３１では、カメラのパラメータを校正する。
カメラ２１のパラメータは少なくとも拡大倍率、解像度、及び焦点距離などを含む。
【００２６】
Ｓ３２では、カメラは前記ロボットの底部方向に対して固定された予め設定された角度で、予め設定された領域の写真を撮影する。予め設定された角度は９０°未満である。
【００２７】
カメラ２１はロボット２００の底部方向に対して固定された予め設定された角度で、予め設定された領域の写真を撮影する。予め設定された角度は９０°未満である。本実施例では、予め設定された角度の大きさは、マーキングツールのマーキング画像領域の大きさ及びロボット２００の配置位置に依存する。具体的には、カメラ２１は、予め設定された角度に従って、マーキング画像の各角度及び各位置の写真を撮影することができる。
【００２８】
Ｓ３３では、マーキングパターン領域の少なくとも２つのマーキングポイントを識別し、マーキングポイントの第１画素座標データを取得する。
【００２９】
ロボット２００は、撮影された写真によってマーキングパターン領域の少なくとも２つのマーキングポイントを識別して、写真上のマーキングポイントの第１画素座標データを取得する。第１画素座標は、画素座標系におけるマーキングポイントの２次元座標である。
【００３０】
Ｓ３４では、カメラのパラメータ及び第１画素座標データに基づいて、マーキングポイントとカメラとの第１距離データを取得する。
【００３１】
ロボット２００は、カメラ２１のパラメータに基づいて、マーキングポイントの第１画素座標を、ロボット座標におけるマーキングポイントの座標に変換することによって、マーキングポイントからロボット２００までの距離を取得する。
【００３２】
具体的には、カメラ２１の光学中心の座標を原点として、カメラ２１のパラメータに基づいて、各マーキングポイントの第１画素座標を、光学中心に対する物理座標（ロボット座標におけるマーキングポイントの物理座標）に変換することができる。光学中心とマーキングポイントの物理座標は、直線で結ぶことができる。マーキングポイントに対応する位置の高さ（例えば、マップ平面又はある既知の高さ）に基づいて、直線と平面との交点、即ち、マーキングポイントのカメラ２１の光学中心の座標系に対する物理座標を計算する。その後、カメラ２１の光学中心とロボット２００との位置関係に応じて、マーキングポイントの第１画素座標をロボット座標系における座標に変換する。
【００３３】
具体的には、例えば、マーキングポイントの第１画素座標は（ｕ、ｖ）であり、ロボット２００は、まず第１画素座標（ｕ、ｖ）を第１画像座標（ｘ、ｙ）に変換する。画像座標系は、ＣＣＤ画像平面の中心を座標原点とし、Ｘ軸とＹ軸はそれぞれ画像平面の２つの垂直な辺と平行であり、座標値は（ｘ、ｙ）によって表される。第１画素座標（ｕ、ｖ）と第１画像座標（ｘ、ｙ）との変換関係は以下のとおりである。
2020053008.tif 000003
2020053008.tif 000004
は、画素座標系における画像座標系の原点の座標であり、ｄｘとｄｙはそれぞれ画像平面のｘ方向とｙ方向における各画素の物理的サイズである。
【００３４】
ロボット２００は、マーキングポイントの第１画像座標（ｘ、ｙ）を、ロボット座標系におけるマーキングポイントの座標（ＸＣ，ＹＣ，ＺＣ）に変換する。変換関係は以下のとおりである。
2020053008.tif 000005
ｆは、カメラ２１の焦点距離である。
【００３５】
ロボット２００は、ロボット座標系におけるマーキングポイントの座標（ＸＣ，ＹＣ，ＺＣ）とロボット座標系の原点（０，０，０）との距離を計算することで、マーキングポイントとカメラ２１との第１距離データを取得することができる。
【００３６】
本実施例では、カメラ２１の位置及び角度は、小型ロボット２００全体の位置及び角度に近似する。カメラ２１の光学中心に対するマーキングポイントの物理座標は、ロボット座標系におけるマーキングポイントの物理座標に近似する。他の実施例において、カメラ２１の位置及び角度がロボット２００全体の位置及び角度に近似することができない場合、カメラ２１の光学中心に対するマーキングポイント物理座標に対して簡単な３次元座標系変換を行うことによって、ロボット座標系におけるマーキングポイントの物理座標を取得することができる。ここでは贅言しない。
【００３７】
Ｓ３５では、マーキングパターン領域の少なくとも２つのマーキングポイントの間のコード化パターンを識別して、コード化パターンに対応するコード化データを取得する。
【００３８】
ロボット２００は、写真におけるマーキングパターン領域の少なくとも２つのマーキングポイントの間のコード化パターンを識別して、コード化パターンに対応するコード化データを取得する。
【００３９】
具体的には、コード化パターンは少なくとも２つのコード化ブロックを含む。隣接するマーキングポイントの間のコード化ブロックの色、数及び／又は配列順序が異なる場合、それに対応するコード化データも異なる。この場合、ステップS３５は、前記マーキングパターン領域の少なくとも２つのマーキングポイントの間の前記コード化ブロックの色、数及び／又は配列順序を識別して、前記コード化パターンに対応するコード化データを取得するステップを含み得る。
【００４０】
図４は、図３に示される位置決め方法のマーキングパターン領域の模式的なブロック図である。図４−１に示すように、マーキングパターン領域４００の内輪郭には碁盤４１が設けられ、ロボット２００は、碁盤４１の中央交点又は任意の交点に置かれる。マーキングパターン領域４００の外輪郭には複数のマーキングポイント４２が設けられる。２個毎のマーキングポイント４２の間にはｎ個のコード化ブロックが設けられる。ｎ個のコード化ブロックは、ｎ１個の第１コード化ブロック４３、及びｎ２個の第２コード化ブロック４４を含む。マーキングパターン領域４００の外輪郭の４つ頂点にマーキングポイント４２が配置することができる。各２つの隣接するマーキングポイント４２の間におけるコード化ブロックの数は同じであるべきである。各２つの隣接するマーキングポイント４２の間の距離は同じであってもよく、異なってもよく、かつ各２つの隣接するコード化ブロックの間の距離も同じであってもよく、異なってもよく、かつ碁盤４１の格子に対応しなくてもよい。
【００４１】
第１コード化ブロック４３と第２コード化ブロック４４は、形状が同じである場合、色によって区別される。例えば、第１コード化ブロック４３は黒色のコード化ブロックであり、第２コード化ブロック４４は白色のコード化ブロックである。第１コード化ブロック４３と第２コード化ブロック４４は、色が同じである場合、形状領域によって区別される。例えば、第１コード化ブロック４３は長方形であり、第２コード化ブロック４４は三角形である。
【００４２】
コード化ブロックの配列順序は２進数で計算される。第１コード化ブロック４３及び第２コード化ブロック４４は、ｎビットの２進数コードと見ることができる。例えば、第１コード化ブロック４３は「１」であり、第２コード化ブロック４４は「０」であり、ｎ個のコード化ポイントは最大２n種類のコードを構成することができる。コード化時に、所望のマーキングパターン領域４００の全長及び２つのマーキングポイント４２間の適切な距離に基づいて、適切なｎ値が選択される。
【００４３】
他の実施例では、マーキングパターン領域４００は１つのコードのみを含んでもよく、連続した複数のコードを含んでもよい。マーキングパターンは、マーキングパターン領域４００の縁に限定されず、マーキングパターン領域４００の内部にあってもよい。マーキングパターンは、前端と後端がつながることに限定されず、互いに交差してもよい（図４−２を参照）。マーキングパターンは、配置時に水平面に対して平行又は水平面に対して垂直とすることができ、ここでは贅言しない。
【００４４】
Ｓ３６では、予め記憶された記録から、コード化データに対応するコード化パターンに隣接するマーキングポイントのワールド座標における第１物理座標データを検索する。
【００４５】
ステップＳ３５で取得されたコード化データに基づいて、ロボット２００は、予め記憶された記録から、対応するコード化パターンに隣接するマーキングポイントのワールド座標における第１物理座標データを検索する。予め記憶された記録は、コード化データと隣接するマーキングポイントの物理座標との間のマッピング関係を含み、当然のことながら、マーキングポイント画素データ、コード化パターン、コード化データ、及び物理座標データなどのマッピング関係も含み得る。
【００４６】
ロボット２００は、全てのマーキングポイントの第１物理座標データを取得するか、又は写真の左右両端及び上下両端の４つのマーキングポイントの第１物理座標データを取得する。
【００４７】
Ｓ３７では、マーキングポイントのワールド座標における第１物理座標データ及び第１距離データに基づいて、三辺測量位置決め方法により、ロボットのワールド座標における第２座標データを取得する。
【００４８】
ロボット２００は、ステップＳ３４及びステップＳ３６において、マーキングポイントのワールド座標における第１物理座標データ及び第１距離データを取得し、その後、三辺測量位置決め方法により、ロボットのワールド座標における第２座標データを取得する。第２座標データは物理データである。
【００４９】
具体的には、本実施例では、３つのマーキングポイントの第１物理座標データを取得し、３つのマーキングポイントはすべて同一の水平面上にあり、ｚ座標の値は同じである。例えば、３つのマーキングポイント点Ａ、点Ｂ、及び点Ｃの座標はそれぞれＡ（ｘ１、ｙ１、ｚ１）、Ｂ（ｘ２、ｙ２、ｚ２）、及びＣ（ｘ３、ｙ３、ｚ３）である。点Ａ、点Ｂ、及び点Ｃをそれぞれ円心とし、ロボットが位置する座標Ｄをタグとして、各円心から測定されるタグまでの最も近い距離を半径として円を作成する。得られる３つの円の交点はＤ（ｘ、ｙ）となる。円Ａの半径はｄ１、円Ｂの半径はｄ２、円Ｃの半径はｄ３である。交点Ｄ（ｘ、ｙ）は、次の式から計算することができる。
（ｘ−ｘ１）２＋（ｙ−ｙ１）２＋（ｚ−ｚ１）２＝ｄ１２
（ｘ−ｘ２）２＋（ｙ−ｙ２）２＋（ｚ−ｚ２）２＝ｄ２２
（ｘ−ｘ３）２＋（ｙ−ｙ３）２＋（ｚ−ｚ３）２＝ｄ３２
円Ａ、円Ｂ及び円Ｃの間には次の３種類の関係がある。３つの円は２つずつ交差し、共有領域を有する。３つの円は２つずつ交差しているが、共有領域を有していない。３つの円は交差しない。すなわち、点Ａ、点Ｂ、及び点Ｃが同一直線上に存在していなければ、座標Ｄは一つの解として決定されるが、点Ａ、点Ｂ、及び点Ｃが同一直線上に存在する場合、座標Ｄは二つの解を有するため、合理的でない解を排除する必要がある。
【００５０】
３つの円が共有領域を有する場合、共有領域には必然的に３つの交点がある。３つの交点を用いて三角形を作成すると、測定されるタグの座標Ｄは三角形の内部中心座標である。
【００５１】
３つの円が２つずつ交差しているが共有領域を有していない場合、必然的に２つの互いに交差していない共有領域がある。２つの円の交差領域の２つの交点の結ぶ線の中点を取り、その後、これら３つの中点を用いて三角形を作成する。その内部中心は測定されるタグの内部中心座標Ｄである。
【００５２】
３つの円が交差しない場合、それらが破棄され、３つのマーキングポイントが採用される。３セットのマーキングポイントが全て交差しない場合、３つのマーキングポイントの位置を用いて三角形が作成される。その三角形の内部中心は測定されるタグの位置Ｄである。
【００５３】
他の実施例では、ロボット２００は２つのマーキングポイントを取得する。三辺測量位置決め方法によれば、２つの円は２つの交点を有する可能性があり、測定されるタグＤの計算位置の結果が２つある。地図の事前情報、即ち、マーキング画像領域内（マーキング画像領域上）の交点が有効であり、マーキング画像領域外の交点を無効とすることによって、そのうちの１つの位置座標が破棄される。
【００５４】
Ｓ３８では、マーキングポイントのワールド座標における第１物理座標データ及びロボットのワールド座標における第２座標データに基づいて、ロボットのワールド座標における角度データを計算する。
【００５５】
ステップＳ３８の技術的特徴は、上記ステップＳ１４の技術的特徴と実質的に同じであり、ここでは贅言しない。
【００５６】
上述した実施例の位置決め方法に基づいて、本実施例のロボット２００は、カメラパラメータ及び第１画素座標データに基づいてマーキングポイントとカメラの第１距離データを取得する。次に、マーキングポイントの間のコード化パターンを識別し、コード化データを取得し、コード化データによってマーキングポイントのワールド座標における第１物理座標データを抽出する。マーキングポイントのワールド座標における第１物理座標データ及び第１距離データに基づいて、三辺測量位置決め方法により、ロボットのワールド座標における第２座標データを取得する。上記位置決め方法によれば、ロボット２００は、単眼視覚位置決めを行う際に、マーキングポイントの座標データを識別することによって座標変換時の計算量を低減することができる。
【００５７】
本願は他の位置決め方法を更に提供する。詳細については図５を参照されたい。図５は、本願の位置決め方法の第３実施例のフローチャートである。本実施例の位置決め方法もロボット２００に適用される。ロボット２００の具体的な構造については図２を参照されたく、ここでは贅言しない。
【００５８】
図に示すように、上記実施例３に基づくと、ステップＳ３３の後にＳ３３１〜Ｓ３３４がさらに含まれる。
Ｓ３３１では、少なくとも２つのマーキングポイントの第１画素座標データに基づいて、マーキングポイントの間の第２距離データを取得する。
【００５９】
ロボット２００は、識別された隣接するマーキングポイントの第１画素座標データに基づいて、マーキングポイントの間の第２距離データ、即ち、実際の空間距離を計算する。
【００６０】
具体的には、識別されたマーキングポイントが同じ直線上にある場合、ロボット２００は、左右両端のマーキングポイントデータのみを取得する。識別されたマーキングポイントが同じ直線上にない場合、ロボット２００は、左右両端のマーキングポイントデータと、左右両端のマーキングポイントから最も遠いマーキングポイントデータとを含む３つのマーキングポイントデータを取得することによって、ロボット２００の位置計算精度を向上させる。
【００６１】
Ｓ３３２では、第２距離データが予め設定された距離条件を満たすか否かを判断する。
第２距離データ、即ち、２つのマーキングポイントの実際の空間距離が予め設定された距離範囲内にあるか否かを判断する。２つのマーキングポイントの実際の空間距離が予め設定された距離範囲内にある場合、ステップＳ３３４に進む。２つのマーキングポイントの実際の空間距離が予め設定された距離範囲内にない場合、ステップＳ３３３に進む。予め設定された距離は、マーキングポイントを取得するための一つの基準である。ロボット２００により取得されたマーキングポイントの実際の空間距離が予め設定された距離範囲外である場合、これらのマーキングポイントによって算出されたマーキングポイントとカメラの第１距離データの精度が低い。従って、計算の精度を向上させるために、ロボット２００は、予め設定された距離範囲内にある実際の空間距離を有する２つ以上のマーキングポイントを取得する必要がある。
【００６２】
Ｓ３３３では、第２距離データが予め設定された距離条件を満たさない場合、マーキングポイントを再識別する。
第２距離データが予め設定された距離条件を満たさない場合、ロボット２００は、これらの２つのマーキングポイントを破棄し、他のマーキングポイントを再識別し、取得された２つのマーキングポイントの空間距離が予め設定された距離条件を満たすまでステップＳ３３１及びステップＳ３３２により再判断する。
【００６３】
Ｓ３３４では、第２距離データが予め設定された距離条件を満たす場合、カメラのパラメータ及び第１画素座標データに基づいて、マーキングポイントとカメラとの第１距離データを取得するステップを実行する。
【００６４】
実施例３の位置決め方法に基づいて、本実施例は、マーキングポイントの実際の空間距離が予め設定された距離範囲内にあることを保証するように、取得されたマーキングポイントに対して条件判断を行い、ロボットの位置計算の精度を提供する。
【００６５】
本願はロボットを更に提供する。詳細については、図６を参照されたい。図６は本願のロボットの一実施例の構造模式図である。
【００６６】
ロボット６００は、上記位置決め方法の実施例に開示されたロボットである。ロボット６００は少なくともカメラ６１、メモリ６２及びプロセッサー６３を含む。プロセッサー６３は、カメラ６１とメモリ６２にそれぞれ接続される。
【００６７】
カメラ６１は、マーキングパターン領域を含む予め設定された領域の写真を撮影するために使用される。
プロセッサー６３は、マーキングパターン領域の少なくとも２つのマーキングポイントを識別して、マーキングポイントの第１座標データを取得するために使用される。プロセッサー６３はまた、カメラのパラメータ及びマーキングポイントの第１座標データに基づいて、ロボットのワールド座標における第２座標データを計算するために使用される。プロセッサー６３はさらに、マーキングポイントの第１座標データ及びロボットのワールド座標における第２座標データに基づいて、ロボットのワールド座標における角度データを計算するために使用される。
メモリ６２は、カメラパラメータ、写真データ、マーキングポイントの第１座標データ、ロボット６００のワールド座標における第２座標データ、及びロボット６００のワールド座標における角度データなどを含むプロセッサー６３及びカメラ６１のデータを記憶するために使用される。
【００６８】
本実施例では、プロセッサー６３はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置）とも呼ばれる。プロセッサー６３は、信号処理機能を有する集積回路チップであってもよい。プロセッサー６３は、汎用プロセッサー、デジタルシグナルプロセッサー（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は他のプログラマブルロジックデバイス、ディスクリートゲート若しくはトランジスタロジックデバイス、  ディスクリートハードウェアコンポーネントであってもよい。汎用プロセッサーはマイクロプロセッサーであってもよく、又はプロセッサー６３は任意の従来のプロセッサーなどであってもよい。
【００６９】
本願はコンピューター記憶媒体を更に提供する。図７に示すように、コンピューター記憶媒体７００はコンピュターブログラム７１を記憶するために使用される。上記実施例の位置決め方法のステップを実現するためにコンピュターブログラムを実行することができる。
【００７０】
本願の位置決め方法の実施例に関与する方法は、ソフトウェア機能ユニットの形式で存在し、独立した製品として販売又は使用されるとき、例えば、コンピューター読み取り可能な記憶媒体のような装置７００内に記憶することができる。そのような理解に基づいて、本願の技術的手段の本質的な部分、即ち、従来技術に貢献する部分、又はこの技術的手段の全部若しくは一部は、ソフトウェア製品の形式で表すことができる。このコンピュータソフトウェア製品は、記憶媒体に記憶され、コンピューター機器（パーソナルコンピューター、サーバ又はネットワーク機器などであってもよい）又はプロセッサー（ｐｒｏｃｅｓｓｏｒ）に本発明の各実施例に記載の方法の全部若しくは一部のステップを実行させる複数の命令を含む。前記記憶媒体は、ＵＳＢメモリ、リムーバブルハードディスク、読み取り専用メモリ（ＲＯＭ、Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ディスクまたは光ディスクなどの様々なプログラム・コードを記憶可能である媒体を含む。
【００７１】
以上の説明は本願に係る実施形態に過ぎず、本願の保護範囲を制限するものではない。本願の明細書及び添付図面によって作成したすべての同等構造又は同等フローの変更を、直接又は間接的に他の関連する技術分野に実施することは、いずれも同じ理由により本願の保護範囲内に含まれるべきである。
【図１】
2020053008.tif 000006
【図２】
2020053008.tif 000007
【図３】
2020053008.tif 000008
【図４−１】
2020053008.tif 000009
【図４−２】
2020053008.tif 000010
【図５】
2020053008.tif 000011
【図６】
2020053008.tif 000012
【図７】
2020053008.tif 000013