JP2004094399A - 多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム - Google Patents

多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム Download PDF

Info

Publication number
JP2004094399A
JP2004094399A JP2002251907A JP2002251907A JP2004094399A JP 2004094399 A JP2004094399 A JP 2004094399A JP 2002251907 A JP2002251907 A JP 2002251907A JP 2002251907 A JP2002251907 A JP 2002251907A JP 2004094399 A JP2004094399 A JP 2004094399A
Authority
JP
Japan
Prior art keywords
tip
manipulator
articulated manipulator
procedure
scanning trajectory
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
JP2002251907A
Other languages
English (en)
Inventor
Noriko Onishi
大西 典子
Hitoshi Miyauchi
宮内 均
Tadashi Murata
村田 直史
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 Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries Ltd
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 Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP2002251907A priority Critical patent/JP2004094399A/ja
Publication of JP2004094399A publication Critical patent/JP2004094399A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】NCデータをそのまま使用して多関節マニピュレータを制御すること。
【解決手段】マニピュレータ先端部が対象物を切削する際の走査軌道を決定する(ステップS101)。次に、この走査軌道を3次元CADで作られた加工モデルに投影して、マニピュレータ先端部が対象物を切削するための走査軌道の点列データを取得する(ステップS102)。次に、取得した走査軌道の点列データから、マニピュレータ先端部の先端位置姿勢行列Tを、それぞれの走査軌道の点列データに対して求める(ステップS103)。このようにして求めた上記走査軌道R1に対応する各先端位置姿勢行列Tを、多関節マニピュレータの制御装置が取得する(ステップS104)。そして、マニピュレータ先端部を3次元CADで作られた加工モデルの表面に対応した所定の軌道で動作(ステップS105)させて、仮想形状モデルである加工モデルの形状に加工対象物を切削する。
【選択図】   図2

Description

