図面 (/)

技術 ロボットおよびロボットシステム

出願人 セイコーエプソン株式会社
発明者 山口如洋安田光一赤羽和重原田篤石毛太郎
出願日 2015年3月30日 (4年3ヶ月経過) 出願番号 2015-068272
公開日 2016年11月4日 (2年8ヶ月経過) 公開番号 2016-187845
状態 特許登録済
技術分野 マニプレータ
主要キーワード 高精度補正 補正パラメーター ツールチャック 置空間内 校正プログラム 二次元図形 エリアイメージセンサー 傾き補正量
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年11月4日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

撮像部の座標系ロボットの座標系の校正を容易にする。

解決手段

校正開始指示受け付ける指示受付部と、基準点を示すマーカーが設けられたツールを装着可能であり、前記校正開始指示が受け付けられると、前記マーカーと撮像部との位置関係を変化させるアームと、を備え、前記マーカーは、前記ツールの前記アームに対向する面に設けられ、前記撮像部と前記マーカーの位置関係が変化した後に前記撮像部によって前記マーカーが撮像された画像に基づいて、前記撮像部の座標系とロボットの座標系との校正が行われる、ロボット。

概要

背景

従来、ロボットビジョンを用いてロボットを制御するにあたっては、ロボット座標系撮像部の座標系とを校正する処理が必要になる。校正時には、ロボット設置空間内基準点の位置をロボット座標系と撮像部の座標系のそれぞれで特定し、一方の座標系で表された基準点の位置を、他方の座標系で表された基準点の位置に変換するための行列式が求められる。特許文献1に記載された技術によると、3つの基準点を触るようにアームを動かすことによってロボット座標系で基準点を教示し、その後、アームによって所定位置に移動させた撮像部によって基準点を示すマーカーを撮像し、基準点を撮像部の座標系で検出することによって、校正が行われる。

概要

撮像部の座標系とロボットの座標系の校正を容易にする。校正開始指示受け付ける指示受付部と、基準点を示すマーカーが設けられたツールを装着可能であり、前記校正開始指示が受け付けられると、前記マーカーと撮像部との位置関係を変化させるアームと、を備え、前記マーカーは、前記ツールの前記アームに対向する面に設けられ、前記撮像部と前記マーカーの位置関係が変化した後に前記撮像部によって前記マーカーが撮像された画像に基づいて、前記撮像部の座標系とロボットの座標系との校正が行われる、ロボット。

目的

本発明は、これらの問題を解決するために創作されたものであって、撮像部の座標系とロボットの座標系の校正を容易にすることを目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

校正開始指示受け付ける指示受付部と、基準点を示すマーカーが設けられたツールを装着可能であり、前記校正開始指示が受け付けられると、前記マーカーと撮像部との位置関係を変化させるアームと、を備え、前記マーカーは、前記ツールの前記アームに対向する面に設けられ、前記撮像部と前記マーカーの位置関係が変化した後に前記撮像部によって前記マーカーが撮像された画像に基づいて、前記撮像部の座標系ロボットの座標系との校正が行われる、ロボット。

請求項2

前記アームは、前記校正開始指示が受け付けられると、前記位置関係を予め決められた状態に変化させ、前記校正は、前記位置関係が前記予め決められた状態にあるときに前記撮像部によって前記マーカーが撮像された画像に基づいて行われる、請求項1に記載のロボット。

請求項3

前記アームは、前記撮像部によって前記マーカーが撮像された画像に基づいて導出された目標値を取得し、前記目標値に基づいて前記位置関係を前記予め決められた状態に変化させる、請求項2に記載のロボット。

請求項4

前記校正開始指示は、前記位置関係を前記予め決められた状態に変化させるための目標値を含まない、請求項2または3に記載のロボット。

請求項5

前記予め決められた状態は、前記撮像部が前記マーカーに合焦する状態を含む、請求項1から4のいずれか一項に記載のロボット。

請求項6

前記アームは、前記校正開始指示が受け付けられると、前記撮像部によって前記マーカーが撮像された画像から切り出された部分画像に基づいて導出された目標値を取得し、前記目標値に基づいて前記位置関係を前記撮像部が前記マーカーに合焦する状態に変化させる、請求項5に記載のロボット。

請求項7

前記アームは、3つ以上の前記基準点を含む平面と垂直な第一方向に前記撮像部と前記マーカーの位置関係を変化させた後に前記第一方向と逆向きの第二方向に前記撮像部と前記マーカーの位置関係を変化させることによって前記撮像部を前記マーカーに合焦させる、請求項5または6に記載のロボット。

請求項8

前記予め決められた状態は、3つ以上の前記基準点を含む平面と、前記撮像部の光軸とが垂直な状態を含む、請求項1から7のいずれか一項に記載のロボット。

請求項9

前記予め決められた状態は、前記撮像部の光軸が前記平面を通る位置が互いに異なる3つ以上の状態を含む、請求項8に記載のロボット。

請求項10

前記撮像部は、前記アームに設けられる、請求項1から9のいずれか一項に記載のロボット。

請求項11

前記撮像部は、重力方向において前記アームより上側から、前記アームを撮像可能に設けられる、請求項1から10のいずれか一項に記載のロボット。

請求項12

前記撮像部は、重力方向において前記アームより下側から前記アームを撮像可能に設けられる、請求項1から10のいずれか一項に記載のロボット。

請求項13

校正開始指示を受け付ける指示受付部と、前記校正開始指示が受け付けられると、基準点を示すマーカーと撮像部との位置関係を変化させるアームと、を備えるロボットと、前記撮像部と前記マーカーの位置関係が変化した後に、前記マーカーが前記撮像部によって撮像された画像に基づいて前記撮像部の座標系と前記ロボットの座標系との校正を行う校正装置と、を備え、前記マーカーの位置が前記アームに対して固定されている場合、前記撮像部は前記アームが動く座標系において固定された点に設けられ、前記マーカーの位置が前記アームが動く座標系に対して固定されている場合、前記撮像部は前記アームに対して固定された点に設けられる、ロボットシステム

請求項14

3つ以上の基準点を示すマーカーが設けられたツールを装着可能であり、前記マーカーと撮像部との位置関係を、前記3つ以上の基準点を含む平面と前記撮像部の光軸とが垂直な第一状態、前記撮像部が前記3つ以上の基準点の少なくともいずれかを示す前記マーカーに合焦する第二状態、前記撮像部の光軸が前記平面上の第一点を通る第三状態、前記撮像部の光軸が前記平面上の第二点を通る第四状態、前記撮像部の光軸が前記平面上の第三点を通る第五状態、の少なくともいずれかに自動で変化させるアームを備え、前記マーカーは、前記ツールの前記アームに対向する面に設けられ、前記第三状態、前記第四状態および前記第五状態において前記撮像部によって前記マーカーが撮像された画像に基づいて前記撮像部の座標系とロボットの座標系との校正が行われる、ロボット。

請求項15

前記アームは、前記位置関係を前記第一状態、前記第二状態、前記第三状態、前記第四状態および前記第五状態に自動で変化させる、請求項14に記載のロボット。

請求項16

前記アームは、前記撮像部によって前記マーカーが撮像された画像に基づいて導出される目標値を取得し、前記目標値に基づいて前記位置関係を自動で変化させる、請求項14または15に記載のロボット。

技術分野

0001

本発明は、ロボットおよびロボットシステムに関する。

背景技術

0002

従来、ロボットビジョンを用いてロボットを制御するにあたっては、ロボット座標系撮像部の座標系とを校正する処理が必要になる。校正時には、ロボット設置空間内基準点の位置をロボット座標系と撮像部の座標系のそれぞれで特定し、一方の座標系で表された基準点の位置を、他方の座標系で表された基準点の位置に変換するための行列式が求められる。特許文献1に記載された技術によると、3つの基準点を触るようにアームを動かすことによってロボット座標系で基準点を教示し、その後、アームによって所定位置に移動させた撮像部によって基準点を示すマーカーを撮像し、基準点を撮像部の座標系で検出することによって、校正が行われる。

先行技術

0003

特開平8−210816号公報

発明が解決しようとする課題

0004

特許文献1に記載された技術によると、3つの基準点を触るようにアームをオペレーターが操作することによって基準点の位置を教示する必要がある。しかし、アームが基準点に触わるか触らないかの境界の状態を目視で特定しながら、アームを正確に操作することは容易ではない。すなわち特許文献1に記載された技術では、基準点の位置を正確に教示することは容易ではないという問題がある。そして、複数の基準点の位置を正確に教示しながら校正を行うとすれば、校正に要する所要時間が長引くという問題があり、校正対象のロボットが増えるほど、この問題は深刻になる。

0005

本発明は、これらの問題を解決するために創作されたものであって、撮像部の座標系とロボットの座標系の校正を容易にすることを目的とする。

課題を解決するための手段

0006

上記目的を達成するためのロボットは、校正開始指示受け付ける指示受付部と、
基準点を示すマーカーが設けられたツールを装着可能であり、前記校正開始指示が受け付けられると、前記マーカーと撮像部との位置関係を変化させるアームと、を備え、前記マーカーは、前記ツールの前記アームに対向する面に設けられ、前記撮像部と前記マーカーの位置関係が変化した後に前記撮像部によって前記マーカーが撮像された画像に基づいて、前記撮像部の座標系とロボットの座標系との校正が行われる。

