(57)【要約】【課題】走行軸の動作に起因するロボットのツール先端の振れを抑制できるロボット制御装置を提供する。【解決手段】ロボット制御装置３は、走行軸４が指令に応じて動作する度に、走行軸４の移動量及びツール先端２８の移動量をそれぞれ算出する移動量算出部３４と、走行軸４の移動量が予め定められる第１の閾値よりも大きく、かつ、ツール先端２８の移動量が予め定められる第２の閾値Ｔｈ２よりも小さいときに、走行軸４に対する速度及び加速度のうちの少なくともいずれか一方の指令値が小さくなるように指令値を補正する補正部３６と、を備えている。【選択図】図１
2017035756.tif 000002
【特許請求の範囲】
【請求項１】
ツールをアーム先端に備える多関節ロボット、及び前記多関節ロボットを往復移動させる走行軸を制御するロボット制御装置であって、
前記走行軸が指令に応じて動作する度に、前記走行軸の移動量及びツール先端の移動量をそれぞれ算出する移動量算出部と、
前記走行軸の前記移動量が予め定められる第１の閾値よりも大きく、かつ、前記ツール先端の前記移動量が予め定められる第２の閾値よりも小さいときに、前記走行軸に対する速度及び加速度のうちの少なくともいずれか一方の指令値が小さくなるように前記指令値を補正する補正部と、
を備えたロボット制御装置。
【請求項２】
前記補正部は、前記走行軸の前記移動量が前記第１の閾値よりも大きく、かつ、前記ツール先端の前記移動量が前記第２の閾値よりも小さいときに、前記ツール先端の前記移動量が小さくなるのに従って、前記指令値が徐々に小さくなるように前記指令値を補正するように構成される、請求項１に記載のロボット制御装置。
【請求項３】
前記補正部は、前記走行軸の前記移動量が前記第１の閾値よりも大きく、かつ、前記ツール先端の前記移動量が、前記第２の閾値よりも小さい第３の閾値よりも小さいときに、前記指令値が、予め定められる下限値まで小さくなるよう前記指令値を補正するように構成される、請求項１又は２に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、走行軸付きロボットを制御するロボット制御装置に関する。
【背景技術】
【０００２】
産業用ロボットにおいて、別の箇所における軸の動作に起因する機構部の変形、又はトルクの発生を補償する制御技術が提案されている。
【０００３】
特許文献１には、互いに干渉し合う複数の軸を制御する多軸制御装置において、他の軸に対する位置指令に基づいて外乱トルクを推定し、各々の関節軸におけるトルクを補正することが開示されている。
【０００４】
特許文献２には、直交座標系の各々の座標軸におけるロボット手先部の移動速度を閾値と比較し、少なくとも１つの座標軸における移動速度が閾値よりも大きい場合に、ロボットを停止させるようにしたロボット制御装置が開示されている。
【０００５】
特許文献３には、各関節部をバネとしてモデル化することによって、多関節ロボットの機構部における撓みを考慮してロボットの手先の位置姿勢を補正するロボット制御装置が開示されている。
【０００６】
走行軸付きロボットにおいて、ツール先端を空間上の或る位置に固定したまま、走行軸によってロボットを移動させることがある。図５は、走行軸１１０によって移動するロボット１００を上方から見た図である。図５を参照すれば、ロボット１００のベースが、走行軸１１０によって破線で示される位置から実線で示される位置まで移動しているのに対し、アーム１２０に取付けられたツール１３０の先端１３２の位置は、移動の前後で変化していない。
【０００７】
このような動作が実行される際に、ロボット１００のＪ１軸（走行軸の設置面に対して垂直に延びる軸線回りに回転する軸）の回りに干渉トルクＴが発生する（図６参照）。走行軸１１０の移動速度又は加速度が大きい場合、干渉トルクＴの影響により、ツール１３０の先端１３２の位置が、図６において矢印１４０で示されるように振れることがある。ヘミングローラなどでワークを挟持した状態で作用点の位置が振れると、ワークを意図しない形状に変形させる虞がある。
【０００８】
Ｊ１軸周辺の機構部を高剛性材料で形成すれば、干渉トルクに起因するツール先端の振れを抑制することができる。また、各々の関節をバネとしてモデル化することによって、関節の撓みを考慮してツール先端の位置を補正すれば、ツール先端の振れを補償することができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−２９３６２４号公報
【特許文献２】特開２００９−０８２９９７号公報
【特許文献３】特開２００２−３０７３４４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、高剛性材料は一般的に高価であり、コスト増大につながる。関節をバネとしてモデル化する方法は、実際のロボットの機構部の挙動に近づけるのに限界があり、十分な精度が達成できないことがある。
【００１１】
したがって、走行軸の動作に起因するロボットのツール先端の振れを抑制できるロボット制御装置が求められている。
【課題を解決するための手段】
【００１２】
本願の１番目の発明によれば、ツールをアーム先端に備える多関節ロボット、及び前記多関節ロボットを往復移動させる走行軸を制御するロボット制御装置であって、前記走行軸が指令に応じて動作する度に、前記走行軸の移動量及びツール先端の移動量をそれぞれ算出する移動量算出部と、前記走行軸の前記移動量が予め定められる第１の閾値よりも大きく、かつ、前記ツール先端の前記移動量が予め定められる第２の閾値よりも小さいときに、前記走行軸に対する速度及び加速度のうちの少なくともいずれか一方の指令値が小さくなるように前記指令値を補正する補正部と、を備えたロボット制御装置が提供される。
本願の２番目の発明によれば、１番目の発明に係るロボット制御装置において、前記補正部は、前記走行軸の前記移動量が前記第１の閾値よりも大きく、かつ、前記ツール先端の前記移動量が前記第２の閾値よりも小さいときに、前記ツール先端の前記移動量が小さくなるのに従って、前記指令値が徐々に小さくなるように前記指令値を補正するように構成される、請求項１に記載のロボット制御装置。
本願の３番目の発明によれば、１番目又は２番目の発明に係るロボット制御装置において、前記補正部は、前記走行軸の前記移動量が前記第１の閾値よりも大きく、かつ、前記ツール先端の前記移動量が、前記第２の閾値よりも小さい第３の閾値よりも小さいときに、前記指令値が、予め定められる下限値まで小さくなるよう前記指令値を補正するように構成される。
【００１３】
これら及び他の本発明の目的、特徴及び利点は、添付図面に示される本発明の例示的な実施形態に係る詳細な説明を参照することによって、より明らかになるであろう。
【発明の効果】
【００１４】
本発明に係るロボット制御装置によれば、ツール先端の位置を固定したまま走行軸を移動させるときに、走行軸の速度又は加速度が小さくなるように指令値を補正する。それにより、走行軸の動作に起因するツール先端の振れを抑制できる。
【図面の簡単な説明】
【００１５】
【図１】一実施形態に係るロボット装置を示す図である。
【図２】ロボット制御装置によって実行される指令値の補正処理を示すフローチャートである。
【図３】ツール先端の移動量と指令速度との関係を示す図である。
【図４】ツール先端の移動量と指令加速度との関係を示す図である。
【図５】走行軸付きロボットの動作の例を示す図である。
【図６】ツール先端の振れを示す図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して本発明の実施形態を説明する。図示される実施形態の構成要素は、本発明の理解を助けるために寸法が適宜変更されている。また、同一又は対応する構成要素には、同一の参照符号が使用される。
【００１７】
図１は、一実施形態に係るロボット装置１を示す図である。ロボット装置１は、ロボット２と、ロボット２を往復移動させる走行軸４と、ロボット２及び走行軸４を制御するロボット制御装置３と、を備えている。
【００１８】
ロボット２は、アーム２３の先端の手首２４にツール、例えばヘミングローラ２５を備えた６軸垂直多関節ロボットである。ロボット２は、走行軸４に載置されていてそれ自体は非可動部であるベース２１と、鉛直方向に延びる軸線２９回りにベース２１に対して回転可能な旋回胴２２と、をさらに備えている。以下、図１に示されるロボット２の例について説明するものの、他の構成を有する産業用ロボットにも本発明を適用できることは当業者に自明である。
【００１９】
ロボット２の各々の関節軸は、回転モータ２６（幾つかの回転モータのみ図示）によって駆動される。回転モータ２６は、回転モータ２６の位置及び速度などを測定するエンコーダ２７を備えている。
【００２０】
走行軸４は、アクチュエータ４１によって駆動され、ロボット２を左右方向に移動する。アクチュエータ４１は、直動モータ又は回転モータから構成される。回転モータをアクチュエータ４１として使用する場合、走行軸４は、回転運動を直線運動に変換する機構、例えばボールネジを有する。走行軸４のアクチュエータ４１は、走行軸４の位置、ひいてはロボット２のベース２１の位置、速度などを測定するエンコーダ４２を備えている。
【００２１】
走行軸４に対する指令は、ロボット制御装置３が制御プログラムに応じて作成する指令であってもよいし、或いは、オペレータからの入力に応じて作成される手動送り指令であってもよい。
【００２２】
ロボット制御装置３は、ＣＰＵ３１、メモリ３２及びインタフェイス３３を含むハードウェア構成を有するデジタルコンピュータである。ＣＰＵ３１、メモリ３２及びインタフェイス３３は、互いにバスで接続されている。
【００２３】
ＣＰＵ３１は、制御プログラムを実行したり、或いはロボット制御装置３の他の種々の機能を実行するのに必要な演算を行う。
【００２４】
メモリ３２は、ＲＯＭ、ＲＡＭ、不揮発性メモリなどから構成される。ＲＯＭには、ロボット制御装置３の全体的な制御を行うシステムプログラムが格納されている。ＲＡＭには、ＣＰＵ３１の演算結果又はエンコーダ２７，４２の検出値などが一時的に格納される。不揮発性メモリには、ロボット２及び走行軸４を制御する制御プログラム、及びパラメータなどの設定値が格納される。
【００２５】
インタフェイス３３は、外部装置、例えばディスプレイ、キーボード、操作教示盤などに接続され、それらとの間で信号及びデータを送受信するために使用される。
【００２６】
ロボット制御装置３は、制御プログラム及びエンコーダ２７，４２からのフィードバック信号に基づいて、ロボット２及び走行軸４に対して指令を付与し、ロボット２及び走行軸４の動作を制御する。
【００２７】
ロボット装置１において、図５及び図６を参照して前述したように、ツール先端２８の位置を３次元空間において固定したまま走行軸４を動作させたときに発生する干渉トルクに起因して、ツール先端２８に振れが生じる場合がある。
【００２８】
本実施形態によれば、ロボット制御装置３は、走行軸４に対する指令値を補正し、ツール先端２８の振れを抑制するために、移動量算出部３４と、判定部３５と、補正部３６と、を備えている。
【００２９】
移動量算出部３４は、走行軸４が指令に応じて動作する度に、走行軸４の移動量及びツール先端２８の移動量をそれぞれ算出する。走行軸４の移動量は、走行軸４に対する指令に基づいて算出される。ツール先端２８の移動量は、各々の関節を駆動する回転モータ２６に対する指令と、ロボット２に固有の機構パラメータと、走行軸４の移動量と、に基づいて算出される。ツール先端２８の移動量は、ロボット２のベース２１に対して固定されるロボット座標系ではなく、ワールド座標系における移動量であることに留意されたい。
【００３０】
判定部３５は、走行軸４の移動量が予め定められる第１の閾値よりも大きいか否かを判定するとともに、ツール先端２８の移動量が予め定められる第２の閾値よりも小さいか否かを判定する。判定部３５による判定結果は、補正部３６に入力される。
【００３１】
補正部３６は、ツール先端２８の位置が変更されることなく走行軸４が動作するとみなせる場合、走行軸４に対する速度又は加速度の指令値或いはそれら両方の指令値が小さくなるように、指令値を補正する。
【００３２】
次に、図２を参照して、本実施形態に係るロボット制御装置３によって実行される処理について説明する。後述するステップＳ０１〜Ｓ０５の処理は、走行軸４に対する指令が実行される度に実行される。例えば、走行軸４が第１の位置から第２の位置まで右方向に移動し、その後、第２の位置から第３の位置まで左方向に移動した場合、走行軸４が第１の位置から第２の位置まで移動する際に上記処理が実行される。そして、走行軸４が第２の位置から第３の位置まで移動する際に上記処理が再度実行される。
【００３３】
ステップＳ０１では、移動量算出部３４が、入力された指令に応じた走行軸４の移動量を算出する。ステップＳ０２では、移動量算出部３４が、ステップＳ０１で算出される移動量だけ走行軸４が移動する間において、３次元空間におけるツール先端２８の移動量を算出する。
【００３４】
ステップＳ０３では、判定部３５が、走行軸４の移動量が第１の閾値よりも大きいか否かを判定する。第１の閾値は、走行軸４が移動したか否かを判定できるように適宜設定される。例えば、第１の閾値は、概ねゼロに近い値に設定される。
【００３５】
或いは、第１の閾値は、ツール先端２８の振れが十分に小さくなるとみなせるような走行軸４の移動量に応じて設定されてもよい。例えば、走行軸４の移動量が十分に小さく、移動速度が大きくなる前に走行軸４が停止するような場合、ツール先端２８の振れを考慮しなくてもよい。このように、ステップＳ０３での判定は、走行軸４の移動量がゼロでない場合であっても否定されることがある。
【００３６】
ステップＳ０３における判定結果が肯定の場合、ステップＳ０４に進む。ステップＳ０４では、判定部３５が、ツール先端２８の移動量が第２の閾値よりも小さいか否かを判定する。第２の閾値は、ツール先端２８の位置が、走行軸４の移動の前後で変化したか否かを判定できるように適宜設定される。ツール先端２８の移動量がワールド座標系において算出された場合、第２の閾値は、概ねゼロに近い値に設定される。
【００３７】
ステップＳ０４における判定結果が肯定の場合、ステップＳ０５に進む。ステップＳ０５では、補正部３６が、走行軸４に対する指令値を低減する。補正される指令値は、速度指令値であってもよいし、又は加速度指令であってもよいし、或いはそれら両方であってもよい。
【００３８】
ステップＳ０３における判定結果が否定である場合、或いは、ステップＳ０４における判定結果が否定である場合、走行軸４に対する指令値を補正する必要はないとみなし、処理を終了する。その場合、走行軸４は、もともと入力された指令値に従って動作する。典型的には、最高速度及び最高加速度に対応する指令値が走行軸４にそれぞれ付与される。
【００３９】
次に、図３及び図４を参照して、指令値の補正処理の例について説明する。図３は、ツール先端２８の移動量と走行軸４に対する指令速度との間の関係を示している。図示されるように、ツール先端２８の移動量が第２の閾値Ｔｈ２以上である場合、最大速度に対応する速度指令ｖ２が走行軸４に付与される。ツール先端２８の移動量が、第２の閾値Ｔｈ２よりも小さい第３の閾値Ｔｈ３よりも小さい場合、最小速度に対応する速度指令ｖ１が走行軸４に付与される。
【００４０】
ツール先端２８の移動量が、第２の閾値Ｔｈ２と第３の閾値Ｔｈ３との間の範囲にある場合、ツール先端２８の移動量が小さくなるのに従って、徐々に小さくなるような速度指令が走行軸４に付与される。
【００４１】
図４は、ツール先端２８の移動量と走行軸４に対する指令加速度との間の関係を示している。図示されるように、ツール先端２８の移動量が第２の閾値Ｔｈ２以上である場合、最大加速度に対応する加速度指令ａ２が走行軸４に付与される。ツール先端２８の移動量が、第２の閾値Ｔｈ２よりも小さい第３の閾値Ｔｈ３よりも小さい場合、最小加速度に対応する加速度指令ａ１が走行軸４に付与される。
【００４２】
ツール先端２８の移動量が、第２の閾値Ｔｈ２と第３の閾値Ｔｈ３との間の範囲にある場合、ツール先端２８の移動量が小さくなるのに従って、徐々に小さくなる加速度指令が走行軸４に付与される。
【００４３】
本実施形態に係るロボット制御装置３によれば、ツール先端２８の位置を固定したまま走行軸４を動作させるときに、走行軸４の速度又は加速度或いはそれらの両方が制限されるように指令値を補正する。それにより、走行軸４の動作に起因するツール先端の振れを抑制でき、ロボット２の位置決め精度を向上できる。また、ヘミングローラ２５でワークを加工するためにロボット２を使用する場合、ツール先端２８の振れに起因してワークが意図しない形状に変形するのを防止できる。
【００４４】
ツールを用いた作業を実行しながらロボット２のベース２１の位置を走行軸４によって変更できるので、ロボット装置１が次の工程に円滑に移行できるようになり、サイクルタイムを削減できる。
【００４５】
ツール先端２８が移動している場合には、補正部３６による補正処理が実行されずに、走行軸４は最大速度でロボット２を移動できる。したがって、ツールを用いた作業の信頼性を維持しながら、サイクルタイムが必要以上に増大するのを抑制できる。
【００４６】
ロボット２の機構部に高価な高剛性材料を使用する必要がないので、ロボット装置１を安価に提供できる。
【００４７】
以上、本発明の種々の実施形態について説明したが、当業者であれば、他の実施形態によっても本発明の意図する作用効果を実現できることを認識するであろう。特に、本発明の範囲を逸脱することなく、前述した実施形態の構成要素を削除又は置換することができるし、或いは公知の手段をさらに付加することができる。また、本明細書において明示的又は暗示的に開示される複数の実施形態の特徴を任意に組合せることによっても本発明を実施できることは当業者に自明である。
【符号の説明】
【００４８】
１    ロボット装置
２    ロボット
３    ロボット制御装置
４    走行軸
２１    ベース
２２    旋回胴
２３    アーム
２４    手首
２５    ヘミングローラ（ツール）
２６    回転モータ
２７    エンコーダ
２８    ツール先端
３１    ＣＰＵ
３２    メモリ
３３    インタフェイス
３４    移動量算出部
３５    判定部
３６    補正部
４１    アクチュエータ
４２    エンコーダ
【図１】
2017035756.tif 000003
【図２】
2017035756.tif 000004
【図３】
2017035756.tif 000005
【図４】
2017035756.tif 000006
【図５】
2017035756.tif 000007
【図６】
2017035756.tif 000008