JP6252273B2 - ロボットの制御方法、ロボットの制御装置 - Google Patents

ロボットの制御方法、ロボットの制御装置 Download PDF

Info

Publication number
JP6252273B2
JP6252273B2 JP2014056605A JP2014056605A JP6252273B2 JP 6252273 B2 JP6252273 B2 JP 6252273B2 JP 2014056605 A JP2014056605 A JP 2014056605A JP 2014056605 A JP2014056605 A JP 2014056605A JP 6252273 B2 JP6252273 B2 JP 6252273B2
Authority
JP
Japan
Prior art keywords
posture
vector
rotation direction
point
absolute value
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.)
Expired - Fee Related
Application number
JP2014056605A
Other languages
English (en)
Other versions
JP2015178157A (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 JP2014056605A priority Critical patent/JP6252273B2/ja
Publication of JP2015178157A publication Critical patent/JP2015178157A/ja
Application granted granted Critical
Publication of JP6252273B2 publication Critical patent/JP6252273B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、多関節型のロボットを制御するためのロボットの制御方法、ロボットの制御装置に関する。
多関節型のロボットにおいて、ユーザにより教示された複数の教示点間を曲線で補間し、その曲線に沿ってロボットを回転駆動する制御が行われている。具体的には、例えば始点、経由点および終点が教示された場合にそれら3つの教示点間を曲線で補間する制御が行われている。このような制御を可能とすることで、小数の教示点を設定するだけでロボットの動作軌跡全体を設定できるというメリットを受けることができる。
さて、産業用途においては、ロボットは、一般的に繰り返し作業を行うために設けられている。その場合、繰り返し作業一回当たりの動作時間を短縮することができれば、生産性を向上させることができる。そのため、例えば特許文献1のものは、始点から終点までロボットを回転駆動させる際の所要時間が最短となるように制御を行っている。
特開平11−198072号公報
ところで、ロボットは、例えばフランジ構造の手先を回転駆動するとき、その回転方向を2つ設定することができる。具体的には、現在位置から例えば+90°となる回転位置まで回転駆動する際には、現在位置から+90°回転駆動する回転方向と、現在位置から−270°回転駆動する回転方向とが存在している。そして、いずれの回転方向で回転駆動されたとしても、最終的には、手先は現在位置から+90°の回転位置まで回転駆動されることになる。
しかしながら、従来では、上記したように所要時間を短縮するために、始点から終点までの姿勢の変化量が少なくなる回転方向が選択されていた。つまり、従来では、始点、経由点および終点の3点が教示された場合であっても、経由点での姿勢を考慮せずに、始点での姿勢から終点での姿勢まで回転駆動する際の回転量が小さくなる回転方向が選択されていた。その結果、180°を超えるような回転を行うことができず、実際に回転駆動されたときの経由点での姿勢が、教示された姿勢から大きくずれてしまうことがあった。
この場合、教示点の数を増やせば姿勢を細かく制御することが可能であるものの、そのようにしてしまうと、小数の教示点を設定するだけでロボットの動作軌跡全体を設定できるという補間による制御を行うメリットがなくなってしまう。
本発明は、上記事情に鑑みてなされたものであり、その目的は、補間による制御を行う場合において、教示点の数が少なくとも経由点での姿勢を教示されて姿勢に近づけることができるロボットの制御方法、ロボットの制御装置を提供することにある。
請求項1記載のロボットの制御方法の発明では、教示された始点、経由点および終点の3点の教示点間を曲線で補間して多関節型のロボットの動作軌跡を求める際に、始点での姿勢を示すベクトルのうち対象とする対象ベクトルSと、始点から終点までの姿勢変化を表すオイラーベクトルEVとの外積S×EVを求め、対象ベクトルSと外積S×EVとがなす平面Hを求める。続いて、経由点での姿勢を示すベクトルのうち対象となる対象ベクトルKVを平面Hに射影した正射影ベクトルKV’と、終点での姿勢を示すベクトルのうち対象となる対象ベクトルDを平面Hに射影した正射影ベクトルD’とを求める。そして、対象ベクトルSと正射影ベクトルD’とがなす角αと、対象ベクトルSと正射影ベクトルKV’とがなす角βとを求める。これらα、βが、回転方向を判定する際の基礎データとなる。
このときαの絶対値がβの絶対値よりも大きく、且つ、αとβとの積が正であるか否かを判定する。このとき、αの絶対値がβの絶対値よりも大きければ、始点での姿勢から終点での姿勢まで最短で変化させる途中に経由点での姿勢が存在することになる。
また、基礎データであるαおよびβを上記したようにオイラーベクトルの正射影ベクトルから求めている。オイラーベクトルは、回転軸となるベクトル成分と、その回転軸周りの回転量成分とによりあらわされる。このため、αとβとの積が負であるということは、回転軸に対するαの回転方向と回転軸に対するβの回転方向とが一致していないこと、すなわち、回転量成分だけ回転させる際の回転方向が逆であることを示している。そして、回転方向が逆であるということは、そもそも姿勢変化というのが360°の値で表現されることから、始点から終点までを最短動作させた場合に中継点の姿勢を経由しない(つまり、教示された姿勢に近い姿勢が出現しない)ことになる。
そのため、αの絶対値がβの絶対値よりも大きく、且つ、αとβとの積が正である場合には、始点から終点まで姿勢を変化させた際の姿勢の変化量が相対的に小さくなる回転方向、つまり、始点から終点まで最短で回転駆動する場合と同じ向きの回転方向を、実際にロボットを回転駆動する際の回転方向に設定する。これにより、始点から終点までの動作の中に中継点の姿勢に近い姿勢を含むことができ、教示された姿勢に近い姿勢を取ることができる。
一方、αの絶対値がβの絶対値よりも小さい場合には、始点での姿勢から終点での姿勢まで最短で変化させる途中に経由点での姿勢が存在しないことになる。また、αとβとの積が負である場合には、上記したようにそもそもの回転方向が逆になっている。そのため、αの絶対値がβの絶対値よりも小さい場合、あるいは、αとβとの積が負である場合には、始点から終点まで姿勢を変化させた際の姿勢の変化量が相対的に大きくなる回転方向、つまり、始点から終点まで最短で回転駆動する場合とは逆向きの回転方向を、実際にロボットを回転駆動する際の回転方向に設定する。これにより、始点から終点までの動作の中に中継点の姿勢に近い姿勢を含むことができ、教示された姿勢に近い姿勢を取ることができる。
このように、正射影ベクトルのなす角の大きさに基づいて回転方向を設定することで、遠回りの回転方向が選択肢に組み込まれ、180°を超えるような回転が可能となる。そして、実際に回転駆動する際の回転方向を経由点での姿勢に近づける方向に設定することから、教示された経由点での姿勢に近くなる。その結果、補間による制御を行う場合において、経由点での姿勢を教示された姿勢に近づけることができる。つまり、経由点での姿勢が教示された姿勢から大きくずれることを抑制することができる。
この場合、教示点の数を増やすことなく経由点での姿勢を教示された姿勢に近づけることができるため、小数の教示点を設定するだけでロボットの動作軌跡全体を設定できるというメリットが損なわれることがない。
請求項2記載のロボットの制御方法の発明では、手先軸の姿勢を表す3次元ベクトルの全てを対象ベクトルとして回転方向を順次判定する。つまり、手先軸の姿勢が直交座標系におけるアプローチベクトル、オリエントベクトルおよびノーマルベクトルで表される場合、各ベクトルについて、上記した請求項1記載の制御方法を適用して回転方向の判定を順次行う。これにより、例えばアプローチベクトルに対する回転方向の判定と、オリエントベクトルやノーマルベクトルに対する回転方向の判定とが異なるような状態において、オリエントベクトルやノーマルベクトルに対する回転方向の判定を考慮した上で、実際のロボットの回転方向を設定することができる。
このとき、いずれかの対象ベクトルにおいて姿勢の変化量が相対的に大きくなる回転方向が設定された場合には、以降の判定を省略する。以降の判定を省略するので、不必要に判定時間が長期化することがない。
請求項3記載のロボットの制御装置の発明は、上記した請求項1記載のロボットの制御方法を実現するために、ベクトル取得手段、判定手段、および設定手段を備えている。これにより、上記した請求項1記載のロボットの制御方法を採用したロボットの制御装置を実現できる。したがって、請求項1記載のロボットの制御方法で述べたような効果を得ることができる。
請求項4記載のロボットの制御装置の発明では、姿勢を示すベクトルの全てを対象ベクトルとして回転方向の判定を順次行う一方、設定手段によりいずれかの対象ベクトルにおいて姿勢の変化量が相対的に大きくなる回転方向が設定された場合には、以降の判定を省略する。これにより、請求項2記載のロボットの制御方法で述べたような効果を得ることができる。
本発明の一実施形態によるロボットの構成を概略的に示す図 従来の補間制御におけるロボットの姿勢の変化を模式的に示す図 ロボットの回転方向を模式的に示す図 姿勢の異なる2つの座標系における各ベクトルを模式的に示す図 制御装置による回転方向設定処理の流れを示す図 制御装置による回転方向判定処理の流れを示す図 回転方向の判定ができない状態の一例を模式的に示す図 回転方向を判定するアルゴリズムをモデル化した状態を模式的に示す図 回転方向設定処理を行った場合の経由点姿勢を模式的に示す図
以下、本発明の一実施形態について、図1から図9を参照しながら説明する。
図1に示すように、ロボットシステム1は、多関節型のロボット2、ロボット2を制御するコントローラ3、コントローラ3に接続されたティーチングペンダント4を備えている。このロボットシステム1は、一般的な産業用に用いられている。
ロボット2は、いわゆる6軸の垂直多関節型ロボットとして周知の構成を備えており、ベース5上に、Z方向の軸心を持つ第1軸(J1)を介してショルダ6が水平方向に回転可能に連結されている。ショルダ6には、Y方向の軸心を持つ第2軸(J2)を介して上方に延びる下アーム7の下端部が垂直方向に回転可能に連結されている。下アーム7の先端部には、Y方向の軸心を持つ第3軸(J3)を介して第一上アーム8が垂直方向に回転可能に連結されている。第一上アーム8の先端部には、X方向の軸心を持つ第4軸(J4)を介して第二上アーム9が捻り回転可能に連結されている。第二上アーム9の先端部には、Y方向の軸心を持つ第5軸(J5)を介して手首10が垂直方向に回転可能に連結されている。手首10には、X方向の軸心を持つ第6軸(J6)を介してフランジ11が捻り回転可能に連結されている。以下、第6軸を、便宜的に手先軸とも称する
ベース5、ショルダ6、下アーム7、第一上アーム8、第二上アーム9、手首10およびフランジ11は、ロボット2のアームとして機能し、アームの先端となるフランジ11には、図示は省略するが、ハンド(エンドエフェクタとも呼ばれる)が取り付けられる。ハンドは、例えば図示しないワークを保持して移送したり、ワークを加工する工具等が取り付けられたりする。ロボット2に設けられている各軸(J1〜J6)には、それぞれに対応して駆動源となるモータ(図示省略)が設けられている。
コントローラ3は、ロボットの制御装置に相当し、図示しないCPU、ROMおよびRAM等で構成されたコンピュータからなる制御部においてコンピュータプログラムを実行することで、ロボット2を制御している。具体的には、コントローラ3は、インバータ回路等から構成された駆動部を備えており、各モータに対応して設けられているエンコーダで検知したモータの回転位置に基づいて例えばフィードバック制御によりモータを駆動する。このコントローラ3は、詳細は後述するが、ベクトル取得手段、判定手段、設定手段を構成している。
ティーチングペンダント4は、例えば概ね略矩形箱状に形成されており、ユーザが所持したまま操作可能な程度の大きさに形成されている。このティーチングペンダント4には、各種キースイッチやタッチパネル等が設けられており、ユーザは、それらキースイッチやタッチパネル等を用いてティーチングを行う。
このような構成のロボットシステム1では、ロボット2を制御する際の基準となる座標系が設定されている。本実施形態の場合、ベース5に対応する座標系が、基準座標系Σとなる。この基準座標系Σは、ロボット2がどのような姿勢を取ったとしても変化することがない座標系である。この基準座標系Σには、互いに直交するX軸、Y軸およびZ軸が設定されている。なお、Z軸は設置面に垂直な軸となっている。
また、ロボット2では、手先軸(J6)に対応する座標系Σが設定されている。この座標系Σは、フランジ11の向きを手先軸の原点を基準として示す座標系であり、互いに直交するX軸、Y軸およびZ軸が設定されている。このうち、Z軸は、手先軸と同軸に設定されている。つまり、Z軸の向きが、フランジ11の向き、つまり、手先の向きを示すことになる。
また、ロボット2の姿勢を表す際には、基準座標系Σからみた手先の向きを表すベクトルが用いられる。具体的には、座標系ΣのX軸方向を表す3次元ベクトルであるノーマルベクトル(N)、基準座標系Σからみた座標系ΣのY軸方向を表す3次元ベクトルであるオリエントベクトル(O)、および、基準座標系Σからみた座標系ΣのZ軸方向を表す3次元ベクトルであるアプローチベクトル(A)が制御に用いられる。
これら各ベクトルは、以下の(1)式〜(3)式にて表される。
Figure 0006252273
上記した(1)式〜(3)式に付されているTは、以下の(4)式に示すように、基準座標系Σから座標系Σへの座標変換を行う4行4列の行列であり、同次変換行列と称される。この同次変換行列は、ロボット2の手先の位置と姿勢を表すために用いられる。
Figure 0006252273
なお、(4)式に示されているRは、ノーマルベクトル、オリエントベクトルおよびアプローチベクトルを纏めた3行3列の行列であり、R=(N O A)として表される。また、(4)式に示されているPは、座標系Σの原点の位置を基準座標系Σで表した3次元ベクトルである。
ここで、始点、経由点および終点の3点が教示点として示された場合における従来の補間による制御について、図2を参照しながら説明する。以下、複数の教示点間を曲線にて補間する制御を、便宜的に補間制御と称する。なお、この補間制御は、一般的には円弧制御とも称されるが、必ずしも円弧に限らず、スプライン曲線等で補間されることもある。
例えば図2(a)に示すように、互いに異なり、且つ、直線上にない始点(K1)、経由点(K2)および終点(K3)の3点が、ユーザにより教示点として設定されたとする。このとき、各教示点での姿勢は、図2(b)に示したようになっているものとする。なお、図2(b)では、説明の簡略化のために、K1〜K3におけるアプローチベクトル(A1〜A3)にのみ符号を付している。以下、便宜的に、始点での姿勢を始点姿勢と称し、終点での姿勢を終点姿勢と称し、経由点での姿勢を経由点姿勢と称する。
このとき、従来の補間制御では、図2(c)に示すように、経由点姿勢を考慮せずに、始点姿勢から終点姿勢となるまでの時間が最短となるようにロボット2を回転駆動していた。その結果、図2(d)に示すように、回転駆動される際の経由点のアプローチベクトル(A4)が、図2(a)に示した教示された経由点のアプローチベクトル(A2)と一致しない状態、つまり、回転駆動した際の経由点姿勢が教示された姿勢から大きくずれた状態となることがあった。
これは、ロボット2を回転駆動する際には、その回転方向が2つ存在するためである。例えば、図3(a)に示すように、手先軸のアプローチベクトルがA1である始点姿勢から、アプローチベクトルがA3である終点姿勢となるように回転駆動する場合を考えてみる。この場合、始点から終点まで回転駆動する回転方向としては、相対的に回転量が少なく、回転駆動に要する時間が最短時間となる姿勢回転方向D1(以下、近回りと称する)と、相対的に回転量が多く始点から終点まで回転駆動するのに要する最短時間とはならない姿勢回転方向D2(以下、遠回りと称する)とが存在する。なお、図3では、説明の簡略化のために、アプローチベクトルA1、A3の基点を重ねている。
このとき、従来では、始点姿勢と終点姿勢とだけを考慮し、始点から終点まで回転駆動させたときの時間が最短時間となるように、近回りが選択されていた。その結果、例えば図3(b)に示すように、実際に回転駆動されたときの経由点でのアプローチベクトル(A4)が、教示された経由点でのアプローチベクトル(A2)に対して例えば逆向きになる等、経由点での姿勢が大きくずれるおそれがあった。そして、ロボット2の手先にはツールが取り付けられることから、手先の向きがずれてしまうと、ツールの向きもずれてしまう。その結果、ワークが意図しない形状に加工されたりするおそれがあった。この場合、アプローチベクトルに限らず、後述する図4に示すようなノーマルベクトルやオリエントベクトルが変化する場合には、同様に教示された姿勢から大きくずれる可能性があった。
また、教示点の数を増やし、ロボット2の軌跡を細かく制御することで、上記したずれが生じることを防止することができると考えられるが、そのような対処方法は、少ない教示点を設定することで軌跡全体を設定できるという補間制御の意義が薄れてしまう。
そこで、本実施形態では、補間制御を行う場合において、実際に回転駆動されたときの経由点姿勢とユーザにより教示された経由点姿勢とが大きくずれることを抑制している。
まず、姿勢行列を用いて2つの座標間の姿勢変化を表す手法について、図4を参照しながら説明する。図4に示すように、基準座標系Σに任意の2点が存在し、一方が座標系ΣF1で表される例えば始点であり、他方が座標系ΣF2で表される例えば終点であるとする。このとき、始点からみた終点の姿勢行列をF1F2とすると、姿勢行列F1F2は、以下の(5)式で表すことができる。
Figure 0006252273
ただし、(5)式において、F1は、基準座標系Σから座標系ΣF1への同次変換行列F1に含まれる姿勢行列であり、F2は、基準座標系Σから座標系ΣF2への同次変換行列F2に含まれる姿勢行列である。
そして、座標系ΣF1から座標系ΣF2への姿勢の変化量ΔRは、座標系ΣF1から座標系ΣF2への姿勢行列F1F2と同義であるので、上記した(5)式から、姿勢の変化量ΔRは、以下の(6)式にて表される。
Figure 0006252273
さて、本実施形態では、後述するように、回転駆動する際の回転方向を、オイラーベクトル表現した際の回転量成分θにより判定する。オイラーベクトルは、周知のように、オイラーベクトルはある姿勢行列Rを、回転軸となる以下の(7)式で示される単位ベクトルのベクトル成分V(v,v,v)と、回転量成分θとで表現する手法である。
Figure 0006252273
そして、上記した(6)式をオーラ−ベクトルの公式に適用することで、以下の(8)式および(9)式に示すように、座標系ΣF1と座標系ΣF2との間の姿勢の変化量(ΔR)を、ベクトル成分と回転量成分とで表現することができる。
Figure 0006252273
これら姿勢変化をオイラーベクトル表現するための処理は、コントローラ3によって行われている。そして、コントローラ3は、姿勢変化をオイラーベクトル表現した際のベクトル成分(v)と回転量成分(θ)とに基づいて、補間制御を行う際の回転駆動の回転方向を上記した近回りとするか遠回りとするかを判定する。より具体的には、本実施形態の場合、コントローラ3は、図2に示したような互いに異なり、且つ、直線上にない始点(K1)、経由点(K2)および終点(K3)の3点が教示点として設定されたとき、手先軸に対応するアプローチベクトル、オリエントベクトルおよびノーマルベクトルのそれぞれについて、図5に示す回転方向設定処理および図6に示す回転方向判定処理を実行することで回転方向を判定する。
コントローラ3は、まず回転方向設定処理において、回転方向の判定が可能であるかを判定する(S1)。本実施形態では、オイラーベクトルを後述する平面Hに射影することで回転方向を判定している。このとき、図7に示すようにオイラーベクトル(EV。より厳密には、オイラーベクトル表現した際のベクトル成分)が平面Hに対して垂直となった場合であって、且つ、始点での対象ベクトルS(アプローチベクトル、オリエントベクトル、ノーマルベクトルのいずれか)とオイラーベクトル(EV)との外積(S×EV)がオイラーベクトル(EV)に対して垂直となった場合には、オイラーベクトル(EV)を平面Hに射影したベクトルが零ベクトルとなり、回転方向の判定ができなくなる。
そのため、コントローラ3は、ステップS1にて回転方向の判定が可能であるかを判定し、回転方向の判定が不可能な場合には(S1:NO)、処理を終了する。なお、判定ができない場合に何も処理をしないと補間制御ができなくなるため、例えば従来と同様の手法にて回転方向を判定する例外処理を実行するようにしてもよい。
一方、コントローラ3は、回転方向の判定が可能な場合には(S1:YES)、まず、アプローチベクトルを対象として、回転方向判定処理を実行する(S2)。この回転方向判定処理において、コントローラ3は、まず、始点での対象ベクトルS(この場合、アプローチベクトル)と、始点から終点までの姿勢変化を表すオイラーベクトル(EV)とを求める(S10)。このオイラーベクトル(EV)は、図8(a)に示すようなベクトルとなる。
次に、コントローラ3は、図8(b)に示すように、対象ベクトルSとEVとの外積(S×EV)を求め(S11)、図8(c)に示すように、Sと(S×EV)とがなす平面Hを求める(S12)。続いて、コントローラ3は、教示された経由点の対象ベクトルKVを平面Hに射影した正射影ベクトルKV’と、終点の対象ベクトルDを平面Hに射影した正射影ベクトルD’とを求める(S13)。つまり、コントローラ3は、ベクトル取得手段として機能する。
続いて、コントローラ3は、始点での対象ベクトルSと正射影ベクトルD’とがなす角αと、始点での対象ベクトルSと正射影ベクトルKV’とがなす角βとを求める(S14)。なお、各ベクトルがなす角は、図2に示したように角度の取り方によってはαまたは360−αとなるものの、このステップS14では、最小値となる角度がなす角として選択される。そして、コントローラ3は、αの絶対値(|α|)がβの絶対値(|β|)よりも大きく、且つ、αとβの積(αβ)が正であるかを判定する(S15)。つまり、コントローラ3は、判定手段として機能する。
ここで、αβが正であるかを判定しているのは、経由点の対象ベクトルの向きによっては、いずれの回転方向とするかを判定することが可能であるためである。すなわち、始点から終点に向かう回転方向を仮に正とすれば、αβが負となるのはβが負の場合であり、その状況は、始点から経由点に向かう回転方向が、始点から終点に向かう向きとは逆であることを示している。
また、|α|が|β|よりも大きい状態は、始点から終点まで回転駆動する途中に経由点での姿勢を取ることができることを意味している。より平易に言えば、始点と終点との間に経由点が位置していることになる。逆に、|α|が|β|よりも小さい状態は、経由点が終点よりも先にあることを意味している。つまり、始点から終点まで最短で回転駆動する途中には、経由点での姿勢を取ることができないことを意味している。
そのため、コントローラ3は、|α|が|β|よりも大きく、且つ、αβが正である場合には(S15:YES)、姿勢回転方向を近回りと判定する(S16)。つまり、始点から終点まで最短で回転駆動する途中で、経由点姿勢を取ることができると判定する。
これに対して、コントローラ3は、|α|が|β|よりも小さい場合、あるいは、αβが正でない場合には(S15:NO)、姿勢回転方向を遠回りと判定する(S16)。つまり、始点から終点まで最短で回転駆動する途中で、経由点姿勢を取ることができると判定する。
そして、コントローラ3は、姿勢回転方向をいずれにするかを判定すると、回転方向設定処理にリターンし、判定結果が近回りであるかを判定し(S3)、回転方向判定処理において遠回りと判定されていれば、判定結果が近回りではないので(S3:NO)、姿勢回転方向を遠回りに設定する(S9)。すなわち、始点姿勢から終点姿勢まで回転駆動する途中では経由点姿勢と同じあるいは近似する姿勢を取ることができないため、回転方向を遠回りに設定することで、すなわち、180°を超えるような回転方向を設定することで、補間制御にて実際に回転駆動する際の経由点姿勢を教示された経由点姿勢に近づけることができる。つまり、コントローラ3は、設定手段として機能する。
ところで、多関節型のロボット2の場合、当然のことながら、始点姿勢と終点姿勢とにおいてアプローチベクトル以外のベクトルも変化する可能性がある。その場合、アプローチベクトルに対する回転方向の判定のみで実際の回転方向を決定すると、オリエントベクトルやノーマルベクトルにおける回転方向の判定が行われず、実際の動作軌跡における経由点姿勢と教示された経由点姿勢とで例えばオリエントベクトル大きくずれてしまうといったことが起こり得る。つまり、アプローチベクトルだけを教示された経由点姿勢に近づけることができたとしても、他のベクトルでは教示された経由点姿勢から乖離してしまっている可能性がある。
そこで、コントローラ3は、アプローチベクトルを対象とした回転方向判定処理において近回りと判定された場合には(S3:YES)、オリエントベクトルを対象として回転方向判定処理を実行する(S4)。なお、ステップS4の回転方向判定処理では、対象がオリエントベクトルとなるものの上記したアプローチベクトルと同様の処理が行われるため、説明を省略する。
コントローラ3は、オリエントベクトルを対象とした回転方向判定処理において遠回りと判定されていれば(S5:NO)、姿勢回転方向を遠回りに設定する(S9)。一方、コントローラ3は、回転方向判定処理において近回りと判定されている場合には(S5:YES)、ノーマルベクトルを対象として、回転方向判定処理を実行する(S6)。
そして、コントローラ3は、ノーマルベクトルを対象とした回転方向判定処理において遠回りと判定されていれば(S7:NO)、姿勢回転方向を遠回りに設定する(S9)。一方、コントローラ3は、回転方向判定処理において近回りと判定されている場合には(S4:YES)、姿勢回転方向を近回りに設定する(S8)。
このように、コントローラ3は、手先軸の各ベクトルに対してそれぞれ回転方向を判定し、いずれかにおいて遠回りと判定された場合には、実際に回転駆動する際の回転方向を遠回りに設定し、いずれも近回りと判定された場合には、実際に回転駆動する際の回転方向を近回りに設定する。
これにより、例えば図9(a)に示すような教示点つまり姿勢がユーザにより教示されたとき、回転方向設定処理によって180°を超える回転方向を選択できるようになり、教示された経由点姿勢に近づく回転方向が選択されて、例えば図9(b)に示すように教示されたアプローチベクトル(A2)と実際に回転駆動する際のアプローチベクトル(A4)が一致する等、実際の軌道における経由点姿勢を教示された経由点姿勢と同じあるいは近似した姿勢にすることができる。
以上説明した本実施形態によれば、次のような効果を得ることができる。
実施形態の制御方法では、始点での対象ベクトルSと始点から終点までの姿勢変化を表すオイラーベクトルEVとの外積S×EVを求め、対象ベクトルSと外積S×EVとがなす平面Hにおいて、経由点に対応する正射影ベクトルKV’と、終点に対応する正射影ベクトルD’とを求める。そして、対象ベクトルSと正射影ベクトルD’とがなす角αと対象ベクトルSと正射影ベクトルKV’とがなす角βとに基づいて、回転方向を経由点での姿勢に近づける方向に設定する。このように、正射影ベクトルのなす角に基づいてロボットを回転駆動する際の回転方向を設定する制御方法を採用することで、遠回りの回転方向が選択肢に組み込まれ、180°を超えるような回転が可能となる。そして、実際に回転駆動した際の経由点での姿勢を教示された姿勢に近づけることができる。したがって、補間による制御を行う場合において経由点での姿勢が教示された姿勢から大きくずれることを抑制できる。
また、教示点の数を増やすことなく経由点での姿勢を教示された姿勢に近づけることができるため、小数の教示点を設定するだけでロボットの動作軌跡全体を設定できるというメリットが損なわれることがない。
また、手先軸の姿勢が直交座標系におけるアプローチベクトル、オリエントベクトルおよびノーマルベクトルで表される場合、各ベクトルをそれぞれ対象ベクトルとして、回転方向を順次判定する。これにより、例えばアプローチベクトルに対する回転方向の判定と、オリエントベクトルやノーマルベクトルに対する回転方向の判定とが異なるような状態において、オリエントベクトルやノーマルベクトルに対する回転方向の判定を考慮した上で、実際のロボットの回転方向を設定することができる。
また、いずれかの対象ベクトルにおいて姿勢の変化量が相対的に大きくなる回転方向が設定された場合には、以降の判定を省略するので、不必要に判定時間が長期化することを抑制できる。
このとき、一実施形態では、アプローチベクトルに対する回転方向の判定を最初に行った後、他のベクトルに対する判定を行っている。アプローチベクトルは、手先の向きを示すベクトルであるため、アプローチベクトルが教示された姿勢に近ければ、その姿勢は、ユーザが所望する姿勢であると考えられる。そのため、アプローチベクトルに対する判定を最初に行うことにより、その時点で回転方向が遠回りと判定されれば以降の判定を省略しても教示された姿勢に近い姿勢を取ることができると考えられる。つまり、アプローチベクトルを最初に判定することは、以降の判定を省略する根拠なり得る。
コントローラ3は、上記した制御方法を採用したロボットの制御装置を実現するために、ベクトル取得手段、判定手段、および設定手段として機能する。これにより、上記した制御方法を採用したロボットの制御装置を実現でき、補間制御を行う際に実際にロボット2を制御する際に180°を超える回転方向を選択することができ、教示された姿勢に近づけることができる等、上記した制御方法で述べたような効果を得ることができる。
また、コントローラ3は、姿勢を示すベクトルの全てを対象ベクトルとして回転方向の判定を順次行う一方、いずれかの対象ベクトルにおいて姿勢の変化量が相対的に大きくなる回転方向が設定された場合には、以降の判定を省略する。これにより、上記したように不必要に判定時間が長期化することを抑制できる。
本発明は上記した一実施形態に限定されるものではなく、その要旨を逸脱しない範囲で任意に変形または拡張することができる。
図面中、2はロボット、3はコントローラ(ロボットの制御装置、ベクトル取得手段、判定手段、設定手段)を示す。

Claims (4)

  1. 教示された始点、経由点および終点の3点の教示点間を曲線で補間して多関節型のロボットの動作軌跡を求める際に、
    始点での姿勢を示すベクトルのうち対象とする対象ベクトルSと、始点から終点までの姿勢変化を表すオイラーベクトルEVとの外積S×EVを求め、
    対象ベクトルSと外積S×EVとがなす平面Hを求め、
    経由点での姿勢を示すベクトルのうち対象となる対象ベクトルKVを平面Hに射影した正射影ベクトルKV’と、終点での姿勢を示すベクトルのうち対象となる対象ベクトルDを平面Hに射影した正射影ベクトルD’とを求め、
    対象ベクトルSと正射影ベクトルD’とがなす角αと、対象ベクトルSと正射影ベクトルKV’とがなす角βとを求め、
    αの絶対値がβの絶対値よりも大きく、且つ、αとβとの積が正であるか否かを判定し、
    αの絶対値がβの絶対値よりも大きく、且つ、αとβとの積が正である場合には、始点から終点まで姿勢を変化させた際の姿勢の変化量が相対的に小さくなる回転方向を、ロボットを回転駆動する際の回転方向に設定し、
    αの絶対値がβの絶対値よりも小さい場合、あるいは、αとβとの積が負である場合には、始点から終点まで姿勢を変化させた際の姿勢の変化量が相対的に大きくなる回転方向を、ロボットを回転駆動する際の回転方向に設定することを特徴とするロボットの制御方法。
  2. 手先軸の姿勢を表す3次元ベクトルの全てを対象ベクトルとして回転方向を順次判定する一方、いずれかの対象ベクトルにおいて姿勢の変化量が相対的に大きくなる回転方向が設定された場合には、以降の判定を省略することを特徴とする請求項1記載のロボットの制御方法。
  3. 多関節型のロボットを制御するロボットの制御装置であって、
    始点での姿勢を示すベクトルのうち対象とする対象ベクトルSと、始点から終点までの姿勢変化を表すオイラーベクトルEVとの外積S×EVを求め、対象ベクトルSと外積S×EVとがなす平面Hを求め、経由点での姿勢を示すベクトルのうち対象となる対象ベクトルKVを平面Hに射影した正射影ベクトルKV’と、終点での姿勢を示すベクトルのうち対象となる対象ベクトルDを平面Hに射影した正射影ベクトルD’とを求めるベクトル取得手段と、
    前記ベクトル取得手段で求めた対象ベクトルSと正射影ベクトルD’とがなす角αと、対象ベクトルSと正射影ベクトルKV’とがなす角βとを求め、αの絶対値がβの絶対値よりも大きく、且つ、αとβとの積が正であるか否かを判定する判定手段と、
    前記判定手段によってαの絶対値がβの絶対値よりも大きく、且つ、αとβとの積が正である場合には、始点から終点まで姿勢を変化させた際の姿勢の変化量が相対的に小さくなる回転方向を、ロボットを回転駆動する際の回転方向に設定し、αの絶対値がβの絶対値よりも小さい場合、あるいは、αとβとの積が負である場合には、始点から終点まで姿勢を変化させた際の姿勢の変化量が相対的に大きくなる回転方向を、ロボットを回転駆動する際の回転方向に設定する設定手段と、
    を備えることを特徴とするロボットの制御装置。
  4. 手先軸の姿勢を表す3次元ベクトルの全てを対象ベクトルとして回転方向を順次判定する一方、前記設定手段によりいずれかの対象ベクトルにおいて姿勢の変化量が相対的に大きくなる回転方向が設定された場合には、以降の判定を省略することを特徴とする請求項3記載のロボットの制御装置。
JP2014056605A 2014-03-19 2014-03-19 ロボットの制御方法、ロボットの制御装置 Expired - Fee Related JP6252273B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014056605A JP6252273B2 (ja) 2014-03-19 2014-03-19 ロボットの制御方法、ロボットの制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014056605A JP6252273B2 (ja) 2014-03-19 2014-03-19 ロボットの制御方法、ロボットの制御装置

Publications (2)

Publication Number Publication Date
JP2015178157A JP2015178157A (ja) 2015-10-08
JP6252273B2 true JP6252273B2 (ja) 2017-12-27

Family

ID=54262590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014056605A Expired - Fee Related JP6252273B2 (ja) 2014-03-19 2014-03-19 ロボットの制御方法、ロボットの制御装置

Country Status (1)

Country Link
JP (1) JP6252273B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112917479B (zh) * 2021-02-01 2024-04-02 配天机器人技术有限公司 五轴机器人的近似位姿计算方法、装置和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0693209B2 (ja) * 1986-02-21 1994-11-16 株式会社小松製作所 ロボツトの円弧補間姿勢制御装置
JP2632864B2 (ja) * 1987-09-02 1997-07-23 富士通株式会社 ロボットにおける方向ベクトルの決定方法
JPH079606B2 (ja) * 1988-09-19 1995-02-01 豊田工機株式会社 ロボット制御装置
DE10251600A1 (de) * 2002-11-06 2004-05-27 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Bewegungen bei Handhabungsgeräten
JP4196911B2 (ja) * 2004-09-06 2008-12-17 セイコーエプソン株式会社 軌道決定システムおよび軌道決定方法
DE102005061618B4 (de) * 2005-12-21 2018-12-27 Abb Ag System und Verfahren zur Ausrichtungs- und Lagekontrolle eines Roboterwerkzeugs
JP5458769B2 (ja) * 2009-09-18 2014-04-02 株式会社デンソーウェーブ ロボットの制御装置
JP2013049102A (ja) * 2011-08-30 2013-03-14 Denso Wave Inc ロボットの制御装置及びロボットの姿勢決定方法

Also Published As

Publication number Publication date
JP2015178157A (ja) 2015-10-08

Similar Documents

Publication Publication Date Title
JP6477877B2 (ja) ロボットシステム
JP5895628B2 (ja) ロボットの制御方法及びロボット制御装置、並びにロボット制御システム
JP5547626B2 (ja) 7軸多関節ロボットの制御装置および教示方法
JP5114019B2 (ja) エフェクタの軌道を制御するための方法
JP5701055B2 (ja) 7軸多関節ロボットの制御方法、制御プログラム及びロボット制御装置
JP5458769B2 (ja) ロボットの制御装置
JP6746990B2 (ja) ロボット制御装置及びロボットシステム
JP7339806B2 (ja) 制御システム、ロボットシステム及び制御方法
US10315305B2 (en) Robot control apparatus which displays operation program including state of additional axis
JP7144754B2 (ja) 多関節ロボットおよび多関節ロボットシステム
WO2018016568A1 (ja) ロボットの運転方法、コンピュータプログラム、及びロボットシステム
JP6682120B2 (ja) ロボットティーチング装置
JP6252273B2 (ja) ロボットの制御方法、ロボットの制御装置
JP6281351B2 (ja) ロボットの制御方法、ロボットの制御装置
JP6252278B2 (ja) ロボットの制御方法、ロボットの制御装置
JP6891773B2 (ja) ロボットの制御装置及びロボットの逆変換処理方法
JP2009056593A (ja) 把持制御装置
CN111225772A (zh) 垂直多关节机器人的示教数据创建系统
JP2013215839A (ja) 冗長自由度を持つロボットの制御方法及びロボット制御装置、並びにロボット制御システム
JP2005335010A (ja) 把持制御装置
JP2010036293A (ja) 多関節ロボット
JP2019093488A (ja) ロボットの制御装置及びロボットの逆変換処理方法
JP2019093486A (ja) ロボットの制御装置及びロボットの逆変換処理方法
JP7424097B2 (ja) ロボットの制御装置及びロボットの制御方法
JP6439375B2 (ja) ロボット及び制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171113

R150 Certificate of patent or registration of utility model

Ref document number: 6252273

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

LAPS Cancellation because of no payment of annual fees