0007

また上記目的を達成するためのロボットは、3つ以上の基準点を示すマーカーが設けられたツールを装着可能であり、前記マーカーと撮像部との位置関係を、前記3つ以上の基準点を含む平面と前記撮像部の光軸とが垂直な第一状態、前記撮像部が前記3つ以上の基準点の少なくともいずれかを示す前記マーカーに合焦する第二状態、前記撮像部の光軸が前記平面上の第一点を通る第三状態、前記撮像部の光軸が前記平面上の第二点を通る第四状態、前記撮像部の光軸が前記平面上の第三点を通る第五状態、の少なくともいずれかに自動で変化させるアームを備え、前記マーカーは、前記ツールの前記アームに対向する面に設けられ、前記第三状態、前記第四状態および前記第五状態において前記撮像部によって前記マーカーが撮像された画像に基づいて前記撮像部の座標系とロボットの座標系との校正が行われる。

0008

これらの発明によると、撮像部とマーカーの位置関係を、撮像部の座標系とロボットの座標系とを校正するために必要な画像を撮像できる状態に、校正開始指示によって変化させることができる。したがって撮像部の座標系とロボットの座標系の校正が容易である。

0009

ここで、校正開始指示は、撮像部の座標系とロボットの座標系とを校正するために必要な画像を撮像できる状態に撮像部とマーカーの位置関係を変化させる動作をアームに開始させるタイミングを特定する指示であれば良く、アームの位置または姿勢の変化量を特定する目標値を含まなくてもよい。またマーカーは、ロボット座標系の基準点を指し示すものであればよい。例えば、平板に記された点や円などの二次元図形をマーカーとして用いることができるし、三次元形状を有する物(例えばアームの先端部)をマーカーとして用いることもできる。そしてマーカーは、アームに設けられても良いし、ロボットが設置される空間に固定された物(例えば作業台)に設けられても良い。マーカーがアームに設けられる場合(アームがマーカーになる場合を含む)、撮像部はロボット座標系に固定される。ロボット座標系にマーカーが固定される場合、撮像部はアームに設けられる。

0010

なお請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。

図面の簡単な説明

0011

図1Aは本発明の実施形態にかかる模式的な斜視図。図1Bは本発明の実施形態にかかるブロック図。
本発明の実施形態にかかる平面図。
本発明の実施形態にかかる模式的な斜視図。
本発明の実施形態にかかるフローチャート
本発明の実施形態にかかるフローチャート。
本発明の実施形態にかかるフローチャート。
本発明の実施形態にかかる模式図。
本発明の実施形態にかかる画像を示す図。
本発明の実施形態にかかるフローチャート。
本発明の実施形態にかかる模式的な斜視図。
本発明の実施形態にかかるフローチャート。
本発明の実施形態にかかる模式的な斜視図。
本発明の実施形態にかかる模式的な平面図。
本発明の実施形態にかかる模式図。
本発明の実施形態にかかる模式図。
本発明の実施形態にかかる模式的な斜視図。
図17Aは本発明の実施形態にかかる平面図、図17Bは本発明の実施形態にかかる側面図である。
本発明の実施形態にかかるフローチャートである。
図19Aおよび図19Bは本発明の実施形態にかかる画像を示す平面図、図19Cは本発明の実施形態にかかる座標図である。
図20Aは本発明の実施形態にかかる説明図、図20Bは本発明の実施形態にかかる座標図である。

実施例

0012

以下、本発明の実施の形態を添付図面を参照しながら説明する。尚、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
1.第一実施例
1−1.概要
本発明の第一実施例としてのロボットシステムは、図1に示すように、ロボット1と、撮像部2と、校正装置としてのPC(Personal Computer)3とを備えている。

0013

ロボット1は、6つの回転軸部材121、122、123、124、125、126をアームに備える6軸ロボットである。ワークを操作するための各種のツールが装着される回転軸部材126の先端の中心をツールセンターポイント(TCP)という。TCPの位置と姿勢は各種のツールの位置と姿勢の基準となる。ロボット1を制御する際に用いられるロボット1の座標系は、それぞれが水平なx軸とy軸と、鉛直下向きを正方向とするz軸とによって定まる3次元の直交座標系である。またz軸周りの回転をu、y軸周りの回転をv、x軸周りの回転をwで表す。ロボット座標系の長さの単位はミリメートル、角度の単位は度である。

0014

撮像部2は、レンズ201の光軸に対して垂直な基準平面内におけるワークの大きさ、形状および位置を認識するための撮像部である。撮像部2の座標系は、撮像部2から出力される画像の座標系であって、画像の水平右向きを正方向とするB軸と、画像の垂直下向きを正方向とするC軸とによって定まる。撮像部2の座標系の長さの単位はピクセル、角度の単位は度である。撮像部2の座標系は、撮像部2の光軸に垂直な実空間内の平面の座標系が、レンズ201の光学特性焦点距離、歪みなど)とエリアイメージセンサー202の画素数と大きさとに応じて非線形変換された2次元の直交座標系である。したがって、撮像部2が出力する画像に基づいてワークの大きさ、形状または位置を認識して、認識結果に基づいてロボット1を制御するためには、撮像部2の座標系をロボット1の座標系とを関係づける処理、すなわち校正が必要になる。

0015

PC3はロボット1と撮像部2に接続されている。PC3には、ロボット1の座標系と撮像部2の座標系とを校正するための校正プログラムインストールされている。オペレーターは、校正を実行するために校正プログラムを起動し、校正開始指示をPC3に入力する。校正開始指示は、校正プログラムが校正処理を開始するための単なるトリガーであって、ロボット1を操作するための目標値を含んでいない。撮像部2の座標系を校正するためには、従来であれば、3つ以上の基準点を含む平面に対して撮像部2の光軸を正確に垂直な状態にセットしたり、TCPでタッチアップすることにより3つ以上の基準点を正確に教示したりといった緻密な準備が必要であった。そして、これらの準備が不正確である場合には校正が失敗することになり、オペレーターは校正の失敗を知ることによって、準備が不正確であったことを知る。したがって、従来は校正に多大な時間を要していた。

0016

以下に説明する本発明の実施例によると、校正が行われていない状態でのロボットビジョン(撮像部2によって撮像される画像)を用いて校正の準備を自動で行う。自動で行われる校正の準備には、3つ以上の基準点を含む基準平面に対して撮像部2の光軸が垂直であって、撮像部2が基準平面に合焦している状態にする操作を含む。このため、基準点と撮像部との正確な位置関係が定まっていない状態で校正開始指示を入力するだけで、ロボット1の座標系と撮像部2の座標系とを、極めて容易に校正することができる。

0017

1−2.構成
図1Aに簡略化して示すように、ロボット1は、アーム111、112、113、114、115とからなるアーム11と基台110とを備えている。基台110は、第一アーム111の回転軸部材121を支持している。基台110は図1に示すxyz座標系において動かない構成であれば良く、例えばアーム11を直接支持する台座と台座が上部に固定されて床面に設置されるフレームとを有する構成としても良いし、作業台9と一体の構造物として構成しても良いし、作業台9やベルトコンベヤのフレームや他のロボットが設置されるセルと一体の構造物としても良い。第一アーム111は回転軸部材121の中心軸を中心にして回転軸部材121とともに基台110に対して回転する。第一アーム111は、第二アーム112の回転軸部材122を支持している。第二アーム112は、回転軸部材122の中心軸を中心にして回転軸部材122とともに第一アーム111に対して回転する。第二アーム112は、第三アーム113の回転軸部材123を支持している。第三アーム113は、回転軸部材123の中心軸を中心にして回転軸部材123とともに第二アーム112に対して回転する。第三アーム113は、第四アーム114の回転軸部材124を支持している。第四アーム114は、回転軸部材124の中心軸を中心にして回転軸部材124とともに第三アーム113に対して回転する。第四アーム114は、第五アーム115の回転軸部材125を支持している。第五アーム115は、回転軸部材125の中心軸を中心にして回転軸部材125とともに第四アーム114に対して回転する。第五アーム115は、回転軸部材126を支持している。マニピュレーターの先端にあたる回転軸部材126には図2にツールの取付面が示されているツールチャック1261が設けられている。ツールチャック1261にはワークを操作するための各種のツールが取り付けられる。図2に示すように、ツールチャック1261の取付面は、4分割されており、その中央部にツールの軸が挿入される。ツールチャック1261の取付面の中心がTCPに相当する。

0018

図1Bに示すように、ロボット1は、回転軸部材121を駆動するモーター131と、回転軸部材122を駆動するモーター132と、回転軸部材123を駆動するモーター133と、回転軸部材124を駆動するモーター134と、回転軸部材125を駆動するモーター135と、回転軸部材126を駆動するモーター136と、モーター131〜136を制御する制御部14とを備えている。モーター131〜136は、アーム111〜115の構成要素である。モーター131〜136は、目標値と現在値との差分がゼロになるようにフィードバック制御されるサーボモーターである。制御部14は、TCPの位置と姿勢を示す目標値をPC3から取得し、TCPの位置と姿勢を示す目標値に基づいてモーター131〜136の目標値を導出する。

