JP2016080663A - マーカー位置算出装置、マーカー位置算出方法及びマーカー位置算出プログラム - Google Patents

マーカー位置算出装置、マーカー位置算出方法及びマーカー位置算出プログラム Download PDF

Info

Publication number
JP2016080663A
JP2016080663A JP2014215511A JP2014215511A JP2016080663A JP 2016080663 A JP2016080663 A JP 2016080663A JP 2014215511 A JP2014215511 A JP 2014215511A JP 2014215511 A JP2014215511 A JP 2014215511A JP 2016080663 A JP2016080663 A JP 2016080663A
Authority
JP
Japan
Prior art keywords
markers
plane
marker
work
objective function
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.)
Withdrawn
Application number
JP2014215511A
Other languages
English (en)
Inventor
左千夫 小林
Sachio Kobayashi
左千夫 小林
秀城 阿部
Hideki Abe
秀城 阿部
小林 弘樹
Hiroki Kobayashi
弘樹 小林
正芳 橋間
Masayoshi Hashima
正芳 橋間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014215511A priority Critical patent/JP2016080663A/ja
Publication of JP2016080663A publication Critical patent/JP2016080663A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Manipulator (AREA)

Abstract

【課題】作業点を精度良くロボットに教示できるような複数のマーカーの最適位置を算出するマーカー位置算出装置を提供する。
【解決手段】マーカー位置算出装置100は、作業点をロボットに教示するためにカメラにより撮像され画像認識される複数のマーカーを貼り付けることが可能な、物体上の同一平面上の複数の平面領域を、物体の3次元モデル202に基づいて、抽出する平面抽出部11と、複数のマーカーの位置関係、及び、複数のマーカー及び作業点の位置関係に関連する、目的関数及び制約条件に基づいて、平面抽出部により抽出された複数の平面領域内に複数のマーカーを貼り付けるときの最適位置を最適化計算により算出する最適化計算部12とを含む。
【選択図】図5

Description

