JP2009113172A - 指令値生成装置 - Google Patents

指令値生成装置 Download PDF

Info

Publication number
JP2009113172A
JP2009113172A JP2007290831A JP2007290831A JP2009113172A JP 2009113172 A JP2009113172 A JP 2009113172A JP 2007290831 A JP2007290831 A JP 2007290831A JP 2007290831 A JP2007290831 A JP 2007290831A JP 2009113172 A JP2009113172 A JP 2009113172A
Authority
JP
Japan
Prior art keywords
point
joint
tip
singular point
singular
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.)
Pending
Application number
JP2007290831A
Other languages
English (en)
Inventor
Seiseki Maekawa
清石 前川
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007290831A priority Critical patent/JP2009113172A/ja
Publication of JP2009113172A publication Critical patent/JP2009113172A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】特異点近傍を通過する際、複数の関節が大きく動くのを防止でき、先端速度の低下を抑制して、動作時間を短縮できる指令値生成装置を得る。
【解決手段】予め領域を設定された特異点近傍領域に入る、もしくは通過したことを判別する特異点近傍領域突入判別手段8と、特異点近傍領域突入判別手段8で特異点近傍領域に入る、もしくは通過したと判別した場合に当該動作におけるロボット先端軌跡上での特異点近傍領域始点と特異点近傍領域終点を算出する近傍領域算出手段9を備え、ロボット先端軌跡上の特異点近傍領域始点と特異点近傍領域終点の間の区間では、当該始点及び終点の関節変位に基づいて関節位置指令を算出する。
【選択図】図1

Description