0019

撮像部2は、レンズ201、エリアイメージセンサー202、図示しないAD変換器等を備えるデジタル撮像部である。本実施例において撮像部2は、ロボット1を制御する際に用いられる図1に示すxyz座標系において固定された点に設けられる。すなわち本実施例においては、撮像部2はアーム11が動く座標系において固定された点に設けられる。具体的には撮像部2は、図1Aに示すように、ワークが載置されるテーブル9上の所定位置に、鉛直上向きに撮像できるように設けられる。なお、アーム11が動く座標系において固定された点に撮像部2が設けられる限りにおいて、本実施例で説明する自動校正を実施することができる。例えば撮像部2は、ロボット1が設置される部屋の壁や天井や床に固定しても良いし、ロボット1の基台110に固定しても良いし、ロボット1が固定されるセルのフレームに固定しても良い。また、本実施例で校正されるロボットビジョンは、予め決められた基準平面を対象とする二次元のロボットビジョンである。このため、レンズ201には、被写界深度が浅く(焦点距離が短く)F値が小さな単焦点レンズを用いることが好ましい。

0020

PC3は、図示しないプロセッサDRAMからなる図示しない主記憶、図示しない入出力機構不揮発性メモリからなる図示しない外部記憶ディスプレイ、指示受付部30として機能するキーボード等を備えるコンピューターである。PC3は、外部記憶に記憶された校正プログラムをプロセッサで実行することにより、指示受付部30、画像取得部31、目標値導出部32、出力部33、校正部34として機能する。

0021

画像取得部31は、撮像部2に対して撮像を指示し、指示に応じて基準点を示すマーカーが撮像された画像を撮像部2から取得する。本実施例で用いる基準点は、図3に示すように任意の位置と姿勢の回転軸部材126に垂直な平面上の9つの格子点P1、P2、P3、P4、P5、P6、P7、P8、P9である。本実施例では任意の位置と姿勢の回転軸部材126に対して定まる基準点P1〜P9を含む平面を基準平面という。基準点P1〜P9同士の相対的な位置関係はロボット座標系で固定されているが、基準点P1〜P9は、自動校正実行中に回転軸部材126が動くことにより撮像部2の固定された視野内で動く。すなわち、校正の過程では、回転軸部材126の位置と姿勢(x、y、z、u、v、w)に応じて基準平面を定めるX軸とY軸が定められ、基準点の座標はX軸座標とY軸座標とで定められる。X軸とY軸は回転軸部材126の中心軸に対して垂直でかつ互いに垂直であり、基準平面を定めるときのTCPを基準平面の原点とする。そして、最終的に校正された時点での基準平面がロボットビジョンの対象となる。なお、基準平面は回転軸部材126に固定された座標系であるため、基準平面の座標系とロボット座標系の関係は線形である。本実施例では、基準点P1〜P9を示すマーカーとして、図2に示すツールチャック1261の取付面が用いられる。

0022

目標値導出部32は、ツールチャック1261の取付面のテンプレートを保持している。ツールチャック1261の取付面のテンプレートは撮像部2から取得する画像を解析して基準点の座標を撮像部2の座標系で検出するために用いられる。目標値導出部32は、撮像部2と基準点P1〜P9の位置関係を予め決められた状態に変化させるための目標値を、撮像部2が撮像した画像に基づいて導出する。具体的には、目標値導出部32は、撮像部2が撮像した画像に基づいて、予め決められた状態に対応する基準点P1〜P9の位置と姿勢をTCPの目標値として導出する。ここでいう予め決められた状態とは、以下の状態である。
垂直状態:基準平面と撮像部2の光軸が垂直な状態
・合焦状態:基準平面に撮像部2が合焦する状態

0023

垂直状態には、基準平面に合焦していない状態で撮像された画像に基づいて導出される目標値によって定まる低精度垂直状態と、後述する「傾き指標」の閾値によって定まる高精度垂直状態が含まれる。合焦状態は、合焦の指標である画像のシャープネスによって定まる。なお、本実施例では、画像の予め決められた領域(部分画像)のシャープネスが最大になる状態を合焦状態とするが、合焦の指標に閾値を設けることにより合焦状態に何らかの幅を持たせても良い。

0024

出力部33は、目標値導出部32によって導出された目標値をロボット1の制御部14に出力することにより、撮像部2と基準点P1〜P9の位置関係を垂直状態、合焦状態に変化させる。

0025

1−3.自動校正
1−3−1.全体の流れ
次に上述したロボットシステムを用いた自動校正の全体の流れについて図4を参照しながら説明する。

0026

ロボットシステムによる自動校正は、オペレーターが校正開始指示をPC3に入力することによって起動し、それ以後、オペレーターに一切の操作を要求することなく完了する。校正開始指示を入力する前にオペレーターに求められるのは、ロボットシステムの環境情報をPC3に入力する操作と、所謂ジョグ送りによってマニピュレーター先端の回転軸部材126を撮像部2の光軸が凡そ通る状態にTCPを移動させることだけである。すなわち、校正開始指示を入力する前にオペレーターに緻密な操作は何ら必要とされない。環境情報には、エリアイメージセンサー202の画素数とサイズとレンズ201の焦点距離とが含まれる。また、本実施例ではツールチャック1261の取付面自体を基準点を示すマーカーとして用いるが、基準点を示すマーカーが表された板などをツールチャック1261に装着する場合には、TCPに対するマーカーの相対位置や姿勢を入力する必要がある。

0027

校正開始指示がPC3に入力されると(ステップS1)、PC3は低精度傾き補正を実行する(ステップS2)。低精度傾き補正では、校正開始指示が入力された時点でのTCPの位置と姿勢に対応する基準平面が設定される。続いて、設定された基準平面上の9つの基準点にTCPが位置する状態で撮像部2による撮像が行われ、9つの基準点を示すTCPの位置が撮像部2の座標系で検出される。そして、検出結果に基づいて基準平面と撮像部2の光軸を垂直な状態(垂直状態)にするための目標値が導出される。導出された目標値がロボット1に入力されて、目標値に基づいてアーム111〜115が動くと基準平面と撮像部2の光軸が凡そ垂直な低精度垂直状態になる。

0028

次にPC3は、焦点調整を実行する(ステップS3)。焦点調整では、低精度垂直状態の基準平面に対して垂直な方向にTCPを移動させながら撮像部2による撮像が行われ、画像に写るツールチャック1261のシャープネスが最大になる合焦状態が探索される。続いて探索結果に基づいて合焦状態にするための目標値が導出される。導出された目標値がロボット1に入力されて、アーム111〜115が目標値に基づいて動くと合焦状態になる。

0029

次にPC3は、高精度傾き補正を実行する(ステップS4)。高精度傾き補正では、低精度垂直状態でかつ合焦状態の基準平面を微小な角度ずつ傾けながら、撮像部2による撮像が行われる。同一基準平面内の複数の基準点を示すマーカーとしてのツールチャック1261が撮像された複数の画像に基づいて基準平面の傾き指標が導出される。基準平面の傾き指標は、撮像部2の光軸と基準平面がなす角度と90度の差と正の相関を持つ値である。導出された傾き指標に基づいて、垂直状態にするための目標値が導出される。導出された目標値がロボット1に入力されて、目標値に基づいてアーム111〜115が動くと高精度垂直状態になる。

0030

次にPC3は、9点校正を実行する(ステップS5)。9点校正では、高精度垂直状態の基準平面に属する9つの基準点の基準平面の座標系の座標と撮像部2の座標系の座標とに基づいて、ロボット座標系と撮像部2の座標系を校正する最終的な変換式が導出される。

0031

以上、概要を述べたように、校正装置としてのPC3は、低精度傾き補正、焦点調整、高精度傾き補正を順次することにより、基準平面が撮像部2の光軸に対して垂直で、基準平面に対して撮像部2が合焦した状態になるように自動でロボット1を制御してロボットビジョンの対象となる基準平面を設定した後に、設定された基準平面について9点校正を実行する。

0032

1−3−2.低精度傾き補正
次に図5を参照しながら低精度傾き補正の詳細を説明する。
まず、目標値導出部32は、基準平面を設定し、設定した基準平面に属する9つの基準点にマーカーとしてのTCPを移動させるための目標値を導出する。続いて、出力部33がロボット1の制御部14に目標値を出力し、各基準点にTCPが位置する状態で撮像された9つの画像を画像取得部31が撮像部2から取得する(ステップS21)。TCPの移動先である基準点は、校正開始指示が入力された時点でのツールチャック1261の位置と姿勢(TCPの位置と姿勢)に基づいて導出される。具体的には例えば、中央の基準点P5を校正開始指示が入力された時点でのTCPの位置に設定し、校正開始指示が入力された時点での回転軸部材126と垂直な平面を基準平面としてその他の基準点を導出する。出力部33は、このようにして導出された9つの基準点のロボット座標系での座標を制御部14に目標値として出力する。

0033