本開示は、マーカー位置算出装置、マーカー位置算出方法及びマーカー位置算出プログラムに関する。
ワークモデルの表面の適所に三角形のマークを付けて、ステレオカメラに対するワークモデルの姿勢を変更しながら複数回のステレオ計測を行う3次元モデルの作成方法が知られている(例えば、特許文献1参照)。この3次元モデルの作成方法では、マークはシールとして構成され、ワークモデルの平坦な面(上面の中央部)に貼付される。
特開2010-112729号公報
ところで、物体における作業点をロボットに教示するために、カメラにより撮像され画像認識される複数のマーカーを物体に貼り付ける場合、物体における複数のマーカーの位置(貼り付け位置)によっては、作業点を精度良くロボットに教示できない虞がある。これは、複数のマーカーの貼り付け位置が画像認識精度などに影響するためである。
そこで、開示の技術は、作業点を精度良くロボットに教示できるような複数のマーカーの最適位置を算出できるマーカー位置算出装置、マーカー位置算出方法及びマーカー位置算出プログラムの提供を目的とする。
本開示の一局面によれば、作業点をロボットに教示するためにカメラにより撮像され画像認識される複数のマーカーを貼り付けることが可能な、物体上の同一平面上の複数の平面領域を、前記物体の3次元モデルに基づいて、抽出する平面抽出部と、
前記複数のマーカーの位置関係、及び、前記複数のマーカー及び前記作業点の位置関係に関連する、目的関数及び制約条件に基づいて、前記平面抽出部により抽出された前記複数の平面領域内に前記複数のマーカーを貼り付けるときの最適位置を最適化計算により算出する最適化計算部とを含む、マーカー位置算出装置が提供される。
本開示の技術によれば、作業点を精度良くロボットに教示できるような複数のマーカーの最適位置を算出できるマーカー位置算出装置、マーカー位置算出方法及びマーカー位置算出プログラムが得られる。
マーカー位置算出装置100が適用されるロボット作業システム1の一例を示す図である。 マーカーMの画像認識結果に基づく部品供給トレイ70の姿勢算出方法の一例の説明図である。 画像認識精度に起因した作業点と教示点との間の誤差の説明図である。 マーカー位置算出装置100のハードウェア構成の一例を示す図である。 マーカー位置算出装置100の機能ブロック図である。 マーカー位置算出装置100により実行される処理の全体の流れの一例を概略的に示すフローチャートである。 平面抽出部11により実行される平面グループ抽出処理の一例を示すフローチャートである。 三角メッシュモデルの一例を示す図である。 領域分類の説明図である。 平面領域のグループ化の説明図である。 最適化計算部12により実行される最適化計算処理の一例を示すフローチャートである。 凸包判定の説明図である。 初期配置範囲の決定方法の一例の説明図である。 作業精度評価部13により実行される作業精度評価処理の説明図である。 目的関数及び制約条件の一例を示す表図である。 第1目的関数f1の説明図である。 第3目的関数f3の説明図である。 第4目的関数f4の説明図である。 制約条件の説明図である。 反復計算時のマーカー位置の動きの説明図である。
以下、添付図面を参照しながら各実施例について詳細に説明する。
図1は、マーカー位置算出装置100が適用されるロボット作業システム1の一例を概略的に示す図である。
ロボット作業システム1は、カメラ2と、画像処理装置3と、ロボット制御装置4と、ロボット5とを含む。尚、画像処理装置3は、ロボット制御装置4に組み込まれてもよい。
カメラ2は、作業台6上のワークWを撮像する。作業台6は、例えば水平面を有し、カメラ2の光軸は水平面に対して略垂直になるように配置されてよい。ワークWは、ロボット5による作業対象となる部品等である。ワークWは、部品供給トレイ(図示せず)等により作業台6上に搬送されてよい。尚、作業台6は、コンベヤ等により形成されてもよい。以下では、一例として、マーカーは、部品供給トレイに貼り付けられるものとする。
画像処理装置3は、カメラ2の撮像画像を処理して、複数のマーカー(後述)を認識し、それぞれのマーカーの位置を算出する。画像処理装置3は、算出したマーカーの位置に基づいて、部品供給トレイの姿勢を算出する。
ロボット制御装置4は、画像処理装置3により算出されたマーカーの位置(部品供給トレイの姿勢)に基づいて、ロボット5に作業点を教示する。作業点は、ワークWにおけるロボット5の作業点である。作業点は、例えばワークWにおける部品組み付け位置である。ロボット5の作業は任意である。作業点を教示するとは、例えばロボットアーム5aの移動先の座標値(又は移動軌跡)を指示することである。
ロボット5は、任意のタイプのロボットであってよい。図1に示す例では、ロボット5は、多関節ロボットである。ロボット5は、ロボット制御装置4からの指示に応じてワークWに対して作業を行う。
図2は、マーカーMの画像認識結果に基づく部品供給トレイ70の姿勢算出方法の一例の説明図であり、カメラ2とマーカーMとの関係の一例を概略的に示す斜視図である。図2には、マーカーMが貼り付けられる部品供給トレイ70と、3つのマーカーMと、カメラ2とが模式的に示されている。また、図2には、カメラ座標系C1とワールド座標系C2が示されている。尚、カメラ座標系C1とワールド座標系C2との関係は既知である。カメラ座標系C1は、カメラ2の光軸方向をZ軸する。
画像処理装置3は、カメラ座標系C1でマーカーMの位置(以下、「マーカー位置」とも称する)を算出する。画像処理装置3は、算出した各マーカー位置の重心位置に、部品供給トレイ70の姿勢を表す座標系C3の原点を配置する。画像処理装置3は、算出した各マーカー位置により形成される平面の法線を、座標系C3のZ軸方向とし、算出した各マーカー位置により形成される平面内にX軸及びY軸を定める。
図3は、画像認識精度に起因した作業点と教示点との間の誤差の説明図である。図3には、画像処理装置3により認識された座標系C3と、実際の座標系C3'とが対比して示されている。
図3に示す例では、画像処理装置3により認識された座標系C3は、実際の座標系C3'に対して原点位置が(a,b)だけずれ、且つ、姿勢(Z軸方向)がθだけずれている。この場合、例えば実際の座標系C3'では座標Pwp=(−L,0)となる作業点に対して、ロボット5に教示される座標(教示点の座標)はPtp=(a−Lcosθ、b−sinθ)となる。このようにして、作業点に対して教示点の誤差δが発生する。尚、図3からも分かるように、原点から作業点までの距離(図3に示す例ではL)が長いほど誤差δが大きくなる。
以下、「誤差δ」は、図3に示すような特定の作業点に係る誤差δを意味せず、任意の作業点に関する誤差全般を指す。即ち、「誤差δ」とは、任意の作業点に関して、教示点の座標と実際の作業点の座標との誤差を表す。以下では、誤差δを小さくできる複数のマーカーの最適位置を算出できるマーカー位置算出装置100について説明する。
図4は、マーカー位置算出装置100のハードウェア構成の一例を示す図である。
マーカー位置算出装置100は、例えばコンピューターにより形成される。図4に示す例では、マーカー位置算出装置100は、制御部101、主記憶部102、補助記憶部103、ドライブ装置104、ネットワークI/F部106、入力部107を含む。
制御部101は、主記憶部102や補助記憶部103に記憶されたプログラムを実行する演算装置であり、入力部107や記憶装置からデータを受け取り、演算、加工した上で、記憶装置などに出力する。
主記憶部102は、ROM(Read Only Memory)やRAM(Random Access Memory)などである。主記憶部102は、制御部101が実行する基本ソフトウェアであるOS(Operating System)やアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
補助記憶部103は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
ドライブ装置104は、記録媒体105、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
記録媒体105は、所定のプログラムを格納する。この記録媒体105に格納されたプログラムは、ドライブ装置104を介してマーカー位置算出装置100にインストールされる。インストールされた所定のプログラムは、マーカー位置算出装置100により実行可能となる。
ネットワークI/F部106は、有線及び/又は無線回線などのデータ伝送路により構築されたネットワークを介して接続された通信機能を有する周辺機器とマーカー位置算出装置100とのインターフェースである。
入力部107は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、マウスやスライスパット等を有する。
尚、図4に示す例において、以下で説明する各種処理等は、プログラムをマーカー位置算出装置100に実行させることで実現することができる。また、プログラムを記録媒体105に記録し、このプログラムが記録された記録媒体105をマーカー位置算出装置100に読み取らせて、以下で説明する各種処理等を実現させることも可能である。なお、記録媒体105は、様々なタイプの記録媒体を用いることができる。例えば、記録媒体105は、CD(Compact Disc)−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等であってよい。なお、記録媒体105には、搬送波は含まれない。
図5は、マーカー位置算出装置100の機能ブロック図である。図5には、マーカー位置算出装置100への入力情報200の一例が併せて示されている。
入力情報200は、マーカー情報201と、3次元モデルデータ202と、作業位置情報203と、使用NG(No Good)パターン情報204と、カメラ設置位置情報205とを含む。入力情報200は、例えば図2に示す入力部107、I/F部106、記録媒体105等を介して入力されてもよい。入力情報200のうちの使用NGパターン情報204は省略されてもよい。また、入力情報200は、マーカー位置算出装置100に入力されると、マーカー位置算出装置100内の記憶部(例えば補助記憶部103等)に記憶されてよい。
マーカー情報201は、貼り付けられる予定のマーカーに関する情報、例えばマーカーのサイズや形状を表す情報を含む。
3次元モデルデータ202は、マーカーが張り付けられる対象の物体(本例では、部品供給トレイ70)の3次元モデルデータである。
作業位置情報203は、作業位置の座標値を表す情報を含む。ここでは、一例として、一のワークに対する作業位置は、複数個あるものとする。従って、作業位置情報203は、各作業位置の座標値を表す情報を含む。
使用NGパターン情報204は、使用してはいけない又は使用することを避けるべきマーカーの幾何的な配置パターン(以下、「NGパターン」と称する)を表す情報を含む。NGパターンは、マーカーが張り付けられる対象の物体ごとに異なり得る。使用NGパターン情報204は、今回の対象となる部品供給トレイ70に特有のNGパターンを含んでよい。
カメラ設置位置情報205は、カメラ2の設置位置(座標値)を表す情報を含む。
マーカー位置算出装置100は、平面抽出部11と、最適化計算部12と、作業精度評価部(出力部の一例)13と、NG条件データベース14と、他マーカーセット情報データベース15とを含む。尚、平面抽出部11、最適化計算部12及び作業精度評価部13は、例えば図2に示す制御部101により実現できる。また、NG条件データベース14及び他マーカーセット情報データベース15は、例えば図2に示す補助記憶部103により実現できる。尚、NG条件データベース14及び他マーカーセット情報データベース15内の情報は、入力情報200として入力されてもよい。
平面抽出部11は、複数のマーカーを貼り付けることが可能な、部品供給トレイ70上の同一平面上の複数の平面領域を、部品供給トレイ70の3次元モデルに基づいて、抽出する。複数の平面領域とは、互いに連続していない(分断されている)平面領域が複数個あることを意味する。この抽出方法の例については後述する。
最適化計算部12は、平面抽出部11により抽出された複数の平面領域内に複数のマーカーを貼り付けるときの最適位置を最適化計算により算出する。例えば、最適化計算部12は、複数のマーカーの位置関係に関連する目的関数と、複数のマーカーと作業点との位置関係に関連する制約条件とに基づいて、最適化計算を行う。この最適化計算方法の例については後述する。
尚、複数のマーカーの最適位置は、ある複数の作業点に対して算出される。従って、複数の作業点と、複数のマーカーとは、1つのセットである。このようなセットは、複数の作業点毎に、複数算出されてよいが、以下では、説明の複雑化を防止するための都合上、特に言及しない限り、1つのセットについて説明する。従って、以下では、全作業点とは、特定の1つのセットに係る複数の作業点の全てを指し、必ずしも一のワークWにおける全ての作業点を意味するわけではない。また、複数のマーカーとは、同一セットに係る複数のマーカーを指す。また、1つのセットを形成する複数のマーカーは、総称して「マーカーセット」とも称する。また、今回の最適位置算出対象のマーカーセットとは異なるマーカーセットについては、「他マーカーセット」とも称する。また、以下の説明において、複数のマーカーは、いずれも同じ(形状、サイズ、模様)であるものとする。尚、マーカーの形状やサイズ等は任意である。
作業精度評価部13は、最適化計算部12により算出された最適位置に対して作業精度を表す指標値を算出する。作業精度評価部13は、最適化計算部12により算出された最適位置が複数存在する場合は、各最適位置に対して指標値を算出し、各最適位置に対して、作業精度が高い順位を付与する。作業精度評価部13の処理例について後述する。
NG条件データベース14は、複数のマーカーの位置に関して回避すべき条件(以下、「NG条件」と称する)を記憶する。NG条件は、画像認識精度を悪化させる複数のマーカーの位置関係(幾何的な位置関係)等を表してよい。NG条件は、上述したNGパターンを含んでもよい。
他マーカーセット情報データベース15は、カメラ2の画角内に存在しうる他マーカーセットに関する情報を記憶する。カメラ2の画角とは、カメラ設置位置情報205に基づく設置位置に配置されたカメラ2の画角に対応する。
図5に示すマーカー位置算出装置100によれば、同一平面内の複数の平面領域を利用して複数のマーカーの最適位置を探索するので、異なる平面上の複数の平面領域を利用して複数のマーカーの最適位置を探索する場合に比べて、誤差δを低減できる。これは、複数のマーカーが同一平面上にある場合は、複数のマーカー間のカメラ2の視線方向のオフセット量が小さくなり、画像認識精度が高くなるためである。
また、図5に示すマーカー位置算出装置100によれば、部品供給トレイ70に複数のマーカーの全てを配置できるような面積が比較的広い一の平面領域が存在しない場合でも、複数の平面領域を利用して複数のマーカーの最適位置を探索できる。これは、部品供給トレイ70の3次元形状が複雑である場合(比較的広い平面領域が存在しない場合)に好適となる。
また、図5に示すマーカー位置算出装置100によれば、複数のマーカーの最適位置は、制約条件及び目的関数に基づいて最適化計算により得られるので、作業者のノウハウに頼ることなく、誤差δを低減できる。また、制約条件及び目的関数が複数のマーカーの位置関係及び複数のマーカーと作業点との位置関係に関連するので、これらの位置関係が画像認識精度を悪化させないようにする最適化計算が可能となり、誤差δを更に低減できる。
次に、図6を参照して、マーカー位置算出装置100の動作例の概要について説明する。
図6は、マーカー位置算出装置100により実行される処理の全体の流れの一例を概略的に示すフローチャートである。
ステップS600では、平面抽出部11は、部品供給トレイ70の3次元モデルに基づいて、部品供給トレイ70の形状分析を行い、部品供給トレイ70における平面領域を抽出する。平面抽出部11は、複数の平面領域を抽出する。
ステップS602では、平面抽出部11は、抽出した複数の平面領域に対して、同一平面内に存在する平面領域同士をグループ化する。このグループ化により形成された各グループを「平面グループ」と称する。
ステップS604では、平面抽出部11は、平面グループ毎に、マーカーを貼り付け可能であるか否かをチェックする。このチェックは、平面グループ内に属する平面領域の面積が十分大きいか否かのチェックを含んでよい。平面抽出部11は、マーカーを貼り付け可能でない平面グループを抽出せずに破棄する。
ステップS606乃至ステップS608は、平面抽出部11により複数の平面グループが抽出された場合は、平面グループ毎に実行される。ステップS606乃至ステップS608は、平面抽出部11により唯一の平面グループが抽出された場合は、当該唯一の平面グループに対して実行される。
ステップS606では、最適化計算部12は、平面グループ毎に、全作業点を、平面グループ内の複数の平面領域に貼り付けられる複数のマーカーにより包含できるか否かをチェックする。最適化計算部12は、全作業点を複数のマーカーにより包含できない平面グループを最適化計算対象から除外する。
ステップ608では、最適化計算部12は、平面グループ毎に、マーカーの初期配置範囲を決定する。初期配置範囲は任意の方法で決定されてもよい。
ステップ610では、最適化計算部12は、制約条件付きの多目的最適化計算により最適なマーカー位置(以下、「最適位置」とも称する)を算出する。
ステップS612乃至ステップS614は、最適化計算部12により複数の平面グループに対して最適位置が算出された場合は、平面グループ毎に実行される。ステップS612乃至ステップS614は、最適化計算部12により唯一の平面グループに対して最適位置が算出された場合は、当該唯一の平面グループに対して実行される。
ステップ612では、作業精度評価部13は、平面グループ毎に、全作業点のそれぞれと、最適位置に基づく複数のマーカーの重心位置との間の距離の総和を算出する。
ステップ612では、作業精度評価部13は、距離の総和が小さい平面グループに係る最適位置から順に高い順位を付与する(ランキング付けを行う)。
図6に示す処理によれば、図5に関連して上述した効果を得ることができる。また、図6に示す処理によれば、同一平面内に存在する複数の平面領域により形成される平面グループを、異なる平面毎に複数得ることができる。これにより、複数の平面グループの中から、複数のマーカーの最適位置を探索できる。従って、複数の平面グループから複数の最適位置を得ることも可能となりうる。
また、図6に示す処理によれば、制約条件付きの多目的最適化計算により複数のマーカーの最適位置を探索するので、最適位置の精度(最適性)が向上し、誤差δを更に低減することが可能となる。また、図6に示す処理によれば、複数の最適位置が得られた場合に、各最適位置に係る作業精度が評価されるので、作業精度を考慮して最終的な一の最適位置を決定できる。
次に、図7乃至図14を参照して、マーカー位置算出装置100の動作例の詳細について説明する。
図7は、平面抽出部11により実行される平面グループ抽出処理の一例を示すフローチャートである。図7に示す処理の入力は、部品供給トレイ70の3次元形状モデルである。
ステップS700では、平面抽出部11は、入力された3次元形状モデルがメッシュモデルであるか否かを判定する。3次元形状モデルがメッシュモデルである場合は、ステップS704に進み、それ以外の場合は、ステップS702に進む。尚、3次元形状モデルがメッシュモデルでない場合とは、例えば、3次元形状モデルが3次元CAD(Computer-Aided Design)モデル(例えばワイヤフレームモデル等)である場合である。
ステップS702では、平面抽出部11は、入力された3次元形状モデルを三角メッシュモデルに変換する。図8は、三角メッシュモデルの一例を示す。尚、三角メッシュモデルにおける各三角形要素は、平面である。
ステップS704では、平面抽出部11は、入力された3次元形状モデルの六面図で全作業点が最も良く見える面(ビュー)を基準として視点方向に設定する。即ち、平面抽出部11は、六面図の6面のうちの、作業点が最も良く見える面に基づいて、当該面を見ている側を視点方向に設定する。尚、平面抽出部11は、ロボット5の作業時の状態(部品供給トレイ70の姿勢やカメラ2との位置関係)が決まっているときは、ロボット5の作業時の状態で3次元形状モデルに対してカメラ2が位置する側を、視点方向に設定してもよい。即ち、平面抽出部11は、カメラ座標系C1で3次元形状モデルを扱ってよく、この場合、カメラ座標系C1でZ軸の負方向(図2参照)が視点方向に対応する。
ステップS706では、平面抽出部11は、領域分類(セグメンテーション)により平面領域を抽出する。領域分類とは、メッシュモデルの幾何的な特徴量を算出し、領域分類する方法である。例えば、図9に示すように、法線ベクトルn,nが同じ向きで稜線を共有する2つの平面領域をグループ化する。尚、領域分類方法は、任意であり、例えば特開2007-241996に開示される方法が利用されてもよい。尚、本例では、平面領域がn個抽出されたものとする。各平面領域には、0〜n−1の整数値が対応付けられる。
ステップS708では、平面抽出部11は、値i(初期値0)が平面領域数nよりも小さいか否かを判定する。値iが平面領域数nよりも小さい場合は、ステップS710に進み、それ以外の場合は、ステップS716に進む。
ステップS710では、平面抽出部11は、値iに対応する平面領域を選択する。
ステップS712では、平面抽出部11は、選択した平面領域の法線が視点方向に向いているか否かを判定する。平面領域の法線が視点方向に向いているか否かは、平面領域の法線がカメラ2の設置位置に向いているか否かを判定することにより判定されてもよい。平面領域の法線がカメラ2の設置位置に向いているとは、必ずしも法線ベクトルの延長が設置位置に交わることを意味しない。平面領域の法線がカメラ2の設置位置に向いているとは、例えば、カメラ2の設置位置を含み且つカメラ2の光軸方向に垂直な平面を仮想したとき、仮想した平面の所定領域に、法線ベクトルの延長が交わることを意味してもよい。仮想した平面の所定領域とは、例えばカメラ2の設置位置を中心に含む所定サイズの領域であってよい。選択した平面領域の法線が視点方向に向いている場合は、ステップS714に進み、それ以外の場合は、選択した平面領域を抽出候補から外し、値iを"1"インクリメントしてステップS708に戻る。
ステップS714では、平面抽出部11は、選択した平面領域の任意の位置(例えば重心位置)から全作業点への距離がカメラ2の撮像範囲の対角線以下であるか否かを判定する。即ち、平面抽出部11は、選択した平面領域にマーカーを貼り付けたときに、カメラ2により全作業点を撮像しつつ当該マーカーを撮像可能であるか否かを判定する。全作業点への距離がカメラ2の撮像範囲の対角線以下である場合は、ステップS716に進み、それ以外の場合は、選択した平面領域を抽出候補から外し、値iを"1"インクリメントしてステップS708に戻る。
ステップS716では、平面抽出部11は、選択した平面領域を保持し、値iを"1"インクリメントしてステップS708に戻る。即ち、平面抽出部11は、選択した平面領域を、抽出候補として残し、値iを"1"インクリメントしてステップS708に戻る。
ステップS718では、平面抽出部11は、ステップS716で保持した全ての平面領域に基づいて、同一平面上にある全ての平面領域をグループ化する。同一平面上の平面とは、任意の平面である。例えば、ある平面領域を含む平面上に含まれる他の平面領域は、同一平面上にある。平面抽出部11は、例えば図10に示すように2つの平面領域80a,80bについて、それぞれの重心位置p,pを結ぶベクトルと、法線ベクトルnとの内積が0のときは、平面領域80a,80bが同一平面上にあると判断してよい。尚、本例では、グループ化により平面グループがn個形成されたものとする。各平面グループには、0〜n−1の整数値が対応付けられる。尚、各平面グループは、少なくとも1つの平面領域を含む。
ステップS720では、平面抽出部11は、値j(初期値0)が平面グループ数nよりも小さいか否かを判定する。値jが平面グループ数nよりも小さい場合は、ステップS722に進み、それ以外の場合は、ステップS728に進む。
ステップS722では、平面抽出部11は、値jに対応する平面グループを選択する。
ステップS724では、平面抽出部11は、選択した平面グループに属する平面領域を利用して、マーカーを3個以上貼り付けることができるか否かを判定する。例えば、平面抽出部11は、マーカー情報201に基づいて、マーカーを3個貼り付けるために必要な面積を算出し、算出した面積が、選択した平面グループに属する平面領域の総面積よりも小さいか否かを判定してもよい。この際、平面抽出部11は、マーカー情報201に基づく一のマーカーの面積よりも小さい面積の平面領域については、除外してよい。選択した平面グループを用いてマーカーを3個以上貼り付けることができる場合は、ステップS726に進み、それ以外の場合は、選択した平面グループを抽出候補から外し、値jを"1"インクリメントしてステップS720に戻る。
ステップS726では、平面抽出部11は、選択した平面グループを抽出対象として保持し、値jを"1"インクリメントしてステップS720に戻る。
ステップS728では、平面抽出部11は、ステップS726で保持した全ての平面グループを抽出する。
図7に示す処理によれば、不連続の平面領域同士であっても、同一平面上にある場合には、グループ化され、平面グループを形成する。従って、不連続の複数の平面領域を含む平面グループを抽出できる。また、図7に示す処理によれば、ステップS712及びステップS714を有するので、カメラ2により撮像できない位置又は困難な位置にしかマーカーを貼り付けることができない平面領域を抽出対象から除外できる。また、図7に示す処理によれば、ステップS724を有するので、マーカーを3個貼り付けることができる面積を持つ平面グループのみを抽出できる。
図11は、最適化計算部12により実行される最適化計算処理の一例を示すフローチャートである。図11に示す処理は、平面抽出部11により複数の平面グループが抽出された場合(例えば、ステップS728で抽出された平面グループが複数である場合)、平面グループ毎に実行される。以下では、ある一の平面グループに対する処理について説明する。従って、図11の説明において、「平面グループ」とは、ある一の平面グループを意味する。
ステップS1100では、最適化計算部12は、マーカー数nが所定の上限値nmaxよりも小さいか否かを判定する。マーカー数nとは、複数のマーカーの個数である。以下、複数のマーカーとは、マーカー数nのマーカーを指す。マーカー数nの初期値は、"3"に設定され、所定の上限値nmaxは、"3"よりも大きい任意の数であってよい。マーカー数nが所定の上限値nmaxよりも小さい場合は、ステップS1102に進み、それ以外の場合は、そのまま終了する。
ステップS1102では、最適化計算部12は、全作業点を複数のマーカーで包含できるか否かを判定する。例えば、最適化計算部12は、平面グループに属する全平面領域の凸包の内側に全作業点が含まれるか否かを判定する。例えば、図12は、平面グループに属する全平面領域と作業点との関係を概略的に示す平面図(平面領域の法線方向に視た図)である。図12(A)に示す例では、平面グループは、2つの平面領域80c、80dから形成される。図12(A)に示す例では、全作業点(本例では、3つの作業点Pwp1、Pwp2、Pwp3)のうちの作業点Pwp1が平面領域80c、80dに対する凸包90よりも外側に位置するので、ステップS1102の判定結果は"NO"となる。他方、図12(B)に示す例では、平面グループは、3つの平面領域80e、80f、80gから形成される。図12(B)に示す例では、全作業点は平面領域80e、80f、80gに対する凸包90よりも内側に位置するので、ステップS1102の判定結果は"YES"となる。全作業点を複数のマーカーで包含できる場合は、ステップS1104に進み、それ以外の場合は、今回の平面グループに対する処理は終了する。
ステップS1104では、最適化計算部12は、複数のマーカーに対する初期配置範囲を決定する。初期配置範囲は、平面グループの平面領域を用いて決定される。図13は、初期配置範囲の決定方法の一例の説明図であり、初期配置範囲903を決定するまでの過程を平面グループに属する全平面領域と作業点との関係と共に概略的に示す平面図(平面領域の法線方向に視た図)である。図13に示す例では、最適化計算部12は、頂点削除後の凸包内に全作業点を含む条件の下で凸包90の頂点を逐次的に削除する。次いで、最適化計算部12は、頂点削除が不能となった最終の凸包902の面積を小さくすることで、初期配置範囲903を得る。具体的には、最適化計算部12は、図13(A)に示す凸包90の頂点N1を削除し、図13(B)に示すように、凸包901を生成する。次いで、最適化計算部12は、図13(B)に示す凸包901の頂点N2を削除し、図13(C)に示すように、凸包902を生成する。凸包902に対しては、これ以上頂点削除が不能である。従って、最適化計算部12は、図13(D)に示すように、凸包902の頂点N3を平面領域80eで内側に移動して、初期配置範囲903を得る。尚、最適化計算部12は、図13(D)に示す初期配置範囲903に対して、更に頂点N4等を移動して面積をより小さくしてもよい。尚、図13には、説明の都合上、初期配置範囲903は、平面領域80e、80fの頂点801,802に頂点を有し、平面領域80fではマーカーを貼り付けることができない態様で示されている。しかしながら、実際には、初期配置範囲903は、各平面領域上にマーカーを貼り付けることができる面積が確保される態様で決定される。
ステップS1106では、最適化計算部12は、制約条件付きの多目的最適化計算により複数のマーカーの最適位置を計算する。制約条件付きの多目的最適化計算方法の例については後述する。
ステップS1108では、最適化計算部12は、ステップS1106で得られた最適位置を保持し、マーカー数nを"1"インクリメントしてステップS1100に戻る。
図11に示す例によれば、平面抽出部11により抽出された平面グループ毎に最適位置を算出することができる。また、図11に示す例によれば、所定の上限値nmaxを4より大きな値にした場合、マーカー数nを変化させて一の平面グループに対して複数の最適位置を算出することも可能となり得る。これにより、複数の最適位置を候補とすることができる。また、図11に示す例によれば、ステップS1102を有することで、全作業点を包含できない平面グループを事前に除外できるので、最適化計算の負荷を低減できる。また、図11に示す例によれば、ステップS1104を有することで、後述の如くマーカー位置を外側に移動させながら最適解を探索可能となり(図20等参照)、最適化計算の効率化を図ることができる。
図14は、作業精度評価部13により実行される作業精度評価処理の説明図である。図14において、(A)は、最適化計算部12により算出された最適位置(部品供給トレイ70の平面701に関する平面グループに係る最適位置)に従ってマーカーMを配置した状態を概略的に示す。また、(B)は、他の一の最適位置(部品供給トレイ70の平面702に関する平面グループに係る最適位置)に従ってマーカーMを配置した状態を概略的に示す。図14では、4つのマーカーに関する最適位置が示されている。また、図14に示す例では、全作業点は、3つの作業点Pwp1、Pwp2、Pwp3である。
作業精度評価部13は、上述の如く、平面グループ毎に、全作業点のそれぞれと、最適位置に基づく複数のマーカーの重心位置との間の距離の総和を算出する。具体的には、作業精度評価部13は、以下の式により、特定の一の平面グループに対して総和を算出する。
Figure 2016080663
ここで、Pgは、最適位置に基づく複数のマーカーの重心位置を表す(図14参照)。Pwpiは、i番目の作業点を表す。
作業精度評価部13は、総和が小さい順に高い順位を各平面グループ(各平面グループに係る各最適位置)に付与する。これは、図3を参照して上述したように、同じ画像認識誤差を有する場合に、複数のマーカーの重心位置から作業点が近いほど誤差δが小さくなるためである。
次に、図15乃至図20を参照して、最適化計算部12による制約条件付きの多目的最適化計算方法の例について説明する。以下で、複数のマーカーの位置や複数のマーカーの配置パターンとは、最適化計算時(各計算ステップ)の位置及び配置パターンである。尚、以下では、複数のマーカーの位置は、最適化計算過程における位置であり、一例として、カメラ2のカメラ座標系C1(図2参照)で表現されているものとする。
制約条件付きの多目的最適化計算は、以下の式で表せる。
Figure 2016080663
ここで、f(x)は目的関数であり、g(x)は制約条件であり、wは各項の重みである。
図15は、目的関数及び制約条件の一例を示す表図である。図15には、各目的関数及び制約条件に関連する幾何的特徴(複数のマーカーの位置関係、及び、複数のマーカーと作業点との位置関係)が併せて示されている。図15に示す例では、目的関数は、4つある。
第1目的関数f1は、複数のマーカーの位置関係に関連し、複数のマーカーの各位置の回転対称性が高いほど大きな値となる。これは、複数のマーカーの各位置の回転対称性が高いほど、画像認識によるマーカー間の識別が難しくなるためである。
例えば、最適化計算部12は、先ず、図16に示すように、複数のマーカーの重心Gから各マーカーM〜Mに結ぶベクトル間の角度θ〜θとしたとき、重心Gを中心としてθk(k=0,1,2)ずつ回転させ、近くの頂点同士の距離を以下の式で算出する。
Figure 2016080663
ここで、M'は、回転後のマーカーであって、回転前のマーカーMに近いマーカーを指す。図16には、回転前の各マーカーM〜Mを重心Gを中心として角度αだけ回転した状態を一点鎖線で示されている。最適化計算部12は、各回転位置で距離d(k)を算出し、最小の距離dの逆数を第1目的関数f1の値とする。即ち、第1目的関数f1は、以下の通りである。
Figure 2016080663
尚、図16に示す例では、平行四辺形であるので、k=1のとき、即ち角度θ+θ回転させたときに距離d(1)=0となる。d=0は回転対称であることを表す。
第2目的関数f2は、複数のマーカーの位置関係に関連し、複数のマーカーの配置パターンと、カメラ2の画角内に存在しうる他マーカーセットに係る配置パターンとの類似度が高いほど大きな値となる。これは、カメラ2で複数のマーカーセットが同時に撮像される場合、マーカーセット間の類似度が高いほど、画像認識によるマーカーセット間の識別が難しくなるためである。尚、カメラ2の画角内に他マーカーセットが存在するか否かは、他マーカーセット情報データベース15に基づいて判定されてよい。カメラ2の画角内に他マーカーセットが存在しない場合は、第2目的関数f2は省略されてもよいし、重みwが"0"とされてよい。
例えば、最適化計算部12は、複数のマーカーの配置パターンと他マーカーセットに係る配置パターンとの類似度を、プロクラステス解析(Procrustes Analysis)を利用して計算してもよい。プロクラステス解析は、Kendall, David G. "A Survey of the Statistical Theory of Shape." Statistical Science. Vol. 4, No. 2, 1989, pp. 87-99から知られている。具体的には、最適化計算部12は、複数のマーカーの各位置を結んでできる多角形と、他マーカーセットに係る各マーカーの各位置を結んでできる多角形とに基づいて、プロクラステス解析を行うことで、以下の式によりプロクラステス距離d1を算出する。
Figure 2016080663
ここで、M1は、複数のマーカーの各位置を表し、M1'は、他マーカーセットに係る各マーカーの各位置を表す。プロクラステス解析は、各位置M1'が、対応する各位置M1にできるだけ近くなるように、例えば他マーカーセットに係る各マーカーの各位置を結んでできる多角形を拡大・縮小、回転、平行移動することを伴う。M1'は、かかる拡大等を行った後の他マーカーセットに係る各マーカーの各位置を表す。尚、プロクラステス距離d1は、各位置M1と、対応する各位置M1との間の距離の二乗和の総和である。最適化計算部12は、プロクラステス距離d1の逆数を第2目的関数f2の値とする。即ち、第2目的関数f2は、以下の通りである。
f2=1/d
第3目的関数f3は、複数のマーカーの位置関係に関連し、複数のマーカーの各位置に外接する矩形の縦横比の比が小さいほど大きな値となる。
例えば、最適化計算部12は、複数のマーカーの各位置の座標のx、y座標の最小値及び最大値の差Lx,Lyを算出し、第3目的関数f3を以下の通り算出する。
Figure 2016080663
例えば、図17には、4つのマーカーM0〜M3の各位置が示されている。この場合、最適化計算部12は、マーカーM2とマーカーM0のx座標の差をLxとし、マーカーM3とマーカーM1のy座標の差をLyとして、第3目的関数f3を算出する。
第4目的関数f4は、複数のマーカーの各位置を結んでできる多角形の面積が大きいほど小さい値となる。これは、かかる面積が小さいほど画像認識精度、特に画像認識で得られる姿勢(Z軸方向)の精度が悪くなるためある。
例えば、最適化計算部12は、多角形の面積Aを以下の式で算出する。
Figure 2016080663
ここで、Mは、マーカーMkの位置ベクトルを表す。例えば、図18には、5つのマーカーM0〜M6の各位置が示されている。この場合、M=Mとなる。最適化計算部12は、多角形の面積Aの逆数を第4目的関数f4の値とする。即ち、第4目的関数f4は、以下の通りである。
f4=1/A
制約条件g(x)は、全作業点が複数のマーカーの凸包に含まれることである。これは、複数のマーカーの凸包の外側に作業点が存在する場合、当該作業点と複数のマーカーの重心位置との距離が長くなり(図3参照)、当該作業点における作業精度が悪くなるためである。この判定には、例えば交差数判定(Crossing Number Algorithm)が使用されてよい。
例えば、最適化計算部12は、Quick Hull法により凸包を計算する。ここでは、一例として、図19に示す5つのマーカーM0〜M6の各位置に対する凸包の計算方法について説明する。Quick Hull法によれば、点集合(マーカーM0〜M6の各位置)に対する凸包を計算する際、まず、最も左にある点(M0)と最も右にある点(M1)とを線で結び、点集合を2つに分ける。次いで、各領域について、分割線の法線方向に最も遠い点を探索し、最も遠い点が存在すれば、分割線の両端と、当該最も遠い点とを結ぶ新たな分割線を生成する。図19に示す例では、マーカーM0の位置とマーカーM1の位置とを結ぶ分割線に対して、マーカーM2の位置及びマーカーM3の位置が分割線の法線方向に最も遠い点であり、新たな分割線が生成される。次いで、新たな分割線について、分割線の法線方向に最も遠い点を探索し、最も遠い点が存在すれば、新たな分割線を同様に更に生成する。分割線の法線方向に最も遠いが存在しない場合は、当該分割線が凸包の辺として決定される。
例えば、最適化計算部12は、複数のマーカーに係る凸包を上述の如く算出すると、複数のマーカーに係る凸包に対する全作業点の内外判定を行う。内外判定とは、複数のマーカーに係る凸包に対して作業点が内部に存在するか否かの判定である。内外判定は、Quick Hull法の考え方を利用できる。例えば、最適化計算部12は、複数のマーカーに係る凸包の各辺について、法線方向に全作業点のいずれかが存在するか否かを判定する。最適化計算部12は、複数のマーカーに係る凸包のいずれかの辺で、法線方向に全作業点のうちのいずれか1つでも存在した場合は、全作業点が複数のマーカーの凸包に含まれていないと判定する。即ち、制約条件g(x)が満たされないことになる。他方、最適化計算部12は、複数のマーカーに係る凸包のいずれの辺でも、法線方向に全作業点のいずれも存在しない場合は、全作業点が複数のマーカーの凸包に含まれると判定する。即ち、制約条件g(x)が満たされることになる。
最適化計算部12は、上述した各目的関数及び制約条件に基づいて、反復計算により最適位置を求める。この最適解の探索方法は任意である。例えば、複数のマーカーの全ての位置を一度に最適化する場合は、制約条件付きの非線形最適化計算により、移動させる1つのマーカー位置を計算してよい。具体的な解法としては、遺伝的アルゴリズムを用いることができる。このような解法では計算量が多すぎたり、収束性が悪い場合があり得る。かかる場合は、一の計算ステップでは1つのマーカーのみを移動させる方法を採用してもよい。例えば、最適化計算部12は、複数のマーカーのそれぞれを別々に、以下のように動かしたときに、目的関数の合計値が最小となるマーカーを見つけ、そのマーカーを、"動かすマーカー"として決定することとしてよい。
Figure 2016080663
ここで、数8の式において、M及びMi+1は、位置ベクトルを表し、Mi+1は、一の計算ステップで移動された後の位置ベクトルを表す。Δd及びΔdは、それぞれ、任意のスカラ値である。Δd及びΔdは、準ニュートン法などにより算出されてもよい。a,bは、反復計算のステップ幅に対応する移動ベクトルである。a,bは、複数のマーカーの各位置を結んでできる多角形の面積が増加する方向に設定される。図20に示す例では、4つのマーカーM0〜M3の各位置が示されている。図20に示す例では、マーカーM3が一のマーカーとして選択された場合のベクトルa,bが示されている。最適化計算部12は、Mi+1が平面グループに係る平面領域外に出る場合は、Δd=0やΔd=0の場合も計算することとしてよい。
図15乃至図20に示す例によれば、画像認識精度及び作業精度を悪化させる幾何的特徴(複数のマーカーの位置関係、及び、複数のマーカーと作業点との位置関係)に関連する各目的関数及び制約条件を適切に設定できる。これにより、画像認識精度が良好な最適位置を探索でき、誤差δを更に低減することが可能となる。
尚、図15乃至図20に示す例では、制約条件g(x)は、全作業点が複数のマーカーの凸包に含まれることであるが、他の表現であってもよい。例えば、制約条件g(x)は、各作業点から複数のマーカーの重心位置までの各距離の総和が所定上限値以下であることや、各作業点から複数のマーカーの重心位置までの各距離の最大値が所定上限値以下であること等であってもよい。
また、図15乃至図20に示す例では、第3目的関数f3に係るLx及びLyは、カメラ座標系のX軸方向及びY軸方向にそれぞれ平行な方向の距離であるが、これに限られない。例えば、最適化計算部12は、複数のマーカーの各位置を外接する最小面積の矩形(又は縦横比が最大又は最小となる矩形)を算出し、当該矩形に基づいてLx及びLyを算出してもよい。
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
例えば、上述した実施例では、マーカーは、部品供給トレイ70に貼り付けられることが想定されているが、部品供給トレイ70以外に貼り付けられてもよい。例えば、マーカーは、部品供給トレイ70に代えて又は加えて、ワークWに貼り付けられてもよい。
また、上述した実施例では、複数の作業点を想定しているが、作業点は1つだけである場合もあり得る。
また、上述した実施例では、4つの目的関数を一例として示しているが、4つの目的関数のうちの任意の1つ、2つ又は3つの組み合わせが使用されてもよい。また、他の目的関数が追加されてもよい。例えば、第2目的関数と同じ考え方に基づいて、使用NGパターン情報204に含まれる所定のNGパターンとの類似度が高くなるほど大きな値になる目的関数が使用されてもよい。この場合、所定のNGパターンが、回転対称のパターンを含む場合は、第1目的関数が省略されてもよい。
また、上述した実施例では、最適化計算部12は、最適化計算として、関数を最小化する解を探索しているが、関数を最大化する解を探索する方式であってよい。この場合は、それに応じて各目的関数を変更すればよい。
また、上述した実施例では、4つの目的関数は、全て複数のマーカーの位置関係(即ち画像認識精度)に関連しているが、複数のマーカー及び作業点の位置関係(即ち作業精度)に関連してもよい。例えば、制約条件と同様の考え方で、作業精度が悪くなるほど大きな値となる目的関数が使用されてもよい。同様に、制約条件についても、作業精度に代えて、画像認識精度に対して定義されてもよい。
なお、以上の実施例に関し、さらに以下の付記を開示する。
(付記1)
作業点をロボットに教示するためにカメラにより撮像され画像認識される複数のマーカーを貼り付けることが可能な、物体上の同一平面上の複数の平面領域を、前記物体の3次元モデルに基づいて、抽出する平面抽出部と、
前記複数のマーカーの位置関係、及び、前記複数のマーカー及び前記作業点の位置関係に関連する、目的関数及び制約条件に基づいて、前記平面抽出部により抽出された前記複数の平面領域内に前記複数のマーカーを貼り付けるときの最適位置を最適化計算により算出する最適化計算部とを含む、マーカー位置算出装置。
(付記2)
前記最適化計算部は、前記目的関数を最小化する最適解を探索し、
前記目的関数は、前記複数のマーカーの位置関係が複数のマーカーに係る画像認識精度を悪化させる位置関係であるほど大きな値となる関数である、付記1に記載のマーカー位置算出装置。
(付記3)
前記目的関数は、前記複数のマーカーの各位置の回転対称性が高いほど大きい値となる第1目的関数、前記複数のマーカーの配置パターンと前記カメラの画角内に存在しうる他の複数のマーカーの配置パターンとの類似度が高いほど大きい値となる第2目的関数、前記複数のマーカーの各位置に外接する矩形の長辺に対する短辺の長さの比が0に近いほど大きい値となる第3目的関数、及び、前記複数のマーカーの各位置を結んでできる多角形の面積が小さいほど大きい値となる第4目的関数のうちの少なくともいずれか1つを含む、付記2に記載のマーカー位置算出装置。
(付記4)
前記制約条件は、前記複数のマーカー及び前記作業点の位置関係が前記作業点に係る作業精度が所定基準よりも良くなる位置関係となるようにする条件である、付記1〜3のうちのいずれか1項に記載のマーカー位置算出装置。
(付記5)
前記制約条件は、前記複数のマーカーに係る凸包の内側に前記作業点が含まれることである、付記4に記載のマーカー位置算出装置。
(付記6)
前記作業点は複数存在し、
前記制約条件は、前記複数のマーカーに係る凸包の内側に複数の前記作業点の全てが含まれることである、付記5に記載のマーカー位置算出装置。
(付記7)
前記作業点は複数存在し、
前記平面抽出部は、異なる平面毎に、前記複数の平面領域を抽出してグループ化し、
前記最適化計算部は、前記平面抽出部によりグループ化されたグループ毎に、前記最適化計算を行い、
前記複数のグループのそれぞれに対する前記最適化計算の結果、複数の最適位置が算出された場合、複数の最適位置のそれぞれに対して、前記複数のマーカーの重心位置と複数の前記作業点のそれぞれとの距離の総和を算出し、算出した距離の総和が最小となる最適位置を出力する出力部を更に含む、付記1〜6のうちのいずれか1項に記載のマーカー位置算出装置。
(付記8)
前記出力部は、更に、複数の最適位置のそれぞれに対して、算出した前記距離の総和が小さい順に高い順位を付与し、付与した順位を表す順位情報を出力する、付記7に記載のマーカー位置算出装置。
(付記9)
作業点をロボットに教示するためにカメラにより撮像され画像認識される複数のマーカーを貼り付けることが可能な、物体上の同一平面上の複数の平面領域を、前記物体の3次元モデルに基づいて、抽出し、
前記複数のマーカーの位置関係、及び、前記複数のマーカー及び前記作業点の位置関係に関連する、目的関数及び制約条件に基づいて、抽出した前記複数の平面領域内に前記複数のマーカーを貼り付けるときの最適位置を最適化計算により算出する、
処理をコンピューターに実行させる、マーカー位置算出プログラム。
(付記10)
作業点をロボットに教示するためにカメラにより撮像され画像認識される複数のマーカーを貼り付けることが可能な、物体上の同一平面上の複数の平面領域を、前記物体の3次元モデルに基づいて、抽出し、
前記複数のマーカーの位置関係、及び、前記複数のマーカー及び前記作業点の位置関係に関連する、目的関数及び制約条件に基づいて、抽出した前記複数の平面領域内に前記複数のマーカーを貼り付けるときの最適位置を最適化計算により算出することを含む、コンピューターにより実行されるマーカー位置算出方法。
2 カメラ
3 画像処理装置
5 ロボット
11 平面抽出部
12 最適化計算部
13 作業精度評価部
70 部品供給トレイ
100 マーカー位置算出装置

