本文へスキップ

LEAG Tech Blog

ARマーカとは? カメラで位置と傾きを測る仕組みと、製造・建設での使い方

リーグソリューションズ株式会社

例えば、作業台を移動したあとに、ロボットのつかむ位置を合わせ直したい。あるいは、離れた場所にある構造物の位置が、時間とともにどう変わるかを記録したい。こうした場面では、対象物が「どこにあるか」に加え、「どちらを向いているか」が必要になります。

その位置と傾きをカメラ画像から求める方法の一つが、ARマーカを使った計測です。対象物や周囲の基準位置にマーカを取り付け、画像の中での見え方を解析します。

この記事では、ARマーカに初めて触れる技術担当者に向けて、位置と傾きが分かる仕組みを紹介します。リーグソリューションズの高精度ARマーカを例に、模様と参照点の役割、何を基準に測るか、導入前に決めたい条件を順に見ていきましょう。

ARマーカで分かること:対象の識別と、3次元の位置・姿勢

ARマーカは、カメラが見つけやすいように、あらかじめ決めた模様を持たせた目印です。ARは「拡張現実」を意味し、実際の映像にCGなどを重ねる技術を指します。ARマーカは、その表示位置を決める用途で使われてきました。工業用途では、物体やカメラの位置・姿勢を求めるための視覚マーカとしても利用されます。

代表的なものにArUcoやAprilTagがあります。どちらもマーカを画像から検出し、その位置・姿勢を推定するためのソフトウェアが公開されています。リーグソリューションズでは、位置・姿勢の計測に向けた高精度マーカと計測ソフトウェアを提供しています。[ArUco/AprilTag]

距離だけでなく、傾きも求める

マーカの位置は、基準となる座標系に対して、X・Y・Zの3成分で表せます。姿勢は、物体がどちらを向いているかを示す情報です。例えば、ロール・ピッチ・ヨーという3つの回転角で表します。この位置3成分と回転3成分を合わせて、6DoF(6自由度)と呼びます。角度の軸や回転の順序はソフトウェアによって異なるため、結果を設備側へ渡す際は座標系の定義も確認します。

ロボットが部品をつかむ場面を考えてみてください。部品の中心位置が合っていても、部品が斜めを向いていれば、ハンドの角度も合わせる必要があります。位置と姿勢の両方を求めることが、こうした作業の手がかりになります。

なお、撮影した画像からまず得られるのは、カメラとマーカの相対的な位置・姿勢です。工場の設備座標や建物の座標で使うには、その基準とカメラ、またはマーカの位置関係をあらかじめ対応づけます。

QRコードとの違い:寸法が分かる目印から、どう距離を求めるか

白黒の模様が並んだ見た目から、QRコードを思い浮かべる方も多いでしょう。QRコードは、文字や数字などの情報を記録し、読み取るための二次元コードです。[デンソーウェーブ「QRコードとは?」]

一方、計測用のARマーカでは、どのマーカかを識別することと、画像の中で基準となる点を見つけることが中心になります。

着目する点 QRコード 計測に使うARマーカ
主な目的 記録された情報を読み取る 対象を識別し、位置・姿勢を求める基準にする
模様の役割 文字や数字などのデータを表す マーカの識別や、計測に使う点の検出を助ける
位置・姿勢を求める場合 寸法などの既知情報と、別途計測処理を組み合わせる マーカの設計情報に対応した計測処理を使う

QRコードも、実際の寸法やカメラの特性が分かれば、位置・姿勢を推定する目印として使えます。選ぶ際には、記録できる情報量に加えて、計測に使う点をどれだけ安定して検出できるかを確かめます。

ここで必要になるのが、マーカの実寸やカメラの焦点距離やレンズ歪みなどの情報です。同じ大きさに写っていても、「小さいマーカを近くで撮った」のか「大きいマーカを遠くで撮った」のかは、画像中の大きさだけでは決まりません。実際の寸法と画像上の見え方を対応させることで、距離の単位を持った計測ができます。

高精度ARマーカの2次元コードと4つの参照点は何を担当するか

2次元コードは「どのマーカか」、4つの参照点は「どこにあるか」

LEAGの高精度ARマーカは、ID番号を認識する2次元コードと、位置計測に使う4つの参照点を備えています。中央のコードで対象を識別し、その周囲にある点を画像から検出して、位置・姿勢の計算につなげます。[LEAG-Library取説1.15、§4.2.1–4.2.2]