ここで撮像部2によって撮像される9つの画像について図7図8を用いて説明する。図7は、撮像部2に対する基準平面F(n)の位置と姿勢を模式的に示している。F(0)はステップS21で撮像される基準平面である。9つの基準点P1〜P9にマーカーとしてのTCPを移動させる毎に撮像すると、撮像部2から取得する各画像におけるツールチャック1261の位置は、基準点P1〜P9の位置に応じて異なることになる。9つの画像のそれぞれに表れるツールチャック1261を1つの画像にまとめて表すと、例えば図8(A)に示すようにツールチャック1261は非格子点に表れる。なお、図8において合焦の程度は反映されていない。ロボット座標系で同一平面内に設定された各基準点をマーカーが示すようにロボットを動かして、それぞれの基準点におけるマーカーをロボット座標系において固定された撮像部で撮像したn個の画像から得られる基準点の情報は、n個の基準点を示すマーカーが付されている板をロボットで特定の位置と姿勢に保持し、その状態で板に付されたマーカーを撮像した1つの画像から得られる基準点の情報と凡そ同じである。前者の情報には、厳密なロボット座標系と撮像部の座標系の対応関係が反映され、後者の情報には、ロボット座標系とマーカーが付された板の座標系を合成した座標系と撮像部の座標系の対応関係が反映される。ロボット座標系とマーカーが付された板の座標系が線形な関係にあるとは限らないため、厳密にロボット座標系と撮像部の座標系を校正するには、前者の情報を用いることが好ましい。

0034

続いて目標値導出部32は、各基準点にTCPが位置する状態で撮像された9つの画像を解析し、各画像におけるツールチャック1261の取付面の中心位置を検出する(ステップS22)。すなわち、目標値導出部32は、撮像部2の座標系で9つの基準点の位置を検出する。

0035

続いて目標値導出部32は、基準平面の座標系での基準点の座標と、撮像部2の座標系での基準点の座標とに基づいて、撮像部2の座標系とロボット座標系の対応関係を導出する(ステップS23)。具体的には、撮像部2の座標系をロボット座標系に変換するための変換行列を導出する。このような変換行列を求めることは、ステップS21で設定した基準平面について撮像部2の座標系とロボット座標系とを校正することに他ならない。ただし、ここで導出される変換行列は、撮像部2が基準点P1〜P9に合焦していない状態で撮像された画像に基づいて導出されるものであるから、撮像部2の光軸に対する基準平面の姿勢や基準点P1〜P9の位置に正確に対応したものではない。

0036

続いて目標値導出部32は、ステップS23で導出した変換行列に基づいて、撮像部2の光軸に対して基準平面が垂直になり、かつ、撮像部2の光軸が中央の基準点P5を通る位置と姿勢に基準平面を動かすための目標値を導出する。導出された目標値は、出力部33によってロボット1の制御部14に出力される(ステップS24)。入力された目標値に応じてアーム111〜115が動くことにより、基準平面は、撮像部2の光軸に対して凡そ垂直になり、かつ、撮像部2の光軸が中央の基準点P5を凡そ通る位置と姿勢になる。すなわち、低精度傾き補正を実行して終了すると、撮像部2と基準点P1〜P9の位置関係は低精度垂直状態になる。

0037

1−3−3.焦点調整
次に図6を参照しながら焦点調整の詳細を説明する。
はじめに目標値導出部32は現在のTCPの位置と姿勢を保存する(ステップS31)。すなわち、図7に示すように低精度傾き補正が終了した時点における基準平面F(1)に対応するTCPの位置と姿勢が保存される。

0038

次に、目標値導出部32は、低精度傾き補正時に導出した基準平面の座標系での基準点の座標と、撮像部2の座標系での基準点の座標とに基づいて、焦点調整時に取得する画像内にツールチャック1261が写る領域と、撮像部2からツールチャック1261までの距離とを導出する(ステップS32)。

0039

続いて画像取得部31は撮像部2から画像を取得する(ステップS33)。このとき、画像取得部31は、ステップS32で導出された領域にツールチャック1261が写っている画像を取得することになる。

0040

続いて目標値導出部32は、撮像部2から取得した画像に基づいて撮像部2の合焦指標を導出する(ステップS34)。合焦指標としては、ツールチャック1261が写る領域の微分積算値(シャープネス)を一定面積標準化した値を用いることができる。合焦指標を導出する対象領域は、図8Bの点線で囲んだ領域のようにツールチャック1261が画像に写る領域に設定される。すなわち、撮像部2によってマーカーとしてのツールチャック1261が撮像された画像から切り出された部分画像に基づいて合焦指標が導出される。

0041

続いて目標値導出部32は、焦点調整において撮像部2が撮像した回数規定回数に達したか否かを判定する(ステップS35)。

0042

焦点調整において撮像部2が撮像した回数が規定回数に達していない場合、目標値導出部32は基準平面に対して垂直で撮像部2に接近する方向に所定距離だけTCPを移動させ(ステップS36)、ステップS33から処理が繰り返される。すなわち、撮像回数が規定回数に達するまで、基準平面はロボット1のTCPとともに図7に示すようにF(2)、F(3)、F(4)、・・・と移動し、各基準平面について撮像部2による撮像が行われ、撮像された画像毎に合焦指標が導出される。ツールチャック1261が撮像部2に接近するほど、ツールチャック1261が写る領域は大きくなり、やがてツールチャック1261は図8Cに示すように画像に収まらなくなる。そこで合焦指標を導出する対象領域は、ツールチャック1261が撮像部2に接近するほど大きく設定され、ツールチャック1261が写る領域が画像の端辺に接した後に画像全体になる。このようにして設定される領域について合焦指標が導出されると、合焦指標がシャープネスであれば、通常は、徐々に大きくなった後に徐々に小さくなる。

0043

焦点調整において撮像部2が撮像した回数が規定回数に達すると、目標値導出部32は、合焦状態にするための目標値を合焦指標に基づいて導出し、出力部33は導出された目標値をロボット1に出力する(ステップS36)。具体的には例えば、ステップS34で導出される複数の合焦指標のうち最大の合焦指標が得られた位置にTCPを移動させるための目標値が導出される。導出された目標値がロボット1に出力されると、基準平面は撮像部2に対して合焦状態になる。通常は、図7において基準平面がF(7)からF(5)に動くように、基準平面に対して垂直で撮像部2から離れる方向にTCPが移動するようにアーム111〜115が動くことによって合焦状態になる。

0044

以上述べたように、焦点調整では、基準平面と垂直で撮像部2に接近する第一方向に基準点を接近させた後に、マーカーとしてのツールチャック1261が撮像された画像から切り出された部分画像に基づいて合焦状態にするための目標値が導出される。導出された目標値に基づいて、アーム111〜115が基準点と撮像部2との位置関係を合焦状態に変化させる。ここで焦点調整は低精度垂直状態で行われるため、基準平面と撮像部2の光軸が垂直である。したがって、基準平面と垂直方向に基準点を移動させることは、撮像部2の光軸と平行な方向に撮像部2と基準点の位置関係を変化させることと凡そ同じである。

0045

1−3−4.高精度傾き補正
次に高精度傾き補正について図9を参照しながら詳細に説明する。
はじめに目標値導出部32は、現在の傾き指標H1を導出する(ステップS401)。傾き指標は、同一の基準平面に属する中央の基準点P5とその近傍の4つの基準点P2、P4、P6、P8の基準平面の座標系の座標と撮像部2の座標系の座標とを用いて導出される。基準平面が撮像部2の光軸に垂直であって、中央の基準点P5を撮像部2の光軸が通る状態で撮像部によって撮像される画像において(図8D参照)、ツールチャック1261が示す各基準点の間隔d1、d2、d3、d4は等しくなる。そしてこのとき、基準点Pnの座標をp(n)で表すとすれば、次式成立する。

0046

u1=u2
v1=v2
ただし、
u1=p(5)−p(4)
u2=p(6)−p(5)
v1=p(5)−p(2)
v2=p(8)−p(5)

0047

そして、垂直状態から基準点P2と基準点P8を結ぶ直線を軸に基準平面が回転すると、回転角度に応じてv1とv2の差が大きくなる。また垂直状態から基準点P4と基準点P6を結ぶ直線を軸に基準平面が回転すると、回転角度に応じてu1とu2の差が大きくなる。したがって、傾き指標として次式のHx、Hyを用いることができる。
Hx=|u1−u2|
Hy=|v1−v2|

0048

次に目標値導出部32は、導出した傾き指標Hx、Hyを予め決めた閾値と比較し、傾き指標Hx、Hyが予め決められた閾値以下であるか否かを判定する(ステップS402)。傾き指標Hx、Hyが予め決められた閾値以下である場合、高精度傾き補正は成功して終了する。

0049

傾き指標Hx、Hyが予め決められた閾値以下でない場合、目標値導出部32は、後述するステップS411の傾き補正の実施回数が予め決められた閾値未満であるか否かを判定する(ステップS403)。傾き補正の実施回数が予め決められた閾値未満でない場合、高精度傾き補正は失敗して終了する。高精度傾き補正が失敗して終了する場合、自動校正を終了しても良いし、低精度傾き補正から自動校正をやり直しても良い。

0050

傾き補正の実施回数が予め決められた閾値未満である場合、目標値導出部32は現在のTCPの姿勢を姿勢(1)として保存する(ステップS404)。

0051

