(57)【要約】【課題】ＰＴＰ制御における位置決めサイクルタイムを短縮する。【解決手段】マニピュレータの各軸に取り付けられたサーボモータを制御するために、各サーボモータの動作を制御するサーボアンプに当該マニピュレータの通過点と目標位置を送信し、当該通過点と目標位置に基づいて１のサーボモータの動作を制御し、当該１のサーボモータによって駆動される軸が前記通過点に達したことを検出し、前記通過点に達したことが検出されたときに他のサーボモータの駆動を開始する。【選択図】            図３
2004306158.tif 000002
【特許請求の範囲】
【請求項１】
マニピュレータの各軸に取り付けられたサーボモータを制御するためのサーボモータの制御方法であって、
各サーボモータの動作を制御するサーボアンプに当該マニピュレータの通過点と目標位置を送信する段階と、
当該通過点と目標位置に基づいて１のサーボモータの動作を制御する段階と、
当該１のサーボモータによって駆動される軸が前記通過点に達したことを検出する段階と、
前記通過点に達したことが検出されたときに他のサーボモータの駆動を開始する段階と、
を含むことを特徴とするサーボモータの制御方法。
【請求項２】
マニピュレータの各軸に取り付けられたサーボモータを制御するためのサーボモータの制御方法であって、
各サーボモータの動作を制御するサーボアンプに当該マニピュレータの通過点と目標位置を送信する段階と、
当該通過点と目標位置に基づいて１のサーボモータの動作を制御する段階と、
当該１のサーボモータが動作した後、前記１のサーボモータによって駆動される軸が前記通過点に達するまでの間に他のサーボモータの駆動を開始する段階と、
を含むことを特徴とするサーボモータの制御方法。
【請求項３】
前記１のサーボモータが動作した後に当該１のサーボモータが非常停止した場合には、前記他のサーボモータは前記１のサーボモータによって駆動される軸が前記目標位置に到達した後に駆動を開始する段階をさらに有することを特徴とする請求項２に記載のサーボモータの制御方法。
【請求項４】
前記通過点は、次の目標位置に達するまでに最も時間を要する軸に対して設定されることを特徴とする請求項１または２記載のサーボモータの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＰＴＰ（ポイントツーポイント）制御における位置決めサイクルタイムを短縮するサーボモータの制御方法に関する。
【０００２】
【従来の技術】
従来、自動車の車体溶接工程では、車体の位置決めや保持を行う治具としてＮＣロケーターが用いられている。ＮＣロケーターは多品種の車体の位置決めに対応できるようにするために、位置決めのためのアクチュエータとして、位置決めのポイントがソフトウェアで自由に変更でき、また、高精度の位置決めが可能なサーボモータが用いられる。
【０００３】
ＮＣロケーターは、制御するサーボモータの数が膨大なため、コントローラとサーボアンプとをＦＡネットワーク回線で接続し、またサーボモータの動作を制御するサーボアンプもＦＡネットワーク対応型のものを採用している。
【０００４】
ＦＡネットワーク対応型のサーボアンプには、その動作指令がＦＡネットワーク回線を経由して送信されることから、コントローラからの動作指令がサーボモータに到達するまでの時間はＦＡネットワーク回線の混雑状況によってまちまちとなる。
【０００５】
このため、コントローラが各サーボアンプに送信する動作指令の指示方式としては、逐次動作経路を指示する方式ではなく、最終的な目標位置だけを指示する方式が採用される。サーボアンプは、最終的な目標位置に基づき自ら動作経路を演算し、その動作経路に基づいてサーボモータを作動させる。サーボモータは、動作完了後にコントローラに対して動作完了信号を送信する。
【０００６】
したがって、コントローラは、各サーボアンプからの動作完了信号を受信し、すべてのサーボアンプの動作が完了したことを確認した後、次の目標位置を各サーボアンプに送信する。
【０００７】
ところが、このような指示方式では、すべてのサーボアンプが与えられた目標位置で位置決め停止することになり、目標位置を基準に加減速が繰り返される。したがって、ＮＣロケーターとしてのサイクルタイムが長くなってしまう。
【０００８】
このような不具合を解消するために、下記の特許文献１に記載されている発明では、一方のサーボモータがその動作区間における減速開始時または減速期間中に他方のサーボモータの動作区間における加速を開始させるべくその位置指令値をサーボ装置に出力するようにしている。
【０００９】
【特許文献１】
特開平９−１９０２２４号公報
【００１０】
【発明が解決しようとする課題】
しかしながら、特許文献１に記載されている発明では、一方のサーボモータの減速開始時または減速時に他方のサーボモータを加速させる技術であるため、一方のサーボモータが減速に入らなければ他方のサーボモータを動かすことはできない。したがって、サーボモータが目標位置に位置決めされたことを条件として次の目標位置を与える従来の指示方式に比較すればサイクルタイムの短縮は可能になるが、その短縮にも限界がある。
【００１１】
本発明は、このような従来の技術の不具合を解消するために成されたものであり、ＰＴＰ制御における位置決めサイクルタイムを短縮するサーボモータの制御方法の提供を目的とする。
【００１２】
【課題を解決するための手段】
上記した課題を解決し、目的を達成するため、本発明にかかるサーボモータの制御方法は、マニピュレータの各軸に取り付けられたサーボモータを制御するためのサーボモータの制御方法であって、各サーボモータの動作を制御するサーボアンプに当該マニピュレータの通過点と目標位置を送信し、当該通過点と目標位置に基づいて１のサーボモータの動作を制御し、当該１のサーボモータによって駆動される軸が前記通過点に達したことを検出し、前記通過点に達したことが検出されたときに他のサーボモータの駆動を開始する。
【００１３】
後から動作を開始するサーボモータは、作動中のサーボモータによって駆動される軸が通過点に達したときに動作を開始するので、通過点を適切な位置に設定しておくことによって、位置決めのサイクルタイムを短縮することができる。また、通過点は目標点間であればどの位置でも自由に設定することができるので、サイクルタイムの短縮の程度も変更が可能である。
【００１４】
【発明の効果】
本発明のサーボモータの制御方法によれば、１のサーボモータによって駆動される軸が通過点に達したときに他のサーボモータの駆動を開始するようにしたので、位置決めのサイクルタイムを短縮することができる。
【００１５】
【発明の実施の形態】
以下に添付図面を参照して、本発明にかかるサーボモータの制御方法の好適な実施の形態を「実施の形態１」から「実施の形態３」に分けて詳細に説明する。図１は、本発明にかかるサーボモータの制御方法を実施するための、すべての実施の形態に共通するＦＡネットワーク対応型サーボシステムの概略構成図である。
【００１６】
ＮＣロケーターの各軸を構成するロボットマニピュレータ１〜Ｎは、ＦＡネットワーク回線を介してコントローラ１０に接続される。各ロボットマニピュレータは、Ｘ、Ｙ、Ｚ軸駆動用の３台のサーボアンプと、それぞれのサーボアンプによって駆動されるサーボモータを備えている。すべてのサーボアンプはコントローラ１０に接続され、コントローラ１０はすべてのサーボアンプに「通過点」、「目標位置」、「非常停止」、「作動開始」の制御情報を送信し、また、すべてのサーボアンプから「通過点到達」、「目標位置到達」、「非常停止」の制御情報を受信する。つまり、コントローラ１０は、すべてのサーボアンプから受信した制御情報に基づいて送信すべき制御情報をサーボアンプごとに演算し、演算した制御情報を各サーボアンプに送信する。
【００１７】
図２は、本発明の内容の理解を容易にするために、図１のサーボシステムを簡略化したものであり、すべての実施の形態に適用される、２軸を駆動するためのサーボアンプを備えたロボットマニピュレータの概略構成を示している。
【００１８】
コントローラ１０には、マニピュレータ２０をＸ軸方向に移動させるためのＸ軸用サーボアンプ３０とマニピュレータ２０をＹ軸方向に移動させるためのＹ軸用サーボアンプ４０とが接続されている。Ｘ軸用サーボアンプ３０はＸ軸用サーボモータ５０の駆動を制御し、Ｙ軸用サーボアンプ４０はＹ軸用サーボモータ６０の駆動を制御する。
【００１９】
「実施の形態１」
図３は、本発明の実施の形態１にかかる手順を示すフローチャートである。このフローチャートはコントローラ１０によって処理されるものであり、請求項１に記載した発明に対応するものである。
【００２０】
まず、コントローラ１０は、あらかじめ教示されているマニピュレータ２０の作業軌跡に関するデータの中から、次の通過点と目標位置とを取り出して、これらの座標をＸ軸用サーボアンプ３０とＹ軸用サーボアンプ４０に送信する（Ｓ１）。たとえば、図６に示すように、教示されている通過点Ｐ１の座標が（Ｐ１Ｘ、Ｐ１Ｙ）であり、目標位置Ｐ２の座標が（Ｐ２Ｘ、Ｐ２Ｙ）であるとすれば、Ｘ軸用サーボアンプ３０にはＸ座標の通過点であるＰ１ＸとＸ座標の目標位置であるＰ２Ｘが、また、Ｙ軸用サーボアンプ４０にはＹ座標の通過点であるＰ１ＹとＹ座標の目標位置であるＰ２Ｙがそれぞれ送信される。
【００２１】
Ｘ軸用サーボアンプ３０とＹ軸用サーボアンプ４０は、送信された目標位置の座標に基づいて、Ｘ軸用サーボモータ５０（１のサーボモータ）とＹ軸用サーボモータ６０（他のサーボモータ）を独自に駆動するため図６に示すような速度指令を演算する。Ｘ軸用サーボモータ５０とＹ軸用サーボモータ６０は、それぞれの速度指令に基づいて個々にマニピュレータ２０を駆動する（Ｓ２）。
【００２２】
図６に示すように、Ｘ軸用サーボモータ５０とＹ軸用サーボモータ６０は同時に動作を開始する。図７に示すように、最初に移動量の小さいＹ軸が通過点Ｐ１Ｙに到達するので、Ｙ軸用サーボアンプ４０はＹ軸用サーボモータ６０の駆動を止める。Ｙ軸用サーボアンプ４０はコントローラ１０にＹ軸が通過点に達したことを通知する。一方、Ｘ軸はまだ通過点に達していないので、設定されている最高速度でマニピュレータ２０をＸ軸上で移動させる。
【００２３】
Ｘ軸が通過点（Ｐ１Ｘ）に到達すると、Ｘ軸用サーボアンプ３０はコントローラ１０にＸ軸が通過点に達したことを通知する。この通知によって、コントローラ１０はＸ軸が通過点（Ｐ１Ｘ）に到達したことを検出する（Ｓ３）。
【００２４】
コントローラ１０は、Ｘ軸が通過点（Ｐ１Ｘ）に到達したことを検出すると、Ｙ軸用サーボアンプ４０に、次の通過点Ｐ２Ｙと次の目標位置Ｐ３Ｙを送信する。Ｙ軸用サーボアンプ４０はＹ軸用サーボモータ６０を駆動するための速度指令を演算し、演算した速度指令に基づいてＹ軸用サーボモータ６０の駆動を開始する（Ｓ４）。
【００２５】
以上のように制御を行うと、図６に示すように、Ｘ軸が通過点Ｐ１Ｘに達したときにＹ軸の駆動が開始され、次に、Ｙ軸が通過点Ｐ２Ｙに達したときにＸ軸の駆動が開始され、さらにＸ軸が通過点Ｐ３Ｘに達したときにＹ軸の駆動が開始されるというように、交互に軸が駆動される。このように、１の軸が通過点に達したときに他の軸の駆動を開始すると、図７の動作軌跡にも現れているように、マニピュレータ２０の動作軌跡は減速の少ない滑らかなものとなり、一方の軸が減速されるのを待って駆動を開始する従来のものに比較して位置決めのサイクルタイムを短くできる。
【００２６】
「実施の形態２」
図４は、本発明の実施の形態２にかかる手順を示すフローチャートである。本実施の形態では、位置決めのサイクルタイムをさらに短くするために、１の軸が通過点に達する前に他の軸の駆動を開始するものである。このフローチャートはコントローラ１０によって処理されるものであり、請求項２に記載した発明に対応するものである。
【００２７】
まず、コントローラ１０は、あらかじめ教示されているマニピュレータ２０の作業軌跡に関するデータの中から、次の通過点と目標位置とを取り出して、これらの座標をＸ軸用サーボアンプ３０とＹ軸用サーボアンプ４０に送信する（Ｓ１１）。たとえば、図８に示すように、教示されている通過点Ｐ１の座標が（Ｐ１Ｘ、Ｐ１Ｙ）であり、目標位置Ｐ２の座標が（Ｐ２Ｘ、Ｐ２Ｙ）であるとすれば、Ｘ軸用サーボアンプ３０にはＸ座標の通過点であるＰ１ＸとＸ座標の目標位置であるＰ２Ｘが、また、Ｙ軸用サーボアンプ４０にはＹ座標の通過点であるＰ１ＹとＹ座標の目標位置であるＰ２Ｙがそれぞれ送信される。
【００２８】
Ｘ軸用サーボアンプ３０とＹ軸用サーボアンプ４０は、送信された目標位置の座標に基づいて、Ｘ軸用サーボモータ５０（１のサーボモータ）とＹ軸用サーボモータ６０（他のサーボモータ）を独自に駆動するため図９に示すような速度指令を演算する。Ｘ軸用サーボモータ５０とＹ軸用サーボモータ６０は、それぞれの速度指令に基づいて個々にマニピュレータ２０を駆動する（Ｓ１２）。
【００２９】
図８に示すように、Ｘ軸用サーボモータ５０とＹ軸用サーボモータ６０は同時に動作を開始する。図９に示すように、最初に移動量の小さいＹ軸が通過点Ｐ１Ｙに到達するので、Ｙ軸用サーボアンプ４０はＹ軸用サーボモータ６０の駆動を止める。Ｙ軸が通過点（Ｐ１Ｙ）に到達すると、Ｙ軸用サーボアンプ４０はコントローラ１０にＹ軸が通過点に達したことを通知する。コントローラ１０は、Ｙ軸が通過点に到着してから一定時間ｔが経過すると、Ｙ軸用サーボアンプ４０に、次の通過点Ｐ２Ｙと次の目標位置Ｐ３Ｙを送信する。Ｙ軸用サーボアンプ４０は図８に示すようにＹ軸用サーボモータ６０を駆動するための速度指令を演算し、演算した速度指令に基づいてＹ軸用サーボモータ６０の駆動を開始する。通過点に到着してから駆動が開始されるまでの時間ｔを短く設定しておけば、Ｙ軸の駆動が開始されるのは、結果的に、Ｘ軸が通過点Ｐ１Ｘに達する前となる（Ｓ１３）。
【００３０】
以上のように制御を行うと、図８に示すように、Ｙ軸が通過点Ｐ２Ｙに達してから時間ｔ経過後にはＸ軸の駆動の如何にかかわらずにＹ軸の駆動が開始される。一方、Ｘ軸が通過点Ｐ１Ｘを通過し目標位置Ｐ２Ｘに達してから時間ｔ経過後にはＹ軸の駆動の如何にかかわらずにＸ軸の駆動が開始される。このように、Ｘ軸とＹ軸とを個別に駆動させると、図９の動作軌跡にも現れているように、マニピュレータ２０の動作軌跡はさらに減速の少ない滑らかなものとなり、実施の形態１と比較してもなお位置決めのサイクルタイムを短くできる。
【００３１】
なお、本実施の形態では、通過点に到達してから駆動を再開するまでのタイミングを時間ｔによって図っているが、この時間ｔは目標位置までの距離に応じて変化させても良いし、固定させておいてもよい。また、軸ごとに別々の時間としても良い。
【００３２】
実施の形態２の場合、設定する時間ｔを０に近づければ近づけるほど位置決めのサイクルタイムは減少する。ところが、この時間ｔを短くしすぎると、マニピュレータに非常停止がかけられたときにＸ軸とＹ軸とで再生ポイントのアンマッチが生じてしまう。例えば、図１０および図１２に示すように、マニピュレータの非常停止点がＸ軸の次の通過点であるＰ１Ｘの手前で、かつ、Ｙ軸の通過点Ｐ１Ｙを通過した直後であった場合には、マニピュレータとして現在どの位置にいるのかが判断できなくなるため、マニピュレータの再生ポイントの進捗管理に不都合が生ずる。
【００３３】
第３の実施の形態は、時間ｔを短くしたことによって生じるこの問題を解決するものである。
【００３４】
「実施の形態３」
図５は、本発明の実施の形態３にかかる手順を示すフローチャートである。このフローチャートはコントローラ１０によって処理されるものであり、請求項３に記載した発明に対応するものである。
【００３５】
まず、コントローラ１０は、あらかじめ教示されているマニピュレータ２０の作業軌跡に関するデータの中から、次の通過点と目標位置とを取り出して、これらの座標をＸ軸用サーボアンプ３０とＹ軸用サーボアンプ４０に送信する（Ｓ２１）。たとえば、図１１に示すように、教示されている通過点Ｐ１の座標が（Ｐ１Ｘ、Ｐ１Ｙ）であり、目標位置Ｐ２の座標が（Ｐ２Ｘ、Ｐ２Ｙ）であるとすれば、Ｘ軸用サーボアンプ３０にはＸ座標の通過点であるＰ１ＸとＸ座標の目標位置であるＰ２Ｘが、また、Ｙ軸用サーボアンプ４０にはＹ座標の通過点であるＰ１ＹとＹ座標の目標位置であるＰ２Ｙがそれぞれ送信される。
【００３６】
Ｘ軸用サーボアンプ３０とＹ軸用サーボアンプ４０は、送信された目標位置の座標に基づいて、Ｘ軸用サーボモータ５０（１のサーボモータ）とＹ軸用サーボモータ６０（他のサーボモータ）を独自に駆動するため図１１に示すような速度指令を演算する。Ｘ軸用サーボモータ５０とＹ軸用サーボモータ６０は、それぞれの速度指令に基づいて個々にマニピュレータ２０を駆動する（Ｓ２２）。
【００３７】
Ｘ軸用サーボアンプ３０は、非常停止の制御情報が発生したか否かを判断する（Ｓ２３）。非常停止の制御情報が発生していなければ（Ｓ２３：ＹＥＳ）、実施の形態２のステップＳ１３と同様に、Ｘ軸用サーボモータ５０の動作後、通過点Ｐ１Ｘに達するまでの間にＹ軸用サーボモータ６０の駆動を開始する（Ｓ２４）。一方、非常停止の制御情報が発生していれば（Ｓ２３：ＮＯ）、Ｘ軸用サーボアンプ３０はコントローラ１０に非常停止の制御情報を出力する。非常停止の原因が取り除かれて動作が復帰すると、コントローラ１０は、この制御情報に基づいてＸ軸用サーボアンプ３０に指令を出し、Ｘ軸用サーボアンプ３０は、図１１に示すようにＸ軸用サーボモータ５０を駆動して非常停止点から駆動開始点（通過点Ｐ１Ｘ）までマニピュレータを移動させる（Ｓ２５）。通過点Ｐ１Ｘまでマニピュレータが移動すると、Ｘ軸用サーボアンプ３０はコントローラ１０に通過点到達の制御情報を出力する。コントローラ１０は、この制御情報に基づいてＸ軸用サーボアンプ３０とＹ軸用サーボアンプ４０に指令を出し、Ｘ軸用サーボモータ５０とＹ軸用サーボモータ６０の駆動を開始する。このように、駆動開始点は、Ｘ軸の通過点Ｐ１Ｘを超えかつＹ軸の通過点Ｐ１Ｙを超えた点となる。（Ｓ２６）。
【００３８】
このように、非常停止がかかったとき、遅いほうのＸ軸の停止位置が通過点Ｐ１を超えるタイミングでＹ軸を駆動すると、非常停止がかかっても、両者の停止位置が再生ポイント上でアンマッチとならず、マニピュレータの再生ポイントの進捗管理に不都合は生じなくなる。
【００３９】
以上の実施の形態１〜３では、２軸のロボットマニピュレータの動作について述べたが、本発明は、図１にも示したような３軸のロボットマニピュレータまたは４軸以上のロボットマニピュレータに対しても適用可能である。
【図面の簡単な説明】
【図１】本発明にかかるサーボモータの制御方法が実施されるＦＡネットワーク対応型サーボシステムの概略構成図である。
【図２】２軸のロボットマニピュレータの概略構成図である。
【図３】本発明にかかるサーボモータの制御方法の実施の形態１の手順を示すフローチャートである。
【図４】本発明にかかるサーボモータの制御方法の実施の形態２の手順を示すフローチャートである。
【図５】本発明にかかるサーボモータの制御方法の実施の形態３の手順を示すフローチャートである。
【図６】実施の形態１の手順の説明に供する速度指令曲線である。
【図７】図６の速度指令曲線に基づいて駆動されたマニピュレータの軌跡曲線である。
【図８】実施の形態２の手順の説明に供する速度指令曲線である。
【図９】図８の速度指令曲線に基づいて駆動されたマニピュレータの軌跡曲線である。
【図１０】実施の形態３手順の説明に供する速度指令曲線である。
【図１１】実施の形態３手順の説明に供する速度指令曲線である。
【図１２】図１０の速度指令曲線に基づいて駆動されたマニピュレータの軌跡曲線である。
【符号の説明】
１０…コントローラ、
２０…マニピュレータ、
３０…Ｘ軸用サーボアンプ、
４０…Ｙ軸用サーボアンプ、
５０…Ｘ軸用サーボモータ、
６０…Ｙ軸用サーボモータ。
【図１】
2004306158.tif 000003
【図２】
2004306158.tif 000004
【図３】
2004306158.tif 000005
【図４】
2004306158.tif 000006
【図５】
2004306158.tif 000007
【図６】
2004306158.tif 000008
【図７】
2004306158.tif 000009
【図８】
2004306158.tif 000010
【図９】
2004306158.tif 000011
【図１０】
2004306158.tif 000012
【図１１】
2004306158.tif 000013
【図１２】
2004306158.tif 000014