(57)【要約】【課題】ロボットの柔軟制御を行うためのロボット制御装置に関し、柔軟制御中のロボットの姿勢を保ちつつ、追従する方向からずれた方向に力を加えた場合でも、追従する方向への動作が妨げられるのを防止することを目的とする。【解決手段】ロボットの制御軸毎に位置および速度の制御ループを有し、柔軟制御中の特定の制御軸の位置制御ゲインおよび速度制御ゲインを、特定の制御軸以外の制御軸の位置制御ゲインおよび速度制御ゲインより低く設定し、ロボットのアーム先端が外力に追従中に取るべき姿勢即ち追従を開始する直前のロボットのアーム先端の姿勢を求め、ロボットのアーム先端に与えられた外力により移動した特定の制御軸の現在位置と、外力に追従すべき方向と、追従を開始する直前の姿勢とに基づいて求められた特定の制御軸以外の制御軸の位置指令または速度指令を当該制御軸の制御ループに与えるように構成される。【選択図】図２
2008302449.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの制御軸毎に位置および速度の制御ループを有するロボット制御装置において、
ロボットのアーム先端が外力に追従すべき方向の情報を入力するための手段と、
特定の制御軸の位置制御ゲインおよび速度制御ゲインを、該特定の制御軸以外の制御軸の位置制御ゲインおよび速度制御ゲインよりそれぞれ低く設定する手段と、
ロボットのアーム先端が外力に追従中に取るべき姿勢即ち追従を開始する直前のロボットのアーム先端の姿勢を求める手段と、
ロボットのアーム先端に与えられた外力により移動した前記特定の制御軸の現在位置と、前記外力に追従すべき方向と、前記追従を開始する直前のロボットのアーム先端の姿勢とに基づいて、前記特定の制御軸以外の制御軸の位置指令または速度指令をそれぞれ求める手段と、
求められた前記特定の制御軸以外の制御軸の位置指令または速度指令をそれぞれの制御軸の制御ループに与える手段とを備えることを特徴とするロボット制御装置。
【請求項２】
前記特定の制御軸の設定がマニュアル入力で行われる請求項１に記載のロボット制御装置。
【請求項３】
前記特定の制御軸の設定が、ロボットのアーム先端が外力に追従すべき方向と外力を与える際のロボットの位置とにより、自動的に行われる請求項１に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は産業用ロボットの柔軟制御を行うためのロボット制御装置に関し、更に詳しく言えば、ロボット軸駆動用のサーボモータを制御して直交座標系上の柔らかさを変更することができるようにするためのロボット制御技術に関するものである。
【背景技術】
【０００２】
柔軟制御中のロボットの姿勢を保つための従来の技術として、例えば、下記の特許文献１（特許第３４７３８３４号公報）に「ロボットの制御装置」の技術が開示されている。このロボットの制御装置では、ロボットの手先先端に取り付けたツールの姿勢を一定に保ちながら、並進の柔軟動作が可能なロボットの制御が行われる。ただし、この場合、外力に追従する方向にもとづいて柔軟制御を行わない制御軸への指令を求める手段は備わっていない。
【０００３】
また一方で、下記の特許文献２（特開平８−１５５８６８号公報）においては、産業用ロボットのツールに作用する外力に対して予め定められた一定の方向への逃げ追従動作を制御するためのロボット制御方法が開示されている。ただし、この場合も、外力に追従する方向にもとづいて柔軟制御を行わない制御軸への指令を求める手段は備わっていない。
【０００４】
【特許文献１】特許第３４７３８３４号公報
【特許文献２】特開平８−１５５８６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のとおり、柔軟制御中のロボットの姿勢を保つための従来の技術では、追従する方向を指定することができないか、または、追従する方向を指定することができても追従しない方向を制御するトルクにより追従する方向への動作が妨げられるという問題が生じてくる。
【０００６】
本発明は上記問題点に鑑みてなされたものであり、柔軟制御中のロボットの姿勢を保ちつつ、追従する方向からずれた方向に力を加えた場合でも、追従する方向への動作が妨げられることを防止することができるようなロボット制御装置を提供することを目的とするものである。
【課題を解決するための手段】
【０００７】
上記問題点を解決するために、本発明のロボット制御装置は、ロボットの制御軸毎に位置および速度の制御ループを有しており、ロボットのアーム先端が外力に追従すべき方向の情報を入力するための手段と、特定の制御軸の位置制御ゲインおよび速度制御ゲインを、特定の制御軸以外の制御軸の位置制御ゲインおよび速度制御ゲインよりそれぞれ低く設定する手段と、ロボットのアーム先端が外力に追従中に取るべき姿勢即ち追従を開始する直前のロボットのアーム先端の姿勢を求める手段と、ロボットのアーム先端に与えられた外力により移動した上記特定の制御軸の現在位置と、上記外力に追従すべき方向と、上記追従を開始する直前のロボットのアーム先端の姿勢とに基づいて、上記特定の制御軸以外の制御軸の位置指令または速度指令をそれぞれ求める手段と、求められた上記特定の制御軸以外の制御軸の位置指令または速度指令をそれぞれの制御軸の制御ループに与える手段とを備える。
【０００８】
要約すれば、本発明のロボット制御装置では、柔軟制御中の特定の制御軸でゲインを下げるとともに外力に追従する方向にもとづいて柔軟制御を行わない制御軸への指令を求めて加えるようになっている。
【０００９】
好ましくは、本発明のロボット制御装置において、上記特定の制御軸の設定がマニュアル入力で行われる。
【００１０】
さらに、好ましくは、本発明のロボット制御装置において、上記特定の制御軸の設定が、ロボットのアーム先端が外力に追従すべき方向と外力を与える際のロボットの位置とにより、自動的に行われる。
【発明の効果】
【００１１】
本発明のロボット制御装置によれば、柔軟制御中の特定の制御軸でゲインを下げるとともに外力に追従する方向にもとづいて柔軟制御を行わない制御軸への指令を求めて加えることで、柔軟制御中のロボットの姿勢を保ちつつ、追従する方向を指定することができ、かつ、追従しない方向を制御するトルクで追従する方向への動作が妨げられることを無くし、追従する方向からずれた方向に力を加えた場合でも小さい力で追従する方向に動かすことができるようになる。
【発明を実施するための最良の形態】
【００１２】
以下に添付図面（図１〜図６）を参照しながら、本発明に係るロボット制御装置の好適な実施の形態を詳細に説明する。
【００１３】
図１は、本願発明の実施例に係るロボット制御システムの全体的構成を示す概略図である。
【００１４】
図１のロボット制御システムにおいては、産業用ロボットのサーボ制御（柔軟制御）を含むシステム全体の制御を行うためのロボット制御装置ＲＣと、このロボット制御装置ＲＣからの制御信号等に従って産業用ロボットをサーボモータ等により駆動するためのロボット機構部ＲＭとを備えている。さらに、ユーザがマニュアル入力で産業用ロボットの柔軟制御を行うためのパラメータを入力するパラメータ設定画面を含む教示操作盤ＴＰが設けられている。ついで、本発明の特徴的な構成要素であるロボット制御装置ＲＣをさらに詳しく説明する。
【００１５】
図２は、本発明の実施例に係るロボット制御装置の構成を示すブロック図である。ただし、ここでは、本発明の実施例で使用されるロボット制御装置の構成を簡略化して示す。なお、これ以降、前述の構成要素と同様のものについては、同一の参照番号を付して表すこととする。
【００１６】
ロボットの直交座標上の柔軟制御（以下、「直交ソフトフロート」と称する）に直接関係のある部分から説明すると、図２のロボット制御装置は、システム全体を制御するホストＣＰＵ１と、このホストＣＰＵ１から出力される移動指令や制御信号を、後述のデジタルサーボ回路２のプロセッサに引き渡し、あるいは、逆にデジタルサーボ回路２のプロセッサからの各種信号をホストＣＰＵ１に引き渡すための共有ＲＡＭメモリ３とを備えている。前述したサーボ制御を実行するデジタルサーボ（ソフトウェアサーボ）回路２は、図２では省略するがプロセッサ、ＲＯＭおよびＲＡＭ等のメモリ等で構成される。
【００１７】
他の部分について見ると、ホストＣＰＵ１にはＲＯＭ４ａ、ＲＡＭ４ｂ、不揮発性メモリ５および教示操作盤ＴＰが接続されている。ＲＯＭ４ａには、各種のシステムプログラムが格納される。ＲＡＭ４ｂは、ホストＣＰＵ１がデータの一時記憶に使用されるメモリである。不揮発性メモリ５には、ロボットの動作内容に関する各種プログラム、関連設定値等が格納される。
【００１８】
教示操作盤ＴＰは、液晶ディスプレイ（ＬＣＤ）６およびキーボード７を備えており、プログラムデータの入力／変更、関連設定値の入力／変更等が可能である。さらに、ロボット機構部ＲＭは、ホストＣＰＵ１からの移動指令や制御信号に従ってロボットを駆動するための複数のモータ（例えばサーボモータ）８を備えている。
【００１９】
本実施例では、教示操作盤ＴＰから後述の直交ソフトフロートのパラメータ設定画面を介して入力される直交座標系の各方向の柔らかさのデータ、ならびに座標系の設定等の値が不揮発性メモリ５に格納される。
【００２０】
ロボットの柔軟制御を行う場合、まず、ユーザは、教示操作盤ＴＰに付設された液晶ディスプレイ６において、図６に示すような直交ソフトフロートのパラメータ設定画面６０を呼び出す。
【００２１】
そして、このパラメータ設定画面上で、直交ソフトフロートを行う作業座標系の設定と、外力に追従する方向の設定を行うことができる。
【００２２】
さらに、柔軟制御中のゲインを下げる軸（制御軸）の設定も、上記のパラメータ設定画面上で行うことができる。ユーザは、上記外力に追従するよう設定した方向（図６の例ではＹ方向）の動作に大きく影響する関節軸を選択し、下げた後の位置ゲインKspと通常の位置ゲインKpとの比αp、および下げた後の速度ゲインKsvと通常の速度ゲインKvとの比αvを入力する。ここでは、J1軸を選択し、J1軸にαp=5[%],αv=5[%]を設定した例が示されている。
【００２３】
また、上記軸の選択および割合の設定は、ユーザが入力するのではなく、予め定められた規則に従ってロボット制御装置側で決定し、このようにして決定された結果をパラメータ設定画面に表示するようにしても良い。この規則としては、例えば柔軟制御開始位置で各軸移動量に対する追従する方向の直交移動量のヤコビアンを計算し、その値の大きい軸の比αp, αvに関して定数（例えば１０％、１０％）を自動的に設定する方法が使用できる。
【００２４】
図３は、本発明に係る柔軟制御中の制御系ブロック図、図４は、本発明に係る直交ソフトフロートのホスト処理を示すフローチャート、そして、図５は、本発明に係る直交ソフトフロートのサーボ処理を示すフローチャートである。
【００２５】
ホストＣＰＵ１（図２参照）により不揮発性メモリ５（図２参照）等から読み出される動作プログラムの中の直交ソフトフロート開始命令、または教示操作盤からの手動操作によって直交ソフトフロート機能が有効にされると、図４および図５に示すような処理が所定周期で実行され、以下の原理によって、直交ソフトフロート機能が実行される。
【００２６】
すなわち、直交ソフトフロート開始時に、ゲインを下げる軸では、先に設定された比αp、αvを使用して位置ループゲインおよび速度ループゲインを下げることによって、直交ソフトフロート機能が実行される。
【００２７】
ここで、図４のフローチャートを詳しく説明する。上記の動作プログラムに従って図４の直交ソフトフロート機能のホスト処理を実行する場合、まず、ステップＳ１０に示すように、直交座標系Σ0の座標上の現在位置を求める。
【００２８】
つぎに、ステップＳ１１に示すように、外力に追従するための移動量ΔJ1〜ΔJ6を計算する。さらに、ステップＳ１２に示すように、ゲインを下げる軸（例えばJ1軸）の実際の移動量δJ1を検出する。
【００２９】
さらに、ステップＳ１３に示すように、ゲインを下げる軸以外の軸の必要な移動量δJ2〜δJ6を計算する。さらに、ステップＳ１４に示すように、必要な移動量δJ2〜δJ6を共有メモリに書き込む。これによって、直交ソフトフロート機能のホスト処理が完了する。
【００３０】
さらに、図５のフローチャートを詳しく説明する。上記の動作プログラムに従って図５の直交ソフトフロート機能のサーボ処理を実行する場合、まず、ステップＳ２０に示すように、ゲインを下げる軸（例えばJ1軸）が選択されているか否かを判定する。
【００３１】
ステップＳ２０において、ゲインを下げる軸が選択されていると判定された場合、ステップＳ２１に進み、ゲインを下げた後の位置ゲインKsp、およびゲインを下げた後の速度ゲインKsvを使用して、位置ループ、積分および速度ループの各々の処理を実行する。これによって、ゲインを下げる軸では、位置ループゲインおよび速度ループゲインを下げるように制御される。
【００３２】
また一方で、ステップＳ２０において、ゲインを下げる軸以外の軸が選択されていると判定された場合、ステップＳ２２に進み、必要な移動量δJx（ここで、Jxは、ゲインを下げる軸以外の軸を表す）を共有メモリから読み出す。
【００３３】
さらに、ステップＳ２３に示すように、必要な移動量δJxを位置ループの入力に加算すると共に、必要な移動量δJxの微分を速度ループの入力に加算する。さらに、ステップＳ２４に示すように、通常の位置ゲインKp、および通常の速度ゲインKvを使用して、位置ループ、積分および速度ループの各々の処理を実行する。これによって、直交ソフトフロート機能のサーボ処理が完了する。
【００３４】
そして、直交ソフトフロート機能の実行中は所定周期毎に、図３の制御系ブロック図に示すような処理を行う。
【００３５】
まず、ホストＣＰＵ１（図２参照）の側では、ブロック１０〜ブロック１２において、直交座標系Σ0の座標上においてロボットのツール先端点（ＴＣＰ）が、現在位置／ P1（／ P1はベクトルP1を意味する）から外力に追従する方向／e（／eはベクトルeを意味する）に、直交ソフトフロート開始時のロボットのアーム先端の姿勢を保ちながら、一定距離Dだけ動作するときの各軸の動作量（外力に追従するための移動量ΔJ1〜ΔJ6）を求める。この各軸の動作量は、次の式により演算することができる。ここで、／ P2（／ P2はベクトルP2を意味する）は、直交ソフトフロート開始時のロボットのアーム先端の姿勢を保ちながら、一定距離Dだけ移動したときのロボットの位置を表している。
／P2＝ ／P1+ D・／e
／P1→｛J11, J21, J31, J41, J51, J61｝
／P2→｛J12, J22, J32, J42, J52, J62｝
｛ΔJ1: ΔJ2: ΔJ3: ΔJ4: ΔJ5: ΔJ6｝
＝ ｛J11-J12, J21-J22, J31-J32, J41-J42, J51-J52, J61-J62｝
【００３６】
つぎに、ブロック１３において、ゲインを下げた軸の実際の移動量を検出する。例えば、J1がゲインを下げる軸である場合、J1軸の実際の移動量をδJ1とする。
【００３７】
さらに、上記ブロック１３において、ゲインを下げる軸以外の軸が実際に移動すべき移動量δJ2〜δJ6を求める。この移動量δJ2〜δJ6は、次の式により演算することができる。
δJ2＝ δJ1×ΔJ2/ΔJ1
：
δJ6＝ δJ1×ΔJ6/ΔJ1
【００３８】
ゲインを下げる軸以外の軸の移動量δJ2〜δJ6は、共有ＲＡＭを経由してデジタルサーボ回路２（図２参照）の側に送られる。
【００３９】
デジタルサーボ回路２では、上記ゲインを下げた軸以外の軸に関して、上記移動量δJ2〜δJ6を位置ループ（位置ゲインブロック２０および位置フィードバック経路を含むループ）に入力として加えると共に、微分器２１により演算される上記移動量δJ2〜δJ6の微分を速度ループ（速度ゲインブロック２３および速度フィードバック経路に関連した微分器２２を含むループ）に入力として加える。
【００４０】
さらに、デジタルサーボ回路２では、位置ループ内の処理および速度ループ内の処理が実行され、ロボット内のモータ８に対するデジタルサーボ制御が行われる。この結果、ロボットのツール先端点（ＴＣＰ）は、現在位置から外力に追従する方向に、姿勢を保って動作することができる。
【００４１】
ところで、速度ループに積分器（例えば図３の積分器２４）を有するロボットの柔軟制御では、柔軟制御開始時に積分器が重力モーメントとクーロン摩擦に相当するトルクを溜めているが、クーロン摩擦分のトルクの方向が外力と反対の場合、そのトルクを打ち消す分の外力を余分に加えないと動き出さないという不都合な事態が生じる。
【００４２】
この対策として、追従する方向に予備動作を行い、速度ループの積分器に摩擦を補償する方向のトルクを積算する方法が、実際の生産現場ではよく使われている。具体的には、ユーザが、動作プログラム中で柔軟制御開始命令の前に予備動作を行う位置制御動作命令を加える。
【００４３】
位置制御動作命令を加えない場合も、前もって予備動作の方向および距離を設定しておき、柔軟制御開始命令があった場合に、制御装置のインタプリタで予備動作を生成・実行し、その後に柔軟制御を開始する機能を持たせることで、同様の効果を得る機能を本実施例に適用することが可能である。
【００４４】
また、ロボットと周辺機器のレイアウトの都合上、予備動作する距離がない場合は、予備動作で積分器に積算されるトルクに相当する量を予め設定し、柔軟制御の実行中に、このトルクを速度ループの出力に加えることで同様の効果を得る機能を本実施例に適用することも可能である。
【００４５】
なお、上記の方法で摩擦を補償することができるのは、柔軟制御中に動作する方向が予めわかっている場合に限る。柔軟制御中に動作する方向が未知の場合には、静摩擦の大きさに近い振幅の正弦波、三角波、矩形波等の周期的なトルクを加えることで、一方向から外力を加えた場合であって外力と上記周期的なトルクの方向とが一致したときに、足し合わせたトルクが静摩擦分を上回りその方向に動作開始できる機能を本実施例に適用することが可能である。
【００４６】
また、直交ソフトフロートを作業座標系で行う場合や、予備動作の方向を座標系上で指定する場合には、前もって座標系を設定しておく必要がある。この座標系を設定する方法として、座標系のパラメータを直接入力する方法が一般的であるが、それ以外に、ツール先端点の位置を２か所教示して、その２点を結ぶ方向を、直交ソフトフロートの作業座標系の軸の一つ（例えばＺ軸）に設定するかまたは予備動作の方向に設定する機能を本実施例に適用することで、座標系の方向を直感的にわかりやすく指定することも可能である。
【産業上の利用可能性】
【００４７】
本発明は、ロボット制御装置により産業用ロボットの柔軟制御を行う場合に、柔軟制御中の特定の制御軸でゲインを下げるとともに外力に追従する方向にもとづいて柔軟制御を行わない制御軸への指令を求めて加えることによって、ロボット軸駆動用のサーボモータを制御して直交座標系上の柔らかさを変更することができるようにするためのロボット制御システムに適用される。
【図面の簡単な説明】
【００４８】
【図１】本発明に係るロボット制御システムの全体的構成を示す概略図である。
【図２】本発明に係るロボット制御装置の構成を示すブロック図である。
【図３】本発明に係る柔軟制御中の制御系ブロック図である。
【図４】本発明に係る直交ソフトフロートのホスト処理を示すフローチャートである。
【図５】本発明に係る直交ソフトフロートのサーボ処理を示すフローチャートである。
【図６】本発明に係る直交ソフトフロートのパラメータ設定画面を示す図である。
【符号の説明】
【００４９】
１    ホストＣＰＵ
２    デジタルサーボ回路
３    共有ＲＡＭ
４ａ    ＲＯＭ
４ｂ    ＲＡＭ
５    不揮発性メモリ
６    液晶ディスプレイ
７    キーボード
８    モータ
６０    パラメータ設定画面
ＲＣ    ロボット制御装置
ＲＭ    ロボット機構部
ＴＰ    教示操作盤
【図１】
2008302449.tif 000003
【図２】
2008302449.tif 000004
【図３】
2008302449.tif 000005
【図４】
2008302449.tif 000006
【図５】
2008302449.tif 000007
【図６】
2008302449.tif 000008