次に目標値導出部32は基準平面をY軸まわりにδ度回転させるための目標値を導出し、出力部33は導出された目標値をロボットに出力する(ステップS405)。δは、高精度垂直状態に許容される誤差に応じて予め決められる微小な角度である。続いて目標値導出部32は、目標値に応じてTCPとともに回転した基準平面について新たな基準点を設定し、新たな各基準点にTCPが位置する状態で撮像された画像を解析することにより、傾き指標H2を導出する(ステップS406)。具体的には、目標値導出部32は回転後の新たな基準平面に属する基準点P2、P4、P5、P6、P8にTCPを移動させるための目標値を導出し、出力部33は導出された目標値をロボット1に出力し、画像取得部31は各基準点にTCPが位置する状態で撮像された画像を撮像部2から取得する。目標値導出部32は、このように取得された画像をステップS401と同様に解析することにより、傾き指標H2を導出する。その結果、姿勢(1)に対応する基準平面からY軸まわりにδ度回転した基準平面について傾き指標H2が導出される。続いて出力部33は、姿勢(1)にTCPを復帰させるための目標値をロボット1に出力する(ステップS407)。

0052

次に目標値導出部32は、基準平面をX軸まわりにδ度回転させるための目標値を導出し、出力部33は導出された目標値をロボットに出力する(ステップS408)。続いて目標値導出部32は、目標値に応じてTCPとともに回転した基準平面について新たな基準点を設定し、新たな各基準点にTCPが位置する状態で撮像された画像を解析することにより、傾き指標H3を導出する(ステップS409)。その結果、姿勢(1)に対応する基準平面からX軸まわりにδ度回転した基準平面について傾き指標H3が導出される。

0053

次に目標値導出部32は、傾き指標H1、H2、H3に基づいて傾き補正量ΔV、ΔWを導出する(ステップS410)。傾き補正量ΔV、ΔWは、次式によって導出される。

0054

0055

次に目標値導出部32は導出された傾き補正量ΔV、ΔWに基づいて目標値を導出し、導出された目標値を出力部33がロボットに出力する(ステップS411)。その結果、アーム111〜115が動くことによりX軸まわりにΔV、Y軸周りにΔWだけ基準平面が回転する。

0056

高精度傾き補正では、以上述べたステップS401からS411までの処理を、ステップS402で肯定判定がなされて高精度垂直状態になって終了するか、ステップS403で否定判定がなされるまで繰り返される。

0057

1−3−5.9点校正
次に9点校正について説明する。高精度傾き補正が成功した状態では、基準平面は撮像部2の光軸に対して正確に垂直になっている。このことは、高精度傾き補正が完了するまでに得られる基準点の座標に基づいて、ロボット座標系と撮像部2の座標系が基準平面においては回転成分拡大縮小成分について校正できることを意味する。9点校正では、基準平面上の任意の点について、レンズ201の歪みも加味して、正確にロボット座標系と撮像部2の座標系とを校正する。すなわち、9点校正では、ロボット座標系と撮像部2の座標系との線形の関係性非線形補正するためのパラメーターが、ロボット座標系の9つの基準点の座標と撮像部2の座標系の9つの基準点の座標とを用いて導出される。具体的には、出力部33は、9つの基準点にTCPを移動させるための目標値をロボット1に出力してアーム111〜115を動かし、画像取得部31は各基準点に位置するツールチャック1261を撮像した9つの画像を取得する。校正部34は、各画像を解析してツールチャック1261が示す基準点を検出する。続いて校正部34は、出力部33がロボット1に出力した目標値の座標と、画像を解析して取得した基準点の座標とに基づいて、最終的な校正のための補正パラメーターを導出する。なお、このような非線形補正に用いるパラメーターを導出するために用いる基準点の数が多いほど校正の精度は高くなる。

0058

1−4.変形例
なお、撮像部2の位置と姿勢がロボット座標系において固定されていれば、上述した方法で撮像部2の座標系とロボット座標系とを校正することができることはいうまでもない。すなわち、アーム11が動く座標系において固定された点に撮像部2が設けられる限りにおいて、第一実施例で説明した自動校正を実施することができる。例えば、撮像部2を室内の壁に、光軸が水平になるように固定して、垂直な基準平面を設定しても良い。また例えば、撮像部2を室内の天井に、鉛直下向きに固定して、水平な基準平面を設定しても良い。また例えば、ロボット1が設置される部屋の床に撮像部2を固定しても良いし、ロボット1の基台110に撮像部2を固定しても良いし、ロボット1が固定されるセルのフレームに撮像部2を固定しても良いし、ロボット1に併設されるベルトコンベヤなどの装置に撮像部2を固定しても良い。ベルトコンベヤなどの外部装置に撮像部2を固定すれば、ロボット1と外部装置とを協働させて作動させるためにロボット1と外部装置との位置合わせをすることが容易になる。
そしてアーム11が動く座標系において固定された点に撮像部2が設けられる場合には、第一実施例で説明したようにロボット1を制御するためのxyz座標系の特定点にアーム11によってマーカーを位置づけて自動校正が実施される。なおこの場合、マーカーをアーム11のどの部分に固定してもよい。例えば上記実施例ではTCPをマーカーとして用いたが、第一アーム111、第二アーム112、第三アーム113、第四アーム114、第五アーム115のいずれにマーカーを固定しても良い。

0059

2.第二実施例
第二実施例では、撮像部22をロボット1の可動部であるアーム11に装着したロボットシステムについて説明する。本実施例では、図10に示すように撮像部22の光軸が回転軸部材126と平行になるように撮像部22がアーム111にステー等で固定されているものとする。第一実施例ではロボット座標系に固定された撮像部2のロボットビジョンを校正するために基準点をロボット座標系で動かしながら校正対象となる基準平面を設定した。これに対して第二実施例では校正対象となる基準平面がロボット座標系に対してはじめから固定されているため、校正対象となる基準平面に対して光軸が垂直な状態になるように撮像部22をロボット1で動かした状態で校正が実行される。

0060

以下、撮像部22をロボット1の可動部に装着したロボットシステムの自動校正について図11を参照しながら説明する。
本実施例の自動校正は、撮像部22の光軸が回転軸部材126と凡そ平行になっていることを前提として実施される。校正開始指示を入力する前の準備段階でアーム115に対する撮像部22の撮像位置と撮像姿勢を環境情報として設定する必要がある。撮像位置は撮像部22の光軸とエリアイメージセンサー202が交わる位置とする。撮像姿勢は光軸の姿勢とする。ただし、環境情報として設定される撮像部22のアーム115に対する撮像位置と撮像姿勢が、自動校正を開始する時点で、撮像部22のアーム115への取り付け状態と厳密に対応している必要はない。

0061

また本実施例の自動校正は、図12に示すようにロボット座標系に対して固定された9つの基準点P21〜P29について実施される。基準点P21〜P29は任意に設定可能な1つの基準平面に含まれる格子点である。そこで準備段階において、図13に示すマーカー41〜49が付されたマーカーボード4が図10に示すようにテーブル9に固定される。マーカーボード4は、円形輪郭を有する9つのマーカー41〜49が平坦な面の所定の格子点に付された板である。マーカーボード4上の各マーカー41〜49の中心位置はマーカーボード4に固定された2次元の座標系(マーカー座標系)で目標値導出部32が保持する。各マーカー41〜49の中心が基準点P21〜P29として定義される。なお、マーカーはマーカーが撮像された画像からマーカーを検出することにより基準点を特定可能な形態であればよい。すなわち、特定の点の位置をマーカーの図形に対して幾何学的に定義できる形態であればよい。マーカーから離れた点が基準点として定義されてもよいし、1つのマーカーから複数の基準点が定義されても良いし、互いに離れた複数のマーカーで1つの基準点が定義されても良い。

0062

指示受付部30が校正開始指示を受け付けると(ステップS1)、低精度傾き補正が実行される(ステップS2)。マーカーボード4に付されたマーカー41〜49が9つの基準点を示すため、本実施例の低精度傾き補正では基準点毎にロボット1を動かす必要はない。マーカーボード4の全体を撮像部22で撮像可能な状態で校正開始指示を受け付けると、画像取得部31は9つのマーカー41〜49が写った1つの画像を撮像部22から取得する。目標値導出部32は、取得した1つの画像を解析してマーカー41〜49が示す9つの基準点を撮像部22の座標系で検出する。続いて目標値導出部32は、基準点の撮像部22の座標系の座標と、環境情報として入力されている撮像部22の撮像位置と撮像姿勢と、マーカー41〜49のマーカー座標系の座標とに基づいて、撮像部22の座標系とロボット座標系の対応関係を導出する。具体的にはマーカー41〜49が位置する基準平面について撮像部22の座標系をロボット座標系に変換するための変換行列を導出する。ただし、ここで導出される変換行列は、撮像部22がマーカー41〜49に合焦していない状態で撮像された画像に基づいて導出されるものであるから、基準点P21〜P29に対する撮像部22の撮像姿勢や撮像位置に正確に対応したものではない。続いて目標値導出部32は、導出した変換行列に基づいて、マーカーボード4に対して撮像部22の光軸が垂直になり、かつ、撮像部22の光軸が中央のマーカー45の中心を通る位置と姿勢にアーム115を動かすための目標値を導出し、導出した目標値を出力部33を介してロボット1の制御部14に出力する。入力された目標値に応じてアーム111〜115が動くことにより、撮像部22の光軸はマーカーボード4に対して凡そ垂直になり、かつ、撮像部22の光軸が中央のマーカー45の凡そ中心を通るようになる。すなわち、低精度傾き補正を実行して終了すると、撮像部22と基準平面の位置関係は低精度垂直状態になる。