【0001】
【発明の属する技術分野】
この発明は、多関節マニピュレータの制御に関し、さらに詳しくは、NCデータをそのまま使用して多関節マニピュレータを制御する多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システムに関する。
【0002】
【従来の技術】
多関節マニピュレータは、溶接、部品の取付け、塗装等に使用することができ、自動車や電子機器の製造、組立ての分野で広く使用される。その他にも、近年では原子炉内や水中等といった人間が作業するには過酷な条件下での作業においても使用されており、その応用範囲は広がっている。このようなマニピュレータは、6軸又は7軸の可動軸を持ち、予め用意した軌道データによって、マニピュレータの先端部がこの軌道を通るように制御される。
【0003】
【発明が解決しようとする課題】
ところで、従来の多関節マニピュレータを制御する場合には、予め用意した先端部の軌道データを、多関節マニピュレータを動作させることのできるロボット言語に変換する必要があった。このため、CAD(Computer Aided Design)上で生成されたNC(Numerical Control:数値制御)データが得られても、これをロボット言語に変換する手順が必要で、制御データの作成に大幅な時間を要しており、多関節マニピュレータの制御には手間を要していた。
【0004】
そこで、この発明は、上記に鑑みてなされたものであって、3次元CADモデルのような仮想モデルから生成されたNCデータをそのまま使用して多関節マニピュレータを制御できる多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システムを提供することを目的とする。
【0005】
【課題を解決するための手段】
上述の目的を達成するために、請求項1に係る本発明は、多関節マニピュレータを制御するにあたり、仮想形状モデル表面に前記多関節マニピュレータの先端部の走査軌道を投影して、前記仮想形状モデル表面上に前記先端部の走査軌道点列を形成する手順と、前記走査軌道点列を構成する各走査軌道点の位置座標と法線ベクトルとを求める手順と、前記走査軌道点の位置座標を前記多関節マニピュレータ側の座標系における位置座標に変換して前記先端部の位置を求め、さらに前記仮想形状モデルの座標系における重力方向のベクトルと前記法線ベクトルとから前記先端部の姿勢を求めることにより、前記多関節マニピュレータの先端位置姿勢行列Tを決定する手順と、前記先端位置姿勢行列Tを目標値として前記先端部を制御する手順とを含む多関節マニピュレータの制御方法であることを特徴とする。
【0006】
また、請求項3に係る本発明は、多関節マニピュレータを制御するにあたり、仮想形状モデル表面に前記多関節マニピュレータの先端部の走査軌道を投影して、前記仮想形状モデル表面上に前記先端部の走査軌道点列を形成する手順と、前記走査軌道点列を構成する各走査軌道点の位置座標と法線ベクトルとを求める手順と、前記走査軌道点の位置座標を前記多関節マニピュレータ側の座標系における位置座標に変換して前記先端部の位置を求め、さらに前記法線ベクトルと前記仮想形状モデルの座標系における重力方向のベクトルとから前記先端部の姿勢を求めることにより、前記多関節マニピュレータの先端位置姿勢行列Tを決定する手順とをコンピュータに実行させ、前記多関節マニピュレータの先端部の走査軌道点列情報を生成させる多関節マニピュレータの制御プログラムであることを特徴とする。
【0007】
また、請求項5に係る本発明は、仮想形状モデル表面に多関節マニピュレータの先端部の走査軌道を投影して、前記仮想形状モデル表面上に前記先端部の軌道点列を形成する手順と、前記走査軌道点列を構成する各走査軌道点の位置座標と法線ベクトルとを求める手順と、前記走査軌道点の位置座標を前記多関節マニピュレータ側の座標系における位置座標に変換して前記先端部の位置を求め、さらに前記法線ベクトルと前記仮想形状モデルの座標系における重力方向のベクトルとから前記先端部の姿勢を求める手順とにより、前記多関節マニピュレータの先端位置姿勢行列Tを決定する先端位置姿勢決定手段と、前記先端位置姿勢行列Tを目標値として前記先端部を制御する先端位置制御手段とを有する多関節マニピュレータ制御システムであることを特徴とする。
【0008】
この多関節マニピュレータの制御方法、制御プログラム又は制御システムは、NCデータで与えられる仮想モデル上における多関節マニピュレータ先端部の走査軌道データから直接多関節マニピュレータの先端位置姿勢行列Tを決定し、これを目標値として多関節マニピュレータ先端部を制御する。このため、従来必要であったNCデータをロボット言語に変換する手順を省略できるので、多関節マニピュレータの制御データを作る時間が大幅に短縮できる。また、ロボット言語を意識しないで、多関節マニピュレータ先端部の制御ができるので、専門のオペレータでなくとも容易に多関節マニピュレータを操作できる。
【0009】
また、従来のように、多関節マニュピレータ制御用のNCデータをロボット言語に変換していた場合には、実際の動作前にマニピュレータの干渉を確認するシミュレーションが必要であった。そして、シミュレーションによってマニピュレータの干渉が判明した場合には、制御用のNCデータを作り直して干渉を回避していた。この作業時には、NCデータを作り変える毎にロボット言語への変換が必要であったので、実際の作業に入るまで多大な手間を要していた。しかし、本発明においては、制御用NCデータによって多関節マニピュレータを直接制御できるので、データを作り直してもすぐ動作確認ができ、シミュレーションによる干渉回避の手間を大幅に軽減できる。なお、この発明に使用する多関節マニピュレータは、制御に対する汎用性の高いオープンアーキテクチャタイプの多関節マニピュレータが好ましい(以下同様)。
【0010】
また、請求項2に係る本発明は、上記多関節マニピュレータの制御方法において、上記多関節マニピュレータは冗長マニピュレータであり、上記多関節マニピュレータの腕部が移動する方向に障害物がある場合には、さらに、上記多関節マニピュレータの腕部を構成する軸の一つを冗長軸として決定する手順と、当該冗長軸を動かす所定の角度及びその大きさを決定する指定する手順と、この所定の角度及び大きさから評価関数を定義する手順と、当該評価関数に基づいて前記冗長軸を動かして、上記先端部の位置を上記目標値に保ったまま前記障害物を回避させる手順とを含むことを特徴とする。
【0011】
また、請求項4に係る本発明は、上記多関節マニピュレータの制御プログラムにおいて、上記多関節マニピュレータは冗長マニピュレータであり、上記多関節マニピュレータの腕部が移動する方向に障害物がある場合には、さらに、コンピュータ外部からの入力によって上記多関節マニピュレータの腕部を構成する軸の一つを冗長軸として決定する手順と、当該冗長軸を動かす所定の角度及びその大きさを決定する指定する手順と、この所定の角度及び大きさから評価関数を定義する手順と、当該評価関数に基づいて前記冗長軸を動かして、上記先端部の位置を上記目標値に保ったまま前記障害物を回避させる手順とを含むことを特徴とする。
【0012】
このように、冗長マニピュレータを制御対象とする場合には、冗長軸を利用して障害物に対する干渉を回避できる。このため、障害物の位置が予め分かっていれば、その位置を避けるように制御することで、シミュレーションが不要あるいはその手間を大幅に軽減できる。ここで、冗長マニピュレータとしては、7軸マニピュレータを用い、人間の腕の冗長性を持たせることが好ましい。
【0013】
【発明の実施の形態】
以下、この発明につき図面を参照しつつ詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。また、下記実施の形態における構成要素には、当業者が容易に想定できるもの或いは実質的に同一のものが含まれる。
【0014】
(実施の形態1)
図1は、この発明の実施の形態1に係る制御方法の制御対象である多関節マニピュレータを示す全体図である。同図に示す多関節マニピュレータ10は、7個の関節を持つ7軸冗長マニピュレータである。各軸A1〜A7は、それぞれ図1(a)に示すように回転して、マニピュレータ先端部12のロール、ヨー、ピッチ及び位置(X、Y、Z)を制御する。なお、6軸あれば、マニピュレータ先端部12の位置と角度とを自由に制御できるが、この多関節マニピュレータ10のように、冗長軸としてさらに1軸を設けることによって、マニピュレータ先端部12の位置・姿勢を制御しつつ、腕部14が障害物を避けるように制御することもできる。
【0015】
この多関節マニピュレータ10には、制御手段である制御装置30が備えられている。制御装置30は、後述するNCデータ変換によって得られた多関節マニピュレータ10の先端位置姿勢行列であるT行列のデータを取得して、このT行列のデータに基づきサーボドライバ20を介し、マニピュレータ先端部12の軌道を制御する。なお、サーボドライバ20は、多関節マニピュレータ10に内蔵してもよい。
【0016】
図1(b)及び(c)に示すように、この多関節マニピュレータ10の第7軸A7には、ドリル16やエンドミル等の切削工具、溶接トーチ、塗装用スプレー17、計測用のセンサあるいはプローブ等、各種のアタッチメントが取り付けられる。そして、取り付けたアタッチメントによって、対象物を切削加工や溶接したり、塗装したり、あるいは対象物の検査をすることができる。いずれの場合においても、加工モデルの表面に沿った軌道や溶接や塗装等に必要な軌道でマニピュレータ先端部12(例えばドリル16の先端部)を動作させる必要があるので、このような軌道データが必要になる。次に、ドリル16によって対象物を所定の形状に切削加工する場合を例にとって説明する。なお、本発明の適用対象はドリルによる切削加工に限られず、溶接、塗装、研磨、検査、あるいはペンによる作画等に対しても本発明は適用できる。
【0017】
図2は、この発明の実施の形態1に係る多関節マニピュレータの制御方法の概要を示すフローチャートである。この多関節マニピュレータの制御方法は、3次元CADモデル等の仮想形状モデルから作成されたNCデータをそのまま使用して、多関節マニピュレータ先端の走査軌道を直接制御する点に特徴がある。図2を用いて、この発明の実施の形態1に係る多関節マニピュレータの制御方法の概要を説明する。まず、マニピュレータ先端部12が対象物を切削する際の走査軌道R0を決定する(ステップS101)。
【0018】
次に、この走査軌道R0を3次元CADで作られた加工モデルに投影して、マニピュレータ先端部12が対象物を切削するための走査軌道R1の点列データを取得する(ステップS102)。なお、この走査軌道点列データは、n個の点が集まったものであり、各走査軌道点のデータは、前記3次元CADの加工モデル面上における位置座標U(X、Y、Z)及び面上に対して垂直となる法線ベクトルVで構成される。以下、走査軌道点データは(X、Y、Z、V)で表す。また、この各走査軌道点データは、NC用データのフォーマットで与えられる。
【0019】
次に、取得した走査軌道R1の点列データから、マニピュレータ先端部12の先端位置姿勢行列Tをそれぞれの走査軌道R1の点列データに対して求める(ステップS103)。このようにして求めた上記走査軌道R1に対応する各先端位置姿勢行列Tを、多関節マニピュレータ10の制御装置30が取得する(ステップS104)。そして、マニピュレータ先端部12を3次元CADで作られた加工モデルの表面に対応した所定の軌道で動作(ステップS105)させて、仮想形状モデルである加工モデルの形状に加工対象物を切削する。なお、この発明に係る多関節マニピュレータの制御方法に使用する多関節マニピュレータ10は、より汎用性の高い階層の制御コード(例えばC言語)を使用できる、制御に対する汎用性の高いオープンアーキテクチャタイプの多関節マニピュレータが好ましい。
【0020】
次に、3次元CADの加工モデル面上におけるマニピュレータ先端部12の走査軌道点列データを取得する手順、及びこの走査軌道点列データを構成する各走査軌道点P(X、Y、Z、V)から各先端位置姿勢行列Tを取得する手順について説明する。まず、前者について説明する。図3は、3次元CADの加工モデルからマニピュレータ先端部の走査軌道点列データを取得する手順を示す説明図である。
【0021】
図3(a)に示すように、仮想モデルである3次元CADの加工モデル(以下加工モデル)40に対して、例えばX−Y平面状に、マニピュレータ先端部12の走査軌道R0を現す連続線42を描く。この走査軌道R0は、切削加工に適した軌道を任意に選択することができる。次に、この連続線42を加工モデル40に投影して、図3(b)に示すような投影後の走査軌道R1各点における位置座標U(X、Y、Z)と法線ベクトルV(I、J、K)とを取得する。これらが走査軌道点データ(X、Y、Z、V)である。すなわち、加工モデル40に投影した後における走査軌道R1の走査軌道点データ(X、Y、Z、V)が、マニピュレータ先端部12が対象物を切削するための走査軌道点列データとなる。
【0022】
次に、走査軌道点列データを構成する各走査軌道点データ(X、Y、Z、V)から各先端位置姿勢行列Tを取得する手順について説明する。図4は、多関節マニピュレータの座標系と3次元CADの加工モデルの座標系とを示す説明図である。また、図5は、先端位置姿勢行列T行列を作成する手順を示す説明図である。図4(a)に示すように、多関節マニピュレータ10の座標系では、多関節マニピュレータ10のベース10Bを原点として垂直方向がZ軸をとり、Z軸と互いに直交する軸がX軸及びY軸となる。これに対して、図4(b)に示すように、切削対象である3次元CADの加工モデル40の座標系では、加工モデル40のある軸40aと一致する軸がZ軸である。そして、Z軸と互いに直交する軸がX軸及びY軸となる。
【0023】
このように、多関節マニピュレータ10と加工モデル40との座標系は異なるので、加工モデル40の座標系における、ある走査軌道点の位置座標(X、Y、Z)の値を、多関節マニピュレータ10の座標系においてマニピュレータ先端部12の位置座標として使用しても両者は一致しない。したがって、両者を一致させなければ、各走査軌道点データを使用して多関節マニピュレータ10に加工モデル40の形状に対象物を切削させることはできない。このため、加工モデル40の座標系における、ある走査軌道点の位置座標U(X、Y、Z)の値を、多関節マニピュレータ10の座標系における位置座標P(P、P、P)に変換する。これは、例えば、加工モデル40の座標系における原点と多関節マニピュレータ10の座標系における原点との差を、ある軌道点の位置座標U(X、Y、Z)の値に加算又は減算すればよい。このようにして得た位置座標P(P、P、P)が、後述する先端位置姿勢行列Tの位置情報を表す。
【0024】
NC用データには、加工モデル40に対して、加工ツールであるドリル16をどのような角度で当てるかという情報が、切削角度のベクトルD(D、D、D)として与えられている。多関節マニピュレータ10の座標系においてこのベクトルD(D、D、D)をそのまま使用しても、上記理由から多関節マニピュレータ10は加工モデル40を切削することができない。したがって、同じようにベクトルD(D、D、D)をA(A、A、A)に変換する。このベクトルAは、マニピュレータ先端部12におけるZ方向のベクトルとなる。なお、切削角度のベクトルには、法線ベクトルV(I、J、K)を使用してもよい。
【0025】
加工モデル40の切削においては、マニピュレータ先端部12におけるz方向のベクトルさえ決まれば、x方向とy方向とのベクトルを決定しなくとも、マニピュレータ先端部12の姿勢が決まるので、対象物を切削できる。しかしながら、マニピュレータ先端部12の制御においては、マニピュレータ先端部12のx方向とy方向とのベクトルも存在しないと制御できないため、これらのベクトルを新たに作り出す必要がある。この手順を、図5を用いて説明する。
【0026】
マニピュレータ先端部12のx方向とy方向とのベクトルは、任意のベクトルで構わない。本発明においては加工モデル40の座標系における、ある走査軌道点の法線ベクトルV(I、J、K)と重力方向のベクトルとを利用してこれらのベクトルを作成する。まず、法線ベクトルVと加工モデル座標系における−Z方向(重力方向)の単位ベクトルE(0、0、1)との外積を求める。このようにして得たベクトルを、マニピュレータ先端部12におけるy方向のベクトルO(O、O、O)とする。そして、このy方向のベクトルと法線ベクトルVとの外積を求めることによって得たベクトルを、マニピュレータ先端部12におけるx方向のベクトルN(N、N、N)とする。
【0027】
このようにして求めたマニピュレータ先端部12のx、y及びz方向のベクトルと、多関節マニピュレータ10の座標系における位置座標(P、P、P)とによって、マニピュレータの先端位置姿勢行列Tを表すことができる。ここで、マニピュレータの先端位置姿勢行列Tは、
【数1】
Figure 2004094399
である。
【0028】
このマニピュレータの先端位置姿勢行列Tは、加工モデル40の表面にマニピュレータ先端部12の走査軌道R0を投影した軌道R1の軌道点(X、Y、Z、V)の数だけ存在する。すなわち、走査軌道R1の走査軌道点列データと同じ数だけ存在する先端位置姿勢行列Tによって、マニピュレータ先端部12の位置と姿勢とが決定される。これによって、マニピュレータ先端部12は多関節マニピュレータ10の座標系において、走査軌道R1に沿って移動するので、加工対象物を加工モデル40の形状に切削できる。
【0029】
加工対象物を切削する際には、上記算出手順を達成できるプログラムをパーソナル・コンピュータやワークステーション等で実行し、上記手順によって求められた先端位置姿勢行列Tを制御装置30に読み込む。制御装置30は、この先端位置姿勢行列Tを目標値として、サーボドライバ20を介して多関節マニピュレータ10の各軸A1〜A7を制御し、マニピュレータ先端部12を軌道R1に沿って移動させる。このとき、マニピュレータ先端部12の現在位置をフィードバックして、常に現在位置と目標値との偏差が0となるように制御される。
【0030】
図6は、このフィードバック制御を示す説明図である。制御装置30内には、フィードバック手段50が備えられており、各軸A1〜A7(図1(a)参照)に設けられた角度センサ(図示せず)から出力される回転角度θ〜θが入力される。この回転角度θ〜θは、先端位置姿勢座標変換手段54によって、マニピュレータ先端部12の現先端在位置姿勢行列Tpに変換される。位置制御ゲイン51は、現先端在位置姿勢行列Tpと目標先端位置姿勢行列Trとの偏差epを増幅し、先端位置姿勢速度Vpwを出力する。また、ヤコビ行列・擬似ヤコビ行列生成手段53では、前記回転角度θ〜θが入力されて角度変換用ヤコビ行列Jを算出する。軸角速度変換手段52は、先端位置姿勢速度Vpwと角度変換用ヤコビ行列Jとから、第(1)式に基づいて目標の各軸角速度Θ〜Θを出力する。サーボドライバ20は、この各軸角速度Θ〜Θに基づいて各軸A1〜A7に設けられたアクチュエータ(図示せず)を駆動して、マニピュレータ先端部12を目標位置に制御する。
Θ=[J][Vpw]+([I]−[J][J])・δ(θ)・K・・・(1)
ここで、[J]は6×7ヤコビ行列、[J]は7×6疑似逆ヤコビ行列、[I]は7×7単位行列、δ(θ)は7×1方向ベクトル、Kは任意のスカラー量である。
【0031】
第(1)式の右辺第1項である[J][Vpw]は特殊解と呼ばれ、マニピュレータ先端部12を目標とする位置・姿勢に移動させるための最も移動量が小さい解である。これは、マニピュレータ先端部12の先端位置姿勢速度Vpwによって一意に決まる。また、第(1)式の右辺第2項である([I]−[J][J])・δ(θ)・Kは同次項と呼ばれ、残された冗長性を制御する値である。この値を制御することによって、マニピュレータ先端部12の位置・姿勢を変化させずに多関節マニピュレータ10の姿勢を変化させることができる。同次項のうち、[I]−[J][J]はヤコビ行列の零空間であり一意に決まる。また、δ(θ)・Kは評価関数と呼ばれる部分で、任意の値を入れることができる。
【0032】
例えば、マニピュレータ先端部12の位置・姿勢をある目標値に制御している多関節マニピュレータ10において、ある指定した軸の現在位置を中心とし、ある幅をもった評価関数を定義する。そして、その中心位置を現在位置から徐々に動かした方向にずらしながら、同じ幅を持った評価関数に定義し直す。このようにすると、評価関数の幅の中心となるように軸を動かそうとする働きによって、前記指定した軸は外部から指定された方向へ角度を変化させる。このとき、第(1)式の特殊解によって、マニピュレータ先端部12の位置・姿勢は維持される。
【0033】
多関節マニピュレータ10の腕部14が障害物と干渉する場合には、その障害物を避けるようにある軸を冗長軸として指定する。そして、この冗長軸を所定の角度及びその大きさに動かすように指定し、ここから評価関数を定義する。次に、この定義した評価関数を、ヤコビ行列・擬似ヤコビ行列生成手段53に与えて、角度変換用ヤコビ行列Jを算出する。軸角速度変換手段52は、先端位置姿勢速度Vpwと角度変換用ヤコビ行列Jとから、第(1)式に基づいて冗長軸の角速度Θを出力する。このようにして、マニピュレータ先端部12の位置・姿勢を維持したまま、多関節マニピュレータ10の腕部14を動かして、障害物との干渉を回避することができる。
【0034】
なお、実施の形態1に係る本発明の多関節マニピュレータの制御方法は、上記手順を実行するプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。以下の実施の形態においても同様である。
【0035】
このように、本発明においては、NCデータで与えられるマニピュレータ先端部12の走査軌道データから、直接多関節マニピュレータの先端位置姿勢行列Tを決定し、これを目標値として多関節マニピュレータ先端部を制御する。このため、従来必要であったNCデータをロボット言語に変換する手順を省略できるので、多関節マニピュレータの制御データを作る時間が大幅に短縮できる。また、ロボット言語を意識しないで、多関節マニピュレータ先端部の制御ができるので、専門のオペレータでなくとも容易に多関節マニピュレータを操作できる。
【0036】
また、事前のシミュレーションおいても制御用NCデータによって多関節マニピュレータを直接制御できるので、制御データを作り直してもすぐ動作確認ができ、シミュレーションの手間を大幅に軽減できる。さらに、7軸マニピュレータのような冗長マニピュレータを使用すれば、多関節マニピュレータ10の腕部14が障害物に干渉する場合であっても、障害物を回避するように評価関数を与えて冗長軸を制御することができる。これによってシミュレーションを省略でき、さらに、ロボット言語に変換せずにNCデータから直接多関節マニピュレータを制御できるので、実際の動作までに要する時間を大幅に短縮できる。
【0037】
(実施の形態2)
実施の形態2では、本発明を多関節マニピュレータの制御システムに適用した例を説明する。図7は、この発明の実施の形態に係る多関節マニピュレータの制御システムを示す説明図である。この多関節マニピュレータの制御システム60は、多関節マニピュレータの先端位置姿勢行列Tを決定する先端位置姿勢決定手段62と、ここから送られる先端位置姿勢行列Tによって、マニピュレータ先端部12の位置姿勢を制御する制御手段64とで構成される。
【0038】
図7(a)に示すように、先端位置姿勢決定手段62は、処理部62aと記憶部62bとを有している。記憶部62bには、本発明に係る多関節マニピュレータの制御方法のうち、先端位置姿勢行列Tを求める手順が記載されたプログラムや、計算に必要な3次元CADのモデルデータ等が記憶されている。また、記憶部62bは、処理部62aから送られる処理途中のデータを一時的に記憶して、処理部62aの処理を補助する。
【0039】
処理部62aは、前記プログラムやデータを適宜読み出し、また、計算途中のデータを記憶部62bに保存しつつ先端位置姿勢行列Tを求め、多関節マニピュレータ10の走査軌道点列情報を算出する。この走査軌道点列情報は、先端位置姿勢行列Tの集合として提供される。なお、図7(b)に示す多関節マニピュレータの制御システム60’のように、先端位置姿勢決定手段62の代わりに、パーソナル・コンピュータやワークステーション等のコンピュータ65を使用してもよい。
【0040】
制御手段64は、先端位置姿勢決定手段62やコンピュータ65で求められたマニピュレータ先端部12の走査軌道点列情報(先端位置姿勢行列Tの集合)を取得する。そして、この走査軌道点列情報をマニピュレータ先端部12の目標値として、これを所定の走査軌道に従って作動させる。制御手段64には、マニピュレータ先端部12の現実の位置がフィードバックされて、常に目標値との現在位置との偏差が0となるように制御される。
【0041】
ここで、上記先端位置姿勢決定手段62の記憶部62bは、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリ(読み出しのみが可能な記憶媒体)や、RAM(Random Access Memory)のような揮発性のメモリ、あるいはこれらの組合せにより構成されるものとする。また、この処理部62aは専用のハードウエアにより実現されるものであってもよい。さらに、この処理部62aはメモリ及びCPU(中央演算装置)により構成され、処理部62aの機能を実現するためのプログラム(図示省略)をメモリにロードして実行することによりその機能を実現させるものであってもよい。また、この先端位置姿勢決定手段62には、周辺機器として入力装置、表示装置など(いずれも図示省略)が接続されるものとする。ここで、入力装置とはキーボード、マウス等の入力デバイスのことをいう。表示装置とはCRT(Cathode Ray Tube)や液晶表示装置などのことをいう。
【0042】
【発明の効果】
以上説明したように、本発明に係る多関節マニピュレータの制御方法、制御プログラム又は制御システム(請求項1、3、4)では、NCデータで与えられる多関節マニピュレータ先端部の走査軌道データから直接決定した多関節マニピュレータの先端位置姿勢行列Tを目標値として、多関節マニピュレータ先端部を制御するようにした。このため、多関節マニピュレータの制御データを作る時間が大幅に短縮できる。また、ロボット言語を意識しないで、多関節マニピュレータ先端部の制御ができるので、専門のオペレータでなくとも容易に多関節マニピュレータを操作できる。
【0043】
また、この発明に係る多関節マニピュレータの制御方法(請求項2、4)では、冗長マニピュレータを制御対象とする場合に、障害物の位置が予め分かっていれば、その位置を避けるように制御するようにした。これによって、マニピュレータの干渉シミュレーションが不要、あるいはシミュレーションの手間を大幅に軽減できる。
【図面の簡単な説明】
【図1】この発明実施の形態1に係る制御方法の制御対象である多関節マニピュレータを示す全体図である。
【図2】この発明の実施の形態1に係る多関節マニピュレータの制御方法の概要を示すフローチャートである。
【図3】3次元CADの加工モデルからマニピュレータ先端部の走査軌道点列データを取得する手順を示す説明図である。
【図4】多関節マニピュレータの座標系と3次元CADの加工モデルの座標系とを示す説明図である。
【図5】先端位置姿勢行列T行列を作成する手順を示す説明図である。
【図6】フィードバック制御を示す説明図である。
【図7】この発明の実施の形態に係る多関節マニピュレータの制御システムを示す説明図である。
【符号の説明】
10 多関節マニピュレータ
12 マニピュレータ先端部
14 腕部
16 ドリル
20 サーボドライバ
30 制御装置
40 加工モデル
42 連続線
50 フィードバック手段
51 位置制御ゲイン
52 軸角速度変換手段
53 ヤコビ行列・擬似ヤコビ行列生成手段
54 先端位置姿勢座標変換手段
60、60’  制御システム
62 先端位置姿勢決定手段
64 制御手段

