(57)【特許請求の範囲】
【請求項１】
ロボットのメカニカルインタフェースまたはエンドエフェクタと一定の位置姿勢関係にあるツール座標系、またはロボットベース座標系と一定の位置姿勢関係にある作業座標系により定義された方向において、前記ロボットのツールと作業対象物との間に作用する力の柔らかさを実現する柔軟制御を行うロボット制御装置において、
ロボットの各軸の位置を検出する位置検出部または時間を計測する時間計測部からの出力に基づいてロボットの動作状態を判断する動作状態監視部と、
前記柔軟制御の柔らかさを表すパラメータセットを複数セット記憶する記憶部と、
前記柔軟制御実行時に前記動作状態監視部からの出力に基づいて前記柔らかさを表すパラメータセットを切替える動作生成部と、
を備えることを特徴とする、ロボット制御装置。
【請求項２】
ロボットの各関節位置と一定の位置姿勢関係にある各軸座標系により定義された方向における柔らかさを実現する柔軟制御を行うロボット制御装置において、
ロボットの各軸の位置を検出する位置検出部または時間を計測する時間計測部からの出力に基づいてロボットの動作状態を判断する動作状態監視部と、
前記柔軟制御の柔らかさを表すパラメータセットを複数セット記憶する記憶部と、
前記柔軟制御実行時に前記動作状態監視部の出力に基づいて前記柔らかさを表すパラメータセットを切替える動作生成部と、
を備えることを特徴とする、ロボット制御装置。
【請求項３】
前記柔らかさを表すパラメータセットが、前記ツール座標系もしくは前記作業座標系上における各座標軸に沿った並進方向及び各座標軸回りの回転方向のうち少なくとも一つ以上における仮想バネのバネ定数に応じて定まるようにしたことを特徴とする、請求項１に記載のロボット制御装置。
【請求項４】
前記柔らかさを表すパラメータセットが、前記ツール座標系もしくは前記作業座標系上における各座標軸に沿った並進方向及び各座標軸回りの回転方向のうち少なくとも一つ以上の仮想ダンパのダンパ定数に応じて定まるようにしたことを特徴とする、請求項１に記載のロボット制御装置。
【請求項５】
前記柔らかさを表すパラメータセットが、前記ツール座標系もしくは前記作業座標系上における各座標軸に沿った並進方向及び各座標軸回りの回転方向のうち少なくとも一つ以上の力またはモーメントの大きさの上限であることを特徴とする、請求項１に記載のロボット制御装置。
【請求項６】
前記柔らかさを表すパラメータセットが、各座標軸に沿った併進方向および各座標軸回りの回転方向のうち少なくとも一つ以上における仮想バネのバネ定数に応じて定まるようにしたことを特徴とする、請求項２に記載のロボット制御装置。
【請求項７】
前記柔らかさを表すパラメータセットが、各座標軸に沿った併進方向および各座標軸回りの回転方向のうち少なくとも一つ以上の仮想ダンパのダンパ定数に応じて定まるようにしたことを特徴とする、請求項２に記載のロボット制御装置。
【請求項８】
前記柔らかさを表すパラメータセットが、各座標軸に沿った併進方向および各座標軸回りの回転方向のうち少なくとも一つ以上の力またはモーメントの大きさの上限であることを特徴とする、請求項２に記載のロボット制御装置。
【請求項９】
前記動作状態監視部は、過去のある時点と現在の位置の差または速度の差に基づいて前記ロボットの動作状態を判断することを特徴とする、請求項１から８のいずれか一項に記載のロボット制御装置。
【請求項１０】
前記動作状態監視部は、過去の所定の時刻からの経過時間に基づいて、前記ロボットの動作状態を判断することを特徴とする、請求項１から９のいずれか一項に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの柔軟制御を行う制御装置に関する。
【背景技術】
【０００２】
ロボットのメカニカルインタフェースまたはエンドエフェクタと一定の位置姿勢関係にあるツール座標系、またはロボットベース座標系と一定の位置姿勢関係にある作業座標系により定義された方向に、ロボットのツールと作業対象物（ワーク）との間に作用する力の柔らかさを実現する柔軟制御が行われている。
【０００３】
そのような柔軟制御は特許文献１、特許文献２、特許文献３、特許文献４などに開示されている。さらに、特許文献５には、柔軟制御の実行時にパラメータセットを切替えることが開示されている。
【０００４】
ロボットの直交座標上の柔軟制御の主な用途として、ダイカスト取出しが挙げられる。ダイカスト取出しとは、ダイカストマシンの金型内にあるワークをロボットのエンドエフェクタで保持し、次いで、ダイカストマシン側のシリンダなどを用いてワークを金型から押出す作業である。ダイカスト取出しにおいて、ロボットは直交座標上の柔軟制御を利用して、ワークが押出される動作および力に合わせるように動作する。つまり、ロボットは倣い動作を行う。特許文献６には、このような押出作業に同期する柔軟制御が開示されている。
【０００５】
従来技術においては、はじめに、柔らかさを表すパラメータセットを複数セット記憶できる制御装置を準備する。そして、特許文献５に開示されるように、押出し動作を行う側からの信号に基づいて、制御装置がパラメータセットを切替える。例えば第一パラメータセットに基づく柔軟制御中にそのような信号が出力されるのを待機し、信号を受信したら第二パラメータセットに切替えて柔軟制御を行うようにロボットのプログラムが作成されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２５３６７６号公報
【特許文献２】特許第３６８１４３１号公報
【特許文献３】特許第３２８３６５０号公報
【特許文献４】特開平５−１５８５１４号公報
【特許文献５】特開２００４−１４８４６６号公報
【特許文献６】特許第４０５１５２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、この方法では、信号の電気的な遅延と押出動作の物理的な遅延とが互いに独立している。このため、切替作業と押出作業とを正確に同期させられないという問題があった。さらに、この方法では、適切なタイミングでパラメータセットを切替えられるとは限らない。従って、ワークを保持するときにもロボットの方向が限定されるので、ワークの寸法バラツキを吸収できなくなる場合がある。さらに、ワークをシリンダなどで押出しているときにも、ロボットが全ての方向に倣うことになり、ロボットが直進しなくなる場合も起こりうる。
【０００８】
また、信号に基づいてパラメータセットを切替えることができない場合には、エンドエフェクタによるワークの保持作業とワークを押出す押出作業との両方に或る程度適応可能な単一のパラメータセットを準備していた。しかしながら、この場合には、ワークの保持作業とワークの押出作業との両方のパフォーマンスは、それぞれ専用のパラメータセットを準備した場合よりも劣るという問題があった。
【０００９】
本発明はこのような事情に鑑みてなされたものであり、適切なタイミングで倣いの動作方向を切替えられるよう、柔軟制御の倣い方向の設定即ち柔らかさのパラメータセットを、押出作業に厳密に同期して切替える機能を、複雑な周辺機器を用いずに確実に実施するロボットの制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
前述した目的を達成するために１番目の発明によれば、ロボットのメカニカルインタフェースまたはエンドエフェクタと一定の位置姿勢関係にあるツール座標系、またはロボットベース座標系と一定の位置姿勢関係にある作業座標系により定義された方向において、前記ロボットのツールと作業対象物との間に作用する力の柔らかさを実現する柔軟制御を行うロボット制御装置において、ロボットの各軸の位置を検出する位置検出部または時間を計測する時間計測部からの出力に基づいてロボットの動作状態を判断する動作状態監視部と、前記柔軟制御の柔らかさを表すパラメータセットを複数セット記憶する記憶部と、前記柔軟制御実行時に前記動作状態監視部からの出力に基づいて前記柔らかさを表すパラメータセットを切替える動作生成部と、を備えることを特徴とする、ロボット制御装置が提供される。
２番目の発明によれば、ロボットの各関節位置と一定の位置姿勢関係にある各軸座標系により定義された方向における柔らかさを実現する柔軟制御を行うロボット制御装置において、ロボットの各軸の位置を検出する位置検出部または時間を計測する時間計測部からの出力に基づいてロボットの動作状態を判断する動作状態監視部と、前記柔軟制御の柔らかさを表すパラメータセットを複数セット記憶する記憶部と、前記柔軟制御実行時に前記動作状態監視部の出力に基づいて前記柔らかさを表すパラメータセットを切替える動作生成部と、を備えることを特徴とする、ロボット制御装置が提供される。
３番目の発明によれば、１番目の発明において、前記柔らかさを表すパラメータセットが、前記ツール座標系もしくは前記作業座標系上における各座標軸に沿った並進方向及び各座標軸回りの回転方向のうち少なくとも一つ以上における仮想バネのバネ定数に応じて定まるようにした。
４番目の発明によれば、１番目の発明において、前記柔らかさを表すパラメータセットが、前記ツール座標系もしくは前記作業座標系上における各座標軸に沿った並進方向及び各座標軸回りの回転方向のうち少なくとも一つ以上の仮想ダンパのダンパ定数に応じて定まるようにした。
５番目の発明によれば、１番目の発明において、前記柔らかさを表すパラメータセットが、前記ツール座標系もしくは前記作業座標系上における各座標軸に沿った並進方向及び各座標軸回りの回転方向のうち少なくとも一つ以上の力またはモーメントの大きさの上限である。
６番目の発明によれば、２番目の発明において、前記柔らかさを表すパラメータセットが、各直動関節軸の座標軸に沿った並進方向および各回転関節軸の座標軸回りの回転方向のうち少なくとも一つ以上における仮想バネのバネ定数に応じて定まるようにした。
７番目の発明によれば、２番目の発明において、前記柔らかさを表すパラメータセットが、各直動関節軸の座標軸に沿った並進方向および各回転関節軸の座標軸回りの回転方向のうち少なくとも一つ以上の仮想ダンパのダンパ定数に応じて定まるようにした。
８番目の発明によれば、２番目の発明において、前記柔らかさを表すパラメータセットが、各直動関節軸の座標軸に沿った並進方向および各回転関節軸の座標軸回りの回転方向のうち少なくとも一つ以上の力またはモーメントの大きさの上限である。
９番目の発明によれば、１番目から８番目のいずれかの発明において、前記動作状態監視部は、過去のある時点と現在の位置の差または速度の差に基づいて前記ロボットの動作状態を判断する。
１０番目の発明によれば、１番目から９番目のいずれかの発明において、前記動作状態監視部は、過去の所定の時刻からの経過時間に基づいて、前記ロボットの動作状態を判断する。
【発明の効果】
【００１１】
１番目および２番目の発明においては、動作状態監視部からの出力に基づいてパラメータセットを切替えて柔軟制御を行っているので、複雑な周辺機器を用いることなく制御装置内部の情報のみに基づいて、押出作業と厳密に同期してロボットの追従方向を切替えることができる。また、動作状態監視部からの出力に基づいてパラメータセットを切替えているので、切替作業を適切なタイミングで行うことができる。このため、ワークの寸法バラツキを吸収できなくなる場合およびロボットが直進しなくなる場合を避けられる。
３番目から８番目の発明においては、ロボットの作業内容などに応じて適切なパラメータセットを選択することができる。
９番目の発明においては、停止しているロボットが外部からの力で動き始めたときを自動で判別する効果がある。
１０番目の発明においては、柔軟制御の開始および追従方向の切替えに関する位置および速度をユーザが誤入力した場合であっても、パラメータセットを切替えることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明に基づくロボット制御装置の機能ブロック図である。
【図２】本発明におけるロボット制御装置の基本構成を示す図である。
【図３】本発明に基づくロボット制御装置の使用方法を示すフローチャートである。
【図４Ａ】パラメータセット入力画面の一つの例を示す図である。
【図４Ｂ】パラメータセット入力画面の他の例を示す図４Ａと同様な図である。
【図５】切替条件設定画面を示す図である。
【図６Ａ】ロボットが柔軟制御を用いてワークを把持する作業を示す第一の図である。
【図６Ｂ】ロボットが柔軟制御を用いてワークを把持する作業を示す第二の図である。
【図６Ｃ】ロボットが柔軟制御を用いてワークを把持する作業を示す第三の図である。
【図７Ａ】従来技術における実行プログラムの例を示す図である。
【図７Ｂ】従来技術におけるロボット制御装置の基本構成を示す図である。
【図８】本発明における実行プログラムの例を示す図である。
【図９】従来技術においてロボット制御装置が実行プログラムＡの実施時に所定周期毎で行う処理を示すフローチャートである。
【図１０】本発明においてロボット制御装置が実行プログラムＢの実施時に所定周期毎で行う処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
図１は本発明に基づくロボット制御装置の機能ブロック図である。図１に示されるように、ロボット制御装置ＲＣは教示操作盤ＴＰとロボットＲ、厳密にはロボットＲのロボット機構部ＲＭとに接続されている。
【００１４】
図１に示されるようにロボット制御装置ＲＣはロボット制御装置ＲＣ全体を制御するホストＣＰＵ１１を含んでいる。また、ロボット制御装置ＲＣは、各種のシステムプログラムが記憶されているＲＯＭ１２ａと、ホストＣＰＵ１１がデータを一時的に記憶するのに使用されるＲＡＭ１２ｂと、ロボットの動作内容に関する各種プログラムおよび関連設定値などが格納される不揮発性メモリ１２ｃとを含んでいる。
【００１５】
図１に示されるように、ホストＣＰＵ１１には複数の共有ＲＡＭ＃１〜＃ｎが接続されており、これら共有ＲＡＭ＃１〜＃ｎにはデジタルサーボ回路Ｃ１〜Ｃｎが接続されている。複数の共有ＲＡＭ＃１〜＃ｎは、ホストＣＰＵ１１から出力される移動指令または制御信号をデジタルサーボ回路Ｃ１〜Ｃｎのそれぞれのプロセッサに引渡すと共に、デジタルサーボ回路Ｃ１〜Ｃｎのプロセッサからの各種信号をホストＣＰＵ１１に引き渡す役目を果たす。従って、図面には示さないものの、デジタルサーボ回路Ｃ１〜Ｃｎはプロセッサ、ＲＯＭ、ＲＡＭなどをそれぞれ含んでいるものとする。
【００１６】
また、共有ＲＡＭ＃１〜＃ｎの数およびデジタルサーボ回路Ｃ１〜Ｃｎの数はロボットのロボット機構部ＲＭのモータＭ１〜Ｍｎの数に対応している。これらモータＭ１〜Ｍｎはロボットの関節軸のそれぞれを駆動するのに使用されている。また、モータＭ１〜Ｍｎのそれぞれには、ロボットＲの各軸の位置を検出するエンコーダＥ１〜Ｅｎが備えられている。典型的な六軸構成の垂直多間接型ロボットは六つの関節軸Ｊ１〜Ｊ６を含んでおり、従って、モータ、共有ＲＡＭ、デジタルサーボ回路、エンコーダの数はそれぞれ六である。
【００１７】
図１に示されるように教示操作盤ＴＰは液晶ディスプレイ１５とキーボード１６とを備えている。これらは、前述したプログラムにおけるデータの入力および変更、関連する設定値の入力および変更を行うのに使用される。
【００１８】
図２は本発明におけるロボット制御装置の基本構成を示す図である。図２に示されるように、ロボットＲはエンドエフェクタＥ、例えば把持部をその先端に備えている。また、図２に示される力センサＳ１〜Ｓｎは、ロボットの各軸にかかる力を検出するものとする。デジタルコンピュータであるロボット制御装置ＲＣは、エンコーダＥ１〜Ｅｎ、力センサＳ１〜Ｓｎまたは時間を計測する時間計測部２６からの出力に基づいてロボットの動作状態を判断する動作状態監視部２１を含んでいる。時間計測部２６は、柔軟制御を開始してからの経過時間を主に計測する。
【００１９】
さらに、ロボット制御装置ＲＣは、柔軟制御の柔らかさを表すパラメータセットを複数セット記憶する記憶部２２を含んでいる。記憶部２２には、異なる作業あるいは異なる制御特性に対応する柔軟制御を実現するパラメータセットが記憶されている。これらパラメータセットは実験等により予め求められ、ユーザにより事前に記憶されるものとする。
【００２０】
さらに、ロボット制御装置ＲＣは、柔軟制御実行時に動作状態監視部２１からの出力に基づいて適切なパラメータセットを選択する動作生成部２３を含んでいる。また、図２から分かるように、動作状態監視部２１には、プログラムの命令も適宜入力されるものとする。このため、動作生成部２３による切替作業は、ロボット制御装置ＲＣが実行するプログラムの内容に応じて、動作状態監視部２１を通じて行われる場合もある。
【００２１】
そして、力制御パラメータ設定部２４が、動作生成部２３によって選択されたパラメータセットに切替える。次いで、力制御部２５は切替えられたパラメータセットに応じて、柔軟制御を実現するようロボットＲを制御する。なお、柔軟制御実行時には、動作生成部２３が、動作状態監視部２１からの出力などに基づいてパラメータセットを切替える場合もある。
【００２２】
図３は本発明に基づくロボット制御装置の使用方法を示すフローチャートである。図３に示されるように、ステップＳ１においては、ユーザが柔軟制御の複数のパラメータセットを記憶部２２に記憶させる。次いで、ステップＳ２においては、ユーザが前記パラメータセットを切替える切替条件を設定する。その後、ステップＳ３においては、ロボット制御装置ＲＣは、前述したパラメータセットおよび切替条件を用いて、実際にロボットに柔軟制御を実行させる。
【００２３】
本発明においては、ロボットＲが或るパラメータセットを用いた柔軟制御を実行しているときに、パラメータセットを切替える切替条件が成立した場合には、動作生成部２３または力制御パラメータ設定部２４がパラメータセットを別のパラメータセットに切替えて、柔軟制御を実行する。
【００２４】
以下、これらステップＳ１〜ステップＳ３について、例を挙げて詳細に説明する。
はじめに、ステップＳ１に関し、図４Ａはパラメータセット入力画面の一つの例を示す図である。この入力画面は、教示操作盤ＴＰの液晶ディスプレイ１５に表示されるものとする。パラメータセットのそれぞれには番号が付されており、図４Ａに示される例は第一番のパラメータセットである。
【００２５】
図４Ａにおける「座標系番号」欄には、柔軟制御を行う直交座標系が設定される。このような座標系は、例えばロボットのメカニカルインタフェースまたはエンドエフェクタＥと一定の位置姿勢関係にあるツール座標系、またはロボットベース座標系と一定の位置姿勢関係にある作業座標系である。図４Ａにおいては、例として座標系１７８番の内容が示されている。
【００２６】
そして、図４ＡにおけるＸ方向、Ｙ方向、およびＺ方向のそれぞれは、座標系１７８番におけるＸ方向、Ｙ方向、およびＺ方向における柔らかさの設定を示している。なお、柔軟制御を行う直交座標系とロボットベース座標系との位置関係を指定する欄を別途設けてもよい。この場合には、座標系番号を使用するのを避けられる。
【００２７】
図４Ａにおける「仮想バネ」は、柔軟制御においてロボットＲのエンドエフェクタＥを各方向に外部から移動させる力とその移動距離との間の関係を線形関係としたときの比例定数（バネ定数）を示している。「仮想バネ」の欄はユーザが教示操作盤ＴＰのキーボード１６を用いて設定する。なお、「仮想バネ」の代わりに、バネ定数の逆数である「コンプライアンス」を設定するようにしてもよい。
【００２８】
図４Ａにおける「仮想ダンパ」は、柔軟制御においてロボットＲのエンドエフェクタＥを外部から移動させる力とその移動速度との関係を線形関係としたときの比例定数（ダンパ定数）を示している。「仮想ダンパ」の欄はユーザが教示操作盤ＴＰのキーボード１６を用いて設定する。
【００２９】
図４Ａにおける「リミッタ」は、柔軟制御においてロボットＲのエンドエフェクタＥに力をかけたとき、ある大きさまでは、かけられた力でロボットが押し返すが、ある閾値以上の力をかけられた場合は一定の力でロボットが押し返すタイプの制御をする場合の、一定の力を示している。言い換えれば、「リミッタ」は、ロボットＲまたはエンドエフェクタＥにかかる力またはモーメントの大きさの上限である。「リミッタ」の欄はユーザが教示操作盤ＴＰのキーボード１６を用いて設定する。
【００３０】
ところで、ロボットＲの各直動関節軸方向および各回転関節軸回りに柔軟制御を行うようにしてもよい。この場合には、パラメータセット入力画面の他の例を示す図４Ａと同様な図である図４Ｂに示されるような入力画面が教示操作盤ＴＰの液晶ディスプレイ１５に表示される。ロボットＲの各直動関節軸方向および各回転関節軸回りの柔軟制御については、制御を行う座標系はロボットの各関節位置との位置姿勢関係で決まり、直交座標系を設定する必要はない。このため、図４Ｂにおいては「座標系番号」欄には「未使用」と表示されている。この場合には、ロボットＲの各関節位置と一定の位置姿勢関係にある各軸座標系により定義された方向における柔らかさを実現する。
【００３１】
ユーザは、柔軟制御を使う作業内容に応じて「仮想バネ」、「仮想ダンパ」、「リミッタ」のうちの少なくとも一つの欄を使用するよう決定する。以下においては、簡潔にする目的で、ユーザが「仮想バネ」のみを使用しているものとする。
【００３２】
次いで、図３のステップＳ２に関し、図５は切替条件設定画面を示す図である。この設定画面は、教示操作盤ＴＰの液晶ディスプレイ１５に表示されるものとする。
【００３３】
図５における「位置」の列には、過去の或る時点、例えば柔軟制御開始時刻における各軸の位置と現在時刻における位置との間の差が、どの値以上になった場合に、動作状態監視部２１がパラメータセット切替えを促す出力を行うのかを設定する。同様に、「速度」の列には、過去の或る時点、例えば柔軟制御開始時刻における各軸の速度と現在時刻における速度との間の差が、どの値以上になった場合に、動作状態監視部２１がパラメータセット切替えを促す出力を行うのかを設定する。なお、速度はエンコーダＥ１〜Ｅｎにより検出された連続する複数の位置と、エンコーダＥ１〜Ｅｎの検出間隔とに基づいて求められる。
【００３４】
これらのことによって、エンドエフェクタＥを外部から押してロボットが動き始めたときに、パラメータセットを切替えることができる。言い換えれば、本発明においては、停止しているロボットが外部からの力で動き始めたときを自動で判別する効果がある。
【００３５】
さらに、図５における「時間」の欄には、過去の或る時点、例えば柔軟制御開始時刻から、どの程度の時間が経過したら、動作状態監視部２１がパラメータセット切替えを促す出力を行うのかを設定する。ユーザが「位置」および「速度」欄に誤入力で不自然な値を入力すると、ロボットの動作開始が正確に検出できず、パラメータセットが切替わらない場合がある。そのような場合であっても、「時間」の欄を前述したように設定することにより、パラメータセットを切替えることができる。
【００３６】
さらに、図５における「力」の列には、過去の或る時点、例えば柔軟制御開始時刻からにロボットＲのエンドエフェクタＥにかかっていた力とエンドエフェクタＥにかかる現在の力との間の差が、どの値以上になったら、動作状態監視部２１がパラメータセット切替えを促す出力を行うのかを設定する。この力は力センサＳ１〜Ｓｎによって検出される。このことによって、ロボットＲが周辺機器などに衝突した場合にパラメータセットを切替えることができる。
【００３７】
図４Ａ、図４Ｂおよび図５に示される入力結果はロボット制御装置ＲＣの記憶部２２に記憶される。なお、図４Ａおよび図５においては第一番のパラメータセットが示されており、第二番以降のパラメータセットも同様に設定される。本発明においては、第何番のパラメータセットに切替えるという切替条件を、動作プログラム内で指定する。このことについては後述する。
【００３８】
次いで、図３のステップＳ３に関し、前述したパラメータセットおよび切替条件を用いて、実際にロボットＲに柔軟制御を実行させる。ここで、図６Ａから図６Ｃはロボットが柔軟制御を用いてワークを把持する作業を示す図である。図６Ａなどにおいては、金型Ｍ内においてワークＷが形成されている。そして、この金型Ｍに予め形成された貫通孔には、ワークＷを押出すためのシリンダＣが配置されている。図６Ｂにおいて、ロボットＲのエンドエフェクタＥがワークＷの一側を把持する。そして、図６Ｃに示されるように、シリンダＣによってワークＷの他側を押圧してワークＷを金型Ｍから押出つつ、ロボットＲのエンドエフェクタＥがワークＷを金型Ｍから引張り出す。
【００３９】
ロボット制御装置ＲＣには、柔軟制御を実行する命令文が記述された実行プログラムが予め準備されている。そして、実行プログラムを呼出すことにより、柔軟制御が実行される。
【００４０】
ここで、図７Ａは従来技術における実行プログラムの例を示す図であり、この実行プログラムは教示操作盤ＴＰの液晶ディスプレイ１５に表示されるものとする。そして、図７Ｂは従来技術におけるロボット制御装置の基本構成を示す図である。図７Ｂにおいては、動作状態監視部２１が排除されていて、作業命令入力部２９がロボット制御装置ＲＣ内に示されている。
【００４１】
図７Ａに示される従来技術の実行プログラムＡの第一行では、第一番のパラメータセットで柔軟制御を開始している。次いで、第三行でエンドエフェクタＥを閉鎖する。そして、第五行においては、シリンダＣがワークＷを押出す押出開始信号ＤＩ（１）がＯＮになるまで待機する。第七行においては、作業命令入力部２９が押出開始信号ＤＩを受信した後で、第二番のパラメータセットで柔軟制御を開始する。その後、第九行において、１０秒間待機する。この時間は、ワークＷが金型Ｍから押出されるのに必要な時間であり、ワークＷおよび金型Ｍの寸法に応じて適宜変更される。最終的に、第１１行で柔軟制御が終了する。
【００４２】
そして、図８は本発明における実行プログラムの例を示す図である。この実行プログラムは教示操作盤ＴＰの液晶ディスプレイ１５に表示されるものとする。図８に示される従来技術の実行プログラムＢの第一行には、「新柔軟制御開始（パラメータセット＝１−＞２、ショウトツ＝３）」と記載されている。このことは、第一番のパラメータセットで柔軟制御を開始し、ロボットの各軸の位置または速度がそれぞれの閾値を超えたときに第二番のパラメータセットに切替えて柔軟制御を行い、ロボットの各軸にかかる力またはエンドエフェクタＥにかかる力が閾値を超えたときに第三番のパラメータセットに切替えて柔軟制御を行うことを意味している。
【００４３】
そして、第三行でエンドエフェクタＥを閉鎖する。そして、第五行においては、１５秒間待機する。この時間は、シリンダＣが押出開始するまでの時間とワークＷが金型Ｍから押出されるのに必要な時間との合計時間である。この時間もワークＷおよび金型Ｍの寸法に応じて適宜変更される。最終的に、第七行で柔軟制御が終了する。
【００４４】
このような本発明の効果について、以下、説明する。
はじめに、ロボットＲが柔軟制御を行いながら先端のメカニカルインタフェースに取付けられたエンドエフェクタＥでワークＷを把持する。ワークＷの寸法は毎回バラツキがあるので、ワークＷを把持する際には、ワークＷおよびエンドエフェクタＥが傷付かないように、ロボットＲを全ての方向に倣うことでバラツキを吸収するのが好ましい。最初に適用される第一番のパラメータセットには、そのような柔らかさが設定される。例えば、Ｘ方向のバネ定数、Ｚ方向のバネ定数を両方とも１０［ｋｇｆ／ｍ］にして柔軟制御を行う。この場合には、エンドエフェクタＥを０．１［ｋｇｆ］の力で閉鎖すれば、ＸＺ平面において０．０１［ｍ］以下のずれを吸収できる（図６Ｂを参照されたい）。
【００４５】
そして、シリンダＣによるワークＷの押出しに同期した適切なタイミングで、柔軟制御のパラメータセットを切替えるのが望ましい。前述したように従来技術においては、ワークＷを押出す側が押出開始信号ＤＩを送信する。そして、ロボット制御装置ＲＣは押出開始信号ＤＩを受信するまで実行プログラムＡの第五行における「待機ＤＩ（１）＝ＯＮ」で待機する。つまり、パラメータセットを切替えるのを保留している。しかしながら、この方式では、押出開始信号ＤＩの電気的な遅延とシリンダＣの押出作用の物理的な遅延とが独立しているので、正確な同期が保証されないという問題がある。
【００４６】
これに対し、本発明においては第一番のパラメータセットで柔軟制御の実行時に各軸がＸ方向に１０［ｍｍ］だけ動いた場合には、第二番のパラメータセットに切替える。切替後のパラメータセットが第二番のパラメータセットであることは、図８に示される実行プログラムＢの第一行に記述される。また、「各軸がＸ方向に１０［ｍｍ］だけ動いた場合」という判断基準は、図５の入力画面における「Ｘ方向」の欄で設定されている。なお、切替前の第一番のパラメータセットでは、全方向に移動可能な柔らかさが設定されているので、Ｘ方向に１０［ｍｍ］動くことが可能となっている。
【００４７】
これにより、ロボット制御装置ＲＣのパラメータセット切替作業は、シリンダＣによるワークＷの押出作用に同期する。このような切替作業はロボット制御装置ＲＣ内部の処理のみで足りるので、複雑な周辺機器を使用する必要はない。
【００４８】
次いで、金型Ｍから押出されたワークＷをロボットＲが保持しつつ運搬する。この際、エンドエフェクタＥの姿勢が変わるとエンドエフェクタＥにモーメントがかかる。さらに、エンドエフェクタＥが押出し方向に対して垂直な方向（ここではＺ方向）に動くと、エンドエフェクタＥが金型Ｍから応力を受ける問題がある。
【００４９】
このため、ワークＷやエンドエフェクタＥに負担がかからないよう限定された直交方向、即ち押出方向に平行な方向（ここではＸ方向）のみにロボットＲを追従させるのが好ましい。切替後の第二番のパラメータセットには、そのような柔らかさを設定する。例えば、Ｘ方向のバネ定数１０［ｋｇｆ／ｍ］、Ｚ方向のバネ定数∞にして柔軟制御を行う（図６Ｃを参照されたい）。この場合には、シリンダＣがＸ方向の成分が３［ｋｇｆ］の力でエンドエフェクタＥを押出したとき、ロボットＲは０．３［ｍ］の距離をＸ軸方向にのみ押出されうる。
【００５０】
このような作業中に、ロボット制御装置ＲＣ内のホストＣＰＵ１１は所定周期毎で特定の処理を行っている。図９は、比較のために、従来技術においてロボット制御装置が実行プログラムＡの実施時に所定周期毎で行う処理を示すフローチャートである。そして、図１０は、本発明においてロボット制御装置ＲＣが実行プログラムＢの実施時に所定周期毎で行う処理を示すフローチャートである。
【００５１】
はじめに、図９を参照して従来技術の処理を説明する。なお、図９および図１０に示される処理は所定の制御周期毎に繰返し実施されるものとする。従来技術においては、はじめに、ステップＳ１１において、柔軟制御中か否かを判定する。柔軟制御中でない場合には、ステップＳ１２に進んで、通常の位置制御の処理を行う。なお、現在の状態が、実行プログラムＡの第一行における「柔軟制御開始」実行後で且つ第十一行における「柔軟制御おわり」実行前であれば柔軟制御中であると判定する。
【００５２】
そして、柔軟制御中である場合には、ステップＳ１３において押出開始信号ＤＩが出力されているかを判定する。そして、押出開始信号ＤＩが出力されていない場合には、第一番のパラメータセットをそのまま使用して柔軟制御を行う（ステップＳ１４、Ｓ１６）。押出開始信号ＤＩが出力されてる場合には、ステップＳ１５において第一番のパラメータセットから第二番のパラメータセットに切替えて、柔軟制御を行う（ステップＳ１５、Ｓ１６）。
【００５３】
次に、図１０を参照して本発明の処理を説明する。はじめに、ステップＳ２１において、柔軟制御中か否かを判定する。柔軟制御中でない場合には、ステップＳ２２に進んで、通常の位置制御の処理を行う。柔軟制御中であるか否かの判断は、前述した実行プログラムＡの場合と同様である。
【００５４】
そして、ステップＳ２３において、図５で説明した待機時間、例えば１０秒を経過したか否かを時間計測部２６を通じて判定する。待機時間を経過している場合には、ステップＳ２６に進んで、第一番のパラメータセットから第二番のパラメータセットに切替えて柔軟制御を行う。待機時間を経過していない場合には、ステップＳ２４に進む。第二番のパラメータセットは前述した通りであり、押出方向に平行な方向にのみロボットＲを追従させるように柔らかさが設定されている。
【００５５】
ステップＳ２４においては、ロボットの各軸が柔軟制御の開始位置から一定距離以上動いたか否かが判定される。そして、一定距離以上動いていない場合には、第一番のパラメータセットをそのまま使用して柔軟制御を行う（ステップＳ２５、Ｓ２９）。一定距離以上動いた場合には、第一番のパラメータセットから第二番のパラメータセットに切替えて柔軟制御を行う（ステップＳ２６）。
【００５６】
第二番のパラメータセットに切替えた場合には、ステップＳ２７において、エンドエフェクタＥにかかる力が閾値を越えていないか、即ちエンドエフェクタＥが周辺機器などに衝突していないかを判定する。衝突判定された場合には、第二番のパラメータセットから第三番のパラメータセットに切替えて柔軟制御を行う（ステップＳ２８、Ｓ２９）。このことは、図８に示される実行プログラムＢの第一行に記載されている。第三番のパラメータセットにおいては、例えば全ての方向について柔らかい柔軟制御が設定される。
【００５７】
従って、ロボット１が周辺機器などに衝突した場合にパラメータセットを切替えることができる。このため、限定された方向への倣い動作に切替えた後でロボットＲが周辺機器などに衝突した場合には、全方向への倣い動作に再度切替えることにより、ロボットＲの破損を防ぐことができる。
【００５８】
本発明の実行プログラムＢと従来技術の実行プログラムＡとを比較して分かるように、実行プログラムＢは実行プログラムＡよりも簡潔であるにも関わらず、より複雑な制御が行える。しかも、本発明においては押出開始信号ＤＩを必要とせず、動作状態監視部２１からの出力に基づいてパラメータセットを切替えている。このため、本発明では、複雑な周辺機器を用いることなしに、ロボット制御装置ＲＣ内部の情報のみに基づいて、押出しと同期してロボットＲの追従方向を切替えることができる。
【００５９】
また、動作状態監視部２１からの出力に基づいてパラメータセットを切替えているので、切替作業を適切なタイミングで行うことができる。このため、従来技術の欄で説明したようにワークの寸法バラツキを吸収できなくなる場合およびロボットが直進しなくなる場合を、本発明では避けることがかのうである。
【符号の説明】
【００６０】
１１    ホストＣＰＵ
１２ａ    ＲＯＭ
１２ｂ    ＲＡＭ
１２ｃ    不揮発性メモリ
１５    液晶ディスプレイ
１６    キーボード
２１    動作状態監視部
２２    記憶部
２３    動作生成部
２４    力制御パラメータ設定部
２５    力制御部
２６    時間計測部
Ｃ    シリンダ
Ｃ１〜Ｃｎ    デジタルサーボ回路
Ｅ    エンドエフェクタ
Ｅ１〜Ｅ６    エンコーダ（位置検出部）
Ｊ１〜Ｊ６    関節軸
Ｍ    金型
Ｍ１〜Ｍｎ    モータ
Ｒ    ロボット
ＲＣ    ロボット制御装置
ＲＭ    ロボット機構部
Ｓ１〜Ｓｎ    力センサ（力検出部）
ＴＰ    教示操作盤
Ｗ    ワーク
【図１】
0005845311.tif 000002
【図２】
0005845311.tif 000003
【図３】
0005845311.tif 000004
【図４Ａ】
0005845311.tif 000005
【図４Ｂ】
0005845311.tif 000006
【図５】
0005845311.tif 000007
【図６Ａ】
0005845311.tif 000008
【図６Ｂ】
0005845311.tif 000009
【図６Ｃ】
0005845311.tif 000010
【図７Ａ】
0005845311.tif 000011
【図７Ｂ】
0005845311.tif 000012
【図８】
0005845311.tif 000013
【図９】
0005845311.tif 000014
【図１０】
0005845311.tif 000015