JP5458769B2 - ロボットの制御装置 - Google Patents

ロボットの制御装置 Download PDF

Info

Publication number
JP5458769B2
JP5458769B2 JP2009217253A JP2009217253A JP5458769B2 JP 5458769 B2 JP5458769 B2 JP 5458769B2 JP 2009217253 A JP2009217253 A JP 2009217253A JP 2009217253 A JP2009217253 A JP 2009217253A JP 5458769 B2 JP5458769 B2 JP 5458769B2
Authority
JP
Japan
Prior art keywords
point
teaching
robot
arm
rotation angle
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
JP2009217253A
Other languages
English (en)
Other versions
JP2011062793A (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.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
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 Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2009217253A priority Critical patent/JP5458769B2/ja
Publication of JP2011062793A publication Critical patent/JP2011062793A/ja
Application granted granted Critical
Publication of JP5458769B2 publication Critical patent/JP5458769B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ロボットを実際に動作させたときの移動軌跡が教示点上を通過するような制御を行うことができるロボットの制御装置に関する。
従来からロボットの実際の動作制御は、前もって演算したサンプリングタイム毎の目標位置または目標速度に達するようにサーボモータを制御することによって行われる。
一方、間欠的に与えられた教示点を通ってロボット先端が移動するように制御する方法として、PTP(point-to-point)制御方式とCP(continuous path)制御方式とがある。PTP制御方式は、教示点の相互間でロボット先端を直線的に移動させるもので、ロボット先端は教示点間で移動停止を繰り返す。このため、PTP制御方式では、ロボットの動作時間が長くなる。
これに対し、CP制御方式は、ロボット先端を、教示点を通過するように連続的に移動させるもので、動作時間は短縮される。しかしながら、CP制御方式では、ロボット先端の移動軌跡が教示点上を必ずしも通過しない。これは、PTP制御方式では、例えば、図4(a)および(b)に示すように、教示点Pn,Pn+1,Pn+2の相互間で直線移動するような台形状の速度パターンを定め、この速度パターンから所定のサンプリング時間毎の位置を算出してロボットを動作させるが、CP制御方式では、図4(c)に示すように、例えばPTP制御方式における教示点Pnから教示点Pn+1までの速度パターンにおける減速域と、教示点Pn+1から教示点Pn+2までの速度パターンにおける加速域とを一部ラップさせて速度パターンを決定するため、2つの速度パターンの減速域と加速域とがラップする範囲内に教示点Pn+1が存在することとなってしまい、当該教示点Pn+1を通らない移動軌跡が生成されてしまうからである。
この問題を解消し、ロボットを動作させたときのロボット先端の実際の移動軌跡を教示点にできるだけ近付けるようにする制御方式として、特許文献1に開示されたものがある。
特開平1−106107号公報
特許文献1に開示された制御方式は、教え込まれた複数の教示点を通過するように演算された目標経路によりロボットを動かしたとしたとき、この目標経路と教示点との間に生ずる誤差を求め、この誤差に基づいて教示点の位置を補正しておき、実際にロボットを動かすとき、補正後の教示点を通過するように目標経路を演算し、この目標経路により実際にロボットを動かしたとき、実際経路が複数の教示点上を通過するようにしたものである。
この教示点の位置の補正を行うためのフローチャートを図7に示す。なお、図7のフローチャートは、特許文献1に開示された発明に従ったものであるが、現実のロボットにおいて制御する場合のもので、特許文献1の図8に示されたフローチャートとは若干異なる。
図7のフローチャートによって特許文献1の制御方式を説明する前に、予備的知識としてロボット先端の回転位置の制御の一例を説明する。図10(a)には6軸の垂直多関節型ロボットの先端部分が示されており、図10(a)中、符号Fはロボット先端としてのフランジを示す。このフランジFは、0°の位置から時計回り方向に360°、0°の位置から反時計回り方向に360°回転可能になっている。従って、フランジFは合計2回転できるが、その2回転内の回転位置を複数の形態によって定義している。
この回転位置を定義する形態を説明するに、まず、フランジFの基準位置を0°とし、この基準位置から時計回り方向を(−)、反時計回り方向を(+)に定める。そして、基準位置から時計回り方向に半回転および反時計回り方向に半回転の1回転の範囲を−180°<θ≦+180°と定義し(形態1)、この形態1の範囲を超える時計回り方向の半回転を−360°<θ≦−180°、反時計回り方向の半回転を+180°<θ≦+360°(形態2)と定義する。
そして、実際にロボットを動かす場合、フランジFの1回転の回転位置の定義を形態1で行うか、形態2で行うかを予め設定しておく。これにより、フランジFの1つの姿勢が回転位置で例えば+90°と−270°の2つで定義されるところ、例えば形態1で制御すると予め決めておくことにより、+90°に一義的に決められるので、フランジFの回転制御が円滑に行われるようになる。
さて、図7のフローチャートの実行に入ると、ロボットの制御装置は、まず、記憶部に記憶されている教示点データから、各教示点の位置と姿勢を取得する(ステップB1)。このとき、例えば教示点が図4(a)に示すPn,Pn+1,Pn+2の3点であったとする(図8の式7)。なお、教示点データにおいて、教示点の位置はロボット座標のxyz座標値で表され、姿勢はロボット先端に定義された固有座標のxyz座標のxyz軸のロボット座標上での方向(座標上の値)で表される。
次に、制御装置は、教示点Pn,Pn+1,Pn+2の位置と姿勢のデータを同次変換して同次変換行列を取得する(ステップB2: 図8の式8)。式8において、ノーマルベクトル、オリエントベクトルおよびアプローチベクトルとは、例えば図10(a)に示すロボット先端の3次元座標において、ロボット先端の捻り回転の中心軸(z軸)方向の単位ベクトルをノーマルベクトル、このノーマルベクトルと直交する2つ軸(x軸およびy軸)方向の単位ベクトルをそれぞれオリエントベクトルおよびアプローチベクトルという。また、位置ベクトルとは、ロボット座標において、当該ロボット座標の原点からロボット先端の座標の原点Oまでのベクトルをいう。
続いて、制御装置は、教示点Pn,Pn+1,Pn+2の位置と姿勢のデータを逆変換し、ロボット先端を教示点(姿勢を含む)に位置させるための各アームの回転角度(軸値)を求める(ステップB3:図8の式9)。この逆変換時において、解が2つ求まり、制御不能となる場合がある。これを避けるために、解が2つ求まった場合、いずれか一方の解を採用するように予めプログラミングされている。
ステップB3で各アームの軸値を求めた後、制御装置は、次に、ロボット先端を、PTP制御方式によって教示点Pnから教示点Pn+1に直線移動させる場合の速度パターンおよび教示点Pn+1から教示点Pn+2に移動させる場合の速度パターンを求め、この速度パターンを使用してCP制御方式によって教示点Pnから教示点Pn+1を経てPn+2まで連続移動(パス動作)させる場合のパス動作用速度パターンを生成し、このパス動作用速度パターンを用いて連続移動軌跡を生成する(ステップB4)。
このときの連続移動軌跡の生成は、パス動作用速度パターンから、所定のサンプリングタイムが経過する毎の各サンプリング時点での目標角度(または速度)を定め、この目標角度(または速度)となるように各アームの駆動モータを制御することによって行われる。そして、この制御によってロボット先端が通過する移動軌跡データをサンプリング時点毎に記憶しておく。この場合、移動軌跡データは、サンプリング時点毎の各アームの軸値で記憶される。
次に、制御装置は、生成した移動軌跡上の各点(サンプリング時点)を同次変換し、この同次変換行列式をステップB2で求めた教示点Pn+1の同次変換行列式と比較して、移動軌跡上の各点のうち、教示点Pn+1との間の距離がもっとも小さい点(近傍点)を探索する(ステップB5)。そして、制御装置は、探索した近傍点(図8の式10)と教示点Pn+1との位置と姿勢の差dLおよび姿勢dO,dA(姿勢は2軸のベクトルの方向で特定できる。)を求め(図8の式11)、その差が所定の閾値以内であるか否かにより、近傍点の位置および姿勢が教示点Pn+1の位置および姿勢に十分に近いか否かを判定する(ステップB6)。
制御装置は、近傍点の位置および姿勢と教示点Pn+1の位置および姿勢との差が所定の閾値を超えている場合には、当該近傍点の位置および姿勢と教示点Pn+1の位置および姿勢との差に補正係数αを乗じて補正量を求める(ステップB7:図8の式12)。次いで、教示点Pn+1の位置および姿勢に上記補正量を加えた点を補正候補点とし、この補正候補点の位置および姿勢を求める(ステップS8: 図8の式13)。
続いて、制御装置は、補正候補点でのロボットの形態をチェックし、補正候補点が教示点Pn+1の補正教示点となったときに、実際にロボットを動かす際に、サンプリング時点毎の目標位置(または速度)を前もって演算するために補正候補点の位置および姿勢を逆変換したとき、解が2つ求まることのないこと、およびPn,Pn+1に代わる補正候補点,Pn+2を通るように実際にロボットの動作制御を行ったとき、フランジが急に大きく回転するというような予期しない急な動作(以下、ひっくり返るような動作という。)を行わないことを確認し、解が2つ求まったり、ひっくり返るような動作を行ったりする恐れがあるならば、そのような事態が起きないように必要な処置を行う(ステップB9)。
このひっくり返るような動作を行う場合の例を説明すると、フランジが例えば形態1(−180<θ≦+180)の角度範囲で制御されているとき、Pn+1でのフランジの回転位置が−180°に近い角度であり、補正候補点でのフランジの回転位置が−180°と+180°の境界を越えて+180°よりもやや小さい角度になったとする。すると、PnからPn+1の補正候補点を経てPn+2に至る連続移動軌跡を生成した際、PnからPn+1の補正候補点までの多数のサンプリング時点のうち、いずれかの隣合う2つのサンプリング時点で−180°と+180°の境界を挟んだ2つの回転位置(図10(b)に示すa位置とb位置)が現出される。説明を簡単にするために、a位置が−179度で、b位置が+179度であったとすると、形態1での制御では、−180°と+180°の境界を通過できないので、フランジは、a位置から0°の位置を通過してb位置までほぼ1回転(358度)する。この1回転に近い回転は急峻に行われるので、予期しないひっくり返るような動作となる。
ロボットの形態をチェックした後、制御装置は、補正候補点の位置および姿勢を逆変換してロボット先端を補正候補点に位置させるための各アームの軸値を求め(ステップB10: 図8の式14)、その後、前述のステップB4に移行する。このステップB4で制御装置は、前述したと同様に、ロボット先端を、PTP制御方式により、教示点Pnから補正候補点に直線移動させる場合の速度パターンおよび補正候補点から教示点Pn+2に直線移動させる場合の速度パターンを求め、この速度パターンを使用してCP制御方式によって教示点Pn,補正候補点,Pn+2を連続移動させた場合の連続移動軌跡を生成する。そして、前述のステップB5〜7を実行し、再度求めた近傍点の位置および姿勢を補正教示点とするか否かを判定し、補正教示点とすることができない場合には、補正教示点とすることができる近傍点が求まるまで、上述したと同様にして、ステップB8〜11およびステップB4〜7を繰り返し実行する。
補正教示点とすることができる近傍点が求まった場合、制御装置は、その補正教示点の軸値データを順変換して当該補正教示点の位置および姿勢を座標上の値で求める(ステップB11: 図8の式15)。そして、実際にロボットを動作させる場合、Pn,Pn+1に代わる補正教示点,Pn+2の各点の位置および姿勢を逆変換し、そして、各アームの軸値を用いてCP制御方式の速度パターンを生成し、この速度パターンを基にして各サンプリングタイム毎の目標角度(または速度)を演算し、ロボットを制御する。これにより、実際にロボットを動かした場合、ロボット先端がPn,Pn+1,Pn+2を通過するようになる。
しかしながら、以上のような特許文献1による制御方式では、求めた補正候補点での位置および姿勢を形態チェックし、補正候補点でロボットが予期しないひっくり返るような動作をしないように必要な処置をしなければならないという不具合があった。
本発明は上記の事情に鑑みてなされたもので、その目的は、形態チェックを行わずとも、ロボットが予期しないひっくり返るような動作を行う恐れのないロボットの制御装置を提供することにある。
本発明では、各アームの回転角からロボット先端の位置および姿勢を求めることができること、つまり各アームの回転角はロボット先端の位置および姿勢を含んでいることを利用している。そして、実際にロボットを動かすに先立って、各アームの回転角を用いて連続移動軌跡を生成した際、補正教示点に設定された点を通る連続移動軌跡の各サンプリング時点における各アームの回転角データを、実際にロボットを動作させる際の目標回転角としてそのまま用いるので、ロボットの形態チェックをしなくと、ロボットが予期しない動作を行う恐れがない。
本発明の一実施形態における経路補正の原理説明図 補正教示点を求めるためのフローチャート 図2の各ステップにて使用する数式を示す図 サンプリング時点での目標位置の設定過程を示すもので、(a)は教示点を示す図、(b)はPTP制御方式の速度パターン図、(c)はCP制御方式の速度パターン図、(d)はサンプリング時点で設定される目標位置を示す図 ロボットの斜視図 制御装置を示すブロック図 公知の補正教示点を求めるためのフローチャート 図7の各ステップにて使用する数式を示す図その1 図7の各ステップにて使用する数式を示す図その2 (a)はロボット先端の1回転の定義を説明するための斜視図、(b)はひっくり返りを説明するための図
以下、本発明の一実施形態を図面に基づいて説明する。図5には、産業用ロボット装置1が示されている。この産業用ロボット装置1は、ロボット2と、このロボット2を制御する制御装置3と、この制御装置3に接続されティーチング作業を行なう際に使用するティーチングペンダント(ティーチング手段)4とから構成されている。このティーチングペンダント4は、各種の操作部4aおよび表示器4bを備えている。
ロボット2は、例えば6軸の垂直多関節型ロボットからなるもので、ベース5と、このベース5に第1軸Lc−1を中心に水平方向に旋回可能に支持されたショルダ部6と、このショルダ部6に第2軸Lc−2を中心に上下方向に旋回可能に支持された下アーム7と、この下アーム7に第3軸Lc−3を中心に上下方向に旋回可能に支持された第1の上アーム8と、この第1の上アーム8の先端部に第4軸Lc−4を中心に捻り回転可能に支持された第2の上アーム9と、この第2の上アーム9に第5軸Lc−5を中心に上下方向に回転可能に支持された手首10と、この手首10に第6軸Lc−6を中心に回転(捻り動作)可能に支持されたフランジ11とから構成されている。
ベース5、ショルダ部6、下アーム7、第1の上アーム8、第2の上アーム9、手首10、フランジ11は、ロボットにおけるアームとして機能し、ベース5を除く各アームは、下段のアームに対し関節、例えば回転関節によって順次回転可能に連結されている。なお、ロボット先端であるフランジ11には、ワークを把持するハンドや、視覚検査のために用いるカメラなどのエンドエフェクタ(図示せず)が取り付けられるようになっている。
そして、各アーム6〜11は、それぞれモータ12(図6参照)により減速装置を介して回転されるようになっている。なお、図6では、モータ12は1台しか示されていないが、実際には、各アーム6〜11に1台ずつ設けられているものである。
ロボット2の動作を制御するロボット制御装置3は、図6に示すように、CPUを主体とする制御部13と、記憶部14と、位置検出部15を備えている。制御部13は、産業用ロボット装置1の全体を統括制御するもので、この制御部13には、記憶部14および位置検出部15の他、前記ティーチングペンダント4およびモータ12の駆動回路16が接続されている。記憶部14は、各アーム6〜11を駆動するモータ12についての最大加速度(+α)、最大減速度(−α)、最高速度Vmaxなどのパラメータ、ロボット制御用の各種ソフトウエアが予め記憶されており、また、実際のロボット作業に際しては、ティーチングペンダント4により設定される動作プログラムやロボットを実際に動作させるに先立って生成されるロボット先端の移動軌跡情報などが記憶される。
位置検出部15には、各アーム6〜11の駆動源である各モータ12の回転軸(図示せず)に連結されたロータリエンコーダ(回転位置検出手段)17が接続されている。前記位置検出部15は、ロータリエンコーダ17から入力される回転検出信号に基づいてモータ12の回転角度(軸値)を検出し、その回転位置情報を制御部13に与える。制御部13は、各アーム6〜11のモータ12の回転角度情報から各アーム6〜11の回転角を演算し、各アーム6〜11の回転角を目標角度と比較してその差分に応じた電流指令値を駆動回路16に与える。すると、駆動回路16は、与えられた電流指令値に応じた電流をモータ12に供給し、これによりモータ12の回転が制御され、アーム6〜11が目標角度に回転される。なお、各アーム6〜11の回転角は、モータ12の回転数を減速装置の減速比で除することによって求めることができ、逆に、各アーム6〜11を所望角度回転させるには、各アーム6〜11の回転角度に減速装置の減速比を乗じた回転数で各モータ12を回転させれば良い。
ベース5および各アーム6〜11には、3次元の座標が規定されている。このうち、床面に据え付けられるベース5の座標系は、不動の座標系としてロボット座標(基準座標)とされるものである。アーム6〜11の座標系は、各アーム6〜11の先端部に規定されており、アーム6〜11の回転によりロボット座標上での位置と向きが変化する。記憶部には、ロボット座標上におけるショルダ部6の座標位置、ショルダ部6の座標上における下アーム7の座標位置、下アーム7の座標上における第1の上アーム8の座標位置、第1の上アーム8の座標上における第2の上アーム9の座標位置、第2の上アーム9の座標上における手首10の座標位置、手首10の座標上におけるフランジ11の座標位置、および各アーム6〜11の長さが記憶されている。
そして、制御部13は、各アーム6〜11の座標の位置と向きとを、各アーム6〜11の回転位置と各アーム6〜11の長さと各アーム6〜11の座標の相互位置関係から、座標変換の計算機能によりロボット座標上での位置と姿勢とに変換して認識することができるようになっている。なお、各アーム6〜11の姿勢は、各アーム6〜11に固有の座標軸上の単位ベクトルについてのロボット座標上での向きで表される。
また、逆に、CPU15は、動作プログラムからロボット先端であるフランジ11の座標のロボット座標上での位置と姿勢が与えられると、各アーム6〜11のモータ12の回転位置を制御することにより、各アーム6〜11の座標のロボット座標上での位置と姿勢を制御してフランジ11が動作プログラム通りの位置と姿勢を取るように各アーム6〜11を動作させることができるようにもなっている。
ところで、ロボット2を動作させるには、まず、ティーチングペンダント4をティーチングモードに設定し、ロボット先端が通過すべき点(教示点)の位置と、その位置で取るべき姿勢を教示する。このとき、教示点の位置と姿勢は、ロボット先端であるフランジ11のロボット座標でのxyz座標値とフランジ11の固有座標のオリエントベクトルおよびアプローチベクトルのロボット座標上での向き(ロボット座標上の値)で表される。教示点には、ロボット先端の移動開始点および移動終了点を含み、教示点の位置および姿勢は、教示データ記憶手段としての制御装置3の記憶部14に記憶される。図4(a)は教示点のうち、移動開始点および移動終了点の間の途中の3つの教示点Pn,Pn+1,Pn+2を示しており、Pnが移動開始点側の教示点、Pn+2が移動終了点側の教示点である。
教示作業を終了した後、ティーチングペンダント4を学習モードに設定する。すると、制御装置3の制御部13が図2に示されたフローチャートに従ってロボット先端の連続移動軌跡を演算する。この図2のフローチャートの概略を述べれば、まず、連続移動軌跡が当初教え込まれた教示点を用いて演算され、その演算された連続移動軌跡が教示点からずれていた場合には、教示点の位置を補正し、補正された教示点を用いて連続移動軌跡を再度演算するという動作を、連続移動軌跡が当初教え込まれた教示点を通過するようになるまで繰り返す。そして、最終的に求められた連続移動軌跡を辿るようにロボットの動作を制御すれば、実際のロボット先端の移動軌跡が当初教え込まれた教示点を通過するようになるというものである。
さて、学習モードに入って図2のフローチャートを実行し始めると、制御部(教示点補正手段)13は、まず、記憶部14に記憶されている複数の教示点の位置および姿勢のデータ(教示点データ)を読み出す(ステップA1)。この教示点データは、図3の式1に示すように、ロボット座標上での位置と姿勢よって表されているので、次に制御部(回転角取得手段)13は、教示点データを逆変換して各教示点(移動開始点,…,Pn,Pn+1,Pn+2,…,移動終了点)における各アーム6〜11の回転角度(軸値)を求める(ステップA2:図3の式2)。この逆変換時に、解が2つ求まる場合があるが、本実施形態では、+側と−側のうち、例えば+側を解として採用するようにプログラミングされており、これにより、解が2つ存在することによって制御不能に陥ることが防止される。
続いて、制御部(移動軌跡取得手段)13は、この軸値を用いて連続移動軌跡を生成する(ステップA3)。なお、以下では、連続移動軌跡の生成を図4に示す3つの教示点Pn,Pn+1,Pn+2に適用して説明する。連続移動軌跡の生成は、ロボット先端を、PTP制御方式によって移動開始点側の教示点Pnから次の教示点Pn+1に直線移動させる場合の角速度パターン、同じく教示点Pn+1から次の教示点Pn+2に直線移動させる場合の角速度パターンを求めることから始められる。角速度パターンは、三角パターン或は台形パターンに生成される。図4(b)は、教示点Pnと教示点Pn+1との間の角速度パターンおよび教示点Pn+1と教示点Pn+2との間の角速度パターンが共に台形パターンで生成された例を示している。勿論、このような2つの角速度パターンは、各アーム6〜11毎に生成される。
角速度パターンは、基本的には台形パターンとなる。台形パターンは、加速域、定速域、減速域からなり、その台形によって囲まれた面積が2つの教示点間の距離となるように、加速域、定速域、減速域の時間T1,T2,T3が決められる。この場合の加速域および減速域での加速度および減速度は記憶部14に予め記憶されている加速度α、減速度−α、最高速度Vmaxが用いられる。そして、2つの教示点間の距離が短い場合には、加速域の終了時点でVmaxに達すれば、定速域がなく直ちに減速域に入り、或は、加速域でVmaxに達する前に減速域に入ることがあり、この場合には、角速度パターンは三角パターンとなる。
次に、制御部13は、教示点Pnと教示点Pn+1との間の角速度パターン、教示点Pn+1と教示点Pn+2との間の角速度パターンを使用して、ロボット先端をCP制御方式により教示点Pnから教示点Pn+1を経由してPn+2まで連続移動(パス動作)させる場合の角速度パターンを生成する。このパス動作用の角速度パターンは、PTP制御方式によるものとして求めた2つの角速度パターンの形態、つまり、2つとも台形パターンであるか、一方が台形パターンで他方が三角パターンであるか、或は2つとも三角パターンであるか、更には加速域、定速域、減速域の所要時間によってどのような角速度パターンとするかが決められている。図4(c)は(b)に示されている2つの角速度パターンの減速域と加速域の一部をラップさせるようにしてパス動作用の角速度パターンを生成した例を示している。
パス動作用の角速度パターンを生成すると、制御部13は、その角速度パターンを所定のサンプリング時間(Δt)毎に分けて、各サンプリング時点毎(…,tn,tn+1,…)に軸値(…,θn,θn+1,…)を求める(図4(c),(d)参照)。このサンプリング時点毎の軸値によってパス動作用の連続移動軌跡が生成されたこととなる。図1(a)に、生成された連続移動軌跡L0を示す。
連続移動軌跡を生成すると、次に、制御部(近傍点探索手段)13は、連続移動軌跡の各点(サンプリング時点毎の軸値)のうちから、ステップA2で求めたPn+1の軸値に最も近い点を探索し、この点を近傍点とする(ステップA4)。この近傍点は図3の式3によって表される。
次に、制御部(比較手段、判定手段)13は、Pn+1の軸値と近傍点の軸値との差を、図3の式4により求め、この差が予め定められた閾値以下であるか否かを判定する(ステップA5)。
差が閾値を超えていた場合、制御部13は、次に、近傍点における各アーム6〜11の軸値と教示点Pn+1における各アーム6〜11の軸値との差に補正係数αを乗じて補正量を求める(ステップA6:図3の式5)。なお、αは経験的に定められる所定値である。
次に、制御部13は、教示点Pn+1における各アーム6〜11の軸値に上記補正量を加えた点(補正候補点P′n+1)における各アーム6〜11の軸値を求める(ステップA7)。この補正量を教示点Pn+1の軸値に加える演算式は、図3の式6に示されている。図1(b)には、求めた補正候補点をP′n+1で示している。
続いて、制御部13は、前述のステップA3に戻り、教示点Pn+1を補正候補点P′n+1に替えて前述したと同様に教示点Pn、補正候補点P′n+1、教示点Pn+2を用いて連続移動軌跡を生成する。新たに生成された連続移動軌跡を図1(c)にL1で示している。そして、この連続移動軌跡の各サンプリング時点の軸値のうち教示点Pn+1に最も近い軸値を近傍点とし、教示点Pn+1と近傍点との軸値の差を求め、その差が閾値以下であるか否かを判定する(ステップA4、ステップA5)。
差が閾値を超えていた場合には、制御部(再試行実施手段)13は、再度教示点Pn+1と近傍点の軸値の差に補正係数αを乗じて補正量を求め、前回の補正候補点P′n+1における各アーム6〜11の軸値に上記補正量を加え新たな補正候補点P′n+1を求める。そして、教示点Pn、新たな補正候補点P′n+1、教示点Pn+2の軸値を用いて連続移動軌跡を生成し、近傍点を求めて当該近傍点と教示点Pn+1の差が閾値内であるか否かを判定する、という動作を近傍点と教示点Pn+1の軸値の差が閾値内となるまで繰り返す(ステップA6,7,ステップA3,4,5)。
そして、近傍点と教示点Pn+1の軸値の差が閾値内となった場合(ステップA5で「YES」)、制御部13は、その近傍点を補正教示点と定め、教示点Pn、教示点Pn+1に変えて補正教示点、教示点Pn+2を用いて求めた連続移動軌跡の各サンプリング時点における各アーム6〜11の軸値を、記憶部14に目標値生成データとして記憶させる(ステップA8)。図1(d)に、近傍点が教示点Pn+1と閾値以下に近付いた連続移動軌跡Lnを示している。
以上により学習モードを終了する。そして、実際にロボット2を動作させる場合、ロボット動作制御手段としての制御部13は、記憶部14に記憶された目標値生成データからサンプリング時点毎に各アーム6〜11の軸値を読み出してこれを目標軸値とし、各アーム6〜11の軸値が目標軸値となるように各モータ12を制御する。これにより、実際にロボットを動作させた時、ロボット先端の連続移動軌跡が教示点Pn、Pn+1、Pn+2を通過するようになる。
このように本実施形態によれば、学習モード時に、座標上の値で記憶された教示点データを逆変換することによって教示点の位置と姿勢を各アーム6〜11の軸値に変換し、そして、連続移動軌跡を同じく軸値により求める。そして、連続移動軌跡の各点のうちから教示点に最も近い近傍点を探索する場合に、連続移動軌跡の各点における各アーム6〜11の軸値と、教示点における各アーム6〜11の軸値と比較するので、図7に示した特許文献1の制御方式とは異なり、連続移動軌跡の各点をロボット座標上の位置と姿勢に変換する必要がなく、制御部13による演算を簡素化することができる。
しかも、実際にロボットを動かす場合に、学習モードにおいて軸値で求めた連続移動軌跡の各点における各アーム6〜11の軸値を、そのまま各サンプリング時点における各アーム6〜11の目標軸値として用いて、各アーム6〜11のモータ12を制御するので、学習モードにおいて、軸値で求められている補正教示点を順変換してロボット座標上の位置と姿勢に変換し、そして、実際にロボットを動かす際、サンプリング時点毎の目標軸値を求めるために、教示点Pn、補正教示点、教示点Pn+2を逆変換する特許文献1の制御方式のものとは異なり、逆変換の必要がないことから、学習モードにおいて形態チェックの必要がなく、形態チェックをしておかなくとも、逆変換の解が2つ求まるといった不具合は本来的に生じない。
ところで、特許文献1の制御方式では、図10に示すように、フランジの回転位置が例えば形態1で定義されている場合に、連続移動軌跡上の隣接する2点(a,b)が−180度と+180度との境界を越えることがあり、この場合には、a位置(−179度)からb位置(+179度)に回転するとき、フランジがa位置から0°を経由してb位置に至るため、フランジが急に1回転に近い角度回転するという予期しないひっくり返り動作を行う恐れがある(既述)。
このひっくり返りを防止するには、フランジの回転位置を、a位置では形態1で制御し、b位置では形態2で制御するように変更すればよい。すると、a位置は形態1で制御され、b位置は形態2で制御されるので、フランジはa位置からb位置へ2度だけ回転するだけでよいこととなる。しかしながら、このようにするためには、連続移動軌跡を演算しながら補正教示点を求めて行く過程で、ロボットの形態チェックを行わねばならない。 この形態チェックは、連続移動軌跡の各点における各アームの軸値から座標上の位置と姿勢に変換して逐次チェックしてゆかなければならず、制御装置の負担が非常に重くなる。
これに対し、本実施形態では、学習モードで見つけた補正教示点を含む連続移動軌跡の各点における各アームの軸値を、実際にロボット2を動かす際の目標軸値としてそのまま使用するので、図10に示す形態1で1回転を定義したり、形態2で1回転を定義したりしてフランジ11の回転位置を制御せずとも済む。このため、a位置からb位置への移動に際しても、b位置は−181度としてa位置(−179度)に連続する軸値で与えられているので、学習モードのときに形態チェックを行わずとも、実際にロボット2を動かした際、フランジ11がひっくり返るといった予期しない動作が起きる恐れがない。
なお、本発明は上記し且つ図面に示す実施形態に限定されるものではなく、以下のような拡張或は変更が可能である。
アームの軸値は、モータの回転角に比例するので、アームの軸値をモータの回転角に置換して演算するようにしても良い。
ティーチングペンダント4によって教示点の位置および姿勢を教示する場合、ロボット座標のxyz座標値とフランジ11の座標のxyz座標軸のベクトルのロボット座標上の向きで記憶部14に記憶させるのではなく、その位置および姿勢のデータを各アーム6〜11の軸値で記憶させるようにしても良い。このようにした場合には、ステップA1で記憶部14に記憶されている各アーム6〜11の回転角を取得し、そして、ステップA3の各アーム6〜11の軸値を用いて連続移動軌跡を生成するステップへ移行する。従って、ステップA2のステップは省略される。
6軸の垂直多関節型ロボットに限られない。
図面中、3は制御装置、4はティーチングペンダント、5はベース、6はショルダ部、7は下アーム、8は第1の上アーム、9は第2の上アーム、10は手首、11はフランジ(ロボット先端)、12はモータ、13は制御部、14は記憶部(教示データ記憶手段、ロボット動作制御手段、教示点補正手段、回転角取得手段、移動軌跡取得手段、近傍点探索手段、比較手段、判定手段、再試行実施手段)、15は位置検出部、16は駆動回路、17はロータリエンコーダを示す。

Claims (1)

  1. 複数の回転動作するアームを備え、各アームをそれぞれの駆動モータにより駆動するロボットの制御装置において、
    ロボット先端が通過するとして教示された3点以上の教示点の位置および姿勢を座標上の値または前記各アームの回転角にて示される教示データとして記憶する教示データ記憶手段と、
    前記ロボット先端が前記教示点のうち移動開始点となる教示点から移動終了点となる教示点に向かって連続的に移動するパス動作を行うように教示データを用いて前記ロボットを制御するロボット動作制御手段と、
    前記パス動作を行う前記ロボット先端の連続移動軌跡が前記途中の教示点に重なるように、当該途中の教示点の教示データを前記各アームの回転角を用いて補正して補正教示点を求めるとともに、当該補正教示点の教示データを用いてロボット動作制御手段前記パス動作の制御を行わせる教示点補正手段とを備え、
    前記教示点補正手段は、
    前記教示データ記憶手段に教示データが前記座標上の値で記憶されているときには当該教示データ記憶手段に記憶されている教示データを逆変換して前記教示点での前記各アームの回転角を求め、または前記教示データ記憶手段に教示データが前記各アームの回転角で記憶されているときには当該教示データ記憶手段から前記教示点での前記各アームの回転角を取得する回転角取得手段と、
    前記パス動作をさせたとした場合における前記ロボット先端の前記連続移動軌跡を、教示データに基づいて求める移動軌跡取得手段と、
    前記移動軌跡取得手段が取得した前記連続移動軌跡上の各点のうち、前記各アームの回転角前記途中の教示点の前記各アームの回転角に最も近い点を探索し、当該最も近い点を近傍点とする近傍点探索手段と、
    前記近傍点探索手段が探索した前記近傍点での前記各アームの回転角前記回転角取得手段が取得した前記途中の教示点での前記各アームの回転角と比較し、それらの回転角の差を比較結果として求める比較手段と、
    前記比較手段による比較結果に基づいて、前記近傍点と前記教示点との回転角の差が予め定められている閾値以下であるかを判定し、閾値以下であれば当該近傍点を前記補正教示点に設定すると判定する判定手段と、
    前記判定手段が前記近傍点を前記補正教示点に設定しなかった場合、前記近傍点の前記各アームの回転角と当該近傍点に対応する教示点の前記各アームの回転角との差に基づいて補正量を求め、当該補正量を前記連続移動軌跡を求めた教示点の回転角に加算することで補正候補点を求め、当該補正候補点の教示データを用いて前記移動軌跡取得手段に前記連続移動軌跡を求める動作を実行させるとともに、近傍点探索手段による前記近傍点の探索、前記比較手段による回転角の差の比較、および前記判定手段による閾値以下であるかの判定ならびに補正教示点に設定するかの判定を再度行わせる再試行実施手段と、を備え、
    前記ロボット動作制御手段に、当該補正教示点の回転角にて示される教示データを用いて前記パス動作の制御を行わせることを特徴とするロボットの制御装置。
JP2009217253A 2009-09-18 2009-09-18 ロボットの制御装置 Active JP5458769B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009217253A JP5458769B2 (ja) 2009-09-18 2009-09-18 ロボットの制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009217253A JP5458769B2 (ja) 2009-09-18 2009-09-18 ロボットの制御装置

Publications (2)

Publication Number Publication Date
JP2011062793A JP2011062793A (ja) 2011-03-31
JP5458769B2 true JP5458769B2 (ja) 2014-04-02

Family

ID=43949600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009217253A Active JP5458769B2 (ja) 2009-09-18 2009-09-18 ロボットの制御装置

Country Status (1)

Country Link
JP (1) JP5458769B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017096605A1 (en) * 2015-12-11 2017-06-15 Abb Schweiz Ag Robot off-line programming method and appartus using the same

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886359B2 (en) 2011-05-17 2014-11-11 Fanuc Corporation Robot and spot welding robot with learning control function
JP5383756B2 (ja) * 2011-08-17 2014-01-08 ファナック株式会社 学習制御機能を備えたロボット
JP5759811B2 (ja) * 2011-07-11 2015-08-05 日本車輌製造株式会社 位置補正装置およびレーザ加工機
JP6281351B2 (ja) * 2014-03-19 2018-02-21 株式会社デンソーウェーブ ロボットの制御方法、ロボットの制御装置
JP6252273B2 (ja) * 2014-03-19 2017-12-27 株式会社デンソーウェーブ ロボットの制御方法、ロボットの制御装置
JP6252278B2 (ja) * 2014-03-20 2017-12-27 株式会社デンソーウェーブ ロボットの制御方法、ロボットの制御装置
JP5985087B1 (ja) * 2015-04-27 2016-09-06 三菱電機株式会社 数値制御装置
CN113125463B (zh) * 2021-04-25 2023-03-10 济南大学 一种用于汽车轮毂焊缝缺陷检测的示教方法及装置
DE112021007731T5 (de) * 2021-09-27 2024-03-07 Hitachi High-Tech Corporation Aufgabenlehrverfahren und aufgabenlehrsystem

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0746288B2 (ja) * 1987-10-19 1995-05-17 株式会社日立製作所 手先視覚を持つロボットの制御方法とその装置
JPH0732279A (ja) * 1993-07-16 1995-02-03 Fanuc Ltd ロボット位置教示方式
JP3316967B2 (ja) * 1993-09-22 2002-08-19 豊田工機株式会社 ロボットの制御装置
JPH1148176A (ja) * 1997-08-08 1999-02-23 Yaskawa Electric Corp ロボット位置教示装置
JP4494247B2 (ja) * 2005-02-15 2010-06-30 三菱電機株式会社 ロボットの制御装置および制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017096605A1 (en) * 2015-12-11 2017-06-15 Abb Schweiz Ag Robot off-line programming method and appartus using the same
US10759050B2 (en) 2015-12-11 2020-09-01 Abb Schweiz Ag Robot off-line programming method and apparatus using the same

Also Published As

Publication number Publication date
JP2011062793A (ja) 2011-03-31

Similar Documents

Publication Publication Date Title
JP5458769B2 (ja) ロボットの制御装置
JP5701055B2 (ja) 7軸多関節ロボットの制御方法、制御プログラム及びロボット制御装置
JPH09265313A (ja) ロボットの速度演算装置、およびロボットの速度演算方法
JP2010201592A (ja) ロボットの動作経路生成方法
JP2007136590A (ja) 冗長関節部を有する冗長ロボットの制御装置および制御方法
WO1989008878A1 (en) Method of controlling tool attitude of a robot
JP5228783B2 (ja) ロボットの原点復帰装置
JP4888374B2 (ja) ロボットの動作制御装置及びその動作制御方法
WO2018016568A1 (ja) ロボットの運転方法、コンピュータプログラム、及びロボットシステム
JP2012192518A (ja) 冗長関節部を有する冗長ロボットの制御装置および制御方法
JP2010076058A (ja) 多関節型マニピュレータの制御装置及び多関節型マニピュレータの手先動作軌道生成方法
KR101787865B1 (ko) 다관절 링크 기구의 역운동학 해법, 및 이 역운동학 해법을 이용한 교시 데이터 작성 장치
JP5464998B2 (ja) ロボットアームの干渉回避方法
JP5382148B2 (ja) ロボットの動作制御装置及びその動作制御方法
JP2016040067A (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP2010036293A (ja) 多関節ロボット
JP6252273B2 (ja) ロボットの制御方法、ロボットの制御装置
JP4992702B2 (ja) ロボットの動作制御装置及びその動作制御方法
JP2014050960A (ja) ロボットの制御方法
JP6252278B2 (ja) ロボットの制御方法、ロボットの制御装置
JP6273783B2 (ja) ツール先端点情報補正プログラム、ツール先端点情報補正装置、及び、ツール先端点情報補正方法
WO2023135762A1 (ja) 制御装置、教示装置、及び機械システム
JP5939505B2 (ja) ロボットハンド装置と制御方法
JP7424097B2 (ja) ロボットの制御装置及びロボットの制御方法
US20230226682A1 (en) Method for Teaching Torch Orientation for Robotic Welding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120712

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130930

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131230

R150 Certificate of patent or registration of utility model

Ref document number: 5458769

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250