0063

次に焦点調整が実行される(ステップS3)。本実施例の焦点調整は、ツールチャック1261が写る領域のシャープネスが最大になるようにTCPを動かす代わりに、マーカーボード4の中央のマーカー45が写る領域のシャープネスが最大になるようにアーム115を動かす点を除けば、第一実施例の焦点調整と同一である。焦点調整が終了すると、撮像部22と基準点P25の位置関係は合焦状態になる。

0064

次に撮像部姿勢補正が実行される(ステップS6)。撮像部姿勢補正は、環境情報として設定されている撮像部22の撮像姿勢と実際の撮像部22の撮像姿勢とのずれを、環境情報を補正することにより、補正する処理である。詳細については後述する。

0065

次に高精度傾き補正が実行される(ステップS5)。高精度傾き補正は、第一実施例の高精度傾き補正と次の点を除いて同一である。第一実施例で用いた5つの基準点のうちの中央の基準点P5を現在の撮像部22の撮像位置とする。また第一実施例で用いた5つの基準点の残りの4つの基準点P2、P4、P6、P8を、撮像部22の撮像位置として、撮像部22の光軸と垂直で現在の撮像位置を含む平面上に、現在の撮像部22の撮像位置を中心とする90度間隔に設定する。これらの5つの撮像位置の設定には、ステップS6で補正された環境情報である撮像部22の撮像位置と撮像姿勢と、現在のアーム115の位置と姿勢とが用いられる。画像取得部31は、このように設定した5つの撮像位置にあって光軸が5つの撮像位置を含む平面に垂直な撮像部22でマーカーボード4を撮像し、5つの画像を取得する。目標値導出部32は、5つの画像を解析してマーカーボード4の中央のマーカー45の中心を撮像部22の座標系で検出する。このようにして検出するマーカー45の5つの中心座標を第一実施例の高精度補正において検出した5つの基準点の座標の代わりに用いて第一実施例と同様の高精度傾き補正を実行する。このような高精度傾き補正を実行することにより、撮像部22の光軸がマーカーボード4と垂直で、かつ、撮像部22の光軸がマーカー45の中心を通る状態に対応する目標値が導出される。導出された目標値がロボット1に入力されると、入力された目標値に基づいてアーム111〜115が動き、撮像部22の光軸がマーカー45の中心を通りマーカーボード4に対して垂直になる。すなわち、高精度傾き補正が成功して終了すると、基準点P21〜29と撮像部22の位置関係は高精度垂直状態になる。

0066

ここでステップS4の撮像部姿勢補正について詳細に説明する。例えば前述した撮像位置P2、P5、P8において撮像部22の光軸が図14の点線に相当する撮像位置と撮像姿勢が環境情報として設定されているとする。そして実際には、撮像位置P2、P5、P8において光軸が基準平面Fに対して垂直でない実線A2、A5、A8に相当するように撮像部22がアーム115に取り付けられているとする。この場合、撮像位置P2、P5、P8に撮像部22を位置づけてマーカーボード4を撮像することによって高精度傾き補正が実行されるとする。この場合、高精度傾き補正で導出された目標値に基づいてアーム111〜115が動作しても、撮像部22の光軸はマーカーボード4に対して垂直にならない。高精度傾き補正は、「現実の撮像部22の光軸」に対して垂直な平面上にある5つの撮像位置から撮像部22で中央のマーカー45が5回撮像されることを前提としているのに対し、「誤差のある環境情報に対応する光軸」に対して垂直な平面上にある5つの撮像位置から撮像部22で撮像された5つの画像に基づいて傾き指標が導出されるからである。したがって、「現実の撮像部22の光軸」と「環境情報に対応する光軸」とを一致させる補正を高精度補正前に実行する必要がある。高精度補正前に必要なこの補正が撮像部姿勢補正である。

0067

撮像部姿勢補正では、前述した5つの撮像位置P2、P4、P5、P6、P8から、光軸がこれらの撮像位置を含む平面に垂直になる撮像姿勢(補正されるべき環境情報に基づく撮像姿勢)で撮像部22による撮像を行い、5つの画像のそれぞれからマーカーボード4の中央のマーカー45の中心を検出する。続いて、このようにして検出するマーカー45の5つの中心座標を第一実施例の高精度補正において検出した5つの基準点の座標の代わりに用いて第一実施例と同様の傾き補正量ΔV、ΔWを導出する。導出した補正量ΔV、ΔWを用いて環境情報としての撮像部22の撮像姿勢を補正すると、「現実の撮像部22の光軸」と「環境情報に対応する光軸」とを一致させることができる。

0068

高精度傾き補正が成功して終了した後に、9点校正が実施される(ステップS6)。本実施例の9点校正では、第一実施例の9つの基準点P1〜P9にTCPを動かしながら撮像部22で撮像した画像から各基準点の位置を撮像部22の座標系で検出する代わりに、高精度垂直状態にある現在の撮像位置と撮像姿勢の撮像部22から取得する画像から9つのマーカー41〜49の中心を基準点21〜29として検出する。そして、撮像部22の座標系で検出された基準点21〜29の座標を、ロボット座標系の基準点21〜29の座標に変換するための最終的な変換式が導出される。
2−1.変形例
なお、撮像部2がアーム11に固定されていれば、上述した方法で撮像部2の座標系とロボット座標系とを校正することができることはいうまでもない。すなわち、第一アーム111、第二アーム112、第三アーム113、第四アーム114、第五アーム115のいずれかに固定された点に撮像部2が設けられる限りにおいて、第一実施例で説明した自動校正を実施することができる。
そしてアーム11に対して固定された点に撮像部2が設けられる場合には、第二実施例で説明したようにロボット1を制御するためのxyz座標系(アームが動く座標系)の特定点にマーカーを固定して自動校正が実施される。この場合、マーカーは、ロボット1を制御するためのxyz座標系のどの点に固定しても良い。ロボット1が設置される部屋の床にマーカーを固定しても良いし、ロボット1の基台110にマーカーを固定しても良いし、ロボット1が固定されるセルのフレームにマーカーを固定しても良いし、ロボット1に併設されるベルトコンベヤなどの装置にマーカーを固定しても良い。ベルトコンベヤなどの外部装置にマーカーを固定すれば、ロボット1と外部装置とを協働させて作動させるためにロボット1と外部装置との位置合わせをすることが容易になる。

0069

3.第三実施例
ロボット1の状態は、種々のツールが装着されるツールチャック1261の位置と姿勢(すなわちTCPの位置と姿勢)を示す目標値がロボット1に入力されることによって制御される。したがって、ツールチャック1261やその他の部位に装着されるツールの位置と姿勢を制御するためには、TCPに対するツールの位置と姿勢を予め環境情報として設定しておき、ツールの位置と姿勢を、TCPの対応する位置と姿勢に変換して目標値をロボット1に入力する必要がある。本実施例では、各種のツールのTCPに対する位置と姿勢をロボットビジョンを用いて検出して自動設定する方法について述べる。各種ツールのTCPに対する位置と姿勢をロボットビジョンを用いて検出するにあたっては、それ以前に、ロボット座標系と撮像部の座標系の校正が基準平面についてできていることが前提となる。そこで本実施例では、第一実施例で説明したようにテーブル9に固定された撮像部2の光軸に対して垂直な基準平面Fが設定され、設定された基準平面F上の9つの基準点について校正が完了しているとする。この状態で、TCPに対して位置と姿勢が固定されたツールのTCPに対する位置と姿勢をロボットビジョンを用いて検出する方法について図15を参照しながら説明する。本実施例において「ツールのTCPに対する位置と姿勢」は、基準平面上にあるツールの位置と姿勢を、TCPの位置と姿勢(x,y,z,u,v,w)から特定するためのオフセット(ΔX、ΔY、ΔU)によって表される。ここで(x,y,z,u,v,w)はロボット座標系、(ΔX、ΔY、ΔU)は基準平面の座標系であるが、既に述べたとおりロボット座標系と基準平面の座標系の関係は線形である。したがって、ツールの位置と姿勢をロボット座標系と基準平面の座標系のいずれの座標系で定めるかにおいて幾何学的に何ら違いはない。なお、ΔUは基準平面に垂直なZ軸周りの回転成分である。

0070

はじめに、TCPをその中心軸が基準平面に対して垂直な姿勢を保って平行移動させることにより、ツールマーカーによって示されるツールの参照点を基準平面上に移動させる。このときツールチャック1261の中心軸を平行移動させれば良く、ツールチャック1261をその中心軸周りに回転させてもよい(ΔUをオフセットに含めているためである。)。ツールマーカーは参照点を指し示すものであればよく、ツール自体をツールマーカーとしても良いが、本実施例ではツールにツールマーカーとしてラベル貼付するものとする。ラベルはその形状と大きさが既知のものであればよい。参照点はツールに対して固定された点であればよい。またツールの参照点を基準平面に移動させるとき、ジョグ送りによってTCPを移動させても良いが、ロボットビジョンを用いて自動的にTCPを移動させても良い。具体的には、ツールマーカーの形状と大きさが既知であるため、移動前に撮像されたツールマーカーの画像に基づいて、移動前のツールマーカーの基準平面に対する位置を特定する。そして基準平面に対して特定したツールマーカーの位置から基準平面にツールマーカーを移動させるためのTCPの目標値を導出し、導出した目標値をロボット1に出力する。さらにこの撮像と移動の処理を繰り返すことにより、ツールマーカーで示されるツールの参照点を座標平面上に正確に位置づけることが可能である。

