(57)【特許請求の範囲】
【請求項１】
モータにより駆動される複数の軸を有するロボットの手先を現在位置から目標位置までＰＴＰ動作により移動させる際、各軸に対する速度指令をそれぞれ演算する演算処理を実行し、それら演算された各速度指令を実行するタイミングを決定するタイミング決定処理を実行するロボットの制御方法であって、
前記演算処理は、各軸単位での動作時間が最も短くなるように各軸を駆動するための速度指令を演算するステップを含み、
前記タイミング決定処理は、
前記演算された全ての速度指令における動作開始時点が全体の動作開始時点に一致するように前記全ての速度指令を実行するタイミングを仮に決定する第１ステップと、
前記演算された各速度指令のうち、軸の動作時間が最も長くなる速度指令を基準パターンに設定し、前記基準パターンを実行するタイミングを前記仮に決定したタイミングに決定する第２ステップと、
前記演算された各速度指令のうち、前記基準パターンの次に軸の動作時間が長くなる速度指令を比較パターンに設定し、前記比較パターンを実行するタイミングを前記仮に決定したタイミングに決定する第３ステップと、
全体の動作開始時点から前記基準パターンにおける減速開始時点までの第１の時間と、全体の動作開始時点から前記比較パターンにおける動作終了時点までの第２の時間とを比較する第４ステップと、
前記第４ステップにおける比較の結果、前記第１の時間が前記第２の時間より短い場合、前記比較パターンを次の基準パターンに設定するとともに、前記比較パターンの次に軸の動作時間が長くなる速度指令を次の比較パターンに設定し、前記次の比較パターンを実行するタイミングを前記仮に決定したタイミングに決定した上で前記第４ステップに移行する第５ステップと、
前記第４ステップにおける比較の結果、前記第１の時間が前記第２の時間より長い場合、前記第１の時間から前記第２の時間を減算して得られる減速余白期間以下の減速時間を持つという条件を満たす速度指令を、未だタイミングが決定されていない速度指令の中から探索する第６ステップと、
前記第６ステップにおける探索の結果、前記条件を満たす速度指令が存在しない場合、前記比較パターンを次の基準パターンに設定するとともに、前記比較パターンの次に軸の動作時間が長くなる速度指令を次の比較パターンに設定し、前記次の比較パターンを実行するタイミングを前記仮に決定したタイミングに決定した上で前記第４ステップに移行する第７ステップと、
前記第６ステップにおける探索の結果、前記条件を満たす速度指令が存在する場合、その速度指令のうちいずれか一つを挿入パターンに設定し、前記挿入パターンにおける減速期間が前記減速余白期間内に収まるように前記挿入パターンを実行するタイミングを決定する第８ステップと、
前記第８ステップの実行後、前記比較パターンを次の基準パターンに設定するとともに、未だタイミングが決定されていない速度指令のうち、前記比較パターンの次に軸の動作時間が長くなる速度指令を次の比較パターンに設定し、前記次の比較パターンを実行するタイミングを前記仮に決定したタイミングに決定した上で前記第４ステップに移行する第９ステップと、
を含み、
前記第５ステップ、前記第７ステップまたは前記第９ステップにおいて、次の比較パターンの設定対象となる速度指令が存在しなくなった時点で前記各速度指令を実行するタイミングを確定するロボットの制御方法。
【請求項２】
前記第８ステップにおいて、設定された前記挿入パターンにおける減速開始時点が前記比較パターンにおける動作終了時点に一致するように前記挿入パターンを実行するタイミングを決定し、
前記第８ステップの実行後、前記減速余白期間から前記タイミングが決定された挿入パターンの減速時間を減算した時間を新たな減速余白期間とし、その新たな減速余白期間以下の減速時間を持つという条件を満たす速度指令を、未だタイミングが決定されていない速度指令の中から探索する第１０ステップと、
前記第１０ステップにおける探索の結果、前記条件を満たす速度指令が存在する場合、その速度指令のうちいずれか一つを次の挿入パターンに設定し、前記次の挿入パターンにおける減速開始時点がその前にタイミングが決定された挿入パターンにおける動作終了時点に一致するように前記次の挿入パターンを実行するタイミングを決定した上で前記第１０ステップに移行する第１１ステップと、
を含み、
前記第１０ステップにおける探索の結果、前記条件を満たす速度指令が存在しない場合、前記第９ステップに移行することを特徴とする請求項１に記載のロボットの制御方法。
【請求項３】
前記減速余白期間における前記挿入パターンの減速期間が占める割合が最も高くなるように、前記挿入パターンの設定を行うことを特徴とする請求項１または２に記載のロボットの制御方法。
【請求項４】
モータにより駆動される複数の軸を有するロボットの手先を現在位置から目標位置までＰＴＰ動作により移動させる際、各軸に対する速度指令をそれぞれ演算する演算処理手段と、それら演算された各速度指令を実行するタイミングを決定するタイミング決定処理手段とを有するロボットの制御装置であって、
前記演算処理手段は、各軸単位での動作時間が最も短くなるように各軸を駆動するための速度指令を演算し、
前記タイミング決定処理手段は、
前記演算された全ての速度指令における動作開始時点が全体の動作開始時点に一致するように前記全ての速度指令を実行するタイミングを仮に決定し、
前記演算された各速度指令のうち、軸の動作時間が最も長くなる速度指令を基準パターンに設定し、前記基準パターンを実行するタイミングを前記仮に決定したタイミングに決定し、
前記演算された各速度指令のうち、前記基準パターンの次に軸の動作時間が長くなる速度指令を比較パターンに設定し、前記比較パターンを実行するタイミングを前記仮に決定したタイミングに決定し、
全体の動作開始時点から前記基準パターンにおける減速開始時点までの第１の時間と、全体の動作開始時点から前記比較パターンにおける動作終了時点までの第２の時間とを比較し、
前記第１および第２の時間の比較の結果、前記第１の時間が前記第２の時間より短い場合、前記比較パターンを次の基準パターンに設定するとともに、前記比較パターンの次に軸の動作時間が長くなる速度指令を次の比較パターンに設定し、前記次の比較パターンを実行するタイミングを前記仮に決定したタイミングに決定した上で前記第１および第２の時間の比較を再度実行し、
前記第１および第２の時間の比較の結果、前記第１の時間が前記第２の時間より長い場合、前記第１の時間から前記第２の時間を減算して得られる減速余白期間以下の減速時間を持つという条件を満たす速度指令を、未だタイミングが決定されていない速度指令の中から探索し、
前記条件を満たす速度指令を探索した結果、前記条件を満たす速度指令が存在しない場合、前記比較パターンを次の基準パターンに設定するとともに、前記比較パターンの次に軸の動作時間が長くなる速度指令を次の比較パターンに設定し、前記次の比較パターンを実行するタイミングを前記仮に決定したタイミングに決定した上で前記第１および第２の時間の比較を再度実行し、
前記条件を満たす速度指令を探索した結果、前記条件を満たす速度指令が存在する場合、その速度指令のうちいずれか一つを挿入パターンに設定し、前記挿入パターンにおける減速期間が前記減速余白期間内に収まるように前記挿入パターンを実行するタイミングを決定し、
前記挿入パターンのタイミングを決定した後、前記比較パターンを次の基準パターンに設定するとともに、未だタイミングが決定されていない速度指令のうち、前記比較パターンの次に軸の動作時間が長くなる速度指令を次の比較パターンに設定し、前記次の比較パターンを実行するタイミングを前記仮に決定したタイミングに決定した上で前記第１および第２の時間の比較を再度実行し、
前記第１および第２の時間の比較を再度実行するにあたって、次の比較パターンの設定対象となる速度指令が存在しなくなった時点で前記各速度指令を実行するタイミングを確定するロボットの制御装置。
【請求項５】
前記タイミング決定処理手段は、
設定された前記挿入パターンにおける減速開始時点が前記比較パターンにおける動作終了時点に一致するように前記挿入パターンを実行するタイミングを決定し、
前記挿入パターンのタイミングを決定した後、前記減速余白期間から前記タイミングが決定された挿入パターンの減速時間を減算した時間を新たな減速余白期間とし、その新たな減速余白期間以下の減速時間を持つという条件を満たす速度指令を、未だタイミングが決定されていない速度指令の中から探索し、
前記条件を満たす速度指令を探索した結果、前記条件を満たす速度指令が存在する場合、その速度指令のうちいずれか一つを次の挿入パターンに設定し、前記次の挿入パターンにおける減速開始時点がその前にタイミングが決定された挿入パターンにおける動作終了時点に一致するように前記次の挿入パターンを実行するタイミングを決定した上で前記条件を満たす速度指令の探索を再度実行し、
前記条件を満たす速度指令の探索を実行した結果、前記条件を満たす速度指令が存在しない場合、前記比較パターンを次の基準パターンに設定するとともに、未だタイミングが決定されていない速度指令のうち、前記比較パターンの次に軸の動作時間が長くなる速度指令を次の比較パターンに設定し、前記次の比較パターンを実行するタイミングを前記仮に決定したタイミングに決定した上で前記第１および第２の時間の比較を再度実行することを特徴とする請求項４に記載のロボットの制御装置。
【請求項６】
前記タイミング決定処理手段は、
前記減速余白期間における前記挿入パターンの減速期間が占める割合が最も高くなるように、前記挿入パターンの設定を行うことを特徴とする請求項４または５に記載のロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータにより駆動される複数の軸を有するロボットの手先を現在位置から目標位置までＰＴＰ動作により移動させる際におけるロボットの制御方法およびロボットの制御装置に関する。
【背景技術】
【０００２】
ロボットの各関節（各軸）は、それぞれモータにより駆動されるようになっており、これらモータは、コントローラに内蔵されるモータアンプにより駆動される。モータアンプは、例えばインバータ回路を主体として構成されており、電源回路から一対の電源線を介して与えられる直流電圧（バス電圧）を所定の周波数を持つ交流電圧に変換してモータへの電力供給を行う。
【０００３】
このような構成において、モータを減速動作させる際にはモータ側からモータアンプ側にエネルギーが回生され、これに伴いバス電圧が上昇する。そのため、コントローラには、電源線に接続される各回路素子（インバータ回路のスイッチング素子、電源線間に接続されるコンデンサなど）の定格を超えてバス電圧が上昇しないように、上記回生されたエネルギー（回生エネルギー）を熱エネルギーに変換して放出する回生消費回路が設けられている。
【０００４】
回生消費回路では、電源線間に直列に設けられた回生抵抗に回生電流を流すことで、回生エネルギーを熱エネルギーに変換している。つまり、回生エネルギーは、有効利用されることなく、回生消費回路により消費されていた。特に、ロボットの手先を現在位置から目標位置までＰＴＰ（Point to Point）動作により移動させるように制御する際には、上記回生エネルギーによるロスが顕著に表れる。
【０００５】
図１０は、６軸の垂直多関節型ロボットをＰＴＰ制御する際における各軸を駆動するための速度指令およびバス電圧の一例を示している。ＰＴＰ制御では、現在位置から目標位置までの間におけるロボットの姿勢などについては制限されない。そのため、通常は、動作時間が最も長くなる軸（図１０では第１軸Ｊ１）の速度指令に対して加速期間や減速期間を合わせるように他の軸（図１０では第２軸Ｊ２〜第６軸Ｊ６）に対する速度指令が求められる。すなわち、一般的なＰＴＰ制御では、各軸の減速期間が重なるため、その減速期間にモータ側から回生される回生エネルギーが大きくなる。そのため、減速期間におけるバス電圧の上昇量も大きくなり、回生消費回路において熱として消費されるエネルギーも大きくなってしまう。
【０００６】
一方、特許文献１には、回生時にバッテリおよびインバータ間の電力供給経路に直列に介在するスイッチをオンすることでモータ側から回生するエネルギーをバッテリにて回収する構成が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２２１５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ロボットのシステムにおいて、各軸を駆動するモータに電力を供給するための電源線間には、バッテリと比べて容量の小さいコンデンサが接続されるのが一般的である。つまり、ロボットのシステムにおいては、そもそもバッテリを設けること自体が想定されていない。そのため、バッテリに回生エネルギーを回収するという特許文献１に記載された従来技術をロボットのシステムに適用することはできない。
【０００９】
一方、各軸の動作時間を引き延ばせば、減速期間におけるバス電圧の上昇量を比較的低く抑えることが可能となり、回生消費回路において熱として消費される無駄なエネルギーは低減される。しかし、本来、ロボットが工場などにおいて用いられる意義は、早く且つ正確に所定の作業を繰り返し実行するところにある。従って、消費エネルギーの低減を重視して動作時間をむやみに長くするということは、上記したロボットが用いられる意義に反するため、好ましい解決手法とは言えない。
【００１０】
本発明は上記事情に鑑みてなされたものであり、その目的は、動作時間を引き延ばすことなく、ＰＴＰ動作を行う際に消費するエネルギーを低減することができるロボットの制御方法およびロボットの制御装置を提供することにある。
【課題を解決するための手段】
【００１１】
請求項１または４に記載の手段によれば、複数の軸を有するロボットの手先を現在位置から目標位置までＰＴＰ動作により移動させる際、各軸に対する速度指令をそれぞれ演算する演算処理を実行し、それら演算された各速度指令のタイミングを決定するタイミング決定処理を実行する。演算処理では、各軸単位での動作時間が最も短くなるように各軸を駆動するための速度指令が演算される。通常、ＰＴＰ動作における速度指令は、加速期間から始まって減速期間で終わるようになっている。なお、加速期間および減速期間の間に等速期間が含まれる場合もある。すなわち、速度指令は、いわゆる三角形状または台形状のパターンになる。
【００１２】
一般に、ＰＴＰ動作を行うロボットの制御においては、動作時間が最も長くなる軸の速度指令に対して加速期間や減速期間を合わせるように他の軸に対する速度指令が求められる。すなわち、一般的なＰＴＰ動作では、各軸が同時に動作を開始して同時に動作を終了するような速度指令が求められる。これに対し、本手段の演算処理では、例えばロボットの仕様上あるいは構造上における制限範囲内の最高加速度でもって各軸を駆動するための速度指令が求められる。また、通常、上記最高加速度や移動量（回転量）は、軸ごとに異なる。従って、本手段の演算処理で求められる各速度指令は、基本的には互いに動作時間が異なることになる。そのため、後述するタイミング決定処理において、各速度指令を実行するタイミングを、全体の動作時間の範囲内で適宜設定することが可能となる。
【００１３】
タイミング決定処理では、演算された全ての速度指令における動作開始時点が全体の動作開始時点に一致するように全ての速度指令を実行するタイミングが仮に決定される。なお、全体の動作開始時点は、動作時間が最も長くなる軸の速度指令の開始時点となる。そして、演算された各速度指令のうち、軸の動作時間が最も長くなる速度指令が基準パターンに設定され、また、基準パターンの次に軸の動作時間が長くなる速度指令が比較パターンに設定される。それら基準パターンおよび比較パターンを実行するタイミングは、それぞれ仮に決定されたタイミングに決定される。
【００１４】
そして、全体の動作開始時点から基準パターンにおける減速開始時点までの第１の時間と、全体の動作開始時点から比較パターンにおける動作終了時点（減速終了時点）までの第２の時間（比較パターン単体での動作時間に相当）とが比較される。すなわち、比較パターンに対応する軸の減速が終了する時点から基準パターンに対応する軸の減速が開始する時点までの間に、減速動作が行われない期間が存在するか否かが判断される。
【００１５】
このような比較の結果、第１の時間が第２の時間より短い場合、つまり減速動作が行われない期間が存在しない場合には、比較パターンが次の基準パターンに設定されるとともに、比較パターンの次に軸の動作時間が長くなる速度指令が次の比較パターンに設定される。上記次の比較パターンを実行するタイミングは仮に決定されたタイミングに決定される。このように次の基準パターンおよび次の比較パターンが設定された上で、第１および第２の時間の比較が再度実行される。
【００１６】
一方、上記比較の結果、第１の時間が第２の時間より長い場合、つまり減速動作が行われない期間が存在する場合には、第１の時間から第２の時間を減算して得られる減速余白期間以下の減速時間を持つという条件を満たす速度指令を、未だタイミングが決定されていない速度指令の中から探索する。すなわち、タイミングが仮に決定された状態の速度指令の中から、減速余白期間内に減速期間が収まる速度指令を探索する。
【００１７】
このような探索の結果、上記条件を満たす速度指令が存在しない場合、比較パターンが次の基準パターンに設定されるとともに、比較パターンの次に軸の動作時間が長くなる速度指令が次の比較パターンに設定される。上記次の比較パターンを実行するタイミングは仮に決定されたタイミングに決定される。このように次の基準パターンおよび次の比較パターンが設定された上で、第１および第２の時間の比較が再度実行される。
【００１８】
一方、上記探索の結果、上記条件を満たす速度指令が存在する場合、その速度指令のうちいずれか一つが挿入パターンに設定され、その挿入パターンにおける減速期間が減速余白期間内に収まるように挿入パターンを実行するタイミングが決定される。このようにすれば、比較パターンに対応する軸の減速が終了してから基準パターンに対応する軸の減速が開始されるまでに挿入パターンに対応する軸の減速が行われることになる。すなわち、基準パターン、比較パターンおよび挿入パターンの減速期間が互いに重ならなくなる。
【００１９】
挿入パターンを実行するタイミングが決定された後、比較パターンが次の基準パターンに設定されるとともに、未だタイミングが決定されていない速度指令のうち、比較パターンの次に動作時間が長くなる速度指令が次の比較パターンに設定される。上記次の比較パターンを実行するタイミングは仮に決定されたタイミングに決定される。このように次の基準パターンおよび次の比較パターンが設定された上で、第１および第２の時間の比較が再度実行される。
【００２０】
上記した第１および第２の時間の比較は、次の比較パターンの設定対象となる速度指令が存在しなくなるまで繰り返し実行される。そして、次の比較パターンの設定対象となる速度指令が存在しなくなった時点で各速度指令を実行するタイミングが確定される。すなわち、動作時間が最も長い速度指令から順に、その次に動作時間の長い速度指令との間において互いに減速動作が行われない減速余白期間が存在するか否かが判断されていく。そして、減速余白期間が存在する場合且つその減速余白期間内に収まる減速期間を持つ速度指令が存在する場合には、その速度指令における減速期間が減速余白期間内に収まるように、その速度指令を実行するタイミングが決定されていく。
【００２１】
このようなタイミング決定処理により、全体の動作時間を従来と同等にした上で、各速度指令における減速期間が重複する期間が極力少なくなり、減速動作のタイミングが分散化される。減速動作のタイミングが分散化されれば、各減速期間においてモータから回生される回生エネルギーによるバス電圧の上昇が小さくなり、その分だけ、例えば回生抵抗などを用いて熱として消費しなければならないエネルギーが小さくなる。ロボットを動作させるために入力されるエネルギー（電力）は、実際に各軸を駆動するために使用されるエネルギーと、減速動作時に回生抵抗などで熱として消費されるエネルギーとの和である。従って、熱として消費されるエネルギーが減少すれば、その分だけ入力するエネルギーが少なくて済む。つまり、本手段によれば、動作時間を引き延ばすことなく、ロボットをＰＴＰ動作させるように制御する際に消費するエネルギーを低減することができる。さらに、本手段では、ロボットの制御内容（ソフトウェア）に変更を加えることにより、上記作用および効果が得られる。つまり、ハードウェアの追加を伴うことなく、ＰＴＰ動作を行う際における省エネルギー化を図ることが可能となる。
【００２２】
また、上記したように挿入パターンを実行するタイミングを決定することにより、挿入パターンにおける加速期間から等速期間が比較パターンにおける減速期間に重なることになる。挿入パターンの加速期間から等速期間および比較パターンの減速期間が重複すれば、比較パターンに対応する軸の減速動作において回生されるエネルギーが、挿入パターンに対応する軸の等速動作や加速動作において使用される。回生エネルギーが他の動作において有効利用されれば、その分だけ回生抵抗などを用いて熱として消費されるエネルギーは小さくなる。さらに、回生エネルギーが加速動作に利用される場合には、例えば昇圧回路などを設けることなく、その加速動作に必要となるバス電圧が確保可能となり、加速動作の追従性を高められるという効果も得られる。
【００２３】
上記各手段では、減速余白期間が存在し且つその減速余白期間以下の減速時間を持つ速度指令が存在する場合、その速度指令のうちいずれか一つを挿入パターンとして設定し、その挿入パターンの減速期間が減速余白期間内に収まるように挿入パターンを実行するタイミングを設定していた。そのため、減速余白期間のうち挿入パターンの減速期間と重複しない残りの減速動作が実行されない期間について、有効利用できる余地がある。このような期間を有効利用するためには、請求項２または５に記載の手段を採用するとよい。
【００２４】
請求項２または５に記載の手段によれば、設定された挿入パターンにおける減速開始時点が比較パターンにおける動作終了時点に一致するように挿入パターンを実行するタイミングが決定される。このようにすれば、挿入パターンのタイミングが決定された後、減速余白期間のうち挿入パターンの減速終了時点から基準パターンの減速開始時点までの連続した期間が、減速動作が実行されない期間となる。
【００２５】
このように挿入パターンのタイミングが決定された後、減速余白期間からタイミングが決定された挿入パターンの減速時間を減算した時間を新たな減速余白期間とし、その新たな減速余白期間以下の減速時間を持つという条件を満たす速度指令を、未だタイミングが決定されていない速度指令の中から探索する。
【００２６】
このような探索の結果、上記条件を満たす速度指令が存在する場合、その速度指令のうちいずれか一つが次の挿入パターンに設定され、上記次の挿入パターンにおける減速開始時点がその前にタイミングが決定された挿入パターンにおける動作終了時点に一致するように上記次の挿入パターンのタイミングが決定される。このようにすれば、次の挿入パターンのタイミング決定された後、新たな減速余白期間のうち次の挿入パターンの減速終了時点から基準パターンの減速開始時点までの連続した期間が、減速動作が実行されない期間となる。このように次の挿入パターンのタイミングが決定された上で、上記条件を満たす速度指令の探索が再度実行される。
【００２７】
一方、上記探索の結果、上記条件を満たす速度指令が存在しない場合、比較パターンが次の基準パターンに設定されるとともに、未だタイミングが決定されていない速度指令のうち、比較パターンの次に軸の動作時間が長くなる速度指令が次の比較パターンに設定される。このように次の基準パターンおよび次の比較パターンが設定された上で、第１および第２の時間の比較が再度実行される。
【００２８】
このようにすれば、減速余白期間内に減速期間が収まる速度指令が複数存在する場合には、各速度指令の減速期間が互いに重ならないようにした上で、上記減速余白期間内に収まるように、各速度指令を実行するタイミングを設定することができる。すなわち、減速動作が実行されない減速余白期間内に、出来るだけ他の速度指令の減速期間が収まるようにタイミング設定を行うことができる。従って、本手段によれば、各速度指令における減速期間が重複する期間がさらに低減可能であり、ロボットをＰＴＰ動作制御する際における省エネルギー化の効果をさらに高めることができる。
【００２９】
請求項３または６に記載の手段によれば、挿入パターンの減速期間が減速余白期間において占める割合が最も高くなるように、挿入パターンの設定が行われる。このような本手段が請求項１または４に記載の手段に適用されると、減速余白期間内に減速期間が収まる速度指令が複数存在する場合、それら速度指令のうち最も減速期間が長い速度指令が挿入パターンとして設定されることになる。また、本手段が請求項２または５に記載の手段に適用されると、減速余白期間内に減速期間が収まる速度指令が複数存在する場合、各挿入パターンの減速期間の合計が減速余白期間において占める割合が最も高くなるような組み合わせでもって挿入パターンの設定が行われる。すなわち、減速動作が実行されない減速余白期間内に、他の速度指令の減速期間が可能な限り収まるようにタイミング設定を行うことができる。従って、本手段によれば、各速度指令における減速期間が重複する期間を一層低減することができ、ロボットをＰＴＰ動作制御する際における省エネルギー化の効果を一層高めることができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態を示すものであり、ロボットシステムの概略構成図
【図２】ロボットシステムの電気構成図
【図３】ＰＴＰ制御における速度指令の生成方法の概要を示すフローチャート
【図４】演算処理の内容を示すフローチャート
【図５】タイミング決定処理の内容を示すフローチャート
【図６】演算処理により演算した各軸速度指令を示す図
【図７】タイミング決定処理の途中における各軸速度指令を示す図
【図８】図７相当図
【図９】タイミング決定処理実行後の各軸速度指令およびバス電圧を示す図
【図１０】従来技術を示す図９相当図
【発明を実施するための形態】
【００３１】
以下、本発明の一実施形態について図１〜図９を参照しながら説明する。
図１は、一般的な産業用ロボットのシステム構成を示している。図１に示すロボットシステム１は、ロボット２と、ロボット２を制御するコントローラ３（ロボットの制御装置に相当）と、コントローラ３に接続されたティーチングペンダント４とから構成されている。
【００３２】
ロボット２は、例えば６軸の垂直多関節型ロボットとして構成されている。ロボット２は、ベース５と、ベース５に水平方向に回転可能に支持されたショルダ部６と、ショルダ部６に上下方向に回転可能に支持された下アーム７と、下アーム７に上下方向に回転可能に支持された第１の上アーム８と、第１の上アーム８に捻り回転可能に支持された第２の上アーム９と、第２の上アーム９に上下方向に回転可能に支持された手首１０と、手首１０に捻り回転可能に支持されたフランジ１１とから構成されている。
【００３３】
ベース５、ショルダ部６、下アーム７、第１の上アーム８、第２の上アーム９、手首１０およびフランジ１１は、ロボット２のアームとして機能し、アーム先端であるフランジ１１には、図示はしないが、エンドエフェクタ（手先）が取り付けられる。ベース５、ショルダ部６、下アーム７、第１の上アーム８、第２の上アーム９、手首１０およびフランジ１１は、ロボット２のアームとして機能する。ロボット２の各アーム（複数の軸）はそれぞれに対応して設けられるモータ（図２に符号Ｍを付して示す）により駆動される。各モータの近傍には、それぞれの回転軸の回転位置を検出するための位置検出器（図示せず）が設けられている。
【００３４】
ティーチングペンダント４は、例えば使用者が携帯あるいは手に所持して操作可能な程度の大きさで、例えば薄型の略矩形箱状に形成されている。ティーチングペンダント４には、各種のキースイッチが設けられており、使用者は、それらキースイッチにより種々の入力操作を行う。ティーチングペンダント４は、ケーブルを経由してコントローラ３に接続され、通信インターフェイスを経由してコントローラ３との間で高速のデータ転送を実行するようになっており、キースイッチの操作により入力された操作信号等の情報はティーチングペンダント４からコントローラ３へ送信される。
【００３５】
図２は、ロボットシステム１の電気構成を概略的に示すブロック図である。ロボット２には、各軸をそれぞれ駆動するための複数のモータＭ（図２では１つのみ示す）が設けられている。モータＭは、例えばブラシレスＤＣモータである。コントローラ３には、交流電源２１より供給される交流を整流および平滑して出力する直流電源回路２２、回生消費回路２３、モータＭを駆動するインバータ装置２４、電流検出部２５、位置検出部２６およびこれら各装置の制御などを行う制御部２７が設けられている。
【００３６】
直流電源回路２２は、整流回路２８および平滑用のコンデンサ２９により構成されている。整流回路２８は、ダイオードをブリッジの形態に接続してなる周知構成のものである。例えば３相２００Ｖの交流電源２１の各相出力は、整流回路２８の交流入力端子に接続されている。整流回路２８の直流出力端子は、それぞれ直流電源線３０、３１に接続されている。これら直流電源線３０、３１間にはコンデンサ２９が接続されている。
【００３７】
回生消費回路２３は、直流電源線３０、３１間に回生抵抗３２および回生スイッチ３３の直列回路が接続された構成となっている。回生スイッチ３３のオン、オフは、制御部２７によって制御される。制御部２７は、直流電源線３０、３１間のバス電圧Ｖｄ（直流電圧）の値を検出する機能を備えている。制御部２７は、バス電圧Ｖｄの検出値が、回生消費電圧値Ｖthr未満であるときには、回生スイッチ３３をオフし、回生消費電圧値Ｖthr以上であるときには回生スイッチ３３をオンする。このような構成により、減速動作時にモータＭから回生されるエネルギー（回生エネルギー）に起因してバス電圧Ｖｄが上昇して回生消費電圧値Ｖthr以上になった場合には回生抵抗３２に電流が流れる。これにより、回生エネルギーが熱エネルギーとして放出され、バス電圧Ｖｄが回生消費電圧値Ｖthr未満となるようにその電圧上昇が抑えられる。
【００３８】
回生消費電圧値Ｖthrは、バス電圧Ｖｄが直流電源線３０、３１に接続される各回路素子（インバータ装置２４のスイッチング素子、直流電源回路２２のコンデンサ２９など）の定格を超えて上昇しないような値に設定すればよい。また、本実施形態では、回生スイッチ３３は、例えばトランジスタなどの半導体スイッチング素子により構成されている。なお、回生スイッチ３３は、例えばリレーなどの機械式のスイッチであってもよい。
【００３９】
インバータ装置２４は、直流電源線３０、３１間に６つのスイッチング素子例えばＩＧＢＴ（図２には２つのみ示す）を三相フルブリッジ接続して構成されたインバータ主回路と、その駆動回路とを６組備えている（図２には１組のみ示す）。ＩＧＢＴのコレクタ・エミッタ間には還流ダイオードが接続されている。また、ＩＧＢＴのゲートには、駆動回路からゲート信号が与えられている。駆動回路は、制御部２７から与えられる指令信号（通電指令Ｓｃ）に基づいてパルス幅変調されたゲート信号を出力して各ＩＧＢＴを駆動する。
【００４０】
制御部２７（演算処理手段およびタイミング決定処理手段に相当）は、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏなどを備えたマイクロコンピュータを主体として構成されている。電流検出部２５は、モータＭに流れる電流を検出する電流検出器（図示せず）からの検出信号を制御部２７に入力可能なデータに変換して出力する。位置検出部２６は、モータＭの回転位置を検出する位置検出器（図示せず）からの検出信号を制御部２７に入力可能なデータに変換して出力する。制御部２７は、電流検出部２５から出力されるデータを元にモータＭに流れる電流の値を取得するとともに、位置検出部２６から出力されるデータを元にモータＭの回転位置（回転角度）および回転速度を取得する。
【００４１】
一般に、産業用のロボットは、予めティーチングなどを実施することにより作成される所定の動作プログラムに従って動作するようになっている。図示しない上位制御部は、その動作プログラムを解釈し、ロボット２に動作プログラムに従った動作を行わせるように各モータＭを制御するための指令を制御部２７に出力する。制御部２７は、上位制御部から与えられる指令と、取得した電流値、回転位置および回転速度とに基づいて、インバータ装置２４によるモータＭの駆動をフィードバック制御してロボット２のアームの動作制御を行う。
【００４２】
上位制御部から与えられる指令には、手先の目標位置を示す位置指令に加え、現在位置から目標位置までの移動経路に関する制御の方法を指定する内容などが含まれる。移動経路に関する制御の方法としては、ＣＰ（Continuous Path）制御、ＰＴＰ（Point to Point）制御などが挙げられる。以下では、手先を現在位置から目標位置までＰＴＰ動作により移動する指令が与えられた際における制御部２７による制御について、図３〜図９も参照して説明する。
【００４３】
図３は、ＰＴＰ制御における速度指令の生成方法の概要を示すフローチャートである。制御部２７は、ロボット２の手先を現在位置から所定の目標位置までＰＴＰ動作により移動するという指令が与えられると、図３に示す内容の処理を実行する。すなわち、最初に、各軸に対する速度指令をそれぞれ演算する演算処理が実行される（ステップＡ１）。図４は、演算処理の内容を示すフローチャートである。図４に示すように、演算処理では、各軸単位での動作時間が最も短くなるように、各軸を駆動するための速度指令が演算される（ステップＢ１）。通常、ＰＴＰ動作における速度指令は、加速期間から始まって減速期間で終わる。また、加速期間および減速期間の間に等速期間が含まれる場合もある。すなわち、速度指令は、いわゆる三角形状または台形状のパターンになる（図６〜図９参照）。
【００４４】
ステップＢ１では、例えばロボット２の仕様上あるいは構造上における制限範囲内の最高加速度でもって各軸を駆動するための速度指令が求められる。そして、各軸における最高加速度や移動量（回転量）は、軸ごとに異なるのが一般的である。従って、ステップＢ１で求められる各軸の速度指令は、基本的には互いに動作時間が異なる。そのため、後述するタイミング決定処理において、各速度指令を実行するタイミングを、全体の動作時間の範囲内で適宜設定することが可能となっている。なお、全体の動作時間は、最も動作時間が長い軸の動作時間に等しくなる。
【００４５】
ステップＢ２では、ステップＢ１で求めた各速度指令を、軸の動作時間が長くなるものから順に並べ替える。その際、軸の動作時間が最も長くなる速度指令をｎ（１）とし、軸の動作時間が二番目に長くなる速度指令をｎ（２）とし、軸の動作時間が三番目に長くなる速度指令をｎ（３）とし、軸の動作時間が四番目に長くなる速度指令をｎ（４）とし、軸の動作時間が五番目に長くなる速度指令をｎ（５）とし、軸の動作時間が最も短くなる速度指令をｎ（６）とする。なお、本実施形態のように６軸ロボットであれば上記したとおりになるが、４軸ロボットであれば、求められる速度指令はｎ（１）〜ｎ（４）までとなる。
【００４６】
このような演算処理により各速度指令が求められた後、各速度指令を実行するタイミングを決定するタイミング決定処理が実行される（図３のステップＡ２）。図５は、タイミング決定処理の内容を示すフローチャートである。タイミング決定処理が開始されると、本処理内で用いられる各変数（cnt1、Ｘ）の初期値の設定が行われる（ステップＣ１）。変数cnt1の初期値は、１に設定される。変数Ｘの初期値は、ロボット２の総軸数から１を減算した値に設定される。本実施形態では、ロボット２の総軸数が６である（６軸ロボットである）ため、変数Ｘの初期値は、５（＝６−１）に設定される。また、このとき、ステップＡ１の演算処理により求められた全ての速度指令を実行するタイミングは、図６に示すように仮に決定される。すなわち、全ての速度指令における動作開始時点が速度指令ｎ（１）の動作開始時点に一致するように、各速度指令を実行するタイミングが仮に決定される。この速度指令ｎ（１）の動作開始時点が、全体の動作開始時点Ｔ０に相当する。
【００４７】
ステップＣ２では、変数cnt1が変数Ｘより大きいか否かが判断される。各変数の初期値は上述したとおりに設定されるため、総軸数が２以上のロボット（複数の軸を有するロボット）であれば、ステップＣ２が最初に実行される際には必ず「ＮＯ」となる。ステップＣ２で「ＮＯ」の場合、ステップＣ３に進む。ステップＣ３では、速度指令ｎ（cnt1）が基準パターンＪｓに設定される。すなわち、軸の動作時間が最も長くなる速度指令ｎ（１）が基準パターンＪｓに設定される。また、ステップＣ３では、速度指令ｎ（cnt1+1）が比較パターンＪｃに設定される。すなわち、軸の動作時間が二番目に長くなる速度指令ｎ（２）が比較パターンＪｃに設定される。そして、基準パターンＪｓおよび比較パターンＪｃを実行するタイミングは、仮に決定されたタイミング、つまり、動作開始時点が全体の動作開始時点Ｔ０に一致するように設定されたタイミングに、決定（本決定）される。
【００４８】
ステップＣ４では、基準パターンＪｓに対応する軸の減速が開始される時点Ｔｄと、比較パターンＪｃに対応する軸の動作（減速）が終了する時点Ｔｆとのいずれが、全体の動作開始時点Ｔ０を基準として遅いかが判断される。すなわち、ステップＣ４では、全体の動作開始時点Ｔ０から時点Ｔｄまでの時間（第１の時間に相当）と、全体の動作開始時点Ｔ０から時点Ｔｆまでの時間（第２の時間に相当）とが比較される。この場合、図７に示すとおり、時点Ｔｄより時点Ｔｆのほうが遅い（ステップＣ４で「ＮＯ」である）ため、基準パターンＪｓおよび比較パターンＪｃの各減速期間が重複する。すなわち、時点Ｔｄ〜時点Ｔｆの間に、減速動作が行われない期間が存在しない。このような場合、ステップＣ５に進む。
【００４９】
ステップＣ５では、変数cnt1がインクリメントされる（cnt1=cnt1+1）。ステップＣ５の実行後はステップＣ２に戻る。このとき、変数cnt1の値は２であるため、「ＮＯ」となり、ステップＣ３に進む。そのステップＣ３では、その時点における比較パターンＪｃである速度指令ｎ（２）が次の基準パターンＪｓに設定されるとともに、速度指令ｎ（２）の次に軸の動作時間が長くなる速度指令ｎ（３）が次の比較パターンＪｃに設定される。次の比較パターンＪｃに設定された速度指令ｎ（３）を実行するタイミングは、仮に決定されたタイミングに決定（本決定）される。
【００５０】
このように次の基準パターンＪｓおよび次の比較パターンＪｃが設定された後、ステップＣ４が再度実行される。この場合、図８に示すとおり、時点Ｔｆより時点Ｔｄのほうが遅い（ステップＣ４で「ＹＥＳ」である）ため、基準パターンＪｓおよび比較パターンＪｃの各減速期間が重複しない。すなわち、時点Ｔｄ〜時点Ｔｆの間に、減速動作が行われない期間（減速余白期間）が存在する。このような場合、ステップＣ６に進む。
【００５１】
ステップＣ６〜Ｃ９では、上記した減速動作が行われない減速余白期間以下の減速時間を持つという条件を満たす速度指令を、未だタイミングが決定されていない速度指令の中から探索する。すなわち、タイミングが仮に決定された状態の速度指令（ここでは、速度指令ｎ（４）〜ｎ（６））の中から、減速余白期間内に減速期間が収まる速度指令を探索する。
【００５２】
具体的には、ステップＣ６では、変数cnt2の設定が行われる。変数cnt2は、その時点における変数cnt1の値に２を加えた値（この場合には４）に設定される。ステップＣ７では、比較パターンＪｃである速度指令ｎ（３）が余白起点パターンＪｃｍに設定される。ステップＣ８では、基準パターンＪｓにおける時点Ｔｄから余白起点パターンＪｃｍにおける時点Ｔｆを減算した時間が、減速余白期間ΔＴに設定される。ステップＣ９では、速度指令ｎ（cnt2）、つまり速度指令ｎ（４）における減速時間が、減速余白期間ΔＴ以下であるか否かが判断される。この場合、速度指令ｎ（４）における減速時間が減速余白期間ΔＴよりも長い（ステップＣ９で「ＮＯ」である）ため、ステップＣ１３に進む。
【００５３】
ステップＣ１３では、変数cnt2の値が変数Ｘの値に１を加えた値（ここでは６）以上であるか否かが判断される。この場合、変数cnt2の値は４である（ステップＣ１３で「ＮＯ」である）ため、ステップＣ１４に進む。ステップＣ１４では、変数cnt2がインクリメントされる（cnt2=cnt2+1）。ステップＣ１４の実行後はステップＣ８に戻る。この場合、余白起点パターンＪｃｍが前回と同じものであるため、ステップＣ８において新たな減速余白期間ΔＴの設定は行われず、減速余白期間は前回と同様のままとなる。その後のステップＣ９では、速度指令ｎ（５）における減速時間が、減速余白期間ΔＴ以下であるか否かが判断される。この場合、速度指令ｎ（５）における減速時間が減速余白期間ΔＴよりも長い（ステップＣ９で「ＮＯ」である）ため、ステップＣ１３に進む。
【００５４】
ここでは、変数cnt2の値は５である（ステップＣ１３で「ＮＯ」である）ため、ステップＣ１４に進む。ステップＣ１４で変数cnt2がインクリメントされた後、再びステップＣ８に戻る。この場合も、余白起点パターンＪｃｍが前回と同じものであるため、ステップＣ８において新たな減速余白期間ΔＴの設定は行われず、減速余白期間は前回と同様のままとなる。ステップＣ９では、速度指令ｎ（６）における減速時間が、減速余白期間ΔＴ以下であるか否かが判断される。この場合、速度指令ｎ（６）における減速時間が減速余白期間ΔＴよりも短い（ステップＣ９で「ＹＥＳ」である）ため、ステップＣ１０に進む。
【００５５】
ステップＣ１０では、速度指令ｎ（６）が挿入パターンに設定される。そして、図８に示すとおり、挿入パターンである速度指令ｎ（６）を実行するタイミングは、仮に決定されたタイミング（動作開始時点が時点Ｔ０に一致するようなタイミング）から変更されたタイミングに決定（本決定）される。すなわち、挿入パターン（速度指令ｎ（６））の減速開始時点が、余白起点パターンＪｃｍの動作終了時点Ｔｆ（減速余白期間ΔＴの開始時点）に一致するように、挿入パターンを実行するタイミングが決定される。
【００５６】
ステップＣ１１では、挿入パターンとして設定された速度指令ｎ（６）が挿入済パターンとして記憶される。ステップＣ１２では、速度指令ｎ（６）が次の余白起点パターンＪｃｍに設定される。そして、ここでは、変数cnt2の値は６である（ステップＣ１３で「ＹＥＳ」である）ため、ステップＣ１５に進む。ステップＣ１５では、挿入済パターンを考慮して各速度指令の順番が整理される。すなわち、タイミングが本決定された挿入済みパターンである速度指令ｎ（６）を以降の処理の対象外にする。なお、挿入済みパターンが、仮に、速度指令ｎ（４）などであった場合には、以下のように順番を整理する必要がある。すなわち、速度指令ｎ（４）を以降の処理の対象外にするとともに、現在の速度指令ｎ（５）、ｎ（６）を、新たな速度指令ｎ（４）、ｎ（５）に繰り上げる必要がある。そして、ステップＣ１６では、変数Ｘの値を挿入済パターンの数に応じて再設定する。すなわち、現在の変数Ｘの値（５）から挿入済パターンの数（ここでは１）を減算したものを、変数Ｘの新たな値（４）とする。
【００５７】
ステップＣ１６の実行後は、ステップＣ５に進む。ステップＣ５で変数cnt1がインクリメントされた後、再びステップＣ２に戻る。このとき、変数cnt1の値は３であり且つ変数Ｘの値は４であるため、「ＮＯ」となり、ステップＣ３に進む。そのステップＣ３では、その時点における比較パターンＪｃである速度指令ｎ（３）が次の基準パターンＪｓに設定されるとともに、速度指令ｎ（３）の次に軸の動作時間が長くなる速度指令ｎ（４）が次の比較パターンＪｃに設定される。次の比較パターンＪｃに設定された速度指令ｎ（４）を実行するタイミングは、仮に決定されたタイミングに決定（本決定）される。
【００５８】
このように次の基準パターンＪｓおよび次の比較パターンＪｃが設定された後、ステップＣ４が再度実行される。この場合、図９に示すとおり、時点Ｔｆより時点Ｔｄのほうが遅い（ステップＣ４で「ＹＥＳ」である）ため、ステップＣ６に進む。そして、変数cnt2が５（＝３＋２）に設定され（ステップＣ６）、速度指令ｎ（４）が余白起点パターンＪｃｍに設定される（ステップＣ７）。さらに、図９に示す新たな減速余白期間ΔＴが設定され（ステップＣ８）、速度指令ｎ（５）における減速時間が、減速余白期間ΔＴ以下であるか否かが判断される（ステップＣ９）。この場合、速度指令ｎ（５）における減速時間が減速余白期間ΔＴよりも短い（ステップＣ９で「ＹＥＳ」である）ため、ステップＣ１０に進む。
【００５９】
ステップＣ１０では、速度指令ｎ（５）が挿入パターンに設定される。そして、図９に示すとおり、挿入パターンである速度指令ｎ（５）を実行するタイミングは、仮に決定されたタイミングから変更されたタイミングに決定（本決定）される。すなわち、挿入パターン（速度指令ｎ（５））の減速開始時点が、余白起点パターンＪｃｍの動作終了時点Ｔｆ（減速余白期間ΔＴの開始時点）に一致するように、挿入パターンを実行するタイミングが決定される。
【００６０】
その後、速度指令ｎ（５）が挿入済パターンとして記憶され（ステップＣ１１）、速度指令ｎ（５）が次の余白起点パターンＪｃｍに設定される（ステップＣ１２）。そして、変数cnt2の値が５であり且つ変数Ｘの値が４であるため（ステップＣ１３で「ＹＥＳ」である）ため、ステップＣ１５に進む。この場合、既に全ての速度指令のタイミングが本決定されているため、各速度指令の順番の整理を行う必要がない。続くステップＣ１６では、現在の変数Ｘの値（４）から挿入済パターンの数（ここでは１）を減算したものを、変数Ｘの新たな値（３）とする。
【００６１】
ステップＣ１６の実行後は、ステップＣ５に進む。ステップＣ５で変数cnt1がインクリメントされた後、再びステップＣ２に戻る。このとき、変数cnt1の値は４であり且つ変数Ｘの値は３であるため、「ＹＥＳ」となり、タイミング決定処理を終了する（ＲＥＴＵＲＮ）。これにより、全ての速度指令を実行するタイミングが確定する。制御部２７は、このように生成した速度指令でもって、各軸に対応するモータＭの駆動を制御する。
【００６２】
以上説明したように、本実施形態によれば次のような作用および効果が得られる。
制御部２７は、ロボット２の手先を現在位置から所定の目標位置までＰＴＰ動作により移動するという指令が与えられると、図４に示した演算処理を実行した後、図５に示したタイミング決定処理を実行する。このうち、演算処理では、ロボット２の仕様上あるいは構造上における制限範囲内の最高加速度でもって各軸を駆動するための速度指令が求められる。また、タイミング決定処理では、動作時間が最も長い速度指令から順に、その次に動作時間の長い速度指令との間において互いに減速動作が行われない減速余白期間が存在するか否かが判断されていく。そして、減速余白期間が存在する場合且つその減速余白期間内に収まる減速時間を持つ速度指令が存在する場合には、その速度指令における減速期間が減速余白期間内に収まるように、その速度指令を実行するタイミングが決定されていく。このようなタイミング決定処理により、全体の動作時間を従来と同等にした上で、各速度指令における減速期間が重複する期間が極力少なくなり、減速動作のタイミングが分散化される。
【００６３】
図９に示すように、減速動作のタイミングが分散化されれば、各減速期間における回生エネルギーによるバス電圧Ｖｄの上昇が比較的小さく抑えられ、その分だけ回生消費回路２３において熱として消費されるエネルギーが小さくなる。なお、本実施形態の場合、図９に示すように、動作開始時点Ｔ０〜軸の動作時間が最も長くなる速度指令ｎ（１）における動作終了時点までの全期間において、バス電圧Ｖｄが回生消費電圧値Ｖthr未満に抑えられている。
【００６４】
ロボット２を動作させるために入力されるエネルギー（電力）は、実際に各軸を駆動するために使用されるエネルギー（インバータ装置２４、モータＭなどにおける種々の電力損失を含む）と、減速動作時に回生消費回路２３で熱として消費されるエネルギーとの和である。従って、熱として消費されるエネルギーが減少すれば、その分だけ入力するエネルギーが少なくて済む。つまり、本実施形態のロボットシステム１は、動作時間を引き延ばすことなく、ロボット２をＰＴＰ制御する際に消費するエネルギーを低減することができる。なお、このような効果は、演算処理において求められる各速度指令の動作時間が互いに異なるという前提の下で得られるものであるが、仮に、演算処理において求められる各速度指令の動作時間が互いにほとんど同じになった場合（通常、このようなケースはほとんど有り得ない）でも、減速動作時において熱として消費されるエネルギーは従来と同等までしか低下することはない。さらに、本実施形態のロボットシステム１では、制御内容（ソフトウェア）に変更を加えることにより、上記作用および効果が得られる。つまり、ハードウェアの追加を行うことなく、ＰＴＰ制御を行う際における省エネルギー化を図ることを可能としている。
【００６５】
また、上記したように、挿入パターンを実行するタイミングを決定することにより、挿入パターンにおける加速期間（および等速期間）が、比較パターンにおける減速期間に重なることになる。これにより、比較パターンに対応する軸の減速動作において回生される回生エネルギーが、挿入パターンに対応する軸の加速動作（および等速動作）において使用される。回生エネルギーが他の動作において有効利用されれば、その分だけ回生消費回路２３において熱として消費されるエネルギーは小さくなる。さらに、回生エネルギーが加速動作に利用される場合には、例えば昇圧回路などを設けることなく、その加速動作に必要となる電圧値のバス電圧Ｖｄが確保可能となり、加速動作の追従性を高められるという効果も得られる。
【００６６】
また、本実施形態では、挿入パターンにおける減速開始時点が余白起点パターンにおける動作終了時点に一致するように挿入パターンを実行するタイミングを決定している。このように挿入パターンのタイミングが決定された後、減速余白期間のうち挿入パターンの減速終了時点から基準パターンの減速開始時点までの連続した期間を新たな減速余白期間とする。そして、新たな減速余白期間内に収まる減速時間を持つという条件を満たす速度指令の探索を行い、その条件を満たす速度指令が存在すれば、その速度指令を挿入パターンに設定して減速余白期間内に減速時間が収まるようにタイミングを決定していく。このようにすれば、減速余白期間内に減速期間が収まる速度指令が複数存在する場合、減速余白期間内に、出来るだけ多くの速度指令の減速期間が収まるようにタイミング設定を行うことができる。従って、各速度指令における減速期間が重複する期間がさらに低減し、上記省エネルギー化の効果がさらに高まる。
【００６７】
また、本実施形態では、タイミングが本決定されていない速度指令の中から、減速余白期間内に収まる減速時間を持つという条件を満たす速度指令を探索する際、動作時間の長い速度指令から順番に上記条件を満たすか否かの判断が行われる。本実施形態の演算処理により求められる速度指令においては、その動作時間が長いものほど減速時間も長くなるのが通常である。そのため、上記条件を満たす速度指令が複数存在する場合、減速時間の長いものから挿入パターンに設定されていく。つまり、挿入パターンの減速期間が減速余白期間において占める割合が高くなるように挿入パターンの設定が行われることになる。従って、各速度指令における減速期間が重複する期間を一層低減することが可能となる。
【００６８】
（その他の実施形態）
なお、本発明は上記し且つ図面に記載した実施形態に限定されるものではなく、次のような変形または拡張が可能である。
上記実施形態では、減速余白期間内に出来るだけ他の速度指令の減速期間が重複するように挿入パターンの設定およびそのタイミングの決定を行っていたが、減速余白期間内に減速時間が収まるという条件を持つ速度指令のうちいずれか一つを挿入パターンに設定し、その挿入パターンの減速期間が減速余白期間内に収まるように挿入パターンを実行するタイミングを決定してもよい。このようにした場合でも、各速度指令の減速期間が分散化されるため、ＰＴＰ制御の際における消費エネルギーを低減する効果が得られる。
【００６９】
上記実施形態では、タイミングが本決定されていない速度指令の中から、減速余白期間内に収まる減速期間を持つという条件を満たす速度指令を探索する際、動作時間の長い速度指令から順番に上記条件を満たすか否かの判断を行い、その条件を満たす速度指令を直ちに挿入パターンに設定していた。このような処理内容について、次のように変更することも可能である。すなわち、タイミングが本決定されていない速度指令の中から、減速余白期間内に収まる減速時間を持つという条件を満たす速度指令を一旦抽出する。そして、抽出した速度指令のうち、その減速期間が減速余白期間において占める割合が最も高いものを選択し、１つの挿入パターンを設定する。あるいは、複数の速度指令の減速期間を減速余白期間内に収めることが可能な場合、複数の速度指令の減速期間が減速余白期間において占める割合が最も高くなる組み合わせを選択し、複数の挿入パターンを設定する。このようにすれば、各速度指令における減速期間が重複する期間を一層低減することが可能となる。
【００７０】
また、減速余白期間内に収まる減速時間を持つという条件を満たす速度指令を一旦抽出した後の処理については、次のように変更することも可能である。すなわち、抽出した速度指令のうち、その加速期間が比較パターンの減速期間と重複する率が最も高いものを選択し、挿入パターンとして設定する。このようにすれば、比較パターンの減速期間にモータＭから回生される回生エネルギーを、挿入パターンの加速期間において一層効率良く利用することが可能になる。従って、ＰＴＰ制御の際における省エネルギー化の効果が一層高まる。
【００７１】
本発明は、モータＭとしてＤＣブラシレスモータを用いた構成に限らず、例えば直流モータ、交流モータなど各種のモータを用いた構成にも適用可能である。なお、モータＭとして直流モータを用いる場合には、モータＭを駆動する駆動手段として、インバータ装置２４に代えて、例えばＨブリッジ回路を主体として構成された駆動回路を用いればよい。
上記実施形態では、本発明を６軸の垂直多関節型のロボット２に適用した例を説明したが、本発明は、例えば４軸の水平多関節型のロボットなど、複数の軸をモータにより駆動する構成のロボット全般に適用可能である。
【符号の説明】
【００７２】
図面中、２はロボット、３はコントローラ（ロボットの制御装置）、２７は制御部（演算処理手段、タイミング決定処理手段）、Ｍはモータを示す。
【図１】
0005678745.tif 000002
【図２】
0005678745.tif 000003
【図３】
0005678745.tif 000004
【図４】
0005678745.tif 000005
【図５】
0005678745.tif 000006
【図６】
0005678745.tif 000007
【図７】
0005678745.tif 000008
【図８】
0005678745.tif 000009
【図９】
0005678745.tif 000010
【図１０】
0005678745.tif 000011