Claims (5)

  1. 多関節マニピュレータを制御するにあたり、
    仮想形状モデル表面に前記多関節マニピュレータの先端部の走査軌道を投影して、前記仮想形状モデル表面上に前記先端部の走査軌道点列を形成する手順と、
    前記走査軌道点列を構成する各走査軌道点の位置座標と法線ベクトルとを求める手順と、
    前記走査軌道点の位置座標を前記多関節マニピュレータ側の座標系における位置座標に変換して前記先端部の位置を求め、さらに前記仮想形状モデルの座標系における重力方向のベクトルと前記法線ベクトルとから前記先端部の姿勢を求めることにより、前記多関節マニピュレータの先端位置姿勢行列Tを決定する手順と、
    前記先端位置姿勢行列Tを目標値として前記先端部を制御する手順と、
    を含むことを特徴とする多関節マニピュレータの制御方法。
  2. 上記多関節マニピュレータは冗長マニピュレータであり、上記多関節マニピュレータの腕部が移動する方向に障害物がある場合には、さらに、上記多関節マニピュレータの腕部を構成する軸の一つを冗長軸として決定する手順と、当該冗長軸を動かす所定の角度及びその大きさを決定する指定する手順と、この所定の角度及び大きさから評価関数を定義する手順と、当該評価関数に基づいて前記冗長軸を動かして、上記先端部の位置を上記目標値に保ったまま前記障害物を回避させる手順とを含むことを特徴とする請求項1に記載の多関節マニピュレータの制御方法。
  3. 多関節マニピュレータを制御するにあたり、
    仮想形状モデル表面に前記多関節マニピュレータの先端部の走査軌道を投影して、前記仮想形状モデル表面上に前記先端部の走査軌道点列を形成する手順と、
    前記走査軌道点列を構成する各走査軌道点の位置座標と法線ベクトルとを求める手順と、
    前記走査軌道点の位置座標を前記多関節マニピュレータ側の座標系における位置座標に変換して前記先端部の位置を求め、さらに前記法線ベクトルと前記仮想形状モデルの座標系における重力方向のベクトルとから前記先端部の姿勢を求めることにより、前記多関節マニピュレータの先端位置姿勢行列Tを決定する手順と、
    をコンピュータに実行させ、前記多関節マニピュレータの先端部の走査軌道点列情報を生成させることを特徴とする多関節マニピュレータの制御プログラム。
  4. 上記多関節マニピュレータは冗長マニピュレータであり、上記多関節マニピュレータの腕部が移動する方向に障害物がある場合には、さらに、コンピュータ外部からの入力によって上記多関節マニピュレータの腕部を構成する軸の一つを冗長軸として決定する手順と、当該冗長軸を動かす所定の角度及びその大きさを決定する指定する手順と、この所定の角度及び大きさから評価関数を定義する手順と、当該評価関数に基づいて前記冗長軸を動かして、上記先端部の位置を上記目標値に保ったまま前記障害物を回避させる手順とを含むことを特徴とする請求項3に記載の多関節マニピュレータの制御プログラム。
  5. 仮想形状モデル表面に多関節マニピュレータの先端部の走査軌道を投影して、前記仮想形状モデル表面上に前記先端部の軌道点列を形成する手順と、前記走査軌道点列を構成する各走査軌道点の位置座標と法線ベクトルとを求める手順と、前記走査軌道点の位置座標を前記多関節マニピュレータ側の座標系における位置座標に変換して前記先端部の位置を求め、さらに前記法線ベクトルと前記仮想形状モデルの座標系における重力方向のベクトルとから前記先端部の姿勢を求める手順とにより、前記多関節マニピュレータの先端位置姿勢行列Tを決定する先端位置姿勢決定手段と、
    前記先端位置姿勢行列Tを目標値として前記先端部を制御する先端位置制御手段と、
    を有することを特徴とする多関節マニピュレータの制御システム。
