JPH0746288B2 - 手先視覚を持つロボットの制御方法とその装置 - Google Patents

手先視覚を持つロボットの制御方法とその装置

Info

Publication number
JPH0746288B2
JPH0746288B2 JP26183087A JP26183087A JPH0746288B2 JP H0746288 B2 JPH0746288 B2 JP H0746288B2 JP 26183087 A JP26183087 A JP 26183087A JP 26183087 A JP26183087 A JP 26183087A JP H0746288 B2 JPH0746288 B2 JP H0746288B2
Authority
JP
Japan
Prior art keywords
robot
point
target
time
route
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 - Lifetime
Application number
JP26183087A
Other languages
English (en)
Other versions
JPH01106107A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP26183087A priority Critical patent/JPH0746288B2/ja
Publication of JPH01106107A publication Critical patent/JPH01106107A/ja
Publication of JPH0746288B2 publication Critical patent/JPH0746288B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Automatic Assembly (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、手先にカメラ等の視覚を有するロボットや自
動機械(以下、ロボットと総称する)の制御方法とその
装置に係わり、特に、ロボットが作業を行うに際して、
ロボットが目標経路上を正確に移動制御せしめられ、し
かも、その目標経路上に設定されている認識点をロボッ
トが通過する時点で、手先視覚によって作業対象の画像
が検出されるようにした、手先視覚を持つロボットの制
御方法とその装置に関するものである。
〔従来の技術〕
ロボットにより作業を行うに際し、TVカメラ等がその手
先に取付られた状態で行われるとすれば、たとえ、作業
対象製品の位置、または供給部品の位置などの精度が悪
い場合でも、その手先視覚によって、その作業対象製
品、供給部品を認識した上、その位置、姿勢などが作業
に先立って正確に求められるものとなっている。したが
って、その結果に基づき、ロボットの作業動作が所望に
補正されるならば、それら製品、部品に対する正確な位
置決め不要として、ロボットはそれら製品や部品に対し
て確実に作業を行い得ることが容易に期待され得るもの
となっている。これに加え、TVカメラ等がロボットの手
先に取付られる場合には、ロボットの動作によって、そ
の視覚視野がフレキシブルに設定され得ることから、よ
り好都合であるといえる。ところで、これまでに知られ
ている、そのような具体例としては、例えば特開昭60−
249583号公報に記載のものが挙げられる。これによる場
合、手先視覚の視野内に認識対象(作業対象)が捉えら
れる位置でロボットはその動作が一旦停止された上、そ
の認識対象が画像として検出されるものとなっている。
その検出画像からはその認識対象の位置が画像処理によ
り認識された上、ロボットハンドは所望に位置決め補正
されるものとなっている。
〔発明が解決しようとする問題点〕
ところで、上記従来技術による場合には、作業対象が画
像として検出される度に、ロボットはその動作が一旦停
止された上で、作業対象は画像として撮像・認識処理さ
れる必要があることから、その全体としての作業速度が
いきおい遅くなることは否めないものとなっている。こ
れまで、ロボットの動作教示に際しては、操作者により
予めロボットはその動作がマニュアル操作されつつ、視
覚視野内に作業対象がが捉えられるか否かが確認の上、
更には、通過経路、最適な認識条件が得られる位置をも
考慮の上、撮像目標位置(認識点)が設定されていたも
のである。また、これまでのロボット目標経路演算方法
では、教示により与えられた2点間が、指定速度に対応
するよう、サンプリングタイム毎に補間された上、目標
経路上の補間点が定められているが、その際での補間方
法としては、これまでに各種のものが知られ、また、現
に実用化されているのが現状である。例えば直線補間法
による場合、2つの教示点の間は、第9図(a)に示す
ように、直線で結ばれるべく補間されるものとなってい
る。この直線補間では、始点Sと終点E以外の中間点M
は通常折点とされ、ロボットハンドはそれら折点M各々
でその速度がゼロでなければならない。これは、中間点
Mでのロボットハンドの速度が有限であれば、速度の方
向を変える際での加速度が無限大となり制御不可能とな
るからである。このため、直線補間では、そのような中
間点Mでロボットを一旦停止させなければならず、この
一旦停止がロボットによる作業時間を長引かせる要因と
なっているものである。そこで、この停止動作を伴うこ
となくロボットを連続的に動作させ得るものとして、円
弧補間や放物線補間が考えられている。第9図(b)に
示すように、円弧補間による場合、折線箇所での目標経
路は円弧状とされた状態でロボットは制御される一方、
第9図(c)に示す放物線補間による場合にはまた、折
線箇所での目標経路は放物線状とされた状態でロボット
は制御されているものである。折線箇所が曲線状とされ
ることで、ロボットは連続動作が可能とされているわけ
である。しかしながら、その反面、それら円弧補間、放
物線補間による場合には、明らかに目標経路上には折点
Mが存在し得ないものとなっている。
以上の事情に加え、また、ロボットの動作制御において
は、前以て演算されているサンプリングタイム毎の目標
位置(目標経路上の補間点)・目標速度に到達すべく、
サーボモータが制御される必要があるが、その制御はあ
くまでも追従制御であることから、通常、目標経路と実
際経路との間には経路誤差が生じることは否めないもの
となっている。これを具体的に説明すれば、第10図は最
大動作速度が1500mm/sとされた4軸ロボットで実測され
た目標経路(実線表示)に対する実際経路(点線表示)
のずれを示したものである。実際経路上でのサンプリン
グタイム(40ms)毎の実際位置は×印として、また、そ
れに対する直線補間による補間点の目標位置(目標点)
は○印として示されているが、対応関係にある○印内順
番数字、()内順番数字各々が示す位置から、実際経路
と目標経路との間には明らかにずれ(誤差)が生じてい
ることが判る。ところで、この誤差の要因であるが、各
種要因に起因したものとなっている。目標経路を補間す
る際での補間方法やサーボモータを制御する上での操作
量の決定方式、制御動作の選択、パラメータ調整、制御
関数の演算方式などの相違により、また、ロボット個々
の機構誤差やロボット起動時と一定時間動作後の特性差
異などに起因して発生されるものとなっている。しかし
ながら、その誤差をソフトウェア上で実時間で補償する
ことは、考慮すべき要因の種別が多過ぎる上、また、制
御プロセッサの処理性能などから判断して、実際上、困
難となっているのが現状である。
一方、例えば第3図に示すように、ロボットが動作経路
上のある目標点を通過した時点で、ロボットを一旦停止
せしめることなくその手先視覚によって作業対象を撮像
し、その作業対象が置かれているべき目標位置へのロボ
ットの移動に並行して、その作業対象の認識処理を行う
ことで、その作業対象の真の位置、姿勢を求め、この認
識結果によりロボットのその作業対象への目標経路をロ
ボットが作業対象に到達する前に補正することによっ
て、ロボットがその補正後の目標経路に従って作業対象
の実際の位置に到達すべく制御することが考えられるも
のとなっている。このためには、手先視覚による作業対
象の撮像位置(目標経路上での撮像目標位置)を教示に
より、または演算によって予め求めておき、しかもロボ
ットの実際経路上にその撮像目標位置が存在する状態と
して、その撮像目標位置上をロボットが通過した時点で
作業対象を撮像する必要があるものとなっている。これ
は、撮像時点での視野位置が知れて、作業対象の真の位
置や姿勢が初めて認識され得るからである。
よって、本発明の目的は、指定中間点や撮像目標位置を
実際経路上に含ませた状態で、その実際経路上をロボッ
トが連続的に移動制御され得、しかもその撮像目標位置
上をロボットが通過した時点に同期して作業対象を撮像
可とされた、手先視覚を持つロボット制御方法とその装
置を供するにある。
〔問題点を解決するための手段〕
上記目的は、ロボットの動作に並行して、該ロボットに
取付られた手先視覚によって、該手先視覚が所望の撮像
目標点上、あるいは該撮像目標点の近傍を通過せしめら
れるに際し、該通過の時点に同期して該手先視覚により
作業対象が撮像された上、認識処理されるための手先視
覚を持つロボットの制御方法であって、作業対象が供給
される領域を視野に入れる手先視覚の撮像目標点を教
示、あるいは演算により事前に登録しておくステップ
(1)と、上記手先視覚を持つロボットを動かす際の誤
差を測定した上、該誤差の補正データを作成、記憶する
処理が、ティーチングプレイバック動作時と同一条件で
ロボットを動かした時の手先が実際に動く実際経路を、
サーボ処理のサンプリングタイム毎の該ロボットの各対
偶の変位で表された位置データにより記憶するステップ
(2)と、該ステップ(2)により記憶されている実際
経路データを動作後に読み出した上、撮像目標点と実際
経路間の直交座標系での距離誤差を測定し、該距離誤差
を修正する実際経路をして上記撮像目標点上を通過させ
るに必要な制御上の目標経路の補正量を演算した上、記
憶するステップ(3)と、実際経路が上記撮像目標点
上、あるいは最も近い位置を通過する上記実際経路上の
点を直交座標系で求め、該実際経路上の通過点が何れの
サンプリングタイムの後に通過されるのかを求め、該サ
ンプリングの時点と、該サンプリングタイムから上記実
際経路上の通過点までの時間誤差を演算した上、記憶す
るステップ(4)と、ステップ(3)で求められた距離
誤差が前回求められた距離誤差よりも小さく改善が認め
られる場合に、または繰返しを選択した場合に、上記ロ
ボットのティーチングプレイバック動作時の目標経路
を、記憶されている上記補正量により補正し、上記ステ
ップ(2),(3),(4)を繰返すステップ(5)
と、から構成された上、ロボットにより作業を実際に行
なう際での処理に、ロボットの上記撮像目標点を通過す
る目標経路を、記憶されている上記補正量により補正す
るステップ(6)と、上記撮像目標点上、あるいは該撮
像目標点の近傍を上記ロボットの手先視覚が通過した時
点を、上記記憶したサンプリングの時点と時間誤差を読
み出して求め、該通過した時点に、画像処理装置に対し
撮像開始命令を発行するステップ(7)と、が含まれる
ようにしてロボットを制御することで達成される。ま
た、装置構成としては、ティーチングプレイバック動作
時と同一条件で動かした時のロボットの手先が実際に動
く実際経路を、サーボ処理のサンプリングタイム毎の該
ロボットの各対偶の変位で表された位置データにより記
憶する手段と、記憶されている実際経路データを動作後
に読み出して、事前に教示、あるいは演算されている手
先視覚の撮像位置の目標点と上記実際経路間の直交座標
系での距離誤差を測定し、該距離誤差を修正する上記実
際経路をして上記手先視覚の撮像位置の目標点上を通過
させるに必要な制御上の目標経路の補正量を演算した
上、記憶する手段と、上記実際経路が上記撮像目標点
上、あるいは最も近い位置を通過する上記実際経路上の
点を直交座標系で求め、該実際経路上の通過点が何れの
サンプリングタイムの後に通過されるのかを求め、該サ
ンプリングの時点と、該サンプリングタイムから上記実
際経路上の通過点までの時間誤差を演算した上、記憶す
る手段と、ロボットのティーチングプレイバック動作
時、または次回の上記測定動作時に、記憶されている上
記補正量を読み出して上記目標経路を補正する手段と、
上記手先視覚の撮像位置の目標点上、あるいは近傍を上
記手先視覚が通過した時点を、上記記憶したサンプリン
グの時点と時間誤差を読み出して求め、該通過した時点
に、画像処理装置に対し撮像開始命令を発行する手段
と、が具備されるべく構成することで達成される。
〔作用〕
同一条件の下で複数回ロボットを動かした時の実際の経
路を分析した結果、実際経路の再現性が高いことが判明
している。そこで、本発明では、ロボットを実際に動か
した時の実際経路と目標経路との誤差を求め、該誤差に
基づいて目標経路を補正し、補正後の目標経路をロボッ
トが追従したときの実際経路が当初の撮像目標点上、ま
たは極く近傍を通過するようにする。このため、ロボッ
トの動作モードに付加した学習モードで、通常の作業時
と同じ条件でロボットを動かした時のロボットの目標経
路と実際経路を解析し、ロボットの実際経路が、視覚撮
像目標点上を通過する様に目標経路を補正する補正量を
演算し、記憶する。さらに、補正後の実際経路を解析し
て、ロボット(手先に付けた視覚装置)が撮像目標点上
を通過した瞬間に、ロボット制御装置から画像処理装置
に撮像開始命令を送信する時点を目標経路上に決め、そ
の時刻のデータをメモリに記憶する。以上の学習処理を
実行して記憶したデータを、通常のティーチングプレイ
バック動作時に読み出して、目的とするロボット制御を
実現する。これにより、ロボットの手先に取付られた手
先視覚により、ロボットが動作中に、予め決められた撮
像目標点上、または極く近傍において、視野内で作業対
象を撮像し得るものである。
〔実施例〕
以下、本発明の一実施例を図面に参照して説明する。
先ず第1図は本発明に係るロボットの経路補正原理の一
例を示したものである。これによる場合、第1図(a)
に示す点P1,P2,P3は何れも教示点とされ、ロボットの実
際の動作に先立って、ティーチング処理で予め教示され
るものとなっている。本例では、ロボットが点P1から点
P2を経由し点P3まで連続的に移動制御されるに際し、点
P2を撮像目標点として、ロボットが点P2に達した時点で
作業対象が撮像された上、認識される場合が想定された
ものとなっている。点P2では、ロボットはその動作が一
旦停止されることなく、連続した速度を維持した状態で
作業対象が撮像されているものである。さて、上記点P
1,P2,P3からなる経路に対するロボットの経路補間方法
としては種々考えられるが、より実現容易な方法として
は、P1−P2間、P2−P3間それぞれを直線で補間する一
方、点P2近傍では円滑に補間する方法が考えられる。本
発明では、その際での円滑補間法は特定されない。ここ
で、点P1,P2,P3に基づき経路補間演算処理が行われれ
ば、第1図(a)に実線表示されている目標経路R1が求
められるが、この目標経路R1に追従させつつ、ロボット
を実際に動作させれば、その実際経路R2は破線表示(多
少誇張表示)の如くになる。次に、点P2を実際経路R2上
に存在させるべく、補正処理を加える。説明の簡単化
上、後述するところの学習処理で補正データが予め求め
られた上、格納されているとすれば、第1図(b)に示
すように、その補正データにより点P2からシフトされた
点P2′位置が前処理で求められた上、点P1,P2′,P3を新
たな教示点として、同様にして経路補間処理により目標
経路R3が求められるものとなっている。したがって、そ
の際での補正データが適正であるならば、目標経路R3に
追従させつつ、ロボットを実際に動作させれば、その実
際経路R4は点P2上を通過するところとなるものである。
第2図はロボット制御ソフトウェア内に学習モード処理
が組込まれる際での、そのソフトウェア内での学習モー
ド処理の位置付けを示したものである。これによる場
合、オペレーションパネルより入力されたロボット用動
作プログラム(ロボット言語で記述)は、トランスレー
タを介して計算機処理が容易な中間言語と各種テープル
に変換されるものとなっている。次いで、ティーチング
ボックスを用い、ロボットは目標点位置に誘導された
上、その位置情報は位置情報テーブルに格納される。こ
れら動作シーケンスデータ(中間言語)、位置情報をも
とに、ロボット動作制御が実行されているものである。
本システムでの実行方式はインタプリタ方式であり、イ
ンタプリタにより動作シーケンスを示す中間コード(中
間言語)を順次読み出された上、そのコード別に予め作
成されている処理プログラムへの分岐が行われている
が、以上までは、従来の場合と同様である。異なるとこ
ろは、学習命令においても、同様にインタプリタが起動
された上、ロボットの動作制御が行われていることであ
る。但し、その動作制御では、撮像目標点前後に亘る一
連の動作だけで実行されればよい。より具体的には、学
習モードにおいては、以下の処理が行われるものとなっ
ている。
即ち、サンプリングタイム毎の目標点に追従させてサー
ボモータの操作量が演算されるサーボ処理において、ロ
ボットの実際経路データ(ロボットの現在位置データ)
を経路情報テーブルに記憶する。その動作終了時に、経
路解析ルーチンがそれら経路データを読み出し、実際経
路と撮像目標点間のずれ量を計算した上、実際経路が撮
像目標点上を通るべく、目標経路を補正するための補正
データを算出し、これを補正情報テーブルに登録する。
学習モードの処理はティーチングプレイバック処理前
に、1回、または必要に応じて複数回実行される。即
ち、学習モードの処理が実行される度に、補正データが
演算された上、それまでに得られている補正データは更
新登録されているものである。次に、その効果を確認す
べく再度実行され、その効果(実際経路と撮像目標点の
ずれ量)がオペレーションパネル上のモニタで確認され
ているものである。一般に補正データ自体は更新登録の
度に改善されているが、もしも、前回でのずれ量と今回
でのずれ量との比較から、改善されていなければ、更新
登録は行われずに学習モードの処理は終了されるもので
ある。学習モードの処理実行後、実行命令によってイン
タプリタが起動されれば、経路補間処理では、補正デー
タが読み出された上、この補正データに従って目標経路
が新たに演算されているものである。
ここで、学習モードの処理についてより詳細に説明すれ
ば、この処理では、実際経路と撮像目標点間のずれ量
(距離)が測定されているが、このずれの範囲内で実際
経路が目標点近傍を通過すると見做している。そして、
その通過時点でのデータ、即ち、何れかのサンプリング
タイム時点を基準として、そこからの誤差時間が、同様
に、補正情報テーブルに登録される。このデータは、テ
ィーチングプレイバック実行時に同様に読み出され、目
標経路上の対応する時期において、ロボットの制御処理
手段から画像処理装置には撮像開始命令が送信されてい
るものである。
第3図には本発明が適用されたロボット手先部分の外観
が示されているが、これによる場合、ロボットハンド1
の手先にはTVカメラ2が取付られた上、画像処理により
作業対象(ハウジング)5の位置や姿勢が認識可とされ
る。本例では、ロボットによりコネクタ4をポード3上
のハウジング5に挿入する作業が想定されているが、ポ
ード3自体の位置決め精度が良好でなく、視覚装置(TV
カメラ2)によるボード3位置認識データに従って、ロ
ボットはその動作経路が組付け動作経路誤差dだけ補正
される処理が必要となっている。その際、TVカメラ2は
ロボットハンド1に対してオフセットtを持っているた
め、ロボットハンド1に先行して作業対象5上に位置決
めされるので、ロボット動作中に、これに並行してハウ
ジング5の撮像、認識を行い、ロボットが組付け降下動
作に入った途中で、視覚装置(TVカメラ2)による認識
データに従って目標経路が補正されることによっ、コネ
クタ4はハウジング5に確実に組付けられるものとなっ
ている。
第4図は本発明による制御装置の一例でのブロック構成
を示したものである。第4図において、401はロボット
制御装置を、402は画像処理装置をそれぞれ示す。第1CP
U403は制御装置としての入出力、命令の読出し・解釈、
および命令の1部実行など、全体の制御を受持つととも
に、オペレーションパネル404からの入力操作情報の入
力や、システム出力のオペレーションパネル404上のCRT
への出力表示等を処理管理するものとなっている。オペ
レーションパネル404からの起動指令に従って、ロボツ
ト言語で記述されたシーケンスプログラムが起動されれ
ば、第1CPU403では、第1メモリ405から1命令単位に順
次読み出された動作シーケンスデータ(シーケンスプロ
グラムが中間言語に変換された状態として格納されたも
の)が解釈された上、インタプリンタの実行ルーチンに
より前処理されるが、その際、前以て教示されている位
置情報は第1メモリ405から読み出された上、ロボット
動作制御に供されるべく、第2CPU406に転送されるもの
となっている。第1CPU403での実行ルーチンによる処理
は前処理に止まり、実際のロボット動作制御は第2CPU40
6で行われているものであり、この点で、本例でのロボ
ット制御装置401はマルチCPUシステムとして構成された
ものとなっている。第2CPU406にはまた、第1CPU03で前
処理された命令が共通メモリ407を介し転送された上、
インタプリンタの実行ルーチンにより命令が実行され
る。例えばロボットを実際に動かす動作命令が実行され
れば、ロボットの経路演算(補間処理)が行われ、その
演算結果としての補間データ(目標経路データ)を共通
メモリ407に格納しておき、それを所定のサンプリング
タイム毎に起動されるサーボ処理によって1つづつ読み
出し、目標経路に追従してロボットを制御すべく動作指
令値が演算されているものである。尚、前記インタプリ
タとは、中間言語を読み出してその命令種別を判定した
上、命令種別対応実行ルーチンへの分岐処理を行うもの
である。
以上の如くにして、演算により得られる動作指令値に基
づきサーボアンプ408、パワーアンプ409を介しロボット
側サーボモータ410が制御されるものである。この処理
が行われている状態で、ロボットが目標経路上の撮像開
始指令発行時点に達した場合には、ロボット制御装置40
1より画像処理装置402には撮像開始指令がパラレルI/O
インタフェース411,412を介し送信されるものとなって
いる(本処理は補正情報に従って行われるが、これにつ
いては後述)。画像処理装置402ではまた、その撮像開
始指令にもとづき、カメラ制御部413による制御下に、T
Vカメラ2で作業対象が撮像されるが、TVカメラ2から
の画像データは画像メモリ414に一時記憶された上、CPU
415による画像処理により作業対象の位置や姿勢が認識
されるものとなっている。そのCPU415による認識結果は
ロボット動作制御にフィードバックされるべく、シリア
ルインタフェース416,417、通信制御CPU418を介しロボ
ット制御装置401に転送されているものである。
さて、CPU406における経路補間処理では、ティーチング
(教示)で与えられた教示点間は、指定速度に対応する
よう、サンプリンングタイム毎に補間された上、中間目
標点が定められているが、ここで、始点位置ベクトルを
xo、終点位置ベクトルをxf、指定速度をv、サンプリン
グタイムをTとすれば、中間目標位置ベクトルxmは、以
下の式(1)として表されるものとなっている。
xm=xm-1+vT(xf−xo)/|xf−xo| ………(1) この中間目標点の位置データは直交座標系で与えられて
いるが、この中間目標点位置データはその後、対偶(各
駆動軸)変位に座標変換された上、中間目標点対偶変位
を目標点として、対偶対応のアクチュエータが駆動制御
されているものである。以上の制御ブロック線図を第5
図に示す。本例では、ロボットは始点から終点に直接的
に移動されているが、この際での補間方法としては、直
線補間や円弧補間、放物線補間等が考えられるものとな
っている。尚、第5図中、θm、u、θはそれぞれ中間
目標点対偶変位ベクトル、制御ベクトル、対偶変位ベク
トルを示す。
さて、目標経路は上述した中間目標点により構成されて
いるが、既述のように、ロボットの実際経路と目標経路
との間には多少の誤差が伴うことは否めないものとなっ
ている。そこで、後述するところの学習モード処理によ
り補正データを演算によって求めた上、補正情報テーブ
ルに格納しておく。これにより通常時(ティーチングプ
レイバック時)での経路補間処理では、補正情報テーブ
ルに格納されている補正データに基づき、以下の処理が
行われるものである。
即ち、撮像目標点も1つの教示点とされることから、本
発明の狙いは、撮像目標点上を、ロボットの実際経路を
通過せしめることにある。このためには、補正データを
補正情報テーブルから読み出した上、撮像目標点に補正
データを加えた補正教示点を求め、このデータを使用し
て経路補間処理を実行すればよいというものである。こ
の処理を第1図(b)で説明すれば、補正された目標経
路R3を演算することに相当するわけである。この目標経
路R3に追従させつつロボットを動作制御すれば、実際経
路R4は撮像目標点P2上を通過するようになるものであ
る。本方式の特徴は、教示点に単に補正を加えるだけ
で、経路補間方法は従来のままで済まされることであ
る。
ここで、改めて学習モード処理について説明すれば、オ
ペレーションパネル404より起動されれば、ティーチン
グプレイバック処理と同様にして動作命令が実行され、
目標経路が演算された上、それにロボットは追従すべく
制御されるが、その際に、所定のサンプリングタイム
(例えば40msec)毎のロボットの実際経路位置データは
経路情報テーブルに記録されるものとなっている。その
実際経路位置データとは、具体的には各時点における各
駆動軸のエンコーダ値(変位)とされる。その動作終了
後には、経路解析命令が実行されることによって、経路
解析処理が行われるが、この経路解析処理では、経路情
報テーブルより読み出される実際経路位置データは直交
座標系の位置データに変換された上、サンプリング時間
毎の位置を頂点とする折れ線経路が求められるものとな
っている。なお、この折れ線経路は、撮像目標点(教示
点)近傍の範囲内で求められるだけでよい。
次には、撮像目標点から上記折れ線経路までの最短距離
を求められるが、これを第6図で説明する。第6図
(a)には撮像目標点としての点P2と、この点P2に対す
る実際経路(点Pm1〜Pm8はサンプリング時間毎のロボッ
トの実際位置(手先の代表点の位置)を折れ線として結
んだもの)とが示されているが、その撮像目標点P2の位
置は、教示が行われた際での各駆動軸のエンコーダ値
(変位)と機構各部の寸法とが予め判っていれば、容易
に求められるものとなっている。点P2の位置は直交座標
系の位置データ(x2,y2,z2)として、また、同様な演
算により点Pm1〜Pm8の位置は直交座標系の位置データ
(xm1,ym1,zm1)〜(xm8,ym8,zm8)として求められ
るわけである。その実際経路は折れ線として近似されて
いるも、撮像目標点P2と実際経路との間の誤差は、P2よ
り実際経路への最短距離で表わされるものである。先ず
線分Pm1・Pm2と点P2との距離D12が求められる。第6図
(b)に示すように、 直線(x−xm1)/(xm2−xm1)=(y−ym1)/(ym2
−ym1) =(z−zm1)/(zm2−zm1) ………(2) と点P2との距離δは次式で求められる。
δ={〔(x2−xm1)m−(y2−ym1)l〕2 +〔(y2−ym1)n−(z2−zm1)m〕2}/(l2+m2+n
2) +〔(z2−zm1)l−(x2−xm1)n〕2 ………(3) 但し、l、m、nは以下のようである。
1=xm2−xm1 m=ym2−ym1 ………(4) n=zm2−zm1 更に、線分Pm1・Pm2の両端点と点P2との距離δ1,δ2
以下のように求められる。
δ1={(x2−xm12+(y2−ym12+(z2−zm12
1/2 ……(5) δ2={(x2−xm22+(y2−ym22+(z2−zm22
1/2 ……(6) また、線分の長さδ3は以下のように求められる。
δ3={(xm1−xm22+(ym1−ym22+(zm1
zm221/2 ……(7) こどで、点P2,Pm1,Pm2を頂点とする3角形の内角、即
ち、∠(P2,Pm1,Pm2)=∠A、∠∠(P2,Pm2,Pm1)=
∠Bの大きさを調べれば以下のようである。
cosA=(δ1 2+δ3 2−δ2 2)/(2・δ1・δ3)………
(8) cosB=(δ2 2+δ3 2−δ1 2)/(2・δ2・δ3)………
(9) したがって、∠B>π/2であれば、D12=δ2 ………(1
0) となり、 また、∠A>π/2であれば、D12=δ1 ………(11) となる。
更に、∠A≦π/2、且つ∠B≦π/2ならば、D12=δ …
……(12) となる。同様にして他の線分各々と点P2との距離D23〜D
78を求める。結局のところ、撮像目標点P2と実際経路の
最短距離Dは以下のように求められる。
D=Min(D12,D23〜D78) ………(13) また、距離ベクトルDの成分は、第6図(c)に示すよ
うに、点Pm4,Pm5間に点P2から垂線を垂らし、その垂線
の線分Pm4・Pm5との交点Ppを求めれば、交点Ppの座標は
次のようになる。
xp=xm4+(xm5−xm4)・t ………(14) yp=ym4+(ym5−ym4)・t ………(15) zp=zm4+(zm5−zm4)・t ………(16) 但し、tは以下のようである。
t={(xm5−xm4)(x2−xm4) +(ym5−ym4)(y2−ym4) +(zm5−zm4)(z2−zm4) /{(xm5−xm42+(ym5−ym42+(zm5−zm42
………(17) 以上から、距離ベクトルDの成分(xd,yd,zd)は以下
の如くに求められるものである。
xd=xp−x2 ………(18) yd=yp−y2 ………(19) zd=zp−z2 ………(20) 距離ベクトルDを求められたならば、補正データの値と
して、−D(−xd,−yd,−zd)が補正情報テーブルに
登録されるものである。但し、前回に作成された補正ベ
クトルR(xr,yr,zr)が補正情報テーブルに既に登録
されている場合には、以下の演算式により更新された
上、補正情報テーブルに登録される。
今回測定された撮像目標点P2と実際経路の距離Dと、前
回測定された距離Dp(もしも、前回測定されていればデ
ータが存在している)とを比較し、D<Dpが成立してい
れば、前回の補正データを更新するのには効果があると
判定の上、前回の補正データは式(21)により今回の補
正データにより更新されるものである。但し、今回の補
正データによる効果は、次回に動かして測定をしてみな
ければわからない。また、もしも、D>Dpとなっていた
なら、前回の補正データによる効果が無かったと判定の
上、前回の補正ベクトルから、前回の距離ベクトルの更
新分元に戻し、補正値を修正する。そして、補正情報の
更新はそれ以上行わない。また、D=Dpならば、前回の
補正値の修正を行わずに、補正情報の更新は終了され
る。以上が、学習処理における距離の誤差の補正であ
る。
次に、時間誤差の補正について説明する。第7図(a)
に補正情報によって補正された後の実際経路(実線表
示)を示す。前述と同様に、点P2より誤差を測定し、距
離ベクトルの線分Pm4・Pm5との交点をPpとする。点Pm4
とPm5の時間間隔は1サンプリング時間Tである。交点P
pが線分Pm4・Pm5を内分する比率をa:b(第7図(b)を
参照のこと)とすれば、aは以下のように求められる。
a={(xm4−xp2+(ym4−yp21/2 /{(xm4−xm52+(ym4−ym521/2 ………(22) よつて、ロボットは、点Pm4を通過後、時間a・T後
に、Dの誤差を伴い撮像目標点P2を通過することが判
る。ロボットは、第7図(a)に破線表示の目標経路に
追従して制御されるが、ロボットの現在位置が点Pm4
ある時、点Pm4′が制御上の目標位置に対応し、Pm4′の
位置データをメモリから読み出して制御を開始した時に
対応する。ロボットの制御は、目標経路を基準としてい
るため、時間の補正データa・Tを使用して、点Pm4
のデータを処理した時点よりa・T後に撮像開始指令を
発行する。学習処理では、目標経路上の点Pm4′を識別
するための符号と、遅れ時間a・Tが併せて記録される
ものである。
学習処理は、1回の実行により、1回の動作と、動作後
の経路解析を行い、補正データの登録を行う。本処理
は、1回の実行に止まらず、複数回実行し補正データを
更新することを狙いとしている。特に、撮像目標点と実
際経路間の誤差を測定して、その補正データを演算によ
り求め登録したとすれば、その効果を確認すべく、再
度、学習処理を実行する必要がある。また、時間誤差の
補正は、前回の効果を確かめた際の補正値を登録するこ
とになる。従って、学習処理は距離の誤差の補正が収束
するまで繰り返すのがよい。
以上、詳細に述べた学習処理をフローとして表わしたの
が第8図である。この第8図に示される学習処理を実行
する場合でのハードウエア上での動作を第4図で説明す
れば、以下のようである。
即ち、オペレーションパネル404上の起動スイッチによ
り起動されれば、ティーチングプレイバック時と同様
に、第1CPU403では、第1メモリ405からシーケンスプロ
グラムが読み出された上、解釈・実行されるものとなっ
ている。第2CPU406では、動作命令を実行する際に、サ
ンプリングタイム毎に現在位置データを共通メモリ407
に格納する。動作終了後、第2CPU406による経路解析処
理では、共通メモリ407上の経路データを読み出された
上、誤差が測定され、補正データは第1メモリ405の補
正情報テーブルに書込まれる(メモリ1は不揮発メモリ
である。)。また、同時に、距離ベクトル、距離を共通
メモリ407に記録しておき、次回の学習処理時に使用す
る。以上の学習処理で求めた結果(距離、前回の結果と
の比較判定)を第1CPU403がオペレーションパネル404に
表示して知らせる。
〔発明の効果〕
以上、説明したように、本発明によれば、手先に視覚を
備えたロボットにより、作業対象を該手先視覚で撮像、
認識を行う処理を、該ロボットの動作と並行して行わせ
る際に、該手先視覚を所望の撮像目標点の上、または精
度よく近傍を通過させ、その通過時刻と同期して該手先
視覚に撮像を行わせることが可能とされたものとなって
いる。
【図面の簡単な説明】
第1図(a),(b)は本発明の一実施例に係る経路補
正原理説明図、第2図はロボット制御ソフトウェアの中
の学習モード処理の位置付け説明図、第3図はロボット
ハンドの手先の一外観図、第4図は本発明の一実施例に
係る制御装置の構成図、第5図は制御ブロック線図、第
6図(a),(b),(c)は実際経路と撮像目標点の
誤差を測定する方法を説明するための図、第7図
(a),(b)は時間誤差を測定する方法を説明するた
めの図、第8図は学習処理の概略手順を示すフローチャ
ート、第9図(a),(b),(c)は夫々直線補間、
円弧補間、放物線補間の説明図、第10図は4軸ロボット
の目標経路に対する実際経路のずれ(誤差)を示す図で
ある。 1…ロボットハンド、2…TVカメラ、401…制御装置、4
02…画像処理装置、403…第1CPU、405…第1メモリ、40
6…第2CPU、407…共通メモリ、t…オフセット、d…ず
れ(誤差)。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G05B 19/4155 9064−3H G05B 19/403 V

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】ロボットの動作に並行して、該ロボットに
    取付られた手先視覚によって、該手先視覚が所望の撮像
    目標点上、あるいは該撮像目標点の近傍を通過せしめら
    れるに際し、該通過の時点に同期して該手先視覚により
    作業対象が撮像された上、認識処理されるための手先視
    覚を持つロボットの制御方法であって、 作業対象が供給される領域を視野に入れる手先視覚の撮
    像目標点を教示、あるいは演算により事前に登録してお
    くステップ(1)と、 上記手先視覚を持つロボットを動かす際の誤差を測定し
    た上、該誤差の補正データを作成、記憶する処理が、 ティーチングプレイバック動作時と同一条件でロボット
    を動かした時の手先が実際に動く実際経路を、サーボ処
    理のサンプリングタイム毎の該ロボットの各対偶の変位
    で表された位置データにより記憶するステップ(2)
    と、 該ステップ(2)により記憶されている実際経路データ
    を動作後に読み出した上、撮像目標点と実際経路間の直
    交座標系での距離誤差を測定し、該距離誤差を修正する
    実際経路をして上記撮像目標点上を通過させるに必要な
    制御上の目標経路の補正量を演算した上、記憶するステ
    ップ(3)と、 実際経路が上記撮像目標点上、あるいは最も近い位置を
    通過する上記実際経路上の点を直交座標系で求め、該実
    際経路上の通過点が何れのサンプリングタイムの後に通
    過されるのかを求め、該サンプリングの時点と、該サン
    プリングタイムから上記実際経路上の通過点までの時間
    誤差を演算した上、記憶するステップ(4)と、 ステップ(3)で求められた距離誤差が前回求められた
    距離誤差よりも小さく改善が認められる場合に、または
    繰返しを選択した場合に、上記ロボットのティーチング
    プレイバック動作時の目標経路を、記憶されている上記
    補正量により補正し、上記ステップ(2),(3),
    (4)を繰返すステップ(5)と、 から構成された上、 ロボットにより作業を実際に行なう際での処理に、 ロボットの上記撮像目標点を通過する目標経路を、記憶
    されている上記補正量により補正するステップ(6)
    と、 上記撮像目標点上、あるいは該撮像目標点の近傍を上記
    ロボットの手先視覚が通過した時点を、上記記憶したサ
    ンプリングの時点と時間誤差を読み出して求め、該通過
    した時点に、画像処理装置に対し撮像開始命令を発行す
    るステップ(7)と、 が含まれるようにしてロボットを制御する、手先視覚を
    持つロボットの制御方法。
  2. 【請求項2】ロボットの動作に並行して、該ロボットに
    取付られた手先視覚によって、該手先視覚が所望の撮像
    目標点上、あるいは該撮像目標点の近傍を通過せしめら
    れるに際し、該通過の時点に同期して該手先視覚により
    作業対象が撮像された上、認識処理されるための手先視
    覚を持つロボットの制御装置であって、 ティーチングプレイバック動作時と同一条件で動かした
    時のロボットの手先が実際に動く実際経路を、サーボ処
    理のサンプリングタイム毎の該ロボットの各対偶の変位
    で表された位置データにより記憶する手段と、 記憶されている実際経路データを動作後に読み出して、
    事前に教示、あるいは演算されている手先視覚の撮像位
    置の目標点と上記実際経路間の直交座標系での距離誤差
    を測定し、該距離誤差を修正する上記実際経路をして上
    記手先視覚の撮像位置の目標点上を通過させるに必要な
    制御上の目標経路の補正量を演算した上、記憶する手段
    と、 上記実際経路が上記撮像目標点上、あるいは最も近い位
    置を通過する上記実際経路上の点を直交座標系で求め、
    該実際経路上の通過点が何れのサンプリングタイムの後
    に通過されるのかを求め、該サンプリングの時点と、該
    サンプリングタイムから上記実際経路上の通過点までの
    時間誤差を演算した上、記憶する手段と、 ロボットのティーチングプレイバック動作時、または次
    回の上記測定動作時に、記憶されている上記補正量を読
    み出して上記目標経路を補正する手段と、 上記手先視覚の撮像位置の目標点上、あるいは近傍を上
    記手先視覚が通過した時点を、上記記憶したサンプリン
    グの時点と時間誤差を読み出して求め、該通過した時点
    に、画像処理装置に対し撮像開始命令を発行する手段
    と、 を備えてなる手先視覚を持つロボットの制御装置。
  3. 【請求項3】動作中に経路を記憶し、動作終了後に読み
    出して解析を行ない、経路の誤差及び時間誤差を測定し
    て補正データを演算する処理は、通常のティーチングプ
    レイバックモードとは異なる他の学習モードを分離して
    実行することを特徴とする、特許請求の範囲第2項記載
    の手先視覚を持つロボットの制御装置。
JP26183087A 1987-10-19 1987-10-19 手先視覚を持つロボットの制御方法とその装置 Expired - Lifetime JPH0746288B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26183087A JPH0746288B2 (ja) 1987-10-19 1987-10-19 手先視覚を持つロボットの制御方法とその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26183087A JPH0746288B2 (ja) 1987-10-19 1987-10-19 手先視覚を持つロボットの制御方法とその装置

Publications (2)

Publication Number Publication Date
JPH01106107A JPH01106107A (ja) 1989-04-24
JPH0746288B2 true JPH0746288B2 (ja) 1995-05-17

Family

ID=17367327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26183087A Expired - Lifetime JPH0746288B2 (ja) 1987-10-19 1987-10-19 手先視覚を持つロボットの制御方法とその装置

Country Status (1)

Country Link
JP (1) JPH0746288B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013121760A1 (ja) * 2012-02-14 2013-08-22 川崎重工業株式会社 撮像検査装置ならびにその制御装置および制御方法
JP2014176917A (ja) * 2013-03-14 2014-09-25 Yaskawa Electric Corp ロボット装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324733A (ja) * 1993-05-12 1994-11-25 Fanuc Ltd センサ付きロボットの制御方法及び装置
JP5458769B2 (ja) * 2009-09-18 2014-04-02 株式会社デンソーウェーブ ロボットの制御装置
JP2012096307A (ja) * 2010-10-29 2012-05-24 Yaskawa Electric Corp ロボット制御装置、ロボット制御方法およびロボットシステム
JP6164970B2 (ja) * 2013-08-07 2017-07-19 キヤノン株式会社 ロボット制御方法、ロボットシステム、プログラム、記録媒体及び部品の製造方法
JP5800888B2 (ja) 2013-12-24 2015-10-28 ファナック株式会社 テーブル形式データによる運転でのスムージング機能を備えた数値制御装置
JP6705847B2 (ja) 2018-02-14 2020-06-03 ファナック株式会社 加工結果に基づいた学習制御を行うロボットシステム及びその制御方法
JP7433509B2 (ja) * 2021-02-18 2024-02-19 三菱電機株式会社 制御装置、ロボットシステム、学習装置、軌跡モデル、制御方法、およびプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013121760A1 (ja) * 2012-02-14 2013-08-22 川崎重工業株式会社 撮像検査装置ならびにその制御装置および制御方法
JP2013166185A (ja) * 2012-02-14 2013-08-29 Kawasaki Heavy Ind Ltd 撮像検査装置ならびにその制御装置および制御方法
CN104039511A (zh) * 2012-02-14 2014-09-10 川崎重工业株式会社 摄像检查装置及该摄像检查装置的控制装置及控制方法
US9774827B2 (en) 2012-02-14 2017-09-26 Kawasaki Jukogyo Kabushiki Kaisha Imaging inspection apparatus for setting one or more image-capturing positions on a line that connects two taught positions, control device thereof, and method of controlling imaging inspection apparatus
JP2014176917A (ja) * 2013-03-14 2014-09-25 Yaskawa Electric Corp ロボット装置
US9327405B2 (en) 2013-03-14 2016-05-03 Kabushiki Kaisha Yaskawa Denki Robot apparatus

Also Published As

Publication number Publication date
JPH01106107A (ja) 1989-04-24

Similar Documents

Publication Publication Date Title
US4380696A (en) Method and apparatus for manipulator welding apparatus with vision correction for workpiece sensing
EP1215017B1 (en) Robot teaching apparatus
US4568816A (en) Method and apparatus for manipulator welding apparatus with improved weld path definition
KR100311663B1 (ko) 여유축을이용하여물체의외형을추적하는장치및방법
US4761596A (en) Method of detecting and controlling work start point of robot
US20040172168A1 (en) Taught position modification device
JP3644991B2 (ja) ロボット−センサシステムにおける座標系結合方法
JP4615418B2 (ja) 産業用ロボットの制御方法
JPH01230105A (ja) ロボットのツール姿勢制御方法
JPH0746288B2 (ja) 手先視覚を持つロボットの制御方法とその装置
JPH02198783A (ja) 産業用ロボットの位置決め補正方式
JP3169174B2 (ja) 作業経路追従式ロボットマニピュレータの教示データ修正方法
JPH05345291A (ja) ロボットの動作範囲制限方式
Baeten et al. Improving force controlled planar contour following using online eye-in-hand vision based feedforward
JP3175623B2 (ja) ロボットの制御装置
JP3404681B2 (ja) センサ指向方向逐次制御方法
JP3083706B2 (ja) オフラインティーチングデータの誤差検出方法
JPH07122823B2 (ja) 手先視覚付きロボット・自動機械の教示および制御方法
CN114728411B (zh) 控制装置、机器人系统和控制方法
JPS61131887A (ja) 視覚付ロボツトのキヤリブレ−シヨン方式
JP7311971B2 (ja) ロボット制御装置及びロボット制御方法
EP0371142B1 (en) Method of correcting loci of an industrial robot
JPH074781B2 (ja) ロボツトの治具の姿勢再現方法
JPH07205068A (ja) ロボットの座標系設定方法
JP2991350B2 (ja) 経路開始点検出誘導方法