(58)【調査した分野】(Int.Cl.,DB名)
前記マーキングパターン領域の少なくとも2つのマーキングポイントを識別し、前記少なくとも2つのマーキングポイントの第1画素座標データを取得するステップの後に、
少なくとも2つの前記マーキングポイントの第1画素座標データに基づいて、前記マーキングポイントの間の第2距離データを取得するステップと、
第2距離データが予め設定された距離条件を満たすか否かを判断するステップと、
第2距離データが予め設定された距離条件を満たさない場合、前記マーキングポイントを再識別するステップと、
第2距離データが予め設定された距離条件を満たす場合、前記カメラのパラメータ及び前記第1画素座標データに基づいて、前記マーキングポイントと前記カメラとの第1距離データを取得するステップを実行するステップとをさらに含む、ことを特徴とする請求項5に記載の位置決め方法。
前記マーキングポイントのワールド座標における第1物理座標データ及び前記第1距離データに基づいて、前記ロボットのワールド座標における第2座標データを取得するステップはさらに、
前記マーキングポイントのワールド座標における第1物理座標データ及び前記第1距離データに基づいて、三辺測量位置決め方法により、前記ロボットのワールド座標における第2座標データを取得するステップを含む、ことを特徴とする請求項7に記載の位置決め方法。
前記マーキングポイントのワールド座標における第1物理座標データ及び前記第1距離データに基づいて、前記ロボットの前記第2座標データを計算するための前記命令は、
前記少なくとも2つのマーキングポイントのワールド座標における第1物理座標データ及び前記第1距離データに基づいて、三辺測量位置決め方法により、前記ロボットのワールド座標における第2座標データを計算するための命令を含む、ことを特徴とする請求項15に記載のロボット。
【発明を実施するための形態】
【0011】
以下では、本願の実施例の添付図面を参照しながら、本願の実施例の技術的解決手段を明確かつ完全に説明する。当然のことながら、ここで説明する実施例は本願の実施例の全てではなく一部にすぎない。当業者が創造的な作業なしに本願の実施例に基づいて得られる全ての他の実施例は、本願の保護範囲に含まれるべきである。
【0012】
図1及び
図2を参照されたい。
図1は本願の位置決め方法の第1実施例のフローチャートである。
図2は
図1のロボットの構造模式図である。
【0013】
本実施例の位置決め方法はロボット200に適用される。
図2に示すように、ロボット200は少なくともカメラ21を含み、カメラ21は、例えば、ロボット200の頭部に配置される。小型ロボット200では、カメラ21の位置及び角度は、小型ロボット200全体の位置及び角度に近似する。小型ロボット200は、本実施例の位置決め方法によって、マップの座標系に対する小型ロボット200の姿勢を取得することができる。
【0014】
図1に示すように、位置決め方法はS11〜S14を含む。
S11では、マーキングパターン領域を含む予め設定された領域の写真を撮影する。
ロボット200は、マーキングツール上に置かれる(図示せず)。マーキングツールは、碁盤目を有するマーキングプレート又はマーキングペーパーである。マーキングツールはマーキングパターン領域を含む。具体的に、ロボット200はマーキングパターン領域内に置かれる。
【0015】
ロボット200は、マーキングパターン領域の中央、又はマーキングパターン領域内の任意の位置に置かれる。ロボット200内に設けられたカメラ21は写真を撮影する。カメラ21は、マーキングパターン領域の異なる角度及び異なる距離を含む写真を取得し、少なくともマーキングパターンの一部が写真に表示される。
【0016】
S12では、マーキングパターン領域の少なくとも2つのマーキングポイントを識別し、マーキングポイントの第1座標データを取得する。
【0017】
ロボット200は、写真内のマーキングパターン領域の少なくとも2つのマーキングポイントを識別して、識別したマーキングポイントの第1座標データを取得する。マーキングポイントの第1座標データは少なくともワールド座標系におけるマーキングポイントの座標データを含む。
【0018】
S13では、カメラのパラメータ及びマーキングポイントの第1座標データに基づいて、ロボットのワールド座標における第2座標データを計算する。
【0019】
カメラ21のパラメータは、カメラ21自体の技術的パラメータや、撮影時に設定された例えば、焦点距離、拡大倍率及び解像度などのカメラ21のパラメータを含む。ロボット200は、カメラ21のパラメータ(内部パラメータ及び外部パラメータ)とステップS12で取得されたマーキングポイントの第1座標データに基づいて、ロボット200のワールド座標における第2座標データを光学原理又は座標変換などにより計算することができる。内部パラメータは、カメラ21自体の技術的パラメータや撮影時に設定されたカメラ21のパラメータを含む。外部パラメータは、カメラ21の光学中心とロボットの座標との位置関係である。
【0020】
S14では、マーキングポイントの第1座標データ及びロボットのワールド座標における第2座標データに基づいて、ロボットのワールド座標における角度データを計算する。
【0021】
ロボット200は、マーキングポイントのワールド座標における第1座標データ及びロボット200のワールド座標における第2座標データに基づいて、ロボット200のワールド座標における角度データを計算する。ロボット200は、ワールド座標における角度データをロボット200の姿勢データに変換する。カメラ21の位置及び角度は、小型ロボット200全体の位置及び角度に近似する。ロボット200の姿勢データは、ロボット200自体の表示画面(図示せず)によって表示されてもよいし、記憶及び処理のために無線伝送によってクラウドサーバー又はコンピューターに伝送されてもよい。
【0022】
具体的には、ロボット200は、マーキングポイントのワールド座標における第1座標データ及びロボット200のワールド座標における第2座標データに基づいて、三角関数及び余弦定理を用いて、ロボット200のワールド座標における角度を計算することができる。
【0023】
本実施例の位置決め方法では、ロボット200は、撮影した写真により、少なくともマーキングポイントのワールド座標における第1座標データを取得する。次に、マーキングポイントのワールド座標における第1座標データに基づいて、ロボット200のワールド座標における第2座標データを取得する。最後に、第1座標データ及び第2座標データに基づいて、ロボット200の角度データ及び姿勢データを取得する。上記位置決め方法によれば、ロボット200は、単眼視覚位置決めを行う際に、マーキングポイントの座標データを識別することによって座標変換時の計算量を低減することができる。
【0024】
本願は別の位置決め方法を更に提供する。詳細については、
図3及び
図4を参照されたい。
図3は、本願の位置決め方法の第2実施例のフローチャートである。
図4は、
図3の画像領域をマーキングした模式図である。本実施例の位置決め方法もロボット200に適用される。ロボット200の具体的な構造については
図2を参照されたく、ここでは贅言しない。
【0025】
図3に示すように、本実施例の位置決め方法は以下のステップS31〜S38を含む。
S31では、カメラのパラメータを校正する。
カメラ21のパラメータは少なくとも拡大倍率、解像度、及び焦点距離などを含む。
【0026】
S32では、カメラは前記ロボットの底部方向に対して固定された予め設定された角度で、予め設定された領域の写真を撮影する。予め設定された角度は90°未満である。
【0027】
カメラ21はロボット200の底部方向に対して固定された予め設定された角度で、予め設定された領域の写真を撮影する。予め設定された角度は90°未満である。本実施例では、予め設定された角度の大きさは、マーキングツールのマーキング画像領域の大きさ及びロボット200の配置位置に依存する。具体的には、カメラ21は、予め設定された角度に従って、マーキング画像の各角度及び各位置の写真を撮影することができる。
【0028】
S33では、マーキングパターン領域の少なくとも2つのマーキングポイントを識別し、マーキングポイントの第1画素座標データを取得する。
【0029】
ロボット200は、撮影された写真によってマーキングパターン領域の少なくとも2つのマーキングポイントを識別して、写真上のマーキングポイントの第1画素座標データを取得する。第1画素座標は、画素座標系におけるマーキングポイントの2次元座標である。
【0030】
S34では、カメラのパラメータ及び第1画素座標データに基づいて、マーキングポイントとカメラとの第1距離データを取得する。
【0031】
ロボット200は、カメラ21のパラメータに基づいて、マーキングポイントの第1画素座標を、ロボット座標におけるマーキングポイントの座標に変換することによって、マーキングポイントからロボット200までの距離を取得する。
【0032】
具体的には、カメラ21の光学中心の座標を原点として、カメラ21のパラメータに基づいて、各マーキングポイントの第1画素座標を、光学中心に対する物理座標(ロボット座標におけるマーキングポイントの物理座標)に変換することができる。光学中心とマーキングポイントの物理座標は、直線で結ぶことができる。マーキングポイントに対応する位置の高さ(例えば、マップ平面又はある既知の高さ)に基づいて、直線と平面との交点、即ち、マーキングポイントのカメラ21の光学中心の座標系に対する物理座標を計算する。その後、カメラ21の光学中心とロボット200との位置関係に応じて、マーキングポイントの第1画素座標をロボット座標系における座標に変換する。
【0033】
具体的には、例えば、マーキングポイントの第1画素座標は(u、v)であり、ロボット200は、まず第1画素座標(u、v)を第1画像座標(x、y)に変換する。画像座標系は、CCD画像平面の中心を座標原点とし、X軸とY軸はそれぞれ画像平面の2つの垂直な辺と平行であり、座標値は(x、y)によって表される。第1画素座標(u、v)と第1画像座標(x、y)との変換関係は以下のとおりである。
は、画素座標系における画像座標系の原点の座標であり、dxとdyはそれぞれ画像平面のx方向とy方向における各画素の物理的サイズである。
【0034】
ロボット200は、マーキングポイントの第1画像座標(x、y)を、ロボット座標系におけるマーキングポイントの座標(X
C,Y
C,Z
C)に変換する。変換関係は以下のとおりである。
fは、カメラ21の焦点距離である。
【0035】
ロボット200は、ロボット座標系におけるマーキングポイントの座標(X
C,Y
C,Z
C)とロボット座標系の原点(0,0,0)との距離を計算することで、マーキングポイントとカメラ21との第1距離データを取得することができる。
【0036】
本実施例では、カメラ21の位置及び角度は、小型ロボット200全体の位置及び角度に近似する。カメラ21の光学中心に対するマーキングポイントの物理座標は、ロボット座標系におけるマーキングポイントの物理座標に近似する。他の実施例において、カメラ21の位置及び角度がロボット200全体の位置及び角度に近似することができない場合、カメラ21の光学中心に対するマーキングポイント物理座標に対して簡単な3次元座標系変換を行うことによって、ロボット座標系におけるマーキングポイントの物理座標を取得することができる。ここでは贅言しない。
【0037】
S35では、マーキングパターン領域の少なくとも2つのマーキングポイントの間のコード化パターンを識別して、コード化パターンに対応するコード化データを取得する。
【0038】
ロボット200は、写真におけるマーキングパターン領域の少なくとも2つのマーキングポイントの間のコード化パターンを識別して、コード化パターンに対応するコード化データを取得する。
【0039】
具体的には、コード化パターンは少なくとも2つのコード化ブロックを含む。隣接するマーキングポイントの間のコード化ブロックの色、数及び/又は配列順序が異なる場合、それに対応するコード化データも異なる。この場合、ステップS35は、前記マーキングパターン領域の少なくとも2つのマーキングポイントの間の前記コード化ブロックの色、数及び/又は配列順序を識別して、前記コード化パターンに対応するコード化データを取得するステップを含み得る。
【0040】
図4は、
図3に示される位置決め方法のマーキングパターン領域の模式的なブロック図である。
図4−1に示すように、マーキングパターン領域400の内輪郭には碁盤41が設けられ、ロボット200は、碁盤41の中央交点又は任意の交点に置かれる。マーキングパターン領域400の外輪郭には複数のマーキングポイント42が設けられる。2個毎のマーキングポイント42の間にはn個のコード化ブロックが設けられる。n個のコード化ブロックは、n1個の第1コード化ブロック43、及びn2個の第2コード化ブロック44を含む。マーキングパターン領域400の外輪郭の4つ頂点にマーキングポイント42が配置することができる。各2つの隣接するマーキングポイント42の間におけるコード化ブロックの数は同じであるべきである。各2つの隣接するマーキングポイント42の間の距離は同じであってもよく、異なってもよく、かつ各2つの隣接するコード化ブロックの間の距離も同じであってもよく、異なってもよく、かつ碁盤41の格子に対応しなくてもよい。
【0041】
第1コード化ブロック43と第2コード化ブロック44は、形状が同じである場合、色によって区別される。例えば、第1コード化ブロック43は黒色のコード化ブロックであり、第2コード化ブロック44は白色のコード化ブロックである。第1コード化ブロック43と第2コード化ブロック44は、色が同じである場合、形状領域によって区別される。例えば、第1コード化ブロック43は長方形であり、第2コード化ブロック44は三角形である。
【0042】
コード化ブロックの配列順序は2進数で計算される。第1コード化ブロック43及び第2コード化ブロック44は、nビットの2進数コードと見ることができる。例えば、第1コード化ブロック43は「1」であり、第2コード化ブロック44は「0」であり、n個のコード化ポイントは最大2
n種類のコードを構成することができる。コード化時に、所望のマーキングパターン領域400の全長及び2つのマーキングポイント42間の適切な距離に基づいて、適切なn値が選択される。
【0043】
他の実施例では、マーキングパターン領域400は1つのコードのみを含んでもよく、連続した複数のコードを含んでもよい。マーキングパターンは、マーキングパターン領域400の縁に限定されず、マーキングパターン領域400の内部にあってもよい。マーキングパターンは、前端と後端がつながることに限定されず、互いに交差してもよい(
図4−2を参照)。マーキングパターンは、配置時に水平面に対して平行又は水平面に対して垂直とすることができ、ここでは贅言しない。
【0044】
S36では、予め記憶された記録から、コード化データに対応するコード化パターンに隣接するマーキングポイントのワールド座標における第1物理座標データを検索する。
【0045】
ステップS35で取得されたコード化データに基づいて、ロボット200は、予め記憶された記録から、対応するコード化パターンに隣接するマーキングポイントのワールド座標における第1物理座標データを検索する。予め記憶された記録は、コード化データと隣接するマーキングポイントの物理座標との間のマッピング関係を含み、当然のことながら、マーキングポイント画素データ、コード化パターン、コード化データ、及び物理座標データなどのマッピング関係も含み得る。
【0046】
ロボット200は、全てのマーキングポイントの第1物理座標データを取得するか、又は写真の左右両端及び上下両端の4つのマーキングポイントの第1物理座標データを取得する。
【0047】
S37では、マーキングポイントのワールド座標における第1物理座標データ及び第1距離データに基づいて、三辺測量位置決め方法により、ロボットのワールド座標における第2座標データを取得する。
【0048】
ロボット200は、ステップS34及びステップS36において、マーキングポイントのワールド座標における第1物理座標データ及び第1距離データを取得し、その後、三辺測量位置決め方法により、ロボットのワールド座標における第2座標データを取得する。第2座標データは物理データである。
【0049】
具体的には、本実施例では、3つのマーキングポイントの第1物理座標データを取得し、3つのマーキングポイントはすべて同一の水平面上にあり、z座標の値は同じである。例えば、3つのマーキングポイント点A、点B、及び点Cの座標はそれぞれA(x1、y1、z1)、B(x2、y2、z2)、及びC(x3、y3、z3)である。点A、点B、及び点Cをそれぞれ円心とし、ロボットが位置する座標Dをタグとして、各円心から測定されるタグまでの最も近い距離を半径として円を作成する。得られる3つの円の交点はD(x、y)となる。円Aの半径はd1、円Bの半径はd2、円Cの半径はd3である。交点D(x、y)は、次の式から計算することができる。
(x−x
1)
2+(y−y
1)
2+(z−z
1)
2=d
12
(x−x
2)
2+(y−y
2)
2+(z−z
2)
2=d
22
(x−x
3)
2+(y−y
3)
2+(z−z
3)
2=d
32
円A、円B及び円Cの間には次の3種類の関係がある。3つの円は2つずつ交差し、共有領域を有する。3つの円は2つずつ交差しているが、共有領域を有していない。3つの円は交差しない。すなわち、点A、点B、及び点Cが同一直線上に存在していなければ、座標Dは一つの解として決定されるが、点A、点B、及び点Cが同一直線上に存在する場合、座標Dは二つの解を有するため、合理的でない解を排除する必要がある。
【0050】
3つの円が共有領域を有する場合、共有領域には必然的に3つの交点がある。3つの交点を用いて三角形を作成すると、測定されるタグの座標Dは三角形の内部中心座標である。
【0051】
3つの円が2つずつ交差しているが共有領域を有していない場合、必然的に2つの互いに交差していない共有領域がある。2つの円の交差領域の2つの交点の結ぶ線の中点を取り、その後、これら3つの中点を用いて三角形を作成する。その内部中心は測定されるタグの内部中心座標Dである。
【0052】
3つの円が交差しない場合、それらが破棄され、3つのマーキングポイントが採用される。3セットのマーキングポイントが全て交差しない場合、3つのマーキングポイントの位置を用いて三角形が作成される。その三角形の内部中心は測定されるタグの位置Dである。
【0053】
他の実施例では、ロボット200は2つのマーキングポイントを取得する。三辺測量位置決め方法によれば、2つの円は2つの交点を有する可能性があり、測定されるタグDの計算位置の結果が2つある。地図の事前情報、即ち、マーキング画像領域内(マーキング画像領域上)の交点が有効であり、マーキング画像領域外の交点を無効とすることによって、そのうちの1つの位置座標が破棄される。
【0054】
S38では、マーキングポイントのワールド座標における第1物理座標データ及びロボットのワールド座標における第2座標データに基づいて、ロボットのワールド座標における角度データを計算する。
【0055】
ステップS38の技術的特徴は、上記ステップS14の技術的特徴と実質的に同じであり、ここでは贅言しない。
【0056】
上述した実施例の位置決め方法に基づいて、本実施例のロボット200は、カメラパラメータ及び第1画素座標データに基づいてマーキングポイントとカメラの第1距離データを取得する。次に、マーキングポイントの間のコード化パターンを識別し、コード化データを取得し、コード化データによってマーキングポイントのワールド座標における第1物理座標データを抽出する。マーキングポイントのワールド座標における第1物理座標データ及び第1距離データに基づいて、三辺測量位置決め方法により、ロボットのワールド座標における第2座標データを取得する。上記位置決め方法によれば、ロボット200は、単眼視覚位置決めを行う際に、マーキングポイントの座標データを識別することによって座標変換時の計算量を低減することができる。
【0057】
本願は他の位置決め方法を更に提供する。詳細については
図5を参照されたい。
図5は、本願の位置決め方法の第3実施例のフローチャートである。本実施例の位置決め方法もロボット200に適用される。ロボット200の具体的な構造については
図2を参照されたく、ここでは贅言しない。
【0058】
図に示すように、上記実施例3に基づくと、ステップS33の後にS331〜S334がさらに含まれる。
S331では、少なくとも2つのマーキングポイントの第1画素座標データに基づいて、マーキングポイントの間の第2距離データを取得する。
【0059】
ロボット200は、識別された隣接するマーキングポイントの第1画素座標データに基づいて、マーキングポイントの間の第2距離データ、即ち、実際の空間距離を計算する。
【0060】
具体的には、識別されたマーキングポイントが同じ直線上にある場合、ロボット200は、左右両端のマーキングポイントデータのみを取得する。識別されたマーキングポイントが同じ直線上にない場合、ロボット200は、左右両端のマーキングポイントデータと、左右両端のマーキングポイントから最も遠いマーキングポイントデータとを含む3つのマーキングポイントデータを取得することによって、ロボット200の位置計算精度を向上させる。
【0061】
S332では、第2距離データが予め設定された距離条件を満たすか否かを判断する。
第2距離データ、即ち、2つのマーキングポイントの実際の空間距離が予め設定された距離範囲内にあるか否かを判断する。2つのマーキングポイントの実際の空間距離が予め設定された距離範囲内にある場合、ステップS334に進む。2つのマーキングポイントの実際の空間距離が予め設定された距離範囲内にない場合、ステップS333に進む。予め設定された距離は、マーキングポイントを取得するための一つの基準である。ロボット200により取得されたマーキングポイントの実際の空間距離が予め設定された距離範囲外である場合、これらのマーキングポイントによって算出されたマーキングポイントとカメラの第1距離データの精度が低い。従って、計算の精度を向上させるために、ロボット200は、予め設定された距離範囲内にある実際の空間距離を有する2つ以上のマーキングポイントを取得する必要がある。
【0062】
S333では、第2距離データが予め設定された距離条件を満たさない場合、マーキングポイントを再識別する。
第2距離データが予め設定された距離条件を満たさない場合、ロボット200は、これらの2つのマーキングポイントを破棄し、他のマーキングポイントを再識別し、取得された2つのマーキングポイントの空間距離が予め設定された距離条件を満たすまでステップS331及びステップS332により再判断する。
【0063】
S334では、第2距離データが予め設定された距離条件を満たす場合、カメラのパラメータ及び第1画素座標データに基づいて、マーキングポイントとカメラとの第1距離データを取得するステップを実行する。
【0064】
実施例3の位置決め方法に基づいて、本実施例は、マーキングポイントの実際の空間距離が予め設定された距離範囲内にあることを保証するように、取得されたマーキングポイントに対して条件判断を行い、ロボットの位置計算の精度を提供する。
【0065】
本願はロボットを更に提供する。詳細については、
図6を参照されたい。
図6は本願のロボットの一実施例の構造模式図である。
【0066】
ロボット600は、上記位置決め方法の実施例に開示されたロボットである。ロボット600は少なくともカメラ61、メモリ62及びプロセッサー63を含む。プロセッサー63は、カメラ61とメモリ62にそれぞれ接続される。
【0067】
カメラ61は、マーキングパターン領域を含む予め設定された領域の写真を撮影するために使用される。
プロセッサー63は、マーキングパターン領域の少なくとも2つのマーキングポイントを識別して、マーキングポイントの第1座標データを取得するために使用される。プロセッサー63はまた、カメラのパラメータ及びマーキングポイントの第1座標データに基づいて、ロボットのワールド座標における第2座標データを計算するために使用される。プロセッサー63はさらに、マーキングポイントの第1座標データ及びロボットのワールド座標における第2座標データに基づいて、ロボットのワールド座標における角度データを計算するために使用される。
メモリ62は、カメラパラメータ、写真データ、マーキングポイントの第1座標データ、ロボット600のワールド座標における第2座標データ、及びロボット600のワールド座標における角度データなどを含むプロセッサー63及びカメラ61のデータを記憶するために使用される。
【0068】
本実施例では、プロセッサー63はCPU(Central Processing Unit、中央処理装置)とも呼ばれる。プロセッサー63は、信号処理機能を有する集積回路チップであってもよい。プロセッサー63は、汎用プロセッサー、デジタルシグナルプロセッサー(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又は他のプログラマブルロジックデバイス、ディスクリートゲート若しくはトランジスタロジックデバイス、 ディスクリートハードウェアコンポーネントであってもよい。汎用プロセッサーはマイクロプロセッサーであってもよく、又はプロセッサー63は任意の従来のプロセッサーなどであってもよい。
【0069】
本願はコンピューター記憶媒体を更に提供する。
図7に示すように、コンピューター記憶媒体700はコンピュターブログラム71を記憶するために使用される。上記実施例の位置決め方法のステップを実現するためにコンピュターブログラムを実行することができる。
【0070】
本願の位置決め方法の実施例に関与する方法は、ソフトウェア機能ユニットの形式で存在し、独立した製品として販売又は使用されるとき、例えば、コンピューター読み取り可能な記憶媒体のような装置700内に記憶することができる。そのような理解に基づいて、本願の技術的手段の本質的な部分、即ち、従来技術に貢献する部分、又はこの技術的手段の全部若しくは一部は、ソフトウェア製品の形式で表すことができる。このコンピュータソフトウェア製品は、記憶媒体に記憶され、コンピューター機器(パーソナルコンピューター、サーバ又はネットワーク機器などであってもよい)又はプロセッサー(processor)に本発明の各実施例に記載の方法の全部若しくは一部のステップを実行させる複数の命令を含む。前記記憶媒体は、USBメモリ、リムーバブルハードディスク、読み取り専用メモリ(ROM、Read−Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、ディスクまたは光ディスクなどの様々なプログラム・コードを記憶可能である媒体を含む。
【0071】
以上の説明は本願に係る実施形態に過ぎず、本願の保護範囲を制限するものではない。本願の明細書及び添付図面によって作成したすべての同等構造又は同等フローの変更を、直接又は間接的に他の関連する技術分野に実施することは、いずれも同じ理由により本願の保護範囲内に含まれるべきである。
本願は、位置決め方法、ロボット及びコンピューター記憶媒体を提供する。その位置決め方法はロボットに適用され、ロボットはカメラを含む。その位置決め方法は、マーキングパターン領域を含む予め設定された領域の写真を撮影するステップと、マーキングパターン領域の少なくとも2つのマーキングポイントを識別し、各マーキングポイントの第1座標データを取得するステップと、カメラのパラメータ及びマーキングポイントの第1座標データに基づいて、ロボットのワールド座標における第2座標データを計算するステップと、マーキングポイントの第1座標データ及びロボットのワールド座標における第2座標データに基づいて、ロボットのワールド座標における角度データを計算するステップとを含む。上記位置決め方法により、小型ロボットは単眼視覚位置決めを迅速に行うことができ、位置決めの計算量を低減することができる。