(57)【特許請求の範囲】
【請求項１】
アームと、
前記アームの角度を検出する角度センサーと、
前記アームに設けられたジャイロセンサーと、
前記アームに設けられ、被作業物を保持する保持部と、
前記保持部によって保持される前記被作業物の重量を取得する重量取得部と、を備え、
前記重量および前記ジャイロセンサーの出力に基づいて、前記ジャイロセンサーのゲインが変更され、前記アームの振動が抑制される、
ことを特徴とするロボット装置。
【請求項２】
前記重量が大きいほど、前記ゲインは、大きくなる、
ことを特徴とする請求項１に記載のロボット装置。
【請求項３】
前記アームのオーバーシュートとオーバーシュート規定値とを比較したオーバーシュート比較結果に基づいて、前記アームを制御する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項４】
前記重量取得部は、力覚センサーである、
ことを特徴とする請求項１ないし３のいずれか一項に記載のロボット装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット装置およびロボット装置の制御方法に関する。
【背景技術】
【０００２】
ＩＣハンドラーや組立装置の一部として多く使われている多関節構造を有するロボット装置は、様々な産業現場の中で多用されてきている。故に、ロボット装置には今まで以上に、求められる位置にいかに早く且つ正確にアームを移動させることができるかが重要な性能仕様、品質になってきている。一般的にアームを高速に且つ正確に移動させるには、アームに掛かる慣性力を小さくし、駆動用のアクチュエーターの負荷を大きくさせないことが必要である。アームに掛かる慣性力を小さくするには、アームの軽量化が最も効果的な手法として用いられている。しかし、アームを軽量化することによりアーム剛性の低下を招き、アーム停止時に生じるアームの振動を抑制することが困難になり、制御信号に基づいてアーム先端部を目的の位置で停止させたとしても、実際にはアーム自体の振動の振幅分の位置ズレが生じてしまい、振動が減衰する時間まで次の動作を開始することができないという問題があった。
【０００３】
この問題に対して、例えば特許文献１ではロボットアームの弾性変形を考慮したゲイン調整評価関数を設定する手段を備え、モーターなどの駆動源の駆動位置だけに基づく制御ゲインを、設定されたゲイン調整評価関数によって調整された調整後の制御ゲインを用いてロボットアームを制御することで、ロボットアームの弾性変形が考慮された高精度の制御を可能にすることが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−９２５１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上述の特許文献１では、ロボットアームを駆動する制御系に加えてゲイン調整評価関数を設定し調整された制御ゲインを生成する振動制御の制御系を備えなければならず、複雑な制御系の構築をしなければならなかった。
【０００６】
そこで、簡単な制御系であっても、ロボットアームの振動、特に作業機構を備えるアーム先端部においての目標位置停止時の振動が抑制できるロボット装置およびその制御方法を提供する。
【課題を解決するための手段】
【０００７】
本発明は、少なくとも上述の課題の一つを解決するように、下記の形態または適用例として実現され得る。
【０００８】
〔適用例１〕本適用例のロボット装置は、アクチュエーターと、前記アクチュエーターの回転角度を検出する角度センサーを含むアーム連結装置と、複数のアームが、前記アーム連結装置により直列且つ回転可能に連結されたアーム体と、前記アーム体の一方の端部に設けられた前記アクチュエーターと前記アクチュエーターの回転角度を検出する角度センサーを含む基体連結装置により前記アーム体が回転可能に連結された基体と、複数の前記アームの内、被作業物保持手段が取り付けられた作業アームの前記被作業物保持手段が取り付けられる取付位置には、ジャイロセンサーと、を備え、前記角度センサーの回転角度検出データより、前記アームの角速度を演算する第１演算部と、前記ジャイロセンサーの検出データより、前記作業アームの前記取付位置での角速度を演算する第２演算部と、前記アームの前記角速度および前記ジャイロセンサーの前記検出データによって演算された前記アームの前記角速度の差より、前記アクチュエーターと前記アクチュエーターに連結される前記アームとの間のねじれ角速度を演算する第３演算部と、前記被作業物保持手段によって保持される被作業物の重量を取得する重量取得手段と、前記ジャイロセンサーの検出データから、前記作業アームのタクトタイムを演算する第４演算部と、前記作業アームの前記タクトタイムと前記重量に基づくタクトタイム規定値とを比較する比較手段と、前記比較手段において前記タクトタイムが前記タクトタイム規定値を超えた場合に、前記重量に基づき前記ねじれ角速度にかけるゲインを減らした補正ゲインを生成する補正ゲイン生成手段と、を含み、前記補正ゲインおよび前記ねじれ角速度により前記アクチュエーターを制御する制御部と、を備えることを特徴とする。
【０００９】
本適用例におけるオーバーシュートおよびタクトタイムを、図１により説明する。図１に示すように、本適用例のロボット装置のアーム体における被作業物保持手段が設けられる作業アームは、作業アーム待機位置から動作指令を受けて、被作業物保持手段が取り付けられている取付位置が所定の作業アーム停止規定位置まで駆動される。この際、作業アーム停止規定位置にアーム体の取付位置が到達しても、アーム体の慣性によってアーム体はアーム体の弾性範囲において弾性変形し、作業アーム停止規定位置を越えて振れ、最初の振幅から時間の経過とともに徐々に振幅が減衰し、アーム体は停止する。この最初に現れる作業アーム最大振れ位置までの作業アーム停止規定位置からの移動量を「オーバーシュート」と言う。また、作動アーム待機位置から駆動を始めて取付位置が作動アーム停止規定位置に到達するまでの時間を「タクトタイム」と言う。
【００１０】
適用例１のロボット装置によれば、被作業物の重量変化に対して、被作業物の重量に対する適正ゲインを示すジャイロゲインテーブルから、ねじれ角速度にかけるジャイロゲインを取得する。このジャイロゲインテーブルを、ロボット装置の経時変化に対応して補正された補正テーブルを補正ゲイン生成手段によって作成することによって、補正テーブルに基づく最適なゲイン設定が行われ、ロボット装置の振動抑制を適正に行うことができる。補正テーブルは、ロボット装置の経時変化によって生じるタクトタイムの変化、すなわちタクトタイム規定値を超えた場合に実行するようにタクトタイムとタクトタイム規定値とを比較する比較手段を備え、その比較結果によって生成される。従って、駆動中であっても最適のジャイロゲインが得られ、タクトタイムを容易に規定値以内にしてロボット装置を稼動させることができる。すなわち、ロボット装置の経時変化が生じても、ロボットアームの振動、特にアーム先端部に備える被作業物保持手段の設置位置における目標位置停止時の振動を抑制できるロボット装置を得ることができる。また、ロボット装置の駆動中に個々の被作業物の重量を測定し、測定された重量に最適なジャイロゲインを、補正ゲイン生成手段によって作成された補正テーブルから取得することによって、安定的にタクトタイム規定値内で駆動させることができるため、長期的な動作の安定性、高い生産性を初期の性能で維持できるロボット装置を得ることができる。
【００１１】
〔適用例２〕上述の適用例において、前記比較手段は、前記作業アームのオーバーシュートとオーバーシュート規定値とを比較し、前記制御部は、オーバーシュート比較結果と、前記タクトタイムと前記重量に基づく前記タクトタイム規定値との比較結果と、により前記アクチュエーターを制御することを特徴とする。
【００１２】
上述の適用例によれば、タクトタイムの比較に加えて、オーバーシュートとオーバーシュート規定値とを比較することにより、オーバーシュートがオーバーシュート規定値を超える状態になっても、所定のロボット装置の制御を可能にすることができる。これにより、ロボット装置の異常発見を確実に行い、安全な駆動、高い生産性を維持することができる。
【００１３】
〔適用例３〕上述の適用例において、前記重量取得手段が、前記作業アームに備えられる力覚センサーであることを特徴とする。
【００１４】
上述の適用例によれば、被作業物の実重量を基に適正なジャイロゲインを設定させることができるため、安定したロボット装置の駆動を可能にする。また、被作業物に対象物ではない物、あるいは重量の過不足がある不良品、などが混入した場合であっても、力覚センサーによって個々の被作業物の重量を測定することができるため、非対象物、不良品の排除が確実に実行できる。従って、ロボット装置の故障、暴走、生産停止、などを回避することができ、高い安全性と生産性を備えるロボット装置を得ることができる。
【００１５】
〔適用例４〕本適用例のロボット装置の制御方法は、アクチュエーターと、前記アクチュエーターの回転角度を検出する角度センサーを含むアーム連結装置と、複数のアームが、前記アーム連結装置により直列且つ回転可能に連結されたアーム体と、前記アーム体の一方の端部に設けられた前記アクチュエーターと前記アクチュエーターの回転角度を検出する角度センサーを含む基体連結装置により前記アーム体が回転可能に連結された基体と、複数の前記アームの内、被作業物保持手段が取り付けられた作業アームの前記被作業物保持手段が取り付けられる取付位置には、ジャイロセンサーと、を備え、前記角度センサーの回転角度検出データより、前記アームの角速度を演算する第１演算工程と、前記ジャイロセンサーの検出データより、前記作業アームの前記取付位置での角速度を演算する第２演算工程と、前記アームの前記角速度および前記ジャイロセンサーの前記検出データによって演算された前記アームの前記角速度の差より、前記アクチュエーターと前記アクチュエーターに連結される前記アームとの間のねじれ角速度を演算する第３演算工程と、前記被作業物保持手段によって保持される被作業物の重量を取得する重量取得工程と、前記ジャイロセンサーの前記検出データから、前記作業アームのタクトタイムを演算する第４演算工程と、前記作業アームの前記タクトタイムと前記重量に基づくタクトタイム規定値とを比較する比較工程と、前記比較手段において前記タクトタイムが前記タクトタイム規定値を超えた場合に、前記重量に基づき前記ねじれ角速度にかけるゲインを減らした補正ゲインを生成する補正ゲイン生成工程と、を含み、前記補正ゲインおよび前記ねじれ角速度により前記アクチュエーターを制御する制御工程と、を含むことを特徴とする。
【００１６】
本適用例のロボット装置の制御方法によれば、被作業物の重量変化に対して、被作業物の重量に対する適正ゲインを示すジャイロゲインテーブルから、ねじれ角速度にかけるジャイロゲインを取得する。このジャイロゲインテーブルを、ロボット装置の経時変化に対応して補正された補正テーブルを補正ゲイン生成工程において作成することによって、補正テーブルに基づく最適なゲイン設定が行われ、ロボット装置の振動抑制を適正に行うことができる。補正テーブルの生成は、ロボット装置の経時変化によって生じるタクトタイムの変化、すなわちタクトタイム規定値を超えた場合に実行するようにタクトタイムとタクトタイム規定値とを比較する比較工程を実行させることで、駆動中であっても最適のジャイロゲインが得られるロボット装置の制御を可能にする。従って、ロボット装置のタクトタイムを規定値以内に維持する制御を簡単な構成で可能にすることができ、高い生産性が維持できるロボット装置を得ることができる。
【００１７】
〔適用例５〕上述の適用例において、前記比較工程は、前記作業アームのオーバーシュートとオーバーシュート規定値とを比較する工程を含み、前記制御工程は、オーバーシュート比較結果と、前記タクトタイムと前記重量に基づく前記タクトタイム規定値との比較結果と、により前記アクチュエーターを制御することを特徴とする。
【００１８】
上述の適用例によれば、タクトタイムの比較に加えて、オーバーシュートとオーバーシュート規定値とを比較することにより、オーバーシュートがオーバーシュート規定値を超える状態になっても、所定のロボット装置の制御を可能にすることができる。これにより、ロボット装置の異常発見を確実に行い、安全な駆動、高い生産性を維持することができる。
【図面の簡単な説明】
【００１９】
【図１】オーバーシュートおよびタクトタイムの定義を説明する図。
【図２】第１実施形態に係るロボット装置を示し、（ａ）は概略平面図、（ｂ）は概略断面図。
【図３】第１実施形態に係るロボット装置に備える力覚センサーの一例を示す、（ａ）は平面図、（ｂ）は（ａ）に示すＡ−Ａ´部の断面図。
【図４】第１実施形態に係るロボット装置の構成を示す制御ブロック図。
【図５】第１実施形態に係るロボット装置の、ジャイロゲインテーブルの一例を示す線図。
【図６】図２に示すロボット装置を、特性模型で表した連結装置で示す構成図。
【図７】図４に示す制御部に含む制御手段の構成を示すブロック図。
【図８】アーム振動の挙動を示す図。
【図９】第２実施形態に係るロボット装置の制御方法のフローチャート。
【図１０】第２実施形態に係るロボット装置のゲイン調整方法のフローチャート。
【図１１】第２実施形態に係るロボット装置のゲイン調整方法によって生成される補正ゲインの例を示す線図。
【発明を実施するための形態】
【００２０】
以下、図面を参照して、本発明に係る実施形態を説明する。
【００２１】
（第１実施形態）
図２は第１実施形態に係るロボット装置を示し、（ａ）は概略平面図、（ｂ）は概略断面図である。本実施形態のロボット装置は、水平方向に回転可能に２本のアームが連結された、いわゆる２軸水平多関節ロボット１００（以下、ロボット装置１００という）である。
【００２２】
ロボット装置１００は、第１アーム１１と第２アーム１２とがアーム連結装置２０によって回転可能に連結されて構成されるアーム体１０を備えている。アーム体１０は、基体連結装置３０により、基盤に固定された基体４０と回転可能に連結され、ロボット装置１００を構成している。アーム連結装置２０は、アクチュエーター５１と、アクチュエーター５１のトルクを所定の減速比で伝達するトルク伝達装置６１と、を含む。また、基体連結装置３０は、アクチュエーター５２と、アクチュエーター５２のトルクを所定の減速比で伝達するトルク伝達装置６２と、を含む。
【００２３】
第２アーム１２は、アーム連結装置２０に連結される連結アーム１２ａと、加工用ツールもしくは被加工物を保持する被作業物保持手段としてのワーク保持装置７０が保持される保持アーム１２ｂとを備えている。更に、第２アーム１２には、連結アーム１２ａと保持アーム１２ｂとを、被作業物の重量を測定する重量取得手段としての力覚センサー１３を介して図示しない固定手段によって連結している。力覚センサー１３は、ワーク保持装置７０が、被作業物を保持することによって生じる第２アーム１２に掛かる応力、あるいはモーメント（曲げ応力）を検出するセンサーであって、検出された応力あるいはモーメントから図示しない演算手段によって被作業物の重量が演算、計測される。
【００２４】
ここで力覚センサー１３について説明する。本実施形態に係るロボット装置１００に備える力覚センサー１３を図３に示し、（ａ）は平面図。（ｂ）は（ａ）に示すＡ−Ａ´部の断面図である。図３（ａ）に示すように、力覚センサー１３はセンサーデバイス１３ａを配置した構成となっている。図３（ｂ）に示すようにセンサーデバイス１３ａは、例えば圧電体と電極を交互に積層し、図示するｘ，ｙ，ｚの各方向に掛かる力に対して発生するひずみによって電荷を発生させるデバイスである。このセンサーデバイス１３ａが連結アーム１２ａと保持アーム１２ｂとの間に配置し、連結アーム１２ａと保持アーム１２ｂをボルト１２ｃによって締結して固定されている。このように構成することによって、連結アーム１２ａと保持アーム１２ｂとの間に働く力もしくはモーメント力（曲げ力）、言い換えると第２アーム１２に掛かる力もしくはモーメント力を検出する。この力覚センサー１３によって、図示されない被作業物がワーク保持装置７０に保持された場合の力覚センサー１３からの検出データの変化から、被作業物の重量を計測することができる。なお、力覚センサー１３は、上述の圧電体を用いたセンサーには限定されない。例えば、第２アーム１２にひずみゲージを固着し、第２アーム１２のひずみを計測し、力に演算することもできる。また、ワーク保持装置７０に重量測定装置を組み込んで、直接的に被作業物重量を測定してもよい。
【００２５】
アーム連結装置２０に含まれるアクチュエーター５１には回転角度を検出する角度センサー８１が備えられている。また、基体連結装置３０にも、アクチュエーター５２に角度センサー８２が備えられている。また、第２アーム１２のワーク保持装置７０が備えられる取付位置Ｐに対応する位置にジャイロセンサー９０が備えられている。ジャイロセンサー９０は、ワーク保持装置７０の取付位置Ｐでの角速度および位置の検出を可能にしている。
【００２６】
図４は、本実施形態に係るロボット装置１００の構成を示す制御ブロック図である。ＣＰＵ２００は、後述する第１演算部５１０、第２演算部５２０、第３演算部５３０、第４演算部５４０、重量演算部５５０および制御部６００を含み、ＲＯＭ３００に記憶されたプログラムを読み出して実行する。また、ＲＡＭ４００はＣＰＵ２００におけるプログラム実行によって得られるデータを保存し、ＣＰＵ２００へ保存されたデータから必要なデータを送出する。
【００２７】
ロボット装置１００の第２アーム１２に備える力覚センサー１３によって、ワーク保持装置７０に保持された被作業物の重量によって検出された電荷より、重量演算部５５０において重量値（以下、計測重量という）として演算される。演算された計測重量は制御部６００へ送出される。制御部６００では、計測重量に基づき適正なタクトタイムでロボット装置１００が駆動されるように、制御部６００に備える制御手段６２０に含まれる後述するジャイロゲインの値を、被作業物の重量に対するジャイロゲインの値を示す図示しないジャイロゲインテーブルより読み出し、設定する。なおジャイロゲインテーブルは、例えば予めＲＯＭ３００もしくはＲＡＭ４００に書き込み、随時、読み出せるように格納されている。また、ジャイロゲインテーブルは、本実施形態のロボット装置１００では、図５に示すような特性線図として格納されている例で説明するが、これに限定はされず、例えば近似式、一覧表などの形式であってもよい。
【００２８】
また、ロボット装置１００に備える角度センサー８１，８２によって検出されたアクチュエーター５１，５２の回転角度データは、第１演算部５１０においてアクチュエーター５１の回転角度θ１、アクチュエーター５２の回転角度θ２、に換算され、換算されたそれぞれの回転角度θ１、θ２を時間で１回微分し、アクチュエーターの回転角速度を演算する。
【００２９】
得られたアクチュエーターの回転角速度から、アクチュエーターが駆動するアームの回転角速度を求める。第１アーム１１の場合は、アクチュエーター５２から減速比１／Ｎ２を持つトルク伝達装置６２によって駆動されるため、基体連結装置３０の出力部の回転角速度ω２は、
ω２＝（ｄθ２／ｄｔ）×（１／Ｎ２）
となる。
【００３０】
同様に、第２アーム１２を駆動するアクチュエーター５１を含むアーム連結装置２０の出力部の回転角速度ω１は、
ω１＝（ｄθ１／ｄｔ）×（１／Ｎ１）
１／Ｎ１：トルク伝達装置６１の減速比
となる。
【００３１】
第２演算部５２０では、第２アーム１２に備えられたジャイロセンサー９０が検出した検出値から、アーム体１０の角速度としての基体連結装置３０を回転軸とするジャイロセンサー９０の配置位置、すなわちワーク保持装置７０部の角速度ωaが演算される。
【００３２】
第３演算部５３０では、上述のように演算されたアクチュエーター５１の回転によるアクチュエーター５１を含む連結装置を回転軸とする第２アーム１２の角速度ω１、第１アーム１１の角速度ω２と、第２アーム１２に取り付けられたジャイロセンサー９０から得られた基体連結装置３０を回転軸とする第２アームの角速度ωaとの差であるねじれ角速度ωbが、
ωb＝ωa−ω２−ω１
によって得られる。得られたねじれ角速度ωbは、第１アーム１１に起因するねじれ角速度ωb1と、第２アーム１２に起因するねじれ角速度ωb2と、が合成されたものと考えられ、
ωb＝ωb1＋ωb2
と表される。換言すれば、ねじれ角速度ωbを、各アーム１１，１２に起因するねじれ角速度ωb1，ωb2に分解することによって、アーム体１０の振動を適正なタクトタイムになるようにアクチュエーター５１，５２を制御するためのジャイロゲインの調整をすることができる。
【００３３】
ねじれ角速度ωbを、各アーム１１，１２に起因するねじれ角速度ωb1，ωb2に分解する方法を説明する。図６は、図２に示すロボット装置１００のアーム連結装置２０および基体連結装置３０を、ばね特性と減衰特性（ダンパー特性）の特性模型で表した図である。図４に示すように、ロボット装置１００のアーム連結装置２０は、仮想ばね２０ａと仮想減衰装置２０ｂとを備えて第１アーム１１と第２アーム１２が連結され、基体連結装置３０は、仮想ばね３０ａと仮想減衰装置３０ｂとを備えて第１アーム１１が基体４０に連結されている、と模型的にロボット装置１００を示すことができる。この模型化したロボット装置１００において、第１アーム１１と第２アーム１２では、重量、長さ、剛性などが異なることが一般的であり、そのことによって第１アーム１１が基体連結装置３０に備えるアクチュエーター５２によって駆動される場合の周波数応答と、第２アーム１２がアーム連結装置２０に備えるアクチュエーター５１によって駆動される場合の仮想ばね２０ａ，３０ａと仮想減衰装置２０ｂ，３０ｂとの構成を用いて算出される周波数応答と、では異なる特性を示す。
【００３４】
すなわち、第１アーム１１は、基体連結装置３０に備えるアクチュエーター５２は高出力のものを備えることができるため、高い剛性を備え、重量も重くすることができる。一方、第２アーム１２は、第１アーム１１にアーム連結装置２０を備えるため、小型で低出力のアクチュエーター５１とする必要があることから、軽量化が図られている。そのように構成されることにより、第１アーム１１と第２アーム１２とでは周波数特性が異なることに注目し、ねじれ角速度ωbを、各アーム１１，１２に起因するねじれ角速度ωb1，ωb2に分解することができる。具体的には、第３演算部５３０に、第１アーム１１と第２アーム１２とで異なる周波数特性に対応したそれぞれの特性を備えるバンドパスフィルターによってねじれ角速度ωbをフィルタリングすることによって、第１アーム１１のねじれ角速度ωb1成分と、第２アーム１２のねじれ角速度ωb2成分と、を抽出し、得ることができる。
【００３５】
このようにして得られた、第１アーム１１のねじれ角速度ωb1成分と、第２アーム１２のねじれ角速度ωb2成分と、を第４演算部５４０において積分し、取付位置Ｐ（図２参照）における図１に示すような振動を算出し、タクトタイム、およびオーバーシュートも取得する。
【００３６】
算出された振動による取付位置Ｐのタクトタイムのデータは、制御部６００に送られる。制御部６００では、ロボット装置１００の仕様として規定されている、タクトタイム規定値と、第４演算部５４０から送られたタクトタイムと、が比較手段としての比較部６１０において比較され、その比較結果が、タクトタイム規定値をタクトタイムが上回る場合、制御部６００は被作業物の重量に対するジャイロゲインの値を示すテーブルを補正した補正ジャイロゲインテーブルを作成し、作成された補正ジャイロゲインテーブルから被作業物重量に対応したジャイロゲインの値を取得し、ロボット装置１００が駆動される。
【００３７】
図７に制御手段６２０の一例としての制御ブロック図を示す。図７の制御ブロック図に示すように、制御手段６２０はＫｇ（ジャイロゲイン）６２０ａ（以下、Ｋｇ６２０ａという）を含む制御ループにより構成されている。比較部６１０におけるタクトタイムの比較結果に基づき、ゲイン調整指示部６２０ｂは、図５に示すようなジャイロゲインテーブルから被作業物重量に対応するゲイン値を取得し、取得したゲイン値をＫｇ６２０ａに指示し、ねじれ角速度にかけるゲインが設定される。具体的には、図示しない取付位置Ｐの軌道を含む軌道生成手段からの位置指令と、アーム連結装置２０に備える角度センサー８１および基体連結装置３０に備える角度センサー８２とが検出した現在位置との差分を基にゲインＫｐｐによる比例制御による位置ループが速度指令を生成する。速度指令と角速度センサー８１，８２が検出した位置を微分して求められる実際の速度とねじれ角速度にジャイロゲインを乗じた値との偏差に対して比例ゲインＫｐによる比例制御と、積分と積分ゲインによる積分制御と、を実施し速度指令の基づく速度になるようにトルク指令が生成される。生成されたトルク指令によってアクチュエーター５１，５２が駆動されることのよって位置指令および速度指令に従った動作が実行される。
【００３８】
ここでジャイロゲインの調整について説明する。本来、本実施形態に係るロボット装置１００において、ロボット１００の手先となる取付位置Ｐのタクトタイムおよびオーバーシュートは、できるだけ小さいことが好ましい。しかし、上述したように、アーム１１，１２の弾性変形によるアーム体１０の停止時に生じる振動は避けられず、予めロボット装置１００に行わせる作業内容によって所定の仕様に基づくタクトタイム規定値およびオーバーシュート規定値が定められる。図８（ａ）は要求仕様であるタクトタイム規定値およびオーバーシュート規定値の範囲内で制御された状態の取付位置Ｐの動作軌跡を示し、図８（ｂ）はオーバーシュートが規定値内であるがタクトタイムが規定値を超えた状態の取付位置Ｐの動作軌跡を示し、図８（ｃ）はタクトタイムが規定値内であるがオーバーシュートが規定値を超えた状態の取付位置Ｐの動作軌跡を示す。
【００３９】
ロボット装置１００において、ワーク保持装置７０に保持される被作業物の重量が変化することによって、アーム１１，１２の停止時の慣性力は変化し、同じ駆動条件でアーム１１，１２を駆動させることで、アーム１１，１２の停止時のタクトタイムおよびオーバーシュートは異なってくる。そこで、ロボット装置１００では振動抑制の制御においては、被作業物の重量が重くなれば、振動を抑制するように角速度を下げる制御が実行される。しかし、角速度を下げることによって、図８（ｂ）に示すようにタクトタイムＴｂはタクトタイム規定値Ｔｓを超えてしまい、生産性を低下させてしまう。そこで、常時タクトタイムを監視し、タクトタイム規定値Ｔｓを超えるタクトタイムＴｂを検出した場合には、ねじれ角速度にかけるジャイロゲインを下げることによって図８（ａ）に示すように、タクトタイム規定値Ｔｓ以内に入るタクトタイムＴａになるように駆動制御する。Ｋｇ６２０ａにおけるジャイロゲインの調整は、１回の調整動作では５％減少させることが好ましい。
【００４０】
また、図８（ｃ）に示すように、動作軌跡Ｆ２は、オーバーシュートＤｃはオーバーシュート規定値Ｄｓを超える振動である。図からも明らかなように、取付位置Ｐの停止規定位置Ｓｓまでの移動は図８（ａ）に示す動作軌跡Ｆ０と比べ急峻で、アーム体１０の移動速度が速くなっていることを示している。しかし、上述の図８（ｂ）に示す動作軌跡Ｆ１に対して実行されるジャイロゲインを減少させタクトタイムＴｂを短くすることによって、オーバーシュートＤｂを大きくすることになり、図８（ｃ）に示す動作軌跡Ｆ２のようになる状態にまで至らせないように制御しなければならない。すなわち、タクトタイムＴｃはタクトタイム規定値Ｔｓより短くなるが、オーバーシュートＤｃがオーバーシュート規定値Ｄｓを超えて生じているためにワーク保持装置７０は被作業物の保持動作には移行できず、次のオーバーシュート規定値Ｄｓ領域になる動作可能開始時間Ｔｎになって、被作業物の保持動作を実行させることができる。すなわち、実質的にタクトタイムが長くなることを意味し、ワーク保持装置７０が被作業物の保持動作開始までの時間が長くなり、サイクルタイムの低下、すなわち生産性を低下させてしまう。従って、ジャイロゲインの調整によるタクトタイムおよびオーバーシュートは、図８（ａ）に示す状態を維持するように制御される。
【００４１】
なお、図４に示すように、ロボット装置１００には表示部７００を備えていてもよい。表示部７００は、第４演算部によって演算された取付位置Ｐの図８に示す移動軌跡Ｆ０，Ｆ１，Ｆ２などや、具体的なオーバーシュートＤａ、Ｄｂ，ＤｃあるいはタクトタイムＴａ，Ｔｂ，Ｔｃなどの数値表示、制御部６００によるＫｖｉ６２０ａにおけるゲインの数値表示、更には調整範囲を超えた場合の異常表示をして、オペレーターへ情報を提供することができる。
【００４２】
以上説明した本実施形態に係るロボット装置１００は、ワーク保持装置７０に保持した被作業物の重量を重量測定手段の力覚センサー１３によって計測された計測重量に対応したジャイロゲインを、ジャイロゲインテーブルから取得し、第１演算部５１０、第２演算部５２０、第３演算部５３０、第４演算部５４０により演算されるねじれ角速度にかけることによって、タクトタイム規定値以内のタクトタイムとなるように制御される。従って、被作業物の変更による重量変動、重量ばらつきによる重量変動、などに対してジャイロゲインの調整で、タクトタイム規定値Ｔｓ内でロボット装置１００を稼動させることができ、長時間に亘って動作の安定性、生産性を初期値のレベルで維持することができる。
【００４３】
更に、オーバーシュートがオーバーシュート規定値を超えないように制御させることにより、オーバーシュート規定値Ｄｓ内でロボット装置１００を稼動させることができる。また、表示部７００に所定の表示内容を表示させることができるため、オペレーターの判断によってロボット装置１００の駆動を制御することも可能となり、特に安全性を更に高めることができる。
【００４４】
（第２実施形態）
第２実施形態として、第１実施形態に係るロボット装置１００の制御方法を説明する。図９はロボット装置１００の制御方法を示すフローチャートである。
【００４５】
〔重量取得工程〕
ロボット装置１００の稼動状態において、ワーク保持装置７０に被作業物が保持され重量を計測する重量取得工程（Ｓ１１０）が実行される。重量取得工程（Ｓ１１０）では、第２アーム１２に掛かる力によって第２アーム１２に備える重量取得手段としての力覚センサー１３に発生した電荷量が重量演算部５５０に送出され、保持された被作業物の重量ｍが計測され、その重量ｍはＲＡＭ４００などの記憶装置に記憶される。次にゲイン取得工程（Ｓ１２０）に移行する。
【００４６】
〔ゲイン取得工程〕
測定された被作業物の重量ｍから、ロボット装置１００のねじれ角速度にかけるジャイロゲインＧｍ（以下、ゲインＧｍという）を、図１１に示すロボット装置１００に格納されているジャイロゲインテーブルの基準値線Ｌｓにおける重量ｍに対応するジャイロゲインの値であるゲインＧｍを取得する。取得されたゲインＧｍがゲイン調整指示部６２０ｂを介してＫｇ６２０ａに設定される。設定されたゲインＧｍに基づいて、ロボット装置１００のアーム体１０は所定の位置まで作業位置Ｐを移動させる駆動が開始される。この駆動の状態から、以降の工程によって振動を抑制するための制御方法が実行される。
【００４７】
〔第１演算工程〕
先ずはロボット装置１００の稼動状態において、第１演算工程（Ｓ１３１）が実行される。第１演算工程（Ｓ１３１）では、第１演算部５１０においてアクチュエーター５１，５２に備える角度センサー８１，８２から回転角度データを入手する。得られた回転角度データから、回転角度へ換算し、回転角度を時間で１回微分を行い、第２アーム１２を駆動するアクチュエーター５１を含むアーム連結装置２０の出力部の回転角速度ω１、基体連結装置３０の出力部の回転角速度ω２を演算する。
【００４８】
〔第２演算工程〕
同時に第２演算工程（Ｓ１３２）において、第２演算部５２０に第２アーム１２に備えるジャイロセンサー９０から角速度データを入手し、アーム体１０を連結駆動する各連結装置２０，３０を回転軸とする各アーム１１，１２の角速度を演算する。すなわち、上述したようにジャイロセンサー９０から得られたデータから、基体連結装置３０を回転軸とするアーム体１０のジャイロセンサー９０の配置位置での角速度ωaが演算される。
【００４９】
〔第３演算工程〕
次に、第３演算工程（Ｓ１４０）に移行する。第３演算工程（Ｓ１４０）では、第１演算工程（Ｓ１１１）で演算された角速度ω１，ω２と、第２演算工程（Ｓ１３２）においてジャイロセンサー９０の検出データから演算されたアーム体１０の角速度ωaから、
ωb＝ωa−ω２−ω１
によって、ねじれ角速度ωbを演算する。演算されたねじれ角速度ωbを、バンドパスフィルターによってフィルタリングし、第１アーム１１のねじれ角速度ωb1、第２アーム１２のねじれ角速度ωb2、を抽出、演算する。
【００５０】
〔第４演算工程〕
次に、第４演算工程（Ｓ１５０）に移行する。第４演算工程（Ｓ１５０）では、第３演算工程（Ｓ１４０）で演算された、第１アーム１１のねじれ角速度ωb1成分と、第２アーム１２のねじれ角速度ωb2成分と、を積分し、取付位置Ｐ（図２参照）における図１に示すような振動を算出し、タクトタイムを演算する。その結果に基づき制御工程としての補正ゲイン生成工程（Ｓ１６０）に移行する。なお、第４演算工程（Ｓ１５０）では、オーバーシュートも取得する。
【００５１】
〔補正ゲイン生成工程〕
制御工程としての補正ゲイン生成工程（Ｓ１６０）は、図１０に示すフローチャートで構成されている。補正ゲイン生成工程（Ｓ１６０）では、制御部６００において、得られた第４演算工程（Ｓ１５０）における演算結果であるタクトタイム（以下、タクトタイムＴという）を基に、ゲイン取得工程（Ｓ１２０）においてゲインＧｍを取得するためにジャイロゲインテーブル格納部８００に格納された参照されるジャイロゲインテーブルの基準値線Ｌｓに対して、補正の要否の判定、補正が必要と判定された場合にジャイロゲイン補正テーブルを作成し、ジャイロゲインテーブル格納部８００に格納する。そして、常にタクトタイム規定値Ｔｓ以内にタクトタイムＴがあるようにＫｇ６２０ａのゲインをジャイロゲインテーブル、あるいはジャイロゲイン補正テーブルによってゲインＧｍを取得し、Ｋｇ６２０ａのゲインを最適化する。
【００５２】
〔数量判定工程〕
図１０に示すように、第４演算工程（Ｓ１５０）から先ずはロボット装置１００の作業が終了したか、すなわち予め入力された被作業物が予定数量に達したかを判定する数量判定工程（Ｓ２１０）に移行される。数量判定工程（Ｓ２１０）において、予定数量に達している（ＹＥＳ）と判定された場合には、後述するロボット装置停止確認工程（Ｓ１７０）へ移行する。数量判定工程（Ｓ２１０）において、予定数量に達していない（ＮＯ）と判定された場合には、次の規定値読込工程（Ｓ２２０）へ移行する。
【００５３】
〔規定値読込工程〕
規定値読込工程（Ｓ２２０）は、予め仕様、あるいは要求基準、更には被作業物の重量によって基準値として決められたタクトタイム規定値Ｔｓおよびオーバーシュート規定値Ｄｓを制御部６００に読み込む。タクトタイム規定値Ｔｓおよびオーバーシュート規定値Ｄｓは、予めＲＡＭ４００に書き込んでおくか、ＲＯＭ３００に入力手段によって入力して記憶させ、ＲＡＭ４００もしくはＲＯＭ３００から呼び出して読み込むことができる。また、入力手段によって制御部６００に直接入力することでもよい。次に、第４演算工程（Ｓ１５０）において演算されたタクトタイムＴと、タクトタイム規定値Ｔｓと、を比較する比較工程としてのタクトタイム比較工程（Ｓ２３０）へ移行する。
【００５４】
〔タクトタイム比較工程〕
タクトタイム比較工程（Ｓ２３０）では、第４演算工程（Ｓ１５０）で演算されたタクトタイムＴと規定値読込工程（Ｓ２２０）で取得されたタクトタイム規定値Ｔｓと、が比較される。タクトタイムＴがタクトタイム基準値Ｔｓを超えている、すなわちＴ＞Ｔｓと判定された場合、オーバーシュート比較工程（Ｓ２４０）に移行する。なお、タクトタイムＴがタクトタイム規定値Ｔｓ以内、すなわちＴ≦Ｔｓと判定された場合には、後述するロボット装置動作停止確認工程（Ｓ１７０）に移行する。
【００５５】
〔オーバーシュート比較工程〕
タクトタイム比較工程（Ｓ２３０）において、Ｔ＞Ｔｓと判定されたことでＫｇ６２０ａに先に入力されたゲインＧｍで設定されることで、タクトタイム規定値Ｔｓを超えてロボット装置１００が駆動されたことを示している。従って、被作業物の重量ｍに対して補正ゲインＧｍ´がＫｇ６２０ａに指示されることが必要になる。しかし、上述の図８を用いて説明したように、長くなったタクトタイムＴｂを短くすることによってオーバーシュートＤｂが大きくなるため、図８（ｃ）に示す動作軌跡Ｆ２のようになる状態にまで至るかどうかの判定が必要である。従って、オーバーシュート比較工程（Ｓ２３０）では、タクトタイムＴを短くするジャイロゲインの調整によって、オーバーシュート規定値Ｄｓに対してオーバーシュートを大きくする余裕があるかを判定する。
【００５６】
従って、オーバーシュート比較工程（Ｓ２４０）において、Ｄ＞Ｄｓと判定された場合には、タクトタイムＴを短くすることによってオーバーシュートを増加させることができる余地が無い状態であることを示し、ロボット装置１００の動作停止（Ｓ２８０）に移行する。この時、ロボット装置１００に備える表示部７００に、ロボット装置１００の停止、いわゆる「非常停止」を伝えるメッセージ、記号、コードなどを表示させることによって、ロボット装置１００のオペレーターに対し適切な処置を促すことができ、駆動復帰を短時間に可能にさせることができる。
【００５７】
オーバーシュート比較工程（Ｓ２４０）において、Ｄ≦Ｄｓと判定された場合には、タクトタイムＴを短くすることによってオーバーシュートが増加してもオーバーシュート規定値Ｄｓ内にすることができる可能性があることから、次の補正ゲインテーブル生成工程（Ｓ２６０）に移行する。
【００５８】
〔補正ゲインテーブル生成工程〕
補正ゲインテーブル生成工程（Ｓ２６０）では、図１１に示すように、基準値線Ｌｓに対してゲインを減少させた補正線ＬR1を生成する。この補正線Ｌｒは、１回の補正ゲインテーブル生成工程（Ｓ２５０）において基準値線Ｌｓに対する補正量Ｒ１は５％程度が好ましい。このように基準値線Ｌｓよりゲインを減少させた補正線ＬR1に基づいてＫｇ６２０ａのジャイロゲインを設定することによって、作業位置Ｐでのねじれ角速度に掛かるゲインが減少し、アーム体１０の角速度を上げてタクトタイムＴを減少させることができる。生成された補正ゲインテーブルとしての補正線ＬR1のデータは、例えば記憶部としてのＲＡＭ４００などに書き込まれ、格納される（Ｓ２６０）。生成された補正ゲインテーブルとしての補正線ＬR1によって、例えば重量ｍの被作業物をワーク保持装置７０に保持すると、Ｋｇ６２０ａに設定されるゲインはＧｍ1、すなわちゲインＧｍから補正量Ｒ１を減少させたゲイン値が設定される。
【００５９】
〔テスト動作工程〕
次に、生成され格納された補正ゲインテーブルの補正線ＬR1を用いてテスト動作工程（Ｓ２７０）が実行される。テスト動作工程（Ｓ２７０）は、調整されたゲインを有するＫｇ６２０ａによってロボット装置１００をテスト駆動させ、上述した重量取得工程（Ｓ１１０），補正線ＬR1からのゲイン取得工程（Ｓ１２０）、第１演算工程（Ｓ１３１）、第２演算工程（Ｓ１３２）、第３演算工程（Ｓ１４０）、第４演算工程（Ｓ１５０）を実行し、調整された、タクトタイムＴ´およびオーバーシュートＤ´と、を演算、計測し、再度タクトタイム比較工程（Ｓ２３０）に移行し、タクトタイム比較工程（Ｓ２３０）以降の工程が実行される。この時、タクトタイムＴ´をタクトタイムＴに、オーバーシュートＤ´をオーバーシュートＤに、それぞれ書換えて実行される。このテスト動作工程（Ｓ２７０）によって、タクトタイム比較工程（Ｓ２３０）の比較結果がＴ≦Ｔｓとなれば、ロボット装置動作停止確認工程（Ｓ１７０）に移行する。
【００６０】
〔ロボット装置停止確認工程〕
ロボット装置動作停止確認工程（Ｓ１７０）では、ロボット装置１００が動作状態であるか、を確認し、動作状態（Ｎｏ）である場合には、重量取得工程（Ｓ１１０）に戻り、制御を繰り返す。動作停止状態（Ｙｅｓ）である場合には、制御は終了する。
【００６１】
上述したロボット装置１００の制御方法において、ロボット装置１００の駆動が繰り返されることで、経時変化によってタクトタイムＴが徐々に長くなり、タクトタイム規定値Ｔｓを超えるごとに補正ゲイン生成工程（Ｓ１６０）において、ゲイン取得工程（Ｓ１２０）におけるゲインを取得するゲインテーブルに対して補正ゲインテーブルが生成される。すなわち、図１１に示すように初期値である基準値線Ｌｓに対して、１回目の補正ゲインテーブルとしての補正線ＬR1が生成され、次には、１回目の補正ゲインテーブルの補正線ＬR1を基準として、２回目の補正ゲインテーブルとしての補正線ＬR2が生成される。このように、動作停止（Ｓ２８０）に至るまで順次、補正ゲインテーブルとしての補正線ＬRnまでが生成される。この場合、基準値線Ｌｓ、補正線ＬR1，ＬR2，…ＬRnの全てのデータテーブルをＲＡＭ４００に残してもよく、また、最新の補正線ＬRnだけを残してもよい。
【００６２】
なお、ロボット装置１００の制御方法において、基準値線Ｌｓと、最新の補正線ＬRnとの比較を行い、テーブル値の差、すなわち補正量の総和Ｒｓを、
Ｌｓ−ＬRn＝Ｒ１＋Ｒ２＋…＋Ｒｘ＝Ｒｓ
とした場合、Ｒｓが所定の値（閾値）を超えた場合に、ロボット装置１００の異常と判断して動作停止（Ｓ２８０）に移行する工程を備えてもよい。なお、この場合の異常と判断される閾値は、ロボット装置１００の仕様、駆動環境などから適宜決定される。
【００６３】
また、テスト動作工程（Ｓ２７０）によって、タクトタイム規定値Ｔｓ以内にタクトタイムＴが到達しない場合には、更にオーバーシュート比較工程（Ｓ２４０）から以降の工程を実行する。
【００６４】
上述の制御方法によって、被作業物の重量変化に対して、被作業物の重量に対する適正ゲインを示すジャイロゲインテーブルから、ねじれ角速度にかけるジャイロゲインを取得するロボット装置１００は、ロボット装置１００の経時変化に対応して補正テーブルを作成することによって最適なゲイン設定が行われ、ロボット装置１００の振動抑制を適正に行うことができる。補正テーブルの生成は、ロボット装置１００の経時変化によって生じるタクトタイムの変化、すなわちタクトタイム規定値を超えた場合に実行される。従って、ロボット装置１００のタクトタイムを容易に規定値以内に維持させることができ、高い生産性が維持できるロボット装置１００を得ることができる。
【００６５】
また、被作業物の重量測定をロボットアームに備えた力覚センサーを用いて計測しながら制御することにより、被作業物の実重量を基に適正なジャイロゲインを設定させることができるため、安定したロボット装置１００の駆動を可能にする。また、被作業物に対象物ではない物、あるいは重量の過不足がある不良品、などが混入した場合であっても、力覚センサーによって個々の被作業物の重量を測定することができるため、非対象物、不良品の排除が確実に実行できる。従って、ロボット装置１００の故障、暴走、生産停止、などを回避することができ、高い安全性と生産性を備えるロボット装置１００を得ることができる。
【符号の説明】
【００６６】
１０…アーム体、１１，１２…アーム、１３…力覚センサー、２０…アーム連結装置、３０…基体連結装置、４０…基体、５１，５２…アクチュエーター、６１，６２…トルク伝達装置、７０…ワーク保持装置、８１，８２…角度センサー、９０…ジャイロセンサー、１００…ロボット装置。
【図１】
0005929150.tif 000002
【図２】
0005929150.tif 000003
【図３】
0005929150.tif 000004
【図４】
0005929150.tif 000005
【図５】
0005929150.tif 000006
【図６】
0005929150.tif 000007
【図７】
0005929150.tif 000008
【図８】
0005929150.tif 000009
【図９】
0005929150.tif 000010
【図１０】
0005929150.tif 000011
【図１１】
0005929150.tif 000012