0071

次に、基準平面上にツールの参照点が位置する状態でツールマーカーを撮像部2で撮像し、ツールマーカーによって指し示される参照点の位置を撮像部2の座標系で検出する。そして、撮像時のTCPから基準平面に下ろした垂線の足の座標と、検出した参照点の座標とに基づいて、TCPのロボット座標系での位置と姿勢(x0,y0,z0,u0,v0,w0)から基準平面上のツールの位置と姿勢を特定するためのオフセット(ΔX、ΔY、ΔU)を導出する。

0072

たとえば第二実施例の撮像部22をツールとしてオフセット(ΔX、ΔY、ΔU)を導出することにより、環境情報として必要な撮像部22の位置と姿勢が特定される。したがって撮像部22の位置と姿勢をユーザーに設定させる代わりに、撮像部22の位置と姿勢を自動で検出し、検出した撮像部22の位置と姿勢を環境情報として自動で設定することが可能である。そして、そのように環境情報が自動設定された撮像部22を用いて、撮像部22の座標系とロボット座標系とを校正することが可能である。すなわち、ロボット座標系に固定された撮像部2とロボット1の可動部に固定された撮像部22のそれぞれの座標系とロボット座標系との校正を、校正開始指示の入力だけで、自動で完了させることも可能である。さらに、撮像部2や撮像部22とは別の撮像部を追加する場合、当該別の撮像部を撮像部22で撮像することで、当該別の撮像部の座標系とロボット座標系との校正をすることも可能になる。つまり、例えば、マーカーボード4を利用して、ロボットが動作することで、自動で複数の撮像部の座標系とロボット座標系とを校正することができる。

0073

なお、複数のツールT1、T2について環境情報が必要な場合、それぞれの位置と姿勢を特定するためのオフセットをツール毎に導出すればよい。すなわち、図15Aに示すようにツールT1を基準平面Fに移動させてツールT1についてのオフセットを導出し、図15Bに示すようにツールT2を基準平面Fに移動させてツールT2についてのオフセットを導出すればよい。またここまで、最終的に1つの校正された基準平面を設定する例について説明したが、2つ以上の校正された基準平面を設定しても良い。例えば、ツールT1に対応する基準平面とツールT2に対応する基準平面とを設定し、それぞれの基準平面がロボット座標系と校正されても良い。

0074

4.第四実施例
第四実施例では、第一実施例において鉛直上向きに設置されていた撮像部2が図16に示すようにアーム11より上に、アーム11を撮像可能な姿勢で設けられるロボットシステムについて、ロボット座標系と撮像部2の座標系を校正する方法について説明する。今、図16に示すように撮像部2がアーム11の可動範囲よりも上において鉛直下向きに設置されていて、撮像部2によってワークを撮像しながらアーム11の下方にあるワークに対してロボット1による処理がなされるとする。この場合、ツールチャック1261のツールの取付面を下に向けた状態でワークを処理することになるが、その状態では、第一実施例でマーカーとして用いたツールチャック1261のツールの取付面を撮像部2によって撮像することはできない。そこで本実施例では、撮像部2の座標系とロボット座標系とを校正するために必要な画像を取得するために、ツールチャック1261のツールの取付面を下に向けた状態でも撮像部2によって撮像可能なマーカー50を設けたマーカーツール50をツールチャック1261に装着する。そしてツール50のTCPに対するオフセットを導出した後に、第一実施例と同様に撮像部2の座標系とロボット座標系の校正が行われる。

0075

図17に示すように、マーカーツール50は、平坦な板体である平板部52と平板部52に対して垂直に設けられた柱体である取付部53とを備える。取付部53は図17Bに破線で示すようにツールチャック1261に挿入されてツールチャック1261に固定される部分である。ツールチャック1261に取付部53が正しく装着された状態では、取付部53の中心線と平板部52との交点がTCPに一致する。ツールチャック1261に装着する際に平板部52のツールチャック1261と対向する面(すなわち取付部53が設けられている平板部52の面)には参照点を示すマーカー51が形成されている。マーカー51は、同心円の形態を有し、ツール50のツールチャック1261と対向する面に貼付されるシールである。マーカー51は、その中心MCが参照点となる。マーカー51は、撮像部2によって撮像された画像データから参照点を検出可能な形態であれば、どのような形態であっても良い。また、ツールの参照点自体が画像認識によって検出可能な形態を有している場合、参照点を示すマーカーを用いる必要はない。

0076

マーカー中心MCによって示される参照点の、TCPに対して固定された座標系における座標がオフセットとして設定される。すなわち、原点がTCPに対応し、回転軸部材126の回転軸と平行な1軸と、その1軸に対して直交する2軸とを有し、回転軸部材126とともに回転する座標系において、ツールの参照点の座標がツールのオフセットとして設定される。ツール50の棒状の取付部53を予め決められた深さだけツールチャック1261に挿入することは容易である。そこで本実施例では、回転軸部材126の回転軸と平行な1軸のオフセット成分については、予め決められた値を設定し、その他の2軸のオフセット成分を後述するツールセット処理で導出して設定するものとする。

0077

このようなマーカーツール50を用いることにより、ロボット座標系において固定されている撮像部2でTCPとともに運動するマーカー51を撮像することが可能になるため、TCPに対するマーカー51のオフセットさえ特定できれば、第一実施例と同様にロボット座標系と撮像部2の座標系とを自動校正することができる。

0078

以下、TCPに対するマーカー中心MCの位置を特定するためのツールセットについて図18を参照しながら説明する。
ツールセットは、オペレーターがツールセット開始指示をPC3に入力することによって起動し、それ以後、オペレーターに一切の操作を要求することなく、あるいは、簡単な操作で完了する。ツールセット開始指示を入力する前にオペレーターに求められるのは、ツール50の取付部53をツールチャック1261に正しく装着し、撮像部2によってマーカー51を撮像可能な位置にジョグ送り操作でTCPを動かすことと、回転軸部材126の回転軸と平行な1軸の方向についてTCPに対するツール50のオフセット成分を設定することである。

0079

オペレーターの入力に応じて指示受付部30がツールセット開始指示を取得すると(ステップS71)、PC3は、撮像部2によって撮像される画像の重心にマーカー中心MCが位置するようにTCPを移動させる(ステップS72)。具体的には次の通りである。ツールセット開始指示が入力されると、画像取得部31は、撮像部2に撮像を指示して撮像部2から画像データ(1)を取得する。続いて目標値導出部32は、取得した画像データ(1)からマーカー中心MCの位置を撮像部2の座標系で検出する。マーカー中心MCの検出には、予め用意されているマーカー50のテンプレートが用いられる。続いて目標値導出部32は、予め決められた距離だけTCPをx軸方向とy軸方向にそれぞれ並進させた状態で撮像部2に撮像を指示し、撮像部2から画像データ(2)を取得する。続いて目標値導出部32は、取得した画像データ(2)からマーカー中心MCの位置を撮像部2の座標系で検出する。続いて目標値導出部32は、画像データ(1)が撮像された時点でのTCPのロボット座標系の座標と、画像データ(1)から検出したマーカー中心MCの撮像部2の座標系の座標と、画像データ(2)が撮像された時点でのTCPのロボット座標系の座標と、画像データ(2)から検出したマーカー中心MCの撮像部2の座標系の座標とに基づいて、画像座標系における対象の変位をロボット座標系における対象の変位に変換する座標変換行列を導出する。続いて目標値導出部32は、画像データ(2)から検出したマーカー中心MCから画像の重心までの変位を導出し、導出した変位を、座標変換行列を用いてロボット座標系のx軸方向とy軸方向の変位に変換することによって、撮像部2によって撮像される画像の重心にマーカー中心MCを位置合わせするためのTCPの目標値を導出する。続いて出力部33は、導出された目標値を制御部14に出力することによってアーム11を動かす。その結果、TCPがx軸方向とy軸方向にそれぞれ並進し、撮像部2とTCPとマーカー中心MCの位置関係が第一状態となって、図5Aに示すように撮像部2によって撮像される画像の重心にマーカー中心MCが位置する。撮像部2によって撮像される画像の重心は、画像座標系とロボット座標系を対応付ける基準点となる。そして画像の重心にマーカー中心MCが位置する状態では、マーカー中心MCが基準点に対応する作業空間内の点となる。

0080