ここで区別したいのは、IDが読めることと、必要な精度で測れることは別の確認項目だという点です。IDは分かっても、参照点が小さく写ったり、ぶれや反射で輪郭が不明瞭になったりすれば、計測値は不安定になります。実際の撮影条件で、検出と計測の両方を確かめます。

既知の参照点配置と、画像の中で検出した点の配置を対応させると、カメラに対するマーカの位置・姿勢を推定できます。一般的なARマーカにおいては、マーカの種類や撮影角度によって位置・姿勢を求めにくい条件があります。ここでは平面上のコードと4点の役割を扱い、特殊な光学パターンを備えた研究マーカの仕組みとは分けて説明します。

計測には、画像に加えて既知の寸法とカメラの情報が必要

基本構成は、計測対象に取り付けるマーカ、画像を取得するカメラ、画像を解析するソフトウェアです。条件が合えば、カメラ1台でマーカの位置・姿勢を求められます。

マーカをカメラで撮影し、画像中の参照点を検出して位置と姿勢を求める流れ。画像処理にはマーカの寸法・参照点配置とカメラの校正データを使う。
図1 ARマーカ計測の基本的な流れ。模様と参照点は説明用に簡略化しています。図を拡大

1. マーカとカメラの条件を登録する

使うマーカの種類や寸法を設定し、カメラの校正データを読み込みます。カメラの校正(キャリブレーション)は、焦点距離に関する情報やレンズ歪みなどを求める作業です。

ピントやレンズ、画像の解像度を変更した場合は、校正データがその条件に合っているかを確認します。以前の設定のまま画像を入力すると、マーカを検出できても、求めた距離が合わないことがあります。

2. 画像の中からマーカを検出する

撮影画像からマーカを探し、IDや、位置・姿勢の計算に使う点を検出します。複数のマーカを扱う場合は、どの対象にどのIDを割り当てたかを管理しておきます。

3. 位置・姿勢を計算し、使いたい座標系へ変換する

既知の参照点配置と、画像中で検出した点の位置を対応させ、カメラとマーカの位置・姿勢の関係を計算します。さらに、ロボットの作業座標などに変換し、表示・記録・制御に渡します。

例えば、作業台に取り付けたマーカを測る場合、計測値はマーカの位置・姿勢です。作業台の端や部品の取り出し位置を知りたければ、マーカとその点の位置関係も必要になります。[OpenCVの姿勢推定の説明]

4. 計測結果が作業の要求に合うかを確かめる

確認したいのは、IDを読めるかだけではありません。必要な距離や角度の範囲で、位置・姿勢の誤差、値のばらつき、検出できない頻度、結果が届くまでの遅れを評価します。

マーカの計測値を制御装置に渡しても、それだけで位置合わせのシステムが完成するわけではありません。どの座標の値を使うか、マーカが隠れたときにどう動作させるかも含めて設計します。

カメラ基準・マーカ基準・自己位置を、現場の配置図で見分ける

まずは、同じカメラ画像でも「どこを基準に、何の位置を求めるか」で出力の意味が変わることを押さえておきましょう。LEAGの計測資料では、次の3つを区別しています。[高精度マーカ取扱説明書1.02、pp.7–9/LEAG-Library取説1.15、p.14]

計測の見方 基準と測る対象 配置・用途の例
カメラ基準 カメラから見たマーカの位置・姿勢 設備に固定したカメラで、対象に付けたマーカを測る
マーカ基準 基準マーカから見た対象マーカの位置・姿勢 基準と対象を撮影し、作業台との位置関係や構造物の変位を記録する
自己位置 既知の位置にあるマーカを基準にしたカメラの位置・姿勢 固定マーカを動くカメラで撮り、ロボットや端末の位置を求める

カメラを固定して対象を見るのか、マーカを固定して動くカメラの位置を知るのか。この対比を配置図に描くと、必要な情報が見えてきます。カメラ基準の計測自体は、手先に取り付けた動くカメラでも可能です。その場合、設備の座標で結果を使うには、カメラやロボットとの位置関係も必要になります。

また、基準マーカを使えば誤差がなくなるわけではありません。基準の取付けや姿勢の誤差も計算に影響します。対象との距離が離れる構成では、その影響を含めて評価します。

用途を考えるときは、「カメラをどこに置くか」「何を基準に、何を測るか」を描き出すと、必要な構成を整理しやすくなります。ここでは3つの応用例を見てみます。

3つの計測配置例。位置合わせでは手先カメラで作業台のマーカを測る。変位記録では固定カメラで基準マーカと測定マーカを撮る。AR表示では端末のカメラで現場基準のマーカを撮り、設計モデルの座標に対応づける。
図2 カメラ・マーカ・出力情報の関係で整理した応用例。いずれも構成の考え方を示す模式図です。図を拡大

