JP4494247B2 - ロボットの制御装置および制御方法 - Google Patents

ロボットの制御装置および制御方法 Download PDF

Info

Publication number
JP4494247B2
JP4494247B2 JP2005037910A JP2005037910A JP4494247B2 JP 4494247 B2 JP4494247 B2 JP 4494247B2 JP 2005037910 A JP2005037910 A JP 2005037910A JP 2005037910 A JP2005037910 A JP 2005037910A JP 4494247 B2 JP4494247 B2 JP 4494247B2
Authority
JP
Japan
Prior art keywords
joint data
singularity
singular point
robot
joint
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
JP2005037910A
Other languages
English (en)
Other versions
JP2006227724A (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.)
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 JP2005037910A priority Critical patent/JP4494247B2/ja
Publication of JP2006227724A publication Critical patent/JP2006227724A/ja
Application granted granted Critical
Publication of JP4494247B2 publication Critical patent/JP4494247B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

本発明は、ロボットの制御装置および制御方法に関するものであり、特に、特異点および特異点近傍の通過制御を行うロボットの制御装置および制御方法に関するものである。
ロボットの制御点の軌跡が直線を描くように動作させる直線補間動作は、まず、動作開始位置と目標位置にかかる位置データおよび姿勢データ(以下「直交データ」と呼称)をロボットの制御装置に予め記憶しておき、つぎに、それら2つの位置の間にロボットの制御周期ごとに補間される制御点が直線を描くような直交データを算出するとともに、その直交データから座標変換によって各関節軸の角度(以下「関節データ」と呼称)を算出し、さらに、その関節データに一致するように各軸のモータを回転制御することにより実現している。
ところで、多関節型のロボットの場合、一つの直交データに対して複数の関節データを算出することができる。このことは、一つの直交データに対してとり得る関節データが複数あることを意味しており、実際の制御の場面では、それらの中から所望の関節データを一意に定める必要がある。なお、関節データを一意に定めるための手法の一つとして、例えばフラグを用いる手法がある。この手法では、例えば関節データを一意に定めるためのフラグを直交データの中に設けておき、直交データから関節データを算出する際に、当該直交データに設けられたフラグに基づいて関節データを一意に定めるようにしている。
一方、多関節型のロボットにおいて、直交データから関節データに座標変換する際に一意に関節データを求めることのできない特異点と呼ばれる位置が存在する。このような特異点が存在する場合、多関節型のロボットを特異点あるいは特異点の近傍を通過させるために先のフラグに基づいて関節データを算出しようとすると、ある関節軸の回転速度が非常に大きな値をとることが知られている。
ところが、実際にはサーボモータやその他ロボットを構成する部品等の制限により、そのような大きな速度で回転することはできないので、この種の問題を回避するための特異点および特異点近傍での制御処理が必須となってくる。
そこで、従来は、特異点やその近傍を通過する際に発生するこの種の問題を回避するために、関節軸の動作速度を、補間動作中において常時算出するとともに、算出された動作速度の増加量に基づいてロボットが特異点に近付いたか否かを判定し、近付いたと判断した場合に特異点近傍を通過できるように指令速度を補正するといった方法が提案されている(例えば、特許文献1)。
特開平6−324730号公報
しかしながら、上記特許文献1に示される従来技術のような関節軸の動作速度に基づいて特異点に近づいたか否かを判定するような方法では、通常の動作において誤判定することがないように、判定基準となる速度しきい値を各関節軸の最高速度以上に設定しておく必要があった。そのため、特異点近傍において、指令速度が低速度であっても一部の関節軸が最高速度付近で回転しているような状態が生起することになる。このような状態を許容することは、意図しない動作を生じさせる可能性を増大させることにつながり、ロボットを制御する上で危険な状態にあるといった問題点があった。
本発明は、上記に鑑みてなされたものであって、ロボットに対する指令速度が低速度であっても一部の関節軸の回転速度が最高速度付近まで上昇するといった問題点を解消するとともに、ロボットが速度過大となることなく、あるいは停止することなく特異点および特異点近傍を通過させることができるロボットの制御装置および制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明にかかるロボットの制御装置は、特異点近傍を含む特異点領域に進入するロボットを制御するための特異点処理機能を有する補間処理部を備えたロボットの制御装置において、前記補間処理部は、速度指令に基づいて位置指令を生成出力する補間位置生成部と、前記位置指令に基づく関節データを生成出力する座標変換部と、前記位置指令と前記関節データと前記特異点領域情報とに基づいてロボットが特異点領域に進入したか否かを判定する進入判断部と、前記進入判断部の判定結果に基づいて起動され、特異点領域に進入したロボットが該特異点領域を通過する際の位置指令を生成出力する特異点通過位置指令生成部を具備する特異点通過位置生成部と、を備えたことを特徴とする。
この発明によれば、位置指令、この位置指令にかかる関節データおよび特異点領域情報に基づいてロボットが特異点領域に進入したか否かが判定されるものであり、特異点または特異点近傍にあることが、速度の変化ではなく指令位置に基づいているので、指令速度が低速度であっても、ある関節軸が高速に動作することはない。
本発明にかかるロボットの制御装置および制御方法によれば、位置指令や、位置指令にかかる関節データおよび特異点領域情報に基づいてロボットが特異点領域に進入したか否かを判定するようにしているので、関節角度の変動が低減され、特異点領域を滑らかに通過することが可能となる。また、速度変化を用いずに特異点付近であるかどうかを判定しているので、指令速度が低速度であっても、ある関節軸が高速に動作することなく特異点を通過させることができる。
以下に、本発明にかかるロボットの制御装置および制御方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。
図1は、本発明にかかるロボットの制御装置の機能構成を示すブロック図である。同図に示すロボットの制御装置は、ロボットを制御するための制御情報(例えば直交データ、関節データ)を生成出力する補間処理部1と、補間処理部1から出力された制御情報に基づいて各関節に具備される駆動部(例えばサーボモータ)を制御するための制御情報を生成出力するサーボ制御部30と、を備えている。
また、補間処理部1は、速度指令生成部11、補間位置生成部12、座標変換部13、進入判断部14、処理切り替え手段15、特異点通過位置生成部20などの各機能部を備えている。速度指令生成部11は、予め記憶されている動作開始位置、動作目標位置、補間種類、指令速度などの指令情報である補間指令10に基づいて速度指令を生成出力する。補間位置生成部12は、速度指令生成部11から出力された速度指令に基づいて補間処理のための位置指令を生成出力する。座標変換部13は、補間位置生成部12から出力された位置指令に対して座標変換処理を行う。進入判断部14は、これらの直交データおよび関節データと、予め記憶されている特異点の領域情報である特異点領域14aに基づいて、ロボットが特異点に進入したか否かを判定する。特異点通過位置生成部20は、ロボットが特異点に進入した場合に起動され、特異点および特異点近傍を通過する際の位置指令を生成出力する。処理切り替え手段15は、進入判断部14の判定結果に基づいて速度指令生成部11の出力を補間位置生成部12または特異点通過位置生成部20のいずれに出力するように自身を切替制御する。なお、上述の処理の中で、補間指令10や特異点領域14aの情報は、予め記憶されているものを用いるようにしているが、このような記憶情報に限定されるものではなく、例えば外部から入力された情報に基づいて制御するようにしてもよい。
つぎに、本発明にかかるロボットの制御装置において実行される補間処理について図1および図2を用いて説明する。なお、図2は、本発明にかかるロボットの制御装置において実行される補間処理の流れを示すフローチャートである。
まず、速度指令生成部11は、補間指令10を読み込み(ステップS101)、速度指令を生成する(ステップS102)。ロボットが特異点領域に進入していないときには、処理切り替え手段15がa側に接続され、ステップS102で生成された速度指令が処理切り替え手段15を介して補間位置生成部12に出力される。補間位置生成部12は、速度指令生成部11から出力された速度指令に基づいて位置指令を生成する(ステップS103)。座標変換部13は、補間位置生成部12から出力された位置指令に対して座標変換処理を行う(ステップS104)。いま、補間処理部1で実行される処理が直線補間の場合を想定すると、補間位置生成部12から出力される位置指令が直交データであり、座標変換部13で生成されるデータは、直交データに対応する関節データとなる。なお、以後の説明では、特にことわらない限り、直線補間処理の場合を例にとり説明する。
進入判断部14は、座標変換部13から出力された直交データおよび関節データに基づいてロボットが特異点領域に進入したか否かを判定する(ステップS105)。ロボットが特異点領域に進入していない場合(ステップS105、No)、これらの直交データおよび関節データがサーボ制御部30に出力される(ステップS106)。一方、ロボットが特異点領域に進入している場合(ステップS105、Yes)、処理切り替え手段15がb側に接続され、ステップS102で生成された速度指令が処理切り替え手段15を介して特異点通過位置生成部20に出力され、特異点通過位置生成処理が実行される(ステップS107)。両者のいずれかの処理が行われた後、全体の補間処理が終了しているか否かが判定され、終了していない場合(ステップS108、No)にはステップS102の処理に移行し、終了している場合(ステップS108、Yes)には全体の補間処理を終了する。
つぎに図2のステップS107の処理である特異点通過位置生成処理について説明する。図3は、特異点通過位置生成処理の処理フローを示すフローチャートである。なお、この処理は図1に示した機能ブロック図上の、特異点通過位置生成部20によって実行される。
図3において、補間回数算出部20aは、特異点領域に進入する際の関節速度と特異点領域情報とに基づいて特異点領域内における補間回数を算出するとともに、退出位置算出部20bは、補間回数算出部20aが算出した補間回数に基づいて特異点領域を退出する際の退出位置を算出する(ステップS201)。参照位置算出部20cは、進入位置および退出位置における各関節データに基づいて特異点領域を通過する位置指令を生成する際に用いられる参照位置を算出する(ステップS202)。そして特異点通過位置指令生成部20dは、参照位置の情報を用いずに生成した位置指令と参照位置算出部20cが算出した参照位置とに基づいて特異点領域を通過させるための位置指令(直交データ)および関節データが生成され(ステップS203)、これらの位置指令(直交データ)および関節データがサーボ制御部30に出力される(ステップS204)。このとき、ステップS202〜S204の処理が補間回数だけ繰り返して実行されているか否かが判定され(ステップS205)、補間回数分実行されていない場合(ステップS205、No)には、ステップS202〜S204の処理が補間回数だけ繰り返して実行され、補間回数分実行されている場合(ステップS205、Yes)には、処理切り替えスイッチ15がb側からa側に切り替えられ、通常の補間処理に戻る。なお、以上の処理が実行されることにより、ロボットは速度過大を生ずることなく、あるいは停止することなく特異点領域を通過することができる。
ところで、上述の背景技術の項において、多関節型のロボットの場合には、一つの直交データに対して複数の関節データが存在するため、ロボットが特異点あるいは特異点近傍を通過する場合に、ある関節軸の回転速度が非常に大きな値を有する場合があることについて触れたが、そのことの詳細について図4〜図8を用いて説明する。
図4に示すような多関節ロボットでは、ある直交データに対し複数の関節データを得ることができる。例えば、図5のように一つの直交データに対して2つの関節データ(関節データ1、関節データ2)が存在する。その中から所望の関節データを算出するため、例えば関節データを一意に定めるためのフラグを直交データの中に設け、直交データから関節データを算出する際に、当該直交データに設けられたフラグに基づいて関節データを一意に定めるような手法がよく用いられる。
ところが、ロボットが特異点やその近傍を通過する場合、先のフラグに基づいて関節データを算出しようとすると、上述のようにある関節軸の回転速度が非常に大きな値を有するようになる。例えば、図6に示すような、関節J1〜J6を有する多関節ロボットにおいて、図7のように関節J5の回転軸(以下、単に「J5軸」と呼称)の関節角度が0度以上の場合(+側)を“NonFlip”とし、0度未満の場合(−側)を“Flip”というフラグとすると、図8の状態1からフラグをNonFlipに保持したままで状態3へ推移させる場合、状態2において、J4軸とJ6軸とを瞬時に180度回転させなければならない。したがって、J4軸とJ6軸とは、状態2において、非常に大きな値の回転速度を持たなければならないが、実際にはサーボモータなどの制限により、そのような速度で回転することができず、背景技術のところで述べたように、指令速度が低速度であっても一部の関節軸が最高速度付近で回転しているような状態が生起することになり、ロボットを制御する上で危険な状態にあるといった問題点を生じさせていた。
一方、本発明は、図1のように構成されるロボットの制御装置において、前述の図2および図3の処理フローに基づいた補間処理を行うことで、ロボットに対する指令速度が低速度であっても一部の関節軸の回転速度が最高速度付近まで上昇するといった問題点を解消するとともに、ロボットが速度過大となることなく、あるいは停止することなく特異点および特異点近傍を通過させることを可能としている。
つぎに、図2および図3の処理フローの一部について、さらに詳細な説明を行う。まず、ロボットが特異点領域に進入したか否かの判定処理(図2のステップS105の処理)の詳細について図6、図8および図9を用いて説明する。
まず、説明を簡単化するため、図6に示す多関節ロボットでの手先姿勢にかかるJ4軸からJ6軸について考える。例えば、先に説明したように、図8の状態2に示すようなJ5軸が0度の場合が特異点の位置であり、この状態時にJ4軸とJ6軸とが一意に定まらない。一方、特異点の位置は直交データに含まれるフラグの値が切り替わる位置と一致しているので、特異点領域Sは、図9に示すように、J5軸の関節角度θ5で定義することができる。
つまり、特異点領域Sを次式のように定義することができる。
−θs≦θ5≦+θs ・・・(1)
ここで、ある位置指令に対するJ5軸の関節角度が式(1)を満たせば、特異点領域へ進入していると判断することができる。
つぎに、特異点領域内における補間回数および特異点領域からの退出位置の算出処理(図3のステップS201の処理)の詳細について図9および図10を用いて説明する。
例えば、前回の補間処理で生成された位置指令の関節データをj(k−1)とし、今回の補間処理で生成された関節データをj(k)とすると、関節速度jv(k)は、次式で表すことができる。
jv(k)=j(k)−j(k−1) ・・・(2)
また、この関節速度jv(k)と図9に示した特異点領域Sとを用いて、図10に示すような特異点領域Sを通過するのに必要な補間回数Cnを、次式に基づいて算出するようにする。
Cn=int(S/jv(k))+1=int(2*θs/jv(k))+1・・・(3)
なお、式(3)における、int(α)は、“α”の小数点以下を切り捨てることを意味する。
したがって、特異点領域からの退出位置をp(n)とすると、退出位置p(n)は指令速度VcでCn回動作した位置となるので、今回の補間処理で生成された直交データp(k)を特異点領域への進入位置とするとき、退出位置p(n)は、図11にも示すように、次式で表すことができる。
p(n)=p(k+Cn)=p(k)+Vc*Cn ・・・(4)
また、退出位置p(n)は特異点を通過した後の直交データであるので、退出位置p(n)のフラグは特異点の通過によりp(k)のフラグから切り替わった値となっている可能性がある。例えば、図9のようにフラグを定めると、p(k)のフラグが“NonFlip”であった場合、p(n)のフラグは“Flip”である可能性がある。そこで、退出位置p(n)から関節データj(n)を算出するときは、つぎの2つの関節データja(n)およびjb(n)を算出する。
(ア)ja(n):p(k)と同じフラグを使って求めた関節データ(第1の関節データ)
(イ)jb(n):p(k)から切り替わったフラグを使って求めた関節データ(第2の関節データ)
一の関節角度から他の関節角度へ同一の補間回数で補間するのであれば、その関節角度の差分が小さい方が無理な動作とならないのは明らかである。したがって、上記のja(n)、jb(n)のうち、進入位置の関節データj(k)との差が小さい方を退出側の関節データj(n)とし、それに対応したフラグを退出位置p(n)のフラグとする。すなわち、次式に示すような処理を行って、j(n)を算出する。
if(abs(jb(n)−j(k))≦abs(ja(n)−j(k))
then j(n)=jb(n)
else j(n)=ja(n) ・・・(5)
つぎに、特異点領域を通過する際の参照位置の算出処理(図3のステップS202の処理)および位置指令生成処理(図3のステップS203の処理)の詳細について説明する。
図3のステップS201の処理の直後では、特異点領域の進入位置p(k)にかかる関節データj(k)と退出位置p(n)にかかる関節データj(n)とは既に定められているので、これらの間をそれぞれの関節データに基づいてCn回の関節補間処理によって補間すれば、特異点領域を滑らかに通過させることが可能となる。ただし、関節補間ではその間の制御点の軌跡が直線から外れる可能性がある。そこで、特異点領域通過の最中は、補間周期ごとに関節補間による参照位置jr(i)を算出し、その位置と指令速度Vcとから算出された位置指令とを比較してサーボ制御部へ出力する関節データを決定すればよい。具体的には次のステップを踏むようにすればよい。
(ア)特異点領域の進入側の関節データj(k)、退出側の関節データj(n)および補間周期i(i=1,2,・・・,Cn)から、次式に基づいて参照位置jr(i)を算出する。
jr(i)=j(k)+(j(n)−j(k))*(i/Cn) ・・・(6)
(イ)指令速度Vcから位置指令p(k+i)を算出し、それに対する関節データj(k+i)を算出する。なお、その際、特異点領域内でフラグが切り替わる可能性があるので、つぎの2つの関節データja(k+i)およびjb(k+i)を算出するようにする。
(a) ja(k+i):p(k)と同じフラグを使って求めた関節データ(第1の関節データ群)
(b) jb(k+i):p(k)から切り替わったフラグを使って求めた関節データ(第2の関節データ群)
(ウ)これらの第1の関節データ群ja(k+i)および第2の関節データ群jb(k+i)のそれぞれと参照位置jr(i)との差を計算し、その差が小さい方をサーボ制御部へ出力する関節データj(k+i)とする。
if(abs(jb(k+i)−jr(i))≦abs(ja(k+i)−jr(i)))
then j(k+i)=jb(k+i)
else j(k+i)=ja(k+i) ・・・(7)
例えば、図12の軌跡Aに示すように、ロボットが特異点上を通過する場合であっても、上記(ア)〜(ウ)に基づく直線補間処理を行うことで、速度過大となることなく、あるいは停止することなく特異点領域を通過することが可能となる。
ただし、図12の軌跡Bに示すように直線補間処理の軌跡がわずかでも特異点から離れていると、上記(ウ)の処理において、サーボ制御部へ出力する関節データj(k+i)がja(k+i)からjb(k+i)に変更される際に、関節角度が大きく変化してしまう場合がある。なお、図13は、特異点近傍を通過する際にJ4軸が大きく変化する状況を示す図である。
図13において、曲線jsは後述する修正関節データjc(i)を用いずに算出した軌跡におけるJ4軸角度を示すものである。同図に示すように、J4軸が大きく変化する理由は、特異点から離れた位置を移動する場合には、J4軸、J5軸、J6軸の各軸が一つの軸上に並ばず、姿勢を保持して動作させる上でJ4軸およびJ6軸を捻る必要がある一方で、特異点に近付いたときに、その捻りの影響でja(k+i)の関節データとjb(k+i)の関節データとが近接していないことに起因している。
この現象を防止するため、例えば、関節データja(k+i)およびjb(k+i)のそれぞれと参照位置jr(i)との差に許容値dfを設定し、参照位置jr(i)との差が許容値dfを越える場合には、許容値dfを越えずに推移する修正関節データjc(i)を算出し、この修正関節データjc(i)と参照位置jr(i)との差と、ja(k+i)あるいはjb(k+i)と参照位置jr(i)との差とを計算し、両者の差が小さい方をサーボ制御部へ出力する関節データj(k+i)とするような処理を行えばよい。
例えば、ja(k+i)がm回目の補間周期で許容値dfを越えた場合、修正関節データjc(i)は、次式で定義することができる。
jc(i)=ja(k+m−1)+(−2*df/(Cn−2*m))*(i−m−1)
・・・(8)
(i=m+1,m+2,…,Cn)
一方、サーボ制御へ出力する関節データj(k+i)は、次式に基づいて処理される。
if(abs(jc(k+i)−jr(i))≦abs(jb(k+i)−jr(i)))
then j(k+i)=jc(i)
else j(k+i)=jb(k+i) ・・・(9)
なお、修正関節データjc(i)を採用している間は、軌跡が直線から外れる可能性があるが、関節角度が大きく変化することないので、特異点領域を円滑に通過させることができる。
例えば、図14は、本発明を適用した直線補間処理によって特異点上を通過する際のJ4軸の角度変化の一例を示す図であり、図15は、本発明を適用した直線補間処理によって特異点近傍を通過する際のJ4軸の角度変化の一例を示す図である。図14および図15に示されるjsは上述の修正関節データjc(i)を用いて算出した軌跡におけるJ4軸角度を示すものである。これらの図に示されるように、特異点近傍を含む特異点領域を通過する場合であっても、関節角度が大きく変化することなく、円滑に特異点領域を通過していることが明らかである。
以上説明したように、この実施の形態のロボットの制御装置および制御方法によれば、位置指令や、位置指令にかかる関節データおよび特異点領域情報に基づいてロボットが特異点領域に進入したか否かを判定するようにしているので、ロボットに対する指令速度が低速度であっても一部の関節軸の回転速度が最高速度付近まで上昇するといった問題点が解消されるとともに、ロボットが速度過大となることなく、あるいは停止することなく特異点および特異点近傍を通過させることができるので、ロボットの動作上の制約が減少し、ロボットの利便性が向上する。
なお、この実施の形態では、ロボットの手先の部分であるJ4軸からJ6軸に対して本発明を適用した例について説明したが、これに限定されるものではなく、他の軸の特異点に対しても、本発明を適用することができる。
また、この実施の形態では、図6に示すような垂直多関節ロボットを一例にとり説明したが、垂直多関節ロボットに限定される要素はなく、例えば水平多関節ロボットに対しても適用できることは勿論である。
以上のように、本発明は、特異点および特異点近傍を速度過大とならず、円滑に通過させることができるロボットの制御装置および制御方法として有用である。
本発明にかかるロボットの制御装置の機能構成を示すブロック図である。 本発明にかかるロボットの制御装置において実行される補間処理の流れを示すフローチャートである。 特異点通過位置生成処理の処理フローを示すフローチャートである。 多関節ロボットの一例を示す図である。 ある直交データに対して、複数の関節データが存在する状態を示す図である。 6自由度垂直多関節ロボットの簡略構造を示す図である。 図6に示した6自由度垂直多関節ロボットのJ5軸のフラグの定義を示す図である。 フラグを保持したまま特異点を通過させる際に、ある関節の回転速度が過大な速度で回転しなければならないことを示す図である。 特異点領域Sの定義を示す図である。 特異点領域進入時の速度と補間回数の関係を示す図である。 特異点領域進入時の指令速度と補間回数、特異点領域退出側の位置の関係を示す図である。 特異点上の通過と特異点からわずかに離れた位置を通過する直線軌跡を示す図である。 特異点近傍を通過する際にJ4軸角度が大きく変化する状況を示す図である。 本発明を適用した補間処理によって特異点上を通過する際のJ4軸の角度変化を示す図である。 本発明を適用した補間処理によって特異点近傍を通過する際のJ4軸の角度変化を示す図である。
符号の説明
1 補間処理部
10 補間指令
11 速度指令生成部
12 補間位置生成部
13 座標変換部
14a 特異点領域
14 進入判断部
15 処理切替手段
20 特異点通過位置生成部
20a 補間回数算出部
20b 退出位置算出部
20c 参照位置算出部
20d 特異点通過位置指令生成部
30 サーボ制御部

Claims (6)

  1. 特異点近傍を含む特異点領域に進入するロボットを制御するための特異点処理機能を有する補間処理部を備えたロボットの制御装置において、
    前記補間処理部は、
    速度指令に基づいて位置指令を生成出力する補間位置生成部と、
    前記位置指令に基づく関節データを生成出力する座標変換部と、
    前記位置指令と前記関節データと前記特異点領域情報とに基づいてロボットが特異点領域に進入したか否かを判定する進入判断部と、
    前記進入判断部の判定結果に基づいて起動され、特異点領域に進入したロボットが該特異点領域を通過する際の位置指令を生成出力する特異点通過位置指令生成部を具備する特異点通過位置生成部と、
    を備え、
    前記特異点通過位置生成部は、
    特異点領域に進入する際の関節速度と特異点領域情報とに基づいて該特異点領域内における補間回数を算出する補間回数算出部と、
    前記指令速度と前記特異点領域への進入位置と前記補間回数とに基づいて該特異点領域からの退出位置を算出する退出位置算出部と、
    を備えたことを特徴とするロボットの制御装置。
  2. 前記退出位置算出部は、関節データを一意に定めるための識別符号として前記進入位置にかかる直交データの中に設けられたフラグと同一フラグを用いて算出された第1の関節データおよび前記進入位置にかかるフラグから切り替わったフラグを用いて算出された第2の関節データのそれぞれと、進入位置における関節データとを比較し、その差分が小さい方を退出位置における関節データとして算出することを特徴とする請求項に記載のロボットの制御装置。
  3. 前記特異点通過位置生成部は、前記特異点領域の進入側の関節データと退出側の関節データとの間を前記補間回数で分割し、該分割された関節データのそれぞれを補間周期ごとの参照位置として算出する参照位置算出部をさらに備えたことを特徴とする請求項1または2に記載のロボットの制御装置。
  4. 前記特異点通過位置指令生成部は、前記進入位置にかかるフラグと同一フラグを用いて算出された補間周期ごとの関節データである第1の関節データ群および該進入位置にかかるフラグから切り替わったフラグを用いて算出された補間周期ごとの関節データである第2の関節データ群のそれぞれと前記補間周期ごとの参照位置のそれぞれとを比較し、その差分が小さい方の関節データを用いることを特徴とする請求項に記載のロボットの制御装置。
  5. 前記特異点通過位置指令生成部は、前記第1の関節データ群または第2の関節データ群から選択された一方の関節データ群と前記補間周期ごとの参照位置のそれぞれとの差分を計算し、該差分が所定の許容値を越える場合に該許容値を越えずに推移する修正関節データ群を算出するとともに、該修正関節データ群と前記参照位置との間の第1の差分情報と、該修正関節データの算出に用いられなかった他方の関節データ群と参照位置との間の第2の差分情報と、に基づいて算出される関節データを用いることを特徴とする請求項に記載のロボットの制御装置。
  6. 特異点近傍を含む特異点領域に進入するロボットを制御するための特異点処理ステップを有するロボットの制御方法において、
    速度指令に基づいて位置指令を生成出力する補間位置生成ステップと、
    前記位置指令を座標変換によって生成した関節データを生成出力する座標変換ステップと、
    前記位置指令と前記関節データと前記特異点領域情報とに基づいてロボットが特異点領域に進入したか否かを判定する進入判断ステップと、
    前記進入判断ステップの判定結果に基づいて起動され、特異点領域に進入したロボットが該特異点領域を通過する際の位置指令を生成出力する特異点通過位置指令生成ステップと、
    を含み、
    前記特異点通過位置生成ステップは、
    特異点領域に進入する際の関節速度と特異点領域情報とに基づいて該特異点領域内における補間回数を算出する補間回数算出ステップと、
    前記指令速度と前記特異点領域への進入位置と前記補間回数とに基づいて該特異点領域からの退出位置を算出する退出位置算出ステップと、
    を含むことを特徴とするロボットの制御方法。
JP2005037910A 2005-02-15 2005-02-15 ロボットの制御装置および制御方法 Active JP4494247B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005037910A JP4494247B2 (ja) 2005-02-15 2005-02-15 ロボットの制御装置および制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005037910A JP4494247B2 (ja) 2005-02-15 2005-02-15 ロボットの制御装置および制御方法

Publications (2)

Publication Number Publication Date
JP2006227724A JP2006227724A (ja) 2006-08-31
JP4494247B2 true JP4494247B2 (ja) 2010-06-30

Family

ID=36989082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005037910A Active JP4494247B2 (ja) 2005-02-15 2005-02-15 ロボットの制御装置および制御方法

Country Status (1)

Country Link
JP (1) JP4494247B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4496483B2 (ja) * 2005-06-24 2010-07-07 株式会社安川電機 ロボット制御方法および制御装置
JP4708299B2 (ja) * 2006-10-04 2011-06-22 三菱電機株式会社 数値制御装置
JP2009113172A (ja) * 2007-11-08 2009-05-28 Mitsubishi Electric Corp 指令値生成装置
JP4974859B2 (ja) * 2007-11-20 2012-07-11 株式会社ダイヘン ロボット制御装置
JP2010076058A (ja) * 2008-09-26 2010-04-08 Toshiba Corp 多関節型マニピュレータの制御装置及び多関節型マニピュレータの手先動作軌道生成方法
JP5231935B2 (ja) 2008-10-21 2013-07-10 株式会社東芝 ロボット制御装置
JP5283541B2 (ja) * 2009-03-05 2013-09-04 株式会社神戸製鋼所 ロボットの動作経路生成方法
JP5399881B2 (ja) * 2009-05-19 2014-01-29 ファナック株式会社 5軸加工機用数値制御装置
JP5433304B2 (ja) * 2009-05-22 2014-03-05 川崎重工業株式会社 ロボット制御装置及び方法
JP5458769B2 (ja) * 2009-09-18 2014-04-02 株式会社デンソーウェーブ ロボットの制御装置
JP5461980B2 (ja) * 2009-12-22 2014-04-02 ファナック株式会社 ワーク設置誤差補正手段を有する5軸加工機を制御する数値制御装置
JP2015085427A (ja) * 2013-10-30 2015-05-07 株式会社デンソーウェーブ 6軸ロボットの各軸角度決定方法及び6軸ロボットの制御装置
DE112014006610B4 (de) 2014-04-24 2019-09-19 Mitsubishi Electric Corporation Robotersteuerungsvorrichtung und Robotersteuerungsverfahren
JP6655410B2 (ja) * 2016-02-02 2020-02-26 三菱重工業株式会社 作動機構の制御装置
CN106393106B (zh) * 2016-09-13 2018-11-06 东南大学 参数自适应密化的机器人nurbs曲线运动插补方法
JP6703038B2 (ja) 2018-05-24 2020-06-03 ファナック株式会社 数値制御装置
CN111590592A (zh) * 2020-06-05 2020-08-28 中科新松有限公司 机械臂的控制方法及装置、电子设备、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08241108A (ja) * 1995-03-03 1996-09-17 Fanuc Ltd 同軸手首ロボットの姿勢制御動作における急動作回避方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08241108A (ja) * 1995-03-03 1996-09-17 Fanuc Ltd 同軸手首ロボットの姿勢制御動作における急動作回避方法

Also Published As

Publication number Publication date
JP2006227724A (ja) 2006-08-31

Similar Documents

Publication Publication Date Title
JP4494247B2 (ja) ロボットの制御装置および制御方法
CN108568814B (zh) 机器人以及机器人的控制方法
JP3900789B2 (ja) モータの速度・加速度決定方法、加減速生成方法、加減速制御方法、加減速制御装置及びモータ制御装置
JP3830475B2 (ja) 制御装置
CN106873358B (zh) 控制装置以及控制方法
US9764471B2 (en) Trajectory generation apparatus for robot to generate trajectory including curved portion
US7479751B2 (en) Elimination of unintended velocity reversals in s-curve velocity profiles
US7047107B2 (en) Robot control apparatus
JP6703038B2 (ja) 数値制御装置
KR910009266B1 (ko) 산업용 로보트의 속도 제어방법 및 장치
JP5198930B2 (ja) サイクルタイム短縮のためのロボットの移動制御装置及び移動制御方法
JP2016193690A (ja) 自動操舵装置
JP6165322B2 (ja) ロボット制御装置およびロボット制御方法
JP2009113172A (ja) 指令値生成装置
JP2000353006A (ja) 数値制御装置
WO2002025390A1 (fr) Procede de servocommande
JP2018015870A (ja) ロボットの制御装置および制御方法
JP5382148B2 (ja) ロボットの動作制御装置及びその動作制御方法
JP2011133968A (ja) ワーク設置誤差補正手段を有する5軸加工機を制御する数値制御装置
WO2019044237A1 (ja) ロボット制御装置
JP2007316862A (ja) サーボドライバおよび複数軸のサーボシステム
JPH09204216A (ja) 多関節ロボットの加減速制御方法
JP4244339B2 (ja) 指令値生成装置
JP5633268B2 (ja) ロボットの制御装置
JP3194829B2 (ja) ロボットの動作プログラム生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100315

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: 20100406

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100407

R150 Certificate of patent or registration of utility model

Ref document number: 4494247

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140416

Year of fee payment: 4

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

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