Claims (8)

  1. 作業点をロボットに教示するためにカメラにより撮像され画像認識される複数のマーカーを貼り付けることが可能な、物体上の同一平面上の複数の平面領域を、前記物体の3次元モデルに基づいて、抽出する平面抽出部と、
    前記複数のマーカーの位置関係、及び、前記複数のマーカー及び前記作業点の位置関係に関連する、目的関数及び制約条件に基づいて、前記平面抽出部により抽出された前記複数の平面領域内に前記複数のマーカーを貼り付けるときの最適位置を最適化計算により算出する最適化計算部とを含む、マーカー位置算出装置。
  2. 前記最適化計算部は、前記目的関数を最小化する最適解を探索し、
    前記目的関数は、前記複数のマーカーの位置関係が複数のマーカーに係る画像認識精度を悪化させる位置関係であるほど大きな値となる関数である、請求項1に記載のマーカー位置算出装置。
  3. 前記目的関数は、前記複数のマーカーの各位置の回転対称性が高いほど大きい値となる第1目的関数、前記複数のマーカーの配置パターンと前記カメラの画角内に存在しうる他の複数のマーカーの配置パターンとの類似度が高いほど大きい値となる第2目的関数、前記複数のマーカーの各位置に外接する矩形の長辺に対する短辺の長さの比が0に近いほど大きい値となる第3目的関数、及び、前記複数のマーカーの各位置を結んでできる多角形の面積が小さいほど大きい値となる第4目的関数のうちの少なくともいずれか1つを含む、請求項2に記載のマーカー位置算出装置。
  4. 前記制約条件は、前記複数のマーカー及び前記作業点の位置関係が前記作業点に係る作業精度が所定基準よりも良くなる位置関係となるようにする条件である、請求項1〜3のうちのいずれか1項に記載のマーカー位置算出装置。
  5. 前記制約条件は、前記複数のマーカーに係る凸包の内側に前記作業点が含まれることである、請求項4に記載のマーカー位置算出装置。
  6. 前記作業点は複数存在し、
    前記平面抽出部は、異なる平面毎に、前記複数の平面領域を抽出してグループ化し、
    前記最適化計算部は、前記平面抽出部によりグループ化されたグループ毎に、前記最適化計算を行い、
    前記複数のグループのそれぞれに対する前記最適化計算の結果、複数の最適位置が算出された場合、複数の最適位置のそれぞれに対して、前記複数のマーカーの重心位置と複数の前記作業点のそれぞれとの距離の総和を算出し、算出した距離の総和が最小となる最適位置を出力する出力部を更に含む、請求項1〜5のうちのいずれか1項に記載のマーカー位置算出装置。
  7. 作業点をロボットに教示するためにカメラにより撮像され画像認識される複数のマーカーを貼り付けることが可能な、物体上の同一平面上の複数の平面領域を、前記物体の3次元モデルに基づいて、抽出し、
    前記複数のマーカーの位置関係、及び、前記複数のマーカー及び前記作業点の位置関係に関連する、目的関数及び制約条件に基づいて、抽出した前記複数の平面領域内に前記複数のマーカーを貼り付けるときの最適位置を最適化計算により算出する、
    処理をコンピューターに実行させる、マーカー位置算出プログラム。
  8. 作業点をロボットに教示するためにカメラにより撮像され画像認識される複数のマーカーを貼り付けることが可能な、物体上の同一平面上の複数の平面領域を、前記物体の3次元モデルに基づいて、抽出し、
    前記複数のマーカーの位置関係、及び、前記複数のマーカー及び前記作業点の位置関係に関連する、目的関数及び制約条件に基づいて、抽出した前記複数の平面領域内に前記複数のマーカーを貼り付けるときの最適位置を最適化計算により算出することを含む、コンピューターにより実行されるマーカー位置算出方法。