位置合わせ:移動した作業台にロボットを合わせる

作業台を移動すると、以前教示したロボットの動作位置と、実際の作業位置にずれが生じます。作業台にマーカを固定しておけば、カメラから見た作業台の位置と傾きを計測できます。

その結果をロボット側の座標へ変換し、作業位置の補正に利用する構成が考えられます。このとき、マーカの取付位置に加え、手先とカメラの位置関係も合わせておく必要があります。作業台が動いてもマーカとの関係が変わらないよう、固定方法も決めておきます。

変位記録:基準に対する構造物の変化を追う

斜面や構造物に取り付けたマーカを繰り返し撮影し、位置と傾きの変化を記録する使い方です。複数箇所を同じ画像で捉えられれば、それぞれの変化を追う構成にできます。

注意したいのは、カメラ側が動いても計測値が変わることです。そこで、固定カメラの状態を確認するとともに、安定した場所に置く基準マーカと、対象側の測定マーカとの関係を使って、対象の変位を評価することをお勧めします。画像も保存しておくと、値が変わった時点の周囲の状況を見返せます。

ここで扱うのは位置・姿勢の変化の記録です。構造物の状態判断や警報に使う場合は、必要な検出性能と運用を別途検討します。

AR表示:現場の基準と設計モデルの座標を合わせる

建設現場の映像にBIMなどの設計モデルを重ねる場合も、現場とモデルの座標関係が必要です。設置位置が分かっているマーカを基準にカメラの位置・姿勢を求め、モデルを表示する位置を決める方法があります。

この方法では、マーカがどの設計座標に対応するかを、あらかじめ登録します。現場のマーカの設置誤差や、モデル自体の寸法の違いも表示ずれにつながるため、カメラの計測だけでなく、基準の置き方から確認します。

リーグソリューションズのマーカ紹介ページでも、ロボット制御や計測・記録への応用を紹介しています。

最初に決める3つの条件:測る点、基準、必要な精度

導入の検討では、最初にカメラを選ぶより、測りたい場面を具体的にするほうが構成を決めやすくなります。まずは3つの条件を整理してみてください。

1. 測る点:マーカの位置と、作業に必要な位置を分ける

知りたいのは、マーカの中心でしょうか。それとも部品の先端やロボットがつかむ位置でしょうか。マーカと測りたい点の位置関係が変わらないように取り付け、その関係を寸法や校正で求めておきます。

2. 基準:どこから見た位置が必要かを決める

カメラ、作業台、設備、設計モデルのどれを基準にするかを決めます。位置ずれや変位を評価する場合は、基準自体が動かないかも確認します。対象物、カメラ、基準を一枚の配置図に描くと、設置場所と必要な座標変換を整理できます。

3. 必要な精度:撮影条件と一緒に確かめる

位置と角度それぞれの許容誤差に加え、値のばらつき、更新頻度、結果が届くまでの遅れも決めます。そのうえで、次の撮影・設置条件を確認します。

確認すること 具体的に整理したい内容
測る対象と基準 マーカそのものか、部品の先端か。カメラ基準か、作業台基準か
マーカの取付場所 対象に固定できるか。取付後にずれたり、曲がったりしないか
撮影距離と範囲 最も近い位置・遠い位置、同時に画面へ入れたい範囲
見通しと照明 人や設備による遮蔽、逆光、反射、夜間、汚れの影響
必要な計測性能 位置と角度それぞれの許容誤差、ばらつき、更新頻度、遅れ

例えば「1mmの位置ずれを見分けたい」場合と、「数cmのずれを把握して大まかに接近したい」場合では、必要な構成は変わります。同じマーカでも、カメラから遠くなると画像中では小さく写ります。広い範囲を撮ることと、マーカを十分な大きさで捉えることの両方を考える必要があります。

また、ここで紹介しているマーカはカメラに見えている範囲で計測する方式です。対象が常に隠れる場所や、マーカを固定できない対象では、カメラの配置変更や別の計測方式との組み合わせも検討します。

「測る点・基準・必要な精度」が決まると、マーカの寸法やカメラの条件を絞り込めます。実際に使う距離と角度で画像を撮り、作業に必要な計測ができるかを確かめるところから始めてみてください。

参考資料・図版について

アイキャッチは支給マーカ画像を素材として制作したCGイメージ(AI生成)です。図1・図2は構成を説明する模式図で、特定の導入現場や計測性能を示すものではありません。