JP2002251907A 2002-08-29 2002-08-29 多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム Pending JP2004094399A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002251907A JP2004094399A (ja) 2002-08-29 2002-08-29 多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002251907A JP2004094399A (ja) 2002-08-29 2002-08-29 多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム

Publications (1)

Publication Number Publication Date
JP2004094399A true JP2004094399A (ja) 2004-03-25

Family

ID=32058362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002251907A Pending JP2004094399A (ja) 2002-08-29 2002-08-29 多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム

Country Status (1)

Country Link
JP (1) JP2004094399A (ja)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009125892A (ja) * 2007-11-27 2009-06-11 Yaskawa Electric Corp ロボットシステム
JP2010120124A (ja) * 2008-11-20 2010-06-03 Toyota Motor Corp ロボットアームの教示システム及び方法
WO2013038544A1 (ja) * 2011-09-15 2013-03-21 株式会社安川電機 ロボットシステム及びロボット制御装置
JP2013094948A (ja) * 2011-11-04 2013-05-20 Honda Motor Co Ltd ロボットアーム
KR20150023290A (ko) * 2012-06-01 2015-03-05 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영공간을 이용한 수술 머니퓰레이터의 명령된 재구성을 위한 시스템 및 방법
KR20150023359A (ko) * 2012-06-01 2015-03-05 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영-공간을 이용하여 매니퓰레이터 암 대 환자의 충돌을 회피하는 방법 및 시스템
KR20150023273A (ko) * 2012-06-01 2015-03-05 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영-공간을 이용하여 매니퓰레이터 암들 사이의 충돌을 회피하는 시스템 및 방법
JPWO2013038544A1 (ja) * 2011-09-15 2015-03-23 株式会社安川電機 ロボットシステム及びロボット制御装置
KR20150043455A (ko) * 2012-08-15 2015-04-22 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영-공간을 이용하여 조인트 운동을 상쇄하기 위한 시스템 및 방법
JP2015077661A (ja) * 2013-10-17 2015-04-23 株式会社安川電機 ティーチングシステムおよびティーチング方法
KR20150126952A (ko) * 2013-03-15 2015-11-13 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영공간 운동과 동시적인 영직교공간 내에서의 클러칭에 의해 매니퓰레이터를 포지셔닝시키기 위한 시스템 및 방법
KR20150126951A (ko) * 2013-03-15 2015-11-13 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 매니퓰레이터 조인트 운동을 비등방적으로 증폭시키기 위해 영공간을 이용하는 시스템 및 방법
KR20150132326A (ko) * 2013-03-15 2015-11-25 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 다중 영공간 목적 및 sli 거동을 관리하기 위한 시스템 및 방법
KR20150133756A (ko) * 2013-03-15 2015-11-30 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영공간을 이용하여 카테시안 좌표의 에지에의 액세스를 조장하기 위한 시스템 및 방법
JP2016002628A (ja) * 2014-06-18 2016-01-12 株式会社Ihi 加工軌道生成装置と方法
JP2016515405A (ja) * 2013-03-15 2016-05-30 インテュイティブ サージカル オペレーションズ, インコーポレイテッド ゼロ空間を使用する経路を追従するためのシステム及び方法
KR101635339B1 (ko) * 2015-01-14 2016-06-30 쿠카 로보테르 게엠베하 입력장치로 다축 매니퓰레이터를 정렬시키기 위한 방법
CN108345266A (zh) * 2017-01-24 2018-07-31 常州数控技术研究所 一种五轴数控机床数控程序生成方法
CN111938655A (zh) * 2020-07-09 2020-11-17 上海交通大学 基于关键点信息的眼眶软组织形态评价方法、系统及设备
CN117290980A (zh) * 2023-11-27 2023-12-26 江西格如灵科技股份有限公司 一种基于Unity平台的机械臂仿真方法及系统

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009125892A (ja) * 2007-11-27 2009-06-11 Yaskawa Electric Corp ロボットシステム
JP2010120124A (ja) * 2008-11-20 2010-06-03 Toyota Motor Corp ロボットアームの教示システム及び方法
JPWO2013038544A1 (ja) * 2011-09-15 2015-03-23 株式会社安川電機 ロボットシステム及びロボット制御装置
WO2013038544A1 (ja) * 2011-09-15 2013-03-21 株式会社安川電機 ロボットシステム及びロボット制御装置
US9149931B2 (en) 2011-09-15 2015-10-06 Kabushiki Kaisha Yaskawa Denki Robot system, robot control device and method for controlling robot
JP2013094948A (ja) * 2011-11-04 2013-05-20 Honda Motor Co Ltd ロボットアーム
KR102167359B1 (ko) * 2012-06-01 2020-10-19 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영공간을 이용한 수술 머니퓰레이터의 명령된 재구성을 위한 시스템 및 방법
KR20150023273A (ko) * 2012-06-01 2015-03-05 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영-공간을 이용하여 매니퓰레이터 암들 사이의 충돌을 회피하는 시스템 및 방법
KR20150023290A (ko) * 2012-06-01 2015-03-05 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영공간을 이용한 수술 머니퓰레이터의 명령된 재구성을 위한 시스템 및 방법
JP2015526115A (ja) * 2012-06-01 2015-09-10 インテュイティブ サージカル オペレーションズ, インコーポレイテッド ゼロ空間を使用して手術用マニピュレータの命令された再構成を取るためのシステム及び方法
JP2015526116A (ja) * 2012-06-01 2015-09-10 インテュイティブ サージカル オペレーションズ, インコーポレイテッド 零空間を使用して操作アーム間の衝突を回避するためのシステム及び方法
KR20150023359A (ko) * 2012-06-01 2015-03-05 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영-공간을 이용하여 매니퓰레이터 암 대 환자의 충돌을 회피하는 방법 및 시스템
KR102146708B1 (ko) * 2012-06-01 2020-08-21 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영-공간을 이용하여 매니퓰레이터 암들 사이의 충돌을 회피하는 시스템 및 방법
KR102145236B1 (ko) * 2012-06-01 2020-08-18 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영-공간을 이용하여 매니퓰레이터 암 대 환자의 충돌을 회피하는 방법 및 시스템
KR20150043455A (ko) * 2012-08-15 2015-04-22 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영-공간을 이용하여 조인트 운동을 상쇄하기 위한 시스템 및 방법
KR102109594B1 (ko) 2012-08-15 2020-05-12 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영-공간을 이용하여 조인트 운동을 상쇄하기 위한 시스템 및 방법
JP2019111352A (ja) * 2013-03-15 2019-07-11 インテュイティブ サージカル オペレーションズ, インコーポレイテッド マニピュレータ関節動作を異方的に強調するためにゼロ空間を使用するシステム及び方法
KR102164195B1 (ko) 2013-03-15 2020-10-12 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 다중 영공간 목적 및 sli 거동을 관리하기 위한 시스템 및 방법
US11602840B2 (en) 2013-03-15 2023-03-14 Intuitive Surgical Operations, Inc. System and methods for managing multiple null-space objectives and SLI behaviors
JP2016512733A (ja) * 2013-03-15 2016-05-09 インテュイティブ サージカル オペレーションズ, インコーポレイテッド マニピュレータ関節動作を異方的に強調するためにゼロ空間を使用するシステム及び方法
JP2016515405A (ja) * 2013-03-15 2016-05-30 インテュイティブ サージカル オペレーションズ, インコーポレイテッド ゼロ空間を使用する経路を追従するためのシステム及び方法
KR102391773B1 (ko) 2013-03-15 2022-04-28 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 다중 영공간 목적 및 sli 거동을 관리하기 위한 시스템 및 방법
KR20210098549A (ko) * 2013-03-15 2021-08-10 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 다중 영공간 목적 및 sli 거동을 관리하기 위한 시스템 및 방법
KR20150133756A (ko) * 2013-03-15 2015-11-30 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영공간을 이용하여 카테시안 좌표의 에지에의 액세스를 조장하기 위한 시스템 및 방법
KR20150132326A (ko) * 2013-03-15 2015-11-25 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 다중 영공간 목적 및 sli 거동을 관리하기 위한 시스템 및 방법
KR20150126951A (ko) * 2013-03-15 2015-11-13 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 매니퓰레이터 조인트 운동을 비등방적으로 증폭시키기 위해 영공간을 이용하는 시스템 및 방법
KR20150126952A (ko) * 2013-03-15 2015-11-13 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영공간 운동과 동시적인 영직교공간 내에서의 클러칭에 의해 매니퓰레이터를 포지셔닝시키기 위한 시스템 및 방법
KR102154521B1 (ko) 2013-03-15 2020-09-10 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영공간 운동과 동시적인 영직교공간 내에서의 클러칭에 의해 매니퓰레이터 암을 포지셔닝시키기 위한 시스템 및 방법
KR20200116544A (ko) * 2013-03-15 2020-10-12 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 다중 영공간 목적 및 sli 거동을 관리하기 위한 시스템 및 방법
KR102285954B1 (ko) 2013-03-15 2021-08-05 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 다중 영공간 목적 및 sli 거동을 관리하기 위한 시스템 및 방법
KR102214809B1 (ko) 2013-03-15 2021-02-10 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영공간을 이용하여 카테시안 좌표의 에지에의 액세스를 조장하기 위한 시스템 및 방법
KR102214811B1 (ko) 2013-03-15 2021-02-10 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 매니퓰레이터 조인트 운동을 비등방적으로 증폭시키기 위해 영공간을 이용하는 시스템 및 방법
JP2015077661A (ja) * 2013-10-17 2015-04-23 株式会社安川電機 ティーチングシステムおよびティーチング方法
US9311608B2 (en) 2013-10-17 2016-04-12 Kabushiki Kaisha Yaskawa Denki Teaching system and teaching method
JP2016002628A (ja) * 2014-06-18 2016-01-12 株式会社Ihi 加工軌道生成装置と方法
KR101635339B1 (ko) * 2015-01-14 2016-06-30 쿠카 로보테르 게엠베하 입력장치로 다축 매니퓰레이터를 정렬시키기 위한 방법
CN108345266A (zh) * 2017-01-24 2018-07-31 常州数控技术研究所 一种五轴数控机床数控程序生成方法
CN111938655A (zh) * 2020-07-09 2020-11-17 上海交通大学 基于关键点信息的眼眶软组织形态评价方法、系统及设备
CN111938655B (zh) * 2020-07-09 2021-09-03 上海交通大学 基于关键点信息的眼眶软组织形态评价方法、系统及设备
CN117290980A (zh) * 2023-11-27 2023-12-26 江西格如灵科技股份有限公司 一种基于Unity平台的机械臂仿真方法及系统
CN117290980B (zh) * 2023-11-27 2024-02-02 江西格如灵科技股份有限公司 一种基于Unity平台的机械臂仿真方法及系统