この発明は、ロボット、工作機械、レーザ加工機等、複数の関節を備えたメカニカルシステムの先端を、各関節の駆動軸を制御することにより、予め定められた軌跡に沿って移動させる際の各関節の駆動軸を制御するための指令値を生成する指令値生成装置に関する。
公知の指令値生成装置では、移動速度・移動量演算手段で算出された加減速前の先端位置指令に対して逆変換を行った結果、指定された特異点近傍エリア内にあり、かつ、その周期の関節の移動量が閾値以上である場合は、その特異点に関して逆変換を行う場合の変換関数を決めるフラグを変更して再度逆変換を行い、できるだけ短時間で変更したフラグでの逆変換に移行するとともに、フラグを切替ている区間を記憶しておき、加減速後の直線上の位置指令を逆変換する際には、切替区間に到達する前は切換え区間に到達するまでのフラグで逆変換を行い、切換え区間通過後は切替区間通過後のフラグで逆変換を行い、切替区間では区間の両端の関節変位に基づいて逆変換を実施している(例えば、特許文献1参照)。
特開2006−116658号公報
しかしながら、上述した指令値生成装置では、特異点近傍を通過する際、複数の関節が大きく動き、すべての軸で速度が許容値以下となるためには先端速度を大きく落とす必要がある場合があった。
この発明は上述した点に鑑みてなされたもので、特異点近傍を通過する際、複数の関節が大きく動くのを防止でき、先端速度の低下を抑制して、動作時間を短縮できる指令値生成装置を得ることを目的とする。
この発明に係る指令値生成装置は、複数の関節を備えたメカニカルシステムの先端を、各関節の駆動軸を制御することにより、予め定められた軌跡に沿って移動させる際の各関節の駆動軸を制御するための指令値を生成する指令値生成装置であって、加減速前のメカニカルシステム先端位置指令を演算する移動速度・移動量演算手段と、前記移動速度・移動量演算手段で演算する加減速前のメカニカルシステム先端位置指令を各関節の位置指令に変換する第1の逆変換手段と、加減速後のメカニカルシステム先端位置指令を各関節の位置指令に変換する第2の逆変換手段と、前記第1の逆変換手段からの関節変位に基づいて予め指定される特異点近傍領域にメカニカルシステムの先端位置指令が入るもしくは通過したことを判別する特異点近傍領域突入判別手段と、前記特異点近傍領域突入判別手段で特異点近傍領域に入るもしくは通過したと判別した場合に、当該動作におけるメカニカルシステム先端軌跡上での特異点近傍領域の始点と終点を算出する近傍領域算出手段と、前記近傍領域算出手段により算出した始点及び終点を記憶する近傍領域記憶手段とを備え、前記第1と第2の逆変換手段は、前記近傍領域記憶手段に記憶されるデータに基づいてメカニカルシステム先端軌跡上の特異点近傍領域の始点と終点の間の区間では、当該始点及び終点の関節変位に基づいて各関節の位置指令を算出することを特徴とする。
この発明によれば、メカニカルシステム先端軌跡上の特異点近傍領域の始点と終点の間の区間では、当該始点及び終点の関節変位に基づいて各関節の位置指令を算出するようにしたので、特異点近傍を通過する際、複数の関節が大きく動くのを防止でき、先端速度の低下を抑制できるため、動作時間を短縮できる効果がある。
実施の形態1.
図1は、この発明の実施の形態1による指令値生成装置を示すブロック図である。この発明は、ロボット、工作機械などのメカニカルシステムの先端を指定された軌道に沿って動かす場合のメカニカルシステムの各軸の位置指令または速度指令の生成装置に関するものであり、以下、実施の形態1における指令値生成装置の概要をまず説明し、後段で、各構成要素毎にその内容の詳細を説明する。
移動速度・移動量演算手段1では、ロボット、工作機械などのメカニカルシステムの先端を指定された軌道に沿って動かす場合の軌道の各地点毎(移動量毎)にメカニカルシステムの各軸(各関節)の速度制限を満たし、かつ規定の速度以下となる移動速度を算出するもので、メカニカルシステムの先端の移動速度を演算すると共に、各関節変位から各関節速度を演算し、各関節速度と当該各関節で定められた所定の最大許容値との比に応じて先端の移動速度を修正して出力する移動速度演算手段5と、移動速度演算手段5からの移動速度に基づいて加減速前の先端位置指令である移動量を演算する移動量演算手段6と、後述する近傍領域記憶手段10から送信情報に基づいて移動量演算手段6が演算した加減速前の先端位置指令を逆変換して各関節変位を演算する第1の逆変換手段としての逆変換手段7とを有する。
移動速度修正手段2では、移動速度・移動量演算手段1で算出した移動速度に対して加減速を考慮した修正を加え、制御周期毎の加減速前の移動速度を算出する。加減速手段3では、移動速度修正手段2で修正した制御周期毎の移動速度に対して2段の移動平均フィルタ処理を行い、制御周期ごとのメカニカルシステムの先端位置指令を生成する。
第2の逆変換手段としての逆変換手段4では、後述する近傍領域記憶手段10から送信情報に基づいて加減速手段3から出力されるメカニカルシステムの加減速後の先端位置指令を各軸の位置指令に変換する逆変換を実施して各軸指令を出力する。
次に、各部の詳細を説明する。移動速度・移動量演算手段1では、その内部の移動速度演算手段5で移動速度の規定値vを設定する。移動速度の規定値はメカニカルシステムに固有の先端最高速度とする。移動速度演算手段5および移動量演算手段6は、両者の演算回数の累積が加減速手段3で備える移動平均フィルタの窓長の総和を超えるかどうかで動作が異なる。即ち、移動量演算手段6で移動量を算出する際に用いる時間刻みをst秒、移動平均フィルタの窓長の総和をft秒とするとき、移動速度演算手段5および移動量演算手段6の演算回数の累積kの2倍がft/stを超えるかどうかで移動速度演算手段5および移動量演算手段6の動作が異なる。
以下、図2及び図3のフローチャートを適宜参照して移動速度・移動量演算手段1の動作を説明する。演算ステップの累積回数をk(k=1,2,3,・・・)としたとき、2×k≦ft/stを満たす最大のkをk1とする。この実施の形態1では、動作開始(k=1)から2×k≦ft/st、即ち、k≦k1の間は(ステップS1でYES)、2周期分、即ち、2回分の計算を1度に行う。そして、動作開始時には移動速度の初期値を規定値の2倍である2×vとし、k回目の周期における移動速度の初期値を2×vk−1とする(ステップS2)。ここで、k=1のとき、vk−1は規定値vとする。すなわち、移動速度演算手段5では、移動速度初期値を2×vk−1に設定し、移動量演算手段6に出力する。
これらの処理は、動作開始からの移動速度・移動量演算手段1での制御の立ち上がりを高めるため、速度指令として実際の値より大きい値、ここでは、2倍に設定し、2回分の計算を1度で行うようにしている。制御をはやめる方式として、倍率を変えたり、もっと広い範囲に適用することは可能であり、始点から終点までの全てに適用することも理論的には可能である。この例で、移動平均フィルタの1/2の範囲にとどめているのは必要最小限に留めるためである。必要最小限に留めたいのは、速度が高いほど先端の動きと各軸の動きとの線形性が崩れ、各軸の速度が上限を超えない範囲で先端速度を定めていても、線形性が崩れると実際には上限を超えてしまう場合が生じうる。線形性の強さは速度が低いほど強くなるため、この実施の形態1では、速度を2倍で評価するのは必要最小限に留めている。
次に、移動量算出手段6で、st秒での移動量dlを下式(1)に従って算出し、
dl=2×vk−1×st (1)
さらに、移動量dlの累積値lを算出し、動作開始地点からlだけ進んだ地点pを算出する。
次に、逆変換手段7で、地点pを逆変換し、逆変換結果thを得る。なお、逆変換手段7の動作については後ほど詳細を説明する。逆変換手段7による逆変換結果thは、移動速度演算手段5にフィードバックされ、移動速度演算手段5で、前回の演算における逆変換結果thk−1から各軸毎の移動量dthの計算が下式(2)に従って実施される。
dth=th−thk−1 (2)
さらに、移動速度演算手段5は、移動量dthの各軸成分とそれぞれの許容最大値dthmaxの2倍との比を下式(3)に従って算出(iはメカニカルシステムの第i軸を意味する)し、rdth(i)の最大値rdthmaxを求める(ステップS3)。
rdth(i)=|dth(i)|/(2×dthmax(i)) (3)
ここで、rdthmax≦1の場合(メカニカルシステムの軸数をnとし、1≦i≦nを満たすすべての自然数iに対して|dth(i)|≦2×dthmax(i)が成り立つ場合、ステップS4でYES)は移動速度、移動量として1回目の計算結果をそのまま採用し、2回分を1回で行った計算結果を本来のステップでの値に換算する処理を行う。
即ち、2×k−1番目の移動速度vs(2×k−1)および2×k番目の移動速度vs(2×k)をいずれもvk−1とする(ステップS5)。
また、2×k−1番目の移動量ls(2×k−1)を、
ls(2×k−1)=lk−1+0.5×dl (4)
2×k番目の移動量を、
ls(2×k)=l (5)
とする。
また、vk−1=vの場合は
=v (6)
とする。
また、vk−1<vの場合は
=min(vk−1/rdthmax,v) (7)
とする(ステップS6)。ここで、min()は最小値を意味している。
式(7)から分かるように、各軸の速度に余裕があっても移動速度の規定値v以上には速度を上げない。上限を移動速度の規定値vと設定しておくことにより、移動速度の規定値vで各軸速度が許容値を超えない場合は再度計算する必要がなく、計算量が削減する。仮に、少なくとも1つの軸の速度が許容値に達するように動作させる場合は、毎周期再度の計算が必要となり計算量が増大する。
rdthmax>1の場合(ステップS4でNO)は、いずれかの軸の速度が許容最大値を超えているので、移動速度を2×vk−1/rdthmaxに修正し、移動量dl及び累積値lを算出し直す。そして、2×k−1番目の移動速度vs(2×k−1)および2×k番目の移動速度vs(2×k)をいずれもvk−1/rdthmaxとする(ステップS7)。また、移動量に関しては求め直した移動量dl及び累積値lを用いて、2×k−1番目の移動量ls(2×k−1)を、
ls(2×k−1)=lk-1−1+0.5×dl (8)
また、2×k番目の移動量を、
ls(2×k)=l (9)
とする。また、
=vk−1/rdthmax (10)
とする(ステップS8)。
2×k>ft/stとなって以降、即ち、k>k1になると(ステップS1でNOで、以下、図3のフローに移る)、今まで、2回分の計算を1度に実施していたのを、1度の計算で1回分を計算する処理に切り替える。k>k1では、第k番目の周期の演算をk2=k+kl番目の周期の演算とみなすことにし(ステップS9)、v2×kl=vkl、l2×kl=lklとする(ステップS10)。
即ち、第kl周期(ここまでは2回分計算)では、2×kl−1番目のデータと2×kl番目のデータを計算している。第kl+1回目の周期(ここからは1回分計算)では1回分の計算をすることになるが、本当はkl+1回目の周期に相当するので、2×kl回目の周期まで1度に1回分の計算を行ってきたとみなしている。つまり、2×kl+1番目の周期であるとして計算する。
同様に、第kl+2番目の周期では、2×kl+2番目の周期であるとして計算する。これを一般的な表現で書けば、k+kl番目の周期とみなすことになる。また、本当はkl+1回目の周期であるのを2×kl+1番目の周期であるとして計算する場合、前回の速度はv2×kl、前回の移動量はl2×klとなるが、それらの値はそれぞれvs(2×kl)、ls(2×k)であるため、v2×kl=vkl、l2×kl=lklとなる。
次に、移動量算出手段6で、st秒での移動量dlk2=vk2−1×stを算出し、さらに、移動量dlk2の累積値lk2を算出し動作開始地点からlk2だけ進んだ地点pk2を算出する。
次に、逆変換手段7で、地点pk2を逆変換し、逆変換結果thk2を得る。なお、逆変換手段7の動作については後ほど詳細を説明する。逆変換結果thk2は、移動速度演算手段5にフィードバックされ、移動速度演算手段5で、前回の演算における逆変換結果thk2−1から各軸毎の移動量dthk2=thk2−thk2−1の計算を実施する。さらに、移動量dthk2の各軸成分とそれぞれの許容最大値dthmaxとの比を下式(11)に従って算出(iはメカニカルシステムの第i軸を意味する)し(ステップS11)、rdthk2(i)の最大値rdthk2maxを求める。
rdthk2(i)=|dthk2(i)|/(dthmax(i)) (11)
ここで、rdthk2max≦1の場合は(ステップS12でYES)、移動速度、移動量として1回目の計算結果をそのまま採用し、k2番目の移動速度vs(k2)をvk2−1とする(ステップS13)。また、k2番目の移動量ls(k2)をls(k2)=lk2とする。
また、vk2−1=vの場合は
k2=v (12)
とする。vk2−1<vの場合は
k2=min(vk2−1/rdthk2max,v) (13)
とする(ステップS14)。ここで、min()は最小値を意味している。
rdthk2max>1の場合(ステップS12でNO)は、移動速度をvk2−1/rdthk2maxに修正し、移動量dlk2及び累積値lk2を算出し直す。k2番目の移動速度vs(k2)をvk2−1/rdthk2maxとする(ステップS15)。また、移動量に関しては求め直した移動量dlk2及び累積値lk2を用いて、ls(k2)=lk2とする。また、vk2=vk2−1/rdthk2maxとする(ステップS16)。
次に、逆変換手段4、逆変換手段7での動作について説明する。逆変換手段4、7で先端位置から各軸の位置を求める逆変換を実施する。一般に、逆変換の解は複数存在し、どの解を算出するかを指定する必要がある。ここでは、この解の指定のための変数をフラグと呼ぶことにする。例えば対象とするメカニカルシステムが図4に示す垂直6軸(J1軸〜J6軸)ロボットの場合、図5〜図7に示す3組のフラグが存在する。
逆変換手段7では、移動量演算手段6の出力が後述する特異点近傍領域の始点に到達するまでは動作開始地点で指定されているフラグを用いて逆変換する。図4の垂直6軸ロボットでは、図5のRight/Left、図6のAbove/Below、図7のFlip/NonFlipからそれぞれ1つ指定される(例えば、Right,Above,Flip)。移動量演算手段6の出力が後述する特異点近傍領域にある場合は、特異点近傍領域の始点及び終点の各軸位置に基づいて逆変換を行う。特異点近傍領域にある場合の逆変換方法については後述する。さらに、移動量演算手段6の出力が後述する特異点近傍領域の終点を通過後は、特異点に応じて切り替えたフラグで逆変換を行う。
逆変換手段4も、逆変換手段7と同様に、加減速手段3の出力が後述する特異点近傍領域の始点に到達するまでは動作開始地点で指定されているフラグを用いて逆変換する。加減速手段3の出力が後述する特異点近傍領域にある場合は、特異点近傍領域の始点及び終点の各軸位置に基づいて逆変換を行う。特異点近傍領域にある場合の逆変換方法については後述する。さらに、加減速手段3の出力が後述する特異点近傍領域の終点を通過後は、特異点に応じて切り替えたフラグで逆変換を行う。
次に、特異点近傍領域突入判別手段8、近傍領域算出手段9、近傍領域記憶手段10および特異点に応じたフラグの切り替えについて説明する。まず、近傍領域の範囲を予め指定しておく。Flip/NonFlip(以後、F/NFと略称する)ではJ5軸の角度(0度からの角度)、Above/Below(以後、A/Bと略称する)ではJ3軸の角度、Right/Left(以後、R/Lと略称する)ではJ1軸回転軸からJ5軸までの距離で領域の範囲を指定する。例えば、F/NFならJ5軸の角度として±5度の範囲を特異点近傍領域とする。
特異点近傍領域突入判別手段8により近傍領域に初めて入った場合、もしくは近傍領域を跳び越したと判定した場合に、近傍領域算出手段9で近傍領域の始点・終点を算出する。近傍領域に入ったかどうかは、F/NF及びA/Bに関しては逆変換手段7より出力される関節角度から判別できる。R/Lに関しては逆変換手段7の出力からJ1軸回転軸からJ5軸までの距離を算出すれば判別できる。例えば逆変換手段7より出力されるJ5軸の角度が±5度以内に入った場合、F/NFを切り替える特異点近傍領域に入ったと判別する。
また、今回の逆変換手段7の出力と前回の逆変換手段7の出力から、関節角の1周期での移動量が規定値を超えると判定された場合に、特異点近傍領域突入判別手段8は、近傍領域を跳び越したと判別する。例えばJ4軸、J6軸の関節角の1周期での移動量が規定値を超えると判定された場合に、F/NFを切り替える特異点近傍領域を跳び越したと判別する。
次に、特異点近傍領域の始点及び終点の算出方法をF/NFを切り替える特異点の場合を例に挙げて説明する。F/NFで指定されている近傍範囲を±dj5、近傍領域に入ったのが第k回目の周期とし、第k回目の周期での直線上の移動量(進行方向に進んでいるときに正の値)を△l(k)、第k回目の周期での直線上の位置をp(k)、第k回目の周期のJ5軸角度をq5(k)、第k−1回目の周期のJ5軸角度をq5(k−1)とする。
また、
(A)J5軸が負の値から特異点に近づいてきて近傍領域に入った場合、
(B)J5軸が正の値から特異点に近づいてきて近傍領域に入った場合、
(C)J5軸が負の値から特異点に近づいてきて近傍領域を跳び越した場合、
(D)J5軸が正の値から特異点に近づいてきて近傍領域を跳び越した場合
の4通りに分けて考える。
(A)J5軸が負の値から特異点に近づいてきて近傍領域に入った場合
まず、第k回目の移動量演算手段の出力の地点でF/NFに関するもう一方のフラグ(NonFlip)で逆変換する。元のフラグで逆変換したときの第k周期での各軸の移動量の最大値ともう一方のフラグで逆変換したときの各軸移動量の最大値を求め、最大値の小さい方のフラグを第k回目の周期での先端軌跡上の地点でのフラグとする。また、J5軸の角度q5(k)も選択された方のフラグでの逆変換結果とする。
このとき、
la(1)=(−dj5−q5(k))/
(q5(k)−q5(k−1))×△l(k) (14)
でla(1)を算出し、第k回目の粗補間周期での直線上の位置p(k)からla(1)だけ進んだ位置pa(1)を近傍エリアの始点とする。また、
lb(1)=(dj5−q5(k))/
(q5(k)−q5(k−1))×△l(k) (15)
でlb(1)を算出し、第k回目の周期での移動量演算手段の出力である先端軌跡上の位置p(k)からlb(1)だけ進んだ位置pb(1)を近傍領域の終点とする。
近傍領域の始点・終点は繰り返し計算により求めることとし、指定されている繰り返し回数nが1の場合は、pa(1)、pb(1)をそのまま近傍領域の始点・終点とする。
次に、繰り返し回数nが2以上の場合、第i回目の繰り返しでの近傍領域始点、終点をpa(i)、pb(i)、第i回目の繰り返しでの始点及び終点の移動量をla(i)、lb(i)、pa(i)を逆変換した時のJ5軸角度をqa5(i)、pb(i)を逆変換した時のJ5軸角度をqb5(i)とし、
la(i+1)=(−dj5−q5a(i))/
(q5a(i)−q5a(i−1))×la(i) (16)
lb(i+1)=(dj5−q5b(i))/
(q5b(i)−q5b(i−1))×lb(i) (17)
で次の繰り返しでの近傍領域始点、終点までの距離を算出しpa(i+1)=pa(i)+la(i+1)、pb(i+1)=pb(i)+lb(i+1)で次の繰り返しでの始点・終点を算出し、pa(n)、pb(n)を近傍領域の始点・終点の位置とする。
ここで、q5a(0)=q5(k)、q5b(0)=q5(k)とする。また、各繰り返し周期での逆変換結果qa5(i)、qb5(i)を算出する際、どちらのフラグで逆変換したほうが第k−1回目の粗補間での逆変換結果からの各軸移動距離の最大値が小さくなるかを判別し、小さい方のフラグで逆変換する。一度元のフラグの方が各軸移動距離の最大値が小さいことが判明した地点よりも第k−1回目の周期の移動量演算手段の出力側の地点では元のフラグでのみ逆変換し、一度切替えたフラグの方が各軸移動距離の最大値が小さいことが判明した地点よりもさらに進んだ地点では切替えたフラグでのみ逆変換することにより、繰り返し計算での逆変換回数を削減する。
なお、繰り返し計算の途中で、qb5(i)<−dj5となることがあれば、一旦近傍領域に入ったがフラグを変えずに近傍領域外に出る場合であると判別し、その時点で繰り返し計算を終了し、近傍領域はなしとしてpb5(i)を通過するまでは元のフラグのまま直線補間を続ける。pb5(i)を通過は近傍領域に再度入ることがあればその周期で再度近傍領域の算出を実行する。
(B)J5軸が正の値から特異点に近づいてきて近傍領域に入った場合
まず、第k回目の移動量演算手段の出力の地点でF/NFに関するもう一方のフラグ(Flip)で逆変換する。元のフラグで逆変換したときの第k周期での各軸の移動量の最大値ともう一方のフラグで逆変換したときの各軸移動量の最大値を求め、最大値の小さい方のフラグを第k回目の周期での直線上の地点でのフラグとする。また、J5軸の角度q5(k)も選択された方のフラグでの逆変換結果とする。
このとき、(15)〜(18)式の代わりに(19)〜(22)式でla(i)、lb(i)を算出し、(A)のJ5軸が負の値から特異点に近づいてきて近傍領域に入った場合と同様に近傍領域の始点・終点の位置を算出する。
la(1)=(dj5−q5(k))/
(q5(k)−q5(k−1))×△l(k) (19)
lb(1)=(−dj5−q5(k))/
(q5(k)−q5(k−1))×△l(k) (20)
la(i+1)=(dj5−q5a(i))/
(q5a(i)−q5a(i−1))×la(i) (21)
lb(i+1)=(−dj5−q5b(i))/
(q5b(i)−q5b(i−1))×lb(i) (22)
なお、繰り返し計算の途中で、qb5(i)>dj5となることがあれば、一旦近傍領域に入ったがフラグを変えずに近傍領域外に出る場合であると判別し、その時点で繰り返し計算を終了し、近傍領域はなしとしてpb5(i)を通過するまでは元のフラグのまま直線補間を続ける。pb5(i)を通過後、近傍領域に再度入ることがあればその周期で再度近傍領域の算出を実行する。
(C)J5軸が負の値から特異点に近づいてきて近傍領域を跳び越した場合
まず、第k回目の粗補間の地点でF/NFに関するもう一方のフラグ(NonFlip)で逆変換し、もう一方のフラグで逆変換した結果をq5(k)とする。次に(A)と同様に(15)〜(18)式でla(i)、lb(i)を算出し、近傍領域の始点・終点の位置を算出する。
(D)J5軸が正の値から特異点に近づいてきて近傍領域を跳び越した場合
まず、第k回目の粗補間の地点でF/NFに関するもう一方のフラグ(Flip)で逆変換し、もう一方のフラグで逆変換した結果をq5(k)とする。次に(B)と同様に(19)〜(22)式でla(i)、lb(i)を算出し、近傍領域の始点・終点の位置を算出する。
(A)、(B)いずれの場合も、第k回目の周期で初めて近傍領域に入ったとき、第k回目の周期での逆変換結果は元の逆変換結果もしくは切替えたフラグでの逆変換結果ではなく、近傍領域始点からの直線上の距離に応じた逆変換結果(例えば第k回目の周期の移動量演算手段の出力が近傍領域の始点〜終点の距離のa/bの位置ならば、近傍領域の始点の逆変換結果と近傍領域の終点の逆変換結果を関節補間で結ぶ場合のa/bの地点の値)とする。以後の周期でも近傍領域の終点を通過するまでは近傍領域始点からの直線上の距離に応じた逆変換結果を採用する。
また(C)、(D)のいずれの場合も、第k回目の周期で近傍領域を跳び越した場合、切替えたフラグでの逆変換結果を第k回目の周期の逆変換手段7の出力として採用する。
逆変換手段4も、逆変換手段7と同様に、加減速手段の出力が特異点近傍領域の始点に到達するまでは動作開始地点で指定されているフラグを用いて逆変換する。加減速手段3の出力が特異点近傍領域にある場合は、特異点近傍領域の始点及び終点の各軸位置に基づいて逆変換を行う。具体的には、近傍領域始点からの直線上の距離に応じた逆変換結果(例えば加減速手段3の出力が近傍領域の始点〜終点の距離のa/bの位置ならば、近傍領域の始点の逆変換結果と近傍領域の終点の逆変換結果を関節補間で結ぶ場合のa/bの地点の値)とする。さらに、加減速手段3の出力が特異点近傍領域の終点を通過後は、特異点に応じて切り替えたフラグで逆変換を行う。
したがって、実施の形態1によれば、メカニカルシステム先端軌跡上の特異点近傍領域の始点と終点の間の区間では、当該始点及び終点の関節変位に基づいて各関節の位置指令を算出するようにしたので、特異点近傍を通過する際、複数の関節が大きく動くのを防止でき、先端速度の低下を抑制できるため、動作時間を短縮できる効果がある。
実施の形態2.
実施の形態1とは、特異点近傍領域内にある場合の、逆変換手段4及び逆変換手段7での逆変換方法のみ異なっている。そのため、特異点近傍領域内にある場合の、逆変換手段4及び逆変換手段7での逆変換方法についてのみ説明する。
逆変換手段4では、加減速手段3の出力の先端軌道上の位置が近傍領域の始点〜終点の距離のa/bの位置ならば、メカニカルシステムの先端3軸の関節位置指令は、近傍領域の始点の先端3軸の関節位置と近傍領域の終点の先端3軸の関節位置を関節補間で結ぶ場合のa/bの地点の値とする。残りの軸の関節位置指令は、先端3軸の関節位置指令を用いて先端位置が始点〜終点の距離のa/bの位置となるように定める。
逆変換手段7では、移動量演算手段6の出力の先端軌道上の位置が近傍領域の始点〜終点の距離のa/bの位置ならば、メカニカルシステムの先端3軸の関節位置指令は、近傍領域の始点の先端3軸の関節位置と近傍領域の終点の先端3軸の関節位置を関節補間で結ぶ場合のa/bの地点の値とする。残りの軸の関節位置指令は、先端3軸の関節位置指令を用いて先端位置が始点〜終点の距離のa/bの位置となるように定める。
したがって、実施の形態2によれば、特異点近傍を通過する際、先端位置が本来の目標軌道からずれることを防止しながら、複数の関節が大きく動くのを防止でき、先端速度の低下を抑制できるため、動作時間を短縮できる効果がある。
実施の形態3.
実施の形態3は、実施の形態1とは、近傍領域算出手段9及び近傍領域記憶手段10と、近傍領域における逆変換手段4,7の動作が異なるのみであるので、近傍領域算出手段9及び近傍領域記憶手段10及び逆変換手段4,7についてのみ説明する。
まず、実施の形態3では、2つ以上の特異点近傍領域が重なる場合を想定している。2つ以上の特異点近傍領域が重なる場合、後から入った方(第2)の特異点近傍領域の始点が先に入った方(第1)の特異点近傍領域にある時は、第2の特異点近傍領域始点算出の際、逆変換として第1の近傍領域内での逆変換を採用する。また、第2の特異点近傍領域の終点が第1の近傍領域内にある場合は、第2の特異点近傍領域終点算出の際、逆変換として第1の近傍領域内での逆変換を採用する。第2の特異点近傍領域の始点が第1の特異点近傍領域の始点よりも動作開始地点側にある場合は、第1の特異点に関するフラグが切り替わる前のフラグで第2の特異点近傍領域始点算出の逆変換を行う。第2の特異点近傍領域の終点が第1の特異点近傍領域の終点よりも動作終了点側にある場合、第1の特異点通過で切り替わったフラグ、もしくはさらに第2の特異点通過により切り替わったフラグで第2の特異点近傍領域終点算出の逆変換を行う。
第1の特異点近傍領域の始点・終点をそれぞれα1、β1、第2の特異点領域の始点・終点をそれぞれα2、β2とすると、同一の周期で近傍領域に入ったときは、α2のほうがα1よりも動作開始地点よりも近い場合があり得るので、動作開始地点から第1の特異点近傍領域の始点・終点、第2の特異点エリアの始点・終点を並べた場合、下記の4通りが考えられる。
(A)α1、α2、β1、β2
(B)α1、α2、β2、β1
(C)α2、α1、β1、β2
(D)α2、α1、β2、β1
上記いずれの場合も片方の特異点近傍領域のみ、両方の特異点近傍領域、片方の特異点近傍領域のみ、の3区間が順番に存在するので、それぞれの区間内で関節補間もしくは3軸直交補間を行う。ここで、関節補間とは、それぞれの区間の始点〜終点の距離のa/bの位置に先端位置指令があれば(逆変換手段4であれば加減速手段3の出力がそれぞれの区間の始点〜終点の距離のa/bの位置にあり、逆変換手段7であれば移動量演算手段6の出力がそれぞれの区間の始点〜終点の距離のa/bの位置にある)ならば、各区間の始点の逆変換結果と近傍領域の終点の逆変換結果を関節補間で結ぶ場合のa/bの地点の値を各軸の関節位置指令とする方法である。また、3軸直交補間とは、それぞれの区間の始点〜終点の距離のa/bの位置に先端位置指令があれば、先端3軸の関節位置指令は、各区間の始点の先端3軸の関節位置と各区間の終点の先端3軸の関節位置を関節補間で結ぶ場合のa/bの地点の値とし、残りの軸の関節位置指令は先端3軸の関節位置指令を用いて先端位置が始点〜終点の距離のa/bの位置となるように定める方法である。
第1の特異点がF/NFの場合は、第1の特異点近傍領域にのみ入っており第2の特異点近傍領域に入っていない区間は3軸直交補間を行う。両方の特異点近傍領域に入っている区間、第2の特異点がF/NFの場合は、F/NF近傍領域でも関節補間を行う。また、F/NF以外の特異点近傍領域区間でも関節補間を行う。
(A)の場合は第2の特異点近傍領域の始点・終点α2、β2の算出を行う際、第1の特異点近傍領域の終点β1も再度計算する。(β2−β1)/(β2−α2)だけα2→β2の関節補間でβ2から戻った地点を新しいβ1とする。
(B)の場合は、β1のフラグを第2の特異点近傍領域でα2→β2で切り替わるフラグに応じてフラグを切替えて逆変換した結果を新しいβ1として採用する。
(C)の場合は、α2から(α1−α2)/(β2−α2)だけα2→β2の関節補間で進んだ地点を新しいα1とする。β2から(β2−β1)/(β2−α2)だけα2→β2の関節補間で戻った地点を新しいβ1とする。
(D)の場合は、α2から(α1−α2)/(β2−α2)だけα2→β2の関節補間で進んだ地点を新しいα1とする。また、β1のフラグを第2の特異点近傍領域でα2→β2で切り替わるフラグに応じてフラグを切替えて逆変換した結果を新しいβ1として採用する。
同一の補間周期で初めて複数の特異点近傍領域に入った場合、F/NF、R/L、A/Bの順に優先度が高いとし、優先度の高い特異点領域に先に入ったとしてまず、優先度の高い特異点領域の始点・終点を計算した後、同一の補間周期でもう一方の特異点領域の始点・終点を計算する。第1の特異点近傍領域、第2の特異点近傍領域の計算方法は異なる粗補間周期で特異点近傍領域に入った場合と同一である。
したがって、実施の形態3によれば、特異点近傍を通過する際、複数の特異点近傍に同時に入る場合でも、複数の関節が大きく動くのを防止でき、先端速度の低下を抑制できるため、動作時間を短縮できる効果がある。
この発明の実施の形態1による指令値生成装置の概要を示すブロック図である。 図1の移動速度・移動量演算手段1の動作を説明するためのフローチャートである。 図2に連なるフローチャートである。 メカニカルシステムが垂直6軸ロボットの場合を示す説明図である。 垂直6軸ロボットのフラグ例1(Right/Left)の説明図である。 垂直6軸ロボットのフラグ例2(Above/Below)の説明図である。 垂直6軸ロボットのフラグ例3(Flip/NonFlip)の説明図である。
符号の説明
1 移動速度・移動量演算手段、2 移動速度修正手段、3 加減速手段、4 逆変換手段、5 移動速度演算手段、6 移動量演算手段、7 逆変換手段、8 特異点近傍領域突入判別手段、9 近傍領域算出手段、10 近傍領域記憶手段。

