ロボットの制御方法およびロボットの制御装置
【課題】動作時間を引き延ばすことなく、PTP動作を行う際に消費するエネルギーを低減する。
【解決手段】ロボットをPTP制御する際、各軸単位での動作時間が最も短くなるように各軸を駆動するための速度指令を演算する演算処理を実行し、それら演算された各速度指令を実行するタイミングを決定するタイミング決定処理を実行する。タイミング決定処理では、動作時間の長い速度指令から順に基準パターンに設定し、その基準パターンの減速が開始されるまでに、その次に動作時間の長い速度指令である比較パターンの減速が終了可能であるか否かが判断される。その判断の結果、基準パターンの減速開始までに比較パターンの減速が終了可能である場合、比較パターンの動作終了時点が基準パターンの減速開始時点に一致するように比較パターンを実行するタイミングを決定する。
【解決手段】ロボットをPTP制御する際、各軸単位での動作時間が最も短くなるように各軸を駆動するための速度指令を演算する演算処理を実行し、それら演算された各速度指令を実行するタイミングを決定するタイミング決定処理を実行する。タイミング決定処理では、動作時間の長い速度指令から順に基準パターンに設定し、その基準パターンの減速が開始されるまでに、その次に動作時間の長い速度指令である比較パターンの減速が終了可能であるか否かが判断される。その判断の結果、基準パターンの減速開始までに比較パターンの減速が終了可能である場合、比較パターンの動作終了時点が基準パターンの減速開始時点に一致するように比較パターンを実行するタイミングを決定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータにより駆動される複数の軸を有するロボットの手先を現在位置から目標位置までPTP動作により移動させる際におけるロボットの制御方法およびロボットの制御装置に関する。
【背景技術】
【0002】
ロボットの各関節(各軸)は、それぞれモータにより駆動されるようになっており、これらモータは、コントローラに内蔵されるモータアンプにより駆動される。モータアンプは、例えばインバータ回路を主体として構成されており、電源回路から一対の電源線を介して与えられる直流電圧(バス電圧)を所定の周波数を持つ交流電圧に変換してモータへの電力供給を行う。
【0003】
このような構成において、モータを減速動作させる際にはモータ側からモータアンプ側にエネルギーが回生され、これに伴いバス電圧が上昇する。そのため、コントローラには、電源線に接続される各回路素子(インバータ回路のスイッチング素子、電源線間に接続されるコンデンサなど)の定格を超えてバス電圧が上昇しないように、上記回生されたエネルギー(回生エネルギー)を熱エネルギーに変換して放出する回生消費回路が設けられている。
【0004】
回生消費回路では、電源線間に直列に設けられた回生抵抗に回生電流を流すことで、回生エネルギーを熱エネルギーに変換している。つまり、回生エネルギーは、有効利用されることなく、回生消費回路により消費されていた。特に、ロボットの手先を現在位置から目標位置までPTP(Point to Point)動作により移動させるように制御する際には、上記回生エネルギーによるロスが顕著に表れる。
【0005】
図14は、6軸の垂直多関節型ロボットをPTP制御する際における各軸を駆動するための速度指令およびバス電圧の一例を示している。PTP制御では、現在位置から目標位置までの間におけるロボットの姿勢などについては制限されない。そのため、通常は、動作時間が最も長くなる軸(図14では第1軸J1)の速度指令に対して加速期間や減速期間を合わせるように他の軸(図14では第2軸J2〜第6軸J6)に対する速度指令が求められる。すなわち、一般的なPTP制御では、各軸の減速期間が重なるため、その減速期間にモータ側から回生される回生エネルギーが大きくなる。そのため、減速期間におけるバス電圧の上昇量も大きくなり、回生消費回路において熱として消費されるエネルギーも大きくなってしまう。
【0006】
一方、特許文献1には、回生時にバッテリおよびインバータ間の電力供給経路に直列に介在するスイッチをオンすることでモータ側から回生するエネルギーをバッテリにて回収する構成が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2010−22157号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ロボットのシステムにおいて、各軸を駆動するモータに電力を供給するための電源線間には、バッテリと比べて容量の小さいコンデンサが接続されるのが一般的である。つまり、ロボットのシステムにおいては、そもそもバッテリを設けること自体が想定されていない。そのため、バッテリに回生エネルギーを回収するという特許文献1に記載された従来技術をロボットのシステムに適用することはできない。
【0009】
一方、各軸の動作時間を引き延ばせば、減速期間におけるバス電圧の上昇量を比較的低く抑えることが可能となり、回生消費回路において熱として消費される無駄なエネルギーは低減される。しかし、本来、ロボットが工場などにおいて用いられる意義は、早く且つ正確に所定の作業を繰り返し実行するところにある。従って、消費エネルギーの低減を重視して動作時間をむやみに長くするということは、上記したロボットが用いられる意義に反するため、好ましい解決手法とは言えない。
【0010】
本発明は上記事情に鑑みてなされたものであり、その目的は、動作時間を引き延ばすことなく、PTP動作を行う際に消費するエネルギーを低減することができるロボットの制御方法およびロボットの制御装置を提供することにある。
【課題を解決するための手段】
【0011】
請求項1または4に記載の手段によれば、複数の軸を有するロボットの手先を現在位置から目標位置までPTP(Point to Point)動作により移動させる際、各軸に対する速度指令をそれぞれ演算する演算処理を実行し、それら演算された各速度指令のタイミングを決定するタイミング決定処理を実行する。演算処理では、各軸単位での動作時間が最も短くなるように各軸を駆動するための速度指令が演算される。通常、PTP動作における速度指令は、加速期間から始まって減速期間で終わるようになっている。なお、加速期間および減速期間の間に等速期間が含まれる場合もある。すなわち、速度指令は、いわゆる三角形状または台形状のパターンになる。
【0012】
一般に、PTP動作を行うロボットの制御においては、動作時間が最も長くなる軸の速度指令に対して加速期間や減速期間を合わせるように他の軸に対する速度指令が求められる。すなわち、一般的なPTP動作では、各軸が同時に動作を開始して同時に動作を終了するような速度指令が求められる。これに対し、本手段の演算処理では、例えばロボットの仕様上あるいは構造上における制限範囲内の最高加速度でもって各軸を駆動するための速度指令が求められる。また、通常、上記最高加速度や移動量(回転量)は、軸ごとに異なる。従って、本手段の演算処理で求められる各速度指令は、基本的には互いに動作時間が異なることになる。そのため、後述するタイミング決定処理において、各速度指令を実行するタイミングを、全体の動作時間の範囲内で適宜設定することが可能となる。
【0013】
タイミング決定処理では、演算された各速度指令のうち、軸の動作時間が最も長くなる速度指令における動作開始時点(加速開始時点)が全体の動作開始時点として規定され、その軸の動作時間が最も長くなる速度指令を実行するタイミングが決定される。そして、上記軸の動作時間が最も長くなる速度指令が基準パターンに設定される。また、基準パターンの次に軸の動作時間が長くなる速度指令が比較パターンに設定される。そして、全体の動作開始時点から基準パターンにおける減速開始時点までの第1の時間と、比較パターンにおける動作開始時点(加速開始時点)から動作終了時点(減速終了時点)までの第2の時間(比較パターン単体での動作時間に相当)とが比較される。すなわち、基準パターンに対応する軸の減速が開始されるまでに比較パターンに対応する軸の動作が終了可能であるか否かが判断される。
【0014】
上記比較の結果、第1の時間が第2の時間より長い場合、つまり基準パターンに対応する軸の減速が開始されるまでに比較パターンに対応する軸の動作が終了可能である場合には、比較パターンにおける動作終了時点が基準パターンにおける減速開始時点に一致するように比較パターンのタイミングが決定される。このようにすれば、基準パターンに対応する軸の減速が開始されるまでに比較パターンに対応する軸の減速が終了することになる。すなわち、基準パターンおよび比較パターンの減速期間が互いに重ならなくなる。
【0015】
一方、上記比較の結果、第1の時間が第2の時間より短い場合、つまり基準パターンに対応する軸の減速が開始されるまでに比較パターンに対応する軸の動作が終了可能でない場合には、比較パターンにおける動作開始時点が全体の動作開始時点に一致するように比較パターンのタイミングが決定される。第1の時間が第2の時間より短い場合、基準パターンおよび比較パターンの減速期間が完全に重ならないようなタイミング設定は不可能である。しかし、上記したようなタイミング設定によれば、基準パターンおよび比較パターンの減速期間が重なる期間を出来る限り短くすることが可能となる。
【0016】
比較パターンのタイミングが決定された後、そのタイミングが決定された比較パターンが次の基準パターンに設定される。また、その比較パターンの次に軸の動作時間が長くなる速度指令が次の比較パターンに設定される。つまり、基準パターンおよび比較パターンが再設定される。その後、第1および第2の時間の比較と、比較パターンのタイミングの決定と、基準パターンおよび比較パターンの再設定とが、次の比較パターンの設定対象となる速度指令が存在しなくなるまで繰り返し実行される。すなわち、動作時間が最も長い速度指令から動作時間が2番目に短い速度指令まで順に、その次に動作時間の長い速度指令との間での上記比較が行われることにより、最終的に全ての速度指令のタイミングが決定される。
【0017】
このようなタイミング決定処理により、全体の動作時間を従来と同等にした上で、各速度指令における減速期間が重複する期間が極力少なくなり、減速動作のタイミングが分散化される。減速動作のタイミングが分散化されれば、各減速期間においてモータから回生される回生エネルギーによるバス電圧の上昇が小さくなり、その分だけ、例えば回生抵抗などを用いて熱として消費しなければならないエネルギーが小さくなる。ロボットを動作させるために入力されるエネルギー(電力)は、実際に各軸を駆動するために使用されるエネルギーと、減速動作時に回生抵抗などで熱として消費されるエネルギーとの和である。従って、熱として消費されるエネルギーが減少すれば、その分だけ入力するエネルギーが少なくて済む。つまり、本手段によれば、動作時間を引き延ばすことなく、ロボットをPTP動作させるように制御する際に消費するエネルギーを低減することができる。さらに、本手段では、ロボットの制御内容(ソフトウェア)に変更を加えることにより、上記作用および効果が得られる。つまり、ハードウェアの追加を伴うことなく、PTP動作を行う際における省エネルギー化を図ることが可能となる。
【0018】
上記各手段では、比較パターンが必ず次の基準パターンに設定されるようになっている。そのため、次の基準パターンの減速開始時点よりも前の基準パターンの減速開始時点のほうが早くなる場合には、減速期間を出来る限り重複させないという効果が若干低減する。ただし、通常、速度指令における減速開始時点は、動作時間が長いものほど遅くなるため、上記した効果低減の問題が発生することは考え難い。しかし、互いの動作時間の差が僅かである場合などには、その関係が逆転する可能性も考えられる。このような稀なケースに対応するためには、請求項2または5に記載の手段を採用するとよい。
【0019】
請求項2または5に記載の手段によれば、上記各手段において、タイミング決定処理にて次のような動作も実行される。すなわち、比較パターンにおける動作開始時点が全体の動作開始時点に一致するように比較パターンのタイミングが決定されると、第1の時間と第3の時間とが比較される。第3の時間は、全体の動作開始時点から比較パターンにおける減速開始時点までの時間である。すなわち、タイミングが決定された基準パターンおよび比較パターンのうち、どちらが先に減速が開始するかが判断される。
【0020】
上記比較の結果、第1の時間が第3の時間より長い場合には、つまり比較パターンのほうが基準パターンよりも先に減速が開始する場合には、その比較パターンが次の基準パターンに設定される。一方、上記比較の結果、第1の時間が第3の時間より短い場合には、つまり基準パターンのほうが比較パターンよりも先に減速が開始する場合には、その基準パターンがそのまま次の基準パターンとなる。このようにすれば、既にタイミングが決定された速度指令のうち、減速開始時点が最も早い速度指令が次の基準パターンとして設定される。そのため、上記した稀なケースであっても、基準パターンおよび比較パターンの減速期間の重複を出来る限り回避するという効果が最大限に得られることになる。
【0021】
請求項3または6に記載の手段によれば、タイミング変更処理が実行され、上記各手段においてタイミング決定処理により決定された速度指令のタイミングを変更する。タイミング変更処理では、タイミングが決定された速度指令のうち、全体の動作開始時点から加速終了時点までの時間(第4の時間)が最も長くなる速度指令が加速終了最遅パターンとして設定される。また、加速終了最遅パターンにおける第4の時間内に軸の動作が完了する速度指令が短動作時間パターンに設定される。すなわち、タイミング変更処理では、加速が終了するのが最も遅くなる速度指令が加速終了最遅パターンとして抽出されるとともに、その加速終了最遅パターンに対応する軸の加速が終了するまでの間に減速動作が完了可能な速度指令が、短動作時間パターンとして抽出される。そして、短動作時間パターンにおける動作開始時点が全体の動作開始時点に一致するように、短動作時間パターンのタイミングが変更される。
【0022】
このように、短動作時間パターンのタイミングが変更されることにより、短動作時間パターンに対応する軸の減速動作において回生されるエネルギーが、加速終了最遅パターンに対応する軸の加速動作や他の速度指令に対応する軸の加速動作などにおいて使用される。回生エネルギーが他の動作において有効利用されれば、その分だけ回生抵抗などを用いて熱として消費されるエネルギーは小さくなる。従って、本手段によれば、ロボットをPTP動作制御する際における省エネルギー化の効果を一層高めることができる。さらに、加速終了最遅パターンに対応する軸などの加速動作時に、回生エネルギーを利用することにより、例えば昇圧回路などを設けることなく、その加速動作に必要となるバス電圧が確保可能となり、加速動作の追従性を高められるという効果も得られる。
【図面の簡単な説明】
【0023】
【図1】本発明の第1の実施形態を示すもので、ロボットシステムの概略構成図
【図2】ロボットシステムの電気構成図
【図3】PTP制御における速度指令の生成方法の概要を示すフローチャート
【図4】演算処理の内容を示すフローチャート
【図5】タイミング決定処理の内容を示すフローチャート
【図6】演算処理により演算した各軸速度指令を示す図
【図7】タイミング決定処理の途中における各軸速度指令を示す図
【図8】図7相当図
【図9】図7相当図
【図10】タイミング決定処理実行後の各軸速度指令およびバス電圧を示す図
【図11】本発明の第2の実施形態を示す図3相当図
【図12】タイミング変更処理の内容を示すフローチャート
【図13】タイミング変更処理実行後の各軸速度指令およびバス電圧を示す図
【図14】従来技術を示す図10相当図
【発明を実施するための形態】
【0024】
(第1の実施形態)
以下、本発明の第1の実施形態について図1〜図10を参照しながら説明する。
図1は、一般的な産業用ロボットのシステム構成を示している。図1に示すロボットシステム1は、ロボット2と、ロボット2を制御するコントローラ3(ロボットの制御装置に相当)と、コントローラ3に接続されたティーチングペンダント4とから構成されている。
【0025】
ロボット2は、例えば6軸の垂直多関節型ロボットとして構成されている。ロボット2は、ベース5と、ベース5に水平方向に回転可能に支持されたショルダ部6と、ショルダ部6に上下方向に回転可能に支持された下アーム7と、下アーム7に上下方向に回転可能に支持された第1の上アーム8と、第1の上アーム8に捻り回転可能に支持された第2の上アーム9と、第2の上アーム9に上下方向に回転可能に支持された手首10と、手首10に捻り回転可能に支持されたフランジ11とから構成されている。
【0026】
ベース5、ショルダ部6、下アーム7、第1の上アーム8、第2の上アーム9、手首10およびフランジ11は、ロボット2のアームとして機能し、アーム先端であるフランジ11には、図示はしないが、エンドエフェクタ(手先)が取り付けられる。ベース5、ショルダ部6、下アーム7、第1の上アーム8、第2の上アーム9、手首10およびフランジ11は、ロボット2のアームとして機能する。ロボット2の各アーム(複数の軸)はそれぞれに対応して設けられるモータ(図2に符号Mを付して示す)により駆動される。各モータの近傍には、それぞれの回転軸の回転位置を検出するための位置検出器(図示せず)が設けられている。
【0027】
ティーチングペンダント4は、例えば使用者が携帯あるいは手に所持して操作可能な程度の大きさで、例えば薄型の略矩形箱状に形成されている。ティーチングペンダント4には、各種のキースイッチが設けられており、使用者は、それらキースイッチにより種々の入力操作を行う。ティーチングペンダント4は、ケーブルを経由してコントローラ3に接続され、通信インターフェイスを経由してコントローラ3との間で高速のデータ転送を実行するようになっており、キースイッチの操作により入力された操作信号等の情報はティーチングペンダント4からコントローラ3へ送信される。
【0028】
図2は、ロボットシステム1の電気構成を概略的に示すブロック図である。ロボット2には、各軸をそれぞれ駆動するための複数のモータM(図2では1つのみ示す)が設けられている。モータMは、例えばブラシレスDCモータである。コントローラ3には、交流電源21より供給される交流を整流および平滑して出力する直流電源回路22、回生消費回路23、モータMを駆動するインバータ装置24、電流検出部25、位置検出部26およびこれら各装置の制御などを行う制御部27が設けられている。
【0029】
直流電源回路22は、整流回路28および平滑用のコンデンサ29により構成されている。整流回路28は、ダイオードをブリッジの形態に接続してなる周知構成のものである。例えば3相200Vの交流電源21の各相出力は、整流回路28の交流入力端子に接続されている。整流回路28の直流出力端子は、それぞれ直流電源線30、31に接続されている。これら直流電源線30、31間にはコンデンサ29が接続されている。
【0030】
回生消費回路23は、直流電源線30、31間に回生抵抗32および回生スイッチ33の直列回路が接続された構成となっている。回生スイッチ33のオン、オフは、制御部27によって制御される。制御部27は、直流電源線30、31間のバス電圧Vd(直流電圧)の値を検出する機能を備えている。制御部27は、バス電圧Vdの検出値が、回生消費電圧値Vthr未満であるときには、回生スイッチ33をオフし、回生消費電圧値Vthr以上であるときには回生スイッチ33をオンする。このような構成により、減速動作時にモータMから回生されるエネルギー(回生エネルギー)に起因してバス電圧Vdが上昇して回生消費電圧値Vthr以上になった場合には回生抵抗32に電流が流れる。これにより、回生エネルギーが熱エネルギーとして放出され、バス電圧Vdが回生消費電圧値Vthr未満となるようにその電圧上昇が抑えられる。
【0031】
回生消費電圧値Vthrは、バス電圧Vdが直流電源線30、31に接続される各回路素子(インバータ装置24のスイッチング素子、直流電源回路22のコンデンサ29など)の定格を超えて上昇しないような値に設定すればよい。また、本実施形態では、回生スイッチ33は、例えばトランジスタなどの半導体スイッチング素子により構成されている。なお、回生スイッチ33は、例えばリレーなどの機械式のスイッチであってもよい。
【0032】
インバータ装置24は、直流電源線30、31間に6つのスイッチング素子例えばIGBT(図2には2つのみ示す)を三相フルブリッジ接続して構成されたインバータ主回路と、その駆動回路とを6組備えている(図2には1組のみ示す)。IGBTのコレクタ・エミッタ間には還流ダイオードが接続されている。また、IGBTのゲートには、駆動回路からゲート信号が与えられている。駆動回路は、制御部27から与えられる指令信号(通電指令Sc)に基づいてパルス幅変調されたゲート信号を出力して各IGBTを駆動する。
【0033】
制御部27(演算処理手段およびタイミング決定処理手段に相当)は、CPU、ROM、RAM、I/Oなどを備えたマイクロコンピュータを主体として構成されている。電流検出部25は、モータMに流れる電流を検出する電流検出器(図示せず)からの検出信号を制御部27に入力可能なデータに変換して出力する。位置検出部26は、モータMの回転位置を検出する位置検出器(図示せず)からの検出信号を制御部27に入力可能なデータに変換して出力する。制御部27は、電流検出部25から出力されるデータを元にモータMに流れる電流の値を取得するとともに、位置検出部26から出力されるデータを元にモータMの回転位置(回転角度)および回転速度を取得する。
【0034】
一般に、産業用のロボットは、予めティーチングなどを実施することにより作成される所定の動作プログラムに従って動作するようになっている。図示しない上位制御部は、その動作プログラムを解釈し、ロボット2に動作プログラムに従った動作を行わせるように各モータMを制御するための指令を制御部27に出力する。制御部27は、上位制御部から与えられる指令と、取得した電流値、回転位置および回転速度とに基づいて、インバータ装置24によるモータMの駆動をフィードバック制御してロボット2のアームの動作制御を行う。
【0035】
上位制御部から与えられる指令には、手先の目標位置を示す位置指令に加え、現在位置から目標位置までの移動経路に関する制御の方法を指定する内容などが含まれる。移動経路に関する制御の方法としては、CP(Continuous Path)制御、PTP(Point to Point)制御などが挙げられる。以下では、手先を現在位置から目標位置までPTP動作により移動する指令が与えられた際における制御部27による制御について、図3〜図10も参照して説明する。
【0036】
図3は、PTP制御における速度指令の生成方法の概要を示すフローチャートである。制御部27は、ロボット2の手先を現在位置から所定の目標位置までPTP動作により移動するという指令が与えられると、図3に示す内容の処理を実行する。すなわち、最初に、各軸に対する速度指令をそれぞれ演算する演算処理が実行される(ステップA1)。図4は、演算処理の内容を示すフローチャートである。図4に示すように、演算処理では、各軸単位での動作時間が最も短くなるように、各軸を駆動するための速度指令が演算される(ステップB1)。通常、PTP動作における速度指令は、加速期間から始まって減速期間で終わる。また、加速期間および減速期間の間に等速期間が含まれる場合もある。すなわち、速度指令は、いわゆる三角形状または台形状のパターンになる(図6〜図10参照)。
【0037】
ステップB1では、例えばロボット2の仕様上あるいは構造上における制限範囲内の最高加速度でもって各軸を駆動するための速度指令が求められる。そして、各軸を駆動するためのモータMは、互いにサイズが異なることが多い。そのため、各軸における最高加速度や移動量(回転量)は、軸ごとに異なるのが一般的である。従って、ステップB1で求められる各軸の速度指令は、基本的には互いに動作時間が異なる。このようなことから、後述するタイミング決定処理において、各速度指令を実行するタイミングを、全体の動作時間の範囲内で適宜設定することが可能となっている。なお、全体の動作時間は、後述するように最も動作時間が長い軸の動作時間に等しくなる。
【0038】
ステップB2では、ステップB1で求めた各速度指令を、軸の動作時間が長くなるものから順に並べ替える。その際、軸の動作時間が最も長くなる速度指令をn(1)とし、軸の動作時間が二番目に長くなる速度指令をn(2)とし、軸の動作時間が三番目に長くなる速度指令をn(3)とし、軸の動作時間が四番目に長くなる速度指令をn(4)とし、軸の動作時間が五番目に長くなる速度指令をn(5)とし、軸の動作時間が最も短くなる速度指令をn(6)とする。なお、本実施形態のように6軸ロボットであれば上記したとおりになるが、4軸ロボットであれば、求められる速度指令はn(1)〜n(4)までとなる。
【0039】
このような演算処理により各速度指令が求められた後、各速度指令を実行するタイミングを決定するタイミング決定処理が実行される(図3のステップA2)。図5は、タイミング決定処理の内容を示すフローチャートである。また、図6は、上記演算処理により求められた各速度指令を示している。タイミング決定処理が開始されると、本処理内で用いられる変数cnt1の初期値の設定が行われる(ステップC1)。変数cnt1の初期値は1に設定される。
【0040】
ステップC2では、速度指令n(cnt1)の動作開始時点(加速開始時点)が全体の動作開始時点T0として規定されるとともに、速度指令n(cnt1)における動作終了時点(減速終了時点)が全体の動作終了時点Tfとして規定される。つまり、手先を現在位置から目標位置まで移動する際における全体の動作時間は、軸の動作時間が最も長くなる速度指令n(1)の動作開始時点〜動作終了時点までの時間に等しくなる。そのため、速度指令n(1)を実行するタイミングは必然的に決定される。
【0041】
ステップC3では、速度指令n(cnt1)が基準パターンJsに設定される。すなわち、軸の動作時間が最も長くなる速度指令n(1)が基準パターンJsに設定される。ステップC4では、速度指令n(cnt1+1)が比較パターンJcに設定される。すなわち、軸の動作時間が二番目に長くなる速度指令n(2)が比較パターンに設定される。ステップC5では、第1の時間t1と第2の時間t2とが比較される。第1の時間t1は、全体の動作開始時点T0から基準パターンJsの減速開始時点Tjsdまでの時間である。第2の時間t2は、比較パターンJcの動作開始時点Tjc0から動作終了時点Tjcfまでの時間であり、比較パターンJc単体での動作時間に相当する。つまり、ステップC5では、既にタイミングが決定されている基準パターンJsに対応する軸の減速が開始されるまでの間に、比較パターンJcに対応する軸の減速が終了できるような比較パターンJcのタイミング設定が可能であるか否かが判断される。
【0042】
この場合、図7に示すとおり、第1の時間t1が第2の時間t2より短く、基準パターンJsに対応する軸の減速が開始されるまでに比較パターンJcに対応する軸の減速が終了可能ではない(ステップC5で「NO」。である)ため、ステップC6に進む。ステップC6では、比較パターンJcにおける動作開始時点Tjc0が全体の動作開始時点T0に一致するように、比較パターンJcを実行するタイミングが決定される(図7参照)。
【0043】
ステップC6により比較パターンJcのタイミングが決定されると、ステップC7に進む。ステップC7では、前述した第1の時間t1と第3の時間t3とが比較される。第3の時間t3は、全体の動作開始時点T0から比較パターンJcの減速開始時点Tjcdまでの時間である。つまり、ステップC7では、既にタイミングが決定されている基準パターンJsおよび比較パターンJcのうち、どちらが先に減速が開始されるかが判断される。この場合、図7に示すとおり、第1の時間t1が第3の時間t3より長い、つまり比較パターンJcのほうが基準パターンJsよりも先に減速が開始する(ステップC7で「YES」)。そのため、ステップC9に進み、速度指令n(cnt1+1)が次の基準パターンJsに設定される。すなわち、その時点における比較パターンJcである速度指令n(2)が次の基準パターンJsに設定される。
【0044】
続くステップC10では、変数cnt1がインクリメントされる(cnt1=cnt1+1)。そして、ステップC11において、変数cnt1がしきい値X以上であるか否かが判断される。しきい値Xは、ロボット2の総軸数に設定されるものであり、本実施形態では6である。この場合、変数cnt1の値が2である(ステップC11で「NO」である)ため、ステップC4に戻る。そのステップC4では、軸の動作時間が三番目に長い速度指令n(3)が次の比較パターンJcに設定される。そして、ステップC5において、第1の時間t1および第2の時間t2の比較が行われる。この場合、図8に示すとおり、第1の時間t1が第2の時間t2より長く、基準パターンJsに対応する軸の減速が開始されるまでに比較パターンJcに対応する軸の減速が終了可能である(ステップC5で「YES」である)ため、ステップC8に進む。
【0045】
ステップC8では、比較パターンJcにおける動作終了時点Tjcfが、基準パターンJsにおける減速開始時点Tjsdに一致するように、比較パターンJcを実行するタイミングが決定される(図9参照)。ステップC8により比較パターンJcのタイミングが決定されると、ステップC9に進む。ステップC9では、その時点における比較パターンJcである速度指令n(3)が次の基準パターンJsに設定される。その後、変数cnt1がインクリメントされ(ステップC10)、インクリメント後の変数cnt1の値が3である(ステップC11で「NO」である)ため、ステップC4に戻る。
【0046】
以降は、変数cnt1が6になるまで(ステップC11で「YES」となるまで)、ステップC4〜C11が繰り返される。すなわち、軸の動作時間が最も短くなる速度指令n(6)が比較パターンJcに設定され、その実行するタイミングが決定されるまでステップC4〜C11が繰り返される。これにより、図10に示すように、全ての速度指令を実行するタイミングが決定される。制御部27は、このように生成した速度指令でもって、各軸に対応するモータMの駆動を制御する。
【0047】
以上説明したように、本実施形態によれば次のような作用および効果が得られる。
制御部27は、ロボット2の手先を現在位置から所定の目標位置までPTP動作により移動するという指令が与えられると、図4に示した演算処理を実行した後、図5に示したタイミング決定処理を実行する。このうち、演算処理では、ロボット2の仕様上あるいは構造上における制限範囲内の最高加速度でもって各軸を駆動するための速度指令が求められる。また、タイミング決定処理では、動作時間の長い速度指令から順に基準パターンJsに設定され、その基準パターンJsの減速が開始されるまでに、その次に動作時間の長い速度指令である比較パターンJcの減速が終了可能であるか否かが判断されていく。その判断の結果、基準パターンJsの減速開始までに比較パターンJcの減速が終了可能である場合、比較パターンJcの動作終了時点Tjcfが基準パターンJsの減速開始時点Tjsdに一致するように比較パターンJcを実行するタイミングが決定される。これにより、基準パターンJsおよび比較パターンの減速期間が互いに重ならなくなる。
【0048】
また、上記判断の結果、基準パターンJsの減速開始までに比較パターンJcの減速が終了可能ではない場合、比較パターンJcの動作開始時点Tjc0が全体の動作開始時点T0に一致するように比較パターンJcを実行するタイミングが決定される。このようなケースでは、基準パターンJsおよび比較パターンJcの減速期間が完全に重ならないようなタイミング設定は不可能である。しかし、上記したようなタイミング設定によれば、基準パターンJsおよび比較パターンJcの減速期間が重なる期間を出来る限り短くすることが可能となる。
【0049】
このようなタイミング決定処理により、全体の動作時間を従来と同等にした上で、各速度指令における減速期間が重複する期間が極力少なくなり、減速動作のタイミングが分散化される。図10に示すように、減速動作のタイミングが分散化されれば、各減速期間における回生エネルギーによるバス電圧Vdの上昇が比較的小さく抑えられ、その分だけ回生消費回路23において熱として消費されるエネルギーが小さくなる。なお、本実施形態の場合、図10に示すように、全体の動作開始時点T0〜全体の動作終了時点Tfまでの全期間において、バス電圧Vdが回生消費電圧値Vthr未満に抑えられている。
【0050】
ロボット2を動作させるために入力されるエネルギー(電力)は、実際に各軸を駆動するために使用されるエネルギー(インバータ装置24、モータMなどにおける種々の電力損失を含む)と、減速動作時に回生消費回路23で熱として消費されるエネルギーとの和である。従って、熱として消費されるエネルギーが減少すれば、その分だけ入力するエネルギーが少なくて済む。つまり、本実施形態のロボットシステム1は、動作時間を引き延ばすことなく、ロボット2をPTP制御する際に消費するエネルギーを低減することができる。なお、このような効果は、演算処理において求められる各速度指令の動作時間が互いに異なるという前提の下で得られるものであるが、仮に、演算処理において求められる各速度指令の動作時間が互いにほとんど同じになった場合(通常、このようなケースはほとんど有り得ない)でも、減速動作時において熱として消費されるエネルギーは従来と同等までしか低下することはない。さらに、本実施形態のロボットシステム1では、制御内容(ソフトウェア)に変更を加えることにより、上記作用および効果が得られる。つまり、ハードウェアの追加を行うことなく、PTP制御を行う際における省エネルギー化を図ることを可能としている。
【0051】
比較パターンJcを必ず次の基準パターンJsに設定すると、次の基準パターンJsの減速開始時点よりも前の基準パターンの減速開始時点のほうが早くなる場合には、減速期間を出来る限り重複させないという効果が若干低減する。ただし、通常、速度指令における減速開始時点は、動作時間が長いものほど遅くなるため、上記した効果低減の問題が発生することは考え難い。しかし、互いの動作時間の差が僅かである場合などには、その関係が逆転することも考えられる。
【0052】
このような稀なケースに対応するため、本実施形態では、ステップC6の実行後に、ステップC7を実行するようにしている。これにより、既にタイミングが決定された速度指令のうち、減速開始時点が最も早い速度指令が次の基準パターンJsとして設定される。そのため、上記した稀なケースであっても、基準パターンJsおよび比較パターンJcの減速期間の重複を出来る限り回避するという効果が最大限に得られる。なお、上記した稀なケースへの対応を考慮しない場合、図5においてステップC7を省略してもよい。その場合、ステップC6を実行した後、ステップC9へ移行するように変更を加えればよい。
【0053】
(第2の実施形態)
以下、第1の実施形態に対し、PTP制御における速度指令の生成方法を変更した第2の実施形態について図11〜図13を参照しながら説明する。
図11は、第1の実施形態における図3相当図である。図11に示すように、本実施形態において、制御部27は、タイミング決定処理(ステップA2)により各速度指令のタイミングを決定した後、ステップA3に進み、それら決定されたタイミングを変更するタイミング変更処理を実行する。すなわち、本実施形態では、制御部27は、タイミング変更処理手段としても機能する。図12は、タイミング変更処理の内容を示すフローチャートである。図12に示すように、タイミング変更処理が開始されると、本処理内で用いられる変数(cnt2)の初期値の設定が行われる(ステップD1)。変数cnt2の初期値は、1に設定される。
【0054】
続くステップD2〜D8は、タイミングが決定された状態の速度指令n(1)〜n(6)のうち、全体の動作開始時点T0から各加速終了時点までの時間が最も長くなる速度指令を加速終了最遅パターンとして設定するものである。具体的には、ステップD2では、速度指令n(cnt2)が基準パターンJsmに設定される。すなわち、速度指令n(1)が基準パターンJsmに設定される。ステップD3では、速度指令n(cnt2+1)が比較パターンJcmに設定される。すなわち、速度指令n(2)が比較パターンJcmに設定される。
【0055】
ステップD4では、基準パターンJsmおよび比較パターンJcmの各加速時間が比較される。上記加速時間は、第4の時間に相当するものであり、全体の動作開始時点T0を基準としたものである。すなわち、基準パターンJsmの加速時間は、時点T0から基準パターンJsmにおける加速終了時点までの時間である。また、比較パターンJcmの加速時間は、時点T0から比較パターンJcmにおける加速終了時点までの時間である。この場合、図10に示したとおり、基準パターンJsmのほうが、比較パターンJcmよりも加速時間が長い(ステップD4で「YES」である)ため、基準パターンJsmを再設定するためのステップD5が実行されることなく、ステップD6に進む。このように、基準パターンJsmのほうが比較パターンJcmより加速時間が長い場合には、基準パターンJsmの変更は行われない。
【0056】
ステップD6では、変数cnt2がインクリメントされる(cnt2=cnt2+1)。ステップD7では、変数cnt2の値がしきい値X(ロボット2の総軸数=6)以上であるか否かが判断される。ここでは、変数cnt2の値は2である(ステップD7で「NO」である)ため、ステップD3に戻る。そのステップD3では、速度指令n(3)が次の比較パターンJcmに設定される。この場合も、基準パターンJsmのほうが、比較パターンJcmよりも加速時間が長い(ステップD4で「YES」である)ため、ステップD5を実行することなくステップD6に進む。
【0057】
そして、変数cnt2がインクリメントされ(ステップD6)、その変数cnt2の値が3である(ステップD7で「NO」である)ため、ステップD3に戻る。そのステップD3では、速度指令n(4)が次の比較パターンJcmに設定される。この場合、比較パターンJcmのほうが、基準パターンJsmよりも加速時間が長い(ステップD4で「NO」である)ため、ステップD5に進む。ステップD5では、速度指令n(cnt2+1)が次の基準パターンJsmに設定される。すなわち、その時点の比較パターンJcmである速度指令n(4)が次の基準パターンJsmに設定される。このように、比較パターンJcmのほうが基準パターンJsmよりも加速時間が長い場合には、その比較パターンJcmが次の基準パターンJsmに設定される。そして、変数cnt2がインクリメントされ(ステップD6)、その変数cnt2の値が4である(ステップD7で「NO」である)ため、ステップD3に戻る。
【0058】
以降は、変数cnt2の値が6になるまで(ステップD7で「YES」となるまで)、ステップD3〜D7が繰り返される。すなわち、全ての速度指令の加速時間の比較が終了するまでステップD3〜D7が繰り返される。その結果、最終的に基準パターンJsmに設定されている速度指令が、最も加速時間が長い速度指令であるということになる。ここでは、速度指令n(5)が最終的に基準パターンJsmに設定されている。
【0059】
ステップD8では、そのときの基準パターンJsmが、加速終了最遅パターンJLに設定される。ステップD9では、全体の動作開始時点T0から加速終了最遅パターンJLの加速終了時点Tjlaまでの時間と、速度指令n(cnt1)単体での動作時間とが比較される。このとき、変数cnt1の値は、タイミング決定処理(ステップA2)が終了した時点の値(=6)になっている。すなわち、加速終了最遅パターンJLの加速時間内に、速度指令n(6)単体での動作が終了可能であるか否かが判断される。この場合、加速終了最遅パターンJLの加速時間内に、速度指令n(6)単体での動作が終了可能である(ステップD9で「YES」である)ため、ステップD10に進む。
【0060】
ステップD10では、速度指令n(cnt1)が短動作時間パターンに設定され、そのタイミングが次のように変更される。すなわち、速度指令n(6)の動作開始時点が全体の動作開始時点T0に一致するように、速度指令n(6)を実行するタイミングが変更される(図13参照)。続くステップD11では、短動作時間パターンに設定された速度指令n(cnt1)が、加速終了最遅パターンJLであるか否かが判断される。この場合、速度指令n(6)は、加速終了最遅パターンJLではない(ステップD11で「NO」である)ため、ステップD13に進む。ステップD13では、変数cnt1がデクリメントされる(cnt1=cnt1-1)。
【0061】
ステップD13が実行された後は、ステップD9に戻る。そのステップD9では、加速終了最遅パターンJLの加速時間内に、速度指令n(5)単体での動作が終了可能であるか否かが判断される。この場合も、加速終了最遅パターンJLの加速時間内に、速度指令n(5)単体での動作が終了可能である(ステップD9で「YES」である)ため、ステップD10に進む。そのステップD10では、速度指令n(5)が短動作時間パターンに設定され、そのタイミングが変更される(図13参照)。この場合、速度指令n(5)は、加速終了最遅パターンJLである(ステップD11で「YES」である)ため、ステップD12に進む。
【0062】
このように、加速終了最遅パターンとして設定されていた速度指令n(5)を実行するタイミングが変更された場合、それ以降の速度指令n(4)〜n(1)が短動作時間パターンとしてタイミングを変更可能であるか否かの判断を行うことができなくなる。そこで、ステップD12において、変数cnt1の値がしきい値X(6)に設定され、その後、ステップD1に戻る。すなわち、加速終了最遅パターンJLの設定が再度実行される。そして、新たな加速終了最遅パターンJLの加速時間内に単体での動作が終了可能な短動作時間パターンの設定が再度実行される。このような処理は、短動作時間パターンとして設定可能な速度指令が存在しなくなる(ステップD9で「NO」となる)まで繰り返される。
【0063】
これにより、図13に示すように、全ての速度指令を実行するタイミングが決定される。本実施形態の場合、最終的には速度指令n(4)が加速終了最遅パターンJLとして設定されるとともに、速度指令n(5)、n(6)が短動作時間パターンとして設定される。従って、タイミング決定処理実行後の各速度指令(図10参照)に対し、速度指令n(5)、n(6)を実行するタイミングが変更されている。制御部27は、このように生成した速度指令でもって、各軸に対応するモータMの駆動を制御する。
【0064】
以上説明したように、本実施形態によれば次のような作用および効果が得られる。
図12に示したタイミング変更処理が実行されることにより、短動作時間パターンとして設定された速度指令n(5)、n(6)に対応する軸の減速動作において回生される回生エネルギーが、他の速度指令n(1)〜n(4)に対応する軸の加速動作や等速動作などにおいて使用される。回生エネルギーが他の動作において有効利用されれば、その分だけ回生消費回路23において熱として消費されるエネルギーが抑えられる。従って、本実施形態によれば、ロボット2をPTP動作制御する最における省エネルギー化の効果を一層高めることができる。さらに、加速終了最遅パターンJLに対応する軸などの加速動作時に、短動作時間パターンに対応する軸の減速動作に回生される回生エネルギーが利用されることにより、例えば昇圧回路などを設けることなく、その加速動作に必要となるバス電圧Vdが確保可能となり、加速動作の追従性を高められるという効果も得られる。
【0065】
(その他の実施形態)
なお、本発明は上記し且つ図面に記載した各実施形態に限定されるものではなく、次のような変形または拡張が可能である。
本発明は、モータMとしてDCブラシレスモータを用いた構成に限らず、例えば直流モータ、交流モータなど各種のモータを用いた構成にも適用可能である。なお、モータMとして直流モータを用いる場合には、モータMを駆動する駆動手段として、インバータ装置24に代えて、例えばHブリッジ回路を主体として構成された駆動回路を用いればよい。
上記実施形態では、本発明を6軸の垂直多関節型のロボット2に適用した例を説明したが、本発明は、例えば4軸の水平多関節型のロボットなど、複数の軸をモータにより駆動する構成のロボット全般に適用可能である。
【符号の説明】
【0066】
図面中、2はロボット、3はコントローラ(ロボットの制御装置)、27は制御部(演算処理手段、タイミング決定処理手段、タイミング変更処理手段)、Mはモータを示す。
【技術分野】
【0001】
本発明は、モータにより駆動される複数の軸を有するロボットの手先を現在位置から目標位置までPTP動作により移動させる際におけるロボットの制御方法およびロボットの制御装置に関する。
【背景技術】
【0002】
ロボットの各関節(各軸)は、それぞれモータにより駆動されるようになっており、これらモータは、コントローラに内蔵されるモータアンプにより駆動される。モータアンプは、例えばインバータ回路を主体として構成されており、電源回路から一対の電源線を介して与えられる直流電圧(バス電圧)を所定の周波数を持つ交流電圧に変換してモータへの電力供給を行う。
【0003】
このような構成において、モータを減速動作させる際にはモータ側からモータアンプ側にエネルギーが回生され、これに伴いバス電圧が上昇する。そのため、コントローラには、電源線に接続される各回路素子(インバータ回路のスイッチング素子、電源線間に接続されるコンデンサなど)の定格を超えてバス電圧が上昇しないように、上記回生されたエネルギー(回生エネルギー)を熱エネルギーに変換して放出する回生消費回路が設けられている。
【0004】
回生消費回路では、電源線間に直列に設けられた回生抵抗に回生電流を流すことで、回生エネルギーを熱エネルギーに変換している。つまり、回生エネルギーは、有効利用されることなく、回生消費回路により消費されていた。特に、ロボットの手先を現在位置から目標位置までPTP(Point to Point)動作により移動させるように制御する際には、上記回生エネルギーによるロスが顕著に表れる。
【0005】
図14は、6軸の垂直多関節型ロボットをPTP制御する際における各軸を駆動するための速度指令およびバス電圧の一例を示している。PTP制御では、現在位置から目標位置までの間におけるロボットの姿勢などについては制限されない。そのため、通常は、動作時間が最も長くなる軸(図14では第1軸J1)の速度指令に対して加速期間や減速期間を合わせるように他の軸(図14では第2軸J2〜第6軸J6)に対する速度指令が求められる。すなわち、一般的なPTP制御では、各軸の減速期間が重なるため、その減速期間にモータ側から回生される回生エネルギーが大きくなる。そのため、減速期間におけるバス電圧の上昇量も大きくなり、回生消費回路において熱として消費されるエネルギーも大きくなってしまう。
【0006】
一方、特許文献1には、回生時にバッテリおよびインバータ間の電力供給経路に直列に介在するスイッチをオンすることでモータ側から回生するエネルギーをバッテリにて回収する構成が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2010−22157号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ロボットのシステムにおいて、各軸を駆動するモータに電力を供給するための電源線間には、バッテリと比べて容量の小さいコンデンサが接続されるのが一般的である。つまり、ロボットのシステムにおいては、そもそもバッテリを設けること自体が想定されていない。そのため、バッテリに回生エネルギーを回収するという特許文献1に記載された従来技術をロボットのシステムに適用することはできない。
【0009】
一方、各軸の動作時間を引き延ばせば、減速期間におけるバス電圧の上昇量を比較的低く抑えることが可能となり、回生消費回路において熱として消費される無駄なエネルギーは低減される。しかし、本来、ロボットが工場などにおいて用いられる意義は、早く且つ正確に所定の作業を繰り返し実行するところにある。従って、消費エネルギーの低減を重視して動作時間をむやみに長くするということは、上記したロボットが用いられる意義に反するため、好ましい解決手法とは言えない。
【0010】
本発明は上記事情に鑑みてなされたものであり、その目的は、動作時間を引き延ばすことなく、PTP動作を行う際に消費するエネルギーを低減することができるロボットの制御方法およびロボットの制御装置を提供することにある。
【課題を解決するための手段】
【0011】
請求項1または4に記載の手段によれば、複数の軸を有するロボットの手先を現在位置から目標位置までPTP(Point to Point)動作により移動させる際、各軸に対する速度指令をそれぞれ演算する演算処理を実行し、それら演算された各速度指令のタイミングを決定するタイミング決定処理を実行する。演算処理では、各軸単位での動作時間が最も短くなるように各軸を駆動するための速度指令が演算される。通常、PTP動作における速度指令は、加速期間から始まって減速期間で終わるようになっている。なお、加速期間および減速期間の間に等速期間が含まれる場合もある。すなわち、速度指令は、いわゆる三角形状または台形状のパターンになる。
【0012】
一般に、PTP動作を行うロボットの制御においては、動作時間が最も長くなる軸の速度指令に対して加速期間や減速期間を合わせるように他の軸に対する速度指令が求められる。すなわち、一般的なPTP動作では、各軸が同時に動作を開始して同時に動作を終了するような速度指令が求められる。これに対し、本手段の演算処理では、例えばロボットの仕様上あるいは構造上における制限範囲内の最高加速度でもって各軸を駆動するための速度指令が求められる。また、通常、上記最高加速度や移動量(回転量)は、軸ごとに異なる。従って、本手段の演算処理で求められる各速度指令は、基本的には互いに動作時間が異なることになる。そのため、後述するタイミング決定処理において、各速度指令を実行するタイミングを、全体の動作時間の範囲内で適宜設定することが可能となる。
【0013】
タイミング決定処理では、演算された各速度指令のうち、軸の動作時間が最も長くなる速度指令における動作開始時点(加速開始時点)が全体の動作開始時点として規定され、その軸の動作時間が最も長くなる速度指令を実行するタイミングが決定される。そして、上記軸の動作時間が最も長くなる速度指令が基準パターンに設定される。また、基準パターンの次に軸の動作時間が長くなる速度指令が比較パターンに設定される。そして、全体の動作開始時点から基準パターンにおける減速開始時点までの第1の時間と、比較パターンにおける動作開始時点(加速開始時点)から動作終了時点(減速終了時点)までの第2の時間(比較パターン単体での動作時間に相当)とが比較される。すなわち、基準パターンに対応する軸の減速が開始されるまでに比較パターンに対応する軸の動作が終了可能であるか否かが判断される。
【0014】
上記比較の結果、第1の時間が第2の時間より長い場合、つまり基準パターンに対応する軸の減速が開始されるまでに比較パターンに対応する軸の動作が終了可能である場合には、比較パターンにおける動作終了時点が基準パターンにおける減速開始時点に一致するように比較パターンのタイミングが決定される。このようにすれば、基準パターンに対応する軸の減速が開始されるまでに比較パターンに対応する軸の減速が終了することになる。すなわち、基準パターンおよび比較パターンの減速期間が互いに重ならなくなる。
【0015】
一方、上記比較の結果、第1の時間が第2の時間より短い場合、つまり基準パターンに対応する軸の減速が開始されるまでに比較パターンに対応する軸の動作が終了可能でない場合には、比較パターンにおける動作開始時点が全体の動作開始時点に一致するように比較パターンのタイミングが決定される。第1の時間が第2の時間より短い場合、基準パターンおよび比較パターンの減速期間が完全に重ならないようなタイミング設定は不可能である。しかし、上記したようなタイミング設定によれば、基準パターンおよび比較パターンの減速期間が重なる期間を出来る限り短くすることが可能となる。
【0016】
比較パターンのタイミングが決定された後、そのタイミングが決定された比較パターンが次の基準パターンに設定される。また、その比較パターンの次に軸の動作時間が長くなる速度指令が次の比較パターンに設定される。つまり、基準パターンおよび比較パターンが再設定される。その後、第1および第2の時間の比較と、比較パターンのタイミングの決定と、基準パターンおよび比較パターンの再設定とが、次の比較パターンの設定対象となる速度指令が存在しなくなるまで繰り返し実行される。すなわち、動作時間が最も長い速度指令から動作時間が2番目に短い速度指令まで順に、その次に動作時間の長い速度指令との間での上記比較が行われることにより、最終的に全ての速度指令のタイミングが決定される。
【0017】
このようなタイミング決定処理により、全体の動作時間を従来と同等にした上で、各速度指令における減速期間が重複する期間が極力少なくなり、減速動作のタイミングが分散化される。減速動作のタイミングが分散化されれば、各減速期間においてモータから回生される回生エネルギーによるバス電圧の上昇が小さくなり、その分だけ、例えば回生抵抗などを用いて熱として消費しなければならないエネルギーが小さくなる。ロボットを動作させるために入力されるエネルギー(電力)は、実際に各軸を駆動するために使用されるエネルギーと、減速動作時に回生抵抗などで熱として消費されるエネルギーとの和である。従って、熱として消費されるエネルギーが減少すれば、その分だけ入力するエネルギーが少なくて済む。つまり、本手段によれば、動作時間を引き延ばすことなく、ロボットをPTP動作させるように制御する際に消費するエネルギーを低減することができる。さらに、本手段では、ロボットの制御内容(ソフトウェア)に変更を加えることにより、上記作用および効果が得られる。つまり、ハードウェアの追加を伴うことなく、PTP動作を行う際における省エネルギー化を図ることが可能となる。
【0018】
上記各手段では、比較パターンが必ず次の基準パターンに設定されるようになっている。そのため、次の基準パターンの減速開始時点よりも前の基準パターンの減速開始時点のほうが早くなる場合には、減速期間を出来る限り重複させないという効果が若干低減する。ただし、通常、速度指令における減速開始時点は、動作時間が長いものほど遅くなるため、上記した効果低減の問題が発生することは考え難い。しかし、互いの動作時間の差が僅かである場合などには、その関係が逆転する可能性も考えられる。このような稀なケースに対応するためには、請求項2または5に記載の手段を採用するとよい。
【0019】
請求項2または5に記載の手段によれば、上記各手段において、タイミング決定処理にて次のような動作も実行される。すなわち、比較パターンにおける動作開始時点が全体の動作開始時点に一致するように比較パターンのタイミングが決定されると、第1の時間と第3の時間とが比較される。第3の時間は、全体の動作開始時点から比較パターンにおける減速開始時点までの時間である。すなわち、タイミングが決定された基準パターンおよび比較パターンのうち、どちらが先に減速が開始するかが判断される。
【0020】
上記比較の結果、第1の時間が第3の時間より長い場合には、つまり比較パターンのほうが基準パターンよりも先に減速が開始する場合には、その比較パターンが次の基準パターンに設定される。一方、上記比較の結果、第1の時間が第3の時間より短い場合には、つまり基準パターンのほうが比較パターンよりも先に減速が開始する場合には、その基準パターンがそのまま次の基準パターンとなる。このようにすれば、既にタイミングが決定された速度指令のうち、減速開始時点が最も早い速度指令が次の基準パターンとして設定される。そのため、上記した稀なケースであっても、基準パターンおよび比較パターンの減速期間の重複を出来る限り回避するという効果が最大限に得られることになる。
【0021】
請求項3または6に記載の手段によれば、タイミング変更処理が実行され、上記各手段においてタイミング決定処理により決定された速度指令のタイミングを変更する。タイミング変更処理では、タイミングが決定された速度指令のうち、全体の動作開始時点から加速終了時点までの時間(第4の時間)が最も長くなる速度指令が加速終了最遅パターンとして設定される。また、加速終了最遅パターンにおける第4の時間内に軸の動作が完了する速度指令が短動作時間パターンに設定される。すなわち、タイミング変更処理では、加速が終了するのが最も遅くなる速度指令が加速終了最遅パターンとして抽出されるとともに、その加速終了最遅パターンに対応する軸の加速が終了するまでの間に減速動作が完了可能な速度指令が、短動作時間パターンとして抽出される。そして、短動作時間パターンにおける動作開始時点が全体の動作開始時点に一致するように、短動作時間パターンのタイミングが変更される。
【0022】
このように、短動作時間パターンのタイミングが変更されることにより、短動作時間パターンに対応する軸の減速動作において回生されるエネルギーが、加速終了最遅パターンに対応する軸の加速動作や他の速度指令に対応する軸の加速動作などにおいて使用される。回生エネルギーが他の動作において有効利用されれば、その分だけ回生抵抗などを用いて熱として消費されるエネルギーは小さくなる。従って、本手段によれば、ロボットをPTP動作制御する際における省エネルギー化の効果を一層高めることができる。さらに、加速終了最遅パターンに対応する軸などの加速動作時に、回生エネルギーを利用することにより、例えば昇圧回路などを設けることなく、その加速動作に必要となるバス電圧が確保可能となり、加速動作の追従性を高められるという効果も得られる。
【図面の簡単な説明】
【0023】
【図1】本発明の第1の実施形態を示すもので、ロボットシステムの概略構成図
【図2】ロボットシステムの電気構成図
【図3】PTP制御における速度指令の生成方法の概要を示すフローチャート
【図4】演算処理の内容を示すフローチャート
【図5】タイミング決定処理の内容を示すフローチャート
【図6】演算処理により演算した各軸速度指令を示す図
【図7】タイミング決定処理の途中における各軸速度指令を示す図
【図8】図7相当図
【図9】図7相当図
【図10】タイミング決定処理実行後の各軸速度指令およびバス電圧を示す図
【図11】本発明の第2の実施形態を示す図3相当図
【図12】タイミング変更処理の内容を示すフローチャート
【図13】タイミング変更処理実行後の各軸速度指令およびバス電圧を示す図
【図14】従来技術を示す図10相当図
【発明を実施するための形態】
【0024】
(第1の実施形態)
以下、本発明の第1の実施形態について図1〜図10を参照しながら説明する。
図1は、一般的な産業用ロボットのシステム構成を示している。図1に示すロボットシステム1は、ロボット2と、ロボット2を制御するコントローラ3(ロボットの制御装置に相当)と、コントローラ3に接続されたティーチングペンダント4とから構成されている。
【0025】
ロボット2は、例えば6軸の垂直多関節型ロボットとして構成されている。ロボット2は、ベース5と、ベース5に水平方向に回転可能に支持されたショルダ部6と、ショルダ部6に上下方向に回転可能に支持された下アーム7と、下アーム7に上下方向に回転可能に支持された第1の上アーム8と、第1の上アーム8に捻り回転可能に支持された第2の上アーム9と、第2の上アーム9に上下方向に回転可能に支持された手首10と、手首10に捻り回転可能に支持されたフランジ11とから構成されている。
【0026】
ベース5、ショルダ部6、下アーム7、第1の上アーム8、第2の上アーム9、手首10およびフランジ11は、ロボット2のアームとして機能し、アーム先端であるフランジ11には、図示はしないが、エンドエフェクタ(手先)が取り付けられる。ベース5、ショルダ部6、下アーム7、第1の上アーム8、第2の上アーム9、手首10およびフランジ11は、ロボット2のアームとして機能する。ロボット2の各アーム(複数の軸)はそれぞれに対応して設けられるモータ(図2に符号Mを付して示す)により駆動される。各モータの近傍には、それぞれの回転軸の回転位置を検出するための位置検出器(図示せず)が設けられている。
【0027】
ティーチングペンダント4は、例えば使用者が携帯あるいは手に所持して操作可能な程度の大きさで、例えば薄型の略矩形箱状に形成されている。ティーチングペンダント4には、各種のキースイッチが設けられており、使用者は、それらキースイッチにより種々の入力操作を行う。ティーチングペンダント4は、ケーブルを経由してコントローラ3に接続され、通信インターフェイスを経由してコントローラ3との間で高速のデータ転送を実行するようになっており、キースイッチの操作により入力された操作信号等の情報はティーチングペンダント4からコントローラ3へ送信される。
【0028】
図2は、ロボットシステム1の電気構成を概略的に示すブロック図である。ロボット2には、各軸をそれぞれ駆動するための複数のモータM(図2では1つのみ示す)が設けられている。モータMは、例えばブラシレスDCモータである。コントローラ3には、交流電源21より供給される交流を整流および平滑して出力する直流電源回路22、回生消費回路23、モータMを駆動するインバータ装置24、電流検出部25、位置検出部26およびこれら各装置の制御などを行う制御部27が設けられている。
【0029】
直流電源回路22は、整流回路28および平滑用のコンデンサ29により構成されている。整流回路28は、ダイオードをブリッジの形態に接続してなる周知構成のものである。例えば3相200Vの交流電源21の各相出力は、整流回路28の交流入力端子に接続されている。整流回路28の直流出力端子は、それぞれ直流電源線30、31に接続されている。これら直流電源線30、31間にはコンデンサ29が接続されている。
【0030】
回生消費回路23は、直流電源線30、31間に回生抵抗32および回生スイッチ33の直列回路が接続された構成となっている。回生スイッチ33のオン、オフは、制御部27によって制御される。制御部27は、直流電源線30、31間のバス電圧Vd(直流電圧)の値を検出する機能を備えている。制御部27は、バス電圧Vdの検出値が、回生消費電圧値Vthr未満であるときには、回生スイッチ33をオフし、回生消費電圧値Vthr以上であるときには回生スイッチ33をオンする。このような構成により、減速動作時にモータMから回生されるエネルギー(回生エネルギー)に起因してバス電圧Vdが上昇して回生消費電圧値Vthr以上になった場合には回生抵抗32に電流が流れる。これにより、回生エネルギーが熱エネルギーとして放出され、バス電圧Vdが回生消費電圧値Vthr未満となるようにその電圧上昇が抑えられる。
【0031】
回生消費電圧値Vthrは、バス電圧Vdが直流電源線30、31に接続される各回路素子(インバータ装置24のスイッチング素子、直流電源回路22のコンデンサ29など)の定格を超えて上昇しないような値に設定すればよい。また、本実施形態では、回生スイッチ33は、例えばトランジスタなどの半導体スイッチング素子により構成されている。なお、回生スイッチ33は、例えばリレーなどの機械式のスイッチであってもよい。
【0032】
インバータ装置24は、直流電源線30、31間に6つのスイッチング素子例えばIGBT(図2には2つのみ示す)を三相フルブリッジ接続して構成されたインバータ主回路と、その駆動回路とを6組備えている(図2には1組のみ示す)。IGBTのコレクタ・エミッタ間には還流ダイオードが接続されている。また、IGBTのゲートには、駆動回路からゲート信号が与えられている。駆動回路は、制御部27から与えられる指令信号(通電指令Sc)に基づいてパルス幅変調されたゲート信号を出力して各IGBTを駆動する。
【0033】
制御部27(演算処理手段およびタイミング決定処理手段に相当)は、CPU、ROM、RAM、I/Oなどを備えたマイクロコンピュータを主体として構成されている。電流検出部25は、モータMに流れる電流を検出する電流検出器(図示せず)からの検出信号を制御部27に入力可能なデータに変換して出力する。位置検出部26は、モータMの回転位置を検出する位置検出器(図示せず)からの検出信号を制御部27に入力可能なデータに変換して出力する。制御部27は、電流検出部25から出力されるデータを元にモータMに流れる電流の値を取得するとともに、位置検出部26から出力されるデータを元にモータMの回転位置(回転角度)および回転速度を取得する。
【0034】
一般に、産業用のロボットは、予めティーチングなどを実施することにより作成される所定の動作プログラムに従って動作するようになっている。図示しない上位制御部は、その動作プログラムを解釈し、ロボット2に動作プログラムに従った動作を行わせるように各モータMを制御するための指令を制御部27に出力する。制御部27は、上位制御部から与えられる指令と、取得した電流値、回転位置および回転速度とに基づいて、インバータ装置24によるモータMの駆動をフィードバック制御してロボット2のアームの動作制御を行う。
【0035】
上位制御部から与えられる指令には、手先の目標位置を示す位置指令に加え、現在位置から目標位置までの移動経路に関する制御の方法を指定する内容などが含まれる。移動経路に関する制御の方法としては、CP(Continuous Path)制御、PTP(Point to Point)制御などが挙げられる。以下では、手先を現在位置から目標位置までPTP動作により移動する指令が与えられた際における制御部27による制御について、図3〜図10も参照して説明する。
【0036】
図3は、PTP制御における速度指令の生成方法の概要を示すフローチャートである。制御部27は、ロボット2の手先を現在位置から所定の目標位置までPTP動作により移動するという指令が与えられると、図3に示す内容の処理を実行する。すなわち、最初に、各軸に対する速度指令をそれぞれ演算する演算処理が実行される(ステップA1)。図4は、演算処理の内容を示すフローチャートである。図4に示すように、演算処理では、各軸単位での動作時間が最も短くなるように、各軸を駆動するための速度指令が演算される(ステップB1)。通常、PTP動作における速度指令は、加速期間から始まって減速期間で終わる。また、加速期間および減速期間の間に等速期間が含まれる場合もある。すなわち、速度指令は、いわゆる三角形状または台形状のパターンになる(図6〜図10参照)。
【0037】
ステップB1では、例えばロボット2の仕様上あるいは構造上における制限範囲内の最高加速度でもって各軸を駆動するための速度指令が求められる。そして、各軸を駆動するためのモータMは、互いにサイズが異なることが多い。そのため、各軸における最高加速度や移動量(回転量)は、軸ごとに異なるのが一般的である。従って、ステップB1で求められる各軸の速度指令は、基本的には互いに動作時間が異なる。このようなことから、後述するタイミング決定処理において、各速度指令を実行するタイミングを、全体の動作時間の範囲内で適宜設定することが可能となっている。なお、全体の動作時間は、後述するように最も動作時間が長い軸の動作時間に等しくなる。
【0038】
ステップB2では、ステップB1で求めた各速度指令を、軸の動作時間が長くなるものから順に並べ替える。その際、軸の動作時間が最も長くなる速度指令をn(1)とし、軸の動作時間が二番目に長くなる速度指令をn(2)とし、軸の動作時間が三番目に長くなる速度指令をn(3)とし、軸の動作時間が四番目に長くなる速度指令をn(4)とし、軸の動作時間が五番目に長くなる速度指令をn(5)とし、軸の動作時間が最も短くなる速度指令をn(6)とする。なお、本実施形態のように6軸ロボットであれば上記したとおりになるが、4軸ロボットであれば、求められる速度指令はn(1)〜n(4)までとなる。
【0039】
このような演算処理により各速度指令が求められた後、各速度指令を実行するタイミングを決定するタイミング決定処理が実行される(図3のステップA2)。図5は、タイミング決定処理の内容を示すフローチャートである。また、図6は、上記演算処理により求められた各速度指令を示している。タイミング決定処理が開始されると、本処理内で用いられる変数cnt1の初期値の設定が行われる(ステップC1)。変数cnt1の初期値は1に設定される。
【0040】
ステップC2では、速度指令n(cnt1)の動作開始時点(加速開始時点)が全体の動作開始時点T0として規定されるとともに、速度指令n(cnt1)における動作終了時点(減速終了時点)が全体の動作終了時点Tfとして規定される。つまり、手先を現在位置から目標位置まで移動する際における全体の動作時間は、軸の動作時間が最も長くなる速度指令n(1)の動作開始時点〜動作終了時点までの時間に等しくなる。そのため、速度指令n(1)を実行するタイミングは必然的に決定される。
【0041】
ステップC3では、速度指令n(cnt1)が基準パターンJsに設定される。すなわち、軸の動作時間が最も長くなる速度指令n(1)が基準パターンJsに設定される。ステップC4では、速度指令n(cnt1+1)が比較パターンJcに設定される。すなわち、軸の動作時間が二番目に長くなる速度指令n(2)が比較パターンに設定される。ステップC5では、第1の時間t1と第2の時間t2とが比較される。第1の時間t1は、全体の動作開始時点T0から基準パターンJsの減速開始時点Tjsdまでの時間である。第2の時間t2は、比較パターンJcの動作開始時点Tjc0から動作終了時点Tjcfまでの時間であり、比較パターンJc単体での動作時間に相当する。つまり、ステップC5では、既にタイミングが決定されている基準パターンJsに対応する軸の減速が開始されるまでの間に、比較パターンJcに対応する軸の減速が終了できるような比較パターンJcのタイミング設定が可能であるか否かが判断される。
【0042】
この場合、図7に示すとおり、第1の時間t1が第2の時間t2より短く、基準パターンJsに対応する軸の減速が開始されるまでに比較パターンJcに対応する軸の減速が終了可能ではない(ステップC5で「NO」。である)ため、ステップC6に進む。ステップC6では、比較パターンJcにおける動作開始時点Tjc0が全体の動作開始時点T0に一致するように、比較パターンJcを実行するタイミングが決定される(図7参照)。
【0043】
ステップC6により比較パターンJcのタイミングが決定されると、ステップC7に進む。ステップC7では、前述した第1の時間t1と第3の時間t3とが比較される。第3の時間t3は、全体の動作開始時点T0から比較パターンJcの減速開始時点Tjcdまでの時間である。つまり、ステップC7では、既にタイミングが決定されている基準パターンJsおよび比較パターンJcのうち、どちらが先に減速が開始されるかが判断される。この場合、図7に示すとおり、第1の時間t1が第3の時間t3より長い、つまり比較パターンJcのほうが基準パターンJsよりも先に減速が開始する(ステップC7で「YES」)。そのため、ステップC9に進み、速度指令n(cnt1+1)が次の基準パターンJsに設定される。すなわち、その時点における比較パターンJcである速度指令n(2)が次の基準パターンJsに設定される。
【0044】
続くステップC10では、変数cnt1がインクリメントされる(cnt1=cnt1+1)。そして、ステップC11において、変数cnt1がしきい値X以上であるか否かが判断される。しきい値Xは、ロボット2の総軸数に設定されるものであり、本実施形態では6である。この場合、変数cnt1の値が2である(ステップC11で「NO」である)ため、ステップC4に戻る。そのステップC4では、軸の動作時間が三番目に長い速度指令n(3)が次の比較パターンJcに設定される。そして、ステップC5において、第1の時間t1および第2の時間t2の比較が行われる。この場合、図8に示すとおり、第1の時間t1が第2の時間t2より長く、基準パターンJsに対応する軸の減速が開始されるまでに比較パターンJcに対応する軸の減速が終了可能である(ステップC5で「YES」である)ため、ステップC8に進む。
【0045】
ステップC8では、比較パターンJcにおける動作終了時点Tjcfが、基準パターンJsにおける減速開始時点Tjsdに一致するように、比較パターンJcを実行するタイミングが決定される(図9参照)。ステップC8により比較パターンJcのタイミングが決定されると、ステップC9に進む。ステップC9では、その時点における比較パターンJcである速度指令n(3)が次の基準パターンJsに設定される。その後、変数cnt1がインクリメントされ(ステップC10)、インクリメント後の変数cnt1の値が3である(ステップC11で「NO」である)ため、ステップC4に戻る。
【0046】
以降は、変数cnt1が6になるまで(ステップC11で「YES」となるまで)、ステップC4〜C11が繰り返される。すなわち、軸の動作時間が最も短くなる速度指令n(6)が比較パターンJcに設定され、その実行するタイミングが決定されるまでステップC4〜C11が繰り返される。これにより、図10に示すように、全ての速度指令を実行するタイミングが決定される。制御部27は、このように生成した速度指令でもって、各軸に対応するモータMの駆動を制御する。
【0047】
以上説明したように、本実施形態によれば次のような作用および効果が得られる。
制御部27は、ロボット2の手先を現在位置から所定の目標位置までPTP動作により移動するという指令が与えられると、図4に示した演算処理を実行した後、図5に示したタイミング決定処理を実行する。このうち、演算処理では、ロボット2の仕様上あるいは構造上における制限範囲内の最高加速度でもって各軸を駆動するための速度指令が求められる。また、タイミング決定処理では、動作時間の長い速度指令から順に基準パターンJsに設定され、その基準パターンJsの減速が開始されるまでに、その次に動作時間の長い速度指令である比較パターンJcの減速が終了可能であるか否かが判断されていく。その判断の結果、基準パターンJsの減速開始までに比較パターンJcの減速が終了可能である場合、比較パターンJcの動作終了時点Tjcfが基準パターンJsの減速開始時点Tjsdに一致するように比較パターンJcを実行するタイミングが決定される。これにより、基準パターンJsおよび比較パターンの減速期間が互いに重ならなくなる。
【0048】
また、上記判断の結果、基準パターンJsの減速開始までに比較パターンJcの減速が終了可能ではない場合、比較パターンJcの動作開始時点Tjc0が全体の動作開始時点T0に一致するように比較パターンJcを実行するタイミングが決定される。このようなケースでは、基準パターンJsおよび比較パターンJcの減速期間が完全に重ならないようなタイミング設定は不可能である。しかし、上記したようなタイミング設定によれば、基準パターンJsおよび比較パターンJcの減速期間が重なる期間を出来る限り短くすることが可能となる。
【0049】
このようなタイミング決定処理により、全体の動作時間を従来と同等にした上で、各速度指令における減速期間が重複する期間が極力少なくなり、減速動作のタイミングが分散化される。図10に示すように、減速動作のタイミングが分散化されれば、各減速期間における回生エネルギーによるバス電圧Vdの上昇が比較的小さく抑えられ、その分だけ回生消費回路23において熱として消費されるエネルギーが小さくなる。なお、本実施形態の場合、図10に示すように、全体の動作開始時点T0〜全体の動作終了時点Tfまでの全期間において、バス電圧Vdが回生消費電圧値Vthr未満に抑えられている。
【0050】
ロボット2を動作させるために入力されるエネルギー(電力)は、実際に各軸を駆動するために使用されるエネルギー(インバータ装置24、モータMなどにおける種々の電力損失を含む)と、減速動作時に回生消費回路23で熱として消費されるエネルギーとの和である。従って、熱として消費されるエネルギーが減少すれば、その分だけ入力するエネルギーが少なくて済む。つまり、本実施形態のロボットシステム1は、動作時間を引き延ばすことなく、ロボット2をPTP制御する際に消費するエネルギーを低減することができる。なお、このような効果は、演算処理において求められる各速度指令の動作時間が互いに異なるという前提の下で得られるものであるが、仮に、演算処理において求められる各速度指令の動作時間が互いにほとんど同じになった場合(通常、このようなケースはほとんど有り得ない)でも、減速動作時において熱として消費されるエネルギーは従来と同等までしか低下することはない。さらに、本実施形態のロボットシステム1では、制御内容(ソフトウェア)に変更を加えることにより、上記作用および効果が得られる。つまり、ハードウェアの追加を行うことなく、PTP制御を行う際における省エネルギー化を図ることを可能としている。
【0051】
比較パターンJcを必ず次の基準パターンJsに設定すると、次の基準パターンJsの減速開始時点よりも前の基準パターンの減速開始時点のほうが早くなる場合には、減速期間を出来る限り重複させないという効果が若干低減する。ただし、通常、速度指令における減速開始時点は、動作時間が長いものほど遅くなるため、上記した効果低減の問題が発生することは考え難い。しかし、互いの動作時間の差が僅かである場合などには、その関係が逆転することも考えられる。
【0052】
このような稀なケースに対応するため、本実施形態では、ステップC6の実行後に、ステップC7を実行するようにしている。これにより、既にタイミングが決定された速度指令のうち、減速開始時点が最も早い速度指令が次の基準パターンJsとして設定される。そのため、上記した稀なケースであっても、基準パターンJsおよび比較パターンJcの減速期間の重複を出来る限り回避するという効果が最大限に得られる。なお、上記した稀なケースへの対応を考慮しない場合、図5においてステップC7を省略してもよい。その場合、ステップC6を実行した後、ステップC9へ移行するように変更を加えればよい。
【0053】
(第2の実施形態)
以下、第1の実施形態に対し、PTP制御における速度指令の生成方法を変更した第2の実施形態について図11〜図13を参照しながら説明する。
図11は、第1の実施形態における図3相当図である。図11に示すように、本実施形態において、制御部27は、タイミング決定処理(ステップA2)により各速度指令のタイミングを決定した後、ステップA3に進み、それら決定されたタイミングを変更するタイミング変更処理を実行する。すなわち、本実施形態では、制御部27は、タイミング変更処理手段としても機能する。図12は、タイミング変更処理の内容を示すフローチャートである。図12に示すように、タイミング変更処理が開始されると、本処理内で用いられる変数(cnt2)の初期値の設定が行われる(ステップD1)。変数cnt2の初期値は、1に設定される。
【0054】
続くステップD2〜D8は、タイミングが決定された状態の速度指令n(1)〜n(6)のうち、全体の動作開始時点T0から各加速終了時点までの時間が最も長くなる速度指令を加速終了最遅パターンとして設定するものである。具体的には、ステップD2では、速度指令n(cnt2)が基準パターンJsmに設定される。すなわち、速度指令n(1)が基準パターンJsmに設定される。ステップD3では、速度指令n(cnt2+1)が比較パターンJcmに設定される。すなわち、速度指令n(2)が比較パターンJcmに設定される。
【0055】
ステップD4では、基準パターンJsmおよび比較パターンJcmの各加速時間が比較される。上記加速時間は、第4の時間に相当するものであり、全体の動作開始時点T0を基準としたものである。すなわち、基準パターンJsmの加速時間は、時点T0から基準パターンJsmにおける加速終了時点までの時間である。また、比較パターンJcmの加速時間は、時点T0から比較パターンJcmにおける加速終了時点までの時間である。この場合、図10に示したとおり、基準パターンJsmのほうが、比較パターンJcmよりも加速時間が長い(ステップD4で「YES」である)ため、基準パターンJsmを再設定するためのステップD5が実行されることなく、ステップD6に進む。このように、基準パターンJsmのほうが比較パターンJcmより加速時間が長い場合には、基準パターンJsmの変更は行われない。
【0056】
ステップD6では、変数cnt2がインクリメントされる(cnt2=cnt2+1)。ステップD7では、変数cnt2の値がしきい値X(ロボット2の総軸数=6)以上であるか否かが判断される。ここでは、変数cnt2の値は2である(ステップD7で「NO」である)ため、ステップD3に戻る。そのステップD3では、速度指令n(3)が次の比較パターンJcmに設定される。この場合も、基準パターンJsmのほうが、比較パターンJcmよりも加速時間が長い(ステップD4で「YES」である)ため、ステップD5を実行することなくステップD6に進む。
【0057】
そして、変数cnt2がインクリメントされ(ステップD6)、その変数cnt2の値が3である(ステップD7で「NO」である)ため、ステップD3に戻る。そのステップD3では、速度指令n(4)が次の比較パターンJcmに設定される。この場合、比較パターンJcmのほうが、基準パターンJsmよりも加速時間が長い(ステップD4で「NO」である)ため、ステップD5に進む。ステップD5では、速度指令n(cnt2+1)が次の基準パターンJsmに設定される。すなわち、その時点の比較パターンJcmである速度指令n(4)が次の基準パターンJsmに設定される。このように、比較パターンJcmのほうが基準パターンJsmよりも加速時間が長い場合には、その比較パターンJcmが次の基準パターンJsmに設定される。そして、変数cnt2がインクリメントされ(ステップD6)、その変数cnt2の値が4である(ステップD7で「NO」である)ため、ステップD3に戻る。
【0058】
以降は、変数cnt2の値が6になるまで(ステップD7で「YES」となるまで)、ステップD3〜D7が繰り返される。すなわち、全ての速度指令の加速時間の比較が終了するまでステップD3〜D7が繰り返される。その結果、最終的に基準パターンJsmに設定されている速度指令が、最も加速時間が長い速度指令であるということになる。ここでは、速度指令n(5)が最終的に基準パターンJsmに設定されている。
【0059】
ステップD8では、そのときの基準パターンJsmが、加速終了最遅パターンJLに設定される。ステップD9では、全体の動作開始時点T0から加速終了最遅パターンJLの加速終了時点Tjlaまでの時間と、速度指令n(cnt1)単体での動作時間とが比較される。このとき、変数cnt1の値は、タイミング決定処理(ステップA2)が終了した時点の値(=6)になっている。すなわち、加速終了最遅パターンJLの加速時間内に、速度指令n(6)単体での動作が終了可能であるか否かが判断される。この場合、加速終了最遅パターンJLの加速時間内に、速度指令n(6)単体での動作が終了可能である(ステップD9で「YES」である)ため、ステップD10に進む。
【0060】
ステップD10では、速度指令n(cnt1)が短動作時間パターンに設定され、そのタイミングが次のように変更される。すなわち、速度指令n(6)の動作開始時点が全体の動作開始時点T0に一致するように、速度指令n(6)を実行するタイミングが変更される(図13参照)。続くステップD11では、短動作時間パターンに設定された速度指令n(cnt1)が、加速終了最遅パターンJLであるか否かが判断される。この場合、速度指令n(6)は、加速終了最遅パターンJLではない(ステップD11で「NO」である)ため、ステップD13に進む。ステップD13では、変数cnt1がデクリメントされる(cnt1=cnt1-1)。
【0061】
ステップD13が実行された後は、ステップD9に戻る。そのステップD9では、加速終了最遅パターンJLの加速時間内に、速度指令n(5)単体での動作が終了可能であるか否かが判断される。この場合も、加速終了最遅パターンJLの加速時間内に、速度指令n(5)単体での動作が終了可能である(ステップD9で「YES」である)ため、ステップD10に進む。そのステップD10では、速度指令n(5)が短動作時間パターンに設定され、そのタイミングが変更される(図13参照)。この場合、速度指令n(5)は、加速終了最遅パターンJLである(ステップD11で「YES」である)ため、ステップD12に進む。
【0062】
このように、加速終了最遅パターンとして設定されていた速度指令n(5)を実行するタイミングが変更された場合、それ以降の速度指令n(4)〜n(1)が短動作時間パターンとしてタイミングを変更可能であるか否かの判断を行うことができなくなる。そこで、ステップD12において、変数cnt1の値がしきい値X(6)に設定され、その後、ステップD1に戻る。すなわち、加速終了最遅パターンJLの設定が再度実行される。そして、新たな加速終了最遅パターンJLの加速時間内に単体での動作が終了可能な短動作時間パターンの設定が再度実行される。このような処理は、短動作時間パターンとして設定可能な速度指令が存在しなくなる(ステップD9で「NO」となる)まで繰り返される。
【0063】
これにより、図13に示すように、全ての速度指令を実行するタイミングが決定される。本実施形態の場合、最終的には速度指令n(4)が加速終了最遅パターンJLとして設定されるとともに、速度指令n(5)、n(6)が短動作時間パターンとして設定される。従って、タイミング決定処理実行後の各速度指令(図10参照)に対し、速度指令n(5)、n(6)を実行するタイミングが変更されている。制御部27は、このように生成した速度指令でもって、各軸に対応するモータMの駆動を制御する。
【0064】
以上説明したように、本実施形態によれば次のような作用および効果が得られる。
図12に示したタイミング変更処理が実行されることにより、短動作時間パターンとして設定された速度指令n(5)、n(6)に対応する軸の減速動作において回生される回生エネルギーが、他の速度指令n(1)〜n(4)に対応する軸の加速動作や等速動作などにおいて使用される。回生エネルギーが他の動作において有効利用されれば、その分だけ回生消費回路23において熱として消費されるエネルギーが抑えられる。従って、本実施形態によれば、ロボット2をPTP動作制御する最における省エネルギー化の効果を一層高めることができる。さらに、加速終了最遅パターンJLに対応する軸などの加速動作時に、短動作時間パターンに対応する軸の減速動作に回生される回生エネルギーが利用されることにより、例えば昇圧回路などを設けることなく、その加速動作に必要となるバス電圧Vdが確保可能となり、加速動作の追従性を高められるという効果も得られる。
【0065】
(その他の実施形態)
なお、本発明は上記し且つ図面に記載した各実施形態に限定されるものではなく、次のような変形または拡張が可能である。
本発明は、モータMとしてDCブラシレスモータを用いた構成に限らず、例えば直流モータ、交流モータなど各種のモータを用いた構成にも適用可能である。なお、モータMとして直流モータを用いる場合には、モータMを駆動する駆動手段として、インバータ装置24に代えて、例えばHブリッジ回路を主体として構成された駆動回路を用いればよい。
上記実施形態では、本発明を6軸の垂直多関節型のロボット2に適用した例を説明したが、本発明は、例えば4軸の水平多関節型のロボットなど、複数の軸をモータにより駆動する構成のロボット全般に適用可能である。
【符号の説明】
【0066】
図面中、2はロボット、3はコントローラ(ロボットの制御装置)、27は制御部(演算処理手段、タイミング決定処理手段、タイミング変更処理手段)、Mはモータを示す。
【特許請求の範囲】
【請求項1】
モータにより駆動される複数の軸を有するロボットの手先を現在位置から目標位置までPTP動作により移動させる際、各軸に対する速度指令をそれぞれ演算する演算処理を実行し、それら演算された各速度指令を実行するタイミングを決定するタイミング決定処理を実行するロボットの制御方法であって、
前記演算処理は、各軸単位での動作時間が最も短くなるように各軸を駆動するための速度指令を演算するステップを含み、
前記タイミング決定処理は、
前記演算された各速度指令のうち、軸の動作時間が最も長くなる速度指令における動作開始時点を全体の動作開始時点として規定し、前記軸の動作時間が最も長くなる速度指令を実行するタイミングを決定する第1ステップと、
前記軸の動作時間が最も長くなる速度指令を基準パターンに設定する第2ステップと、
前記基準パターンの次に軸の動作時間が長くなる速度指令を比較パターンに設定する第3ステップと、
全体の動作開始時点から前記基準パターンにおける減速開始時点までの第1の時間と、前記比較パターンにおける動作開始時点から動作終了時点までの第2の時間とを比較する第4ステップと、
前記第4ステップにおいて、前記第1の時間が前記第2の時間より長い場合には前記比較パターンにおける動作終了時点が前記基準パターンにおける減速開始時点に一致するように前記比較パターンを実行するタイミングを決定し、前記第1の時間が前記第2の時間より短い場合には前記比較パターンにおける動作開始時点が全体の動作開始時点に一致するように前記比較パターンを実行するタイミングを決定する第5ステップと、
前記第5ステップにおいてタイミングが決定された比較パターンを次の基準パターンに設定するとともに、その比較パターンの次に軸の動作時間が長くなる速度指令を次の比較パターンに設定する第6ステップと、
を含み、
前記第6ステップの実行後、前記次の比較パターンの設定対象となる速度指令が存在しなくなるまで、前記第4ステップ、前記第5ステップおよび前記第6ステップとを繰り返し実行することを特徴とするロボットの制御方法。
【請求項2】
前記タイミング決定処理は、
前記第5ステップにおいて、前記比較パターンにおける動作開始時点が全体の動作開始時点に一致するように前記比較パターンを実行するタイミングが決定されると、前記第1の時間と全体の動作開始時点から前記比較パターンにおける減速開始時点までの第3の時間とを比較する第7ステップを含み、
前記第1の時間が前記第3の時間より長い場合には前記第6ステップにおいて前記次の基準パターンの設定を実行し、前記第1の時間が前記第3の時間より短い場合には前記第6ステップにおいて前記次の基準パターンの設定を実行しないことを特徴とする請求項1に記載のロボットの制御方法。
【請求項3】
前記タイミング決定処理によりタイミングが決定された速度指令のタイミングを変更するタイミング変更処理を実行し、
前記タイミング変更処理は、
前記タイミングが決定された速度指令のうち、全体の動作開始時点から加速終了時点までの第4の時間が最も長くなる速度指令を加速終了最遅パターンに設定するステップと、
前記加速終了最遅パターンにおける前記第4の時間内に軸の動作が完了する速度指令を短動作時間パターンに設定する第8ステップと、
前記短動作時間パターンにおける動作開始時点が全体の動作開始時点に一致するように前記短動作時間パターンを実行するタイミングを変更する第9ステップと、
を含んでいることを特徴とする請求項1または2に記載のロボットの制御方法。
【請求項4】
モータにより駆動される複数の軸を有するロボットの手先を現在位置から目標位置までPTP動作により移動させる際、各軸に対する速度指令をそれぞれ演算する演算処理手段と、それら演算された各速度指令を実行するタイミングを決定するタイミング決定処理手段とを有するロボットの制御装置であって、
前記演算処理手段は、各軸単位での動作時間が最も短くなるように各軸を駆動するための速度指令を演算し、
前記タイミング決定処理手段は、
前記演算された各速度指令のうち、軸の動作時間が最も長くなる速度指令における動作開始時点を全体の動作開始時点として規定し、前記軸の動作時間が最も長くなる速度指令を実行するタイミングを決定し、
前記軸の動作時間が最も長くなる速度指令を基準パターンに設定し、
前記基準パターンの次に軸の動作時間が長くなる速度指令を比較パターンに設定し、
全体の動作開始時点から前記基準パターンにおける減速開始時点までの第1の時間と、前記比較パターンにおける動作開始時点から動作終了時点までの第2の時間とを比較し、
前記第1および第2の時間の比較の結果、前記第1の時間が前記第2の時間より長い場合には前記比較パターンにおける動作開始時点が前記基準パターンにおける減速開始時点に一致するように前記比較パターンを実行するタイミングを決定し、前記第1の時間が前記第2の時間より短い場合には前記比較パターンにおける動作開始時点が全体の動作開始時点に一致するように前記比較パターンを実行するタイミングを決定し、
前記タイミングが決定された比較パターンを次の基準パターンに設定するとともに、その比較パターンの次に軸の動作時間が長くなる速度指令を次の比較パターンに設定し、
前記次の基準パターンおよび前記次の比較パターンを設定した後、前記次の比較パターンの設定対象となる速度指令が存在しなくなるまで、前記第1および第2の時間の比較と、前記比較パターンのタイミング決定と、前記次の基準パターンおよび前記次の比較パターンの設定とを繰り返し実行することを特徴とするロボットの制御装置。
【請求項5】
前記タイミング決定処理手段は、
前記比較パターンにおける動作開始時点が全体の動作開始時点に一致するように前記比較パターンを実行するタイミングが決定されると、前記第1の時間と全体の動作開始時点から前記比較パターンにおける減速開始時点までの第3の時間とを比較し、
前記第1および第3の時間の比較の結果、前記第1の時間が前記第3の時間より長い場合には前記次の基準パターンの設定を実行し、前記第1の時間が前記第3の時間より短い場合には前記次の基準パターンの設定を実行しないことを特徴とする請求項4に記載のロボットの制御装置。
【請求項6】
前記タイミング決定処理手段によりタイミングが決定された速度指令のタイミングを変更するタイミング変更処理手段を備え、
前記タイミング変更処理手段は、
前記タイミングが決定された速度指令のうち、全体の動作開始時点から加速終了時点までの第4の時間が最も長くなる速度指令を加速終了最遅パターンに設定し、
前記加速終了最遅パターンにおける前記第4の時間内に軸の動作が完了する速度指令を短動作時間パターンに設定し、
前記短動作時間パターンにおける動作開始時点が全体の動作開始時点に一致するように前記短動作時間パターンを実行するタイミングを変更することを特徴とする請求項4または5に記載のロボットの制御装置。
【請求項1】
モータにより駆動される複数の軸を有するロボットの手先を現在位置から目標位置までPTP動作により移動させる際、各軸に対する速度指令をそれぞれ演算する演算処理を実行し、それら演算された各速度指令を実行するタイミングを決定するタイミング決定処理を実行するロボットの制御方法であって、
前記演算処理は、各軸単位での動作時間が最も短くなるように各軸を駆動するための速度指令を演算するステップを含み、
前記タイミング決定処理は、
前記演算された各速度指令のうち、軸の動作時間が最も長くなる速度指令における動作開始時点を全体の動作開始時点として規定し、前記軸の動作時間が最も長くなる速度指令を実行するタイミングを決定する第1ステップと、
前記軸の動作時間が最も長くなる速度指令を基準パターンに設定する第2ステップと、
前記基準パターンの次に軸の動作時間が長くなる速度指令を比較パターンに設定する第3ステップと、
全体の動作開始時点から前記基準パターンにおける減速開始時点までの第1の時間と、前記比較パターンにおける動作開始時点から動作終了時点までの第2の時間とを比較する第4ステップと、
前記第4ステップにおいて、前記第1の時間が前記第2の時間より長い場合には前記比較パターンにおける動作終了時点が前記基準パターンにおける減速開始時点に一致するように前記比較パターンを実行するタイミングを決定し、前記第1の時間が前記第2の時間より短い場合には前記比較パターンにおける動作開始時点が全体の動作開始時点に一致するように前記比較パターンを実行するタイミングを決定する第5ステップと、
前記第5ステップにおいてタイミングが決定された比較パターンを次の基準パターンに設定するとともに、その比較パターンの次に軸の動作時間が長くなる速度指令を次の比較パターンに設定する第6ステップと、
を含み、
前記第6ステップの実行後、前記次の比較パターンの設定対象となる速度指令が存在しなくなるまで、前記第4ステップ、前記第5ステップおよび前記第6ステップとを繰り返し実行することを特徴とするロボットの制御方法。
【請求項2】
前記タイミング決定処理は、
前記第5ステップにおいて、前記比較パターンにおける動作開始時点が全体の動作開始時点に一致するように前記比較パターンを実行するタイミングが決定されると、前記第1の時間と全体の動作開始時点から前記比較パターンにおける減速開始時点までの第3の時間とを比較する第7ステップを含み、
前記第1の時間が前記第3の時間より長い場合には前記第6ステップにおいて前記次の基準パターンの設定を実行し、前記第1の時間が前記第3の時間より短い場合には前記第6ステップにおいて前記次の基準パターンの設定を実行しないことを特徴とする請求項1に記載のロボットの制御方法。
【請求項3】
前記タイミング決定処理によりタイミングが決定された速度指令のタイミングを変更するタイミング変更処理を実行し、
前記タイミング変更処理は、
前記タイミングが決定された速度指令のうち、全体の動作開始時点から加速終了時点までの第4の時間が最も長くなる速度指令を加速終了最遅パターンに設定するステップと、
前記加速終了最遅パターンにおける前記第4の時間内に軸の動作が完了する速度指令を短動作時間パターンに設定する第8ステップと、
前記短動作時間パターンにおける動作開始時点が全体の動作開始時点に一致するように前記短動作時間パターンを実行するタイミングを変更する第9ステップと、
を含んでいることを特徴とする請求項1または2に記載のロボットの制御方法。
【請求項4】
モータにより駆動される複数の軸を有するロボットの手先を現在位置から目標位置までPTP動作により移動させる際、各軸に対する速度指令をそれぞれ演算する演算処理手段と、それら演算された各速度指令を実行するタイミングを決定するタイミング決定処理手段とを有するロボットの制御装置であって、
前記演算処理手段は、各軸単位での動作時間が最も短くなるように各軸を駆動するための速度指令を演算し、
前記タイミング決定処理手段は、
前記演算された各速度指令のうち、軸の動作時間が最も長くなる速度指令における動作開始時点を全体の動作開始時点として規定し、前記軸の動作時間が最も長くなる速度指令を実行するタイミングを決定し、
前記軸の動作時間が最も長くなる速度指令を基準パターンに設定し、
前記基準パターンの次に軸の動作時間が長くなる速度指令を比較パターンに設定し、
全体の動作開始時点から前記基準パターンにおける減速開始時点までの第1の時間と、前記比較パターンにおける動作開始時点から動作終了時点までの第2の時間とを比較し、
前記第1および第2の時間の比較の結果、前記第1の時間が前記第2の時間より長い場合には前記比較パターンにおける動作開始時点が前記基準パターンにおける減速開始時点に一致するように前記比較パターンを実行するタイミングを決定し、前記第1の時間が前記第2の時間より短い場合には前記比較パターンにおける動作開始時点が全体の動作開始時点に一致するように前記比較パターンを実行するタイミングを決定し、
前記タイミングが決定された比較パターンを次の基準パターンに設定するとともに、その比較パターンの次に軸の動作時間が長くなる速度指令を次の比較パターンに設定し、
前記次の基準パターンおよび前記次の比較パターンを設定した後、前記次の比較パターンの設定対象となる速度指令が存在しなくなるまで、前記第1および第2の時間の比較と、前記比較パターンのタイミング決定と、前記次の基準パターンおよび前記次の比較パターンの設定とを繰り返し実行することを特徴とするロボットの制御装置。
【請求項5】
前記タイミング決定処理手段は、
前記比較パターンにおける動作開始時点が全体の動作開始時点に一致するように前記比較パターンを実行するタイミングが決定されると、前記第1の時間と全体の動作開始時点から前記比較パターンにおける減速開始時点までの第3の時間とを比較し、
前記第1および第3の時間の比較の結果、前記第1の時間が前記第3の時間より長い場合には前記次の基準パターンの設定を実行し、前記第1の時間が前記第3の時間より短い場合には前記次の基準パターンの設定を実行しないことを特徴とする請求項4に記載のロボットの制御装置。
【請求項6】
前記タイミング決定処理手段によりタイミングが決定された速度指令のタイミングを変更するタイミング変更処理手段を備え、
前記タイミング変更処理手段は、
前記タイミングが決定された速度指令のうち、全体の動作開始時点から加速終了時点までの第4の時間が最も長くなる速度指令を加速終了最遅パターンに設定し、
前記加速終了最遅パターンにおける前記第4の時間内に軸の動作が完了する速度指令を短動作時間パターンに設定し、
前記短動作時間パターンにおける動作開始時点が全体の動作開始時点に一致するように前記短動作時間パターンを実行するタイミングを変更することを特徴とする請求項4または5に記載のロボットの制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−192485(P2012−192485A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−58021(P2011−58021)
【出願日】平成23年3月16日(2011.3.16)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願日】平成23年3月16日(2011.3.16)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
[ Back to top ]