(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
前記生産システムでは、欠陥検査および研磨を行っているだけである。一方、ロボットと物体とが干渉し得る作業が行われる場合は、ロボット、搬送装置、物品等の破損防止の目的で、ロボットの力制御を行う必要が生ずる。しかし、搬送装置によって移動している物品は予測できない挙動を行う可能性があるので、力制御の制御周期を極めて短くし、または、感度を高めないと、前記の破損防止を実現することは難しい。
【0006】
しかし、ロボットはロボットの制御周期でしか反応できないため、結果的に力制御の制御周期はロボットの制御周期よりも短くできない。つまり、ロボット自体の性能を変更しない限り、前記の破損防止を実現することが難しいケースがあった。また、力制御の感度を高くすると、ロボットの発振が発生する可能性が高まる。また、物品が予測できない挙動を行う場合、連続するいくつかの制御周期の期間に力制御が行われても、ロボットと物体との過度な干渉が改善されない状態も生じ得る。この時もロボットの発振が発生する可能性が高まる。
【0007】
本発明は、前述の事情に鑑みてなされている。本発明の目的の一つは、ロボット、搬送装置、物品等の破損防止を効率的に実現することのできる作業ロボットシステムおよび作業ロボットの提供を目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明は以下の手段を採用する。
本発明の第1態様の作業ロボットシステムは、物品を搬送する搬送装置と、前記搬送装置によって搬送される前記物品の対象部に対して所定の作業を行う作業ロボットと、前記作業ロボットを制御する作業ロボット制御部と、前記搬送装置によって搬送されている前記物品における前記対象部又は前記対象部に対して位置が変化しない検出対象の位置を検出するために用いられるセンサと、前記位置の検出を行うために、前記センサを移動可能な計測ロボットと、
前記計測ロボットの先端部に取付けられた前記センサの画角内の所定の位置に常に前記対象部又は前記検出対象を配置することによる前記センサの前記対象部又は前記検出対象への追随を行うように前記計測ロボットを制御する計測ロボット制御部と、前記作業ロボットに支持された部品又はツールと前記物品との接触によって生ずる力を検出する力検出部と、を備え、
前記作業ロボットによる前記所定の作業を
前記搬送装置によって移動している前記対象部に対して行うために、前記センサの前記追随が行われている時に前記計測ロボット制御部が
前記計測ロボット制御部によって把握
されている前記計測ロボットの先端部又は前記センサの位置
の変位に前記作業ロボットおよび前記計測ロボットの共有の座標系の設定位置の変位を連動させ、
前記作業ロボット制御部が、前記共有の座標系を基準に前記作業ロボットを動作させることによって前記作業ロボットによって前記部品又は前記ツールを前記対象部に追随させながら、前記力検出部の検出値に基づいた力制御を行う。
【0009】
上記態様では、計測ロボットによってセンサが移動し、この時に物品における対象部又は検出対象の位置が検出される。
また、検出対象又は対象部に追随する計測ロボットの先端部又はセンサの位置変化が、搬送装置によって移動する対象部の位置変化に相当する。計測ロボットの先端部又はセンサの位置は計測ロボット制御部が把握しているので、当該構成は対象部の位置変化を確実に取得するために有利である。そして、このように検出される対象部又は検出対象の位置を用いて作業ロボットが制御される。このため、力制御が無い状態であっても、作業ロボット制御部は、作業ロボットに支持された部品又はツールと物品との位置関係を認識でき、両者の接触有無を認識できる場合もある。例えば、搬送装置による物品の移動量が大きく変動する搬送装置の異常も、作業ロボット制御部は力制御が無い状態において認識できる。このため、力制御の制御周期を無理に短くせずに、作業ロボット、搬送装置、物品等の破損防止を実現できるようになり、作業ロボットの発振の発生も抑制される。
【0010】
ここで、部品又はツールと共にセンサが作業ロボットの先端部に支持される場合、センサの検出範囲が部品又はツールによって遮られる場合がある。部品又はツールが物品に接触する時に、センサによって対象部又はその近傍を検出できなくなる場合もある。前記態様では、作業ロボットとは異なる計測ロボットにセンサが支持されている。このため、センサの検出範囲が部品又はツールによって遮られる可能性が低減され、部品又はツールが物品に接触する時のセンサによる対象部又はその近傍の検出状態も良くなる。
【0011】
また、部品又はツールと共にセンサが作業ロボットの先端部に支持される場合、ツール又は作業ロボットの洗浄や修理等を行う際に、作業ロボットからセンサを取外す必要がある。この場合、センサを作業ロボットに再度取り付ける際に、センサのキャリブレーションを行う必要がある。前記態様では、作業ロボットとは異なる計測ロボットにセンサが支持されているので、センサのキャリブレーションの手間を低減又は無くすことができる。
【0012】
さらに、センサがカメラであり、センサが作業ロボットの先端部に支持される場合、作業の進行に応じて作業ロボットの先端部と物品との距離が変わる時に、センサのピントを調整する必要がある。センサのピントを作業の進行に応じて逐次調整することは容易ではなく、ピント合わせの遅れが作業ロボットの制御の精度に影響を与える。前記態様では、作業ロボットとは異なる計測ロボットにセンサが支持されているため、対象部又は検出対象とカメラとの距離を作業の進行とは無関係に保てる。このため、作業ロボットの作業の進行に応じてセンサのピントを逐次調整する必要がない。
【0013】
上記態様において、好ましくは、前記作業ロボット制御部が、前記作業ロボットによって支持されている前記部品又は前記ツールを、検出される前記対象部又は前記検出対象の位置に基づいて前記対象部に追随させながら、前記力検出部の検出値を用いて前記力制御を行う。
【0014】
このように、センサの検出結果を用いることによって、作業ロボット制御部が作業ロボットの部品又はツールを対象部に追随させる。このため、作業ロボット制御部は、作業ロボットが所定の作業を行う時に、搬送装置によって搬送される物品の対象部に対して、作業ロボットに支持された部品又はツールの位置および姿勢を正確に制御できる。これは、力制御の制御周期を短くせずに、または、感度を高めずに、作業ロボット、搬送装置、物品等の破損防止を実現するために有利であり、作業ロボットの発振の発生を抑制するためにも有利である。
【0015】
上記
のように、前記計測ロボット制御部が、前記計測ロボットによって前記センサを前記対象部又は前記検出対象に追随させることによって、前記対象部の位置を検出する。
当該態様では、対象部に追随する計測ロボットの先端部又はセンサの位置変化が、搬送装置によって移動する対象部の位置変化に相当する。計測ロボットの先端部又はセンサの位置は計測ロボット制御部が把握しているので、当該構成は対象部の位置変化を容易且つ確実に取得するために有利である。
【0016】
上記態様において、好ましくは、前記計測ロボット制御部が、前記センサの位置と、前記センサに対する前記対象部の位置とを用いて、前記対象部の位置を検出する。
当該構成では、前記センサの位置は計測ロボット制御部が把握している。このため、例えばセンサに対する対象部の検出位置を加えるだけで、対象部の位置を得ることができ、前後の差分を取ることで対象部の位置変化を得ることができる。これは、対象部の位置変化の取得を容易且つ確実に行うために有利である。
【0017】
上記態様において、好ましくは、前記計測ロボット制御部が、前記計測ロボットによって前記センサを前記検出対象に追随させることによって、前記対象部の位置変化を検出する。
また、好ましくは、前記計測ロボット制御部が、前記センサの位置と、前記センサに対する前記検出対象の検出位置とを用いて、前記対象部の位置変化を検出する。
【0018】
これらの態様は、対象部に対して位置が変化しない検出対象にセンサを追随させること、又は、当該検出対象をセンサによって検出することによって、対象部の位置が検出される。このため、部品やツールによって対象部が覆われる場合であっても、対象部の位置を検出することができ、これは作業ロボットによる作業の精度を向上するために極めて有利である。
【0019】
上記態様において、好ましくは、前記搬送装置上の前記物品の少なくとも位置を検出する検出部を備え、前記作業ロボット制御部が、前記検出部の検出結果に基づいて、前記作業ロボットの前記部品又は前記ツールを前記対象部に近付け、前記計測ロボット制御部が、前記検出部の検出結果に基づいて、前記計測ロボットの前記センサを前記対象部又は前記検出対象に近付ける。なお、近付ける際に、作業ロボットは前記対象部の姿勢に合わせて前記部品又は前記ツールの姿勢を変えても良いし、計測ロボットは前記対象部又は前記検出対象の姿勢に合わせて前記センサの姿勢を変えても良い。
検出部の検出結果に基づいてこのように作業ロボットおよび計測ロボットが作動すると、作業の効率が向上する。
【0020】
上記態様において、好ましくは、前記対象部又は前記検出対象の検出位置が、
前記作業ロボット制御部が前記力制御の制御周期を短くする、または、感度を高める。
【0021】
当該態様では、前述のように作業ロボットに支持された部品又はツールと物品との位置関係が認識されている状態において、作業ロボット制御部および前記搬送装置の少なくとも一方がさらに、センサの検出結果に基づいて異常対応作動を行う。当該構成は、作業ロボット、搬送装置、物品等の破損防止の確実な実現を図る時に有利であり、作業ロボットの発振の発生を抑制するためにも有利である。
【0022】
本発明の第2態様は、搬送装置によって搬送される物品の対象部に対して所定の作業を行うアームと、前記アームを制御する作業ロボット制御部と、前記アームに支持された部品又はツールと前記物品との接触によって生ずる力を検出する力検出部と、を備えた作業ロボットであって、前記作業ロボット制御部が、前記搬送装置によって移動している前記対象部又は前記対象部に対して位置が変化しない検出対象の位置を検出するために用いられるセンサを移動させる計測ロボットの計測ロボット制御部から、前記計測ロボット制御部が前記計測ロボットを制御して
前記計測ロボットの先端部に取付けられた前記センサの画角内の所定の位置に常に前記対象部又は前記検出対象を配置することによる前記センサの前記対象部又は前記検出対象への追随を行っている時に、前記計測ロボット制御部
によって把握
されている前記計測ロボットの先端部又は前記センサの位置
の変位に連動して設定位置が変位する座標系であって前記作業ロボットおよび前記計測ロボットの共有の座標系を基準に前記作業ロボット制御部が
前記アームを動作せることによって、前記アームによる前記所定の作業が
前記搬送装置によって移動している前記対象部に対して行われる時
に前記アーム
によって前記部品又は前記ツールを前記対象部に追随させながら、前記力検出部の検出値に基づいた力制御を行う。
【発明の効果】
【0023】
本発明によれば、ロボット、搬送装置、物品等の破損防止を効率的に実現することができる。
【発明を実施するための形態】
【0025】
本発明の第1実施形態に係る作業ロボットシステムについて、図面を用いながら以下説明する。
本実施形態の作業ロボットシステムは、
図1および
図2に示されるように、作業対象である物品100を搬送する搬送装置2と、搬送装置2によって搬送される物品100の対象部101に対して所定の作業を行う作業ロボット10と、作業ロボット10が有する作業ロボット制御装置20と、検出部としての検出装置40とを備えている。
【0026】
検出装置40は、物品100が所定位置まで搬送されてきたことを検出する。検出装置40が、搬送装置2によって搬送される物品100の対象部101の位置および姿勢を特定できるデータを取得してもよい。検出装置40として、このような機能を有する装置は全て利用することができる。本実施形態では検出装置40は光電センサである。この場合、検出装置40は、その設置位置まで物品100が搬送されてきたことを検出する。検出装置40の検出結果は各制御装置に送信されても良いし、後述の上位制御装置80に送信されても良い。
【0027】
物品100は特定の種類の物に限定されないが、本実施形態では、一例として、物品100は車のボディである。搬送装置2はモータ2aによって複数のローラ3のうち数本を駆動することによって物品100を搬送するものであり、本実施形態では搬送装置2は
図1および
図2における右側に向かって物品100を搬送する。なお、モータ2aは作動位置検出装置2bを備えていても良い。作動位置検出装置2bはモータ2aの出力軸の回転位置および回転量を逐次検出する。作動位置検出装置2bは例えばエンコーダであり、作動位置検出装置2bの検出値は作業ロボット制御装置20や計測ロボット制御装置70に送信される。
【0028】
対象部101は、物品100において、作業ロボット10が所定の作業を行う部分である。本実施形態では、所定の作業として、作業ロボット10のハンド30が部品110を持上げ、作業ロボット10は部品110の取付部111を対象部101に取付ける。これにより、例えば、部品110の取付部111から下方に延びるシャフト111aが、物品100の対象部101に設けられた孔101aに嵌合する。
なお、物品100が搬送装置2によって移動している状態において、作業ロボット10は部品110の取付部111を対象部101に取付ける。
【0029】
作業ロボット10は特定の種類のロボットに限定されないが、本実施形態の作業ロボット10は、複数の可動部をそれぞれ駆動する複数のサーボモータ11を備えている(
図3参照)。なお、複数の可動部によって作業ロボット10のアーム10aが構成されている。各サーボモータ11はその作動位置を検出するための作動位置検出装置を有し、作動位置検出装置は一例としてエンコーダである。作動位置検出装置の検出値は作業ロボット制御装置20に送信される。
【0030】
作業ロボット10のアーム10aの先端部にはハンド30が取付けられている。本実施形態のハンド30は複数の爪による把持によって部品110を支持するが、磁力、空気の吸引、またはそれらを組み合わせたもの等を用いて部品110を支持するハンドを用いることも可能である。
ハンド30は爪を駆動するサーボモータ31を備えている(
図3参照)。サーボモータ31はその作動位置を検出するための作動位置検出装置を有し、作動位置検出装置は一例としてエンコーダである。作動位置検出装置の検出値は作業ロボット制御装置20に送信される。
なお、各サーボモータ11,31として、回転モータ、直動モータ等の各種のサーボモータが用いられ得る。
【0031】
作業ロボット10のアーム10aの先端部には力検出部としての力センサ32が取付けられている。力センサ32は、例えば、
図1に示す力センサ座標系202のx軸方向、y軸方向、およびz軸方向の力を検出し、x軸周り、y軸周り、およびz軸周りの力も検出する。
本実施形態では、搬送装置2の搬送方向と
図1の共有座標系201のX軸方向が一致しており、鉛直方向と
図1のZ軸方向とが一致しており、
図1のY軸方向は搬送装置2の幅方向と一致するように取る。
【0032】
力センサ32は、ハンド30又はハンド30によって把持された部品110に加わる力の方向および力の程度を検出できるものであればよい。このため、本実施形態では力センサ32が作業ロボット10とハンド30との間に設けられているが、力センサ32はハンド30内に設けられていてもよいし、作業ロボット10内に設けられていても良い。
【0033】
作業ロボット制御装置20は、
図3に示されるように、CPU、RAM等を有する作業ロボット制御部21と、表示装置22と、不揮発性ストレージ、ROM等を有する記憶部23と、作業ロボット10のサーボモータ11にそれぞれ対応している複数のサーボ制御器24と、ハンド30のサーボモータ31に対応しているサーボ制御器25と、作業ロボット制御装置20に接続された入力部26とを備えている。つまり、作業ロボット制御装置20は、作業ロボット10のアーム10aおよびハンド30を制御するものである。入力部26は、一例では、オペレータが持ち運べる操作盤等の入力装置である。入力部26が作業ロボット制御装置20と無線通信を行う場合もある。
【0034】
本実施形態の作業ロボットシステムは、
図1および
図2に示されるように、複数の計測ロボット60と、複数の計測ロボット60がそれぞれ持っている計測ロボット制御装置70と、複数の計測ロボット60にそれぞれ取付けられたセンサ50とをさらに備えている。本実施形態では2つの計測ロボット60が用いられる。計測ロボット60は1つであってもよい。
【0035】
各計測ロボット60は特定の種類のロボットに限定されないが、本実施形態の各計測ロボット60は、複数の可動部をそれぞれ駆動する複数のサーボモータ61を備えている(
図4参照)。なお可動部数は計測対象の動き方で限定することが可能である。例えば計測対象が平面内で姿勢を変えずに動作するようなものである場合は、X及びY方向にしか動作する必要はないため可動部数は2軸あれば十分であり、計測ロボットの製作コストを抑えることが可能である。各サーボモータ61はその作動位置を検出するための作動位置検出装置を有し、作動位置検出装置は一例としてエンコーダである。作動位置検出装置の検出値は計測ロボット制御装置70に送信される。
【0036】
各計測ロボット60の先端部の例えば手首フランジ62には、支持部材62aを用いてセンサ50が取付けられている。センサ50は、二次元カメラ、三次元カメラ、三次元距離センサ等である。本実施形態のセンサ50は二次元カメラであり、センサ50は、例えば、
図5に示されるような対象部101の画像データを取得することができるものである。各センサ50は画像データを対応する計測ロボット制御装置70に送信する。後述する計測ロボット制御部71は、周知の画像処理を適用することにより、例えば
図5の画像データを用いて、2つの対象部101の少なくともどちらか一方の位置を特定できる。また、計測ロボット制御部71は、例えば
図5の画像データ中の2つの対象部101の少なくとも一方の特徴形状に基づいて、対象部101の姿勢を特定できる。
【0037】
本実施形態では、作業ロボット10および2つの計測ロボット60の座標系として共有座標系201を使用する。つまり、共有座標系201で定義されたある位置は各ロボット10,60において実空間上で一致した位置を指すことになる。
【0038】
共有座標系201の設定時には、作業ロボット10の先端部に設けられた設定ツールおよび2つの計測ロボット60の先端部に設けられた設定ツールがそれぞれ、搬送装置2上のある位置に設置されたキャリブレーション治具の複数の所定箇所を触る。これにより、共有座標系201が設定される。本実施形態では、共有座標系201のX軸、Y軸、およびZ軸の延びる方向は
図1に示されるX軸、Y軸、およびZ軸の延びる方向と一致しており、共有座標系201の位置、即ち原点位置は、キャリブレーション治具上の所定の位置となる。
また、2つのセンサ50がそれぞれ前記キャリブレーション治具の画像データを得て、共有座標系201とセンサ50の位置姿勢(センサ座標系203,204)とを関連付ける。このように、センサ50の位置および方向は、共有座標系と予め関係付けられている(キャリブレーションされている)。
なお、共有座標系設定時にキャリブレーション治具とは別の治具を用いても良い。
【0039】
各計測ロボット制御装置70は、
図4に示されるように、CPU、RAM等を有する計測ロボット制御部71と、表示装置72と、不揮発性ストレージ、ROM等を有する記憶部73と、計測ロボット60のサーボモータ11にそれぞれ対応している複数のサーボ制御器74と、計測ロボット制御装置70に接続された入力部76とを備えている。一例では、入力部76はオペレータが持ち運べる操作盤等の入力装置である。入力部76が計測ロボット制御装置70と無線通信を行う場合もある。
【0040】
作業ロボット制御装置20の記憶部23にはシステムプログラム23aが格納されており、システムプログラム23aは作業ロボット制御装置20の基本機能を担っている。また、記憶部23には作業動作プログラム23bが格納されている。また、記憶部23には、力制御プログラム23cが格納されている。
【0041】
各計測ロボット制御装置70の記憶部73にはシステムプログラム73aが格納されており、システムプログラム73aは計測ロボット制御装置70の基本機能を担っている。また、記憶部73には計測動作プログラム73bが格納されている。また、記憶部73には、追随制御プログラム73cが格納されている。
【0042】
計測ロボット制御部71は、プログラム73a,73b,73cに基づいて、対象部101の位置又は移動量をモニタするための制御指令を各サーボ制御器74に送信する。また、作業ロボット制御部21は、プログラム23a,23b,23cに基づいて、物体100に対する所定の作業を行うための制御指令を各サーボ制御器24,25に送信する。これによって、作業ロボット10およびハンド30が物体100に対して所定の作業を行う。
【0043】
なお、
図6に示されるように、作業ロボット制御装置20および各計測ロボット制御装置70は上位制御装置80に接続されていても良い。上位制御装置80は、プロセッサと、RAM、ハードディスク等の記憶部と、入力部と、送受信部とを有するコンピュータである。作業ロボット10の稼働状態、各計測ロボット60の稼働状態等は、上位制御装置80に送信される。センサ50および計測ロボット制御装置70によってモニタされる対象部101の位置および移動量のデータと、これらに関する後述のデータも、上位制御装置80に逐次送信される。また、前記データは上位制御装置80から作業ロボット制御装置20に逐次送信される。また、上位制御装置80が受付けるその他のデータも、上位制御装置80から作業ロボット制御装置20および各計測ロボット制御装置70に送信される。
なお前記上位制御装置がない場合は、各々の制御装置が直接やり取りを行う。
【0044】
作業ロボット10が物体100に対して所定の作業を行う際の計測ロボット制御部71および作業ロボット制御部21の処理を
図7および
図8のフローチャートを参照しながら説明する。なお、以下の制御は、搬送装置2によって物品100が搬送されている状態で行われる。
また、ここでは2つのセンサ50用にそれぞれ検出対象Oが準備されており、検出対象Oは例えば物体100の上面に設けられたマークである(
図9)。なお検出対象Oは対象部101に対する位置および姿勢が変化しないものであればよい。
【0045】
先ず、検出装置40による物品100の検出信号を受信すると(ステップS1−1)、作業ロボット制御部21は、作業動作プログラム23bに基づき、ハンド30によって把持された部品110を対象部101に近付けるための制御指令を各サーボ制御器24に送信する(ステップS1−2)。
【0046】
また、検出装置40による物品100の検出信号を受信すると(ステップS2−1)、各計測ロボット制御部71は、計測動作プログラム73bに基づき、センサ50を物品100の検出対象Oに近付けるための制御指令を各サーボ制御器74に送信する(ステップS2−2)。
ステップS1−2およびS2−2の制御を行うために、作業ロボット制御部21および計測ロボット制御部71は、物品100内における対象部101や検出対象Oに対するロボットの位置のデータ等を用いる。なお、ここであらかじめ指定されたおおよその搬送装置2の搬送速度を用いてロボットの位置を補正しても良いし、もしくは作動位置検出装置2bによって得られる搬送装置2の搬送速度を使ってロボットの位置を補正しても良い。
【0047】
続いて、センサ50の画角内に検出対象Oが存在するようになると(ステップS2−3)、第1の処理として、計測ロボット制御部71が、計測プログラム73bに基づき、検出対象Oの計測に基づく対象部101の位置座標および姿勢の補正データの導出を行い(ステップS2−4)、作業ロボット制御部21が、導出された補正データを用いた作業動作プログラム23bの補正を行う(ステップS1−3)。同時に又は第1の処理の後すぐに、第2の処理として、計測ロボット制御部71が、検出対象Oの位置および移動速度を検出するための制御を開始すると共に(ステップS2−5)、共有座標系201の設定位置に関するデータの作成を開始し(ステップS2−6)、また、作業ロボット制御部21が、前記データを用いた共有座標系201の逐次設定を開始する(ステップS1−4)。ステップS2−4、S2−6等を作業ロボット制御装置20、上位制御装置80、又はその他のコンピュータが行ってもよい。
【0048】
(第1の処理)
計測ロボット制御部71は、センサ50の画像データを用いて、共有座標系201における検出対象Oの位置、又は、位置および姿勢を検出する。そして、計測ロボット制御部71は、予め教示されている基準と実際の検出結果との相対関係から第1の処理の補正データを求める。各検出対象Oは対象部101に対して位置および姿勢が変化しないので、対象部101の補正データとして前記補正データを用いることが可能である。
【0049】
作業ロボット制御部21は、計測ロボット制御部71が導出した補正データを用いて、作業動作プログラム23bを補正する。なお、位置のみを補正することも可能であり、姿勢のみを補正することも可能である。これにより、後述の制御によってハンド30が支持された部品110のシャフト111aを対象部101の孔101aに嵌合する際に(
図10)、当該嵌合の精度を向上することができる。
【0050】
(第2の処理)
第2の処理としてステップS2−5およびS2−6を行うために、例えば下記の2つの制御を用いることが可能である。本実施形態では、前者の制御は画像ベース法と称され、後者の制御は位置ベース法と称される。それ以外の制御を用いてステップS2−5およびS2−6を行うことも勿論可能である。本実施形態では、2つの制御において、センサ50の検出データから検出対象Oの位置が検出されるが、センサ50の検出データから検出対象Oの位置および姿勢が検出されてもよい。
【0051】
画像ベース法の制御は、計測ロボット60の制御によって、センサ50の画角内の所定の位置に物品100上の特徴形状および/又は特徴点を常に配置し、これにより、センサ50を検出対象Oに追随させ、追随している時のセンサ50の位置の変化を共有座標系201の設定位置の変化に連動させる。
【0052】
本実施形態の場合、追随制御プログラム73cに基づく計測ロボット60の制御によって、センサ50の画角内の所定の位置、例えば中央に検出対象Oが常に配置される。そして、当該制御によって移動する計測ロボット60の先端部又はセンサ50の位置の変位が、共有座標系201の設定位置の変位に連動する。
例えば、2つのセンサ50のうち一方のセンサ50の位置がある瞬間にX方向に1mm変化した場合、共有座標系201の原点位置も1mm変化したとして設定される、又は、2つのセンサ50の位置の変位の平均が、共有座標系201の原点位置の変位として設定される。
当該制御によって、センサ50の移動に伴って共有座標系201の設定位置が移動し、共有座標系201が対象部101に追随している状態となる。
【0053】
なお、2つの検出対象OがX軸方向およびY軸方向に移動する時は、共有座標系201の設定位置もX軸方向およびY軸方向に移動する。即ち、対象部101が斜めに移動している状態である。なお、2つの検出対象Oの位置がZ軸等に平行な軸線周りに回転している時は、共有座標系201の姿勢を回転させてもよい。
【0054】
一方、位置ベース法の制御は、計測ロボット制御部70がセンサ50を物品100の搬送に応じて移動させながら、センサ50によって逐次得られる画像データを用いて、固定された共有座標系201上における物品100の特徴形状および/又は特徴点の位置を逐次検出する。本実施形態では、対象部101に対して位置および姿勢が変化しない検出対象Oの位置の検出結果に基づき、物品100の対象部101の位置が逐次検出される。なお、同時に対象部101の姿勢が逐次検出されてもよい。そして、計測ロボット制御部71は、当該共有座標系201上の時間の経過により移動する検出位置同士の差(例えば、現在の検出位置と過去のある時点の検出位置との差)に基づいて、共有座標系201を逐次移動させるための共有座標系の設定位置に関するデータを逐次生成する。
【0055】
なお、2つの検出対象OがX軸方向およびY軸方向に移動する時は、共有座標系201の設定位置もX軸方向およびY軸方向に補正される。なお、2つの検出対象Oの位置がZ軸方向等に延びる軸線周りに回転している時は、共有座標系201の姿勢を回転させてもよい。
【0056】
ここで、第1の処理では、センサ50の検出範囲内に入ってくる検出対象Oの位置を検出するために、検出範囲の全域について画像処理を行う必要があるが、第2の処理では、検出対象Oの大凡の位置を特定することができるので、検出範囲の一部について画像処理を行い、これにより処理速度の向上を図ることが可能である。
【0057】
上記2つの制御において、計測ロボット制御部71は、例えば
図11に示されるように、2つの検出対象Oの位置p11,p21がそれぞれ位置p12,p22、・・・に移動する場合、最小二乗法等でフィッティングすることにより、2つの検出対象Oの移動速度をそれぞれ計算する。または、2つの検出対象Oの移動速度を平均することによって、平均の移動速度が計算される。求められた移動速度に時間を掛けたものが移動量となる。
この移動量を使って共有座標系201を移動させるための設定位置を補間しても良い。
【0058】
また、位置ベース法の制御において2つの検出対象Oの共有座標系201における中心位置を、2つの検出対象Oの検出位置として用いることも可能である。3つ以上の検出対象Oがある場合は、3つ以上の検出対象Oの重心位置がこれら検出対象Oの検出位置として用いられ得る。複数の検出対象Oの中心位置又は重心位置を用いることにより、物品100の検出誤差の影響等を低減することが可能となる。
【0059】
そして、作業ロボット制御部21は、作業動作プログラム23bに基づき、部品110のシャフト111aを対象部101の孔101aに嵌合するための制御指令の各サーボ制御器24への送信を開始する(ステップS1−5)。
ここで、本実施形態の作業動作プログラム23bは、共有座標系201において部品110のシャフト111aの位置および姿勢を順次変更するものである。
【0060】
ステップS1−4によって共有座標系201の設定位置がセンサ50の検出結果に応じて逐次調整されるこの制御では、搬送装置2によって物品100の対象部101は移動しているが、共有座標系201からは対象部101は停止しているように見える。
【0061】
このように制御されている状態において、作業ロボット制御部21は、力制御プログラム23cに基づいた力制御を開始する(ステップS1−6)。力制御として、周知の力制御を用いることが可能である。本実施形態では、力センサ32によって検出される力から逃げる方向に作業ロボット10が部品110を移動させる。その移動量は力センサ32の検出値に応じて作業ロボット制御部21が決定する。
【0062】
例えば、ハンド30によって把持された部品110のシャフト111aと物品100の孔101aとが嵌合し始めた状況で、搬送装置2による搬送方向と反対方向の力が力センサ32によって検出されると、作業ロボット10は追随しながら搬送方向と反対方向に部品110を僅かに移動させて検出される力から逃げる。
【0063】
続いて、計測ロボット制御部71は、センサ50に対する検出対象Oの位置が所定の基準を超えて変動する時に(ステップS2−7)、第1の異常信号を作業ロボット制御装置20に送信する(ステップS2−8)。作業ロボット制御部21は、第1の異常信号を受付けると(ステップS1−7)、第1の異常対応作動を行う(ステップS1−8)。所定の基準を超えた変動は、画像データ内における検出対象Oの大きな移動、画像データ内における検出対象Oの所定速度よりも早い移動、検出対象Oの意図しないタイミングでの消失等である。電力供給が安定していない場合、モータ2aの回転速度が急激に低下する場合もあり、モータ2aの回転速度が大きく変動する場合もある。これらの場合に、センサ50に対する検出対象Oの位置が前記所定の基準を超えて変動することになる。
なおステップS2−7、S2−8は嵌合動作(ステップS1−5)の開始前に行われても良い。
【0064】
第1の異常対応作動として、作業ロボット制御部21は、力制御の制御周期を短くする作動または感度を高める作動、嵌合の進行を停止する作動、嵌合作業を中止する作動等を行う。力制御の制御周期が短くし、または、感度を高めると、部品110に加わる力に対して作業ロボット10をより敏感に移動させることが可能となる。本実施形態では、作業ロボット制御部21は、嵌合作業を中止、退避する作動、搬送装置を停止させる、またはそれらを組み合わせた作動等を行う。
【0065】
また、作業ロボット制御部21は、力センサ32の検出値が所定の基準値を超える時に(ステップS1−9)、第2の異常対応作動を行う(ステップS1−10)。力センサ32の検出値が所定の基準値を超える時は、部品110、物品100等に異常な力が加わっている可能性が高い。このため、作業ロボット制御部21は、第2の異常対応作動として、作業ロボット10を退避、停止させる作動、力センサ32によって検出された力の方向から逃げる方向に作業ロボット10を低速で移動させる作動、搬送装置2を停止させる作動、ハンド30を部品110から離す作動またはそれらを組み合わせた作動等を行う。本実施形態では、作業ロボット制御部21は、作業ロボット10と搬送装置2を停止させる作動を行う。
【0066】
一方、作業ロボット制御部21は、嵌合作業が完了したか否かを判断し(ステップS1−11)、嵌合作業が完了している場合は、作業ロボット10およびハンド30に制御指令を送る(ステップS1−12)。これにより、ハンド30が部品110から離れ、ハンド30が作業ロボット10によって待機位置又は次の部品110がストックされている場所に移動する。同時に、計測ロボット制御部71も、センサ50を待機位置に移動させるための制御指令を計測ロボット60に送る(ステップS2−9)。
【0067】
ステップS2−5によって得られる検出対象Oの移動速度は、センサ50によって検出対象Oの位置を検出できなくなった場合でも使うことができる。例えば、計測ロボット制御部71は、直前に検出された2つの検出対象Oの位置と、検出対象Oが見えなくなる前に計算された移動速度とを用いて、共有座標系の設定位置に関するデータの生成を行うことができる。
【0068】
なお、作業ロボット10の先端部に加工ツールが支持され、搬送装置2によって搬送される物品100に作業ロボット10が所定の作業として加工を行ってもよい。この場合、加工ツールは、ドリル、フライス、ドリルタップ、バリ取り工具、その他の工具等である。この場合でも、ステップS1−2において加工ツールが対象部101に近付けられ、ステップS1−7において加工ツールと対象部101との接触に応じて力制御が行われること等により、前述と同様の効果が達成される。
【0069】
なお、第2の処理で位置ベース法を適用する場合、検出対象Oの位置の逐次検出を行う際に、第1の処理の補正データを求めることも可能である。この場合、第1の処理のステップS2−4が不要となる。
【0070】
このように、本実施形態では、計測ロボット60によってセンサ50が物品100の搬送に応じて移動し、この時に物品100における対象部101の位置が逐次検出される。そして、このように逐次検出される対象部101の位置を用いて作業ロボット10が制御される。このため、力制御が無い状態であっても、作業ロボット制御部20は、作業ロボット10に支持された部品110又はツールと物品100との位置関係を認識でき、両者の接触有無を認識できる場合もある。例えば、搬送装置2による物品100の移動量が大きく変動する搬送装置2の異常も、作業ロボット制御部20は力制御が無い状態において認識できる。このため、力制御の制御周期を無理に短くせずに、作業ロボット10、搬送装置2、物品100等の破損防止を実現できるようになり、作業ロボット10の発振の発生も抑制される。
【0071】
ここで、部品110又はツールと共にセンサ50が作業ロボット10の先端部に支持される場合、センサ50の画角(検出範囲)が部品110又はツールによって遮られる場合がある。部品110又はツールが物品100に接触する時に、センサ50によって対象部101又はその近傍を検出できなくなる場合もある。本実施形態では、作業ロボット10とは異なる計測ロボット60にセンサ50が支持されている。このため、センサ50の検出範囲が部品110又はツールによって遮られる可能性が低減され、部品110又はツールが物品100に接触する時のセンサによる対象部101又はその近傍の検出状態も良くなる。
【0072】
また、部品110又はツールと共にセンサ50が作業ロボット10の先端部に支持される場合、ツール又は作業ロボット10の洗浄や修理等を行う際に、作業ロボット10からセンサ50を取外す必要がある。この場合、センサ50を作業ロボット10に再度取り付ける際に、センサ50のキャリブレーションを行う必要がある。本実施形態では、作業ロボット10とは異なる計測ロボット60にセンサ50が支持されているので、センサ50のキャリブレーションの手間を低減又は無くすことができる。
【0073】
さらに、カメラであるセンサ50が作業ロボット10の先端部に支持される場合、作業の進行に応じて作業ロボット10の先端部と物品100との距離が変わる時に、センサ50のピントを調整する必要がある。センサ50のピントを作業の進行に応じて逐次調整することは容易ではなく、ピント合わせの遅れが作業ロボット10の制御の精度に影響を与える。本実施形態では、作業ロボット10とは異なる計測ロボット60にセンサ50が支持されているので、作業ロボット10の作業の進行に応じてセンサ50のピントを逐次調整する必要がない。
【0074】
また、本実施形態では、センサ50の検出結果を用いることによって、作業ロボット制御部20が作業ロボット10の部品110又はツールを対象部101に追随させる。このため、作業ロボット制御部21は、作業ロボット10が所定の作業を行う時に、搬送装置2によって搬送される物品100の対象部101に対して、作業ロボット10に支持された部品110又はツールの位置および姿勢を正確に制御できる。これは、力制御の制御周期を短くせずに、または、感度を高めずに、作業ロボット10、搬送装置2、物品100等の破損防止を実現するために有利であり、作業ロボット10の発振の発生を抑制するためにも有利である。
【0075】
また、本実施形態の画像ベース法では、計測ロボット制御部71が、計測ロボット60によってセンサ50を検出対象Oに追随させることによって、対象部101の位置を検出する。なお、計測ロボット制御部71が、計測ロボット60によってセンサ50を対象部101に追随させてもよい。
当該構成では、検出対象O又は対象部101に追随する計測ロボット60の先端部又はセンサ50の位置変化が、搬送装置2によって移動する対象部101の位置変化に相当する。計測ロボット60の先端部又はセンサ50の位置は計測ロボット制御部71が把握しているので、当該構成は対象部101の位置変化を容易且つ確実に取得するために有利である。
【0076】
また、本実施形態の位置ベース法では、計測ロボット制御部71が、物品100の搬送に応じて適宜移動するセンサ50の位置と、センサ50に対する検出対象Oの位置とを用いて、対象部101の位置を逐次検出する。なお、センサ50に対する対象部101の位置が用いられてもよい。
当該構成では、物品100の搬送に応じて適宜移動するセンサ50の位置は計測ロボット制御部71が把握している。このため、例えばセンサ50に対する検出対象O又は対象部101の位置や姿勢を逐次得ることができる。これは、対象部の位置や姿勢の取得を容易且つ確実に行うために有利である。
なお、計測ロボット60は物品100を一定時間止まった状態で計測しても良く、物品100の搬送に合わせて間欠的に移動しながら予め決められた位置で物品100における対象部101又は検出対象Oの位置を検出しても良い。
【0077】
また、本実施形態では、対象部101に対して位置が変化しない検出対象Oにセンサ50を追随させること、又は、検出対象Oをセンサ50によって検出することによって、対象部101の位置が逐次検出される。このため、部品110やツールによって対象部101が覆われる場合であっても、対象部101の位置を逐次検出することができ、これは作業ロボット10による作業の精度を向上するために極めて有利である。
【0078】
また、搬送装置2上の物品100の少なくとも位置を検出する検出装置40を備え、作業ロボット制御部20が、検出装置40の検出結果に基づいて、作業ロボット10の部品110又はツールを対象部101に近付け、計測ロボット制御部71が、検出装置40の検出結果に基づいて、計測ロボット60のセンサ50を対象部101又は検出対象Oに近付ける。なお近付ける際に、作業ロボットは前記対象部の姿勢に合わせて前記部品又は前記ツールの姿勢を変えても良いし、計測ロボットは前記対象部又は前記検出対象の姿勢に合わせて前記センサの姿勢を変えても良い。
【0079】
検出装置40の検出結果に基づいてこのように作業ロボット10および計測ロボット60が作動すると、作業の効率が向上する。この時、作業ロボット制御部21および計測ロボット制御部71が、作動位置検出装置2bの検出結果も用いて、作業ロボット10に支持された部品110を対象部101に近付け、計測ロボット60のセンサ50を対象部101又は検出対象Oに近付けてもよい。作動位置検出装置2bの検出結果を用いることにより、上記制御がより正確になる。
【0080】
また、本実施形態では、対象部101又は検出対象Oのセンサ50から見た位置が、所定の基準を超えて変動する時に、作業ロボット制御部20が異常対応作動を行う。
【0081】
当該構成では、作業ロボット10に支持された部品110又はツールと物品100との位置関係が認識されている状態において、作業ロボット制御部20がさらに、センサ50の検出結果に基づいて異常対応作動を行う。当該構成は、作業ロボット10、搬送装置2、物品100等の破損防止の確実な実現を図る時に有利であり、作業ロボット10の発振の発生を抑制するためにも有利である。
【0082】
本実施形態では検出装置40は光電センサであるが、検出装置40は、搬送装置2の上方、側方、又は下方に配置された二次元カメラ、三次元カメラ、三次元距離センサ、ライン光を対象物に照射して形状を測定するセンサ等であってもよい。検出装置40が二次元カメラである場合、作業ロボット制御部21および計測ロボット制御部71は、検出装置40の検出結果である画像データに基づき、搬送装置2によって搬送される物品100の対象部101の位置を認識でき、姿勢を認識できる場合もある。このため、作業ロボット制御部21は、ステップS1−2において、部品110のシャフト111aを対象部101の穴101aにより正確に近付けることができる。
【0083】
なお、ステップS2−5において、計測ロボット制御部71が、画像データ中の検出対象Oの位置、画像データ内における検出対象Oの移動速度、その方向等を用いて、計測ロボット60の先端部およびセンサ50を検出対象Oに追随させることもできる。その他の周知な方法を用いて、計測ロボット60の先端部およびセンサ50を検出対象Oに追随させることもできる。
【0084】
また、搬送装置2として、物品100を曲線的なルートに沿って搬送する搬送装置を用いることも可能であり、物品100を曲がりくねったルートに沿って搬送する搬送装置を用いることも可能である。これらの場合でも、作業ロボット制御部21は、センサ50の検出結果を用いて、作業ロボット10によって支持された部品110を対象部101に追随させることができる。また、ステップS2−7においてセンサ50に対する検出対象Oの位置が所定の基準を超えて変動する時に、ステップS1−8において作業ロボット制御部21が第1の異常対応動作を行うことができる。つまり、前記搬送装置を用いた場合でも、前述と同様の効果が達成される。
なおステップS2−7、S2−8は嵌合動作(ステップS1−5)の開始前に行われても良い。
【0085】
なお、ステップS2−5の位置の取得は、センサ50によって現実に撮像された画像データに基づいて計算される。このため、センサ50の撮像周期によって位置の取得周期が影響される。これに対し、センサ50の撮像データに基づいて逐次得られる位置を補間することも可能である。例えば、計測ロボット制御部71は、連続する複数の位置の検出結果を用いて位置および移動量の変動の傾向を特定する。そして、計測ロボット制御部71は、特定された傾向に沿って、検出位置と検出位置の間に補間位置を設定することができる。
【0086】
ステップS1−8において、作業ロボット制御部21は、第1の異常対応作動として、搬送装置2のモータ2aの停止、搬送装置2のモータ2aの減速等をおこなってもよい。
【0087】
本実施形態では、作業ロボット10の先端部に力センサ32が取付けられている。一方、ハンド30内部、ロボット10内部、搬送装置2と物体100との間、物体100の内部等に、力センサ32を配置することも可能である。この場合でも、力センサ32の検出値に基づく力制御を行うことが可能であり、前述と同様の効果が達成される。
【0088】
また、センサ50が計測ロボット60における手首フランジ62以外の部分に取付けられてもよい。
また、計測ロボット60がセンサ50を1方向にのみ移動させるロボットであってもよい。例えば、
図12に示されるように、計測ロボット60は、X軸方向に延びるレール63と、レール63に支持されたスライダ64と、スライダ64をレール63に沿って移動させるサーボモータ65およびボールねじ65aとを有する。この場合でも、計測ロボット60は物品100の移動に応じてセンサ50を適宜移動することができる。
【0089】
例えば、対象部101および検出対象Oの位置がY軸方向に変動しないのであれば、計測ロボット制御部71は、サーボモータ65を制御することによって、前述の画像ベース法の制御および位置ベース法の制御を行うことが可能である。対象部101および検出対象Oの位置がY軸方向に変動する場合であっても、前述の位置ベース法の制御は可能である。このため、前述と同様の作用効果が達成される。
【0090】
センサ50をY軸方向に移動させるための機構をスライダ64に設けることも可能である。この場合、対象部101および検出対象Oの位置がY軸方向に変動する場合であっても、前述の画像ベース法の制御が可能である。
【0091】
なお、本実施形態では、計測ロボット60のセンサ50は、物体100の上面に設けられた検出対象Oを検出する。これに対し、物体100の背面に設けられた検出対象Oを検出する計測ロボット60と、物体100の側面に設けられた検出対象Oを検出する計測ロボット60をさらに設けることも可能である。この場合、対象部101の3次元的な位置姿勢を検出できる。
【0092】
なお、2つのセンサ50によってそれぞれ検出対象Oを検出する代わりに、両方又は何れか一方のセンサ50によって対象部101を検出する場合、計測ロボット制御部71は、周知の画像処理を適用することにより、例えば
図5の画像データを用いて、2つの対象部101の少なくともどちらか一方の位置を特定できる。また、計測ロボット制御部71は、
図5の画像データ中の対象部101の特徴形状又は複数の特徴点に基づいて、対象部101の姿勢を特定できる。
【0093】
また、第2の処理の一部であるステップS1−4において、共有座標系201の移動を行う代わりに、動作プログラム23bの補正を行ってもよい。この場合、ステップS2−6において、検出対象Oの基準位置と実際の検出位置との差に基づいて、計測ロボット制御部71が動作プログラム23bの補正に用いられるデータを逐次生成し、作業ロボット制御部21は、生成された前記データを用いて、共有座標系201に対して予め教示されている動作プログラム23bの教示点を逐次補正する。この場合でも前述と同様の作用効果を奏する。