Claims (3)

  1. 複数の関節を備えたメカニカルシステムの先端を、各関節の駆動軸を制御することにより、予め定められた軌跡に沿って移動させる際の各関節の駆動軸を制御するための指令値を生成する指令値生成装置であって、
    加減速前のメカニカルシステム先端位置指令を演算する移動速度・移動量演算手段と、 前記移動速度・移動量演算手段で演算するメカニカルシステム先端位置指令を各関節の位置指令に変換する第1の逆変換手段と、
    加減速後のメカニカルシステム先端位置指令を各関節の位置指令に変換する第2の逆変換手段と、
    前記第1の逆変換手段からの関節変位に基づいて予め指定される特異点近傍領域にメカニカルシステムの先端位置指令が入るもしくは通過したことを判別する特異点近傍領域突入判別手段と、
    前記特異点近傍領域突入判別手段で特異点近傍領域に入るもしくは通過したと判別した場合に、当該動作におけるメカニカルシステム先端軌跡上での特異点近傍領域の始点と終点を算出する近傍領域算出手段と、
    前記近傍領域算出手段により算出した始点及び終点を記憶する近傍領域記憶手段と
    を備え、
    前記第1と第2の逆変換手段は、前記近傍領域記憶手段に記憶されるデータに基づいてメカニカルシステム先端軌跡上の特異点近傍領域の始点と終点の間の区間では、当該始点及び終点の関節変位に基づいて各関節の位置指令を算出する
    ことを特徴とする指令値生成装置。
  2. 請求項1に記載の指令値生成装置において、
    前記第1と第2の逆変換手段は、メカニカルシステム先端軌跡上の特異点近傍領域の始点と終点の間の区間では、先端3軸の関節位置指令を、始点及び終点の関節変位を補間して算出し、残りの軸の位置指令を、先端3軸の関節位置指令を用いて先端位置が指令された軌跡上にあるように定める
    ことを特徴とする指令値生成装置。
  3. 請求項1に記載の指令値生成装置において、
    前記第1と第2の逆変換手段は、2つ以上の特異点に対応する特異点近傍領域が重なる場合に、特異点近傍領域を3つ以上の区間に分割し、それぞれの区間の先端軌跡上での始点、終点を算出する
    ことを特徴とする指令値生成装置。