Similar Documents

Publication Publication Date Title
JP2004094399A (ja) 多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム
JP3971773B2 (ja) ロボットのオフライン教示装置
JP4271232B2 (ja) ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体
JP3207728B2 (ja) 冗長マニピュレータの制御方法
US8972056B2 (en) Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (n>5)
US20070242073A1 (en) Robot simulation apparatus
KR20150044812A (ko) 티칭 시스템 및 티칭 방법
JP2006048244A (ja) 加工プログラム作成装置
JP7293267B2 (ja) 情報処理装置、情報処理方法及びロボットシステム
Fang et al. Robot path and end-effector orientation planning using augmented reality
JPH0789287B2 (ja) ロボットのプログラミング方法
EP2523786B1 (en) Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (n>5)
JP2007136590A (ja) 冗長関節部を有する冗長ロボットの制御装置および制御方法
JP2019089201A (ja) 教示データ作成装置、教示データ作成装置の制御方法及びロボットシステム
Çakır et al. Path planning for industrial robot milling applications
JP2021186929A (ja) 多軸ロボットの制御方法
CN109773581B (zh) 一种机器人应用于再现机加工的方法
JP3902310B2 (ja) 産業用ロボットの姿勢生成方法
JP2000112510A (ja) ロボットの教示方法及びその装置
JPH06134684A (ja) ロボット軌道を教示するための方法
TSAI et al. Mathematical model for robotic arc-welding off-line programming system
JPH07210230A (ja) 力制御ロボットによるパイプ表面の倣い制御方法
EP3885079B1 (en) Teaching method
JP3576421B2 (ja) 工作機のワーク姿勢制御方法
JP3884928B2 (ja) 多関節ロボットの姿勢算出方法および姿勢算出装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050201

A977 Report on retrieval

Effective date: 20061117

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070313