(57)【要約】【課題】搬送装置が加減速を行う場合であっても、ロボットの動作を搬送装置の動きに安定して同期させる。【解決手段】ロボットシステム１０の制御装置４０は、ロボット３０の動作開始時の状態において今回の制御周期における第１指令位置を算出し、動作開始時から今回の制御周期までにコンベア２０にロボットを追従させる追従移動量を算出し、コンベアにロボットを追従させる追従速度を算出し、追従速度が速度上限値を超えたことを条件として、追従速度が速度上限値以下となるように追従移動量を調整し、コンベアにロボットを追従させる追従加速度を算出し、追従加速度が加速度上限値を超えたことを条件として、追従加速度が加速度上限値以下となるように、調整された追従移動量を調整し、第１指令位置、及び調整された追従移動量に基づいて、今回の制御周期におけるロボットの最終指令位置を算出する。【選択図】      図１
2019098408.tif 000002
【特許請求の範囲】
【請求項１】
ワークを搬送する搬送装置と、前記搬送装置により搬送される前記ワークに対して所定作業を実行するロボットとを備えるロボットシステム、に適用される制御装置であって、
前記ロボットの動作開始時の状態において前記ロボットを開始位置から前記ワークの位置まで動作させる一連の指令位置のうち、今回の制御周期における指令位置である第１指令位置を算出する第１指令位置算出部と、
前記動作開始時における前記搬送装置の指令位置、及び今回の制御周期における前記搬送装置の指令位置に基づいて、前記動作開始時から今回の制御周期までに前記搬送装置に前記ロボットを追従させる移動量である追従移動量を算出する追従移動量算出部と、
前回の制御周期において調整された前記追従移動量、及び前記追従移動量算出部により算出された今回の制御周期における前記追従移動量に基づいて、前記搬送装置に前記ロボットを追従させる速度である追従速度を算出する追従速度算出部と、
前記追従速度算出部により算出された前記追従速度が速度上限値を超えたことを条件として、前記追従速度が前記速度上限値以下となるように、前記追従移動量算出部により算出された前記追従移動量を調整する第１追従移動量調整部と、
前回の制御周期において調整された前記追従速度、及び前記追従速度算出部により算出された今回の制御周期における前記追従速度に基づいて、前記搬送装置に前記ロボットを追従させる加速度である追従加速度を算出する追従加速度算出部と、
前記追従加速度算出部により算出された前記追従加速度が加速度上限値を超えたことを条件として、前記追従加速度が前記加速度上限値以下となるように、前記第１追従移動量調整部により調整された前記追従移動量を調整する第２追従移動量調整部と、
前記第１指令位置算出部により算出された前記第１指令位置、及び前記第２追従移動量調整部により調整された前記追従移動量に基づいて、今回の制御周期における前記ロボットの最終指令位置を算出する最終指令位置算出部と、
前記最終指令位置算出部により算出された前記最終指令位置に基づいて、前記ロボットを動作させる動作部と、
を備えるロボットシステムの制御装置。
【請求項２】
前記第１追従移動量調整部は、前記追従速度算出部により算出された前記追従速度が前記速度上限値を超えたことを条件として、前記追従速度が、前記ロボットが実現可能な最大減速度の絶対値に前記制御周期を掛けた値と今回の制御周期における前記搬送装置の速度とを足した速度となるように、前記追従移動量算出部により算出された前記追従移動量を調整する、請求項１に記載のロボットシステムの制御装置。
【請求項３】
前記第１追従移動量調整部は、前記追従速度算出部により算出された前記追従速度が前記速度上限値を超えたことを条件として、前記追従速度が前記速度上限値となるように、前記追従移動量算出部により算出された前記追従移動量を調整する、請求項１に記載のロボットシステムの制御装置。
【請求項４】
前記第２追従移動量調整部は、前記追従加速度算出部により算出された前記追従加速度が加速度上限値を超えたことを条件として、前記追従加速度が前記加速度上限値となるように、前記第１追従移動量調整部により調整された前記追従移動量を調整する、請求項１〜３のいずれか１項に記載のロボットシステムの制御装置。
【請求項５】
前記搬送装置により、不等速の速度パターンで前記ワークを搬送させる、請求項１〜４のいずれか１項に記載のロボットシステムの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステムを制御する制御装置に関する。
【背景技術】
【０００２】
従来、加減速しつつワークを搬送するコンベアの動作指令値を算出し、ロボットがコンベアの動きに同期しつつ所定の動作を行うように、コンベアの動作指令値に基づいてロボットの動作指令値を算出する制御装置がある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５６３３５５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、コンベア（搬送装置）の動作指令値が大きい状態において、ロボットが停止している状態から動作を開始する場合が考えられる。この場合、ロボットの動作をコンベアの動きに同期させるために、ロボットの加速度が過剰に大きくなるおそれがある。その結果、ロボットの加速度が上限値を超えたり、ロボットの動作が不安定になったりするおそれがあり、特許文献１に記載の制御装置は未だ改善の余地がある。
【０００５】
本発明は、上記課題を解決するためになされたものであり、搬送装置が加減速を行う場合であっても、ロボットの動作を搬送装置の動きに安定して同期させることのできるロボットシステムの制御装置を提供することを主たる目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するための第１の手段は、
ワークを搬送する搬送装置と、前記搬送装置により搬送される前記ワークに対して所定作業を実行するロボットとを備えるロボットシステム、に適用される制御装置であって、
前記ロボットの動作開始時の状態において前記ロボットを開始位置から前記ワークの位置まで動作させる一連の指令位置のうち、今回の制御周期における指令位置である第１指令位置を算出する第１指令位置算出部と、
前記動作開始時における前記搬送装置の指令位置、及び今回の制御周期における前記搬送装置の指令位置に基づいて、前記動作開始時から今回の制御周期までに前記搬送装置に前記ロボットを追従させる移動量である追従移動量を算出する追従移動量算出部と、
前回の制御周期において調整された前記追従移動量、及び前記追従移動量算出部により算出された今回の制御周期における前記追従移動量に基づいて、前記搬送装置に前記ロボットを追従させる速度である追従速度を算出する追従速度算出部と、
前記追従速度算出部により算出された前記追従速度が速度上限値を超えたことを条件として、前記追従速度が前記速度上限値以下となるように、前記追従移動量算出部により算出された前記追従移動量を調整する第１追従移動量調整部と、
前回の制御周期において調整された前記追従速度、及び前記追従速度算出部により算出された今回の制御周期における前記追従速度に基づいて、前記搬送装置に前記ロボットを追従させる加速度である追従加速度を算出する追従加速度算出部と、
前記追従加速度算出部により算出された前記追従加速度が加速度上限値を超えたことを条件として、前記追従加速度が前記加速度上限値以下となるように、前記第１追従移動量調整部により調整された前記追従移動量を調整する第２追従移動量調整部と、
前記第１指令位置算出部により算出された前記第１指令位置、及び前記第２追従移動量調整部により調整された前記追従移動量に基づいて、今回の制御周期における前記ロボットの最終指令位置を算出する最終指令位置算出部と、
前記最終指令位置算出部により算出された前記最終指令位置に基づいて、前記ロボットを動作させる動作部と、
を備える。
【０００７】
上記構成によれば、搬送装置によりワークが搬送され、搬送装置により搬送されるワークに対してロボットにより所定作業が実行される。
【０００８】
ここで、第１指令位置算出部により、ロボットの動作開始時の状態においてロボットを開始位置からワークの位置まで動作させる一連の指令位置のうち、今回の制御周期における指令位置である第１指令位置が算出される。すなわち、上記一連の指令位置は、搬送装置が停止していたとした場合に、ロボットを開始位置からワークの位置まで動作させる一連の指令位置である。そして、この一連の指令位置のうち、今回の制御周期における指令位置である第１指令位置が算出される。
【０００９】
追従移動量算出部は、動作開始時における搬送装置の指令位置、及び今回の制御周期における搬送装置の指令位置に基づいて、動作開始時から今回の制御周期までに搬送装置にロボットを追従させる移動量である追従移動量を算出する。このため、搬送装置が加減速を行う場合であっても、制御周期毎に搬送装置にロボットを追従させる追従移動量を算出することができる。追従移動量は、搬送装置によりワークが搬送される場合に、動作開始時から今回の制御周期までにワークが搬送される量として、ロボットの移動量に加算すべき移動量である。
【００１０】
追従速度算出部は、前回の制御周期において調整された追従移動量、及び追従移動量算出部により算出された今回の制御周期における追従移動量に基づいて、搬送装置にロボットを追従させる速度である追従速度を算出する。すなわち、追従速度は、前回の制御周期までの追従移動量と今回の制御周期における追従移動量とで決まるロボットの速度であり、今回の制御周期においてロボットを移動させる際の速度である。
【００１１】
ここで、追従移動量は、ワークが搬送される量としてロボットの移動量に加算すべき移動量であるため、搬送装置による搬送量が大きくなると追従移動量も大きくなる。そして、特にロボットが停止した状態において追従移動量が大きくなると、今回の制御周期においてロボットを移動させる際の速度である追従速度も大きくなり、追従速度が速度上限値を超えるおそれがある。この点、第１追従移動量調整部は、追従速度が速度上限値を超えたことを条件として、追従速度が速度上限値以下となるように、追従移動量算出部により算出された追従移動量を調整する。このため、追従速度が速度上限値を超えていない場合は、追従移動量及び追従速度がそのまま維持され、追従速度が速度上限値を超えた場合は、追従速度が速度上限値以下となるように追従移動量が調整される。したがって、追従速度が過剰に大きくなることを抑制することができ、ロボットがワークを追い越したり、ロボットの動作が不安定になったりすることを抑制することができる。
【００１２】
追従加速度算出部は、前回の制御周期において調整された追従速度、及び追従速度算出部により算出された今回の制御周期における追従速度に基づいて、搬送装置にロボットを追従させる加速度である追従加速度を算出する。すなわち、追従加速度は、前回の制御周期における追従速度と今回の制御周期における追従速度とで決まるロボットの加速度であり、今回の制御周期においてロボットを移動させる際の加速度である。
【００１３】
ここで、追従速度が大きくなると、今回の制御周期においてロボットを移動させる際の加速度である追従加速度も大きくなり、追従加速度が加速度上限値を超えるおそれがある。この点、第２追従移動量調整部は、追従加速度算出部により算出された追従加速度が加速度上限値を超えたことを条件として、追従加速度が加速度上限値以下となるように、第１追従移動量調整部により調整された追従移動量を調整する。このため、追従加速度が加速度上限値を超えていない場合は、追従移動量及び追従加速度がそのまま維持され、追従加速度が加速度上限値を超えた場合は、追従加速度が加速度上限値以下となるように追従移動量が調整される。したがって、追従加速度が過剰に大きくなることを抑制することができ、ロボットの動作トルクが飽和したり、動作エラーが生じたりすることを抑制することができる。
【００１４】
さらに、追従移動量が調整されることで、追従速度が速度上限値以下とされ、且つ追従加速度が加速度上限値以下とされている。すなわち、追従速度及び追従加速度を、追従移動量という共通のパラメータにより制限することができる。そして、最終指令位置算出部は、第１指令位置算出部により算出された第１指令位置、及び第２追従移動量調整部により調整された追従移動量に基づいて、今回の制御周期におけるロボットの最終指令位置を算出する。このため、搬送装置が停止した状態（ロボットの動作開始時）を基準とする第１指令位置と調整された追従移動量とに基づいて、ロボットの最終指令位置を容易に算出することができる。そして、動作部により、最終指令位置に基づいてロボットが動作させられるため、搬送装置が加減速を行う場合であっても、ロボットの動作を搬送装置の動きに安定して同期させることができる。詳しくは、ロボットの速度に揺らぎが生じることによるロボットの手先のぶれを抑制することができる。さらに、コンベアが停止中、加速中、等速中、減速中のいずれのタイミングでロボットの動作が開始されたとしても、ロボットの速度の揺らぎによる手先のぶれを抑制して安定した動作をさせることができる。
【００１５】
第２の手段では、前記第１追従移動量調整部は、前記追従速度算出部により算出された前記追従速度が前記速度上限値を超えたことを条件として、前記追従速度が、前記ロボットが実現可能な最大減速度の絶対値に前記制御周期を掛けた値と今回の制御周期における前記搬送装置の速度とを足した速度となるように、前記追従移動量算出部により算出された前記追従移動量を調整する。このため、ロボットの追従速度が搬送装置の速度を超えたとしても、次の制御周期において搬送装置の速度まで低下させ易くなる。したがって、ロボットの追従速度が搬送装置の速度を大きく超えることを抑制しつつ、ロボットの追従速度をできるだけ大きくすることができる。
【００１６】
第３の手段では、前記第１追従移動量調整部は、前記追従速度算出部により算出された前記追従速度が前記速度上限値を超えたことを条件として、前記追従速度が前記速度上限値となるように、前記追従移動量算出部により算出された前記追従移動量を調整する。
【００１７】
上記構成によれば、追従速度が速度上限値を超えていない場合は、追従移動量及び追従速度がそのまま維持され、追従速度が速度上限値を超えた場合は、追従速度が速度上限値となるように追従移動量が調整される。したがって、搬送装置に速度上限値でロボットを追従させることができ、搬送装置の動きにロボットの動作を迅速に同期させることができる。
【００１８】
第４の手段では、前記第２追従移動量調整部は、前記追従加速度算出部により算出された前記追従加速度が加速度上限値を超えたことを条件として、前記追従加速度が前記加速度上限値となるように、前記第１追従移動量調整部により調整された前記追従移動量を調整する。
【００１９】
上記構成によれば、追従加速度が加速度上限値を超えていない場合は、追従移動量及び追従加速度がそのまま維持され、追従加速度が加速度上限値を超えた場合は、追従加速度が加速度上限値となるように追従移動量が調整される。したがって、搬送装置に加速度上限値でロボットを追従させることができ、搬送装置の動きにロボットの動作を迅速に同期させることができる。
【００２０】
具体的には、第５の手段のように、前記搬送装置により、不等速の速度パターンで前記ワークを搬送させるといった構成を採用することができる。こうした構成によれば、搬送装置により不等速の速度パターンでワークが搬送される場合に、上記各手段の作用効果を奏することができる。
【図面の簡単な説明】
【００２１】
【図１】ロボットシステムの位置関係を示す模式図。
【図２】第１比較例の加速度を示すグラフ。
【図３】第１比較例の速度を示すグラフ。
【図４】第２比較例のロボット制御を示すフローチャート。
【図５】追従加速度が加速度上限値となる追従移動量の算出方法を示す図。
【図６】第２比較例の加速度を示すグラフ。
【図７】第２比較例の速度を示すグラフ。
【図８】本実施形態のロボット制御を示すフローチャート。
【図９】追従速度が速度規制値となる追従移動量の算出方法を示す図。
【図１０】本実施形態の加速度を示すグラフ。
【図１１】本実施形態の速度を示すグラフ。
【発明を実施するための形態】
【００２２】
以下、ロボットシステムのコントローラに具現化した一実施形態について、図面を参照しつつ説明する。本実施形態のロボットシステムは、例えば機械組立工場などの組立システムにて用いられる。
【００２３】
図１に示すように、ロボットシステム１０は、コンベア２０、ロボット３０、及びコントローラ４０を備えている。
【００２４】
コンベア２０（搬送装置）は、例えばベルトコンベアであり、ベルト上のワークＷをｘ方向の下流へ搬送する。コンベア２０の駆動状態は、コントローラ４０により制御される。なお、コンベア２０は、ローラコンベアや、チェーンコンベア等であってもよい。
【００２５】
ロボット３０は、例えば垂直多関節型のロボットであり、ワークＷに対して所定作業を実行する。所定作業は、例えばワークＷを把持して所定位置まで移動させる作業である。ロボット３０の動作状態は、コントローラ４０により制御される。なお、ロボット３０は、水平多関節型のロボット等であってもよい。
【００２６】
コントローラ４０（制御装置）は、ＣＰＵ、ＲＯＭ、ＲＡＭ、駆動回路、及び入出力インターフェース等を備えるコンピュータとして構成されている。コントローラ４０は、コンベア２０の駆動状態、及びロボット３０の動作状態を制御する。コントローラ４０は、第１指令位置算出部、追従移動量算出部、追従速度算出部、第１追従移動量調整部、追従加速度算出部、第２追従移動量調整部、最終指令位置算出部、及び動作部の機能を実現する。
【００２７】
まず、ロボット３０の動作をコンベア２０の動きに同期させる第１比較例の制御を説明する。ロボット３０の動作開始時において、ロボット３０は位置Ｐｒ（０）にあり、ワークＷは位置Ｐｗ（０）にあるとする。コントローラ４０は、ロボット３０を位置Ｐｒ（０）から位置Ｐｗ（０）まで動作させる一連の指令位置Ｐｒ（ｎ）（ｎ＝１，２，３・・・）を算出する。指令位置Ｐｒ（ｎ）は、今回の制御周期（ｎ）におけるロボット３０の指令位置である。すなわち、上記一連の指令位置Ｐｒ（ｎ）は、コンベア２０が停止していたとした場合に、ロボット３０を位置Ｐｒ（０）からワークＷの位置Ｐｗ（０）まで動作させる一連の指令位置（停止基準の指令位置）である。
【００２８】
また、コントローラ４０は、今回の制御周期（ｎ）におけるコンベア２０の指令位置Ｐｗ（ｎ）に基づいてコンベア２０を駆動し、コンベア２０によりワークＷをｘ方向の下流へ搬送させる。ワークＷは、ロボット３０の動作開始時から今回の制御周期（ｎ）までに、搬送量ΔＣだけ搬送される。このため、コントローラ４０は、ロボット３０の動作をコンベア２０の動きに同期させるために、指令位置Ｐｒ（ｎ）からｘ方向に搬送量ΔＣだけ移動させた位置を、今回の制御周期（ｎ）におけるロボット３０の最終指令位置Ｐｒｆ（ｎ）とする。コントローラ４０は、コンベア２０の動きに対するロボット３０の動作遅れを抑制するために、今回の制御周期（ｎ）におけるコンベア２０の指令位置Ｐｗ（ｎ）に基づいて搬送量ΔＣを算出する。
【００２９】
そして、コントローラ４０は、最終指令位置Ｐｒｆ（ｎ）に基づいて、ロボット３０を動作させる。詳しくは、今回の制御周期（ｎ）において、ロボット３０を最終指令位置Ｐｒｆ（ｎ）まで移動させるための速度Ｖ及び加速度ａを算出し、それらを実現するようにロボット３０のモータを駆動する。このため、ロボット３０が停止した状態において、コンベア２０の搬送量ΔＣが大きく算出されると、ロボット３０の加速度ａが過剰に大きく算出される。
【００３０】
図２は、第１比較例の加速度を示すグラフである。同図に示すように、ロボット３０のｘ方向の加速度ａｘは、加速度上限値ａｕ及び加速度下限値ａｄを大きく超えている。この場合、ロボット３０の動作トルクが飽和したり、動作エラーが生じたりするおそれがある。加速度上限値ａｕ（加速度下限値ａｄ）は、ロボット３０の仕様により決まる加速度の上限値（下限値）であり、ロボット３０が実現可能な最大加速度（最大減速度）である。
【００３１】
図３は、第１比較例の速度を示すグラフである。なお、理解を容易にするために、コンベア速度Ｖｃが一定の場合を例に示しているが、実際にはコンベア速度Ｖｃは不等速の速度パターンで駆動されている（その他の速度のグラフも同様）。同図に示すように、ロボット３０のｘ方向の速度Ｖｘは、コンベア速度Ｖｃを大きく超えている。この場合、ロボット３０がワークＷを追い越したり、ロボット３０の動作が不安定になったりするおそれがある。
【００３２】
そこで、ロボット３０の動作をコンベア２０の動きに同期させる際に、ロボット３０のｘ方向の加速度ａｘを加速度上限値ａｕで制限した第２比較例の制御を説明する。図４は、第２比較例のロボット制御を示すフローチャートである。この一連の処理は、コントローラ４０により所定の制御周期ΔＴ毎に実行される。
【００３３】
まず、停止基準のロボット３０の指令位置Ｐｒ（ｎ）を算出する（Ｓ１０）。上述したように、指令位置Ｐｒ（ｎ）は、ロボット３０の動作開始時の状態において、ロボット３０を位置Ｐｒ（０）からワークＷの位置Ｐｗ（０）まで動作させる一連の指令位置のうち、今回の制御周期（ｎ）における指令位置（第１指令位置）である。
【００３４】
続いて、今回の制御周期（ｎ）における追従移動量Δｘ（ｎ）を算出する（Ｓ１１）。追従移動量Δｘ（ｎ）は、今回の制御周期（ｎ）におけるコンベア２０の指令位置Ｐｗ（ｎ）と、ロボット３０の動作開始時におけるコンベア２０の指令位置Ｐｗ（０）との位置の差である。指令位置Ｐｗ（ｎ）は、コンベア２０を所望の速度パターン（駆動状態）、詳しくは不等速の速度パターンで駆動させるように算出される。追従移動量Δｘ（ｎ）は、動作開始時から今回の制御周期（ｎ）までにコンベア２０にロボット３０を追従させる移動量である。追従移動量Δｘ（ｎ）は、コンベア２０の上記搬送量ΔＣに対応しているが、後の処理において調整が行われるため、搬送量ΔＣそのものではない。
【００３５】
続いて、前回の制御周期（ｎ−１）における追従移動量Δｘ（ｎ−１）と今回の制御周期（ｎ）における追従移動量Δｘ（ｎ）とに基づいて、今回の制御周期（ｎ）における追従速度Ｖｘ（ｎ）を算出する（Ｓ１２）。詳しくは、追従移動量Δｘ（ｎ）と追従移動量Δｘ（ｎ−１）との差を制御周期ΔＴで割って、追従速度Ｖｘ（ｎ）を算出する。追従速度Ｖｘ（ｎ）は、コンベア２０にロボット３０を追従させる速度である。
【００３６】
続いて、前回の制御周期（ｎ−１）における追従速度Ｖｘ（ｎ−１）と今回の制御周期（ｎ）における追従速度Ｖｘ（ｎ）とに基づいて、今回の制御周期（ｎ）における追従加速度ａｘ（ｎ）を算出する（Ｓ１３）。詳しくは、追従速度Ｖｘ（ｎ）と追従速度Ｖｘ（ｎ−１）との差を制御周期ΔＴで割って、追従加速度ａｘ（ｎ）を算出する。追従加速度ａｘ（ｎ）は、コンベア２０にロボット３０を追従させる加速度である。
【００３７】
続いて、追従加速度ａｘ（ｎ）が加速度上限値ａｕ（加速度下限値ａｄ）よりも大きいか否か判定する（Ｓ１４）。上述したように、加速度上限値ａｕ（加速度下限値ａｄ）は、ロボット３０の仕様により決まる加速度の上限値（下限値）であり、ロボット３０が実現可能な最大加速度（最大減速度）である。この判定において、追従加速度ａｘ（ｎ）が加速度上限値ａｕ（加速度下限値ａｄ）よりも大きいと判定した場合（Ｓ１４：ＹＥＳ）、追従加速度ａｘ（ｎ）が加速度上限値ａｕ（加速度下限値ａｄ）となるように追従移動量Δｘ（ｎ）を調整する（Ｓ１５）。詳しくは、図５に示すように、今回の制御周期（ｎ）における追従速度Ｖｘ（ｎ）が、前回の制御周期（ｎ−１）における追従速度Ｖｘ（ｎ−１）に、加速度上限値ａｕと制御周期ΔＴとの積を足した速度となる。このとき、追従移動量Δｘ（ｎ）は、制御周期（ｎ）までの追従速度Ｖｘの積分（面積）になる。このため、Δｘ（ｎ）＝Δｘ（ｎ−１）＋｛２Ｖｘ（ｎ−１）＋ａｕ×ΔＴ｝×ΔＴ／２となる。なお、ロボット３０が減速する場合は、加速度下限値ａｄを用いて同様に追従移動量Δｘ（ｎ）を算出する。その後、Ｓ１６の処理へ進む。
【００３８】
一方、Ｓ１４の判定において、追従加速度ａｘ（ｎ）が加速度上限値ａｕよりも大きくないと判定した場合（Ｓ１４：ＮＯ）、Ｓ１６の処理へ進む。すなわち、追従加速度ａｘ（ｎ）が加速度上限値ａｕよりも大きいことを条件として、追従加速度ａｘ（ｎ）が加速度上限値ａｕとなるように追従移動量Δｘ（ｎ）を調整する（Ｓ１４、Ｓ１５）。
【００３９】
続いて、今回の制御周期（ｎ）におけるロボット３０の最終指令位置Ｐｒｆ（ｎ）を算出する（Ｓ１６）。詳しくは、停止基準のロボット３０の指令位置Ｐｒ（ｎ）からｘ方向に、調整後の追従移動量Δｘ（ｎ）だけ移動させた位置を、今回の制御周期（ｎ）におけるロボット３０の最終指令位置Ｐｒｆ（ｎ）とする。そして、最終指令位置Ｐｒｆ（ｎ）に基づいて、ロボット３０を動作させる（Ｓ１７）。詳しくは、今回の制御周期（ｎ）において、ロボット３０を最終指令位置Ｐｒｆ（ｎ）まで移動させるための速度Ｖ及び加速度ａを算出し、それらを実現するようにロボット３０のモータを駆動する。
【００４０】
続いて、今回の制御周期（ｎ）における調整後の追従移動量Δｘ（ｎ）、及び今回の制御周期（ｎ）における追従速度Ｖｘ（ｎ）を記憶する（Ｓ１８）。その後、この一連の処理を一旦終了する（ＥＮＤ）。記憶した追従移動量Δｘ（ｎ）及び追従速度Ｖｘ（ｎ）は、次回の制御周期（ｎ＋１）において、前回の制御周期（ｎ）における追従移動量Δｘ（ｎ）及び追従速度Ｖｘ（ｎ）として用いられる。
【００４１】
図６は、第２比較例の加速度を示すグラフである。同図に示すように、ロボット３０のｘ方向の追従加速度ａｘは、加速度上限値ａｕを上限とし、加速度下限値ａｄを下限として制限されている。このため、ロボット３０の動作トルクが飽和したり、動作エラーが生じたりすることを抑制することができる。
【００４２】
図７は、第２比較例の速度を示すグラフである。同図に示すように、ロボット３０のｘ方向の追従速度Ｖｘは、未だコンベア速度Ｖｃを大きく超えている。さらに、追従速度Ｖｘがコンベア速度Ｖｃを超えた後にコンベア速度Ｖｃまで戻った後、追従速度Ｖｘがコンベア速度Ｖｃをアンダーシュートしている。このため、ロボット３０がワークＷを追い越したり、ロボット３０の動作が不安定になったりするおそれがある。すなわち、ロボット３０の動作が振動的になることを十分に抑制できていない。
【００４３】
そこで、本実施形態では、ロボット３０の動作をコンベア２０の動きに同期させる際に、ロボット３０のｘ方向の加速度ａｘを加速度上限値ａｕで制限すると共に、ロボット３０のｘ方向の速度Ｖｘを速度上限値Ｖｕ以下に制限する。速度上限値Ｖｕは、ロボット３０の仕様により決まる速度の上限値であり、ロボット３０が動作可能な最大速度である。詳しくは、ロボット３０のｘ方向の速度Ｖｘを速度規制値Ｖｒで制限する。図８は、本実施形態のロボット制御を示すフローチャートである。この一連の処理は、コントローラ４０により所定の制御周期ΔＴ毎に実行される。ここでは、第２比較例との相違点を中心に説明する。
【００４４】
Ｓ２０〜Ｓ２２の処理は、図４のＳ１０〜Ｓ１２の処理と同一である。
【００４５】
続いて、追従速度Ｖｘ（ｎ）の絶対値が速度規制値Ｖｒよりも大きいか否か判定する（Ｓ２３）。詳しくは、速度規制値Ｖｒは、ロボット３０の加速度下限値ａｄの絶対値に制御周期ΔＴを掛けた値と、今回の制御周期（ｎ）におけるコンベア速度Ｖｃ（ｎ）の絶対値とを足した速度に設定されている（Ｖｒ＝｜Ｖｃ（ｎ）｜＋｜ａｄ｜×ΔＴ）。なお、コンベア速度Ｖｃ（ｎ）は正負のいずれであってもよい。この判定において、追従速度Ｖｘ（ｎ）の絶対値が速度規制値Ｖｒよりも大きいと判定した場合（Ｓ２３：ＹＥＳ）、追従速度Ｖｘ（ｎ）の絶対値が速度規制値Ｖｒとなるように追従移動量Δｘ（ｎ）を調整する（Ｓ２４）。詳しくは、図９に示すように、今回の制御周期（ｎ）における追従速度Ｖｘ（ｎ）が、上記速度規制値Ｖｒとなる。このとき、追従移動量Δｘ（ｎ）は、制御周期（ｎ）までの追従速度Ｖｘの積分（面積）になる。このため、Δｘ（ｎ）＝Δｘ（ｎ−１）＋｛Ｖｘ（ｎ−１）＋Ｖｒ｝×ΔＴ／２となる。その後、Ｓ２５の処理へ進む。
【００４６】
一方、Ｓ２３の判定において、追従速度Ｖｘ（ｎ）の絶対値が速度規制値Ｖｒよりも大きくないと判定した場合（Ｓ２３：ＮＯ）、Ｓ２５の処理へ進む。すなわち、追従速度Ｖｘ（ｎ）が速度規制値Ｖｒよりも大きいことを条件として、追従速度Ｖｘ（ｎ）が速度規制値Ｖｒ（速度上限値Ｖｕ以下）となるように追従移動量Δｘ（ｎ）を調整する（Ｓ２３、Ｓ２４）。
【００４７】
Ｓ２５〜ＳＳ３０の処理は、図４のＳ１３〜Ｓ１８の処理と同一である。ただし、Ｓ２５の処理では、前回の制御周期（ｎ−１）における追従速度Ｖｘ（ｎ−１）と今回の制御周期（ｎ）における追従速度Ｖｘ（ｎ）とに基づいて、今回の制御周期（ｎ）における追従加速度ａｘ（ｎ）を算出する。この際に、今回の制御周期（ｎ）における追従速度Ｖｘ（ｎ）として、Ｓ２３及びＳ２４の処理で調整後の追従速度Ｖｘ（ｎ）、すなわちＳ２４の処理を実行した場合は速度規制値Ｖｒを用いる。
【００４８】
なお、Ｓ２０の処理が第１指令位置算出部としての処理に相当し、Ｓ２１の処理が追従移動量算出部としての処理に相当し、Ｓ２２の処理が追従速度算出部としての処理に相当し、Ｓ２３及びＳ２４の処理が第１追従移動量調整部としての処理に相当し、Ｓ２５の処理が追従加速度算出部としての処理に相当し、Ｓ２６及びＳ２７の処理が第２追従移動量調整部としての処理に相当し、Ｓ２８の処理が最終指令位置算出部としての処理に相当し、Ｓ２９の処理が動作部としての処理に相当する。
【００４９】
図１０は、本実施形態の加速度を示すグラフである。同図に示すように、ロボット３０のｘ方向の追従加速度ａｘは、加速度上限値ａｕを上限とし、加速度下限値ａｄを下限として制限されている。さらに、図６の第２比較例と比較して、追従加速度ａｘが加速度上限値ａｕになっている期間、及び追従加速度ａｘが加速度下限値ａｄになっている期間が短くなっている。このため、ロボット３０の動作トルクが飽和したり、動作エラーが生じたりすることを更に抑制することができる。
【００５０】
図１１は、本実施形態の速度を示すグラフである。同図に示すように、ロボット３０のｘ方向の追従速度Ｖｘは、コンベア速度Ｖｃを超えているものの、速度規制値Ｖｒを上限として制限されている。このため、ロボット３０のｘ方向の追従速度Ｖｘがコンベア速度Ｖｃよりも大きくなったとしても、比較的短時間でコンベア速度Ｖｃまで戻っている。さらに、図７の第２比較例と比較して、追従速度Ｖｘがコンベア速度Ｖｃを超えた後にコンベア速度Ｖｃまで戻った後、追従速度Ｖｘがコンベア速度Ｖｃをアンダーシュートしていない。このため、ロボット３０の動作が不安定になったり、ロボット３０の動作が振動的になることを抑制することができる。
【００５１】
以上詳述した本実施形態は、以下の利点を有する。
【００５２】
・コントローラ４０は、動作開始時におけるコンベア２０の指令位置Ｐｗ（０）、及び今回の制御周期（ｎ）におけるコンベア２０の指令位置Ｐｗ（ｎ）に基づいて、動作開始時から今回の制御周期（ｎ）までにコンベア２０にロボット３０を追従させる移動量である追従移動量Δｘ（ｎ）を算出する。このため、コンベア２０が加減速を行う場合であっても、制御周期ΔＴ毎にコンベア２０にロボット３０を追従させる追従移動量Δｘ（ｎ）を算出することができる。追従移動量Δｘ（ｎ）は、コンベア２０によりワークＷが搬送される場合に、動作開始時から今回の制御周期（ｎ）までにワークＷが搬送される量として、ロボット３０の移動量に加算すべき移動量である。
【００５３】
・コントローラ４０は、追従速度Ｖｘが速度規制値Ｖｒ（速度上限値）を超えたことを条件として、追従速度Ｖｘが速度規制値Ｖｒ以下となるように追従移動量Δｘ（ｎ）を調整する。このため、追従速度Ｖｘが速度規制値Ｖｒを超えていない場合は、追従移動量Δｘ（ｎ）及び追従速度Ｖｘがそのまま維持され、追従速度Ｖｘが速度規制値Ｖｒを超えた場合は、追従速度Ｖｘが速度規制値Ｖｒ以下となるように追従移動量Δｘ（ｎ）が調整される。したがって、追従速度Ｖｘが過剰に大きくなることを抑制することができ、ロボット３０がワークＷを追い越したり、ロボット３０の動作が不安定になったりすることを抑制することができる。
【００５４】
・コントローラ４０は、追従加速度ａｘが加速度上限値ａｕを超えたことを条件として、追従加速度ａｘが加速度上限値ａｕ以下となるように、第１追従移動量調整部により調整された追従移動量Δｘ（ｎ）を調整する。このため、追従加速度ａｘが加速度上限値ａｕを超えていない場合は、追従移動量Δｘ（ｎ）及び追従加速度ａｘがそのまま維持され、追従加速度ａｘが加速度上限値ａｕを超えた場合は、追従加速度ａｘが加速度上限値ａｕ以下となるように追従移動量Δｘ（ｎ）が調整される。したがって、追従加速度ａｘが過剰に大きくなることを抑制することができ、ロボット３０の動作トルクが飽和したり、動作エラーが生じたりすることを抑制することができる。
【００５５】
・追従移動量Δｘ（ｎ）が調整されることで、追従速度Ｖｘが速度規制値Ｖｒ以下とされ、且つ追従加速度ａｘが加速度上限値ａｕ以下とされている。すなわち、追従速度Ｖｘ及び追従加速度ａｘを、追従移動量Δｘ（ｎ）という共通のパラメータにより制限することができる。そして、コントローラ４０は、停止基準のロボット３０の指令位置Ｐｒ（ｎ）、及び第２追従移動量調整部により調整された追従移動量Δｘ（ｎ）に基づいて、今回の制御周期（ｎ）におけるロボット３０の最終指令位置Ｐｒｆ（ｎ）を算出する。このため、コンベア２０が停止した状態を基準とする指令位置Ｐｒ（ｎ）と調整された追従移動量Δｘ（ｎ）とに基づいて、ロボット３０の最終指令位置Ｐｒｆ（ｎ）を容易に算出することができる。そして、最終指令位置Ｐｒｆ（ｎ）に基づいてロボット３０が動作させられるため、コンベア２０が加減速を行う場合であっても、ロボット３０の動作をコンベア２０の動きに安定して同期させることができる。詳しくは、ロボット３０の速度に揺らぎが生じることによるロボット３０の手先のぶれを抑制することができる。さらに、コンベア２０が停止中、加速中、等速中、減速中のいずれのタイミングでロボット３０の動作が開始されたとしても、ロボット３０の速度の揺らぎによる手先のぶれを抑制して安定した動作をさせることができる。
【００５６】
・コントローラ４０は、追従速度Ｖｘが速度規制値Ｖｒを超えたことを条件として、追従速度Ｖｘが、ロボット３０が実現可能な最大減速度（加速度下限値ａｄ）の絶対値に制御周期ΔＴを掛けた値と今回の制御周期（ｎ）におけるコンベア速度Ｖｃ（ｎ）とを足した速度（速度規制値Ｖｒ）となるように、追従移動量Δｘ（ｎ）を調整する。このため、ロボット３０の追従速度Ｖｘがコンベア速度Ｖｃ（ｎ）を超えたとしても、次の制御周期（ｎ＋１）においてコンベア速度Ｖｃ（ｎ＋１）まで低下させ易くなる。したがって、ロボット３０の追従速度Ｖｘがコンベア速度Ｖｃ（ｎ）を大きく超えることを抑制しつつ、ロボット３０の追従速度Ｖｘをできるだけ大きくすることができる。
【００５７】
・追従加速度ａｘが加速度上限値ａｕを超えていない場合は、追従移動量Δｘ（ｎ）及び追従加速度ａｘがそのまま維持され、追従加速度ａｘが加速度上限値ａｕを超えた場合は、追従加速度ａｘが加速度上限値ａｕとなるように追従移動量Δｘ（ｎ）が調整される。したがって、コンベア２０に加速度上限値ａｕでロボット３０を追従させることができ、コンベア２０の動きにロボット３０の動作を迅速に同期させることができる。
【００５８】
・コンベア２０により不等速の速度パターンでワークＷが搬送される場合に、コンベア２０の動きにロボット３０の動作を同期させることができる。
【００５９】
なお、上記実施形態を、以下のように変更して実施することもできる。上記実施形態と同一の部分については、同一の符号を付すことにより説明を省略する。
【００６０】
・コンベア２０により等速の速度パターンでワークＷが搬送される場合も上記実施形態を実施可能であり、その場合も上記実施形態と同様の利点を有する。
【００６１】
・コントローラ４０（第２追従移動量調整部）は、追従加速度ａｘが加速度上限値ａｕを超えたことを条件として、追従加速度ａｘが加速度上限値ａｕの８割や９割の加速度となるように、追従移動量Δｘ（ｎ）を調整してもよい。
【００６２】
・速度規制値Ｖｒを、ロボット３０が実現可能な最大減速度（加速度下限値ａｄ）の絶対値に制御周期ΔＴの０．８倍や１．２倍を掛けた値と、今回の制御周期（ｎ）におけるコンベア速度Ｖｃ（ｎ）とを足した速度に設定してもよい。
【００６３】
・コントローラ４０（第１追従移動量調整部）は、追従速度Ｖｘが速度上限値Ｖｕを超えたことを条件として、追従速度Ｖｘが、速度上限値Ｖｕとなるように、追従移動量Δｘ（ｎ）を調整してもよい。こうした構成によれば、追従速度Ｖｘが速度上限値Ｖｕを超えていない場合は、追従移動量Δｘ（ｎ）及び追従速度Ｖｘ（ｎ）がそのまま維持され、追従速度Ｖｘ（ｎ）が速度上限値Ｖｕを超えた場合は、追従速度Ｖｘ（ｎ）が速度上限値Ｖｕとなるように追従移動量Δｘ（ｎ）が調整される。したがって、コンベア２０に速度上限値Ｖｕでロボット３０を追従させることができ、コンベア２０の動きにロボット３０の動作を迅速に同期させることができる。また、コントローラ４０（第１追従移動量調整部）は、追従速度Ｖｘが速度上限値Ｖｕに係数ｋ（0＜ｋ＜１）を掛けた速度Ｖｋを超えたことを条件として、追従速度Ｖｘが、速度Ｖｋとなるように、追従移動量Δｘ（ｎ）を調整することもできる。
【符号の説明】
【００６４】
１０…ロボットシステム、２０…コンベア（搬送装置）、３０…ロボット、４０…コントローラ（制御装置）。
【図１】
2019098408.tif 000003
【図２】
2019098408.tif 000004
【図３】
2019098408.tif 000005
【図４】
2019098408.tif 000006
【図５】
2019098408.tif 000007
【図６】
2019098408.tif 000008
【図７】
2019098408.tif 000009
【図８】
2019098408.tif 000010
【図９】
2019098408.tif 000011
【図１０】
2019098408.tif 000012
【図１１】
2019098408.tif 000013