撮像部2によって撮像される画像の重心にマーカー中心MCが位置する状態になると、PC3は、画像座標系において画像の重心を中心としてTCPが回転するようにアーム11の姿勢を変化させる(ステップS73)。具体的には次の通りである。目標値導出部32は、ロボット座標系におけるマーカー中心MCのx座標およびy座標を、ステップS72で導出した座標変換行列を用いて導出する。ここでマーカー中心MCは画像の重心に位置しているため、画像の重心の座標を、座標変換行列を用いてロボット座標系に変換すると、ロボット座標系におけるマーカー中心MCのx座標およびy座標が導出される。続いて目標値導出部32は、マーカー中心MCを中心としてTCPをxy平面上で予め決められた角度だけ回転させるための目標値を導出する。続いて出力部33は、導出された目標値を制御部14に出力することによってアーム11を動かす。具体的には例えば、ツールセット処理の実行中、常に回転軸部材124の回転軸をz軸と平行に維持する場合、回転軸部材124を予め決められた角度(例えば30度)だけ回転させた後に、回転軸部材121、122、123、125、126を回転させることによってTCPをz軸と垂直な方向に並進させればよい。その結果、図19Cに示すように、マーカー中心MCを中心としてTCPが予め決められた角度だけ回転し、撮像部2とTCPとマーカー中心MCの位置関係が第一状態から第二状態に遷移する。この遷移の過程において、画像座標系では、図19Aから図19Bに示すように画像の重心を中心としてTCPが回転することになる。回転角度は、回転後に位置と姿勢が変化したツールチャック1261に装着されているツール50を撮像部2によって撮像可能な範囲で予め定めておけばよい。

0081

画像の重心は、レンズ202の光軸に対応するため、レンズ202の歪みが、画像の重心から外れたところと比べると少ない。したがって本実施例のようにロボット座標系と画像座標系とが正確に校正されていない状態であっても、TCPの画像座標系における回転中心である基準点と画像の重心の関係には歪みが少ない。しかし、本実施例では、基準点を中心にTCPを回転させることができればよいため、基準点と画像上の特定点の関係に歪みがあったとしても、特定点を動かさない限り、問題にならない。したがって、TCPを回転させる基準点に対応する点は画像の重心でなくても良い。

0082

画像座標系において画像の重心を中心としてTCPを回転させると、PC3は、ステップS72の実行後のTCPの位置と、ステップS73のTCPの位置とに基づいてTCPに対するマーカー中心MCのオフセットを導出して設定する(S74)。ここで図19Cを参照しながらロボット座標系において第一状態と第二状態とを説明する。第一状態から第二状態に遷移する過程において、TCPはz方向に移動せずにマーカー中心Mを中心として回転する。この過程においてTCPはマーカー中心MCを中心とする円弧軌跡を描く。この円弧の半径はTCPからマーカー中心MCまでの距離と等しく、円弧の中心角は第一状態から第二状態にTCPを回転させた角度に等しい。そこで校正部34は、第一状態と第二状態とについて、TCPのx、y座標を、マーカー中心MCのx、y座標と、円弧の中心角θと、円弧の半径rとで表して連立方程式を解き、ロボット座標系においてマーカー中心MCのx座標およびy座標を導出する。第一状態、第二状態のTCPのx座標及びy座標は既知であり、ロボット座標系と回転軸部材126に固定された座標系(TCPに固定された座標系)の対応関係も既知である。そこで校正部34は、第一状態、第二状態のいずれか一方のTCPのx座標及びy座標と、マーカー中心MCのx座標およびy座標とに基づいて、回転軸部材126の回転軸に垂直な2軸の方向についてTCPに対するツール50のオフセット成分を導出して設定する。

0083

ところで、本実施例では撮像部2の撮像方向Aとロボット座標系のz軸が平行であることを前提としているが、図20Aに示すように撮像部2の撮像方向Aとロボット座標系のz軸が非平行であっても、問題なくツール50のオフセットを導出することができる。なぜならば、第一状態から第二状態にかけてTCPは、撮像方向Aと平行な軸ではなくz軸と平行な軸の周りを回転し、ステップS74でオフセットを導出する際にTCPの画像座標を用いる必要がなく、ロボット座標系の方程式解くことによってオフセットを導出できるからである。すなわち、図20Aに示すように撮像部2の撮像方向Aとロボット座標系のz軸が非平行であっても、ロボット座標系におけるTCPとマーカー中心MCの関係は、図20Bに示すように、撮像部2の撮像方向Aとロボット座標系のz軸が平行である場合と変わらないからである。

0084

以上説明したツールセット処理では、撮像部2によってマーカーMを撮像可能な位置にジョグ送り操作でTCPを動かしさえすれば、回転軸部材126の回転軸と平行な1軸を除く残りの2軸の成分についてTCPに対するツール50のオフセットを自動的に導出して設定することができる。したがって、オフセットの設定が容易に短時間で実行可能になる。そしてツールセットが終了すると、第一実施例と同様に撮像部2の座標系とロボット座標系とを自動校正することが可能な状態になる。そして本実施例によると、ツールが装着されるツールチャック1261を撮像できない位置と姿勢に撮像部2が設けられていても、マーカーツール50のツールチャック1261と対向する面にマーカー51が形成されているため、撮像部2の座標系とロボット座標系とを自動校正することができる。

0085

なお、本実施例では、ツールチャック1261に取付部53が正しく装着された状態で取付部53の中心線と平板部52との交点がTCPに一致し、マーカー51が形成される面が平面であるため、ツールチャック1261に取付部53が正しく装着された状態においてマーカー51は回転軸部材126の回転軸と垂直でTCPを含む平面上に位置するが、マーカー51は回転軸部材126の回転軸と垂直でTCPを含む平面上に位置していなくともよい。

0086

5.他の実施形態
尚、本発明の技術的範囲は、上述した実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。

0087

例えば、校正開始指示はマウスによるクリック操作やディスプレイに対するタップ操作音声によって受け付けても良い。

0088

また、上記実施例で説明した低精度傾き補正、焦点調整、高精度傾き補正の順序入れ替え、低精度傾き補正の前に焦点調整を実行してもよいし、低精度傾き補正、焦点調整、高精度傾き補正のいずれかを省略しても良い。また校正が行われていない状態で撮像部によってマーカーが撮像された画像に基づいて導出された目標値を取得し、目標値に基づいて撮像部と基準点の位置関係を予め決められた状態に変化させる処理が少なくとも1つあればよい。例えば、基準点に合焦させるためのロボット操作をジョグ送りによって行い、高精度傾き補正だけを画像に基づいて導出された目標値に基づいて実行してもよい。

0089

また、9点校正を実施せずに、高精度傾き補正する際に取得した3点以上の基準点の座標にもとづいてロボット座標系と撮像部の座標系の校正を行っても良い。すなわち、撮像部の座標系とロボット座標系の校正は、高精度傾き補正により設定した基準平面上の3以上の基準点を用いて行えばよく、8以下の基準点を用いて校正を実行してもよいし、10以上の基準点を用いて校正を実行しても良い。

0090

またロボットを所定の姿勢に変化させるための何らかの目標値が校正開始指示に含まれても良い。例えば、撮像部またはマーカーボードをテーブルに固定する位置が予め決められている場合に、基準平面と撮像部がほぼ正対する位置にロボットビジョンを用いずにロボットを動かすための目標値が校正開始指示に含まれてもよい。

0091

また本発明は、6軸以外の垂直多関節ロボットにも適用できるし、アームの回転軸が全て平行なスカラーロボットにも適用できる。そして本発明は、2以上の撮像部を用いる3次元のロボットビジョンに適用することも可能である。すなわち、3次元のロボットビジョンを実現するための複数の撮像部の座標系とロボット座標系とを校正するにあたって、本発明を適用することにより、各撮像部とマーカーの位置関係を、撮像部の座標系とロボットの座標系とを校正するために必要な画像を撮像できる状態に、校正開始指示によって変化させることができる。

0092

131〜136…モーター、111〜115…アーム、1…ロボット、2…撮像部、3…PC、4…マーカーボード、9…テーブル、14…制御部、31…画像取得部、31…画像取得部、32…目標値導出部、33…出力部、34…校正部、41〜49…マーカー、50…マーカーツール、51…マーカー、110…基台、111…第一アーム、112…第二アーム、113…第三アーム、114…第四アーム、115…第五アーム、121〜126…回転軸部材、131〜136…モーター、201…レンズ、202…エリアイメージセンサー、1261…ツールチャック、F…基準平面、P1〜P9…基準点、P21〜P29…基準点

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • カーネギーメロンユニバーシティーの「 テクスチャなし物体の姿勢を推定するシステム及び方法」が 公開されました。( 2019/06/06)

    【課題】テクスチャなし物体の姿勢を推定するシステム及び方法が開示されている。【解決手段】テクスチャなし物体の姿勢を推定する方法は、処理装置により、テクスチャなし物体の単一の画像を取得するステップを含む... 詳細

  • 住友理工株式会社の「 後付コネクタ」が 公開されました。( 2019/05/30)

    【課題】ロボットアームのリンク間のねじり動作を妨げることのない配線を、後付け可能な構造によって実現することができる、新規な構造の後付コネクタを提供すること。【解決手段】第一,第二の外装部材16,18が... 詳細

  • 株式会社京都製作所の「 物品移載装置」が 公開されました。( 2019/05/23)

    【課題】様々な重量の物品を高速で安定して移載することができる物品移載装置を提供することを目的とする。【解決手段】ベース部1と、ベース部1に設けられた右側アーム部2および左側アーム部3と、右側アーム部2... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