JP2007290831A 2007-11-08 2007-11-08 指令値生成装置 Pending JP2009113172A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007290831A JP2009113172A (ja) 2007-11-08 2007-11-08 指令値生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007290831A JP2009113172A (ja) 2007-11-08 2007-11-08 指令値生成装置

Publications (1)

Publication Number Publication Date
JP2009113172A true JP2009113172A (ja) 2009-05-28

Family

ID=40780879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007290831A Pending JP2009113172A (ja) 2007-11-08 2007-11-08 指令値生成装置

Country Status (1)

Country Link
JP (1) JP2009113172A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012121125A1 (ja) * 2011-03-08 2012-09-13 株式会社神戸製鋼所 多関節型ロボットの制御装置,制御方法及び制御プログラム
WO2012121124A1 (ja) * 2011-03-08 2012-09-13 株式会社神戸製鋼所 多関節型ロボットの制御装置,制御方法及び制御プログラム
JP2014076498A (ja) * 2012-10-09 2014-05-01 Sinfonia Technology Co Ltd 多関節ロボット及び半導体ウェハ搬送装置
CN104736303A (zh) * 2012-10-19 2015-06-24 株式会社神户制钢所 多关节机器人的摆动控制装置
WO2020138017A1 (ja) * 2018-12-28 2020-07-02 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006116658A (ja) * 2004-10-22 2006-05-11 Mitsubishi Electric Corp 指令値生成装置
JP2006227724A (ja) * 2005-02-15 2006-08-31 Mitsubishi Electric Corp ロボットの制御装置および制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006116658A (ja) * 2004-10-22 2006-05-11 Mitsubishi Electric Corp 指令値生成装置
JP2006227724A (ja) * 2005-02-15 2006-08-31 Mitsubishi Electric Corp ロボットの制御装置および制御方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9199374B2 (en) 2011-03-08 2015-12-01 Kobe Steel, Ltd. Control unit, control method, and control program of articulated robot
CN103429398A (zh) * 2011-03-08 2013-12-04 株式会社神户制钢所 多关节型机器人的控制装置、控制方法以及控制程序
WO2012121125A1 (ja) * 2011-03-08 2012-09-13 株式会社神戸製鋼所 多関節型ロボットの制御装置,制御方法及び制御プログラム
JP2012196754A (ja) * 2011-03-08 2012-10-18 Kobe Steel Ltd 多関節型ロボットの制御装置,制御方法及び制御プログラム
US9242373B2 (en) 2011-03-08 2016-01-26 Kobe Steel, Ltd. Control device, control method, and control program for articulated robot
CN103429397A (zh) * 2011-03-08 2013-12-04 株式会社神户制钢所 多关节型机器人的控制装置、控制方法以及控制程序
WO2012121124A1 (ja) * 2011-03-08 2012-09-13 株式会社神戸製鋼所 多関節型ロボットの制御装置,制御方法及び制御プログラム
JP2012196753A (ja) * 2011-03-08 2012-10-18 Kobe Steel Ltd 多関節型ロボットの制御装置,制御方法及び制御プログラム
JP2014076498A (ja) * 2012-10-09 2014-05-01 Sinfonia Technology Co Ltd 多関節ロボット及び半導体ウェハ搬送装置
CN104736303A (zh) * 2012-10-19 2015-06-24 株式会社神户制钢所 多关节机器人的摆动控制装置
WO2020138017A1 (ja) * 2018-12-28 2020-07-02 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
TWI719782B (zh) * 2018-12-28 2021-02-21 日商川崎重工業股份有限公司 機器人控制裝置、機器人系統及機器人控制方法
CN113226662A (zh) * 2018-12-28 2021-08-06 川崎重工业株式会社 机器人控制装置、机器人系统以及机器人控制方法
KR20210100705A (ko) 2018-12-28 2021-08-17 카와사키 주코교 카부시키 카이샤 로봇 제어 장치, 로봇 시스템 및 로봇 제어 방법
JPWO2020138017A1 (ja) * 2018-12-28 2021-10-14 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
JP7169370B2 (ja) 2018-12-28 2022-11-10 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
KR102597204B1 (ko) 2018-12-28 2023-11-02 카와사키 주코교 카부시키 카이샤 로봇 제어 장치, 로봇 시스템 및 로봇 제어 방법

