JP5997560B2 - 開始時点特定装置、制御装置、及び開始時点特定方法 - Google Patents

開始時点特定装置、制御装置、及び開始時点特定方法 Download PDF

Info

Publication number
JP5997560B2
JP5997560B2 JP2012210864A JP2012210864A JP5997560B2 JP 5997560 B2 JP5997560 B2 JP 5997560B2 JP 2012210864 A JP2012210864 A JP 2012210864A JP 2012210864 A JP2012210864 A JP 2012210864A JP 5997560 B2 JP5997560 B2 JP 5997560B2
Authority
JP
Japan
Prior art keywords
time
trajectory
start time
waveform
velocity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012210864A
Other languages
English (en)
Other versions
JP2014065096A (ja
Inventor
光介 上田
光介 上田
英利 神谷
英利 神谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Daihen Corp
Original Assignee
Daihen Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Daihen Corp filed Critical Daihen Corp
Priority to JP2012210864A priority Critical patent/JP5997560B2/ja
Publication of JP2014065096A publication Critical patent/JP2014065096A/ja
Application granted granted Critical
Publication of JP5997560B2 publication Critical patent/JP5997560B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、連続した軌道に応じた2個の速度波形の時間的な位置関係を決定する装置等に関する。
産業用ロボットにおいて、ある経路とその次の経路との間で移動方向や速さが急激に変化する場合には、その変化点で大きな加速度が発生する。その結果、振動が引き起こされ、所要の精度が得られなかったり、無理な力が加わることによってウェハやガラス基板等の搬送対象や機械本体の破損を招いたりするという問題が生じる。そのような問題を解決するため、移動平均処理などを用いて2個の経路の速度変化を滑らかにつなぐ方法が知られている(例えば、特許文献1参照)。
特開2003−241811号公報
しかしながら、連続した第1及び第2の速度波形に移動平均処理を行った場合には、図12Aの破線の波形で示されるように、速度波形の接続部分が重ね合わされたようになる。その結果、図12Bで示されるように、移動平均処理の内回り軌道を通ることになり、第1の軌道の終点EPを通過しないことになる。なお、第1の軌道に対応する速度波形が第1の速度波形であり、第2の軌道に対応する速度波形が第2の速度波形であるとしている。以下の説明においても同様であるとする。また、図12Aにおいて、第1及び第2の速度波形は、厳密には3次元座標系における速度ベクトルの時間変化であり、それぞれの方向は異なっているが、説明の便宜上、速度ベクトルの大きさを同じグラフ上に示している。このことは、他の速度波形のグラフについても同様である。
また、内回りを行うように重ね合わされた第1及び第2の速度波形に移動平均処理を行った場合には、図12Cの破線の波形で示されるように、速度波形の合成部分が重ね合わされたようになる。その結果、図12Dで示されるように、第1の軌道の内回り開始距離よりも手前の位置MSPから移動平均処理の内回り軌道が開始されることになり、第1の軌道の内回り開始位置SPを通過しないことになる。
ウェハや液晶基板等の搬送対象を搬送する搬送ロボットは、狭小な空間で搬送対象をスロットなどに搬送する必要があり、想定していない内回りが発生した場合には、干渉の発生するおそれがある。また、搬送対象をあらかじめ決められた位置に正確に載置するため、軌道の終点に到達することが必要な場合もあり、そのような場合に想定していない内回りが発生すると、搬送対象の正確な載置を行うことができなくなる。このことは、溶接ロボットや組み立てロボット等の搬送ロボット以外の産業用ロボットについても同様である。
一般的に言えば、移動平均処理等のフィルタ処理を行う場合であっても、マニピュレータが軌道のあらかじめ決められた位置を通過するようにしたいと言う要望があった。
本発明は、上記事情に応じてなされたものであり、移動平均処理等のフィルタ処理を行う場合であっても、マニピュレータがあらかじめ決められた位置を通過できるようにするための装置等を提供することを目的とする。
上記目的を達成するため、本発明による開始時点特定装置は、モータによって駆動される関節によって連結された複数のアームを有するマニピュレータの3個以上の教示点を示す教示情報が記憶される教示情報記憶部と、教示情報によって示される連続する2個の教示点間の第1の軌道に応じた速度の時間変化である第1の速度波形に対して、第1の軌道に続く第2の軌道に応じた速度の時間変化である第2の速度波形の開始時点を特定する開始時点特定部と、を備え、開始時点特定部は、特定した開始時点を用いて接続された第1及び第2の速度波形に対して有限インパルス応答フィルタ処理を1回以上実行した場合でも、マニピュレータが第1の軌道におけるあらかじめ決められた位置を通過するように、あらかじめ決められた位置に対応する時点より後の時点である第2の速度波形の開始時点を特定する、ものである。
このような構成により、第1の軌道のあらかじめ決められた位置をマニピュレータが通過するための制御で用いられる、第2の速度波形の開始時点を特定できる。その結果、例えば、干渉を防止したり、所定の位置への正確な移動を実現したりすることができる。
また、本発明による開始時点特定装置では、あらかじめ決められた位置は、第1の軌道の終点の教示点であり、開始時点特定部は、第1の速度波形において終点に到達する時点である終点時点から、有限インパルス応答フィルタの1段あたりの遅延時間に段数を掛けた時間を有限インパルス応答フィルタ処理の実行回数に応じて加算した時間だけ後の時点である第2の速度波形の開始時点を特定してもよい。
このような構成により、第1の軌道の終点をマニピュレータが通過するための制御で用いられる、第2の速度波形の開始時点を特定することができる。
また、本発明による開始時点特定装置では、あらかじめ決められた位置は、第1の軌道における内回り開始位置であり、開始時点特定部は、有限インパルス応答フィルタ処理を実行回数だけ実行した第1の速度波形における第2の速度波形の開始時点に応じた第1の軌道の位置から、第1の軌道の終点までの距離が、第1の軌道の終点から内回り開始位置までの距離である内回り開始距離と等しくなるように、第2の速度波形の開始時点を特定してもよい。
このような構成により、第1の軌道の内回り開始位置をマニピュレータが通過するための制御で用いられる、第2の速度波形の開始時点を特定することができる。
また、本発明による開始時点特定装置では、開始時点特定部は、有限インパルス応答フィルタ処理を実行回数だけ実行した第1の速度波形を積分した位置の時間変化を用いて、第1の軌道の終点から内回り開始距離だけ始点側の位置に応じた時点である第2の速度波形の開始時点を特定してもよい。
このような構成により、第1の速度波形に対して実際に有限インパルス応答フィルタ処理を行わなくても、第2の速度波形の開始時点を特定できる。その結果、例えば、第2の速度波形の開始時点を特定するための処理を軽くすることができる。
また、本発明による制御装置は、開始時点特定装置と、開始時点特定装置が特定した第2の速度波形の開始時点を用いて第1及び第2の速度波形が接続された速度波形に対して有限インパルス応答フィルタ処理を1回以上実行するFIRフィルタ処理部と、FIRフィルタ処理部によって有限インパルス応答フィルタ処理の実行された速度波形を用いて、マニピュレータの各モータの制御を行うサーボコントローラを制御する軌道制御部と、を備えたものである。
このような構成により、第1の軌道のあらかじめ決められた位置をマニピュレータが通過するように制御できる。
本発明による開始時点特定装置等によれば、第1の軌道のあらかじめ決められた位置をマニピュレータが通過するための制御で用いられる、第2の速度波形の開始時点を特定できる。
本発明の実施の形態1による産業用ロボットの構成を示すブロック図 同実施の形態におけるFIRフィルタ処理部の構成の一例を示す図 同実施の形態における開始時点の特定について説明するための図 同実施の形態におけるFIRフィルタ処理前後の速度波形の一例を示す図 同実施の形態におけるFIRフィルタ処理後の軌道の一例を示す図 同実施の形態における開始時点の特定について説明するための図 同実施の形態におけるFIRフィルタ処理後の軌道の一例を示す図 同実施の形態における速度波形等の波形の一例を示す図 同実施の形態における位置、速度、加速度の波形の一例を示す図 同実施の形態における速度波形等の波形の一例を示す図 同実施の形態における位置、速度、加速度の波形の一例を示す図 同実施の形態における開始時点の特定について説明するための図 同実施の形態による制御装置の動作を示すフローチャート 同実施の形態による開始時点特定装置の動作を示すフローチャート 従来のFIRフィルタ処理前後の速度波形を示す図 従来のFIRフィルタ処理前後の軌道を示す図 従来のFIRフィルタ処理前後の速度波形を示す図 従来のFIRフィルタ処理前後の軌道を示す図
以下、本発明による制御装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1によるマニピュレータの制御装置について、図面を参照しながら説明する。本実施の形態によるマニピュレータの制御装置は、ある軌道におけるあらかじめ決められた位置をマニピュレータが通過するように制御するため、その軌道に続く軌道に応じた速度波形の開始時点を特定するものである。
図1は、本実施の形態による産業用ロボットの構成を示すブロック図である。本実施の形態による産業用ロボットは、制御装置1と、サーボコントローラ2と、マニピュレータ3とを備える。マニピュレータ3は、モータによって駆動される関節によって連結された複数のアームを有する。そのマニピュレータ3において、各モータとアームとは減速器を介して接続されている。また、直列に接続されたアームの先端には手先効果器(エンドエフェクタ)が設けられていてもよい。マニピュレータ3は、例えば、水平多関節ロボットのマニピュレータであってもよく、または、垂直多関節ロボットのマニピュレータであってもよい。サーボコントローラ2は、制御装置1による制御に応じて、マニピュレータ3の各軸のモータを制御する。制御装置1は、ティーチングプレイバック方式により、後述する教示情報に応じてマニピュレータ3が動作するようにサーボコントローラ2を制御する。本実施の形態による産業用ロボットは、例えば、搬送ロボットであってもよく、溶接ロボットであってもよく、組立ロボットであってもよく、塗装ロボットであってもよく、あるいは、その他の用途のロボットであってもよい。
図1で示されるように、本実施の形態による制御装置1は、開始時点特定装置11と、FIRフィルタ処理部12と、軌道制御部13とを備える。また、開始時点特定装置11は、教示情報記憶部21と、速度波形生成部22と、開始時点特定部23とを備える。
教示情報記憶部21では、教示情報が記憶される。教示情報は、モータによって駆動される関節によって連結された複数のアームを有するマニピュレータ3の3個以上の教示点を示す情報である。この教示点は、通常、マニピュレータ3の先端である手先効果器の教示点である。また、教示情報は、教示点におけるマニピュレータ3の先端の姿勢をも示す情報であってもよい。すなわち、教示情報にマニピュレータ3の手先効果器の姿勢を示す情報が含まれていてもよい。また、各教示点には、その教示点において内回りをするかどうかを示すフラグ等の情報が設定されていてもよい。その内回りを行う場合に、内回り開始位置を示す情報、例えば、内回り開始位置の座標や、内回り開始距離が教示情報に含まれていてもよい。また、連続する2個の教示点を結ぶ軌道に応じた速さを示す情報が教示情報に含まれていてもよい。ここで、連続する2個の教示点とは、時間的に隣接した2個の教示点である。その速さを示す情報は、例えば、50%や100%等のように、最大の速さに対する割合であってもよく、速度の時間変化を示す速度波形であってもよい。本実施の形態では、速度波形が教示情報に含まれておらず、速度波形生成部22が速度波形を生成する場合について主に説明する。
教示情報記憶部21に教示情報が記憶される過程は問わない。例えば、記録媒体を介して教示情報が教示情報記憶部21で記憶されるようになってもよく、通信回線等を介して送信された教示情報が教示情報記憶部21で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された教示情報が教示情報記憶部21で記憶されるようになってもよい。教示情報記憶部21での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。教示情報記憶部21は、所定の記録媒体(例えば、半導体メモリや磁気ディスクなど)によって実現されうる。
速度波形生成部22は、教示情報記憶部21で記憶されている教示情報を用いて、連続する2個の教示点間の軌道に応じた速度波形を生成する。速度波形生成部22は、教示情報で示される各軌道について、例えば、加速区間、等速区間、減速区間を有する台形状の速度波形を生成してもよい。加速区間や減速区間における加速度は、あらかじめ決められていてもよく、または、軌道の状況に応じて速度波形生成部22が決定してもよい。また、例えば、教示情報において、ある軌道について100%の速度が設定されている場合には、速度波形生成部22は、等速区間において、あらかじめ決められた速度の100%となるように、速度波形を生成してもよい。速度波形生成部22は、生成した速度波形を教示情報記憶部21に蓄積してもよく、または、図示しない記録媒体に蓄積してもよい。本実施の形態では、前者の場合について説明する。その蓄積の際に、速度波形に応じた軌道との対応が分かるように蓄積されることが好適である。
開始時点特定部23は、教示情報記憶部21で記憶されている教示情報によって示される連続した2個の軌道にそれぞれ対応した2個の速度波形のうち、時間的に前の速度波形である第1の速度波形に対して、第2の速度波形の開始時点を特定する。開始時点特定部23は、その処理を、教示情報によって示される連続した複数の軌道のうち、連続した軌道について順次、繰り返して行うが、ここでは説明の便宜上、第1の軌道と、それに続く第2の軌道とに関する処理について説明する。ここで、各軌道は、教示情報によって示される、連続する2個の教示点間の軌道である。また、第1の軌道に応じた速度波形が第1の速度波形であり、第2の軌道に応じた速度波形が第2の速度波形であるとする。なお、ある軌道に応じた速度波形とは、その軌道をマニピュレータ3の先端が移動する際のマニピュレータ3の先端の速度の時間変化を示す波形である。
従来、この第2の速度波形の開始時点は、内回りを行わない場合には、第1の速度波形においてマニピュレータ3が第1の軌道の終点に到達した時点であり、内回りを行う場合には、第1の速度波形においてマニピュレータ3が第1の軌道の内回り開始位置に到達した時点である。一方、そのような開始時点を用いて第1及び第2の速度波形を接続し、その接続後の第1及び第2の速度波形に対して移動平均処理等の有限インパルス応答フィルタ処理を行った場合には、前述のように、あらかじめ決められた位置、例えば、軌道の終点や内回り開始位置をマニピュレータ3が通過しなくなる。そこで、開始時点特定部23は、マニピュレータ3があらかじめ決められた位置を通過するように、第1及び第2の速度波形を接続する際の第2の速度波形の開始時点を特定する。すなわち、開始時点特定部23は、特定した開始時点を用いて接続された第1及び第2の速度波形に対して有限インパルス応答フィルタ処理を1回以上実行した場合でも、マニピュレータ3が第1の軌道におけるあらかじめ決められた位置を通過するように第2の速度波形の開始時点を特定する。その第2の速度波形の開始時点は、通常、あらかじめ決められた位置に対応する時点、すなわち、あらかじめ決められた位置をマニピュレータ3が通過する時点より後の時点である。なお、あらかじめ決められた位置は、軌道の終点であってもよく、軌道の内回り開始位置であってもよく、または、その他の点であってもよい。本実施の形態では、内回りを行わない軌道では、あらかじめ決められた位置が軌道の終点であり、内回りを行う軌道では、あらかじめ決められた位置が内回り開始位置である場合について主に説明する。その結果、内回りを行わない軌道では、その軌道の終点をマニピュレータ3が通過することになり、内回りを行う軌道では、その軌道の内回り開始位置をマニピュレータ3が通過することになる。また、ある位置をマニピュレータ3が通過するとは、厳密には、マニピュレータ3のあらかじめ決められた点がその位置を通過することである。そのあらかじめ決められた点は、通常、マニピュレータ3の先端である。また、第2の速度波形の開始時点の特定は、例えば、第2の速度波形の開始時刻を特定することであってもよく、所定の時点を基準として、第2の速度波形の開始時点を特定することであってもよい。その所定の時点は、例えば、第1の速度波形において終点に到達する時点である終点時点であってもよく、第1の速度波形において内回り開始位置に到達する時点であってもよく、従来の開始時点であってもよく、または、その他の時点であってもよい。なお、所定の時点を基準とした第2の速度波形の開始時点の特定は、例えば、その所定の時点と、第2の速度波形の開始時点との間の相対的な時間を特定することであってもよい。また、従来の開始時点とは、例えば、内回りを行わない場合には、第1の軌道の終点に対応する第1の速度波形の時点であり、内回りを行う場合には、第1の軌道の内回り開始位置に対応する第1の速度波形の時点である。その従来の開始時点を基準とした第2の速度波形の開始時点の特定は、例えば、その従来の開始時点に対する開始時点の遅延時間の特定であってもよい。その従来の開始時点に対する開始時点の遅延時間とは、あらかじめ決められた位置をマニピュレータ3が通過するようにするために第2の速度波形が遅延される時間のことである。なお、開始時点特定部23による開始時点の特定方法については後述する。
FIRフィルタ処理部12は、開始時点特定装置11が特定した第2の速度波形の開始時点を用いて第1及び第2の速度波形が接続された速度波形に対して、有限インパルス応答(FIR:Finite Impulse Response)フィルタ処理を1回以上実行する。その有限インパルス応答フィルタ処理を実行する回数は、あらかじめ決められているものとする。そして、その回数がFIRフィルタ処理部12に設定されていてもよく、または、FIRフィルタ処理部12がその回数に応じた構成となっていてもよい。また、第2の速度波形の開始時点を用いて第1及び第2の速度波形を接続するとは、第1の速度波形に対して、第2の速度波形の開始時点が開始時点特定部23によって特定された時点となる時間的な位置関係で、両速度波形を接続したものである。内回りを行う場合には、通常、両波形が重ね合わされることになる。一方、内回りを行わない場合には、通常、両波形が間隔をおいてつながれることになる。
図2は、FIRフィルタ処理部12の構成を示す図である。FIRフィルタ処理部12は、N個の遅延器31−1〜31−Nと、入力値及びN個の遅延器31−1〜31−Nで遅延された値にそれぞれ乗算値を乗算するN+1個の乗算器32−0〜32−Nと、乗算後の値を加算するN個の加算器33−1〜33−Nとを備えている。ここで、Nは2以上の整数である。このNの値を、有限インパルス応答フィルタの段数やタップ数と呼ぶこともある。すなわち、図2の有限インパルス応答フィルタは、段数が「N」となる。N+1個の乗算器32−0〜32−Nの各乗算値は、同じであってもよく、または、異なっていてもよい。なお、図2では、有限インパルス応答フィルタ処理を1回行うFIRフィルタ処理部12を示しているが、FIRフィルタ処理部12が接続後の速度波形に対して有限インパルス応答フィルタ処理を行う回数は問わない。その回数は、例えば、1回であってもよく、または、2回以上であってもよい。また、FIRフィルタ処理部12が複数回の有限インパルス応答フィルタ処理を行う場合に、各有限インパルス応答フィルタ処理における有限インパルス応答フィルタの段数は同じであってもよく、または、異なっていてもよい。また、FIRフィルタ処理部12が複数回の有限インパルス応答フィルタ処理を行う場合に、各有限インパルス応答フィルタ処理における乗算器32−0〜32−Nが乗算する値である乗算値は同じであってもよく、または、異なっていてもよい。ここで、複数回の有限インパルス応答フィルタ処理が行われる場合であって、FIRフィルタ処理部12がハードウェアで実現される場合には、FIRフィルタ処理部12は、2個以上の有限インパルス応答フィルタ回路を有してもよい。また、複数回の有限インパルス応答フィルタ処理が行われる場合であって、FIRフィルタ処理部12がソフトウェアで実現される場合には、FIRフィルタ処理部12には、その回数と、各有限インパルス応答フィルタ処理における段数や各乗算器32−0〜32−Nの乗算値とが設定されていてもよい。また、FIRフィルタ処理部12の各遅延器31−1〜31−Nの遅延時間は、通常、制御装置1の補間周期と同じであるが、そうでなくてもよい。前者の場合には、例えば、補間周期が10msである場合に、各遅延器31−1〜31−Nの遅延時間も10msとなる。本実施の形態では、FIRフィルタ処理部12の各遅延器31−1〜31−Nの遅延時間が、制御装置1の補間周期と同じである場合について主に説明する。また、FIRフィルタ処理部12による有限インパルス応答フィルタ処理の内容は問わない。例えば、有限インパルス応答フィルタ処理は、移動平均処理であってもよく、その他のフィルタ処理であってもよい。FIRフィルタ処理部12が移動平均処理を行う場合には、例えば、各乗算器32−0〜32−Nは、入力された信号に1/(N+1)を乗算してもよい。また、FIRフィルタ処理部12が移動平均処理を行う場合には、N+1個の乗算器32−0〜32−Nに代えて、最後段の加算器33−Nの後段で1/(N+1)を乗算する1個の乗算器を備えてもよい。このように、FIRフィルタ処理部12は、実行する有限インパルス応答フィルタ処理に応じた構成とすればよい。なお、その有限インパルス応答フィルタ処理の構成はすでに公知であり、その説明を省略する。また、特定された第2の速度波形の開始時点を用いて接続された第1及び第2の速度波形は、厳密には、速度ベクトルの時間変化である。したがって、FIRフィルタ処理部12は、その速度ベクトルの各成分に対して有限インパルス応答フィルタ処理を行う。
軌道制御部13は、FIRフィルタ処理部12によって有限インパルス応答フィルタ処理の実行された速度波形を用いて、サーボコントローラ2を制御する。具体的には、有限インパルス応答フィルタ処理の実行された速度波形を用いて、軌道制御部13は、補間周期ごとの補間点の位置を算出する。この位置は、3次元座標系におけるマニピュレータ3の先端の位置である。また、軌道制御部13は、その補間周期ごとのマニピュレータ3の先端の位置に対して逆キネマティクス変換を行い、マニピュレータ3の先端以外の各軸の位置指令値を算出する。このようにして、軌道制御部13は、補間周期ごとのマニピュレータ3の全軸の位置指令値を算出でき、その位置指令値をサーボコントローラ2に出力することによって、サーボコントローラ2を制御する。なお、この軌道制御部13による処理は、産業用ロボットにおけるサーボコントローラの制御としてすでに公知であり、その詳細な説明を省略する。
ここで、サーボコントローラ2について簡単に説明する。サーボコントローラ2は、制御装置1から、マニピュレータ3の各軸の位置の指令を受け取る。サーボコントローラ2は、その各軸の位置の指令に応じて、フィードバック制御により各軸のモータに対応するトルク指令値を生成する。マニピュレータ3の各モータは、このトルク指令値によって動作する。なお、このサーボコントローラ2によるフィードバック制御はすでに公知であり、その詳細な説明を省略する。
次に、開始時点特定部23が第2の速度波形の開始時点を特定する処理について説明する。その第2の速度波形の開始時点を特定する処理について、あらかじめ決められた位置が、軌道の終点である場合と、内回り開始位置である場合とで、第2の速度波形の開始時点の特定方法が異なるため、それぞれに分けて説明する。なお、あらかじめ決められた位置は、軌道の終点及び内回り開始位置以外の位置であってもよい。
(1)あらかじめ決められた位置が軌道の終点である場合
第1の速度波形に1回以上の有限インパルス応答フィルタ処理を実行すると、図3で示されるように、第1の軌道の終点に対応する時点は、終点遅延時間EDTだけ遅れることになる。その終点遅延時間EDTは、有限インパルス応答フィルタ処理の1回の実行に応じた遅延時間を、有限インパルス応答フィルタ処理の実行回数に応じて加算した時間である。なお、有限インパルス応答フィルタ処理の1回の実行に応じた遅延時間は、有限インパルス応答フィルタの1段あたりの遅延時間「T」にi回目の有限インパルス応答フィルタ処理に応じた段数「N」を掛けた時間「T×N」となる。なお、各Nは、2以上の整数である。その時間「T×N」を、有限インパルス応答フィルタ処理の実行回数分だけ加算することによって、終点遅延時間EDTが算出される。したがって、EDTは、次のようになる。ここで、Mは、有限インパルス応答フィルタ処理の実行回数を示す1以上の整数である。
Figure 0005997560
したがって、あらかじめ決められた位置が第1の軌道の終点の教示点である場合には、開始時点特定部23は、第1の速度波形において終点に到達する時点である終点時点から、終点遅延時間EDTだけ後の時点である第2の速度波形の開始時点を特定する。その結果、第2の速度波形の開始時点は、図3で示されるように、初期の開始時点から、特定された開始時点まで遅延することになる。なお、その遅延の時間は、前述の終点遅延時間EDTである。また、終点時点は、有限インパルス応答フィルタ処理を行っていない第1の速度波形における終点に応じた時点である。また、有限インパルス応答フィルタ処理の実行の有無に関わらず、速度波形の開始時点は変わらないため、図3において、有限インパルス応答フィルタ処理を行っていない第2の速度波形を示している。そのようにして特定された第2の速度波形の開始時点を用いて第1及び第2の速度波形が接続され、有限インパルス応答フィルタ処理が行われると、図4Aで示されるようになる。図4Aにおいて、実線によって、有限インパルス応答フィルタ処理前の第1及び第2の速度波形が示されており、破線によって、第1及び第2の速度波形に有限インパルス応答フィルタ処理を実行した後の速度波形が示されている。図4Aから分かるように、有限インパルス応答フィルタ処理前において、第1の軌道の終点に応じた時点と、第2の軌道の始点に応じた時点との期間が、終点遅延時間EDTとなっている。このように、第2の速度波形を終点遅延時間EDTだけ遅らせることによって、図4Bで示されるように、マニピュレータ3の先端は、内回り軌道を通ることなく、あらかじめ決められた位置である第1の軌道の終点EPを通ることになる。
(2)あらかじめ決められた位置が内回り開始位置である場合
内回りを行う場合には、従来、図5で示されるように、内回り開始距離と面積S1とが等しくなる内回り開始時点STから第2の速度波形が重ね合わされる。ここで、内回り開始距離は、第1の軌道の終点から内回り開始位置までの距離である。一方、第1の速度波形に1回以上の有限インパルス応答フィルタ処理を実行すると、図5で示されるように、第1の軌道の終点に対応する終点時点は、ETからMETになる。したがって、面積S1=面積S2となるように、遅延した内回り開始時点MSTを特定すると、そのMSTが、開始時点特定部23が特定する第2の速度波形の開始時点となる。この場合には、第2の速度波形の開始時点は、有限インパルス応答フィルタ処理を行わない場合と比較して、内回り遅延時間SDTだけ遅延することになる。
したがって、あらかじめ決められた位置が内回り開始位置である場合には、開始時点特定部23は、有限インパルス応答フィルタ処理を実行回数だけ実行した第1の速度波形における第2の速度波形の開始時点(MST)に応じた第1の軌道の位置から、第1の軌道の終点までの距離が内回り開始距離と等しくなるように、第2の速度波形の開始時点(MST)を特定する。そのようにして特定された第2の速度波形の開始時点を用いて第1及び第2の速度波形が接続され、有限インパルス応答フィルタ処理が行われると、図6で示されるように、マニピュレータ3の先端は、本来の内回り開始位置SPから内回り軌道を通るようになり、想定している以上の内回りとなることを回避できる。
なお、第2の速度波形の開始時点MSTを特定するためには、開始時点特定部23は、有限インパルス応答フィルタ処理後の第1の速度波形を知らなくてはならない。その処理後の第1の速度波形は、第1の速度波形に実際に有限インパルス応答フィルタ処理を実行することによって得られるが、開始時点特定部23は、その処理よりも軽い処理によって第2の速度波形の開始時点MSTを特定してもよい。そのような第2の速度波形の開始時点の特定方法について、(A)有限インパルス応答フィルタ処理を1回行う場合と、(B)2回行う場合と、(C)M回行う場合とに分けて説明する。なお、以下の説明では、説明の便宜上、有限インパルス応答フィルタ処理が移動平均処理であるとしている。
(A)有限インパルス応答フィルタ処理を1回行う場合
有限インパルス応答フィルタ処理を1回行う場合について、図7Aを用いて説明する。図7A(a)は、第1の速度波形を示す図である。通常、第1の速度波形は、図7A(a)で示されるように、加速区間、等速区間、減速区間を有する台形状のグラフである。その第1の速度波形を時間で微分した加速度波形は、図7A(b)で示されるようになる。ここで、ある波形に移動平均処理を行ってから微分することは、その波形を微分してから移動平均処理を行うことと同じである。また、図7A(b)で示されるような階段状の時間変化に対して移動平均処理を行うと、図7A(c)で示されるように、台形状の時間変化になる。例えば、時刻T101からT102までの期間が加速度A101であり、それ以外が0である加速度波形に移動平均処理を行うと、移動平均処理後の加速度は、時刻T101で0となり、そこから等加加速度で変化して時刻T101+T1でA101となって時刻T102まではA101であり、その後、等加加速度で変化して時刻T102+T1で0となるように変化する。図7A(c)で示されるように、A101が正である場合には、移動平均処理後の加速度は、上底の方が短い台形状となり、A101が負である場合には、移動平均処理後の加速度は、下底の方が短い台形状となる。ここで、T1は、移動平均処理における1段あたりの遅延時間「T」に段数「N」を掛けた値である。すなわち、T1=T×Nである。したがって、図7A(a)の第1の速度波形に移動平均処理を行った後の加速度波形は、図7A(c)で示されるようになる。この図7A(c)の加速度波形を積分すると速度波形が得られ、その速度波形を積分すると、位置の時間変化が得られる。すなわち、図7A(c)の時間変化のグラフを2回積分すると、位置の時間変化が得られる。なお、その位置の時間変化は、時間について1次の関数である加速度波形を時間で2回積分しているため、時間について3次の関数となる。その加速度、速度、位置のそれぞれの時間変化は、図7Bで示されるようになる。したがって、開始時点特定部23は、上述のようにして位置の時間変化を算出し、その算出した位置の時間変化を用いることによって、第2の速度波形の開始時点MSTを特定することができる。その処理については後述する。
(B)有限インパルス応答フィルタ処理を2回行う場合
有限インパルス応答フィルタ処理を2回行う場合について、図8Aを用いて説明する。図8A(a)は、第1の速度波形を示す図である。その第1の速度波形を時間で微分した加速度波形は、図8A(b)で示されるようになる。また、その加速度波形に移動平均処理を行うと、図8A(c)で示されるようになる。また、その移動平均後の加速度波形を時間で微分した加加速度波形は、図8A(d)で示されるようになる。さらに、その加加速度波形に移動平均処理を行うと、図8A(e)で示されるようになる。なお、T1=T×Nであり、T2=T×Nである。したがって、この図8A(e)の時間変化のグラフを1回積分すると加速度波形が得られ、2回積分すると速度波形が得られ、3回積分すると位置の時間変化が得られる。なお、その位置の時間変化は、時間について1次の関数である加加速度波形を時間で3回積分しているため、時間について4次の関数となる。その加速度、速度、位置のそれぞれの時間変化は、図8Bで示されるようになる。したがって、開始時点特定部23は、上述のようにして位置の時間変化を算出し、その算出した位置の時間変化を用いることによって、第2の速度波形の開始時点MSTを特定することができる。その処理については後述する。
(C)有限インパルス応答フィルタ処理をM回行う場合
有限インパルス応答フィルタ処理をM回行う場合には、波形を微分して移動平均処理を行うことを、速度波形からはじめてM回繰り返す。そして、その処理後の波形をM+1回積分することによって、位置の時間変化を取得することができる。
なお、有限インパルス応答フィルタ処理を移動平均処理に限らない場合には、開始時点特定部23は、第1の速度波形に対して、微分と、その微分後の波形に対する有限インパルス応答フィルタ処理に応じた変形とを有限インパルス応答フィルタ処理の実行回数(=M回)だけ繰り返して行い、その繰り返した後の波形に対して積分を有限インパルス応答フィルタ処理の実行回数に1を加算した回数(=M+1回)だけ繰り返して第1の軌道に応じた位置の時間変化を算出してもよい。ここで、有限インパルス応答フィルタ処理に応じた変形とは、移動平均処理の場合には、1段あたりの遅延時間「T」に段数「N」を掛けた値を用いて、波形を台形状に変形することであり、その他の有限インパルス応答フィルタ処理の場合には、波形に対して、その有限インパルス応答フィルタ処理に応じた変形を行うことである。
次に、算出された位置の時間変化を用いた第2の速度波形の開始時点の特定について説明する。算出された位置の時間変化が、図9で示されるものであったとする。すると、開始時点特定部23は、内回り開始位置SPを特定する。その特定は、例えば、第1の軌道の終点EPから内回り開始距離だけ始点側の位置を特定することによって行うことができる。その後、開始時点特定部23は、算出した位置の時間変化において、内回り開始位置SPに応じた時点を特定することによって、有限インパルス応答フィルタ処理を実行回数だけ実行した後の第1の速度波形における第2の速度波形の開始時点、すなわち、内回り開始時刻を特定できる。その内回り開始時刻が、前述の遅延した内回り開始時点MSTである。このように、開始時点特定部23は、有限インパルス応答フィルタ処理を実行回数だけ実行した第1の速度波形を積分した位置の時間変化を用いて、第1の軌道の終点から内回り開始距離だけ始点側の位置に応じた時点である第2の速度波形の開始時点を特定してもよい。なお、通常、内回り開始位置SPは、第1の軌道における減速開始位置と、終点EPとの間に存在するため、開始時点特定部23は、減速開始位置以降についてのみ、位置の時間変化を算出してもよい。そうすることにより、計算量を削減できる。
なお、有限インパルス応答フィルタ処理をM回行う場合であって、各回の有限インパルス応答フィルタ処理における段数や各乗算器の乗算値が決まっている場合には、位置の時間変化は決まったものになる。ここで、Mは、上述した説明と同様に、1以上の整数であるとする。したがって、開始時点特定部23は、図示しない記録媒体で記憶されている位置の時間変化の関数を用いて、第2の速度波形の開始時点を特定してもよい。その図示しない記録媒体には、例えば、有限インパルス応答フィルタ処理の実行回数ごとに、その位置の時間変化の関数が記憶されていてもよい。その場合には、開始時点特定部23は、FIRフィルタ処理部12が有限インパルス応答フィルタ処理を実行する回数に応じた位置の時間変化を読み出して、内回り開始位置に応じた開始時点の特定に用いてもよい。例えば、有限インパルス応答フィルタ処理である移動平均処理を1回行う場合には、その関数は、次のようになる。なお、Dは、内回り開始距離であり、T1は、移動平均処理における各段の遅延時間に段数を掛けたものである。また、−αは、減速区間における加速度であり、T3は、減速開始から速度が0になるまでの時間である。ここで、αは通常、正の値である。また、時間tは、移動平均処理後の速度波形における終点に対応する時点METから、過去に向かう方向にとっている。また、位置の関数F(t)も、軌道の終点EPを原点として、始点に向かうほど値が増加するように取っている。すなわち、t=0に対応する位置F(0)=0を軌道の終点EPであるとしている。
(i)D<αT1/6である場合
位置の時間変化の関数は、次のようになる。
Figure 0005997560
したがって、D=F(t)をtについて解くことによって、図5におけるMETからMSTまでの時間を求めることができる。
(ii)αT1/6≦D<αT1/6−αT1T3/2+αT3/2である場合
位置の時間変化の関数は、次のようになる。
Figure 0005997560
したがって、D=F(t)をtについて解くことによって、図5におけるMETからMSTまでの時間を求めることができる。
(iii)αT1/6−αT1T3/2+αT3/2≦D≦αT3(T1+T3)/2である場合
位置の時間変化の関数は、次のようになる。
Figure 0005997560
したがって、D=F(t)をtについて解くことによって、図5におけるMETからMSTまでの時間を求めることができる。
このように、位置の時間変化に関する式をあらかじめ記憶しておくことによって、T1やT3、α、Dが分かれば、図5におけるMETからMSTまでの時間を求めることができる。なお、tの方程式を解く際には、時間tが4次までであれば、解の公式を用いて解を求めてもよく、あるいは、数値解析により解を求めてもよく、時間tが5次以上であれば、数値解析により解を求めてもよい。また、上記説明では、減速区間に応じた位置の時間変化のみについて示しているが、それ以外の区間に応じた位置の時間変化も用いてもよい。
ここで、あらかじめ決められた位置が軌道の終点及び内回り開始位置でない場合について簡単に説明する。あらかじめ決められた位置が終点等でない場合には、開始時点特定部23は、前述した内回り開始位置のときと同様にして、有限インパルス応答フィルタ処理を実行回数だけ実行した第1の速度波形における第2の速度波形の開始時点に応じた第1の軌道の位置から、第2の軌道の終点までの距離が、第1の軌道の終点からあらかじめ決められた位置までの距離と等しくなる時点を特定する。そして、第2の速度波形の初期の開始時点が、その特定した時点よりも後であれば、開始時点特定部23は、その初期の開始時点を、第2の速度波形の開始時点として特定する。一方、その初期の開始時点が、特定した時点よりも前であれば、開始時点特定部23は、その特定した時点を、第2の速度波形の開始時点とする。なお、初期の開始時点とは、有限インパルス応答フィルタ処理に応じた第2の速度波形の遅延を行う前の第2の速度波形の開始時点のことである。したがって、内回りを行わない場合には、第1の速度波形の終点時点であり、内回りを行う場合には、第1の速度波形の内回り開始時点STである。
また、FIRフィルタ処理部12の各遅延器31−1〜31−Nの遅延時間が補間周期と異なる場合における第2の速度波形の開始時点の特定について簡単に説明する。その場合には、開始時点特定部23は、前述のようにして開始時点を特定する。その開始時点をここでは、暫定開始時点と呼ぶことにする。その後、開始時点特定部23は、その暫定開始時点よりも時間的に後であり、かつ、補間周期に合致する時点を、第2の速度波形の最終的な開始時点として特定する。具体的には、例えば、各遅延器31−1〜31−Nの遅延時間が7msであり、補間周期が10msであったとする。また、FIRフィルタ処理部12の段数N=5であり、有限インパルス応答フィルタ処理は、1回だけ実行されるように設定されていたとする。すると、暫定終点遅延時間EDT=35msとなるが、開始時点特定部23は、その暫定終点遅延時間EDT「35ms」よりも大きく、補間周期10msの倍数となる最終的な終点遅延時間EDT=40msを求め、それを用いて第2の速度波形の開始時点を特定する。このようにすることで、遅延器の遅延時間と補間周期とが異なる場合であっても、マニピュレータ3があらかじめ決められた位置を通過するように制御することができる。
次に、制御装置1の動作について図10のフローチャートを用いて説明する。
(ステップS101)速度波形生成部22は、速度波形をまだ生成していない軌道のうち、時間的に最も前の軌道の情報を教示情報記憶部21で記憶されている教示情報から読み出す。
(ステップS102)速度波形生成部22は、ステップS101で読み出した軌道に対応する速度波形を生成し、教示情報記憶部21に蓄積する。
(ステップS103)開始時点特定部23は、教示情報記憶部21で記憶されている教示情報に、次の軌道の情報が含まれているかどうか判断する。そして、含まれている場合には、ステップS104に進み、含まれていない場合には、すべての軌道について開始時点の特定が行われたことになるため、ステップS105に進む。
(ステップS104)開始時点特定部23は、ステップS102で速度波形生成部22が生成した速度波形である第1の速度波形において、次の速度波形である第2の速度波形の開始時点を特定する。開始時点特定部23は、内回りが行われない場合には、第1の速度波形に対応する第1の軌道の終点をマニピュレータ3の先端が通過するように第2の速度波形の開始時点を特定し、内回りが行われる場合には、その第1の軌道における内回り開始位置をマニピュレータ3の先端が通過するように第2の速度波形の開始時点を特定してもよい。開始時点特定部23は、特定した第2の速度波形の開始時点を、教示情報記憶部21に蓄積する。その際に、第1の軌道の教示点に対応付けられて第2の速度波形の開始時点が蓄積されることが好適である。そして、ステップS101に戻る。
(ステップS105)FIRフィルタ処理部12は、開始時点特定部23が特定した第2の速度波形の開始時点を用いて接続された連続した2個の速度波形について、あらかじめ決められた有限インパルス応答フィルタ処理をM回実行する。その有限インパルス応答フィルタ処理を行った後の速度波形は、図示しない記録媒体で記憶されてもよい。なお、FIRフィルタ処理部12は、すべての軌道に応じた速度波形について、この処理を行うものとする。
(ステップS106)軌道制御部13は、有限インパルス応答フィルタ処理後の速度波形を用いて、補間周期ごとにマニピュレータ3の先端の位置を算出し、その算出した位置に対して逆キネマティクス処理を行うことによって、マニピュレータ3の各軸の位置を算出する。そして、軌道制御部13は、その補間周期ごとに各軸の位置を示す位置指令値をサーボコントローラ2に出力する。その結果、マニピュレータ3は、サーボコントローラ2による制御によって、教示情報が示す教示点や内回り開始位置を通過するように順次、動作する。
なお、図10のフローチャートでは、第2の速度波形の開始時点をすべて特定した後に、軌道の制御を行う場合について説明したが、そうでなくてもよい。第2の速度波形の開始時点の特定と、軌道の制御とを逐次的に実行してもよい。また、図10のフローチャートでは、すべての速度波形に対して有限インパルス応答フィルタ処理を実行し、すべての軌道に対応する速度波形を生成した後に、その速度波形を用いて軌道の制御を行う場合について説明したが、そうでなくてもよい。有限インパルス応答フィルタ処理と、軌道の制御とを逐次的に実行してもよい。
次に、内回りが行われる場合において、第2の速度波形の開始時点を特定する動作について、図11のフローチャートを用いて説明する。
(ステップS201)開始時点特定部23は、第1の軌道に応じた位置の時間変化を、前述のようにして取得する。なお、その位置の時間変化は、例えば、位置の時間変化の式に加速度等を代入することによって取得してもよく、または、速度波形に対して、微分と、その微分後の波形に対する有限インパルス応答フィルタ処理に応じた変形とを、有限インパルス応答フィルタ処理の実行回数に応じて繰り返して行った結果の波形に積分を繰り返すことによって取得してもよい。その算出された位置の時間変化は、図示しない記録媒体で記憶されてもよい。なお、図11のフローチャートでは、前述のように、第1の軌道の減速開始位置から終点までの範囲に応じた位置の時間変化が取得されるものとする。
(ステップS202)開始時点特定部23は、ステップS201で算出された位置の時間変化の範囲に、内回り開始位置が含まれるかどうか判断する。そして、その範囲に内回り開始位置が含まれる場合には、ステップS203に進み、そうでない場合には、ステップS206に進む。
(ステップS203)開始時点特定部23は、ニュートン法を用いて、内回り開始位置に対応する時点である、第2の速度波形の開始時点を特定する処理を行う。
(ステップS204)開始時点特定部23は、ステップS203の処理において、第2の速度波形の開始時点を特定できたかどうか判断する。特定できた場合には、第2の速度波形の開始時点を特定する処理は終了となり、上位の処理に戻り、特定できなかった場合には、ステップS205に進む。
(ステップS205)開始時点特定部23は、二分法を用いて、内回り開始位置に対応する時点である、第2の速度波形の開始時点を特定する。そして、上位の処理に戻る。
(ステップS206)開始時点特定部23は、あらかじめ決められた位置が軌道の終点であるとして第2の速度波形の開始時点の特定を行う。ステップS202において、位置の時間変化の範囲に内回り開始位置が含まれない場合には、内回り開始位置等の設定において何らかのエラーが起こっている可能性が高いと考えられるからである。そして、上位の処理に戻る。
次に、本実施の形態による制御装置1の動作について、具体例を用いて説明する。この具体例において、教示情報記憶部21に、次の教示情報が記憶されているものとする。
Position(1)、Dist(1)
Position(2)、Dist(2)
Position(3)、Dist(3)
Position(4)、Dist(4)

この教示情報において、Position(K)は、マニピュレータ3の先端の位置を示す情報である。ここで、Kは1以上の整数であり、各教示点に対応している。また、Dist(K)は、K番目の教示点における内回り開始距離である。したがって、Dist(K)=0の場合には、内回りを行わないことになり、Dist(K)>0の場合には、内回りを行うことになる。なお、教示情報には、K番目の教示点について、マニピュレータ3の手先効果器の姿勢を示す情報Pose(K)が含まれていてもよいが、ここでは説明の便宜のため省略している。また、教示情報には、各軌道に応じたスピードの情報(例えば、50%や100%等)も含まれていてもよいが、ここでは省略している。したがって、この具体例では、すべて同じ最高速度の速度波形が生成されるものとする。また、1個目の教示点の内回り開始距離Dist(1)は0であるとする。また、この具体例では、Dist(2)=0,Dist(3)>0であるとする。
また、この具体例では、FIRフィルタの段数Nは、5であるとする。また、FIRフィルタ処理部12の各乗算器32−0〜32−5は、1/6を乗算するものとする。すなわち、FIRフィルタ処理部12は、移動平均処理を行うものとする。また、補間周期が10msであり、FIRフィルタ処理部12の各遅延器31−1〜31−5の遅延時間も10msであるとする。また、FIRフィルタ処理部12は、有限インパルス応答フィルタ処理を1回だけ行うものとする。
まず、速度波形生成部22は、まだ速度波形を生成していない軌道の情報、すなわち、1個目の軌道であるPosition(1)からPosition(2)までの情報を読み出す(ステップS101)。具体的には、速度波形生成部22は、Position(1)と、Position(2)とを読み出す(ステップS101)。そして、速度波形生成部22は、1番目の教示点から2番目の教示点までの軌道に応じた速度波形Speed(2)を生成し、教示情報記憶部21に蓄積する(ステップS102)。その結果、教示情報記憶部21で記憶されている教示情報は次のようになる。
Position(1)、Dist(1)
Position(2)、Dist(2)、Speed(2)
Position(3)、Dist(3)

次に、開始時点特定部23は、新たな速度波形Speed(2)が蓄積されたことを検知すると、その次の軌道が存在するかどうか判断する(ステップS103)。この場合には、次のPosition(3)が存在するため、開始時点特定部23は、次の軌道が存在すると判断し、次の軌道の開始時点を特定する処理を行う(ステップS104)。具体的には、開始時点特定部23は、Dist(2)を読み出し、それが0であるかどうか判断する。この場合にはDist(2)=0であるため、開始時点特定部23は、あらかじめ決められた位置が終点である場合の開始時点の特定を行う。すなわち、開始時点特定部23は、移動平均処理の1回の実行に応じた遅延時間である10ms×5=50msを算出する。そして、開始時点特定部23は、次軌道の開始を50msだけ遅らせることを示す遅延情報Delay(2)=50msを生成し、教示情報記憶部21で記憶されている教示情報の2番目の教示点に対応付けて蓄積する。なお、遅延情報Delay(K)は、Speed(K)の終点時点に対するSpeed(K+1)の開始時点の遅延時間を示す情報である。その結果、教示情報記憶部21で記憶されている教示情報は次のようになる。
Position(1)、Dist(1)
Position(2)、Dist(2)、Speed(2)、Delay(2)
Position(3)、Dist(3)

その後、速度波形生成部22は、新たな遅延情報が蓄積されたことを検知すると、まだ速度波形を生成していない軌道の情報、すなわち、Position(3)を読み出す(ステップS101)。そして、前回の速度波形の生成で読み出したPosition(2)と、このたび読み出したPosition(3)とを用いて、速度波形生成部22は、2番目の教示点から3番目の教示点までの軌道に応じた速度波形Speed(3)を生成し、教示情報記憶部21に蓄積する(ステップS102)。その結果、教示情報記憶部21で記憶されている教示情報は次のようになる。
Position(1)、Dist(1)
Position(2)、Dist(2)、Speed(2)、Delay(2)
Position(3)、Dist(3)、Speed(3)

その後、開始時点特定部23は、新たな速度波形Speed(3)が蓄積されたことを検知すると、その次の軌道が存在するかどうか判断する(ステップS103)。この場合には、次のPosition(4)が存在するため、開始時点特定部23は、次の軌道が存在すると判断し、次の軌道の開始時点を特定する処理を行う(ステップS104)。具体的には、開始時点特定部23は、Dist(3)を読み出し、それが0であるかどうか判断する。この場合にはDist(3)>0であるため、開始時点特定部23は、あらかじめ決められた位置が内回り開始位置である場合の開始時点の特定を行う(ステップS201)。すなわち、開始時点特定部23は、図示しない記録媒体から位置の時間変化に関する式を読み出し、加速度等を代入することによって、Speed(3)に移動平均処理を行って積分した関数に対応する位置の時間変化を取得する。その後、開始時点特定部23は、位置の時間変化において、内回り開始位置に応じた時刻MSTを特定し、その時刻MSTから、軌道の終点に対応する時刻METまでの時間間隔を算出する(ステップS202〜S204)。そして、開始時点特定部23は、1回の移動平均処理に応じた遅延時間50msから、その算出した時間間隔を減算することによって、軌道の終点時点に対する次軌道の開始時点の遅延に関する遅延情報Delay(3)を生成し、教示情報記憶部21で記憶されている教示情報の3番目の教示点に対応付けて蓄積する。その遅延情報Delay(3)は、図5のETからMSTまでの時間間隔を示すものである。その結果、教示情報記憶部21で記憶されている教示情報は次のようになる。なお、Delay(3)>0の場合には、速度波形Speed(4)の開始時点が速度波形Speed(3)の終点時点よりも遅くなる。一方、Delay(3)<0の場合には、速度波形Speed(4)の開始時点が速度波形Speed(3)の終点時点よりも以前になり、両速度波形の重ね合わせが行われることになる。
Position(1)、Dist(1)
Position(2)、Dist(2)、Speed(2)、Delay(2)
Position(3)、Dist(3)、Speed(3)、Delay(3)
Position(4)、Dist(4)

このようにして、速度波形と、遅延情報との生成がすべての軌道について行われ、その後、FIRフィルタ処理部12は、教示情報記憶部21で記憶されている各遅延情報を用いて各速度波形を接続し、その接続後の速度波形に対して移動平均処理を行う(ステップS105)。また、軌道制御部13は、移動平均処理後の速度波形を用いて、各軸の位置指令値を生成してサーボコントローラ2に渡す(ステップS106)。その結果、各軸に応じたモータが、位置指令値に応じた位置になるように制御され、マニピュレータ3が教示情報に応じた動作を行うことになる。なお、その動作において、内回りを行わない軌道については、手先効果器が軌道の終点を通過し、内回りを行う軌道については、手先効果器が軌道の内回り開始位置を通過することになる。
なお、この具体例では、速度波形の終点に対する差分によって次軌道の開始時点を特定する場合について説明したが、そうでなくてもよいことは言うまでもない。例えば、内回りを行う場合には、従来の内回り開始時点STから遅延した内回り開始時点MSTまでの内回り遅延時間SDTによって次軌道の開始時点を特定してもよい。
以上のように、本実施の形態による制御装置1によれば、各軌道のあらかじめ決められた位置である終点や内回り開始位置をマニピュレータ3が通過するように、速度波形を接続する際に用いられる開始時点を特定することができる。そして、その開始時点を用いて速度波形を接続することによって、有限インパルス応答フィルタ処理を実行しても、そのあらかじめ決められた位置をマニピュレータ3が通過するように制御できる。したがって、想定していない干渉が発生したり、搬送対象の載置位置がずれたりする事態を回避することができ、正確な移動を実現することができるようになる。また、有限インパルス応答フィルタ処理を行うことによって、移動方向や速さが急激に変化することを防止することもできる。
なお、本実施の形態では、開始時点特定装置11が速度波形生成部22を備える場合について説明したが、そうでなくてもよい。例えば、教示情報に速度波形が含まれる場合には、開始時点特定装置11は、速度波形生成部22を備えていなくてもよい。
また、本実施の形態では、制御装置1が開始時点特定装置11を含んでいる場合について説明したが、そうでなくてもよい。開始時点特定装置11と、速度波形に有限インパルス応答フィルタ処理を実行し、マニピュレータ3を制御する制御装置とは、異なる装置であってもよい。その場合には、例えば、開始時点特定装置11は、あらかじめ決められた位置を通過するように、第2の速度波形の開始時点を特定し、その第2の速度波形の開始時点を教示情報に追加したり、マニピュレータ3を制御する制御装置に渡したりしてもよい。したがって、開始時点特定装置11と、マニピュレータ3を制御する制御装置とが異なる装置である場合には、開始時点特定装置11は、特定した第2の速度波形の開始時点を蓄積したり、制御装置に渡したりする図示しない出力部を備えていてもよい。また、開始時点特定装置11と、マニピュレータ3を制御する制御装置とが異なる装置である場合に、開始時点特定装置11の有する教示情報記憶部21は、制御装置で記憶されている教示情報が一時的に記憶される記憶部であってもよく、あるいは、そうでなくてもよい。
また、本実施の形態では、あらかじめ決められた位置が内回り開始位置である場合に、開始時点特定部23が、位置の時間変化を用いて、第2の速度波形の開始時点を数値解析によって特定する場合について主に説明したが、そうでなくてもよい。開始時点特定部23は、可能な場合には、代数的に第2の速度波形の開始時点を算出してもよい。
また、本実施の形態では、開始時点特定部23がすべての軌道についてあらかじめ決められた位置をマニピュレータ3が通過するように次軌道に応じた速度波形の開始時点を特定する場合について説明したが、そうでなくてもよい。あらかじめ決められた軌道についてのみ、その開始時点の特定を行ってもよい。終点や内回り開始位置を必ずしも通過しなくてもよい軌道もありうるからである。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、あるいは、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス、設定値等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、そのプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上より、本発明による開始時点特定装置等によれば、有限インパルス応答フィルタ処理を行う場合であっても、あらかじめ決められた位置をマニピュレータが通過するようにできるという効果が得られ、そのような制御を行うための速度波形の開始時点を特定する装置等として有用である。
1 制御装置
2 サーボコントローラ
3 マニピュレータ
11 開始時点特定装置
12 FIRフィルタ処理部
13 軌道制御部
21 教示情報記憶部
22 速度波形生成部
23 開始時点特定部
31−1〜31−N 遅延器
32−0〜32−N 乗算器
33−1〜33−N 加算器

Claims (6)

  1. モータによって駆動される関節によって連結された複数のアームを有するマニピュレータの3個以上の教示点を示す教示情報が記憶される教示情報記憶部と、
    前記教示情報によって示される連続する2個の教示点間の第1の軌道に応じた速度の時間変化である第1の速度波形に対して、当該第1の軌道に続く第2の軌道に応じた速度の時間変化である第2の速度波形の開始時点を特定する開始時点特定部と、を備え、
    前記開始時点特定部は、特定した開始時点を用いて接続された前記第1及び第2の速度波形に対して有限インパルス応答フィルタ処理を1回以上実行した場合でも、前記マニピュレータが前記第1の軌道の終点の教示点を通過するように、前記第1の速度波形において終点に到達する時点である終点時点から、前記有限インパルス応答フィルタの1段あたりの遅延時間に段数を掛けた時間を当該有限インパルス応答フィルタ処理の実行回数に応じて加算した時間だけ後の時点である前記第2の速度波形の開始時点を特定する、開始時点特定装置。
  2. モータによって駆動される関節によって連結された複数のアームを有するマニピュレータの3個以上の教示点を示す教示情報が記憶される教示情報記憶部と、
    前記教示情報によって示される連続する2個の教示点間の第1の軌道に応じた速度の時間変化である第1の速度波形に対して、当該第1の軌道に続く第2の軌道に応じた速度の時間変化である第2の速度波形の開始時点を特定する開始時点特定部と、を備え、
    前記開始時点特定部は、特定した開始時点を用いて接続された前記第1及び第2の速度波形に対して有限インパルス応答フィルタ処理を1回以上実行した場合でも、前記マニピュレータが前記第1の軌道における内回り開始位置を通過するように、前記有限インパルス応答フィルタ処理を実行回数だけ実行した前記第1の速度波形における前記第2の速度波形の開始時点に応じた前記第1の軌道の位置から、前記第1の軌道の終点までの距離が、前記第1の軌道の終点から前記内回り開始位置までの距離である内回り開始距離と等しくなる、前記第2の速度波形の開始時点を特定する、開始時点特定装置。
  3. 前記開始時点特定部は、前記有限インパルス応答フィルタ処理を実行回数だけ実行した前記第1の速度波形を積分した位置の時間変化を用いて、前記第1の軌道の終点から前記内回り開始距離だけ始点側の位置に応じた時点である前記第2の速度波形の開始時点を特定する、請求項記載の開始時点特定装置。
  4. 請求項1から請求項のいずれか記載の開始時点特定装置と、
    前記開始時点特定装置が特定した前記第2の速度波形の開始時点を用いて前記第1及び第2の速度波形が接続された速度波形に対して前記有限インパルス応答フィルタ処理を1回以上実行するFIRフィルタ処理部と、
    前記FIRフィルタ処理部によって有限インパルス応答フィルタ処理の実行された速度波形を用いて、前記マニピュレータの各モータの制御を行うサーボコントローラを制御する軌道制御部と、を備えた制御装置。
  5. モータによって駆動される関節によって連結された複数のアームを有するマニピュレータの3個以上の教示点を示す教示情報が記憶される教示情報記憶部で記憶されている教示情報によって示される連続する2個の教示点間の第1の軌道に応じた速度の時間変化である第1の速度波形に対して、当該第1の軌道に続く第2の軌道に応じた速度の時間変化である第2の速度波形の開始時点を特定する開始時点特定ステップを備え、
    前記開始時点特定ステップでは、特定した開始時点を用いて接続された前記第1及び第2の速度波形に対して有限インパルス応答フィルタ処理を1回以上実行した場合でも、前記マニピュレータが前記第1の軌道の終点の教示点を通過するように、前記第1の速度波形において終点に到達する時点である終点時点から、前記有限インパルス応答フィルタの1段あたりの遅延時間に段数を掛けた時間を当該有限インパルス応答フィルタ処理の実行回数に応じて加算した時間だけ後の時点である前記第2の速度波形の開始時点を特定する、開始時点特定方法。
  6. モータによって駆動される関節によって連結された複数のアームを有するマニピュレータの3個以上の教示点を示す教示情報が記憶される教示情報記憶部で記憶されている教示情報によって示される連続する2個の教示点間の第1の軌道に応じた速度の時間変化である第1の速度波形に対して、当該第1の軌道に続く第2の軌道に応じた速度の時間変化である第2の速度波形の開始時点を特定する開始時点特定ステップを備え、
    前記開始時点特定ステップでは、特定した開始時点を用いて接続された前記第1及び第2の速度波形に対して有限インパルス応答フィルタ処理を1回以上実行した場合でも、前記マニピュレータが前記第1の軌道における内回り開始位置を通過するように、前記有限インパルス応答フィルタ処理を実行回数だけ実行した前記第1の速度波形における前記第2の速度波形の開始時点に応じた前記第1の軌道の位置から、前記第1の軌道の終点までの距離が、前記第1の軌道の終点から前記内回り開始位置までの距離である内回り開始距離と等しくなる、前記第2の速度波形の開始時点を特定する、開始時点特定方法。
JP2012210864A 2012-09-25 2012-09-25 開始時点特定装置、制御装置、及び開始時点特定方法 Active JP5997560B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012210864A JP5997560B2 (ja) 2012-09-25 2012-09-25 開始時点特定装置、制御装置、及び開始時点特定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012210864A JP5997560B2 (ja) 2012-09-25 2012-09-25 開始時点特定装置、制御装置、及び開始時点特定方法

Publications (2)

Publication Number Publication Date
JP2014065096A JP2014065096A (ja) 2014-04-17
JP5997560B2 true JP5997560B2 (ja) 2016-09-28

Family

ID=50741993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012210864A Active JP5997560B2 (ja) 2012-09-25 2012-09-25 開始時点特定装置、制御装置、及び開始時点特定方法

Country Status (1)

Country Link
JP (1) JP5997560B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6694404B2 (ja) * 2017-03-17 2020-05-13 ファスフォードテクノロジ株式会社 ダイボンディング装置および半導体装置の製造方法
CN110315526B (zh) * 2018-03-29 2023-09-08 日本电产三协(浙江)有限公司 机器人的控制方法及机器人

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200034A (ja) * 1993-12-30 1995-08-04 Nippei Toyama Corp 加工ヘッドの加減速制御装置および加減速制御方法
JP3235535B2 (ja) * 1997-09-26 2001-12-04 松下電器産業株式会社 ロボット制御装置とその制御方法
JP2000042957A (ja) * 1998-07-23 2000-02-15 Kobe Steel Ltd ロボット制御装置
JP3955217B2 (ja) * 2002-02-15 2007-08-08 株式会社不二越 産業用ロボットの制御方法及び制御装置
JP4189445B2 (ja) * 2004-12-22 2008-12-03 川崎重工業株式会社 ロボットの制御方法および制御装置

Also Published As

Publication number Publication date
JP2014065096A (ja) 2014-04-17

Similar Documents

Publication Publication Date Title
US9463573B2 (en) Robot control system, robot system, and sensor information processing apparatus
CN108356823B (zh) 具有学习控制功能的控制系统以及控制方法
Gautier Dynamic identification of robots with power model
Kim et al. Preshaping input trajectories of industrial robots for vibration suppression
CN102310258A (zh) 机器人系统
JP6508691B1 (ja) 制御装置、作業ロボット、プログラム、及び、制御方法
US20200238530A1 (en) Robot system, method for controlling robot, robot controller, and non-transitory computer-readable storage medium
JP6564433B2 (ja) ロボットシステム
JP5997560B2 (ja) 開始時点特定装置、制御装置、及び開始時点特定方法
US9302390B2 (en) Device and method for controlling weaving motion in real time
Polden et al. Adaptive partial shortcuts: Path optimization for industrial robotics
KR101983946B1 (ko) 모델 지원식 오차 보상을 사용한 공작물들의 기계가공
Tangpattanakul et al. Optimal trajectory of robot manipulator using harmony search algorithms
JP2014117787A (ja) 制御装置
JP4829151B2 (ja) ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
CN113618728A (zh) 机器人运动轨迹的补偿方法、装置及计算机存储介质
CN113021329A (zh) 一种机器人运动控制方法、装置、可读存储介质及机器人
JP6046994B2 (ja) 制御装置
JP2003340755A (ja) サーボモータ制御用コントローラにおけるゲイン設定法、コントローラの有効性検証法およびロボット制御法
CN107290959B (zh) 一种基于位移等效的机器人笛卡尔空间速度优化方法
JP6390669B2 (ja) ロボット制御システム、ロボットシステム
DETEŞAN The Path Planning of Industrial Robots Using Polynomial Interpolation, with Applications to Fanuc LR-Mate 100iB
JP2020097101A (ja) ロボット装置、ロボットシステム、ロボット装置の制御方法、ロボット装置を用いた物品の製造方法、制御プログラム及び記録媒体
CN107636418B (zh) 一种机器人控制方法、控制设备及系统
JP7478777B2 (ja) ロボットシステム、ワーク管理システム、ロボット制御方法、およびワーク管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160727

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160817

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160826

R150 Certificate of patent or registration of utility model

Ref document number: 5997560

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250