(58)【調査した分野】(Int.Cl.,DB名)
前記校正部は、前記他のロボット間の位置関係に基づいて、さらに他のロボットの座標を校正するとともに、最後に校正されたロボットの校正結果を、最後に校正されたロボットと前記作業台との位置関係に基づいて評価する請求項1又は2に記載のロボットシステム。
【発明を実施するための形態】
【0007】
以下、添付図面を参照して本発明の実施形態について説明する。なお、各図において同一又は相当部分には同一の符号を付し、重複する説明を省略する。
【0008】
(第1実施形態)
本実施形態に係るロボットシステムは、ロボットが動作をする際に用いる座標系(ロボット座標系)を校正するシステムであって、例えば、システム起動前におけるロボットへの教示作業する場合(作業台との位置関係を教示する場合)や、ロボットが作業台に対して相対的に移動する場合等に採用される。なお、本実施形態に係るロボットシステムは、例えば単品の部品及び複数の部品が組み合わされた製品または半製品であるワーク(被加工物)を加工するロボットシステムとして採用され得る。以下では説明理解の容易性を考慮して、各セル内に収容されたロボットが加工や組立等の種々の作業を行う、いわゆるセル生産システムを一例に説明する。なお、被加工物としてはロボットシステムにより搬送あるいは組付などの加工を受けるあらゆる物品が該当し得る。例えば、被加工物としてはボルト等の部品や電子機器用の基板の組立体、自動車、加工済食品などが含まれうる。
【0009】
図1は、本実施形態に係るロボットシステム1の概略側面図である。
図1に示すように、本実施形態に係るロボットシステム1は、同一構成の移動可能な各セル11(セル11A、セル11B、セル11C、…、セル11X)が連結されて生産ラインを構成するロボットシステムである。
【0010】
各セル11の内部には、ワークWに対して種々の作業を行うロボット10が配置されている。ロボット10は、ロボットアーム101を備える。ロボットアーム101の先端には、被加工物等を把持可能なツール102が取り付けられている。ツール102は、ハンド等のエンドエフェクタである。なお、ロボットアーム101の先端には、複数のセンサが取り付けられていてもよい。ここでは、ロボットアーム101の先端とツール102との間に力覚センサ103が設けられている。また、ツール102には、対象物までの距離を測定可能なレーザセンサ120が設けられている。これらのセンサ類の動作等については後述する。
【0011】
さらに、各セル11は、ロボット10を制御するコントローラ12及び個別作業台14を収容している。コントローラ12は、ケーブルハーネス13を介してロボット10に接続されている。なお、ロボット10とコントローラ12とを無線で接続してもよいし、コントローラ12をロボット10に内蔵してもよい。
【0012】
生産ラインの最上流のセル11Aには、共有作業台20に載置されたワーク(被加工物)Wが提供される。共有作業台20は、複数のロボット10間で共有される作業台である。最上流のセル11Aに収容されたロボット10(上流ロボット)は、共有作業台20を受け取り、個別作業台14に載置してワークWを加工し、セル11Bに収容されたロボット10へ共有作業台20を提供する。セル11Bに収容されたロボット10は、共有作業台20を受け取り、個別作業台14に載置してワークWを加工し、セル11Cに収容されたロボット10へ共有作業台20を提供する。このような動作を順次繰り返し、最下流のセル11Xに終了されたロボット10(下流ロボット)に共有作業台20が提供され、所定の加工処理後にセル11Xから共有作業台20及び加工済みのワークWが搬出される。
【0013】
次に、セル11内の構成の詳細について、
図2を用いて説明する。
図2は、
図1に示されたロボットシステムに含まれる1セルの側面図である。セル11には、架台の下面にキャスタ11aとストッパ11bとが設けられており、該キャスタ11a及びストッパ11bによりセル11の移動及び固定が容易化されている。また、図示しないが、セル11の正面側の外壁部には、ワークWの供給及び搬出を行うための開口部、ロボットの作業状況を確認するためのモニタ、各種の計器、スイッチ等が集中配置されている。これにより、作業者はロボットシステム1の操作をセル11の正面側のみで行うことができる。さらに、各外壁部の一部には、透明且つ耐衝撃性に優れたポリカーボーネートで形成された窓部(不図示)が設けられており、作業者はかかる窓部から作業状況を確認することができる。
【0014】
図2に示すように、ロボット10は、架台104に固定された基礎部105、及び、基礎部105から上方に延伸するロボットアーム101を備えている。
【0015】
ロボットアーム101は、基端(基礎部105)側から順に、第1アーム106、第2アーム107、第3アーム108、第4アーム109、第5アーム110及び第6アーム111の6本のアームが連結されて構成されている。これらの各アームには、内部にアクチュエータが設けられており、各アクチュエータによって、
図2中に両向き矢印で示すように各アームの連結部を関節として各アームが回転駆動させられる。
【0016】
また、ロボットアーム101の先端には、上述したツール102が設けられている。ツール102は、ロボットアーム101の先端である第6アーム111の内部に設けられたアクチュエータにより回転駆動させられる。ここではツール102は、被加工物を把持可能なハンドとして構成されている。ツール102は、その内部にツール102の先端に取り付けられた一対の把持爪102aを駆動させるアクチュエータが設けられている。把持爪102aは、例えば直方体を呈し、被加工物を把持するために対向した2つの把持平面を有している。また、把持爪102aの側面は、2つの把持平面に直交した平面である。さらに、ツール102において把持爪102aが立設された平面は、把持平面及び把持爪102aの側面にそれぞれ直交している。すなわち、ハンドは、互いに直交する3つの平面を有している。
【0017】
ロボットアーム101の先端である第6アーム111とツール102との間には力覚センサ103が配設されている。力覚センサ103は、検出部分に作用する、並進3軸方向の力成分と回転3軸回りのモーメント成分との合計6成分を同時に検出することができるいわゆる6軸力覚センサである。
【0018】
コントローラ12は、例えば演算装置、記憶装置及び入出力装置を有するコンピュータである。コントローラ12は、動作命令を出すことによりロボット10の動作を制御する。具体的には、コントローラ12は、ケーブルハーネス13を介してロボット10の各アクチュエータに接続されており、動作命令によって各アクチュエータを駆動させ、ロボット10の動作を制御している。ロボット10は、コントローラ12の制御に従い、第1アーム106、第2アーム107、第3アーム108、第4アーム109、第5アーム110、第6アーム111、ツール102及び把持爪102aを動作させる。また、コントローラ12は、ケーブルハーネスを介して力覚センサ103及びレーザセンサ120とも接続されており、ツール102の状態を検知することが可能に構成されている。
【0019】
コントローラ12が出力する動作命令とは、ロボット10を動作させるプログラムを起動させるコマンドや、ロボット10を動作させるプログラムを起動させるコマンドのまとまりであるジョブである。例えば、把持爪102aにより被加工物を把持するコマンド、ツール102を所定位置に押しつけるコマンド等も動作命令として予め設定されている。
【0020】
コントローラ12の機能について、
図3を用いて説明する。
図3は、コントローラの機能を説明するブロック図である。
図3に示すように、コントローラ12は、力覚センサ103、レーザセンサ120及び他のロボット10のコントローラに接続されている。そして、コントローラ12は、キャリブレーション部(校正部)112、ロボット制御部113及び通信部115を備えている。
【0021】
ロボット制御部113は、ロボット座標を用いてロボット10を制御する。また、ロボット制御部113は、被加工物の加工動作前に、ツール102を校正の冶具や作業台30に押し当てることにより、ロボット10にキャリブレーション動作を行わせる。キャリブレーション動作は、ロボット10の座標系の原点及び座標軸を校正する動作である。ロボット制御部113は、押し当て制御によって、平面同士を突き当ててロボット10の姿勢や位置を固定し位置決めさせる。押し当て制御は、例えば力覚センサ103を用いることで実現する。
【0022】
キャリブレーション部112は、力覚センサ103又はレーザセンサ120を用いて検出されたツール102の位置を入力する。例えば、キャリブレーション部112は、力覚センサ103によって検出された力とモーメントとから力の作用線を算出し、該力の作用線とロボット10等の表面との交点を接触位置として導出する。キャリブレーション部112は、例えば、キャリブレーション動作を行ったツール102の接触位置を基準位置として入力する。そして、キャリブレーション部112は、教示時の位置と基準位置とのずれ量を算出する。例えば、キャリブレーション部112は、x、y、z方向それぞれのずれ量に加えて、x軸回り、y軸回り、z軸回りの回転方向のずれ量を算出する。そして、キャリブレーション部112は、教示時の原点の位置及び座標軸を上記ずれ量を用いて校正することにより、ロボット10が利用するロボット座標を校正する。具体的には、ロボットで用いられる座標系を基準位置に合わせて変更する。
【0023】
通信部115は、ロボット10の駆動制御のための情報を、通信を介して入力可能に構成されている。通信部115は、入力した情報をコントローラ12が備える記録媒体に保存する。ロボット制御部113は、必要に応じて記録媒体を参照し、通信によって取得された情報を利用する。
【0024】
次に、キャリブレーション処理において用いられる冶具について説明する。
図4は、校正用の冶具の斜視図である。この冶具は、ロボット10間で受け渡されるものであり、一方のロボット10の座標校正結果を利用して他方のロボット10の座標系を校正するために用いられる。
図5は、
図4の矢印A方向に見た場合の斜視図である。
【0025】
図4,5に示すように、冶具50は、複数の平面を有している。冶具50は、
図4の矢印A方向及び矢印B方向からみて略T字状の凸部が形成された冶具であり、2台のロボット10が同時に把持可能に構成されている。一方の略T字状の凸部は、他方の略T字状の凸部と比べて矢印A方向及び矢印B方向に延在する回転軸を中心として90度回転して配置されている。なお、略T字状の凸部の回転角は90度でなくてもよく、任意の角度で形成されていてもよい。また、少なくとも略T字状の凸部は一つ備えていればよい。
【0026】
図4に示すように、冶具50は、例えば直方体の基礎部材55の主面に直方体の第1部材51及び直方体の第2部材52が立設されて形成される。第1部材51は、yz方向に沿った側面51a、及び、zx方向に沿った側面51b,51cを有している。第2部材52は、yz方向に沿った側面52a、並びに、xy方向に沿った上面52b及び下面52cを有している。同様に、
図5に示すように、冶具50は、例えば直方体の基礎部材55の主面に直方体の第3部材53及び直方体の第4部材54が立設されて形成される。第3部材53は、yz方向に沿った側面53a、及び、xy方向に沿った下面53b,53cを有している。第4部材54は、yz方向に沿った側面54a、及び、zx方向に沿った側面54b,54cを有している。
【0027】
2台のロボット10は、第2部材52及び第4部材54をそれぞれ把持することで、冶具50を同時に把持することができる。そして、第1ロボット10がキャリブレーション済みであるとすると、該第1ロボット10は正確に冶具50を把持して所定の位置へ正確に移動させて、冶具50の位置決めをすることができる。第2ロボット10は、正確に位置決めされた冶具50に対して、互いに直交する3つの平面を力制御で突き当て基準位置とし、該基準位置とのズレを校正する。
【0028】
例えば、第2ロボット10は、第2部材52を力制御で把持する。この状態で、第2ロボット10のツール102において把持爪102aが立設された平面を、第1部材51の側面51a及び第2部材52の側面52aへ力制御で突き当てて当接させる。さらに、第2ロボットの把持爪102aの側面を、第1部材51の側面51b,51cに力制御で押しつける。このように、ツール102が有する互いに直交する3つの平面を、略T字状の凸部を把持して押し当てることにより、第2ロボット10の姿勢及び位置が決定される。第2ロボット10は、第1ロボットの座標系と自身の座標系との間でどの程度のズレ量が存在するのかを認識することができる。そして、第2ロボット10の座標系の原点位置及び座標軸を第1ロボットの座標系に合わせることで校正が完了する。
【0029】
なお、キャリブレーション部112は、他の方法でキャリブレーションを行ってもよい。例えば、ツール102からの距離を測定可能なレーザセンサ120を用いて、x,y,zの位置の計測結果(例えば隣接ロボットまでの距離等)を基準位置として取得してもよい。
【0030】
次に、
図6、7を用いてロボットシステム1の校正方法を説明する。
図6は、校正方法の動作を説明するフローチャート、
図7は校正方法を説明する概要図である。ここではツール102としてハンドを用いた場合を説明する。
【0031】
図6に示すように、最初に生産ラインの最上流のセル11Aがキャリブレーションされる(S10)。このキャリブレーションは、該ロボット10単体で行われるキャリブレーションであり、任意の方法で実行可能である。例えば、目視で共有作業台20との位置関係を教示してもよいし、キャリブレーション部112によって、互いに直交する3平面を有する冶具に互いに直交する3平面を有するツール102を突き当ててキャリブレーションしてもよい。S10の処理が終了すると、隣接ロボット判定処理へ移行する(S12)。
【0032】
S12の処理では、ロボット制御部113が、セル11に備わるセンサ類の出力信号又は通信部115により受信した情報に基づいて、隣接するロボット(隣接ロボット)10の有無を判定する。S12の処理において、隣接ロボットが存在しないと判定した場合には、
図6に示す制御処理を終了する。一方、S12の処理において、隣接ロボットが存在すると判定した場合には、校正確認処理へ移行する(S14)。
【0033】
S14の処理では、ロボット制御部113が、通信部115により受信した情報等に基づいて隣接ロボットのキャリブレーション処理が済んでいるか否かを判断する。S14の処理において、隣接ロボットのキャリブレーション処理が済んでいると判定した場合には、
図6に示す制御処理を終了する。一方、S14の処理において、隣接ロボットのキャリブレーション処理が済んでいないと判定した場合には、冶具の受け渡し処理へ移行する(S16)。
【0034】
S16の処理では、ロボット制御部113が、隣接ロボットに校正用の冶具を受け渡す。例えば、最上流のセル11Aのロボット10に隣接するセル11Bのロボット10がキャリブレーション済みでないとする。この場合、
図7に示すように、最上流のセル11Aは、校正用の冶具50を把持するとともに、受け渡し位置へ冶具50を移動させる。受け渡し位置は、セル11Aのロボット10及びセル11Bのロボット10にて互いに事前設定された場所である。セル11Aのロボット10は、既にS10の処理にてキャリブレーション済みであり、冶具50を正確に位置決めすることができる。次に、セル11Bのロボット10が、ツール102を受け渡し位置へ移動させ、ツール102で冶具50を把持し、互いに直交する3つの平面を力制御で冶具50に突き当て、基準位置を確定させる。基準位置の情報は、力覚センサ103で取得することができる。S16の処理が終了すると、キャリブレーション処理(校正工程)へ移行する(S18)。
【0035】
S18の処理では、冶具50を受け渡された側のロボット10のキャリブレーション部112が、該ロボットのキャリブレーションを行う。例えば、S16の処理で取得した基準位置と、ロボット10の座標系に基づく基準位置とを比較し、差分が生じている場合には、冶具50を受け渡した側のロボット10の座標系に整合するように、当該ロボット10の座標系を変更する。例えば、原点位置及び軸方向を変更する。S18の処理が終了すると、S12の処理へ移行する。
【0036】
S12〜S18の制御処理を実行することで、隣接するロボットが存在しなくなるか、全てのロボットのキャリブレーションが終了するまで、冶具50が順次受け渡され、受け渡しの際に座標系を校正するデータが生成され、該データに基づいてロボットの校正が行われる。
【0037】
以上で
図6に示す制御処理を終了する。
図6に示す制御処理を実行することで、複数のロボット10の校正を容易かつ自動で行うことができる。なお、
図6の制御処理は、被加工物を加工する前のオフライン動作として実施され得る。従って、当該校正処理を行ったあとに、ロボット10により被加工物が加工され、製造される(加工工程)。
【0038】
ところで、いわゆるセル生産システムにあっては、製品ロッド変更の度に、セルを結合又は分離させてレイアウトを変更する。このため、レイアウト変更の度に、キャリブレーション処理を行わなければならず、非常に手間がかかる。
【0039】
これに対して、第1実施形態に係るロボットシステム1及び校正方法によれば、校正された1のロボットと他のロボットとの位置関係を、冶具50を受け渡すことで取得して、該位置関係に基づいて他のロボットの座標を校正することができる。従って、レイアウトが変更された場合であっても自動でキャリブレーションをすることができるとともに、冶具50を受け渡して行うことから、基準点の近くにロボットを配置する必要がなく、レイアウトの自由度を向上させることができる。
【0040】
(第2実施形態)
第2実施形態に係るロボットシステム、校正方法及び被加工物の製造方法は、第1実施形態に係るロボットシステム、校正方法及び被加工物の製造方法とほぼ同様に構成され、ロボット10が移動台車に搭載されている点、及び共有作業台20の形態が相違する。以下では、第1実施形態に記載された内容については説明を省略し、相違点を中心に説明する。
【0041】
図8は、第2実施形態に係るロボットシステム2の平面図である。ここでは、図中左側から右側へワークを移動させて生産する生産ラインを例に説明する。
図8に示すように、ロボットシステム2は、移動台車6A〜6Eに搭載された複数のロボット10を備えている。移動台車6Aに搭載されたロボット10が最も上流側に配置された上流ロボットであり、移動台車6Eに搭載されたロボット10が最も下流側に配置された下流ロボットである。
【0042】
ここで、
図9を用いて、ロボットシステム2のロボット10について概説する。
図9は、ロボット10及び移動ロボット5の詳細を示す側面図である。ロボット10は、
図2に示すロボット10と同様に動作する。移動ロボット5は、移動台車6及び駆動車輪8を備える。移動台車6は、ロボット10を支持するとともに制御機器を収容する。移動台車6は、例えば、駆動車輪8を駆動させる駆動源(不図示)、並びに、ロボット10及び移動ロボット5の動作制御を行う後述するコントローラ及び等を収容する。なお、移動台車6には、複数のセンサが取り付けられていてもよい。ここでは、移動台車6には、走行方向の障害物を検知する障害センサ122が設けられている。また、移動台車6には、制御に必要な情報等を無線通信するためのアンテナ123等が設けられている。移動ロボット5は、駆動車輪8を駆動させることでxy方向に走行可能に構成されている。また、移動ロボット5は、障害センサ122を用いて作業台30の手前で停止可能に構成されている。コントローラ12は、ロボット10だけでなく、移動ロボット5も制御する。例えば、コントローラ12は、あらかじめ教示された走行経路に沿って移動するように、移動ロボット5を制御する。
【0043】
図9に戻り、複数のロボット10は、作業台20を共有している。すなわち、複数のロボット10は、同一の作業台20を作業台として被加工物を加工する。ロボット10は、移動可能であるため、作業台20が新たな別のロボットが共有作業台20を使用することになる場合がある。このような場合には、ロボットのキャリブレーション処理が必要になる。
【0044】
共有作業台20の一端(上流)には、冶具50が配置されている。ここで、移動台車6Aのロボットは校正済みであるとする。例えば、共有作業台20に校正用の冶具が固定されている場合には、固定された冶具を用いて校正してもよい。校正後、移動台車6Aのロボット10は冶具50を拾い上げ、移動台車6Bのロボット10へ冶具50を受け渡す。受け渡し時のキャリブレーション処理は第1実施形態と同様である。これにより冶具50を用いて複数のロボット全体のキャリブレーションを実行することができる。また、この場合には、ロボット10のアームが届く範囲で冶具50を受け渡すことができるため、例えば移動台車6Bのロボット10のように、共有作業台20へ到達していないロボット間でも校正が可能である。
【0045】
また、共有作業台20の一端(上流)から他端(下流)へ向けて冶具50を搬送する場合に限られず、
図9に示すように、個別に又は同時進行で、共有作業台20の他端(下流)から一端(上流)へ向けて冶具50を搬送させてもよい。この場合、例えば、上流側の移動台車6Aのロボット10が移動台車6Bのロボット10へ冶具50を受け渡すとともに、下流側の移動台車6Eのロボット10が移動台車6Dのロボット10へ冶具50を受け渡す。そして、上流側の移動台車6Aのロボット10と下流側の移動台車6Eのロボット10との間に存在するロボット(中間ロボット)については、下流側の移動台車6Eのロボット10の校正結果(位置ずれ)と上流側の移動台車6Aのロボット10の校正結果(位置ずれ)との平均値を用いて、自身のロボット座標系を校正してもよい。
【0046】
さらに、下流側の冶具50が共有作業台20に固定されていてもよい。下流側の移動台車6Eのロボット10は、上流側から伝達された冶具50を用いて位置ずれ量を算出し、キャリブレーションする。そして、該キャリブレーション結果を用いて動作した場合に、共有作業台20に固定された冶具50を用いて位置ずれ量がどの程度発生するのかを比較して評価(検算)してもよい。
【0047】
以上、第2実施形態に係るロボットシステム1及び校正方法によれば、校正された1のロボットと他のロボットとの位置関係を、冶具50を受け渡すことで取得して、該位置関係に基づいて他のロボットの座標を校正することができる。従って、レイアウトが変更された場合であっても自動でキャリブレーションをすることができるとともに、冶具50を受け渡して行うことから、基準点の近くにロボットを配置する必要がなく、レイアウトの自由度を向上させることができる。
【0048】
以上、本発明の好適な実施形態について説明したが、本発明は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変更が可能である。
【0049】
例えば、ツール102の把持平面102eは、仮想的な平面(凸部の頂点の位置が同じ等)を構成できていれば凹凸を有していても良い。また、ツール102及び冶具50において説明をしていない平面部分については、必ずしも平面である必要はない。
【0050】
また、上述した実施形態では、キャリブレーション部112がロボット10ごとに備わる例を説明したが、各コントローラ12と通信可能な上位機器が存在する場合には、該上位機器がキャリブレーション部112として機能し、各ロボット10のキャリブレーション処理を行ってもよい。また、隣接するコントローラ12間で通信することで、他のコントローラ12がキャリブレーション処理を行うように動作してもよい。