(57)【要約】【課題】処理負担の増大を極力抑制しつつ動作全体に亘って効率的な動作速度を得る。【解決手段】ロボット制御装置（３０）は、ロボット（２０）の水平軸（２２、２３）を駆動させるモータ（２７１、２７２）に対し予め設定された最大速度及び最大加速度でモータの初期速度パターンを生成する初期速度パターン生成部（４１）と、初期速度パターンについて加速開始時点（Ｐ１）と加速終了時点（Ｐ２）と定速動作時点（Ｐ３）と減速開始時点（Ｐ４）と減速終了時点（Ｐ５）とを特定し、各時点においてモータに作用する作用トルク及びロボットの垂直軸（２４）の軸受部（２６）に作用する作用応力がそれぞれモータの許容トルク及び軸受部の許容応力以下となるように初期速度パターンを修正した修正速度パターンを生成する速度パターン修正部（４２）と、速度パターン修正部で修正した修正速度パターンに基づいてロボットを駆動制御する駆動制御部（４３）と、を備える。【選択図】図２
2018030220.tif 000002
【特許請求の範囲】
【請求項１】
スカラ型ロボットの水平軸を駆動させるモータに対し予め設定された最大速度及び最大加速度で前記モータの初期速度パターンを生成する初期速度パターン生成部と、
前記初期速度パターン生成部で生成された前記初期速度パターンについて加速開始時点と加速終了時点と定速動作時点と減速開始時点と減速終了時点とを特定し、各時点において前記モータに作用する作用トルク及び前記ロボットの垂直軸の軸受部に作用する作用応力がそれぞれ前記モータの許容トルク及び前記軸受部の許容応力以下となるように前記初期速度パターンを修正した修正速度パターンを生成する速度パターン修正部と、
前記速度パターン修正部で修正した修正速度パターンに基づいて前記ロボットを駆動制御する駆動制御部と、
を備えるロボット制御装置。
【請求項２】
前記速度パターン修正部は、前記加速終了時点から前記減速開始時点までの間の定速動作期間を所定の分割数で分割した各期間の各境界点のうち作用トルク及び作用応力が最大となる時点を前記定速動作時点として設定する、
請求項１に記載のロボット制御装置。
【請求項３】
前記速度パターン修正部は、前記定速動作時点における前記作用トルク及び前記作用応力が前記許容トルク及び前記許容応力よりも更に所定値分低い値となるような前記修正速度パターンを生成する、
請求項２に記載のロボット制御装置。
【請求項４】
スカラ型ロボットを制御すロボット制御装置に組み込まれたコンピュータに実行されるロボット制御プログラムであって、
前記コンピュータに、
前記ロボットの水平軸を駆動させるモータに対し予め設定された最大速度及び最大加速度で前記モータの初期速度パターンを生成する初期速度パターン生成処理と、
前記初期速度パターン生成部で生成された前記初期速度パターンについて加速開始時点と加速終了時点と定速動作時点と減速開始時点と減速終了時点とを特定し、各時点において前記モータに作用する作用トルク及び前記ロボットの垂直軸の軸受部に作用する作用応力がそれぞれ前記モータの許容トルク及び前記軸受部の許容応力以下となるように前記初期速度パターンを修正した修正速度パターンを生成する速度パターン修正処理と、
前記速度パターン修正部で修正した修正速度パターンに基づいて前記ロボットを駆動制御する駆動処理と、
を実行させることができるロボット制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、スカラ型ロボットの動作制御を行うロボット制御装置、及びロボット制御プログラムに関する。
【背景技術】
【０００２】
ロボット制御装置は、ロボットを安定して安全に動作させるために、ロボットの動作に用いられるモータに作用する作用トルクがそのモータに設定されている許容トルク以下であること、及び、その動作によってロボットの各部分に作用する作用応力がその各部分における許容応力以下となること、を守った動作指令値を作ることが必要である。
【０００３】
ここで、一般的なスカラ型ロボットは、水平方向に延びる複数の水平軸と、水平軸の先端に設けられて上下方向に延びる垂直軸と、垂直軸の下端部に設けられたフランジ部と、を備えている。この場合、従来構成では、各水平軸を動作させるモータの作用トルクがそのモータの許容トルク以下とするために、例えばフランジ部に加わる負荷の重さに応じて各モータが出せる最大速度及び最大加速度を制限することが考えられる。また、従来構成では、垂直軸の軸受部に加わるモーメントからその軸受部を保護するために、例えば各モータが出せる最大速度及び最大加速度を垂直軸のストロークの平方根の逆数を変数とする所定の関数で制限することが考えられている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１４１２５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した構成では次のような問題がある。例えば各モータに加わる負荷はロボットの姿勢によって変動する。しかし、上述した構成では、各モータの最大速度及び最大加速度をその動作全体に亘って一律に制限するだけであり、ロボットの姿勢に関する条件は考慮されていない。すなわち、動作中の姿勢によっては許容トルクに対して作用トルクに余裕がある場合があるが、上記構成では、各モータの最大速度及び最大加速度は一連の動作の中で作用トルクが最大となる姿勢時のものに制限される。したがって、この場合、動作全体を見ると、もっと早く動作できる余地がある。
【０００６】
また、例えば垂直軸の軸受部に加わるモーメントすなわち応力は、垂直軸のストロークによって変動する。しかし、上述した構成では、垂直軸のストロークが変化しながら動作する場合は考慮されていない。すなわち、上述した構成では、動作全体に亘って垂直軸のストロークが最も長い状態を基準にして、最大速度及び最大加速度が制限されている。このため、垂直軸が最長となっている状態以外の状態においては、垂直軸の軸受部の許容応力に対して作用応力に余裕がある。そのため、この場合も、動作全体をみると、もっと早く動作できる余地がある。
【０００７】
このように、従来の制御方法では、動作全体に亘って各モータの出力を一律に制限しているため、動作速度を過剰に制限することになり、その結果、効率的な動作速度が得られていないという問題があった。この場合、作用トルク及び作用応力を許容トルク及び許容応力以下としつつ極力速い速度パターンを得るために、例えば一連の動作の最初から逐次作用トルク及び作用応力を確認し、動作可能な速度を積み上げるようにして速度パターンを生成する、といった手法が考えられる。しかしながら、このような手法は計算量が膨大となってしまい、ロボット制御装置に負担がかかり過ぎて現実的ではない。
【０００８】
本発明は上記事情に鑑みてなされたものであり、その目的は、処理負担の増大を極力抑制しつつ動作全体に亘って効率的な動作速度を得ることができるロボット制御装置、及びロボット制御プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
（請求項１）
請求項１に記載のロボット制御装置は、初期速度パターン生成部と、速度パターン修正部と、駆動制御部と、を備える。初期速度パターン生成部は、スカラ型ロボットの水平軸を駆動させるモータに対し予め設定された最大速度及び最大加速度で前記モータの初期速度パターンを生成する。速度パターン修正部は、前記初期速度パターン生成部で生成された前記初期速度パターンについて加速開始時点と加速終了時点と定速動作時点と減速開始時点と減速終了時点とを特定し、各時点において前記モータに作用する作用トルク及び前記ロボットの垂直軸の軸受部に作用する作用応力がそれぞれ前記モータの許容トルク及び前記軸受部の許容応力以下となるように前記初期速度パターンを修正した修正速度パターンを生成する。駆動制御部は、前記速度パターン修正部で修正した修正速度パターンに基づいて前記ロボットを駆動制御する。
【００１０】
すなわち、ロボット制御装置は、例えば上位の機器等から動作指令を受信した場合、実際にロボットを動作させる前に現在地から目的地までの速度パターン、すなわち動作前の姿勢から動作後の姿勢に移行する際のモータの速度パターンを生成する。そして、ロボット制御装置は、その速度パターンでロボットを動作させた場合に、モータに作用するトルクや軸受部に作用する応力が許容範囲内であるか否かをシミュレートし、許容トルク及び許容応力を超えていれば、許容トルク及び許容応力以下となるような速度パターンを再生成する。なお、以下では、許容トルク及び許容応力を総称して最大許容値と称する。
【００１１】
そして、本構成のロボット制御装置は、一連の動作のうち加速開始時点と加速終了時点と定速動作時点と減速開始時点と減速終了時点との５つの時点における作用トルク及び作用応力を確認する。この５つの時点は、ロボットの姿勢や速度、加速度が変化する時点、すなわち作用トルク及び作用応力が極大値となり得る時点である。そのため、少なくともこの５つの時点における作用トルク及び作用応力が最大許容値を超えていなければ、他の時点においても最大許容値を超えていないと推定できる。
【００１２】
このように、ロボット制御装置は、上記の５つの時点を考慮することで、動作中の姿勢の変化に応じた速度パターンを生成することができる。したがって、動作全体に亘ってロボットが可能な最大の動作速度に近い値で動作させることができ、その結果、動作中の安全を確保しつつ、従来のように動作全体に亘って動作速度を一律に制限した場合に比べて効率良く動作させることができる。
【００１３】
ここで、速度パターンの生成方法としては、例えば上述した５つの各時点における作用トルク及び作用応力が最大許容値に対して十分に低い値となるような初期速度パターンを生成し、その後、作用トルク及び作用応力を最大許容値付近まで上げた速度パターンを再生成する手法が考えられる。しかしながら、この手法では、各時点における作用トルク及び作用応力を上げると、その各時点以外の箇所における作用トルク及び作用応力も増大する可能性がある。このため、上記手法では、初期速度パターンを修正することによって、予想していなかった箇所においての作用トルク及び作用応力が増大し、その結果、作用トルク及び作用応力が最大許容値を超えていることを見逃してしまうおそれがある。
【００１４】
一方、本構成によれば、ロボット制御装置は、例えばモータの定格値等、予め設定された最大速度及び最大加速度で初期速度パターンを生成する。そして、ロボット制御装置は、５つの各時点における作用トルク及び作用応力が許容トルク及び許容応力以下となるように、これら作用トルク及び作用応力を下げるようにして初期速度パターンを修正する。したがって、この手法によれば、初期速度パターンを修正する際に、５つの各時点における作用トルク及び作用応力を上げることがないため、５つの各時点以外の箇所における作用トルク及び作用応力も増大することが無い。そのため、初期速度パターンを修正することによって予想していなかった箇所においての作用トルク及び作用応力の増大を防ぐことができる。したがって、作用トルク及び作用応力が最大許容値を超えたことを見逃してしまうことを抑制することできる。その結果、最終的に得られた修正速度パターンをより安全なものとすることができる。
【００１５】
更に、本構成によれば、ロボット制御装置は、上記の５つの各時点を基準に計算を行っている。そのため、動作全体に亘って随時作用トルクや作用応力を計算した場合に比べて、その計算量を格段に抑制することができる。その結果、ロボット制御装置の処理負担の増大を抑制することができる。これらの結果、本構成によれば、ロボット制御装置は、処理負担の増大を極力抑制しつつ指令された動作全体に亘って効率的な動作速度すなわち速度パターンを得ることができる。
【００１６】
（請求項２）
ここで、加速開始時点と加速終了時点と減速開始時点と減速終了時点との４つの時点は、速度パターンから一意に定まるが、定速動作時点は、速度パターンのみからでは定めることができない。そのため、速度パターン修正部が特定した定速動作時点において、作用トルク及び作用応力が必ずしも実際に極大値をとるとは限らない。この場合、何ら手当をしなければ、速度パターン修正部は、実際に作用トルク及び作用応力が極大値となる時点に対して前後に大きくずれた時点を定速動作時点として特定してしまう可能性がある。
【００１７】
そこで、請求項２に記載のロボット制御装置において、前記速度パターン修正部は、前記加速終了時点から前記減速開始時点までの間の定速動作期間を所定の分割数で分割した各期間の各境界点のうち作用トルク及び作用応力が最大となる時点を前記定速動作時点として設定する。これによれば、制御部４０は、定速動作期間内において複数の時点の作用応力及び作用トルクを確認したうえで、定速動作時点を設定している。そのため、速度パターン修正部が特定した定速動作時点が、実際に作用トルク及び作用応力が極大値となる時点から大きくずれてしまうことを防ぐことができ、その結果、定速動作期間における作用トルク及び作用応力の確認精度をより高いものとすることができる。
【００１８】
（請求項３）
また、請求項３に記載のロボット制御装置において、前記速度パターン修正部は、前記定速動作時点における前記作用トルク及び前記作用応力が前記許容トルク及び前記許容応力よりも更に所定値分低い値となるような前記修正速度パターンを生成する。
【００１９】
これによれば、定速動作時点における作用トルク及び作用応力の下げ率に余裕を持たせているため、定速動作期間における作用トルク及び作用応力の極大値が仮に定速動作時点からずれていた場合であっても、その極大値において作用トルク及び作用応力が最大許容値を超えてしまうことを極力避けることができる。その結果、最終的に得られる修正速度パターンをより安全なものとすることができる。
【００２０】
（請求項４）
請求項４に記載のロボット制御プログラムは、請求項１に記載のロボット制御装置を実現するものである。このロボット制御プログラムを、例えば既存のロボット制御装置等によって実行することで、既存のロボット制御装置等に、請求項１記載のロボット制御装置としての機能を付加することができる。
【図面の簡単な説明】
【００２１】
【図１】一実施形態について、ロボット制御装置及びスカラ型ロボットを備えるロボットシステムの一例を示す全体構成図
【図２】一実施形態について、ロボット制御装置及びロボットの電気的構成の一例を示すブロック図
【図３】一実施形態について、ロボットの構成を概略的に示す側面図
【図４】一実施形態について、ロボットの構成を概略的に示す平面図
【図５】一実施形態について、初期速度パターンの一例、及び初期速度パターンにおける作用トルクと作用応力との一例を示すグラフ
【図６】一実施形態について、修正速度パターンの一例、及び修正速度パターンにおける作用トルクと作用応力との一例を示すグラフ
【図７】一実施形態について、制御部が行う各種処理の内容を示すフローチャート
【図８】一実施形態について、制御部が行う第１修正処理の内容を示すフローチャート
【図９】一実施形態について、制御部が行う第２修正処理の内容を示すフローチャート（その１）
【図１０】一実施形態について、制御部が行う第２修正処理の内容を示すフローチャート（その２）
【図１１】一実施形態について、制御部が行う第３修正処理の内容を示すフローチャート
【図１２】一実施形態について、初期速度パターンの一例を示す図
【図１３】一実施形態について、図１２の初期速度パターンから計算された作用トルク及び作用応力を、許容トルクに対する作用トルクの割合及び許容応力に対する作用応力の割合として示す図
【図１４】一実施形態について、図１２の初期速度パターンを修正する際の作用トルク及び作用応力を、許容トルクに対する作用トルクの割合及び許容応力に対する作用応力の割合として示す図
【図１５】一実施形態について、図１２の初期速度パターンを修正した後の修正速度パターンの一例を示す図
【図１６】一実施形態について、図１５の修正速度パターンから計算された作用トルク及び作用応力を、許容トルクに対する作用トルクの割合及び許容応力に対する作用応力の割合として示す図
【図１７】一実施形態について、図１５の修正速度パターンを再修正する際の作用トルク及び作用応力を、許容トルクに対する作用トルクの割合及び許容応力に対する作用応力の割合として示す図
【図１８】一実施形態について、図１５の修正速度パターンを再修正した後の修正速度パターンの一例を示す図
【図１９】一実施形態について、図１８の修正速度パターンから計算された作用トルク及び作用応力を、許容トルクに対する作用トルクの割合及び許容応力に対する作用応力の割合として示す図
【図２０】一実施形態について、モータの許容トルクと回転数との相関関係を示す図
【図２１】一実施形態について、図１８の修正速度パターンを再修正した後の修正速度パターンの一例を示す図
【図２２】一実施形態について、図２１の修正速度パターンから計算された作用トルク及び作用応力を、許容トルクに対する作用トルクの割合及び許容応力に対する作用応力の割合として示す図
【図２３】一実施形態について、図２１の修正速度パターンを再修正した後の修正速度パターンの一例を示す図
【図２４】一実施形態について、図２３の修正後の修正速度パターンから計算された作用トルク及び作用応力を、許容トルクに対する作用トルクの割合及び許容応力に対する作用応力の割合として示す図
【図２５】一実施形態について、図２３の修正後の修正速度パターンが現在の修正速度パターンである場合において、定速動作時点を設定する際の概念を示す図
【図２６】一実施形態について、図２５の修正速度パターンから計算された作用トルク及び作用応力を、許容トルクに対する作用トルクの割合及び許容応力に対する作用応力の割合として示す図
【図２７】一実施形態について、図２６とは異なる修正速度パターンが現在の修正速度パターンである場合において、定速動作時点を設定する際の概念を示す図
【図２８】一実施形態について、図２７の修正速度パターンから計算された作用トルク及び作用応力を、許容トルクに対する作用トルクの割合及び許容応力に対する作用応力の割合として示す図
【図２９】一実施形態について、図２７に示す現在の修正速度パターンを再修正する際の作用トルク及び作用応力を、許容トルクに対する作用トルクの割合及び許容応力に対する作用応力の割合として示す図
【図３０】一実施形態について、図２７の修正速度パターンを再修正した後の修正速度パターンの一例を示す図
【発明を実施するための形態】
【００２２】
一実施形態について図面を参照して説明する。
図１は、一般的な産業用ロボットのシステム構成を示している。図１に示すロボットシステム１０は、ロボット２０及びロボット制御装置３０により構成されている。ロボット２０は、例えば４軸の水平多関節型ロボットすなわちスカラ型ロボットである。ロボット２０は、固有のロボット座標系（Ｘ軸、Ｙ軸およびＺ軸からなる三次元直交座標系）に基づいて動作する。本実施形態では、ロボット座標系は、ベース２１の中心を原点Ｏとし、作業台Ｂの上面をＸ−Ｙ平面とし、そのＸ−Ｙ平面と直交する座標軸をＺ軸として定義されている。作業台Ｂの上面は、ロボット２０を設置するための設置面である。この場合、その設置面が動作基準面に相当する。なお、動作基準面としては、設置面に限らずともよく、任意の平面であってもよい。
【００２３】
図１に示すように、ロボット２０は、ベース２１、第１アーム２２、第２アーム２３、シャフト２４、及びフランジ部２５を有している。ベース２１は、作業台Ｂの上面（以下、設置面とも称す）に固定される。第１アーム２２は、水平方向すなわち設置面Ｂに対して平行に延びており、ベース２１の上部に対して、Ｚ軸（垂直軸）方向の軸心を持つ第１軸Ｊ１を中心に水平方向に回転可能に連結されている。第２アーム２３は、水平方向すなわち設置面Ｂに対して平行に延びており、第１アーム２２の先端部の上部に対してＺ軸方向の軸心を持つ第２軸Ｊ２を中心に回転可能に連結されている。
【００２４】
シャフト２４は、第２アーム２３の先端部に設けられた軸受部２６に通されており、上下動可能でかつ回転可能に設けられている。すなわち、軸受部２６は、シャフト２４を上下動可能でかつ回転可能に支持している。また、シャフト２４を上下動させる際の軸が第３軸Ｊ３であり、シャフト２４を回転させる際の軸が第４軸Ｊ４である。フランジ部２５は、シャフト２４の先端部つまり下端部に着脱可能に取り付けられている。
【００２５】
第１アーム２２及び第２アーム２３は、ロボット２０の水平軸として機能する。シャフト２４は、ロボット２０の垂直軸として機能する。フランジ部２５には、図示はしないが、エンドエフェクタつまり手先が取り付けられる。例えばロボット２０を用いて部品の検査などが行われる場合、上記エンドエフェクタとしては、対象となる部品を撮影するためのカメラなどが用いられる。ロボット２０は、図２に示すように、各軸Ｊ１〜Ｊ４に対応したモータ２７１、２７２、２７３、２７４を備えている。第１アーム２２、第２アーム２３、及びシャフト２４は、各軸Ｊ１〜Ｊ４に対応したモータ２７１〜２７４により駆動される。また、各モータ２７１〜２７４の近傍には、それぞれの回転軸の回転角度を検出するための位置検出器（図示せず）が設けられている。
【００２６】
ロボット制御装置３０は、ロボット２０を駆動制御するものである。ロボット制御装置３０は、接続ケーブルを介してロボット２０に接続されている。ロボット制御装置３０は、例えば上位の機器から自動動作を指令する信号が与えられると、予め記憶されている自動プログラムを起動することにより、ロボット２０を自動動作させる制御を行う。
【００２７】
この場合、ロボット制御装置３０は、実際にロボット２０を動作させる前に、現在地から目的地までの速度パターン、すなわち動作前の姿勢から動作後の姿勢に移行する際の各モータ２７１〜２７４の速度パターンを生成し、その速度パターンでロボット２０を動作させた場合に、各モータ２７１〜２７４に作用するトルクや軸受部２６に作用する応力が許容範囲内であるか否かをシミュレートする。なお、以下の説明では、各モータ２７１〜２７４に作用するトルクを単に作用トルクと称し、軸受部２６に作用する応力を単に作用応力と称する。
【００２８】
そして、シミュレートの結果、シミュレートした速度パターンにおける作用トルクや作用応力が許容範囲内であれば、すなわちその速度パターンが実際にロボット２０を動作させることが出来るものであれば、ロボット制御装置３０は、各モータ２７１〜２７４をその速度パターンで駆動制御して実際にロボット２０を動作させる。一方、その速度パターンにおける作用トルクや作用応力が許容範囲外であれば、すなわちその速度パターンで実際にロボット２０を動作させた場合にロボット２０が破損等する危険があるものであれば、ロボット制御装置３０は、作用トルクや作用応力が許容範囲内となるように修正した速度パターンを再生成する。
【００２９】
具体的には、ロボット制御装置３０は、図２に示すように制御部４０を備えている。制御部４０は、例えばＣＰＵや、ＲＯＭ、ＲＡＭ、及び書き換え可能なフラッシュメモリなどの記憶領域を有するマイクロコンピュータを主体に構成されている。制御部４０は、ＣＰＵにおいてロボット制御プログラムを実行することにより、初期速度パターン生成部４１、速度パターン修正部４２、及び駆動制御部４３等を、ソフトウェアによって仮想的に実現する。なお、初期速度パターン生成部４１、速度パターン修正部４２、及び駆動制御部４３等は、例えば制御部４０と一体の集積回路としてハードウェア的に実現してもよい。
【００３０】
初期速度パターン生成部４１は、初期速度パターン生成処理を実行する。初期速度パターン生成処理は、図５に示すように、少なくともロボット２０の水平軸すなわち第１アーム２２及び第２アーム２３を駆動させるモータ２７１、２７２に対し予め設定された最大速度及び最大加速度で、各モータ２７１、２７２の初期速度パターンを生成する処理である。本実施形態の場合、初期速度パターン生成部４１は、垂直軸すなわちシャフト２４を駆動させるモータ２７３、２７４についても、モータ２７１、２７２と同様に初期速度パターンを生成する。この場合、モータの最大速度及び最大加速度は、予め設定されている値である。本実施形態の場合、最大速度及び最大加速度は、各モータ２７１、２７２の定格値に設定されている。
【００３１】
ここで、通常、各モータ２７１〜２７４には、許容可能なトルクすなわち許容トルクが設定されている。また、軸受部２６にも、許容可能な応力すなわち許容応力が設定されている。なお、以下では、許容トルク及び許容応力を総称して最大許容値と称する。最大許容値は、例えば各モータ２７１〜２７４及び軸受部２６の製造者が設定したものいわゆる定格負荷でも良いし、ロボット制御装置３０のユーザが設定したものでも良い。
【００３２】
初期速度パターン生成部４１は、動作中に各モータ２７１〜２７４に作用する作用トルクや軸受部２６に作用する作用応力を考慮せずに初期速度パターンを生成する。そのため、初期速度パターンでロボット２０を動作させた場合にモータ２７１、２７２に作用する作用トルク及び軸受部２６に作用する作用応力は、図５に示すように、各モータ２７１、２７２及び軸受部２６の最大許容値を上回る場合が生じる。
【００３３】
そこで、速度パターン修正部４２は、速度パターン修正処理を実行する。速度パターン修正処理は、図６に示すように、作用トルク及び作用応力が最大許容値以下となるように初期速度パターンを修正し、これにより修正速度パターンを再生成する処理である。すなわち、速度パターン修正部４２は、まず、図５に示す初期速度パターンについて、作用トルク及び作用応力が極大値となり得る点を特定する。具体的には、速度パターン修正部４２は、初期速度パターン中において、加速開始時点Ｐ１と加速終了時点Ｐ２と定速動作時点Ｐ３と減速開始時点Ｐ４と減速終了時点Ｐ５との少なくとも５つの時点を特定する。
【００３４】
この場合、加速開始時点Ｐ１は、各モータ２７１〜２７４が加速動作を開始した時点、すなわち各モータ２７１〜２７４が静止状態から回転状態に切り替わる時点、換言すれば一連の動作の開始時点である。加速終了時点Ｐ２は、各モータ２７１〜２７４の回転の加速動作が終了し、定速動作に切り替わる時点である。定速動作時点Ｐ３は、各モータ２７１〜２７４の定速回転中の任意の時点である。減速開始時点Ｐ４は、各モータ２７１〜２７４の定速動作が終了し、減速動作に切り替わる時点である。減速終了時点Ｐ５は、各モータ２７１〜２７４が減速動作を終了した時点、すなわち各モータ２７１〜２７４が停止して動作状態から静止状態に切り替わる時点、換言すれば一連の動作の終了時点である。
【００３５】
速度パターン修正部４２は、各時点Ｐ１〜Ｐ５を特定すると、各時点Ｐ１〜Ｐ５におけるロボット２０の姿勢、及び各モータ２７１〜２７４の速度及び加速度を算出する。なお、本実施形態の説明では、単に速度、加速度と称した場合には、各モータ２７１〜２７４の速度及び加速度を意味するものとする。この場合、各モータ２７１〜２７４の速度及び加速度は、角度で表しても良いし回転数で表しても良い。
【００３６】
次に、速度パターン修正部４２は、算出した姿勢、速度、及び加速度から、各時点Ｐ１〜Ｐ５における作用トルク及び作用応力を算出する。ここで、図３及び図４に示すように、ロボット２０の手先重心Ｇに加わるｘ−ｙ方向の力すなわち水平方向の力をＦｈとし、軸受部２６から手先重心Ｇまでの距離をＬ３とすると、軸受部２６に加わる作用応力τＲは、次の（式１）で表される。
【数１】
2018030220.tif 000003
【００３７】
ここで、図３に示すように、ロボット２０の手先の負荷をＭｈとし、手先重心Ｇに加わるｘ−ｙ方向の加速度すなわち水平方向の加速度をａｈとする。すると、軸受部２６に加わる作用応力τＲは、次の（式２）となる。
【数２】
2018030220.tif 000004
【００３８】
また、第１アーム２２の長さ寸法をＬ１とし、第２アーム２３の長さ寸法をＬ２とし、シャフト２４から手先重心Ｇまでのｘ−ｙ方向のオフセットをＰｈｘ，ｙとすると、手先重心Ｇに加わる加速度ａｈは、次の（式３）と表すことができる。
【数３】
2018030220.tif 000005
【００３９】
これにより、速度パターン修正部４２は、速度パターンからロボットの姿勢、速度、及び加速度を算出することで、軸受部２６に加わる作用応力τＲを算出することができる。また、第１アーム２２及び第２アーム２３の長さ寸法Ｌ１、Ｌ２は既知であるため、モータ２７１〜２７４に作用する作用トルクについても同様に、速度パターンからロボット２０の姿勢、速度、及び加速度に基づいて算出することができる。なお、作用応力や作用トルクの算出は、上述した計算式以外の計算式を用いても良い。
【００４０】
速度パターン修正部４２は、図５に示すように各時点Ｐ１〜Ｐ５における作用トルク及び作用応力が最大許容値を超えていた場合、図６に示すように各時点Ｐ１〜Ｐ５における作用トルク及び作用応力が最大許容値以下となるように初期速度パターンを修正し、これにより修正速度パターンを生成する。すなわち、速度パターン修正部４２は、各時点Ｐ１〜Ｐ５において作用トルク及び作用応力が最大許容値以下となるように、初期速度パターンの速度及び加速度を下げた速度パターンを再生成する。
【００４１】
この場合、速度パターン修正部４２は、初期速度パターンを、加速開始時点Ｐ１と減速終了時点Ｐ５とについて順不同で修正し、次に加速終了時点Ｐ２と減速開始時点Ｐ４とについて順不同で修正し、最後に定速動作時点Ｐ３について修正する。具体的には、速度パターン修正部４２は、図２に示すように、第１速度パターン修正部４２１と、第２速度パターン修正部４２２と、第３速度パターン修正部４２３と、確定処理部４２４と、を含んで構成されている。すなわち、速度パターン修正部４２が実行する速度パターン修正処理は、第１修正処理と、第２修正処理と、第３修正処理と、確定処理と、を含んでいる。
【００４２】
第１速度パターン修正部４２１は、第１修正処理を実行する。第１修正処理は、初期速度パターンにおける加速開始時点Ｐ１及び減速終了時点Ｐ５の作用トルク及び作用応力が最大許容値以下となるように、初期速度パターンを修正して修正速度パターンを仮生成する処理である。
【００４３】
第２速度パターン修正部４２２は、第２修正処理を実行する。第２修正処理は、第１速度パターン修正部４２１で仮生成した修正速度パターンすなわち現在の修正速度パターンにおける加速終了時点Ｐ２及び減速開始時点Ｐ４の作用トルク及び作用応力が最大許容値以下となるように、現在の修正速度パターンを更に修正して修正速度パターンを再度仮生成する処理である。
【００４４】
第３速度パターン修正部４２３は、第３修正処理を実行する。第３修正処理は、第２速度パターン修正部４２２で仮生成した修正速度パターンすなわち現在の修正速度パターンにおける定速動作時点Ｐ３の作用トルク及び作用応力が最大許容値以下となるように、現在の修正速度パターンを更に修正して修正速度パターンを再度仮生成する処理である。
【００４５】
確定処理部４２４は、確定処理を実行する。確定処理は、上述した各速度パターン修正部４２１、４２２、４２３で仮生成された修正速度パターンのうち最新のものすなわち現在の修正速度パターンにおける各時点Ｐ１〜Ｐ５の作用トルク及び作用応力が最大許容値以下である場合に、現在の修正速度パターンを、ロボット２０の動作に実際に適用可能な修正速度パターンとして確定する処理である。
【００４６】
駆動制御部４３は、駆動処理を実行する。駆動処理は、速度パターン修正部４２で修正し確定した最新の修正速度パターンに基づいて各モータ２７１〜２７４を駆動し、これによりロボット２０を実際に動作させる処理である。すなわち、駆動制御部４３によって駆動処理が実行されることにより、実際にロボット２０の自動運転が行われる。
【００４７】
以下では、上述した各処理の詳細について説明する。なお、以下の説明では、初期速度パターン生成部４１、速度パターン修正部４２、及び駆動制御部４３によって実行される処理は、全て制御部４０を主体として説明する。
【００４８】
制御部４０は、上位の機器から自動動作を指令する信号が与えられると、図７のステップＳ１１に示すように初期速度パターン生成処理を実行し、これにより図１２に示すような初期速度パターンを生成する。この場合、各モータ２７１〜２７４に作用する作用トルクや軸受部２６に作用する作用応力は考慮されていない。そのため、初期速度パターンに従って実際にロボット２０を動作させると、各モータ２７１〜２７４に作用する作用トルクや軸受部２６に作用する作用応力が許容最大値を超える可能性がある。したがって、初期速度パターンでロボット２０を動作させることは出来ない。
【００４９】
次に、制御部４０は、図７のステップＳ２０に示すように、第１修正処理を実行する。制御部４０は、第１修正処理を実行すると、図８のステップＳ２１において、図１２に示す初期速度パターンについて加速開始時点Ｐ１及び減速終了時点Ｐ５を特定する。次に、制御部４０は、図８のステップＳ２２において、加速開始時点Ｐ１及び減速終了時点Ｐ５におけるロボット２０の姿勢、速度、及び加速度を算出する。
【００５０】
次に、制御部４０は、ステップＳ２３において、ステップＳ２２で算出したロボット２０の姿勢、速度、及び加速度から、図１３に示すように加速開始時点Ｐ１及び減速終了時点Ｐ５における作用トルク及び作用応力を算出する。そして、制御部４０は、ステップＳ２４において、ステップＳ２３で算出した作用トルク及び作用応力が、それぞれ許容トルク及び許容応力以下となっているか判断する。すなわち、制御部４０は、許容トルクに対する作用トルクの割合と、許容応力に対する作用応力の割合とが、それぞれ１００％以下となっているか判断する。なお、以下では、許容トルクに対する作用トルクの割合を、単に作用トルクの割合と称する。また、許容応力に対する作用応力の割合を、単に作用応力の割合と称する。
【００５１】
作用トルク及び作用応力が、それぞれ許容トルク及び許容応力以下つまり最大許容値以下である場合（図８のステップＳ２４でＹＥＳ）、すなわち作用トルクの割合及び作用応力の割合の両方が１００％以下である場合、制御部４０は、ステップＳ２５へ処理を移行し、初期速度パターンを修正することなくそのまま現在の修正速度パターンに設定する。そして、制御部４０は、第１修正処理を終了し（リターン）、図７のステップＳ３０へ処理を移行させる。
【００５２】
一方、作用トルク及び作用応力のいずれか一方でも最大許容値を超えていた場合（図７のステップＳ２４でＮＯ）、すなわち作用トルクの割合及び作用応力の割合のうちいずれか一方でも１００％を越えている場合、制御部４０は、ステップＳ２６、Ｓ２７を実行して、作用トルク及び作用応力が最大許容値以下となるように初期速度パターンを修正する。
【００５３】
ここで、作用トルク及び作用応力は、共に姿勢、速度、及び加速度に依存する。しかし、加速開始時点Ｐ１及び減速終了時点Ｐ５において、ロボット２０の姿勢は動作開始位置及び動作目標位置となり、また、この時点Ｐ１、Ｐ５における速度は０となる。そのため、加速開始時点Ｐ１及び減速終了時点Ｐ５における作用トルク及び作用応力は、加速度のみに依存する。このため、加速開始時点Ｐ１及び減速終了時点Ｐ５における作用トルク及び作用応力が、許容トルク及び許容応力を超えている場合、制御部４０は、作用トルクの割合と作用応力の割合とのうち大きい方を基準に、現在の加速度つまり初期速度パターンにおける加速度を修正する。この場合、修正後の加速度は、下記の（式４）で表すことができる。なお、以下では、修正後の加速度を、修正加速度と称する。
【数４】
2018030220.tif 000006
【００５４】
この場合、制御部４０は、作用トルクの割合と作用応力の割合とのうち大きい方の値が１００％となるように加速度を設定する。例えば本実施形態の場合、図１３に示すように、初期速度パターンの加速開始時点Ｐ１及び減速終了時点Ｐ５について見ると、作用応力の割合よりも作用トルクの割合の方が大きい。そのため、制御部４０は、図８のステップＳ２６において、図１４及び図１５に示すように作用トルクが許容トルク以下となるような加速度、すなわち作用トルクの割合が１００％以下となるような加速度を算出する。なお、作用応力の割合は作用トルクの割合よりも小さいため、作用トルクの割合が１００％以下となれば、図１３に示すように作用応力の割合も必然的に１００％以下となる。なお、本実施形態の場合、制御部４０は、作用トルクの割合が１００％となるような加速度を算出する。
【００５５】
そして、制御部４０は、ステップＳ２７において、ステップＳ２６で算出した加速度を用いて初期速度パターンを修正し、これにより修正速度パターンを仮生成する。そして、制御部４０は、第１修正処理を終了し（リターン）、図７のステップＳ３０へ処理を移行させる。この場合、仮生成とは、生成した修正速度パターンをロボット２０の実際の動作に用いるかどうかは未定であることを意味する。
【００５６】
次に、制御部４０は、図７に示すステップＳ３０において、第２修正処理を実行する。制御部４０は、ステップＳ３０の第２修正処理を実行すると、図９のステップＳ３１において、第１修正処理で仮生成した修正速度パターンすなわち図１５に実線で示す現在の修正速度パターンについて、加速終了時点Ｐ２及び減速開始時点Ｐ４を特定する。次に、制御部４０は、図９のステップＳ３２において、加速終了時点Ｐ２及び減速開始時点Ｐ４におけるロボット２０の姿勢、速度、及び加速度を算出する。
【００５７】
次に、制御部４０は、ステップＳ３３において、ステップＳ３２で算出したロボット２０の姿勢、速度、及び加速度から、図１６に示すように加速終了時点Ｐ２及び減速開始時点Ｐ４における作用応力を算出する。加速終了時点Ｐ２及び減速開始時点Ｐ４における作用応力は、下記の（式５）により計算することができる。
【数５】
2018030220.tif 000007
【００５８】
次に、制御部４０は、図９のステップＳ３４において、ステップＳ３３で算出した作用応力が許容応力以下となっているか、すなわち作用応力の割合が１００％以下となっているかを判断する。作用応力が、許容応力以下である場合（ステップＳ３４でＹＥＳ）、すなわち作用応力の割合が１００％以下である場合、制御部４０は、図１０のステップＳ３９へ処理を移行させる。
【００５９】
一方、作用応力が許容応力つまり最大許容値を超えていた場合（図９のステップＳ３４でＮＯ）、すなわち作用応力の割合が１００％を越えている場合、制御部４０は、ステップＳ３５、Ｓ３６を実行して、作用応力が最大許容値以下となるように現在の修正速度パターンを修正する。この場合、修正速度及び修正加速度は、下記の（式６）、（式７）で表される。
【数６】
2018030220.tif 000008
【００６０】
ここで、図１６に示すように、加速終了時点Ｐ２及び減速開始時点Ｐ４における作用応力はそれぞれ異なる。この場合、加速終了時点Ｐ２における作用応力の割合と、減速開始時点Ｐ４における作用応力との割合とがそれぞれ丁度１００％となるように速度及び加速度を修正しようとすると、速度パターンが大きく変わってしまう。すると、作用応力の確認が必要な箇所が上述した５つの時点Ｐ１〜Ｐ５以外にも増えてしまい、その結果、処理が複雑となってしまう。
【００６１】
そこで、本実施形態では、加速終了時点Ｐ２及び減速開始時点Ｐ４について算出した修正速度のうちより小さい方を採用する。例えば図１６では、減速開始時点Ｐ４における作用応力は、加速終了時点Ｐ２における作用応力よりも大きい。この場合、上記（式６）によれば、減速開始時点Ｐ４に対する修正速度は、加速終了時点Ｐ２に対する修正速度よりも小さくなる。したがって、加速終了時点Ｐ２に対する修正速度も、減速開始時点Ｐ４に対する修正速度と同一の値を適用する。この場合、加速終了時点Ｐ２に対する修正加速度も、減速開始時点Ｐ４に対する修正加速度と同一の値を適用する。
【００６２】
すなわち、この場合、図１７に示すように、加速終了時点Ｐ２における作用応力と、減速開始時点Ｐ４における作用応力とは、同一の下げ率で低減される。この場合、制御部４０は、作用トルクの割合と作用応力の割合とのうち大きい方の値が１００％となるよう速度及び加速度を算出する。そして、制御部４０は、図９のステップＳ３６において、ステップＳ３５で算出した速度及び加速度を用いて現在の修正速度パターンを更に修正し、これにより図１８に実線で示すような修正速度パターンを再度仮生成する。
【００６３】
次に、制御部４０は、図１０のステップＳ３７へ処理を移行させる。制御部４０は、ステップＳ３７において、現在の修正速度パターンすなわち図１８に実線で示す修正速度パターンについて、加速終了時点Ｐ２及び減速開始時点Ｐ４を特定する。次に、制御部４０は、図１０のステップＳ３８において、加速終了時点Ｐ２及び減速開始時点Ｐ４におけるロボット２０の姿勢、速度、及び加速度を算出する。
【００６４】
次に、制御部４０は、ステップＳ３９において、ステップＳ３８で算出したロボット２０の姿勢、速度、及び加速度から、図１９に示すように加速終了時点Ｐ２及び減速開始時点Ｐ４における作用トルクを算出する。そして、制御部４０は、ステップＳ４０において、ステップＳ３９で算出した作用トルクが許容トルク以下となっているか、すなわち作用トルクの割合が１００％以下となっているかを判断する。
【００６５】
作用トルクが許容トルクつまり最大許容値を超えていた場合（ステップＳ４０でＮＯ）、すなわち作用トルクの割合が１００％を越えている場合、制御部４０は、ステップＳ４１を実行して、作用トルクが最大許容値以下つまり許容トルク以下となるような速度及び加速度を算出する。
【００６６】
ここで、図２０に示すグラフは、回転数とトルクとの相関関係、すなわち回転数に対応した許容トルクを示している。制御部４０は、図１０のステップＳ４１において、加速終了時点Ｐ２及び減速開始時点Ｐ４における作用トルクが、この図２０の実線で示す範囲内に入るように、修正速度及び修正加速度を決定する。
【００６７】
ここで、図２０において、回転数は速度に対応し、トルクは加速度に対応している。そのため、許容トルクの範囲外にある作用トルクＴ０を修正する場合、まず速度を決定しその後加速度を決定する順序と、まず加速度を決定しその後速度を決定する順序とがある。この場合、前者の順序では修正後の作用トルクはＴ１となり、後者の順序では修正後の作用トルクはＴ２となる場合がある。つまり、速度及び加速度の修正順序によって、その結果が変わる場合がある。そこで、本実施形態では、上述した２つの順序すなわちまず速度を決定しその後加速度を決定する第１順序と、まず加速度を決定しその後速度を決定する第２順序との両方について速度パターンを計算し、この２つの結果のうち動作時間がより短い方を採用する。
【００６８】
そして、制御部４０は、図１０のステップＳ４２において、ステップＳ４１で算出した速度及び加速度を用いて現在の修正速度パターンを更に修正し、これにより図２１に実線で示すように、現在の修正速度パターンを修正して修正速度パターンを再度仮生成する。ここで、作用トルクを基準にして速度パターンを修正すると、作用応力が変化する可能性がある。そのため、制御部４０は、ステップＳ４２を実行した場合には、図９のステップＳ３１へ戻って再度作用応力を確認する。
【００６９】
例えば図２２では、ステップＳ４１、Ｓ４２において作用トルクを基準に速度パターンを修正したために、図１９に示す修正前の作用応力に比べて図２２の作用応力方が若干大きくなっている。そのため、制御部４０は、図９のステップＳ３１〜Ｓ３６を再度実行する。
【００７０】
そして、制御部４０は、ステップＳ３１〜ステップＳ４２を繰り返し、その結果、ステップＳ４０において作用トルクが許容トルク以下となった場合（ステップＳ４０でＹＥＳ）、ステップＳ４３へ処理を移行させ、図９のステップＳ３４において作用応力が最大許容値以下であったか否か、すなわちステップＳ３４でＹＥＳであったか否かを判断する。図９のステップＳ３４において作用応力が最大許容値以下でなかった場合（図９のステップＳ３４でＮＯ、かつ、図１０のステップＳ４３でＮＯ）、制御部４０は、図９のステップＳ３１へ処理を移行させ、再度作用応力を確認する。
【００７１】
一方、図９のステップＳ３４において作用応力が最大許容値以下であった場合（図９のステップＳ３４でＹＥＳ、かつ、図１０のステップＳ４３でＹＥＳ）、第２修正処理を終了し（リターン）、図７のステップＳ５０へ処理を移行させる。換言すれば、制御部４０は、図２３及び図２４に示すように、現在の修正速度パターンにおいて、加速終了時点Ｐ２及び減速開始時点Ｐ４における作用応力及び作用トルクが全て最大許容値以下（図９のステップＳ３４でＹＥＳ、かつ、図１０のステップＳ４３でＹＥＳ）となった場合に第２修正処理を終了し（リターン）、図７のステップＳ５０へ処理を移行させる。
【００７２】
次に、制御部４０は、図７に示すステップＳ５０において、第３修正処理を実行する。制御部４０は、ステップＳ５０の第３修正処理を実行すると、図１１のステップＳ５１において、図２５に示す現在の修正速度パターンすなわち最新の速度パターンについて、定速動作時点Ｐ３を特定する。この場合、第３修正処理では、第２修正処理の場合と違い、姿勢が変数として残っているため、速度パターンからだけでは、どの姿勢の時点で作用応力及び作用トルクが極大値となるか判断することができない。そこで、制御部４０は、例えば次のようにして、定速動作時点Ｐ３を設定する。
【００７３】
すなわち、制御部４０は、例えば図２５又は図２７に示すように、加速終了時点Ｐ２から減速開始時点Ｐ４までの間の定速動作期間Ｔを所定の分割数Ｎで分割し、その分割された各期間ａ１〜ａ（Ｎ）の各境界点Ｋ１〜Ｋ（Ｎ−１）について作用トルク及び作用応力を算出する。そして、その各境界点Ｋ１〜Ｋ（Ｎ−１）のうち作用トルク及び作用応力が最大となる時点を定速動作時点Ｐ３として設定する。この場合、分割数Ｎは、２以上の正の整数である。
【００７４】
図２５の例は、図２３の修正後の修正速度パターンを現在の修正速度パターンとしたものであるが、この図２５の例において、定速動作期間Ｔにおける作用応力は、図２６に示すように略単調増加となっている。この場合、各境界点Ｋ１〜Ｋ（Ｎ−１）のうち作用応力が最大となる時点は、Ｋ（Ｎ−１）となる。そのため、制御部４０は、各境界点Ｋ１〜Ｋ（Ｎ−１）のうち作用応力が最大となる時点Ｋ（Ｎ−１）を、定速動作時点Ｐ３に設定する。
【００７５】
また、図２７の例は、図２３の修正後の修正速度パターンとは異なる修正速度パターンを、現在の修正速度パターンとしたものであるが、この図２７の例において、定速動作期間Ｔにおける作用応力は、図２８に示すように定速動作期間Ｔの中央付近を極大値とする２次関数的なものとなっている。この場合、各境界点Ｋ１〜Ｋ（Ｎ−１）のうち作用トルク及び作用応力が最大となる時点をＫ（ｘ）とすると、制御部４０は、各境界点Ｋ１〜Ｋ（Ｎ−１）のうち作用応力が最大となる時点Ｋ（ｘ）を、定速動作時点Ｐ３に設定する。
【００７６】
ここで、各期間ａ１〜ａ（Ｎ）の時間の長さを一期間時間ｔとすると、分割数Ｎと定速動作期間Ｔと一期間時間ｔとの関係は、下記の（式８）となる。
Ｎ＝Ｔ／ｔ・・・（式８）
この場合、定速動作期間Ｔは、修正速度パターン毎に異なる変数値である。そのため、上記（式８）において、分割数Ｎを一定値にした場合には一期間時間ｔが変数値となり、一期間時間ｔ一定値にした場合には分割数Ｎが変数値となる。本実施形態では、分割数Ｎを一定値にして一期間時間ｔを変数値としても良いし、一期間時間ｔを一定値にして分割数Ｎを変数値としても良い。
【００７７】
この場合、分割数Ｎを大きくするほど、一期間時間ｔが小さくなって定速動作期間Ｔにおける作用トルク及び作用応力の確認精度が密となる。その結果、隣接する各境界点Ｋ〜Ｋ（Ｎ−１）間つまり各期間ａ１〜ａ（Ｎ）内に作用応力及び作用トルクの極大値が出現する可能性が低くなる。しかし、分割数Ｎの増大に伴って計算に要する処理量も増大する。一方、分割数Ｎを小さくするほど、計算に要する処理量も減少するが、一期間時間ｔが大きくなって定速動作期間Ｔにおける作用トルク及び作用応力の確認精度が粗くなる。その結果、隣接する各境界点Ｋ〜Ｋ（Ｎ−１）間つまり各期間ａ１〜ａ（Ｎ）内に作用応力及び作用トルクの極大値が出現する可能性は高くなる。
【００７８】
分割数Ｎを一定値にした場合、定速動作期間Ｔの長さが変動しても計算に要する処理量は変動しないため、予め処理量を予測し易い。しかしながらこの場合、定速動作期間Ｔの長さの変動に伴って一期間時間ｔの長さも変動するため、定速動作期間Ｔの長さによって作用トルク及び作用応力の確認精度が変化する。一方、一期間時間ｔを一定値にした場合、定速動作期間Ｔの長さが変動しても一期間時間ｔの長さは変動しないため、作用トルク及び作用応力の確認精度を一定に維持することができる。しかしながらこの場合、定速動作期間Ｔの長さの変動に伴って分割数Ｎが増減する。すなわち、この場合、定速動作期間Ｔが長くなるほど、分割数Ｎが増大し、その結果、処理量も増大する。したがって、本実施形態においてユーザは、定速動作時点Ｐ３の特定方法に関して、計算に要する処理量と、作用トルク及び作用応力の確認精度との均衡を考慮したうえで、分割数Ｎを一定値とするか、一期間時間とを一定値とするかを決めることができる。
【００７９】
また、制御部４０は、例えば次のようにして、定速動作時点Ｐ３を設定することもできる。すなわち、例えば制御部４０は、定速動作期間の中心近傍として、図２５に示すように定速動作期間をＮ分割したうち定速動作期間の中心寄りのＮ／２個の区間の範囲内で定速動作時点Ｐ３を設定する。なお、Ｎが偶数の場合は、Ｎ／２は切り上げ又は切り捨てるものとする。分割数Ｎ＝２である場合すなわち定速動作期間を２分割した場合には、定速動作時点Ｐ３は定速動作期間の中心に設定される。
【００８０】
次に、制御部４０は、図１１のステップＳ５２において、定速動作時点Ｐ３におけるロボット２０の姿勢、速度、及び加速度を算出する。その後、制御部４０は、ステップＳ５３において、ステップＳ５２で算出したロボット２０の姿勢、速度、及び加速度から、図２６に示すように定速動作時点Ｐ３における作用応力を算出する。
【００８１】
次に、制御部４０は、ステップＳ５４において、ステップＳ５３で算出した定速動作時点Ｐ３における作用トルク及び作用応力が最大許容値以下となっているか、すなわち作用トルクの割合及び作用応力の割合が１００％以下となっているかを判断する。例えば図２６に示すように、定速動作時点Ｐ３における作用トルク及び作用応力が、最大許容値以下である場合（ステップＳ５４でＹＥＳ）、制御部４０は、確定処理を行い、現在の修正速度パターンすなわち最新の修正速度パターンを、ロボット２０に実際に適用する修正速度パターンとして確定する。そして、制御部４０は、第３修正処理を終了（リターン）、図７に示すステップＳ１２へ処理を移行させる。
【００８２】
一方、図２８に示すように、定速動作時点Ｐ３における作用トルク及び作用応力が、最大許容値を超えている場合（ステップＳ５４でＮＯ）、制御部４０は、ステップＳ５５へ処理を移行させる。そして、制御部４０は、ステップＳ５５において、図２９に示すように、作用トルク及び作用応力が最大許容値以下となるような速度及び加速度を算出する。この場合、制御部４０は、図２９に示すように、作用トルクの割合と作用応力の割合とのうち大きい方の値が１００％となるような速度及び加速度を算出する。
【００８３】
そして、制御部４０は、図１１のステップＳ５６において、ステップＳ５５で算出した速度及び加速度を用いて現在の修正速度パターンを更に修正し、これにより図３０に示すように、修正速度パターンを再度仮生成する。そして、制御部４０は、第３修正処理を終了すると（リターン）、図７に示すステップＳ１２へ処理を移行させる。
【００８４】
次に、制御部４０は、図７のステップＳ１２において、修正速度パターンが確定したか、すなわち図１１のステップＳ５７において確定処理が実行されたか否かを判断する。ステップＳ５７の確定処理が実行されていない場合（ステップＳ５７でＮＯ）、作用トルク及び作用応力のうちいずれか一方又は両方が、最大許容値を超えている可能性がある。したがってこの場合、制御部４０は、ステップＳ３０へ処理を移行させ、再度ステップＳ３０の第２修正処理とステップＳ５０の第３修正処理とを繰り返す。一方、ステップＳ５７の確定処理が実行されている場合（ステップＳ５７でＹＥＳ）、制御部４０は、ステップＳ１３において駆動処理を実行し、確定した修正速度パターンでロボット２０を実際に動作させる。そして、制御部４０は、一連の処理を終了する（エンド）。
【００８５】
以上説明した実施形態によれば、ロボット制御装置３０は、初期速度パターン生成部４１と、速度パターン修正部４２と、駆動制御部４３と、を備えている。初期速度パターン生成部４１は、スカラ型ロボット２０の少なくとも水平軸を駆動させるモータすなわち第１アーム２２及び第２アーム２３を駆動させる第１軸用モータ２７１及び第２軸用モータ２７２に対し、予め設定された最大速度及び最大加速度でモータの初期速度パターンを生成する。速度パターン修正部４２は、初期速度パターン生成部４１で生成された初期速度パターンについて、加速開始時点Ｐ１と加速終了時点Ｐ２と定速動作時点Ｐ３と減速開始時点Ｐ４と減速終了時点Ｐ５とを特定する。そして、速度パターン修正部４２は、各時点Ｐ１〜Ｐ５において、少なくとも第１軸用モータ２７１と第２軸用モータ２７２とに作用する作用トルク、及びロボット２０の垂直軸すなわちシャフト２４の軸受部２６に作用する作用応力が、それぞれ第１軸用モータ２７１と第２軸用モータ２７２との許容トルク及び軸受部２６の許容応力以下となるように、初期速度パターンを修正した修正速度パターンを生成する。そして、駆動制御部４３は、速度パターン修正部４２で修正した修正速度パターンに基づいてロボット２０を駆動制御する。
【００８６】
すなわち、ロボット制御装置３０は、例えば上位の機器等から動作指令を受信した場合、実際にロボット２０を動作させる前に現在地から目的地までの速度パターン、すなわち動作前の姿勢から動作後の姿勢に移行する際の各モータ２７１〜２７４の速度パターンを生成する。そして、ロボット制御装置３０は、その速度パターンでロボット２０を動作させた場合に、各モータ２７１〜２７４に作用するトルクや軸受部２６に作用する応力が許容範囲内であるか否かをシミュレートし、最大許容値を超えていれば最大許容値以下となるような速度パターンを再生成する。
【００８７】
これによれば、ロボット制御装置３０は、一連の動作のうち５つの時点Ｐ１〜Ｐ５における作用トルク及び作用応力を確認している。この各時点Ｐ１〜Ｐ５は、ロボット２０の姿勢や速度、加速度が変化する時点、すなわち作用トルク及び作用応力が極大値となり得る時点である。そのため、各時点Ｐ１〜Ｐ５における作用トルク及び作用応力が最大許容値を超えていなければ、他の時点においても最大許容値を超えていないと推定できる。
【００８８】
すなわち、これによれば、ロボット制御装置３０は、上記の５つの時点Ｐ１〜Ｐ５を考慮することで、動作中の姿勢の変化に応じた速度パターンを生成することができる。したがって、動作全体に亘ってロボット２０が可能な最大の動作速度に近い値で動作させることができ、その結果、動作中の安全を確保しつつ、従来のように動作全体に亘って動作速度を一律に制限した場合に比べて効率良く動作させることができる。
【００８９】
この場合、速度パターンの生成方法としては、例えば各時点Ｐ１〜Ｐ５における作用トルク及び作用応力が最大許容値に対して十分に低い値となるような初期速度パターンを生成し、その後、作用トルク及び作用応力を最大許容値付近まで上げた速度パターンを再生成する手法が考えられる。しかしながら、この手法では、各時点Ｐ１〜Ｐ５における作用トルク及び作用応力を上げると、各時点Ｐ１〜Ｐ５以外の箇所における作用トルク及び作用応力も増大する可能性がある。このため、上記手法では、初期速度パターンを修正することによって、予想していなかった箇所においての作用トルク及び作用応力が増大し、作用トルク及び作用応力が最大許容値を超えていることを見逃してしまうおそれがある。
【００９０】
一方、本実施形態によれば、ロボット制御装置３０は、例えばモータ２７１〜２７４の定格値等、予め設定された最大速度及び最大加速度で初期速度パターンを生成する。そして、ロボット制御装置３０は、各時点Ｐ１〜Ｐ５における作用トルク及び作用応力が許容トルク及び許容応力以下となるように、これら作用トルク及び作用応力を下げるようにして初期速度パターンを修正する。したがって、この手法によれば、初期速度パターンを修正する際に、各時点Ｐ１〜Ｐ５における作用トルク及び作用応力を上げることがないため、各時点Ｐ１〜Ｐ５以外の箇所における作用トルク及び作用応力も増大することが無い。そのため、初期速度パターンを修正することによって予想していなかった箇所においての作用トルク及び作用応力の増大を防ぐことができ、したがって、作用トルク及び作用応力が最大許容値を超えたことを見逃してしまうことを抑制することできる。その結果、最終的に得られた修正速度パターンをより安全なものとすることができる。
【００９１】
更に、この構成によれば、ロボット制御装置３０は、上記の５つの時点Ｐ１〜Ｐ５を基準に計算を行っている。そのため、動作全体に亘って随時作用トルクや作用応力を計算した場合に比べて、その計算量を格段に抑制することができる。その結果、ロボット制御装置３０の処理負担の増大を抑制することができる。これらの結果、本実施形態によれば、ロボット制御装置３０は、処理負担の増大を極力抑制しつつ指令された動作全体に亘って効率的な動作速度すなわち速度パターンを得ることができる。
【００９２】
ここで、上述したように、定速動作時点Ｐ３においては、作用トルク及び作用応力が必ずしも極大値をとるとは限らない。すなわち、制御部４０が特定した定速動作時点Ｐ３において、作用トルク及び作用応力が必ずしも実際に極大値をとるとは限らない。この場合、制御部４０は、何ら手当をしなければ、実際に作用トルク及び作用応力が極大値となる時点に対して前後に大きくずれた時点を定速動作時点として特定してしまう可能性がある。
【００９３】
そこで、制御部４０は、例えば図２５又は図２７に示すように、加速終了時点Ｐ２から減速開始時点Ｐ４までの間の定速動作期間Ｔを所定の分割数Ｎで分割し、その分割された各期間ａ１〜ａ（Ｎ）の各境界点Ｋ１〜Ｋ（Ｎ−１）について作用トルク及び作用応力を算出する。そして、その各境界点Ｋ１〜Ｋ（Ｎ−１）のうち作用トルク及び作用応力が最大となる時点を定速動作時点Ｐ３として設定する。
【００９４】
これによれば、制御部４０は、定速動作期間Ｔ内において複数の時点Ｋ１〜Ｋ（Ｎ−１）の作用応力及び作用トルクを確認したうえで、定速動作時点Ｐ３を設定している。そのため、制御部４０が特定した定速動作時点Ｐ３が、実際に作用トルク及び作用応力が極大値となる時点から大きくずれてしまうことを防ぐことができ、その結果、定速動作期間Ｔにおける作用トルク及び作用応力の確認精度をより高いものとすることができる。
【００９５】
また、制御部４０は、定速動作時点Ｐ３における作用トルク及び作用応力が、許容トルク及び許容応力よりも更に所定値分低い値となるように、定速動作時点Ｐ３における作用トルク及び作用応力を下げることで、修正速度パターンを更に修正して修正速度パターンを再度仮生成するようにしても良い。
【００９６】
すなわち、上述した第１修正処理及び第２修正処理では、各時点Ｐ１、Ｐ２、Ｐ４、Ｐ５における作用トルクの割合及び作用応力の割合のうち大きい方の値が１００％となるように速度及び加速度を決定した。これに対し、第３修正処理では、定速動作時点Ｐ３における作用トルクの割合及び作用応力の割合のうち大きい方の値が、１００％よりもさらに所定分例えば１０％低い９０％となるように速度及び加速度を決定しても良い。これによれば、定速動作時点Ｐ３における作用トルク及び作用応力の下げ率に余裕を持たせているため、定速動作期間における作用トルク及び作用応力の極大値が、仮に定速動作時点Ｐ３からずれていた場合であっても、その極大値において作用トルク及び作用応力が最大許容値を超えてしまうことを極力避けることができる。なお、この場合、所定分は、例えば最大許容値の１０％に設定されているが、これに限られず、動作内容やロボット２０の特性等に応じて適宜変更することができる。
【００９７】
なお、本発明の実施形態は、上記し且つ図面に記載した一実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲において適宜変更することができる。
【符号の説明】
【００９８】
図面中、２０はスカラ型ロボット、２２は第１アーム（水平軸）、２３は第２アーム（水平軸）、２４はシャフト（垂直軸）、２６は軸受部、２７１は第１軸用モータ（モータ）、２７２は第２軸用モータ（モータ）、２７３は第３軸用モータ（モータ）、２７４は第４軸用モータ（モータ）、３０はロボット制御装置、４１は初期速度パターン生成部、４２は速度パターン修正部、４３は駆動制御部、を示す。
【図１】
2018030220.tif 000009
【図２】
2018030220.tif 000010
【図３】
2018030220.tif 000011
【図４】
2018030220.tif 000012
【図５】
2018030220.tif 000013
【図６】
2018030220.tif 000014
【図７】
2018030220.tif 000015
【図８】
2018030220.tif 000016
【図９】
2018030220.tif 000017
【図１０】
2018030220.tif 000018
【図１１】
2018030220.tif 000019
【図１２】
2018030220.tif 000020
【図１３】
2018030220.tif 000021
【図１４】
2018030220.tif 000022
【図１５】
2018030220.tif 000023
【図１６】
2018030220.tif 000024
【図１７】
2018030220.tif 000025
【図１８】
2018030220.tif 000026
【図１９】
2018030220.tif 000027
【図２０】
2018030220.tif 000028
【図２１】
2018030220.tif 000029
【図２２】
2018030220.tif 000030
【図２３】
2018030220.tif 000031
【図２４】
2018030220.tif 000032
【図２５】
2018030220.tif 000033
【図２６】
2018030220.tif 000034
【図２７】
2018030220.tif 000035
【図２８】
2018030220.tif 000036
【図２９】
2018030220.tif 000037
【図３０】
2018030220.tif 000038