JP2014215511A 2014-10-22 2014-10-22 マーカー位置算出装置、マーカー位置算出方法及びマーカー位置算出プログラム Withdrawn JP2016080663A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014215511A JP2016080663A (ja) 2014-10-22 2014-10-22 マーカー位置算出装置、マーカー位置算出方法及びマーカー位置算出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014215511A JP2016080663A (ja) 2014-10-22 2014-10-22 マーカー位置算出装置、マーカー位置算出方法及びマーカー位置算出プログラム

Publications (1)

Publication Number Publication Date
JP2016080663A true JP2016080663A (ja) 2016-05-16

Family

ID=55958410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014215511A Withdrawn JP2016080663A (ja) 2014-10-22 2014-10-22 マーカー位置算出装置、マーカー位置算出方法及びマーカー位置算出プログラム

Country Status (1)

Country Link
JP (1) JP2016080663A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210014033A (ko) * 2019-07-29 2021-02-08 한국기계연구원 작업대상물의 피킹 및 플레이스 방법
JP2021047475A (ja) * 2019-09-17 2021-03-25 日本電気通信システム株式会社 物品位置管理装置、物品、物品位置管理システム、物品位置管理方法及びプログラム
CN112923849A (zh) * 2021-01-27 2021-06-08 长春涵智科技有限公司 基于轮廓传感器的空间定位方法及系统
CN115100362A (zh) * 2022-08-23 2022-09-23 航天正通汇智(北京)科技股份有限公司 基于四色图和倾斜摄影的空间自动化建模和可视化方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210014033A (ko) * 2019-07-29 2021-02-08 한국기계연구원 작업대상물의 피킹 및 플레이스 방법
KR102267514B1 (ko) * 2019-07-29 2021-06-21 한국기계연구원 작업대상물의 피킹 및 플레이스 방법
JP2021047475A (ja) * 2019-09-17 2021-03-25 日本電気通信システム株式会社 物品位置管理装置、物品、物品位置管理システム、物品位置管理方法及びプログラム
JP7435998B2 (ja) 2019-09-17 2024-02-21 日本電気通信システム株式会社 物品位置管理装置、物品、物品位置管理システム、物品位置管理方法及びプログラム
CN112923849A (zh) * 2021-01-27 2021-06-08 长春涵智科技有限公司 基于轮廓传感器的空间定位方法及系统
CN115100362A (zh) * 2022-08-23 2022-09-23 航天正通汇智(北京)科技股份有限公司 基于四色图和倾斜摄影的空间自动化建模和可视化方法
CN115100362B (zh) * 2022-08-23 2022-11-11 航天正通汇智(北京)科技股份有限公司 基于四色图和倾斜摄影的空间自动化建模和可视化方法

