JPH06175716A - マニピュレータの物体把持作業における位置・姿勢補正方法 - Google Patents

マニピュレータの物体把持作業における位置・姿勢補正方法

Info

Publication number
JPH06175716A
JPH06175716A JP35251392A JP35251392A JPH06175716A JP H06175716 A JPH06175716 A JP H06175716A JP 35251392 A JP35251392 A JP 35251392A JP 35251392 A JP35251392 A JP 35251392A JP H06175716 A JPH06175716 A JP H06175716A
Authority
JP
Japan
Prior art keywords
data
manipulator
coordinate system
sensor
work
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
JP35251392A
Other languages
English (en)
Inventor
Hiroshi Sugimura
洋 杉村
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP35251392A priority Critical patent/JPH06175716A/ja
Publication of JPH06175716A publication Critical patent/JPH06175716A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

(57)【要約】 【目的】 センサデータによって仮想ツール座標系を定
義し、キャリブレーション誤差を軽減し得るマニピュレ
ータ位置・姿勢補正方法を提供する。 【構成】 (a)センサとマニピュレータにセンサ座標
系を設定し、(b)該被把持物体の位置・姿勢のセンサ
データに準拠して定義されたツール座標系をマニピュレ
ータに設定した上で動作教示を行い、(c)教示内容を
再生してマニピュレータを動作させるに際して、前記定
義されたツール座標系のデータを、該再生時の被把持物
体の位置・姿勢のセンサ実測データに書き換えて補正用
データを作成し、(d)該補正用データと前記教示時に
教示された他のデータに基づいてマニピュレータの位置
・姿勢を制御する。また、教示に際して、ツール座標系
データ以外に、コンフィギュレーションデータ、冗長度
規定データ等を含む付帯データを合わせて教示し、座標
系再定義の段階時に該付帯データは非置換データとし、
再生段階時にそのまま利用した動作制御を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マニピュレータ(ロボ
ットマニピュレータ、以下、単にマニピュレータと言
う。)に対象物を把持させて該対象物に関連した作業を
実行する際に、作業空間内にセンシング領域を持つセン
サによって取得されるセンサデータに基づいて、物体を
把持したマニピュレータの位置・姿勢を補正する方法に
関し、特に、その為の教示・再生の方式に特徴を有する
前記方法に関する。
【0002】
【従来の技術】マニピュレータにワーク等の物体を把持
させ、運搬、マウント、パレタイジング、アセンブリン
グ等の作業を実行する場合に、3次元視覚センサ等のセ
ンサを用いて該物体の位置・姿勢を検出し、検出データ
を用いてマニピュレータの位置・姿勢を補正して、以後
の動作をより正確なものとすることは、公知の技術課題
である。
【0003】例えば、所定位置に次々と送られてくるワ
ークを1個づつ順次別の定位置へ移動させ、定位置に配
置された物体に対して、一定の姿勢で対面させる作業等
においては、各ワーク移動サイクル毎のマニピュレータ
の運動が正確に同一であったとしても、ワークの把持状
態(被把持物体の位置と姿勢)が厳密に同じとは限らな
いから、ワークとエフェクタの対面関係を一定に保つ為
には、このワーク把持状態の変動を含めた位置・姿勢変
動を打ち消すような位置・姿勢の補正が必要となる。
【0004】従来より、このような位置・姿勢補正を行
う為の技術として、次の(1)及び(2)の2つの方法
が知られている。 (1)マニピュレータに物体を把持させた状態でマニピ
ュレータに動作教示を行う際に、センサにより該物体の
位置・姿勢を検出し、そのデータをセンサ内のメモリに
記憶させておき、マニピュレータの再生動作時に検出さ
れる物体の位置・姿勢のデータと前記教示時に取得され
たデータとのずれ量をマニピュレータに通知し、マニピ
ュレータ側で位置指令値を修正する方法。この変形とし
て、教示時のデータの記憶をセンサ側でなくマニピュレ
ータ側に行わせ、再生時にマニピュレータ側がデータ変
化量を計算して位置指令値を修正する方法がある。
【0005】(2)センサデータをそのまま作業座標形
のデータと解釈して、マニピュレータを動作させる方
法。この場合、教示動作は行われない。
【0006】
【発明が解決しようとする課題】しかしながら、上記の
ような従来の技術にはシステムを簡素化して、効率的な
作業を実行する上で無視出来ない問題点があった。即
ち、上記(1)に記された技術においては、センサ側あ
るいはマニピュレータ側でセンサデータを格納すること
が必要となり、また、教示時と再生時のデータ変化に見
合った補正量を位置指令値に対する補正値の形で求め、
位置指令値を補正量分だけ修正する為の特殊な処理機能
をマニピュレータ側に用意しなければならないという問
題点があった。
【0007】一方、(2)の型の方法を採用した場合に
は、センサデータを表現しているセンサ座標系とマニピ
ュレータが準拠している基準座標系との関係が正確に認
識され、センサデータが、随時マニピュレータの準拠す
る基準座標系上で表現されたデータに変換可能になって
いなければならない。そして、マニピュレータの位置・
姿勢補正精度は、必然的に両座標系の関係を設定するキ
ャリブレーションの精度に左右されることになるが、一
般に、キャリブレーションの精度には限界があり、ま
た、高精度のキャリブレーションを実行するには、細心
の注意と煩雑な作業が伴うので、作業の効率化の観点か
ら見て好ましくない。
【0008】本発明は、このような従来技術の問題点を
解消し、簡素な構成によって正確なマニピュレータの位
置・姿勢補正を効率的に行うことの出来るマニピュレー
タ物体把持作業の位置・姿勢補正方法を提供せんとする
ものである。
【0009】
【課題を解決するための手段】本発明は、物体を把持し
て作業を行うマニピュレータの位置と姿勢の少なくとも
一方を、センサ手段の検出する前記被把持物体の位置と
姿勢の少なくとも一方のデータに基づいて補正する為
に、(a)センサ手段とマニピュレータが共有するセン
サ座標系を設定する段階と、(b)マニピュレータに物
体を把持した状態で該マニピュレータに動作の教示を行
うに際して、該被把持物体の位置と姿勢の少なくとも一
方に関するデータをセンサ手段を利用して取得し、該セ
ンサ取得データに基づいて定義されたツール座標系をマ
ニピュレータに設定した上で動作教示を行う段階と、
(c)教示内容を再生してマニピュレータを動作させる
に際して、前記定義されたツール座標系のデータを、該
再生時の被把持物体の位置と姿勢の少なくとも一方に関
してセンサ手段によって取得されるデータに書き換える
形でツール座標系を再定義して、マニピュレータの位置
と姿勢の少なくとも一方を補正する為のデータを提供す
る段階と、(d)該補正用データと前記教示時に教示さ
れた他のデータとに基づいてマニピュレータの位置及び
姿勢の少なくとも一方を制御する段階とを含むマニピュ
レータの物体把持作業における位置・姿勢の補正方法を
提供することによって、上記課題を解決したものであ
る。
【0010】また、上記(c)の教示に際して、ツール
座標系データ以外に、マニピュレータコンフィギュレー
ションデータ、冗長自由度がある場合の冗長度規定デー
タ等を併せて教示し、上記(d)のデータ置換時に、該
付帯データは非置換データとすることにより、再生に際
して、教示時のマニピュレータのコンフィギュレーショ
ンデータや冗長データ等をそのまま利用することを可能
にしたものである。
【0011】
【作用】本発明の構成要件をなす上記(a)〜(d)の
各段階について、その原理的側面を中心に、更に詳しく
説明する。 (a)センサ座標系設定(キャリブレーション) センサが物体の位置・姿勢を計測する時に基準とする座
標系をセンサ座標系として設定すれば良い。例えば、視
覚センサであれば、その視野内にセンサ座標系設定用の
治具、あるいはこれに代わる既知物体を置いてその特徴
点を観測して、センサ側での座標系定義を行う。
【0012】マニピュレータに対する座標定義は、例え
ば、センサが計測した治具(既知物体)の特徴点を、マ
ニピュレータの作業座標系設定機能を利用してタッチア
ップして、センサに定義された座標系とマニピュレータ
が有している作業座標系の結合を行う。このようなセン
サ座標系の設定方法自体は公知の技術であり、本発明で
は、マニピュレータとセンサが共有する座標系を設定出
来るのであれば、いずれの方法を用いても構わない。
【0013】上記の治具にタッチアップする方法の他
に、例えば、センサで治具上の特徴点を観測して、セン
サ側での座標系定義を行った後に、マニピュレータに該
治具を把持させ、治具の特徴点が視覚センサに定義した
座標系の原点等の特定点に対応したカメラ視野内位置に
観測されるようにマニピュレータを動かして、その時の
作業座標系上での位置をマニピュレータに認識させるこ
とによって、マニピュレータの有している作業座標系と
センサに設定された座標系との関係をマニピュレータに
認識させる方法がある。センサ座標系を表すデータは、
マニピュレータが有する作業座標系から見たセンサ座標
系を表現する同次変換行列の形で求めることが出来る
[下記(b)の項及び図1参照]。
【0014】(b)把持状態での教示 センサ座標系設定済みのマニピュレータに、実際の作業
で把持させる物体あるいはそれに準じた物体(例えば、
同寸同形のダミー物体)を把持させた状態で、実際の作
業に相当した運動を行わせて位置・姿勢の教示を行う
が、その一方で、被把持物体をセンサ(センサ座標系設
定済み)で計測し、取得された被把持物体の位置・姿勢
データに基づきツール座標系を設定する為のデータを作
成しする。そして、重要な教示点については、該データ
を使ってマニピュレータにツール座標系を設定した上で
位置・姿勢の教示を行う。
【0015】この教示方法の原理について、図1を用い
て説明する。図中ΣM ;OM ―XYZ、ΣS ;OS ―x
yzは各々マニピュレータが有している作業座標系、マ
ニピュレータとセンサが共有しているセンサ座標系であ
り、OM 、OS は各座標系の原点を表している。マニピ
ュレータはワークWを把持しているものとする。Tはツ
ールポイントに対応するワークW上の特定点である。そ
して、点Tを原点として、ワークWと一体をなすツール
座標系ΣT を定義された状態を考える。例えば、ワーク
Wの軸方向をツール座標系ΣT の1つの軸(γ軸とす
る。)に一致させ、該座標軸γの方向及び向きが作業座
標系ΣM の1つの座標軸Zの方向及び向きに一致した
時、他の軸αがX軸に、β軸がY軸に一致するように定
義されたものとする。(実際の定義はセンサデータで行
う。後述の説明参照。) ツール座標系が定義されると、以後、ワーク(被把持物
体)の位置・姿勢はツール座標系の位置・姿勢と1対1
対応することになる。従って、センサ座標系を設定済み
のセンサで、被把持ワークWの位置・姿勢を計測するこ
とにより、センサ座標系ΣS 上で表されたツール座標系
データを取得することが出来る。このデータを、センサ
座標系からみたツール座標系を表現する同次変換行列
[TS ]で表すことにすると、次の関係式(1)が成立
する。
【0016】 [TM ]=[F]・[TH ]=[K]・[TS ] ・・・(1) ここで、[TM ]、[F]、[K]は、各々作業座標系
ΣM から見たツール座標系、フェイスプレート面代表点
Hを原点とするハンド座標系ΣH 及びセンサ座標系ΣS
を表現する同次変換行列である。また、[TH ]は、ハ
ンド座標系ΣHから見たツール座標系ΣT の位置・姿勢
を表す同次変換行列である。
【0017】式(1)を[TH ]について解き、[TS
]を含む式で表すと、下記(2)式となる。 [TH ]=inv.[F]・[K]・[TS ] ・・・(2) (但し、inv.[A]は任意の行列[A]の逆行列を表
す。) (2)式は、フェイスプレート代表点Hを原点とするハ
ンド座標系ΣH から見たツール座標系ΣT の位置と姿勢
を表現したものであるから、(2)式の右辺の計算を行
う際に[TS ]のデータとして、センサで実測されたも
のを用いれば、センサによる実測値通りの位置と姿勢を
有する仮想的なツール座標系をハンド座標系の原点Hか
ら見た時の位置と姿勢を表すデータが得られることにな
る。この[TH ]の値は、ワークWの把持状態自体に変
化が無い限り不変に保たれる性質を有している。
【0018】従って、任意の教示位置において、ワーク
Wに実現すべき位置・姿勢をとらせた状態における
[F]の値と、上記センサ実測データに基づく[TH ]
の値を使って(1)式中辺の計算を実行し、[TM ]の
教示値として採用すれば、上記仮想ツールの位置と姿勢
の作業座標系ΣM 上でのデータを教示していることにな
る。
【0019】つまり、センサデータに準拠した[TH ]
を与えることによって、上記仮想的なツール座標系が定
義・設定されたマニピュレータに対しては、該仮想的な
ツール座標系についての作業座標系ΣM 上でのデータを
指定する形で教示を行うことが可能になる。即ち、セン
サが計測したデータによって記述される仮想的な物体を
ツールとして扱うことが出来ることになる。
【0020】このような考え方を導入したことにより、
センサデータが、通常の教示・再生動作の仕組みの中で
一貫して扱われる共通データとされ得るようになった点
が本発明の基本的かつ重要な特徴点である。
【0021】位置・姿勢の教示時には、上記設定された
ツール座標系の(補正前の)目標値としての[TM ]を
教示点毎に教示するが、同時に、手首軸回転数やフリッ
プの有無(FLIP/NO FLIP)等のデータを含
むコンフィギュレーションデータC、冗長自由度を有す
るマニピュレータを使用する場合の逆運動解を作業に好
都合な唯一の解に定める為に指定する制約条件(例え
ば、肘角度)である冗長自由度規定データR等を教示す
る。マニピュレータが準拠する作業座標系ΣM 自体が未
設定の場合には、そのデータMも教示時に併せて設定す
ることも考えられる。
【0022】結局、ツール座標系設定を含めた教示時の
データとしては、各教示点についてこれらデータの組
{[TM ]、[TH ]、C、R、M}が用意乃至作成さ
れることになる。
【0023】(c)ツール座標系データ置換 本発明では、上記(b)で説明した原理に従ってツール
座標系を設定して教示を行ったマニピュレータに対し
て、再生動作起動後に位置・姿勢補正を加えることによ
り、把持状態等に変化を生じたとしても被把持物体が企
図された通りの位置・姿勢を実現するようにする。その
為に、先ず、教示データ通りにマニピュレータを再生動
作させ、重要な教示点を通過する前に、センサにより被
把持物体を観測して位置・姿勢を計測する。
【0024】そして、上記教示済みのデータの内、ツー
ル座標系データ相当部分のみを、適宜の時点で、上記再
生時点計測値(例えば、視覚センサを使用する場合には
被把持物体上の特徴点の位置データを用いる。この特徴
点は、必ずしも教示時の被計測特徴点と同一である必要
はない。要は、再生時位置・姿勢補正前におけるセンサ
データとしての[TH ]、乃至[TS ]が求められれば
良い。)に基づいて求められたツール座標系データに置
き換える。
【0025】即ち、教示時の[TH ]のデータ[TH ]
teach を、再生時の[TS ]の実測値[TS ]replay
を使って(2)式右辺の計算を実行して求められる[T
H ]の値[TH ]’に置き換える。ここで、[F]のデ
ータは、当該教示点(位置・姿勢補正は未実行)に関す
る教示済みデータから取得する。
【0026】そして、他のデータ部分[TM ]、C、
R、M等については、教示時のデータを書き換えること
なく保存する。
【0027】つまり、教示データの内、ツール座標系デ
ータ部分のみを再生時の実測データに準拠したデータに
置き換える。このツール座標系データ置換によって、マ
ニピュレータの位置補正動作に必要なデータが用意され
たことになる。この位置補正用データを利用して補正さ
れた動作内容を決定する原理については、次の(d)の
項で説明する。
【0028】(d)再生時の位置・姿勢補正 前記式(1)を[F]についての方程式と見て解くと直
ちに次式(3)が得られる。
【0029】 [F]=[TM ]・inv.[TH ] ・・・(3) ここで、教示時に指定された[TM ]の値は、最終的に
実現されるべき被把持物体の位置・姿勢に対応したツー
ル座標系ΣT の位置・姿勢を作業座標系ΣM 上で表現し
たものであるから、教示時と再生時(補正後)とで共通
した不変の値をとるべきである。また、[TH ]は、フ
ェイスプレート代表点Hから見たツール座標系ΣT の位
置・姿勢を表すから、教示時点と再生時点では変化して
も、再生動作開始後の補正動作によって変化することは
ない(マニピュレータによる物体把持自体は堅固であ
り、把持後に把持状態がぐらつくことはないものとす
る。)。これらの事を考慮に入れて上記(3)式を教示
時と再生時(補正後)について記してみると、次のよう
になる。
【0030】 [F]teach =[TM ]・inv.[TH ]teach ・・・(4) [F]af.corr.=[TM ]・inv.[TH ]’ ・・・(5) (5)式から[TM ]を消去すると、次の(6)式にな
る。 [F]af.corr.=[F]teach ・[TH ]teach ・inv.[TH ]’ ・・・(6) この(5)式または(6)式によって、最終的に実現さ
れるべきフェイスプレート代表点(ハンド座標系原点)
の位置とフェイスプレート(ハンド座標系)の姿勢が求
められることになる。(6)式右辺の[TH ]teach 及
びinv.[TH ]’は、いずれもセンサデータ[TS ]te
ach あるいは[TS ]’に基づいて、式(2)を用いて
計算される。(2)式における[F]としては、[TH
]teach計算時には、センサ計測時点における[F]te
ach が用いられるべきであり、また、inv.[TH ]’の
計算を行う際には再生時(補正前)のセンサ計測時点に
おける[F]bef.corr. が各々用いられるべきである。
【0031】しかしながら、フェースプレートの位置・
姿勢の教示・再生にずれが無い限り、センサによるワー
クWの計測実行位置においては、[F]teach =[F]
bef.corr. である。(新たなワークW’を把持して再生
段階に入っていても、ワークW’のセンサ実測データに
基づくツール座標系再定義を行うまでは、教示段階にお
いて定義されたツール座標系について、教示された通り
の位置・姿勢が再現される。)従って、(2)式の右辺
で、教示時と再生時(補正前)の違いが現れるのはセン
サデータである[TS ]([TS ]teach と[TS
]’)のみである。ところで、センサ座標系設定時の
キャリブレーション誤差は、[TS ]teachと[TS ]r
eplayに共通の影響を及ぼしていると考えられるから、
その影響は(2)式の関係を介してそのまま[TH ]te
ach 及び[TH ]’に及んでいるとみるべきである。
【0032】ところが、実現されるべき位置・姿勢を定
める(6)式の右辺には、ツール座標系の表現行列の逆
行列inv.[TH ]’が、[TH ]teach との乗算の形で
入っているので、センサ座標系設定誤差の影響の相当部
分は互いに打ち消し合うことになる。その結果、(6)
式右辺全体に対するセンサ座標系設定誤差の影響は極め
て小さくなっている。この誤差低減作用は、前述した従
来技術には期待し得ない、本発明の位置・姿勢補正方法
に固有の顕著な特徴である。
【0033】このように、教示時に作成された教示デー
タの内、[TH ]のデータは新たなセンサデータに基づ
いて置換され、[TM ]のデータはそのまま補正動作内
容を決定するのに用いられる。そして、その他の保存デ
ータ、コンフィギュレーションデータC、冗長自由度規
定データR等も非置換データとして補正動作時にそのま
ま使用することが出来る。これによって、補正動作後に
おけるマニピュレータの状態を、手首軸回転数、フリッ
プの有無(FLIP/NO FLIP)、肘角度等に関
して教示時に指定された通り状態を実現することが可能
となる。
【0034】実際にマニピュレータの運動を制御するに
あたっては、マニピュレータの各軸の位置θ=(θ1 、
θ2 、θ3 ・・・θn )[n は軸変数の数]を決定しな
ければならないが、上記(5)式または(6)式によっ
て実現されるべき[F]の値(行列成分)が定まってい
れば、公知の方法により、次式(7)で一般的に表記さ
れる逆運動演算を行うことで、各軸θ1 〜θn の値を定
めることが出来る。そして、それら値を制御目標値とす
る指令をマニピュレータに発することにより、(5)
式、(6)式を満足する補正動作が実行される。
【0035】 θ=Γ[F、C、R、θ(jb)] ・・・(7) 但し、Гは逆運動学計算関数と呼ばれるもので、具体的
な内容はマニピュレータの機構に依存して定められる。
また、θ(jb)=(θ1 (jb)、θ2 (jb)、・・・θn (j
b))はマニピュレータに指令を出す直前における各軸位
置θの値である。
【0036】
【実施例】上記の通り原理を中心に説明した本発明の位
置・姿勢補正方法を、図2に示されたシステムを用い
て、図3に例示された作業に適用する場合の具体的操作
及びデータ処理の手順の一例について、これらの図及び
図4のフローチャートを参照して順次説明する。図2
は、本発明の方法を実施する為に使用するシステムの1
例を示す概略ブロック図である。システム全体は、図中
番号10で示された画像処理装置、20で示されたマニ
ピュレータコントローラ及び図示を省略したマニピュレ
ータ本体から構成されている。
【0037】画像処理装置10は中央演算処理装置(以
下、CPUという。)11を有し、該CPU11には、
フレームメモリ(画像メモリ)12、ROMで構成され
たコントロールソフト用メモリ13、RAM等で構成さ
れたプログラムメモリ14、不揮発性RAMで構成され
たデータメモリ15、カメラインタフェイス16、画像
処理プロセッサ17及び通信インタフェイス18がバス
19を介して接続されている。
【0038】カメラインタフェイス16には、例えば、
製造ライン上に順次送り込まれて来る部品等をマニピュ
レータに把持された状態で撮像して、最高3次元の位置
・姿勢を検出するカメラ30が接続されている。図で
は、カメラは1台のみを示してあるが、実際に接続され
るカメラの台数は、被計測対象物のとる位置・姿勢の自
由度、必要な情報内容やスリット投影系等の付属手段を
含めた検出系の型式によって異なる。カメラを複数台使
用する場合には、カメラインタフェイス16内のコネク
タ番号を指定することにより、各カメラからの映像信号
を順次取り込むことが出来るようになっている。カメラ
30は、作業空間内に固定的に設置された状態で、マニ
ピュレータに把持された物体を撮像するものとする。
【0039】通信インタフェイス15は、マニピュレー
タコントローラ20側の通信インタフェイス28に接続
されており、両者を介して相互にデータや指令を表す信
号が送受信される。
【0040】カメラ30の視野で捉えられた画像は、グ
レイスケールによる濃淡画像に変換されてフレームメモ
リ12に格納することが出来る。画像処理プロセッサ1
7はフレームメモリ12に格納された画像を解析処理し
て、物体のカメラ画素面上の位置等を認識する。コント
ロールソフト用メモリ13には、CPU11が視覚セン
サを制御する為のコントロールプログラムが格納されて
おり、治具を用いてセンサ座標系ΣS を設定する為のキ
ャリブレーション用プログラム、画像処理プロセッサ1
7を用いて物体の位置や姿勢を求める為に必要な画像解
析プログラムや、適正なタイミングでマニピュレータ側
への計測データ送信を指令する為のプログラム等が格納
される。上記画像解析プログラムには、後述する図3の
作業に本発明を適用する為に、ワークWの3個の特徴点
T1 、T2 、T3 の各像を画像中から抽出し、各点の位
置を決定する為のプログラムが含まれている。また、メ
モリ19にはユーザが作成するプログラムが格納出来る
ようになっている。
【0041】なお、カメラ30の捉えた画像やフレーム
メモリ12から呼び出された画像を視認する為のTVモ
ニタを図示を省略したモニタインタフェイスを介して接
続することも出来る。
【0042】一方、マニピュレータコントローラ20
は、中央演算処理装置(以下、CPUという。)21を
有し、該CPU21には、制御プログラムを格納したR
OM22、計算データの一時記憶等の為に利用されるR
AM23、教示データやキャリブレーション用治具デー
タ等各種設定値が格納される不揮発性RAMで構成され
たメモリ24、マニピュレータ本体40の各軸を制御す
る軸制御器25、マニピュレータの手動操作、座標系設
定、位置教示、自動運転(再生動作)指令、センサ起動
指令等の画像処理装置との交信を行う為の教示操作盤2
6及び画像処理装置10側の通信インタフェイス18及
び図3におけるエフェクタEの制御部50に接続された
通信インタフェイス27がバス28を介して接続されて
いる。
【0043】画像処理装置10及びマニピュレータコン
トローラ20を含む上記システム構成は、従来のマニピ
ュレータ―センサシステムと基本的に変わるところはな
いが、本発明を実施する場合には、教示時にセンサデー
タに基づいてツール座標系を設定する為のプログラム、
再生時にツール座標系データを置換し、置換されたデー
タに基づいて補正動作を決定する補正データを作成する
為のプログラム(サブプログラム)等がROM22に格
納されると共に、それらプログラムを実行する際の各種
設定値(特徴点T1 、T2 、T3 の位置データに基づい
てツール座標系の原点位置と姿勢を定義するのに必要
な、ワークWの寸法データ等)が格納されている点が従
来と異なる。
【0044】以下、上記説明したシステムを使用し、図
3に示された作業を行う場合について述べる。図3は、
本発明の方法を適用する作業の簡単な一例を概念的に描
いたものである。図中、作業空間内の適宜位置に据え付
けられたマニピュレータ40(アーム等は図示を省略)
は、順次搬入コンベア(図示省略)で送り込まれて来る
ワークWを位置G1 で把持し、計測位置Aを経て作業位
置Bに至り、次いで搬出コンベア(図示省略)上の位置
G2 にワークを置く作業を行う。搬入コンベアはリミッ
トスイッチ等を利用したシステムによって、位置C1 か
らワークWが離れると自動的に次のワークを位置C1 に
送り込むように設定されており、一方搬出コンベアは、
教示作業開始後は、常時運転状態にあるものとする。
【0045】センサ手段としては、カメラ30(台数に
ついては、前述の通り)を含む視覚センサを使用し、計
測位置AでワークWの3点T1 、T2 、T3 の位置を観
測することによって、ワークWの特定点(例えば重心)
Tを原点とするツール座標系を設定する為のデータを得
るものとする。
【0046】ここでは、ワークWを直方体で代表させ、
3つの軸TT1 、TT2 、TT3 を設定されるべきツー
ル座標系ΣT のα、β、γ各軸に対応させるものとす
る。視覚センサにセンサ座標系ΣS が設定された後に
は、点T1 〜T3 の観測データに基づいて、点Tを原点
とするツール座標系ΣT (T―αβγ)に関するセンサ
座標系上データ(同次変換行列[TS ]の各成分デー
タ)が画像処理装置10側で用意され、通信インタフェ
イス18、27を介してマニピュレータコントローラ2
0に伝送されるようになっている。作業位置Bでは、ワ
ークW上の特定点Pに対してエフェクタEによる作業
(例えば、ワーク上の定点Pから垂直に穿たれた角孔に
対して、該角孔に整合した角形ピンをエフェクタEを用
いて差し込む作業)が行われ、その際にワークWの3次
元位置及び姿勢が厳密に制御される必要があるものとす
る(例えば、上記ピン差込み作業では、角孔の位置と姿
勢のいずれか一方にずれがあると差込み作業が正常に行
われない。)。また、位置G2 でワークWを搬出コンベ
ア上に解放する際にもマニピュレータの位置・姿勢を正
確に保ち、ワークの転倒を防止することが要求されてい
るものとする。結局、図3の作業例において位置・姿勢
の補正が必要とされるのは、作業位置Bとワーク解放位
置G2 であるということになる。
【0047】以下、作用の説明の欄の記述順序に準じ
て、上記例示された作業を実行する際のシステムの操作
及びデータ処理の手順について述べる。全体作業は大き
く(a)センサ座標系設定(キャリブレーション)、
(b)把持状態での教示、(c)再生時のツール座標系
データ置換による位置・姿勢補正用データの作成及び
(d)補正された再生動作、に分けることが出来る。
【0048】まず、(a)のキャリブレーション(ツー
ル座標系設定)の手順を図4のフローチャートに沿って
簡単に記すと、初めに、キャリブレーション用の治具を
定位置に配置し(ステップC1)、マニピュレータコン
トローラの教示操作盤26を操作して、通信インタフェ
イス27、18を介してセンサを起動する。センサは、
治具の計測を行い(ステップC2)、コントロールソフ
ト用メモリ13に格納されたキャリブレーション用プロ
グラムに従って、カメラ座標系とセンサ座標系ΣS の関
係を定める形でセンサ座標系の設定を実行する。その
際、カメラ座標系とセンサ座標系の関係を表すデータ
は、データメモリ15に格納される(ステップC3)。
【0049】治具及びセンサ座標系設定の方式には、種
々のものがあるが、本発明ではいずれの方式によっても
良い。例えば、カメラを3台配置し、ステップC2で原
点に区別された特徴を付与して既知間隔L、m行n列の
格子状配列(原点と行及び列が設定されるセンサ座標系
の原点、x軸、y軸等に対応している。)を形成する特
徴点群を有する治具を定位置に配置し、ステップC3で
この治具を各カメラで撮影する。そして、撮影された各
画像をフレームメモリ12に記憶した上で、予め画像処
理装置10のデータメモリ15に設定しておいたデータ
(L,m,n)を使用して、コントロールソフト用メモ
リ13に格納されているキャリブレーション用プログラ
ムを実行するように教示操作盤26を操作することによ
り、各カメラのカメラ座標形とセンサ座標系との関係を
定めるという方法がある。
【0050】センサ側のセンサ座標系設定が終了した
ら、マニピュレータ40に座標設定用のツールを取り付
けて(ステップC4)、マニピュレータを起動し、手動
モードに設定する(ステップC5)。教示操作盤26を
操作して、センサ計測を行った治具の特徴点を座標設定
用ツールで順次タッチアップし(ステップC6)、マニ
ピュレータにセンサ座標系ΣS を設定すると共に、作業
座標系ΣM とセンサ座標系ΣS の関係を表現する同次変
換行列[K]のデータをRAM24に格納して(ステッ
プC7)、キャリブレーションを終了する。
【0051】センサとマニピュレータが共有するセンサ
座標系ΣS が設定されたならば、マニピュレータに、実
際の作業で把持させる物体あるいはそれに準じた物体
(例えば、同寸同形のダミー物体)を把持させた状態
で、図3に示した作業に相当した運動を行わせて位置・
姿勢の教示を行う(b)の段階に進むが、これを図5に
示したフローチャートに従って説明する。ここでは、教
示時・再生時の各々において把持する物体は、一貫して
同寸同形の「ワーク」であるとする。
【0052】まず、教示操作盤26から教示動作開始の
指令を発すると、マニピュレータとセンサのCPU1
1、21は共に教示モードにおける処理動作を開始する
態勢に入る(スタート)。マニピュレータ側では、オペ
レータが教示操作盤26を操作して、外部装置のコント
ローラ40を介して位置G1 へワークWを送り込む。オ
ペレータは、ワークWの到着を確認した上で、教示操作
盤を操作し、マニピュレータを待機位置G0 からワーク
Wを正常に把持出来る位置G1 迄移動し(ステップMT
1)、位置G1 に関して通常のやり方で位置・姿勢の教
示を行う(ステップMT2)と共に、ワークWを把持す
る(ステップMT3)。センサ側では、教示動作の開始
後直ちに、マニピュレータからの信号を待つ受信待ちの
態勢に入っている(ステップST1)。
【0053】続いて、教示操作盤26を操作して、ワー
クWを把持したマニピュレータを位置Aへ移動させ、以
後の再生動作時において実現させたい位置と姿勢を選ん
で停止させ(ステップMT4)、位置Aに関して通常の
やり方で位置・姿勢の教示を行う(ステップMT5)。
この状態で、教示操作盤26を更に操作し、センサを起
動してワークWの計測を開始する指令を、データ処理の
方式の指定等必要な付帯情報と共にセンサ側に送信する
(ステップMT6)。マニピュレータコントローラ10
は、送信終了後直ちにセンサからの信号を受信する態勢
に入る(ステップMT7)。
【0054】送信を受けたセンサコントローラ20のC
PU11(ステップST2)は、コントロールソフト用
メモリ13から読み出される計測処理の為のプログラム
に従って、マニピュレータに把持されたワークWの計測
処理を実行する(ステップST3)。即ち、カメラ30
によって取得され、カメラインタフェイス16を介して
フレームメモリ12に格納された画像を画像処理プロセ
ッサ17により解析し、画像中から3個の特徴点T1 、
T2 、T3 を抽出する。そして、これら特徴点の位置
を、データメモリ15に格納されたセンサ座標系とカメ
ラ座標系の関係を表すデータを用いてセンサ座標系上の
座標値データの形で求め、データメモリ15に格納する
ことで計測処理が終了する。
【0055】計測処理の終了は、マニピュレータ側に送
信され(ステップST4)、マニピュレータはこれを受
信して(ステップMT8)、その応答として、計測デー
タの送信を指令する(ステップMT9)。CPU21
は、これを受信して(ステップST5)、データメモリ
15に記憶されているT1 、T2 、T3 のセンサ座標系
上での座標値データをマニピュレータ側に送信し(ステ
ップST6)、マニピュレータコントローラ10は通信
インタフェイス18を介してこれを受信する(ステップ
MT10)。教示段階におけるセンサの役割はこれで終
了する(センサ側エンド)。
【0056】マニピュレータコントローラ10のCPU
21は、ROM20から読み出されるツール座標系設定
用のプログラムに従いツール座標系ΣT を設定する(ス
テップMT11)。即ち、ステップMT10で受信した
データに基づき、不揮発性メモリ24に格納されている
設定値(ワークWの寸法データ等)を使って、センサ座
標系ΣS から見たツール座標系ΣT の位置と姿勢を表わ
す同次変換行列[TS ]をセンサデータとして求め、該
センサデータと、先にキャリブレーション(ステップC
7)で設定された同次変換行列[K]のデータとに基づ
いて、前記(2)式の右辺、inv.[F]A ・[K]・
[TS ]を計算して、同次変換行列[TH ]A の成分デ
ータを決定し、ツール座標系表現データとして、不揮発
性メモリ24に格納する。その際、[F]A のデータ
は、マニピュレータの現在位置データに含まれているも
のを読み出して利用する。
【0057】以上述べたステップMT11が終了した
ら、ワークWを把持したまま作業位置Bに向けてマニピ
ュレータを移動させ、エフェクタEによる作業(孔Pへ
の角形ピンの差込み)が適正に行える位置で停止する
(ステップMT12)。位置Bにおける位置・姿勢の教
示は、位置Aにおいて設定された仮想ツール(ツール座
標系ΣT )に対しての位置・姿勢の教示を行う形をと
る。即ち、ステップMT11で求めた[TH ]のデータ
と位置B停止時における[F]B のデータに基づき、前
記(1)式の中辺を計算した結果に相当する[TM ]B
=[F]B ・[TH ]のデータを、ツールポイントTに
対する教示データとして教示する(ステップMT1
3)。
【0058】ステップMT13が終了したら、教示操作
盤26を再び操作して、マニピュレータを位置G2 へ移
動させる(ステップMT14)。尚、作業位置Bにおけ
る最終的な停止位置を定めるに当たっては、教示操作盤
26から外部装置40に指令を発して実際にエフェクタ
Eを作動させ、ピンをワークWの孔(P)に差し込む動
作を試験的に実行して、ワークWが適正な位置と姿勢を
とっていることを確認することが好ましい。その場合に
は、ピンが差し込まれた状態でワークWが位置BからG
2 に運ばれ、位置Bにおける教示に準じた教示が実行さ
れる(ステップMT15)。
【0059】位置G2 におけるデータ教示に前後して、
教示操作盤26から「ハンド開く」の指令を出してワー
クWの把持状態を解除し、ワークWを常時運転状態にあ
るコンベア上に載置する(ステップMT16)。ワーク
Wを解放したマニピュレータは、ホームポジションG0
へ戻される(ステップMT17)。そして、このホーム
ポジションG0 においても、位置BあるいはG2 に準じ
たデータ教示を行い(ステップMT18)、教示動作を
終了する(エンド)。
【0060】以上の教示動作において、各位置A、B、
G2 、G0 、G1 で与えた教示データの対応行番号をN
A 、NB 、NG2、NG0、NG1とすると、実際の作業サイ
クルがG0 を出発点として、G1 、A,B、G2 を経
て、G0 に戻って来るものであることから、NG1<NA
<NB <NG2<NG0の関係が成立している。
【0061】上記説明した移動関連の教示の他に、マニ
ピュレータ制御プログラムの行番号NG1とNA の間に
は、ワークWを把持する為の命令(ハンド閉)が入る。
その行番号をNCLで代表させる。NB とNG2の間には、
通信インタフェイス27を介してエフェクタ制御部50
に位置Bへの到着を知らせてエフェクタEを作動させ、
エフェクタによる作業(ピン差込み)の終了を受信・確
認する為の幾つかの命令が入る。これらを行番号NEFで
代表させる。また、NG2とNG0の間には、ワークWを解
放する為の命令(ハンド開)を挿入し、これを行番号N
OPで代表させる。
【0062】更に、行番号NA とNB の間には、作用の
説明の欄で述べた手順に従って、センサを起動して新た
に把持されたワークWの位置・姿勢を計測し、その結果
に基づいてツール座標系を設定する為のプログラム(サ
ブプログラム)を実行する為に必要な命令が挿入され
る。その行番号をNSBで代表させる。
【0063】これらの命令を含めた行番号の大小関係
は、NG1<NCL<NA <NSB<NB <NEF<NG2<NOP
<NG0となる。その他、必要な命令がしかるべき行番号
部分に挿入されて、制御プログラム全体が完成される。
【0064】また、各教示点位置における教示に際して
は、以上説明したデータの他に、コンフィグレーション
データとして手首回転数等を規定するデータC並びに冗
長度規定データとして肘角度を表すデータRを教示する
ものとする。このデータC、Rの教示は、マニピュレー
タに実際の作業と同等の動きをさせて教示を行うことを
前提にして、マニピュレータの各位置到達時点における
C、Rのデータをそのまま教示する形で実行することが
出来る。
【0065】結局、各教示位置G1 、A、B、G2 、G
0 について、前述したツールポイントに関するデータ
[TM ]、[TH ]の他に、これらデータC、Rを含む
データセットDG1、DA 、DB 、DG2、DG0が作成され
ることになる。各データセットの構成は、次のようにな
る。 DG1={[TM ]G1、[TH ]bef.sensg.、CG1、RG
1、ΛG1} DA ={[TM ]A 、[TH ]bef.sensg.、CA 、RA
、ΛA } DB ={[TM ]B 、[TH ]aft.sensg.、CB 、RB
、ΛB } DG2={[TM ]G2、[TH ]aft.sensg.、CG2、RG
2、ΛG2} DG0={[TM ]G0、[TH ]aft.sensg.、CG0、RG
0、ΛG0} ここで、添字G1、A 、B 、G2、G0は各位置G1 、A、
B、G2 、G0 についてのデータであることを表し、添
字bef.sensg.、aft.sensg.は、各々センサによる計測
前、計測後のデータを表す。Λは、各位置における他の
教示データ、例えば、移動速度、動作形式、位置決め形
式等を指定するデータである。
【0066】尚、DG0については、精密な位置・姿勢制
御は特に必要がないことを考慮して、センサデータ[T
H ]aft.sensg.を用いずに、[TH ]bef.sensg.をその
まま使って、DG0={[TM ]G0、[TH ]bef.sens
g.、CG0、RG0、ΛG0}とすることも出来る。
【0067】このようにして作成された制御プログラム
(補正動作の為のサブプログラムを含む)を再生し、実
際の作業を実行する場合の各CPU11、21の処理手
順を、図6及び図7に示したフローチャートを参照して
説明する。尚、各フローチャート及び関連説明は、上述
のNG1、NCL、NA 、NSB、NB 、NEF、NG2、NOP、
NG0に関連した命令の為の処理のみについて記載し、他
の処理については説明の便宜上記載をほぼ省略した。
【0068】教示操作盤26からの再生動作開始指令を
受けてマニピュレータのCPU21は自動運転モードの
再生動作を開始させると共に(マニピュレータ側スター
ト)、センサの画像処理装置10に再生動作開始を知ら
せる。センサ側では、これを受けて直ちにマニピュレー
タコントローラ20からの信号の受信待ちの状態に入る
(ステップSR1)。
【0069】CPU21は、教示されたプログラムを1
行づつ読み出し、順次命令を実行することを開始する。
先ず、行番号NG1以前に実行すべき命令があれば、それ
を順次実行した後(以後、着目行番号間の命令について
は同様の扱いとし、このような文言を省く。)、行番号
NG1の命令を読出し(ステップMR1)、教示されたG
1 位置へ移動する(ステップMR2)。行番号NCLが読
み出されたら(ステップMR3)、ハンドを閉じてワー
クW’を把持する(ステップMR4)。
【0070】次いで、行番号NA が読み出されると(ス
テップMR5)、マニピュレータを教示されたA位置へ
移動させる(ステップMR6)。センサ視野に入る位置
Aに到着後、行番号NSBが読み出されると(ステップM
R7)、CPU21は補正用サブプログラムに従った処
理(ステップMR8)を開始させる(図7、マニピュレ
ータ側スタート)。
【0071】図7を参照して、補正用サブプログラムの
処理及び対応するセンサ側の処理(ステップSR2)を
説明する。先ず、マニピュレータ側からセンサ起動指令
をセンサ側に送信し(ステップMQ1)、既にステップ
MR1で受信待ち状態にあるセンサコントローラ10で
これを受信する(ステップSQ1)。CPU11は、前
述の教示段階と全く同じ処理手順(図5、ステップST
3の説明参照。)に従ってワークW’の計測処理を実行
する(ステップSQ2)。
【0072】計測処理が終了したら、マニピュレータ側
に計測処理終了を送信する(ステップSQ3)。ステッ
プMQ2で受信待ち状態に入っているマニピュレータコ
ントローラ10は、これを受信し(ステップMQ3)、
その応答として計測データの送信をセンサに指令・送信
する(ステップMQ4)。画像処理装置10は、これを
受信し(ステップSQ4)、応答としてW’に関する計
測データをマニピュレータコントローラ20に送信する
(ステップSQ5)。1作業サイクルに対応したセンサ
側の処理は、これですべて終了する(図6、図7、セン
サ側エンド)。
【0073】マニピュレータ側では、ステップMQ5で
ワークW’の計測データを受信すると、CPU21は、
ステップMQ5で受信した新規なセンサデータに基づい
て、前述の(2)式を計算して[TH ]’を求め、不揮
発性メモリ24に格納して(ステップSQ6)ステップ
MR8のサブプログラム処理を終了する(サブプログラ
ムエンド)。尚、(2)式を計算する際の[F]のデー
タ[F]B は、教示時のデータDB に含まれているか
ら、それを用いれば良い。
【0074】CPU21は、ステップMR8が終了する
と、位置Aから位置Bでなく、補正されたB位置(B’
とする。)へ移動する為の処理を行う。先ず、不揮発性
メモリ24から行番号NB に対応するデータセットDB
を読出してコピーし、複製物として得られたデータセッ
トDB 中の[TH ]を上記補正用サブプログラム処理中
のステップMQ6で得られた[TH ]’に書き換えて、
更新されたデータセットDB ’を作成する(ステップM
R9)。作用の説明の欄で詳しく述べたように、このツ
ール座標系データ[TH ]の[TH ]’への置換以外に
は、データの書換えは行われない。即ち、他のデータ、
[TM ]B 、RB 、CB 、ΛB は、DB’の中で教示値
通りのまま保存される。
【0075】データセットDB ’が作成されたら、位置
B’に関して前記式(5)に相当する計算を行う(ステ
ップMR10)。これを表記すれば、 [F]B ’=[TM ]B ・inv.[TH ]’ ・・・(8) となる。(8)式の右辺のデータはすべてDB ’の中に
含まれている。
【0076】この(8)式を計算して得られる[F]B
’が実現されるように、マニピュレータを移動させれ
ば、補正されたB位置(B’とする。)、即ち、エフェ
クタEによる角ピン差込み処理が正しく行われる為のワ
ークW’の位置・姿勢)が実現されることになる。そこ
で、現在位置A([F]=[F]A )、目標位置B’
([F]=[F]B ’)間を適宜数の補間区間に分けて
補間計算を行い、各補間点について、順次前記式(7)
の計算を行うことによって、順次θの指令値を定めて、
位置B’へ移動する(ステップMR11)。
【0077】即ち、補間点数をB’を含めてq個とする
と、i番目の補間点に対する各軸値θ[i] を求める式
は、次のようになる。(i=0,1,2,3....q、θ[0] =θA
、θ[q] =θB ’とする。) θ[i] =Γ[F[i] 、C[i] 、R[i] 、θ[i-1] ] ・・・(9) ここで、F[i] 、C[i] 、R[i] は、各々i番目の補間
点に対応するF、C、Rの値を表し、θ[i-1] は、直前
各軸値として採用されるi―1番目の補間点の各軸値を
表す。従って、i=1から順を追って式(9)を計算す
れば、B’を含めて、全補間点の各軸値が求めることが
出来る。
【0078】A位置から、補正されたB位置である位置
B’への移動が終了したら、エフェクタEによるピン差
込み作業を実行する為の処理を実行する(ステップMR
12)。この処理は、エフェクタ制御部50へのB’位
置到着報知、エフェクタ作動、エフクタ制御部50から
マニピュレータコントローラ20への差込み作業完了報
知等を含んでいる。
【0079】ピン差込み作業の終了後、位置B’から補
正されたG2 位置であるG2 ’への移動の為の処理を行
うが、ステップMR9〜ステップMR11の処理に準じ
て実行される。即ち、行番号NG2に対応したデータセッ
トDG2を読出して、コピーを作成してから、[TH ]を
センサデータによる[TH ]’に書き換えたDG2’を作
成する(ステップS13)。他のデータ、[TM ]B 、
RB 、CB 、ΛB は、DB ’の中で教示値通りのまま保
存される。
【0080】次いで、DG2’に基づいて、位置G2 に関
して前記式(5)に相当する計算を行い、[F]B ’を
求める(ステップMR14)。これを表記すれば、 [F]B ’=[TM ]B ・inv.[TH ]’ ・・・(9) となる。(8)式の右辺のデータはすべてDB ’の中に
含まれている。
【0081】この(9)式を計算して得られる[F]G
2’を用いて現在位置A([F]=[F]B')、目標位
置G2 ([F]=[F]G2)間を適宜数の補間区間に分
けて補間計算を行い、各補間点について、順次前記式
(7)の計算を行うことによって、順次θの指令値を定
めて、位置G2 ’へ移動する(ステップMR15)。各
補間点の各軸値が求め方は、位置Aから位置B’への移
動の際と同様なので、繰り返して述べることを省略す
る。
【0082】G2 ’に到着したら、行番号NOPの命令を
読み出し(ステップMR16)、ハンドを開いてワーク
W’を解放して搬出コンベア上に載置する(ステップM
R17)。ここでも、ワークW’の位置と姿勢が教示時
と同一となるようにマニピュレータの位置と姿勢が補正
されている状態でハンドが開かれるから、コンベアへの
載置に際して、ワークが転がる等のトラブルが防止され
る。
【0083】ワークW’の解放後、行番号NG0に対応し
たDG0を読出し(ステップMR18)、G2 ’からG0
位置に至る軌道を計算し(ステップMR19)、G0 へ
移動して(ステップMR20)、1作業サイクルの再生
動作の処理を終了する(マニピュレータ側エンド)。
【0084】2個目以降のワークW’、W”・・・を把
持して、作業を繰り返し実行する場合には、各作業サイ
クルにおいて、センサ計測位置(A位置)までは前回の
再生過程で使用されたツール座標系データを利用し、A
位置でツール座標系表現データを[TH ]”以下に毎回
書き換えて、上記説明した処理を繰り返して実行すれば
良い。
【0085】尚、上記説明では、センサ計測位置Aから
補正されたB位置B’へ向かう軌道をとらせたが、これ
に代えて、センサ計測位置Aから補正前の位置Bへ一旦
移動した後で、B’へ移動する軌道を選択しても差し支
えないことは言うまでもない。
【0086】また、図3の作業例において厳密な位置・
姿勢の制御が要求されるのはエフェクタによるピン差込
み作業を行うB位置であることを考慮して、B位置でセ
ンサによる計測を実行しても良い。一般には、再定義さ
れたツール座標系表現データを含むデータのセットDB
’、DG2’等を用意出来る限り、センサ実測位置以降
の任意の教示位置で補正動作を実行することが可能であ
る。センサによる実測位置は、この事を考慮して、補正
の必要な位置を通過する以前の位置で計測に都合が良い
(把持物体を観測し易い等。)場所を選択して設定する
ことが好ましい。
【0087】また、ワークの位置のみが問題であり、姿
勢について特に要求が無い場合等においては、センサは
ワークの位置のみを実測し、ツール座標系データの実質
的な部分を位置データのみで構成するようにすれば、マ
ニピュレータの位置のみを補正して作業行うケースに本
発明の方法を適用することが可能なことも特に説明を要
しないであろう。
【0088】更に、本発明において使用されるセンサと
しては、視覚センサが最も一般的であるが、被把持物体
の形状、性質や作業の内容に応じて、視覚センサ以外の
電気的、磁気的あるいは機械的な原理を利用した各種の
センサを用いることも、本発明の原理に照らして全く差
し支えのないことである。
【0089】
【発明の効果】本発明の効果(長所)を列挙すれば、次
のようになる。
【0090】(イ)センサデータは教示時と再生時にお
けるツール座標系の定義・設定に使われるのみであるか
ら、ツール座標系の定義・設定が済めばセンサデータを
記憶・格納しておく必要がない。また、教示・再生時に
おけるデータ処理を同形にすることが可能であるから、
センサ側に用意される情報処理・記憶システムを簡素な
ものとすることが出来る。
【0091】(ロ)作用の説明の欄で詳しく述べたよう
に、実現されるべきマニピュレータの位置・姿勢を規定
する式に、再生時のツール座標系の表現行列の逆行列で
あるinv.[TH ]’が、[TH ]teach との乗算の形で
入っているから、センサ座標系設定誤差の影響の相当部
分は互いに打ち消し合うことになる。その結果、多少の
センサ座標系設定誤差があったとしても、補正動作の精
度が大きく低下することが無い。この誤差低減作用は、
本発明の方法に固有な、特に顕著な特徴である。
【0092】(ハ)教示時に作成される教示データは、
[TH ]のセンサデータを除いて、再生時にそのまま保
存されているから、マニピュレータの位置・姿勢を補正
しながら、コンフィギュレーションデータC、冗長自由
度規定データRを使用することにより、手首軸回転数、
肘角度等に関して、マニピュレータに教示された通りの
状態を補正後も維持させることが出来る。
【0093】(ニ)被把持物体のセンサによる計測は、
ツール座標系を定める為に行われるから、教示時と再生
時で実際に計測する特定点は必ずしも同一である必要は
ない。
【0094】従って、例えば、把持ずれの生じ方が特定
されるような場合には、該ずれをより正確あるいは簡便
に計り得る特定点を再生時の計測点に選んでツール座標
系の再定義を行うことも可能となる。
【図面の簡単な説明】
【図1】本発明の原理を説明する為に、センサ座標系、
作業座標系、ツール座標系及びハンド座標系の関係を概
念的に表した図。
【図2】本発明を実施する際に使用されるマニピュレー
タコントローラ、視覚センサの画像処理装置を含むシス
テムの要部ブロック図。
【図3】本発明の方法を適用する作業の一例を説明する
概略図。
【図4】マニピュレータとセンサに共通のセンサ座標系
を設定するキャリブレーションの手順を説明する為のフ
ローチャート。
【図5】本発明の方法を図3の作業例に適用した場合の
教示段階における処理手順を説明する為のフローチャー
ト。
【図6】本発明の方法を図3の作業例に適用した場合の
再生動作段階における処理手順を説明する為のフローチ
ャート。
【図7】本発明の方法を図3の作業例に適用した場合の
再生動作段階における補正用サブプログラムの処理を説
明する為のフローチャート。
【符号の説明】
ΣS センサ座標系 ΣM 作業座標系 ΣT ツール座標系 ΣH ハンド座標系 W ワーク T ツール座標系原点 T1 、T2 、T3 ワーク上特徴点 E エフェクタ(角形ピン差込み装置) P 角孔 G0 マニピュレータ初期位置(ホームポジション) G1 ワーク把持位置 A センサ計測位置 B 角形ピン差込み作業位置 G2 ワーク解放位置 10 画像処理装置 20 マニピュレータコントローラ 30 カメラ 40 マニピュレータ本体 50 エフェクタ制御部 19 バス(画像処理装置) 28 バス(マニピュレータコントローラ)
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 G05B 19/18 K 9064−3H 19/403 P 9064−3H 19/42 G 9064−3H W 9064−3H G05D 3/12 K 9179−3H T 9179−3H

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 物体を把持して作業を行うマニピュレー
    タの位置と姿勢の少なくとも一方を、センサ手段の検出
    する前記被把持物体の位置と姿勢の少なくとも一方のデ
    ータに基づいて補正する為に、(a)前記センサ手段と
    前記マニピュレータが共有するセンサ座標系を設定する
    段階と、(b)前記マニピュレータに物体を把持した状
    態で該マニピュレータに動作の教示を行うに際して、該
    被把持物体の位置と姿勢の少なくとも一方に関するデー
    タを前記センサ手段を利用して取得し、該センサ取得デ
    ータに基づいて定義されたツール座標系を前記マニピュ
    レータに設定した上で動作教示を行う段階と、(c)前
    記教示内容を再生して前記マニピュレータを動作させる
    に際して、前記定義されたツール座標系のデータを、該
    再生時の被把持物体の位置と姿勢の少なくとも一方に関
    して前記センサ手段によって取得されるデータに書き換
    える形でツール座標系を再定義して、マニピュレータの
    位置と姿勢の少なくとも一方を補正する為のデータを提
    供する段階と、(d)該補正用データと前記教示時に教
    示された他のデータに基づいてマニピュレータの位置及
    び姿勢の少なくとも一方を制御する段階とを含むマニピ
    ュレータの物体把持作業における位置・姿勢補正方法。
  2. 【請求項2】 前記段階(b)における教示に際して、
    ツール座標系データ以外に、マニピュレータコンフィギ
    ュレーションデータと冗長度規定データの内の少なくと
    も一方を含む付帯データを合わせて教示し、前記(c)
    のツール座標系再定義の段階時に該付帯データは非置換
    データとし、前記(d)の再生段階時に、前記付帯デー
    タを利用した動作制御を行う請求項1に記載されたマニ
    ピュレータの物体把持作業における位置・姿勢補正方
    法。
JP35251392A 1992-12-10 1992-12-10 マニピュレータの物体把持作業における位置・姿勢補正方法 Pending JPH06175716A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35251392A JPH06175716A (ja) 1992-12-10 1992-12-10 マニピュレータの物体把持作業における位置・姿勢補正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35251392A JPH06175716A (ja) 1992-12-10 1992-12-10 マニピュレータの物体把持作業における位置・姿勢補正方法

Publications (1)

Publication Number Publication Date
JPH06175716A true JPH06175716A (ja) 1994-06-24

Family

ID=18424584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35251392A Pending JPH06175716A (ja) 1992-12-10 1992-12-10 マニピュレータの物体把持作業における位置・姿勢補正方法

Country Status (1)

Country Link
JP (1) JPH06175716A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0871071A (ja) * 1994-09-01 1996-03-19 Olympus Optical Co Ltd 手術用マニピュレータシステム
WO1998017444A1 (fr) * 1996-10-24 1998-04-30 Fanuc Ltd Systeme de robot de commande de forces a capteur optique pour travail d'insertion
JP2002331480A (ja) * 2001-05-09 2002-11-19 Fanuc Ltd 干渉回避装置
JP2011031346A (ja) * 2009-08-03 2011-02-17 Fanuc Ltd ロボットのツール先端点の位置の計測装置および計測方法
JP2017170571A (ja) * 2016-03-24 2017-09-28 セイコーエプソン株式会社 ロボット、ロボット制御装置、及びロボットシステム
JP2017227635A (ja) * 2016-06-21 2017-12-28 エフ.ホフマン−ラ ロシュ アーゲーF. Hoffmann−La Roche Aktiengesellschaft 受渡し位置を設定する方法及びラボラトリ自動化システム
CN108356828A (zh) * 2018-01-30 2018-08-03 深圳市圆梦精密技术研究院 工件坐标系修正方法
CN111299929A (zh) * 2020-03-18 2020-06-19 福建省特种设备检验研究院 一种自动测量与校正焊接机器人焊枪姿态的方法
JP2021079527A (ja) * 2019-11-19 2021-05-27 財團法人資訊工業策進會 ロボットアームの位置決め精度の測定システムおよび方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0871071A (ja) * 1994-09-01 1996-03-19 Olympus Optical Co Ltd 手術用マニピュレータシステム
WO1998017444A1 (fr) * 1996-10-24 1998-04-30 Fanuc Ltd Systeme de robot de commande de forces a capteur optique pour travail d'insertion
US6141863A (en) * 1996-10-24 2000-11-07 Fanuc Ltd. Force-controlled robot system with visual sensor for performing fitting operation
JP2002331480A (ja) * 2001-05-09 2002-11-19 Fanuc Ltd 干渉回避装置
JP2011031346A (ja) * 2009-08-03 2011-02-17 Fanuc Ltd ロボットのツール先端点の位置の計測装置および計測方法
JP4763074B2 (ja) * 2009-08-03 2011-08-31 ファナック株式会社 ロボットのツール先端点の位置の計測装置および計測方法
JP2017170571A (ja) * 2016-03-24 2017-09-28 セイコーエプソン株式会社 ロボット、ロボット制御装置、及びロボットシステム
JP2017227635A (ja) * 2016-06-21 2017-12-28 エフ.ホフマン−ラ ロシュ アーゲーF. Hoffmann−La Roche Aktiengesellschaft 受渡し位置を設定する方法及びラボラトリ自動化システム
CN108356828A (zh) * 2018-01-30 2018-08-03 深圳市圆梦精密技术研究院 工件坐标系修正方法
JP2021079527A (ja) * 2019-11-19 2021-05-27 財團法人資訊工業策進會 ロボットアームの位置決め精度の測定システムおよび方法
CN111299929A (zh) * 2020-03-18 2020-06-19 福建省特种设备检验研究院 一种自动测量与校正焊接机器人焊枪姿态的方法

Similar Documents

Publication Publication Date Title
CN111331592B (zh) 机械手臂工具中心点校正装置及其方法以及机械手臂系统
Ong et al. Augmented reality-assisted robot programming system for industrial applications
EP1215017B1 (en) Robot teaching apparatus
CN104057453B (zh) 机器人装置以及被加工物的制造方法
CN109940605A (zh) 融合三维视觉与接触力分析的柔顺装配系统及方法
CN110573308A (zh) 机器人系统的混合现实辅助空间编程
CN112171661A (zh) 一种基于视觉信息融合的机械臂抓取目标物体方法
CN110561430B (zh) 用于离线示例学习的机器人装配轨迹优化方法及装置
CN104640677A (zh) 训练和操作工业机器人
CN113492393A (zh) 一种由人演示的机器人示教
CN110561450A (zh) 一种基于动捕的机器人装配离线示例学习系统和方法
EP2591888A1 (en) Assembling apparatus and method, and assembling operation program
JPH06175716A (ja) マニピュレータの物体把持作業における位置・姿勢補正方法
WO2020190166A1 (ru) Способ и система захвата объекта с помощью роботизированного устройства
CN109940606A (zh) 基于点云数据的机器人引导系统及方法
EP0511396A1 (en) Method for setting coordinate system of robot
CN108627515B (zh) 计算成为检查系统的检查对象外的图像区域的装置及方法
CN115338855A (zh) 双臂机器人组装系统
WO2019120481A1 (en) System and method for determining a transformation representation
NO841462L (no) Robotstyresystem
WO2023051706A1 (zh) 抓取的控制方法、装置、服务器、设备、程序及介质
CN109213101A (zh) 一种机器人系统下预处理的方法及系统
JPH05150835A (ja) ロボツトによる組み立て装置
CN112454363A (zh) 一种用于焊接操作的ar辅助机器人的控制方法
US20230278211A1 (en) Robot Teaching Device and Work Teaching Method