Similar Documents

Publication Publication Date Title
US8774965B2 (en) Method and device for controlling a manipulator
JP4494247B2 (ja) ロボットの制御装置および制御方法
JP3900789B2 (ja) モータの速度・加速度決定方法、加減速生成方法、加減速制御方法、加減速制御装置及びモータ制御装置
CN103970139B (zh) 一种机器人连续点位运动规划方法
JP2005056171A (ja) 制御装置
JP6435872B2 (ja) 数値制御装置と制御方法
JP6126152B2 (ja) 曲線部を有する軌道を生成するロボットの軌道生成装置
JP2009113172A (ja) 指令値生成装置
JP2008105132A (ja) アームの関節空間における経路を生成する方法と装置
JP2011062793A (ja) ロボットの制御装置
JP2009053926A (ja) 経路計画装置及び経路計画方法
JP5312670B2 (ja) 指令生成装置
JP4637197B2 (ja) 数値制御装置
JPWO2002066210A1 (ja) ロボット制御装置
JP2006035325A (ja) ロボット
JP6057284B2 (ja) 多関節ロボット及び半導体ウェハ搬送装置
JPH04111006A (ja) ロボットの経路補間方法
JP6021478B2 (ja) ロボット制御装置、及びロボット制御方法
JP2000353006A (ja) 数値制御装置
CN111405966B (zh) 用于控制机器人组的方法和控制装置
JP2010110878A (ja) 多関節型ロボット装置およびその制御方法
JP3204042B2 (ja) ロボットの軌道の生成装置
JP2005118995A (ja) ロボットの制御方法および制御装置
US20030014156A1 (en) Device and method for controlling robot
JP2007316862A (ja) サーボドライバおよび複数軸のサーボシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100730

A131 Notification of reasons for refusal

Effective date: 20110913

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111110

A131 Notification of reasons for refusal

Effective date: 20120327

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Effective date: 20120814

Free format text: JAPANESE INTERMEDIATE CODE: A02