Similar Documents

Publication Publication Date Title
JP5839971B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP3735344B2 (ja) キャリブレーション装置、キャリブレーション方法、及びキャリブレーション用プログラム
JP6323993B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
US11292132B2 (en) Robot path planning method with static and dynamic collision avoidance in an uncertain environment
US20130245828A1 (en) Model generation apparatus, information processing apparatus, model generation method, and information processing method
US20140180465A1 (en) Method and apparatus for a cutting process automatic generation tool of cam
JP2016080663A (ja) マーカー位置算出装置、マーカー位置算出方法及びマーカー位置算出プログラム
JP4905285B2 (ja) 工具参照面を作成する装置と方法とプログラム
US11816754B2 (en) Measurement parameter optimization method and device, and computer control program stored on computer-readable storage medium
EP4157589A1 (en) A robot path planning method with static and dynamic collision avoidance in an uncertain environment
WO2020217878A1 (ja) 対象物の位置姿勢を検出する装置、方法およびプログラム
CN112509145B (zh) 基于三维视觉的物料分拣方法和装置
JP5885003B2 (ja) ロボットの走行面走行可能領域確認方法、ロボット及び記録媒体
Jin et al. Computing tëichmuller shape space
Sabnis et al. Probabilistic approach for visual homing of a mobile robot in the presence of dynamic obstacles
CN111462330B (zh) 一种基于平面法向投影的测量视点规划方法
KR101711042B1 (ko) Stl 파일 접합 방법
JP2012220271A (ja) 姿勢認識装置、姿勢認識方法、プログラム及び記録媒体
CN110926405A (zh) 一种基于单目视觉灭点检测的arv姿态测量方法
Proença et al. Probabilistic combination of noisy points and planes for RGB-D odometry
JP2006145419A (ja) 画像処理方法
US10379620B2 (en) Finger model verification method and information processing apparatus
JP2019105992A (ja) 画像処理装置、画像処理プログラム及び画像処理方法
JP6766229B2 (ja) 位置姿勢計測装置及び方法
TWI664512B (zh) 可加工空間的計算方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170704

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20171225