JP3998741B2 - Robot movement control method - Google Patents

Robot movement control method Download PDF

Info

Publication number
JP3998741B2
JP3998741B2 JP19855296A JP19855296A JP3998741B2 JP 3998741 B2 JP3998741 B2 JP 3998741B2 JP 19855296 A JP19855296 A JP 19855296A JP 19855296 A JP19855296 A JP 19855296A JP 3998741 B2 JP3998741 B2 JP 3998741B2
Authority
JP
Japan
Prior art keywords
approach
robot
completion state
camera
coordinate system
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
JP19855296A
Other languages
Japanese (ja)
Other versions
JPH0976185A (en
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.)
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 JP19855296A priority Critical patent/JP3998741B2/en
Publication of JPH0976185A publication Critical patent/JPH0976185A/en
Application granted granted Critical
Publication of JP3998741B2 publication Critical patent/JP3998741B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明はロボットの移動制御方法に関し、更に詳しく言えば、視覚センサを用いて取得されたデータに基づいてロボットを目的の位置に移動させるための移動制御方法に関する。本発明の移動制御方法は、特にジョグ送り形式の移動に有利に適用される。
【0002】
【従来の技術】
従来より知られているロボットの移動制御方法の一つにジョグ送りがある。これは、オペレータが教示操作盤のジョグ送りボタンを操作してロボットを目的とする位置へ動かすようにした方法である。ジョグ送りは、例えばアームの先端に取り付けられたハンドでワークを持ち上げて所定の場所に積み上げる作業を行うというような作業に利用される。
【0003】
その場合、オペレータは、目視によってワークとハンドとの位置関係を確認しながら複数個のジョグ送りボタンの選択的操作によってロボットを徐々に移動させ、TCP(ツール・センタ・ポイント)を目標とするアプローチ点に到達させていた。そして、このアプローチ動作が完了したら、ハンド操作用のボタンを操作してワークをつかむようにしていた。
【0004】
【発明が解決しようとする課題】
しかし、ロボットをジョグ送りによって正確なアプローチ位置に到達させるには多くの時間と高度の熟練を要することが一般的である。即ち、ジョグ送りで移動可能なロボットの移動方向は限られており(例えば、XYZ各座標軸方向に沿った並進と座標軸回り回転並びに各軸送りの場合のJ1軸〜J6軸の移動)、単純なジョグ送りボタン操作で一気に正確なアプローチを完了させるというようなことは不可能といって良かった。
【0005】
本発明はこのような状況に鑑みてなされたものであり、目標位置への自律的なアプローチを可能にして、作業効率を向上させることのできるロボットの移動制御方法を提供することを目的とする。
【0006】
【課題を解決するための手段】
本発明は、上記課題を解決するために、ロボットが自律的なアプローチ動作を存在位置にばらつきのある対象物に対して行えるようなロボットの移動制御方法を提供するものである。本発明の方法では、カメラ手段及び画像処理手段を備えた視覚センサとロボット制御装置とを含む制御手段が、利用される。
【0007】
本発明の方法の諸段階には、対象物に対するアプローチ完了状態を表現するアプローチ完了状態表現データを制御手段に記憶させるアプローチ完了状態教示段階と、制御手段によってロボットにアプローチ動作を行わせるアプローチ動作実行段階とが含まれ、更に、アプローチ動作実行段階には、該アプローチ動作がアプローチ完了状態表現データに基づいて自律的に行なわれる自律アプローチ動作実行段階が含まれる。
【0008】
教示段階でアプローチ完了状態表現データは、ロボットの手先と対象物の相対的な位置関係を特定するものであり、自律アプローチ動作実行段階におけるロボットの移動目標位置は、制御手段内のソフトウェア処理によって、アプローチ完了状態表現データによって特定される対象物−ロボット手先間の相対的位置関係が実現される位置として定められる。
【0009】
アプローチ完了状態教示段階で記憶されるアプローチ完了状態表現データは、対象物を代表する物体をカメラ手段によって撮影することによって取得された画像に基づいて制御手段内で作成することが出来る。
一つの好ましい形態において、アプローチ完了状態表現データは、画像上における対象物代表物体の特徴部と重心位置を表わすデータとを含むように教示される。
【0010】
また、別の好ましい形態においては。対象物及び対象物代表物体の表面上に前記視覚センサによって認識可能なマーク座標系が設置され、アプローチ完了状態表現データは、画像上におけるマーク座標系の位置・姿勢を表わすデータとを含むように教示される。
【0011】
自律アプローチ動作実行段階に先だって、予備的なアプローチ動作を行なうためにジョグ送りを行なうようにしても良い。その際、ジョグ送り段階から自律アプローチ動作実行段階への移行は、制御手段によって自動的に行なわれることが好ましい。
【0012】
また、自律アプローチ動作実行段階におけるソフトウェア処理は、当該時点において視覚センサによって認識されるロボットの手先と対象物の相対的な位置関係を表わすデータと、教示されたアプローチ完了状態表現データとを比較する処理と、比較結果に基づいてロボットの各軸を移動制御するための処理と、アプローチ完了状態の完了/未完了を判定する処理を、アプローチ完了状態の完了が判定されるまで逐次的に繰り返すものとすることが出来る。
【0013】
本発明の最も重要な特徴は、アプローチ完了状態表現データがロボット手先(即ち、それに固定されたカメラ)と目標物の相対的な位置関係を記述するデータの形態で予め入力されており、従って、アプローチ動作時に、このアプローチ完了状態表現データに対応するカメラと目標物の相対的な位置関係を実現するような移動制御を行なうことで、自律的なアプローチ動作が実現される点にある。
【0014】
この特徴により、オペレータに負担をかけることなくアプローチ完了状態が任意のワークに対して効率的に達成される。また、ジョグ送りから自律アプローチ動作への自動移行を行なえば、ロボットの至便利性を更に向上させることが出来る。
【0015】
【発明の実施の形態】
図1は本発明のロボット移動制御方法をハンドリングロボットの例を用いて概念的に説明する図である。符号1aはアプローチ完了状態入力手段を表わし、アプローチ対象を代表するワーク3に対するロボット2のアプローチ動作が完了した時のワーク3とハンド2aの相対的な位置関係(姿勢を含む。)を表現するためのデータ(以下、「アプローチ完了状態表現データ」と言う。)を予めメモリ4に入力しておく機能を有している。なお、ハンド2aの位置がロボット手先位置(例えばTCPまたは最終アーム先端のフランジ上に設定された座標系の原点)で代表され得ることは言うまでもない。
【0016】
実際の作業時にあたっては、オペレータがジョグ送りボタン5(一般には、アプローチ動作マニュアル指令手段)を操作し、軸移動制御手段6にロボット2の各軸を制御させ、アプローチ動作を実行させる。アプローチ動作のための移動制御は、アプローチ完了状態入力手段1aによって入力されたアプローチ完了状態表現データと、メモリ4にワーク3とハンド2a(ロボット2の手先)の相対的な位置関係を認識する相対位置認識手段1bによって取得される相対位置認識データとに基づいて実行される。
【0017】
アプローチ動作は、ワーク3とハンド2a(ロボット2の手先)の相対的な位置関係が、アプローチ完了状態表現データの表わすものと一致した時点で完了する。なお、実際の作業時に対象とされる個々のワーク3は、正確な位置決めがなされていなくて良いことに注意。また、以下に述べるように、アプローチ完了状態入力手段1aと相対位置認識手段1bは2次元視覚センサを利用する形で具体化される。
【0018】
図2および図3は本実施形態のロボットの移動制御方法を実施するためのロボット制御システムの要部構成図である。ロボット10はハンドリングロボットあるいは他種のロボットであり、アーム11の先端には、ツール(エンドエフェクタ)12が取り付けられている。ここでは、ツール12としてハンドが示されている。ロボット10は、ロボット制御装置30によって動作制御され、ワーク14を把持して搬送する。なお、ツール12の種類及びアプローチ後の作業内容はアプリケーションによることは言うまでもない(例えば、ツール12が加工ツールであれば、加工を行なう)。
【0019】
また、ロボット10のアーム11には、ツール12と一体に移動できるようにカメラ13が取り付けられている。カメラ13は、画像処理装置20と接続されており、その撮影画像を画像処理装置20に送る。
【0020】
画像処理装置20は、CPU、フレームメモリ、画像処理プロセッサ、プログラムメモリ、データメモリ等を備えた周知の構成と機能を有するもので、カメラ13からの撮影画像の記憶・処理を行い、その結果得られるデータをロボット制御装置30に送る。ここでは、画像処理方式に関連して2通りの形態を採用する。
〔方式A〕 図2のように、カメラ13からの撮影画像を輪郭処理してワーク画像の重心位置を求める。また、ワーク14の特徴部14a等を抽出して、重心と特徴部との位置関係等のデータを求める。このデータを、代表ワークに対するアプローチが実現されている状態で得られた画像に基づいて作成すれば、それがアプローチ完了状態表現データとして利用出来る。
〔方式B〕 図3のように、座標系(マーク座標系15a)を定義できるようなマーク15をワーク14に予め用意しておき、カメラ13による撮影画像の処理により、カメラ座標系13aに関するマーク座標系15aの相対的位置姿勢のデータを求める。方式Aの場合と同じく、このデータを、代表ワークに対するアプローチが実現されている状態で得られた画像に基づいて作成すれば、それがアプローチ完了状態表現データとして利用出来る。
【0021】
ロボット10のアプローチ動作の指示は、ロボット制御装置30に接続された教示操作盤40によって行われる。教示操作盤40は、後述するように、液晶ディスプレイや各種のキーを備えている。また、オペレータによって持ち運びできる程度の大きさであることが好ましい。ロボット制御装置30は、方式Aあるいは方式Bに従った画像処理を行なう画像処理装置20および教示操作盤40からのマニュアル指令入力に従って、アプローチ完了状態表現データが表わすアプローチ完了状態を実現すべく移動制御を行う。
【0022】
図4はロボット制御装置30のハードウェアの構成を示す要部ブロック図である。ロボット制御装置30には、バス39に結合されたプロセッサボード31が装備され、このプロセッサボード31には、プロセッサ31a、ROM31b、RAM31cが設けられている。プロセッサ31aは、ROM31bに格納されたシステムプログラムに従って、ロボット制御装置30全体を制御する。RAM31cには、画像処理装置から送られるアプローチ完了状態表現データが格納される。
【0023】
ディジタルサーボ制御回路32はバス39に結合され、プロセッサボード31からの指令によって、サーボアンプ33を経由して、サーボモータ51,52,53,54,55および56を駆動する。これらのサーボモータはロボット10の本体機構部に内蔵され、ロボット10の各軸を駆動する。
【0024】
バス39には更にシリアルポート34が結合されており、液晶ディスプレイ付きの教示操作盤40、その他のRS232C機器58と接続されている。RS232C機器58には、画像処理装置20も含まれる。教示操作盤40はオペレータにより持ち運びができる程度の大きさと重さを有し、そのパネル上にはアプローチ動作マニュアル指令入力手段として使用されるジョグ送りボタン等が設けられている。また、シリアルポートには、オプションでCRT36aが接続可能であり、CRT36aの位置から作業状態等が確認できる。
【0025】
ディジタルI/O35には、操作パネル36bが接続されており、ロボット制御装置30の位置でロボット10の動作指令を行うことができる。また、ディジタルI/O35には、ツール12の把持駆動部が接続されており、その動作指令を行うことができる。アナログI/O37には、例えばツール12としてレーザ溶接用の加工ヘッドが使用された場合に、その溶接電源装置が接続され、このアナログI/O37を介して溶接電圧の指令が行われる。また、大容量メモリ38には、ティーチングデータ等が格納される。
【0026】
図5は教示操作盤40のパネル面の概略構成を示す図である。表示画面41は例えば液晶画面であり、移動指令プログラムの詳細データ等が切替え表示される。ファンクションキー42は、表示画面41の下端部に表示されるメニューを選択するキーである。教示操作盤有効スイッチ43は、教示操作盤40の操作が有効か無効かを切り換えるスイッチである。
【0027】
非常停止ボタン44は、ロボット10の動作を非常停止させるボタンである。カーソルキー45は、表示画面41上で表示されるカーソルの移動を行うキーである。テンキー部46には、数字キーやその他のキーが設けられており、数値および文字の入力、削除等を行うことができる。
【0028】
一連のジョグ送りボタン47(J1〜J6)は、従来方式のジョグ送りを行なう通常モードでは、並進/回転方向及び+−方向を指定して移動指令の入力を行うボタンであるが、本実施形態(自律アプローチモード)では、後述するように、アプローチ動作マニュアル指令入力手段として使用する。
【0029】
次に、本実施形態におけるアプローチ動作の概要について説明する。
図6および図7は、前述の方式A及び方式Bを採用した各々の場合について、ロボットの動作を説明する図である。ここでは、ツール12はハンドであり、ハンド12によってロボットの動作範囲内に順次供給されるワーク14を把持して所定位置に配置されたパレット(図示省略)まで搬送するパレタイジング作業を考える。順次供給されるワーク14は、正確に位置決めされておらず、供給位置には相当のバラツキがあって良い。
【0030】
[1]準備
1.作業開始に先だって、アプローチ完了状態データの取得作業を行なう。この作業は、代表ワーク14を適当な位置(実際の作業時の供給位置を代表すると思われる範囲内であれば十分である。)に置き、通常モード(従来方式)のジョグ操作によってロボットを移動させ、アプローチ完了状態を実現させる。この作業には正確を期す必要があるが、このような作業はワークの種別が変わらない限り1回きりで良いことは本発明の重要な特徴である(従来方式では、ワーク毎にジョグ送りのやり直しが必要)。
【0031】
2.代表ワーク14に対してアプローチ完了状態を実現したら、ロボット制御装置30を介してカメラ13による撮影を行なわせ、アプローチ完了状態表現データを作成するための画像を取得する。
3.取得された画像は画像処理装置20内で画像処理され、前述の方式A,Bに対応して次のようなデータが作成され、アプローチ完了状態表現データとしてRAM31cに格納される。
【0032】
〔方式A〕;代表ワーク14の重心Pgおよび特徴部14aの位置関係、TCPのアプローチ達成時の位置Pc=Paと重心Pgとの間の距離L1等の位置姿勢データ。なお、ここで「重心」とは実際には画像として認識された代表ワーク14の重心、即ち「画像重心」のことである。
〔方式B〕 カメラ座標系を基準としたマーク座標系15aの相対的な位置姿勢を表わすデータ(詳細は後述)。なお、方式Bを採用する場合には、実際の作業で扱われる全ワークに対して、ワーク上の同じ位置に同じ姿勢で代表ワーク14に用意されたのと同じマーク座標系15aが用意されていることが前提となる事に注意する必要がある。
【0033】
[2]実際の作業
1.アプローチ完了表現データ入力後、新しく供給されたワーク14に対して実際の作業を開始する。オペレータは、ジョグ送りボタン47(図5)を押してロボットの各軸を移動制御し、ツール12の位置を代表するTCPを開始点(Pc=Ps)からワーク14に向けてジョグ送りで移動させる。この間、カメラ13と画像処理装置20を含む2次元視覚センサも動作している。
【0034】
2.ツール12がワーク14に接近してカメラ13の視野にワーク14が入ると、画像処理装置20がそれを感知し、ロボット制御装置30は通常モードから自律アプローチモードに切り換わり、自律アプローチ動作が開始される。なお、最初からカメラ13の視野にワーク14が入っている場合には、通常モードから自律アプローチモードへの切り換えはジョグボタン押下直後に起る。
3.自律アプローチ動作は、アプローチ完了状態の実現をロボット制御装置30が確認しない限り、ジョグ送りボタン47の押下によって何度でも繰り返し続行される。アプローチ動作の最終的な移動目標位置は、予め入力されているアプローチ完了状態表現データの表わしている位置である。
4.アプローチ動作開始後に、A方式あるいはB方式で作成されたアプローチ完了状態表現データと等価なデータが得られるような位置にロボットのTCPが到達した時点で、アプローチ動作が完了する。アプローチが完了すると、ロボットは停止するとともに、ロボット制御装置30は自律アプローチモードから通常モードに自律的に復帰する。
5.停止後、オペレータは、必要に応じてハンド操作とジョグ送り等を組み合わせてワーク14を把持し、所定位置へ搬送し、ワーク14を解放する。
以上の手順を次回以降の各ワーク14に対しても繰り返すことで多数のワーク14に対するパレタイジング作業を効率的に行なうことが出来る。
[3]処理の概略
図8はこのようなロボット移動制御のための教示操作盤の操作手順と処理の大要を示すフローチャートである。各ステップの処理を簡単に記すと次のようになる。
〔S1〕ジョグ送りボタン47が押されてジョグ送りの指令がなされたか否かを判断し、なされればステップS2に進み、なされなければステップS1を繰り返す。
〔S2〕ジョグ送りボタン47で指定された移動内容(方向、軸等)に応じて、所定の軸を制御して、ロボット10のジョグ送り移動を開始する。例えば、J6軸+方向の移動が指定されていれば、J6軸を+方向へ進める移動指令を作成してサーボに渡す。
〔S3〕ジョグ送りボタン47がオフにされたか否かを判断し、オフにされればステップS8に進み、されなければステップS4に進む。
〔S4〕画像処理装置20から、カメラ13の視野内にワーク14が入ったことを知らせる信号の受信の有無を確認し、受信していればステップS5に進み、受信していなければステップS3に戻る。
〔S5〕アプローチ動作の処理を開始する。具体的な処理内容の例については、A方式、B方式に分けて後述する。
〔S6〕ジョグ送りボタン47がオフにされたか否かを判断し、オフにされていればステップS8に進み、されていなければステップS7に進む。
〔S7〕アプローチが完了したか否かを判断し、完了していればステップS8に進み、完了しなければステップS6に戻る。なお、アプローチ完了の判断方式についても、A方式、B方式の具体例の中で述べる。
〔S8〕ロボット10の各軸の動作を停止させる。
【0035】
[4]方式Aにおける自律アプローチ動作時の処理
本発明を現実のアプリケーションに適用する場合、図9に示したように、ロボットの手先に搭載されたカメラ13の光軸方向Cを固定した条件で自律アプローチのためのロボット動作を行えるようにすることが実際的である。そこで、ここでは最も現実的なアプリケーションとして、図10に示したような事例を想定する。
図10に示したように、ワーク14は一つのワーク供給面PL1上に供給される。ワーク供給面PL1は、ワーク座標系Σw のZ軸に垂直であるが、ワーク供給面PL1上のワーク14での正確な位置決めはなされていない。ワーク14の特徴部14aはワーク上面14b上にあり、ロボットはカメラ13の光軸Cを常時面PL1及びワーク上面14bに垂直な方向を向けた状態でアプローチ動作を行なう。
【0036】
ツール座標系Σt のZt 軸は、ハンド12の軸方向及び光軸Cと平行になるように設定されているものとする。従って、自律アプローチ動作は、ツール座標系Σt のZt 軸とワーク座標系のZ軸の平行関係を維持しながら、ロボットのTCPをアプローチ開始位置Psからアプローチ完了位置Paまで移動させる過程となる。TCPをアプローチ完了位置Paに接近させ、到達させるにはカメラ13と画像処理装置20による視覚センサ機能が利用される。以下、その処理のアルゴリズムについて説明する。なお、以下の説明において、記号<>はベクトルを表わすために使用する。
【0037】
1.概要
先ず、図11から図12に続くフロー説明図は、アプローチ動作の諸段階を仮想的な画面を適宜援用して説明するもので、流れを8つの段階AP1〜AP8に分け、図11にはAP1〜AP3を、図12にAP4〜AP8を示した。
(AP1)アプローチ開始後で且つアプローチ未完了の状態。この状態においてカメラ13で捉えられている画像を、アプローチ完了状態を表わす画像と比較する形で一般的に描示した。以下の説明において、各記号の意味は次の通りである。
×;アプローチ完了状態における画面上のワーク重心Pgの位置で、前述[1]の準備作業により、画像処理装置20内のメモリにカメラ座標系上のデータが記憶されている。
△;アプローチ完了状態における画面上の特徴部14aの位置で、重心位置のデータと同様、前述[1]の準備作業により、画像処理装置20内のメモリにカメラ座標系上のデータが記憶されている。
【0038】
□;アプローチ開始後の任意の状態でカメラ13によって捉えられている画像における重心Pgの位置で、アプローチ動作中に画像処理装置20内で行なわれる画像処理によって随時把握される。
【0039】
○;アプローチ開始後の任意の状態でカメラ13によって捉えられている画像における特徴部14aの位置で、重心位置と同様、アプローチ動作中に画像処理装置20内で行なわれる画像処理によって随時把握される。
【0040】
(AP2)アプローチ開始後、先ず、光軸C回りのロボットの姿勢をアプローチ完了状態のそれと比較するために、画面上で見た重心位置と特徴部位置の関係でチェックする。具体的には、×→△の方向を表わす単位ベクトル<d0 >と□→○を表わす単位ベクトル<d1 >が平行であるか否かを判断する。
(AP3)AP2の判断がイエス(平行)でない限り、AP3へ進みロボットを所定量光軸C回りで動かし、<d0 >と<d1 >の関係を調整する。調整後、再びAP2へ戻り、調整未了であれば再度AP3へ進む。AP2,AP3はAP2の判断がイエス(平行)となるまで繰り返す。
【0041】
(AP4)AP2の判断がイエス(平行)となったら、AP4へ進む。AP4では、ロボットの位置をアプローチ完了状態のそれと比較するために、画面上で見た特徴部位置をチェックする。具体的には、○の位置と△の位置が一致しているか否かを判断する。
(AP5)AP4の判断がイエス(一致)でない限り、AP5へ進んでカメラ13を並進移動させるようなロボット位置調整を行なう。移動方向は、画面上の△の位置(記憶データで表現される不動位置)が、○の位置(ロボットが移動すると動く)へ接近する方向<e>とする。この調整によって、<d0 >と<d1 >の平行関係が悪化するのが一般的であるから、AP2へ戻り、<d0 >と<d1 >の平行関係を再度チェックする。平行関係が崩れていたら、AP3へ進む。上述した通り、光軸C回りの姿勢調整(AP3)とチェック(AP2)はAP2の判断がイエス(平行)となるまで繰り返される。
【0042】
(AP6)AP4の判断がイエス(一致)となると、AP6に示したような画面上における○の位置と△の位置関係が実現されることになる。
(AP7)AP6の状態で、カメラ13の3つの視線方向を表わす方向ベクトル、<a0 >,<b0 >,<b1 >を計算する。<a0 >はカメラ13が△を見る視線方向を表わす単位ベクトルであり、AP6の状態では同時に○を見る視線方向を表わす単位ベクトルでもある(画面上の位置が同じであることに注意)。一方、<b0 >,<b1 >は各々カメラ13が×と□を見る視線方向を表わす単位ベクトルである。そして、ベクトル<b0 >と<b1 >の一致/不一致をチェックする。
【0043】
(AP8)AP7で<b0 >と<b1 >が一致していない限り、AP8へ進みロボットの位置調整を行なう。この時の移動は、カメラ13が△及び○を見る視線方向に沿った前進/後退に限定し、内積<a0 >・<b0 >が内積<a0 >・<b1 >と一致するまで行なう。一般のケースでは、この調整により<d0 >と<d1 >の平行関係が崩れる。
【0044】
そこで、調整完了後(両内積一致後)、再び(AP1)へ戻り、上述したサイクルを繰り返す。このようにして、アプローチ完了状態へ向かって漸近し、実質的に「△と○が一致且つ×と□が一致」が実現された状態で迎えたAP7でイエスの判断が出される。このようにして、アプローチ完了状態データの入力時の状態(即ち、アプローチ完了状態)が再現されたら、自律アプローチの処理を終了する。
【0045】
2.アルゴリズムの説明
次に、上記説明した概略フローに即したアルゴリズムについて、図13〜図15のフローチャート並びに関連説明用の図16〜図20を参照図に加えて説明する。各図のフローチャートと上記概要の説明との対応関係は次の通りである。
図13(ステップH1〜H7);AP1〜AP3に対応
図14(ステップH8〜H19);AP4〜AP5に対応
図15(ステップH20〜H29);AP6〜AP8に対応
〔H1〕ロボットの手先(最終アーム先端のフランジ上に設定された座標系の原点またはTCP)の位置・姿勢を表わす4行4列の行列Tを計算し、行列Tを記憶したレジスタ値を更新する。
〔H2〕<a1 >,<b1 >を画像処理で求める。図16に示したように、<a1 >はカメラ13が○(現在の特徴部14aの画像上位置)を見る視線方向を表わす単位ベクトルであり、<b1 >はカメラ13が□(現在の重心の画像上位置)を見る視線方向を表わす単位ベクトルである。また、ベクトル<z>は、図17に示したように、カメラ13のレンズ中心に相当した位置Oc に原点を設定されたカメラ座標系のz軸方向の単位ベクトルである。カメラ座標系のz軸方向は、光軸C方向と一致している。
【0046】
〔H3〕ベクトル<z>,<a1 >,<b1 >を用いて、□から○を向いた単位ベクトル<d1 >(図11左下部参照)を計算する。
〔H4〕ベクトル<d0 >とベクトル<d1 >が平行であるか否かを判断する。イエスであれば、ステップH8へ進み、ノーであればステップH5へ進む。
【0047】
〔H5〕<d0 >と<d1 >の平行化に必要な回転調整量を表わす行列Rを計算する。
〔H6〕ステップH5で求めた行列RとステップH1で計算済みの行列Tを用いて、ロボットの移動目標位置・姿勢を表わす行列Tを計算する。
〔H7〕ステップH6で求めた行列Tの表わす位置・姿勢へ、ロボットを移動させる。
【0048】
〔H8〕ベクトル<a0 >とベクトル<a1 >が一致しているか否かを判断する。イエスであれば、ステップH20へ進み、ノーであればステップH9へ進む。
〔H9〕ロボットの並進移動の刻み量lを設定する。lは適当な大きさの固定値l0 (例えば2cm)と|<a0 >×<a1 >|の積を計算して設定される。
〔H10〕ベクトル<z>,<a0 >,<a1 >を用いて、△から○を向いた単位ベクトル<e>(図18上部参照)を計算する。
〔H11〕ロボットを<e>方向にlだけ並進移動させた位置・姿勢を表わす行列Tを計算する。部分行列Iは図18に併記したように、3行3列の単位行列である。また、行列Cはカメラ座標系Oc −xyz(図17参照)の位置・姿勢をカメラ手先(最終アーム先端のフランジ上に設定された座標系またはTCP)から見たカメラ座標系の位置・姿勢を表わす行列である。行列Cを表わすデータは、公知の適当なカメラキャリブレーションによってロボット制御装置内に格納されている。
【0049】
〔H12〕ステップH11で求めた行列Tの表わす位置・姿勢へ、ロボットを移動させる。
〔H13〕移動後の状態で、ベクトル<a1 >を求める。
〔H14〕ベクトル<a0 >とベクトル<a1 >が一致しているか否かを判断する。イエスであれば、ステップH1へ戻り、ノーであればステップH15へ進む。
〔H15〕移動後の状態において△から○を向いた単位ベクトル<f>(図18下部参照)を計算する。
【0050】
〔H16〕ステップH10で求めたベクトル<e>とステップH15で求めた<f>との内積の符号をチェックする。もし、負であればロボット移動によって○が△をオーバランしたことになる(画像上では△の位置は記憶データによって固定されているので、○が△に近づくように変化する)。オーバラン時(判断イエス時)には、ステップH17へ進む。判断ノー時には、ステップH18へ進む。
【0051】
〔H17〕刻み移動量lを半減させる。
〔H18〕ステップH15で求めた<f>を改めて<e>の値とする。
〔H19〕ロボットの手先の位置・姿勢を表わす4行4列の行列Tを計算し直して、ステップH11へ戻る。
【0052】
〔H20〕ベクトル<b0 >とベクトル<b1 >が一致しているか否かを判断する。イエスであれば、図20に示したようにアプローチ完了状態が実現されたことを意味するから、処理を終了する。ノーであればステップH21へ進む。
【0053】
〔H21〕ロボットの並進移動の刻み量lを再設定する。lは適当な大きさの固定値l0'(例えば1cm)と<a0 >と<b1 >−<b0 >の内積を計算して設定される。
〔H22〕ロボットを<a0 >方向にlだけ並進移動させた位置・姿勢を表わす行列Tを計算する。
【0054】
〔H23〕ステップH22で求めた行列Tの表わす位置・姿勢へ、ロボットを移動させる。この移動は、図19に示したように、画像上で□が×に近づくように変化するような前進後退移動である(×はアプローチ完了状態記憶データで固定されていることに注意)。
〔H24〕移動後の状態における<b1 >を画像処理で求める。
〔H25〕ステップH24で計算された<b1 >を用いて、<a0 >と<b1 >−<b0 >の内積mを計算する。
【0055】
〔H26〕m=0か否かをチェックする。イエスであれば、ステップH1へ戻る。ノーであれば、ステップH27へ進む。
〔H27〕ステップH25で求めたmと刻み調整量lの積の符号をチェックする。もし、負であればロボット移動によって□が×をオーバランしたことになる。オーバラン時(判断イエス時)には、ステップH28へ進む。判断ノー時には、ステップH29へ進む。
〔H28〕刻み移動量lを半減させ、且つ、その符号を反転させる。
〔H29〕ロボットの手先の位置・姿勢を表わす4行4列の行列Tを計算し直して、ステップH22へ戻る。
【0056】
以上述べたアルゴリズムを用いた処理サイクルを繰り返すことで、ロボットはアプローチ完了状態に漸近し、やがて図20に示したアプローチ完了状態が達成される。ステップH20でイエスの判断出力が出されて、処理は終わる。
【0057】
[5]方式Bにおける自律アプローチ動作時の処理
方式Aを適用したアプリケーションではカメラの光軸方向一定という条件の下での自律アプローチ動作を説明したが、以下に説明する方式Bのアプリケーションでは、このような条件を外してより一般的な事例を考える。
本アプリケーショでは、図22に示したように、マーク座標系15aを1つづつワーク面上の定位置に設置したワーク14がワーク供給PL2上に正確な位置決めなしに供給される。そして、任意のアプローチ開始位置Ps(カメラ光軸方向傾斜可;但し、マーク座標系15aは視野内にある)から自律アプローチ動作を開始して、アプローチ完了位置Pa(カメラ光軸方向傾斜可)への移動を達成するための処理のアルゴリズムを説明する。
【0058】
なお、ここではロボット乃至ツールの位置は最終アーム先端のフランジに設定された座標系(単にフランジとも言う。)で代表させる。また、記号<>は方式Aの説明の場合と同じくベクトルを表わすために使用するが、個別の意味は<>内の文字が方式Aの説明と重複していても、必ずしも同じ意味とは限らない(例えば<d0 >など)。行列の表記についても同様である。
【0059】
1.概要
自律アプローチ動作に必要なアルゴリズムの大要は、図21に記した通りである。フランジの現在位置(アプローチ動作中の各時点における位置)T0 、カメラ座標系とマーク座標系の現在相対位置(アプローチ動作中の各時点における相対位置)M0 と、アプローチ完了状態におけるフランジ位置Tg 、アプローチ完了状態におけるカメラ座標系とマーク座標系の相対位置Mg との幾何学的な関係は、図22中に記されているようなものである。なお、Mg は予め計算して記憶され、Cはキャリブレーションで教示される。これは方式Aの場合と同様である。
【0060】
これらT0 ,M0 ,Tg ,Mg の間の関係を規定する基本方程式は下記のようになる。
T0 CM0 =Tg CMg ・・・(1)
従って、これをTg について解いた次式(2)がロボットの直交座標系上での移動目標位置を表わす基本式となる。
Tg =T0 CM0 Mg-1-1 ・・・(2)
このTg を最終的な移動目標点とする位置指令をサーボに与えれば、ロボットをアプローチ完了状態へ向けて自律的に移動させることが出来る。故に、自律アプローチ動作のアルゴリズムを定めることは、(2)式の右辺を具体的に求める問題に帰着する。
【0061】
(2)式の右辺中、T0 はロボットの現在位置データを表わしており、Cのデータは適当なキャリブレーションで獲得され得る。そこで、M0 及びMg の求め方から説明する。
【0062】
2.M0 及びMg の方程式
M0 ,Mg は、いずれもカメラ座標系から見たマーク座標系15aの位置・姿勢(現在及びアプローチ完了時)を表わしている。本実施形態で用いるマーク座標系15aは、図23に示されている。マーク座標系15aは間隔aを以て格子状に配列された5個の円形ドットD0 ,D1 ,D-1,D2 ,D-2で構成されている。
【0063】
図示した通り、ドット間隔aは正の一定値とする。
a>0 ・・・(3)
各ドットの中心位置は、D0 (0,0,0),D1 (a,0,0),D-1(−a,0,0),D2 (a,a,0),D-2(−a,a,0)である。なお、3次元直交座標系を表現出来るものであれば、他のパターンでマーク座標系15aを構成しても良い。
【0064】
M0 とMg は、3次元直交座標系間の位置・姿勢の関係を表現する4×4の同次変換行列であり、次式(4)のように置くことが出来る。
【0065】
【数1】

Figure 0003998741
ここで、RM は回転を表わす3×3行列、<lM >は位置を表わす3×1行列(ベクトル)である。以下、M0 とMg が満たす方程式として、RM と<lM >が満たす方程式を求めることを考える。先ず、次式(5),(6)でベクトル<e1 >,<e2 >のように定義する。
【0066】
【数2】
Figure 0003998741
マーク座標系15aに関して視覚センサから得られる情報は、各ドットD0 ,D1 ,D-1,D2 ,D-2の中心がカメラ座標系の原点から見える方向(視線方向)である。これらの方向は、図24に示したように、5個の単位ベクトル<d0 >,<d1 >,<d-1 >,<d2 >,<d-2 >で表わすことが出来る。
【0067】
これらベクトルの内積について、次式(7)で定義されるδijを導入する。
δij=<di>・<dj> (i,j=-2,-1,0,1,2 ) ・・・(7)
ここで、<d0 >,<d1 >,<d-1 >,<d2 >,<d-2 >の長さはすべて1であるから、δijの絶対値は1を越えることはない。
|δij|≦1 (等号成立の必要十分条件はi=j) ・・・(8)
また、カメラ座標系原点から各ドット中心までの距離は不明であるが、これをti (i=-2,-1,0,1,2 )と置く。当然これらは正の値をとる。
【0068】
ti >0 (i=-2,-1,0,1,2 ) ・・・(9)
すると、次の方程式(10)〜(12)が得られる。
t0 <d0 >=<lM > ・・・(10)
t1 <d1 >=<lM >+aRM <e1 > ・・・(11a)
t-1<d-1>=<lM >−aRM <e1 > ・・・(11b)
t2 <d2 >=t1 <d1 >+aRM <e2 > ・・・(12a)
t-2<d-2>=t-1<d-1>+aRM <e2 > ・・・(12b)
従って、ti を求めながらこれらの方程式をRM と<lM >に関して解いて行けば、M0 ,Mg を定めることが出来る。具体的な解法については、4.M0 及びMg の求め方の項で説明することにし、カメラ座標系の位置・姿勢を表わすCについて簡単に触れておく。
【0069】
3.Cの方程式
Cはフランジから見たカメラ座標系の位置・姿勢を表現する行列であり、そのデータはカメラ13のキャリブレーションによって得られる。キャリブレーションについては種々の手法が公知になっており、それらを利用することが出来るが、マーク座標系15aを用いてもカメラ13のキャリブレーションを行なうことも出来る。ここでは、その要点のみを簡単に記しておく。
【0070】
図22中に符号CB1〜CB3で示したような異なる3点において、カメラ13による撮影を各々実行し、画像処理を行なってマーク座標系15aとカメラ座標系の原点の間の相対位置に関するデータPi (i=1,2,3 )を得る。それらと各撮影時のロボット位置のデータTi (i=1,2,3 )を組み合わせると、次の3組の方程式が得られる。なお、Pi (i=1,2,3 )を求める要領はM0 やMg と同様である。
T1 CP1 =T2 CP2 =T3 CP3 ・・・(13)
3点CB1〜CB3のロボットの姿勢が互いに異なる条件下では、この方程式をCに関して解くことが可能である。この条件を(14)とする。
条件:T1 ,T2 ,T3 の各姿勢成分は互いに異なる ・・・(14)
求められたCのデータは、ロボット制御装置あるいは画像処理装置に記憶される。なお、方程式の解法については、5.Cの求め方で補足説明を行なう。
【0071】
4.M0 及びMg の求め方
方程式(10)〜(12)を解いてRM ,<lM >を求めるにあたって、先ずti (i=-2,-1,0,1,2 )を求めることを考える。そのために、次式(15)の置き換えを行う。
【0072】
【数3】
Figure 0003998741
そして、これを用いて方程式(10)〜(12)を次式(16)〜(18)のように変形する。
<rM >=t0 RM-1 <d0 >=<lM > ・・・(16)
<rM >+a<e1 >=t1 RM-1 <d1 > ・・・(17)
<rM >−a<e1 >=t-1RM-1 <d-1> ・・・(18)
ここで、RM-1 が回転を表わす行列であることに注意すると、次式(19)が成立する。
Figure 0003998741
この(19)式と、(5)〜(8)式及び(16)〜(18)式を用いると、次の関係式(20)〜(23)が得られる。
【0073】
‖<rM >‖2 =t02 ・・・(20)
‖<rM >‖2 +2arMx+a2 =t12 ・・・(21a)
‖<rM >‖2 −2arMx+a2 =t-12 ・・・(21b)
‖<rM >‖2 +arMx=t0 t1 δ0,1 ・・・(22a)
‖<rM >‖2 −arMx=t0 t-1δ0,-1 ・・・(22a)
δ0,12<1,δ0,-12 <1 ・・・(23)
これらの式から条件(3),(9)と式(22a),(22b)から、‖<rM >‖2 +arMxとaδ0,1、‖<rM >‖2 −arMxとaδ0,-1 とが各々同符号になる事に注意して整理すれば、次式(24a)〜(25b)が得られる。
【0074】
【数4】
Figure 0003998741
式(24a),(24b)は更に変形すると、次式(26),(27)が得られる。 ‖<rM >‖2 =(a2β+2)/(1+β-2) ・・・(26)
rMx=(aβ+ β- )/(1+β-2) ・・・(27)
但し、β+ ,β- は次式(28a),(28b)で定義されるものとする。
β+ =(α1 +α-1)/2 ・・・(28a)
β- =(α1 −α-1)/2 ・・・(28b)
そして、式(20)(21a),(21b)に式(26)(27)を代入して条件(3),(9)を用いれば、t0 ,t1 ,及びt-1が次式(29)(30a),(30b)で求まる。
【0075】
【数5】
Figure 0003998741
これらを用いて更に、t2 ,t-2,<lM >及びRM が次のように求められる。
【0076】
【数6】
Figure 0003998741
5.Cの求め方
前述の条件(14)の下で、前述の方程式(13)を解く。方程式(13)を変形すると、次の(31),(32)が得られる。
-1T1-1T3 C=P1 P3-1 ・・・(31)
-1T2-1T3 C=P2 P3-1 ・・・(32)
ここで次式(33)〜(37)に従った置き換えを行なう。
【0077】
【数7】
Figure 0003998741
すると、方程式(31),(32)は次の式(38)〜(41)に分解される。
RC-1 R1 RC =R2 ・・・(38)
RC-1 R3 RC =R4 ・・・(39)
(I−R1 )<lC >=<l1 >−RC <l2 > ・・・(40)
(I−R3 )<lC >=<l3 >−RC <l4 > ・・・(41)
従って、RC 及び<lC >を求めることが目標となる。ここで、方程式(38),(39)の形から、回転行列間の相似R1 〜R2 ,R3 〜R4 及びそれらの相似関係を表現する相似変換行列がともにRC であることが判る。
そこで、Ri (i=1,2,3,4 )の回転方向を表わすベクトルを<vi >(i=1,2,3,4 )として、次式(42),(43)が得られる。ここで、<vi >(i=1,2,3,4 )は、条件(14)と定義式(34),(36)から一意的に定めることが出来る。
<v1 >=RC <v2 > ・・・(42)
<v3 >=RC <v4 > ・・・(43)
更に、次式(44)の関係を用いれば、RC を求めることが出来る。
(<v1 >,<v3 >,<v1 >×<v3 >)
=RC (<v2 >,<v4 >,<v2 >×<v4 >) ・・・(44)
方程式(40),(41)に関しては、次式(45)の形にひとまとめにして、最小
2乗法を適用すれば<lC >が求められる。
【0078】
【数8】
Figure 0003998741
6.方式Bによる移動制御の処理フローの概略
最後に、1,〜5.の説明事項を前提として、方式Bにおける準備作業と自律アプローチ動作のための処理フローの概略を説明する。先ず、準備作業について補足すれば、次のようになる。
(1)作業開始に先だって、上記3で説明したように、3つの位置CB1〜CB3にロボットを順次移動させる。
(2)各位置CB1〜CB3で、代表ワーク14上のマーク座標系15aの画像を取得し、画像処理装置20内の画像処理によって各ドット中心の視線方向を表わすデータを取得する。
(3)上記5.で説明したアルゴリズムに従った処理を画像処理装置20内で行い、カメラ座標系Cのデータ(RC ,<lC >のデータ)を算出・記憶する。
【0079】
(4)カメラキャリブレーションが完了したら、ロボットを図22に示した位置Paに移動させ、代表ワーク14に対するアプローチ完了状態を現出させる。
【0080】
(5)各位置CB1〜CB3で、マーク座標系15aの画像を取得し、画像処理装置20内の画像処理によって各ドット中心の視線方向を表わすデータを取得する。
(6)上記1.2.4.で説明したアルゴリズムに従った処理を画像処理装置20内で行い、アプローチ完了状態表現データ(Mg のデータ)を算出・記憶する。
【0081】
自律アプローチ動作は、図25のフローチャートに示したように、次の諸ステップを含む処理サイクルによって実行される。
〔K1〕<d0 >,<d1 >,<d-1>,<d2 >,<d-2>を画像処理で求め、M0 を計算する。
〔K2〕記憶されているMg のデータとステップK1で求めた<d0 >,<d1 >,<d-1>,<d2 >,<d-2>から計算されるM0 とを比較し、両者の一致/不一致を判定する。一致していればアプローチ完了状態を意味するから、ステップK6へ進む。不一致であれば、アプローチ完了状態が達成されていないことを意味するから、ステップK1へ戻る。Mg とM0 の一致度の評価には種々のアルゴリズムが利用出来る。例えば、下記の式(46)で判定指標Δを算出し、Δ<ε(εは十分小なる正値)であればアプローチ完了、Δ≧εであればアプローチ未完了とすれば良い。
【0082】
【数9】
Figure 0003998741
〔K3〕ロボットの手先(フランジ上に設定された座標系の原点)の位置・姿勢を表わす4行4列の行列T0 を計算・記憶する。
〔K4〕準備作業で取得したデータ(C,Mg のデータ)と上記説明したアルゴリズムを用いて、(2)の右辺を計算し、直交移動目標位置Tg を求める。
【0083】
〔K5〕直交移動目標位置Tg へ向かうための移動指令を作成してサーボへ渡し、ロボットを移動させる。
【0084】
もし、システムが無誤差の完璧なものであれば、ステップK1〜K5の1サイクルでアプローチ完了状態に至る筈であるが、実際には視覚センサの誤差、計算の誤差等のために、アプローチ完了状態は、逐次近似的に達成される。
〔K6〕ロボットを停止させて処理を終了する。
【0085】
以上A方式、B方式の実施形態についての説明から理解されるように。本発明に従えば、予め入力されたアプローチ完了状態の位置および姿勢となるように自律的にロボットのアプローチ動作が行なわれるので、作業効率が向上する。
【0086】
なお、本実施形態では、ハンド12によりワーク14を搬送する例を示したが、溶接その他の作業に本発明を適用することができることは言うまでもない。
【0087】
また、アプローチ完了状態表現データの入力方法として、本実施形態ではカメラ13の撮影画像を使用したが、それまでの作業経験等から予めそれが判っている場合には、教示操作40のキー操作によって入力するようにしても良い。
【0088】
さらに、本実施形態では、カメラ13の視野内にワーク14が入った時を自律的にアプローチ動作を開始するタイミングとしたが、ワーク14とツール12との距離等、他のパラメータに基づいてアプローチ動作を開始するタイミングを定めても良い。
【0089】
【発明の効果】
本発明においては、アプローチ完了状態表現データがロボット手先(即ち、それに固定されたカメラ)と目標物の相対的な位置関係を記述するデータの形態で予め入力されているので、アプローチ動作時に、このアプローチ完了状態表現データに対応するカメラと目標物の相対的な位置関係を実現するような移動制御を行なえば、自律的なアプローチ動作によってオペレータに負担をかけることなくアプローチ完了状態が任意のワークに対して達成される。
【0090】
従って、多数の非位置決めワークに対する各種ロボット作業の効率化を容易に実現出来る。また、ジョグ送りから自律アプローチ動作への自動移行を可能としたので、ロボットの至便性の更なる向上が期待出来る。
【図面の簡単な説明】
【図1】 本発明のロボット移動制御方法をハンドリングロボットの例を用いて概念的に説明する図である。
【図2】 本実施形態のロボットの移動制御方法を方式Aに従って実行するするためのロボット制御システムの要部構成図である。
【図3】 本実施形態のロボットの移動制御方法を方式Bに従って実行するするためのロボット制御システムの要部構成図である。
【図4】 本実施形態で使用されるロボット制御装置のハードウェアの構成を示す要部ブロック図である。
【図5】 本実施形態で使用される教示操作盤のパネル面の概略構成を示す図である。
【図6】 方式Aを採用した場合について、ロボットの動作を説明する図である。
【図7】 方式Bを採用した場合について、ロボットの動作を説明する図である。
【図8】施形態におけるロボット移動制御のための教示操作盤の操作手順と処理の大要を示すフローチャートである。
【図9】 方式Aを適用するアプリケーションにおいてカメラ光軸方向の条件について説明する図である。
【図10】 方式Aを適用するアプリケーションの概略を説明する図である。
【図11】 方式Aを適用するアプリケーションにおけるアプローチ動作の処理について、概略を説明するためのフロー説明図の前半部分である。
【図12】 方式Aを適用するアプリケーションにおけるアプローチ動作の処理について、概略を説明するためのフロー説明図の後半部分である。
【図13】 図11及び図12に示した概略フローに即したアルゴリズムについて説明するフローチャートの一部(ステップH1〜H7)である。
【図14】 図11及び図12に示した概略フローに即したアルゴリズムについて説明するフローチャートの一部(ステップH8〜H19)である。
【図15】 図11及び図12に示した概略フローに即したアルゴリズムについて説明するフローチャートの一部(ステップH20〜H29)である。
【図16】 図13〜図15に示したフローチャートの関連説明図で、ベクトル<a0 >,<b0 >,<a1 >,<b1 >を表わしている。
【図17】 図13〜図15に示したフローチャートの関連説明図で、カメラ座標系とベクトル<z>を表わしている。
【図18】 図13〜図15に示したフローチャートの関連説明図で、ロボット移動前後のベクトル<e>と<f>の画面上での関係を表わしている。
【図19】 図13〜図15に示したフローチャートの関連説明図で、ロボットの前進後退移動によって、画面上で□が×に接近する様子が示されている。
【図20】 図13〜図15に示したフローチャートの関連説明図で、アプローチ完了状態が達成された時点における画面が描かれている。
【図21】 B方式の実施形態について、自律アプローチ動作に必要なアルゴリズムの大要を説明する図である。
【図22】 B方式の実施形態について、自律アプローチ動作を説明する図である。
【図23】 B方式の実施形態で使用されるマーク座標系について説明する図である。
【図24】 B方式の実施形態において、カメラがマーク座標系を見る視線方向を記述するベクトルについて説明する図である。
【図25】 B方式の実施形態における自律アプローチ動作の処理の概要を記したフローチャートである。
【符号の説明】
1a アプローチ完了状態入力手段
1b 相対位置認識手段
2,10 ロボット
2a ツール(ハンド)
3,14 ワーク
4 メモリ
5 ジョグ送りボタン
6 軸移動制御手段
11 アーム
12 ツール
13 カメラ
13a カメラ座標系
14 ワーク
14a 特徴部
15 マーク
15a マーク座標系
20 画像処理装置
30 ロボット制御装置
31 プロセッサボード
31a プロセッサ
31c RAM
31b ROM
35 ディジタルI/O
36a CRT
36b 操作パネル
37 アナログI/O
39 バス
40 教示操作盤
41 表示画面
42 ファンクションキー
44 非常停止ボタン
45 カーソルキー
46 テンキー部
47(J1〜J6) ジョグ送りボタン
51〜56 サーボモータ
58 RS232C機器
CB1〜3 カメラのキャリブレーションを行なう位置
D0 ,D1 ,D-1 ,D2 ,D-2 マーク座標系のドット[0001]
BACKGROUND OF THE INVENTION
The present invention provides robot movement control. Method More specifically, movement control for moving the robot to a target position based on data acquired using a visual sensor Method About. Movement control of the present invention Method Is particularly advantageously applied to jog feed type movements.
[0002]
[Prior art]
Traditionally known robot movement control Method One of them is jog feed. This is because the operator operates the jog feed button on the teaching operation panel to move the robot to the target position. Method It is. The jog feed is used for work such as lifting the work with a hand attached to the tip of the arm and stacking it on a predetermined place.
[0003]
In that case, the operator gradually moves the robot by selective operation of a plurality of jog feed buttons while visually confirming the positional relationship between the work and the hand, and approaches with TCP (Tool Center Point) as a target. The point was reached. When this approach operation is completed, the hand operation button is operated to grab the workpiece.
[0004]
[Problems to be solved by the invention]
However, in general, it takes a lot of time and a high degree of skill to reach a precise approach position by jog feed. That is, the moving direction of the robot that can be moved by jog feed is limited (for example, translation along the coordinate axis directions of XYZ, rotation around the coordinate axis, and movement of the J1 axis to J6 axis in the case of each axis feed), and simple It was good to say that it was impossible to complete an accurate approach at once by operating the jog feed button.
[0005]
The present invention has been made in view of such a situation, and enables robotic movement control that enables an autonomous approach to a target position and improves work efficiency. Method The purpose is to provide.
[0006]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention enables a robot to perform an autonomous approach operation. For objects with different positions Robot movement control that can be done Method Is to provide. Of the present invention Method Then, control means including a visual sensor provided with camera means and image processing means and a robot control device is used.
[0007]
Of the present invention Method The steps include an approach completion state teaching stage for storing approach completion state expression data representing an approach completion state for an object in the control means, and an approach action execution stage for causing the robot to perform an approach action by the control means. Further, the approach action execution stage includes an autonomous approach action execution stage in which the approach action is autonomously performed based on the approach completion state expression data.
[0008]
The approach completion state expression data in the teaching stage specifies the relative positional relationship between the hand of the robot and the object, and the movement target position of the robot in the autonomous approach operation execution stage is determined by software processing in the control means. It is determined as a position where the relative positional relationship between the object specified by the approach completion state expression data and the robot hand is realized.
[0009]
The approach completion state expression data stored in the approach completion state teaching stage can be created in the control means based on an image obtained by photographing an object representing the object by the camera means.
In one preferred form, the approach completion state expression data is taught to include data representing a feature portion of the object representative object and the position of the center of gravity on the image.
[0010]
In another preferred embodiment. A mark coordinate system recognizable by the visual sensor is installed on the surface of the object and the object representative object, and the approach completion state expression data includes data representing the position / orientation of the mark coordinate system on the image. Be taught.
[0011]
Prior to the autonomous approach operation execution stage, jog feed may be performed in order to perform a preliminary approach operation. At that time, it is preferable that the transition from the jog feed stage to the autonomous approach operation execution stage is automatically performed by the control means.
[0012]
In addition, the software processing in the autonomous approach motion execution stage compares data representing the relative positional relationship between the hand of the robot and the object recognized by the visual sensor at that time, and the taught approach completion state expression data. The process, the process for controlling the movement of each axis of the robot based on the comparison result, and the process for determining completion / non-completion of the approach completion state are sequentially repeated until the completion of the approach completion state is determined. It can be.
[0013]
The most important feature of the present invention is that approach completion state representation data is pre-input in the form of data describing the relative positional relationship between the robot hand (ie, the camera fixed thereto) and the target, An autonomous approach operation is realized by performing movement control that realizes the relative positional relationship between the camera and the target corresponding to the approach completion state expression data during the approach operation.
[0014]
With this feature, the approach completion state can be efficiently achieved for any workpiece without burdening the operator. Moreover, if automatic transition from jog feed to autonomous approach operation is performed, the convenience of the robot can be further improved.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 shows a robot movement control according to the present invention. Method It is a figure which illustrates notionally using the example of a handling robot. Reference numeral 1a represents an approach completion state input means for expressing the relative positional relationship (including posture) of the work 3 and the hand 2a when the approach operation of the robot 2 with respect to the work 3 representing the approach target is completed. (Hereinafter referred to as “approach completion state expression data”) is previously input to the memory 4. Needless to say, the position of the hand 2a can be represented by the position of the robot hand (for example, the origin of the coordinate system set on the flange of the TCP or the end of the final arm).
[0016]
In actual work, the operator operates the jog feed button 5 (generally, approach operation manual command means) to cause the axis movement control means 6 to control each axis of the robot 2 and execute the approach operation. The movement control for the approach operation includes the approach completion state expression data input by the approach completion state input means 1a and the relative recognition of the relative positional relationship between the work 3 and the hand 2a (the hand of the robot 2) in the memory 4. This is executed based on the relative position recognition data acquired by the position recognition means 1b.
[0017]
The approach operation is completed when the relative positional relationship between the workpiece 3 and the hand 2a (the hand of the robot 2) matches that represented by the approach completion state expression data. Note that the individual workpieces 3 that are targeted during actual work do not have to be accurately positioned. Further, as will be described below, the approach completion state input unit 1a and the relative position recognition unit 1b are embodied using a two-dimensional visual sensor.
[0018]
2 and 3 show the movement control of the robot of this embodiment. Implement the method It is a principal part block diagram of the robot control system for this. The robot 10 is a handling robot or another type of robot, and a tool (end effector) 12 is attached to the tip of the arm 11. Here, a hand is shown as the tool 12. The robot 10 is operation-controlled by the robot control device 30 and grips and conveys the workpiece 14. Needless to say, the type of the tool 12 and the work content after the approach depend on the application (for example, if the tool 12 is a machining tool, machining is performed).
[0019]
In addition, a camera 13 is attached to the arm 11 of the robot 10 so as to move together with the tool 12. The camera 13 is connected to the image processing apparatus 20 and sends the captured image to the image processing apparatus 20.
[0020]
The image processing apparatus 20 has a well-known configuration and function including a CPU, a frame memory, an image processing processor, a program memory, a data memory, and the like. The image processing apparatus 20 stores and processes a photographed image from the camera 13, and obtains the result. Data to be transmitted to the robot controller 30. Here, two forms are adopted in relation to the image processing method.
[Method A] As shown in FIG. 2, the captured image from the camera 13 is contoured to obtain the position of the center of gravity of the work image. Further, the feature 14a and the like of the workpiece 14 are extracted to obtain data such as the positional relationship between the center of gravity and the feature. If this data is created based on an image obtained in a state where the approach to the representative work is realized, it can be used as approach completion state expression data.
[Method B] As shown in FIG. 3, a mark 15 that can define a coordinate system (mark coordinate system 15 a) is prepared in advance on the work 14, and a mark related to the camera coordinate system 13 a is obtained by processing a captured image by the camera 13. Data on the relative position and orientation of the coordinate system 15a is obtained. As in the case of method A, if this data is created based on an image obtained in a state where the approach to the representative work is realized, it can be used as approach completion state expression data.
[0021]
The instruction of the approach operation of the robot 10 is performed by the teaching operation panel 40 connected to the robot control device 30. As will be described later, the teaching operation panel 40 includes a liquid crystal display and various keys. Moreover, it is preferable that it is a size which can be carried by an operator. The robot control device 30 performs movement control to realize the approach completion state represented by the approach completion state expression data in accordance with the manual command input from the image processing device 20 and the teaching operation panel 40 that perform image processing according to the method A or the method B. I do.
[0022]
FIG. 4 is a principal block diagram showing a hardware configuration of the robot control device 30. The robot controller 30 is provided with a processor board 31 coupled to a bus 39, and the processor board 31 is provided with a processor 31a, a ROM 31b, and a RAM 31c. The processor 31a controls the entire robot control device 30 according to the system program stored in the ROM 31b. The RAM 31c stores approach completion state expression data sent from the image processing apparatus.
[0023]
The digital servo control circuit 32 is coupled to the bus 39 and drives the servo motors 51, 52, 53, 54, 55 and 56 via the servo amplifier 33 according to a command from the processor board 31. These servomotors are built in the main body mechanism of the robot 10 and drive each axis of the robot 10.
[0024]
A serial port 34 is further coupled to the bus 39 and is connected to a teaching operation panel 40 with a liquid crystal display and other RS232C devices 58. The RS232C device 58 also includes the image processing device 20. The teaching operation panel 40 is large and heavy enough to be carried by an operator, and a jog feed button or the like used as approach operation manual command input means is provided on the panel. In addition, a CRT 36a can be optionally connected to the serial port, and the working state and the like can be confirmed from the position of the CRT 36a.
[0025]
An operation panel 36 b is connected to the digital I / O 35, and an operation command for the robot 10 can be issued at the position of the robot control device 30. Further, the digital I / O 35 is connected to a grip driving unit of the tool 12 and can issue an operation command thereof. For example, when a laser welding machining head is used as the tool 12, the analog power I / O 37 is connected to a welding power supply device, and a welding voltage is commanded through the analog I / O 37. The large capacity memory 38 stores teaching data and the like.
[0026]
FIG. 5 is a diagram showing a schematic configuration of the panel surface of the teaching operation panel 40. The display screen 41 is, for example, a liquid crystal screen, and the detailed data of the movement command program is switched and displayed. The function key 42 is a key for selecting a menu displayed at the lower end of the display screen 41. The teaching operation panel valid switch 43 is a switch for switching whether the operation of the teaching operation panel 40 is valid or invalid.
[0027]
The emergency stop button 44 is a button for emergency stopping the operation of the robot 10. The cursor key 45 is a key for moving the cursor displayed on the display screen 41. The numeric keypad 46 is provided with numeric keys and other keys, and can input and delete numerical values and characters.
[0028]
A series of jog feed buttons 47 (J1 to J6) are buttons for inputting a movement command by designating the translation / rotation direction and the + − direction in the normal mode in which the conventional jog feed is performed. In the (autonomous approach mode), as described later, it is used as an approach operation manual command input means.
[0029]
Next, an outline of the approach operation in the present embodiment will be described.
6 and 7 are diagrams for explaining the operation of the robot in each case where the above-described method A and method B are employed. Here, the tool 12 is a hand, and let us consider a palletizing operation in which the hand 12 grips the workpiece 14 sequentially supplied within the operation range of the robot and conveys it to a pallet (not shown) arranged at a predetermined position. The sequentially supplied workpieces 14 are not accurately positioned, and the supply positions may vary considerably.
[0030]
[1] Preparation
1. Prior to the start of work, an approach completion state data acquisition work is performed. In this work, the representative work 14 is placed in an appropriate position (it is sufficient if it is within a range that is considered to represent the supply position in actual work), and the robot is moved by a jog operation in the normal mode (conventional method). To achieve the approach completion state. This work needs to be accurate, but it is an important feature of the present invention that such work can be done only once as long as the type of work does not change (in the conventional method, jog feed is performed for each work). You need to start over).
[0031]
2. When the approach completion state is realized with respect to the representative work 14, the camera 13 is photographed via the robot control device 30 to obtain an image for creating approach completion state expression data.
3. The acquired image is subjected to image processing in the image processing apparatus 20, and the following data is created corresponding to the above-described methods A and B, and stored in the RAM 31c as approach completion state expression data.
[0032]
[Method A]: Position and orientation data such as the positional relationship between the center of gravity Pg of the representative work 14 and the characteristic portion 14a, the distance L1 between the position Pc = Pa and the center of gravity Pg when the TCP approach is achieved. Here, the “center of gravity” is the center of gravity of the representative workpiece 14 that is actually recognized as an image, that is, the “image center of gravity”.
[Method B] Data representing the relative position and orientation of the mark coordinate system 15a with reference to the camera coordinate system (details will be described later). When the method B is adopted, the same mark coordinate system 15a as that prepared for the representative workpiece 14 is prepared at the same position on the workpiece with the same posture for all workpieces handled in actual work. It should be noted that it is a prerequisite.
[0033]
[2] Actual work
1. After the approach completion expression data is input, actual work is started on the newly supplied workpiece 14. The operator presses the jog feed button 47 (FIG. 5) to move and control each axis of the robot, and moves the TCP representing the position of the tool 12 from the start point (Pc = Ps) toward the work 14 by jog feed. During this time, the two-dimensional visual sensor including the camera 13 and the image processing device 20 is also operating.
[0034]
2. When the tool 12 approaches the work 14 and the work 14 enters the field of view of the camera 13, the image processing device 20 detects this, and the robot control device 30 switches from the normal mode to the autonomous approach mode, and the autonomous approach operation starts. Is done. When the work 14 is in the field of view of the camera 13 from the beginning, switching from the normal mode to the autonomous approach mode occurs immediately after the jog button is pressed.
3. The autonomous approach operation is continued repeatedly as many times as the jog feed button 47 is pressed, unless the robot control device 30 confirms the realization of the approach completion state. The final movement target position of the approach operation is a position represented by approach completion state expression data inputted in advance.
4). After the approach operation starts, the approach operation is completed when the TCP of the robot reaches a position where data equivalent to the approach completion state expression data created by the A method or the B method can be obtained. When the approach is completed, the robot stops and the robot controller 30 autonomously returns from the autonomous approach mode to the normal mode.
5). After the stop, the operator grips the work 14 by combining hand operation and jog feed as necessary, conveys the work 14 to a predetermined position, and releases the work 14.
By repeating the above procedure for each workpiece 14 after the next time, palletizing work for a large number of workpieces 14 can be performed efficiently.
[3] Outline of processing
FIG. 8 is a flowchart showing an outline of the operation procedure and processing of the teaching operation panel for such robot movement control. The process of each step is briefly described as follows.
[S1] It is determined whether or not the jog feed button 47 has been pressed and a jog feed command has been issued. If yes, the process proceeds to step S2, and if not, step S1 is repeated.
[S2] A predetermined axis is controlled in accordance with the movement content (direction, axis, etc.) designated by the jog feed button 47, and the jog feed movement of the robot 10 is started. For example, if movement in the J6 axis + direction is designated, a movement command for moving the J6 axis in the + direction is created and passed to the servo.
[S3] It is determined whether or not the jog feed button 47 is turned off. If turned off, the process proceeds to step S8, and if not, the process proceeds to step S4.
[S4] The image processing apparatus 20 confirms whether or not a signal indicating that the workpiece 14 has entered the field of view of the camera 13 is received. If received, the process proceeds to step S5. If not received, the process proceeds to step S3. Return.
[S5] The approach operation process is started. Specific examples of processing contents will be described later separately for the A method and the B method.
[S6] It is determined whether or not the jog feed button 47 is turned off. If it is turned off, the process proceeds to step S8, and if not, the process proceeds to step S7.
[S7] It is determined whether or not the approach has been completed. If completed, the process proceeds to step S8, and if not completed, the process returns to step S6. The approach completion determination method will also be described in specific examples of the A method and the B method.
[S8] The operation of each axis of the robot 10 is stopped.
[0035]
[4] Processing during autonomous approach operation in method A
When the present invention is applied to an actual application, as shown in FIG. 9, the robot operation for the autonomous approach can be performed under the condition that the optical axis direction C of the camera 13 mounted on the hand of the robot is fixed. That is practical. Therefore, here, a case as shown in FIG. 10 is assumed as the most realistic application.
As shown in FIG. 10, the work 14 is supplied onto one work supply surface PL1. The workpiece supply plane PL1 is perpendicular to the Z axis of the workpiece coordinate system Σw, but is not accurately positioned on the workpiece 14 on the workpiece supply plane PL1. The characteristic portion 14a of the workpiece 14 is on the workpiece upper surface 14b, and the robot performs an approach operation with the optical axis C of the camera 13 always oriented in a direction perpendicular to the surface PL1 and the workpiece upper surface 14b.
[0036]
It is assumed that the Zt axis of the tool coordinate system Σt is set to be parallel to the axial direction of the hand 12 and the optical axis C. Therefore, the autonomous approach operation is a process of moving the TCP of the robot from the approach start position Ps to the approach completion position Pa while maintaining the parallel relationship between the Zt axis of the tool coordinate system Σt and the Z axis of the work coordinate system. The visual sensor function of the camera 13 and the image processing device 20 is used to make TCP approach and reach the approach completion position Pa. The processing algorithm will be described below. In the following description, the symbol <> is used to represent a vector.
[0037]
1. Overview
First, the flow explanatory diagrams following FIG. 11 to FIG. 12 explain the steps of the approach operation by appropriately using virtual screens. The flow is divided into eight steps AP1 to AP8, and FIG. -AP3 and AP4-AP8 are shown in FIG.
(AP1) The state after the start of the approach and the incomplete approach. In this state, the image captured by the camera 13 is generally depicted in a form compared with an image representing the approach completion state. In the following description, the meaning of each symbol is as follows.
X: At the position of the workpiece center of gravity Pg on the screen in the approach completion state, the data on the camera coordinate system is stored in the memory in the image processing apparatus 20 by the preparatory work described in [1] above.
Δ: At the position of the feature portion 14a on the screen in the approach completion state, the data on the camera coordinate system is stored in the memory in the image processing apparatus 20 by the preparatory work described in [1] as with the data of the center of gravity. Yes.
[0038]
□; The position of the center of gravity Pg in the image captured by the camera 13 in an arbitrary state after the start of the approach is grasped as needed by image processing performed in the image processing apparatus 20 during the approach operation.
[0039]
◯: The position of the characteristic portion 14a in the image captured by the camera 13 in an arbitrary state after the start of the approach, as well as the position of the center of gravity, and is grasped as needed by image processing performed in the image processing apparatus 20 during the approach operation. .
[0040]
(AP2) After starting the approach, first, in order to compare the posture of the robot around the optical axis C with that in the approach completed state, a check is made on the relationship between the position of the center of gravity viewed on the screen and the position of the characteristic portion. Specifically, it is determined whether or not the unit vector <d0> representing the direction of x → Δ and the unit vector <d1> representing □ → o are parallel.
(AP3) Unless the determination of AP2 is yes (parallel), proceed to AP3 and move the robot around the optical axis C by a predetermined amount to adjust the relationship between <d0> and <d1>. After the adjustment, the process returns to AP2, and if the adjustment is not completed, the process proceeds to AP3 again. AP2 and AP3 repeat until the determination of AP2 becomes yes (parallel).
[0041]
(AP4) If the determination of AP2 is yes (parallel), proceed to AP4. In AP4, in order to compare the position of the robot with that in the approach completion state, the position of the characteristic portion viewed on the screen is checked. Specifically, it is determined whether or not the position of ◯ matches the position of △.
(AP5) Unless the determination of AP4 is yes (coincidence), the robot proceeds to AP5 and performs robot position adjustment to translate the camera 13. The moving direction is a direction <e> in which the position of Δ on the screen (the immobile position expressed by stored data) approaches the position of ○ (moves when the robot moves). Since this adjustment generally deteriorates the parallel relationship between <d0> and <d1>, the process returns to AP2, and the parallel relationship between <d0> and <d1> is checked again. If the parallel relationship is broken, proceed to AP3. As described above, posture adjustment around the optical axis C (AP3) and check (AP2) are repeated until the determination of AP2 becomes yes (parallel).
[0042]
(AP6) When the determination of AP4 is yes (match), the positional relationship between the position of ◯ and the position of Δ on the screen as shown in AP6 is realized.
(AP7) In the state of AP6, direction vectors representing the three line-of-sight directions of the camera 13, <a0>, <b0>, <b1> are calculated. <A0> is a unit vector representing the line-of-sight direction in which the camera 13 looks at Δ, and is also a unit vector representing the line-of-sight direction in which the camera 13 looks at ○ simultaneously (note that the position on the screen is the same). On the other hand, <b0> and <b1> are unit vectors representing the line-of-sight directions where the camera 13 looks at x and □, respectively. Then, the coincidence / mismatch of the vectors <b0> and <b1> is checked.
[0043]
(AP8) Unless <b0> and <b1> match in AP7, the process proceeds to AP8 and the position of the robot is adjusted. The movement at this time is limited to advancing / retreating along the line-of-sight direction in which the camera 13 looks at Δ and ○, and is performed until the inner product <a0> · <b0> matches the inner product <a0> · <b1>. In a general case, this adjustment breaks the parallel relationship between <d0> and <d1>.
[0044]
Therefore, after the adjustment is completed (after matching the inner products), the process returns to (AP1) again, and the above-described cycle is repeated. Thus, asymptotically toward the approach completion state, an affirmative determination is made at the AP 7 which has been reached in a state where “Δ and ○ match and x and □ match” is substantially realized. When the state at the time of approach completion state data input (that is, the approach completion state) is reproduced in this way, the autonomous approach processing is terminated.
[0045]
2. Algorithm description
Next, an algorithm according to the schematic flow described above will be described in addition to the flowcharts of FIGS. 13 to 15 and FIGS. 16 to 20 for related explanation in addition to the reference diagrams. The correspondence between the flowchart of each figure and the description of the outline is as follows.
FIG. 13 (Steps H1 to H7); corresponding to AP1 to AP3
FIG. 14 (steps H8 to H19); corresponding to AP4 to AP5
FIG. 15 (steps H20 to H29); corresponding to AP6 to AP8
[H1] Calculates a 4-by-4 matrix T representing the position and orientation of the robot's hand (the origin of the coordinate system or TCP set on the flange at the end of the final arm), and updates the register value storing the matrix T To do.
[H2] <a1> and <b1> are obtained by image processing. As shown in FIG. 16, <a1> is a unit vector representing the line-of-sight direction in which the camera 13 sees a circle (current position on the feature 14a), and <b1> is a □ (current center of gravity). This is a unit vector representing the line-of-sight direction of viewing the image). The vector <z> is a unit vector in the z-axis direction of the camera coordinate system in which the origin is set at a position Oc corresponding to the lens center of the camera 13, as shown in FIG. The z-axis direction of the camera coordinate system coincides with the optical axis C direction.
[0046]
[H3] Using the vectors <z>, <a1>, and <b1>, a unit vector <d1> (see the lower left part of FIG. 11) facing □ from □ is calculated.
[H4] It is determined whether the vector <d0> and the vector <d1> are parallel. If yes, then go to Step H8, if no, go to Step H5.
[0047]
[H5] A matrix R representing the amount of rotation adjustment required for parallelization of <d0> and <d1> is calculated.
[H6] A matrix T representing the movement target position / orientation of the robot is calculated using the matrix R obtained in step H5 and the matrix T calculated in step H1.
[H7] The robot is moved to the position / posture represented by the matrix T obtained in step H6.
[0048]
[H8] It is determined whether the vector <a0> matches the vector <a1>. If yes, then go to step H20, otherwise go to step H9.
[H9] A step l of the translational movement of the robot is set. l is set by calculating a product of a fixed value l0 (for example, 2 cm) having an appropriate size and | <a0> × <a1> |.
[H10] Using the vectors <z>, <a0>, and <a1>, a unit vector <e> (see the upper part of FIG. 18) facing from the triangle to the circle is calculated.
[H11] A matrix T representing the position / posture obtained by translating the robot by l in the <e> direction is calculated. The partial matrix I is a 3 × 3 unit matrix as shown in FIG. The matrix C represents the position / orientation of the camera coordinate system when the position / orientation of the camera coordinate system Oc-xyz (see FIG. 17) is viewed from the camera hand (the coordinate system or TCP set on the flange at the end of the final arm). It is a matrix that represents. Data representing the matrix C is stored in the robot controller by a known appropriate camera calibration.
[0049]
[H12] The robot is moved to the position / posture represented by the matrix T obtained in step H11.
[H13] The vector <a1> is obtained in the state after the movement.
[H14] It is determined whether the vector <a0> matches the vector <a1>. If yes, the process returns to step H1, and if no, the process proceeds to step H15.
[H15] A unit vector <f> (see the lower part of FIG. 18) from Δ to O in the state after movement is calculated.
[0050]
[H16] The sign of the inner product of the vector <e> obtained in step H10 and <f> obtained in step H15 is checked. If it is negative, it means that ○ has overrun Δ due to the robot movement (the position of Δ is fixed by the stored data on the image, so that ○ changes so as to approach Δ). At the time of overrun (when judgment is YES), the routine proceeds to step H17. If the determination is no, the process proceeds to step H18.
[0051]
[H17] The moving amount l in steps is halved.
[H18] <f> obtained in step H15 is again set as the value of <e>.
[H19] Recalculate a 4 × 4 matrix T representing the position / posture of the hand of the robot, and return to Step H11.
[0052]
[H20] It is determined whether the vector <b0> matches the vector <b1>. If yes, it means that the approach completion state has been realized as shown in FIG. 20, and the process ends. If no, the process proceeds to step H21.
[0053]
[H21] The robot increment l is reset. l is set by calculating an inner product of a fixed value l0 '(for example, 1 cm) having an appropriate size and <a0> and <b1>-<b0>.
[H22] A matrix T representing the position / posture obtained by translating the robot by l in the <a0> direction is calculated.
[0054]
[H23] The robot is moved to the position / posture represented by the matrix T obtained in step H22. As shown in FIG. 19, this movement is a forward / backward movement that changes so that □ approaches x on the image (note that x is fixed by approach completion state storage data).
[H24] <b1> in the state after movement is obtained by image processing.
[H25] The inner product m of <a0> and <b1>-<b0> is calculated using <b1> calculated in step H24.
[0055]
[H26] It is checked whether m = 0. If yes, return to step H1. If no, go to step H27.
[H27] The sign of the product of m and the step adjustment amount l obtained in step H25 is checked. If it is negative, it means that □ overruns x due to robot movement. At the time of overrun (when judgment is YES), the routine proceeds to step H28. If the determination is no, the process proceeds to step H29.
[H28] The step movement amount l is halved and the sign is reversed.
[H29] The matrix T of 4 rows and 4 columns representing the position and orientation of the hand of the robot is recalculated, and the process returns to step H22.
[0056]
By repeating the processing cycle using the algorithm described above, the robot gradually approaches the approach completion state, and eventually the approach completion state shown in FIG. 20 is achieved. In step H20, a yes determination output is issued, and the process ends.
[0057]
[5] Processing during autonomous approach operation in method B
In the application using method A, the autonomous approach operation was explained under the condition that the optical axis direction of the camera is constant, but in the method B application described below, this condition is removed and a more general case is shown. Think.
In this application, as shown in FIG. 22, the workpieces 14 in which the mark coordinate systems 15a are installed one by one at a fixed position on the workpiece surface are supplied to the workpiece supply PL2 without accurate positioning. Then, an autonomous approach operation is started from an arbitrary approach start position Ps (can be tilted in the camera optical axis direction; however, the mark coordinate system 15a is in the field of view) to an approach completion position Pa (can be tilted in the camera optical axis direction). A processing algorithm for achieving the movement will be described.
[0058]
Here, the position of the robot or tool is represented by a coordinate system (also simply referred to as a flange) set on the flange at the end of the final arm. The symbol <> is used to represent a vector as in the description of method A, but the individual meanings are not necessarily the same even if the characters in <> overlap with the description of method A. Not (eg <d 0 > Etc.). The same applies to the matrix notation.
[0059]
1. Overview
The outline of the algorithm necessary for the autonomous approach operation is as shown in FIG. The current position of the flange (position at each time point during the approach operation) T0, the current relative position between the camera coordinate system and the mark coordinate system (relative position at each time point during the approach operation) M0, the flange position Tg when the approach is completed, the approach The geometric relationship between the camera coordinate system and the relative position Mg of the mark coordinate system in the completed state is as shown in FIG. Note that Mg is calculated and stored in advance, and C is taught by calibration. This is the same as in the case of method A.
[0060]
The basic equations defining the relationship between T0, M0, Tg, and Mg are as follows.
T0 CM0 = Tg CMg (1)
Therefore, this is T g The following equation (2) solved for is a basic equation representing the movement target position on the orthogonal coordinate system of the robot.
Tg = T0 CM0 Mg -1 C -1 ... (2)
This T g Is given to the servo as a final movement target point, the robot can be moved autonomously toward the approach completion state. Therefore, defining the algorithm of the autonomous approach operation results in a problem of specifically obtaining the right side of the equation (2).
[0061]
(2) T on the right side of the equation 0 Represents the current position data of the robot, and the data of C can be obtained by appropriate calibration. Therefore, the method for obtaining M0 and Mg will be described.
[0062]
2. M0 and Mg equations
M0 and Mg both represent the position and orientation of the mark coordinate system 15a as viewed from the camera coordinate system (current and when the approach is completed). The mark coordinate system 15a used in this embodiment is shown in FIG. The mark coordinate system 15a is composed of five circular dots D0, D1, D-1, D2, and D-2 arranged in a grid pattern with an interval a.
[0063]
As shown in the figure, the dot interval a is a positive constant value.
a> 0 (3)
The center position of each dot is D0 (0,0,0), D1 (a, 0,0), D-1 (-a, 0,0), D2 (a, a, 0), D-2 ( -A, a, 0). Note that the mark coordinate system 15a may be configured with other patterns as long as the three-dimensional orthogonal coordinate system can be expressed.
[0064]
M0 and Mg are 4 × 4 homogeneous transformation matrices representing the position / posture relationship between the three-dimensional orthogonal coordinate systems, and can be placed as in the following equation (4).
[0065]
[Expression 1]
Figure 0003998741
Here, RM is a 3 × 3 matrix representing rotation, and <lM> is a 3 × 1 matrix (vector) representing position. Hereinafter, M 0 And M g Let us consider obtaining an equation satisfying RM and <IM> as an equation satisfying the above. First, the following equations (5) and (6) are defined as vectors <e1> and <e2>.
[0066]
[Expression 2]
Figure 0003998741
The information obtained from the visual sensor regarding the mark coordinate system 15a is the direction in which the center of each dot D0, D1, D-1, D2, and D-2 can be seen from the origin of the camera coordinate system (line-of-sight direction). These directions can be expressed by five unit vectors <d0>, <d1>, <d-1>, <d2>, <d-2> as shown in FIG.
[0067]
For the inner product of these vectors, δij defined by the following equation (7) is introduced.
δij = <di>. <dj> (i, j = -2, -1,0,1,2) (7)
Here, since the lengths of <d0>, <d1>, <d-1>, <d2>, and <d-2> are all 1, the absolute value of δij does not exceed 1.
| Δij | ≦ 1 (i = j is a necessary and sufficient condition for establishing the equal sign) (8)
Further, although the distance from the origin of the camera coordinate system to the center of each dot is unknown, this is set as ti (i = -2, -1,0,1,2). Of course, these take positive values.
[0068]
ti> 0 (i = -2, -1,0,1,2) (9)
Then, the following equations (10) to (12) are obtained.
t0 <d0> = <1M> (10)
t1 <d1> = <1M> + aRM <e1> (11a)
t-1 <d-1> = <1M> -aRM <e1> (11b)
t2 <d2> = t1 <d1> + aRM <e2> (12a)
t-2 <d-2> = t-1 <d-1> + aRM <e2> (12b)
Therefore, M0 and Mg can be determined by solving these equations with respect to RM and <LM> while obtaining ti. For specific solutions, see 4. This will be explained in the section on how to obtain M0 and Mg, and C representing the position / orientation of the camera coordinate system will be briefly described.
[0069]
3. C equation
C is a matrix expressing the position / posture of the camera coordinate system viewed from the flange, and the data is obtained by calibration of the camera 13. Various methods for calibration are known and can be used. However, the camera 13 can also be calibrated using the mark coordinate system 15a. Here, only the main points are briefly described.
[0070]
Data Pi relating to the relative position between the mark coordinate system 15a and the origin of the camera coordinate system is obtained by executing imaging by the camera 13 at three different points as indicated by reference numerals CB1 to CB3 in FIG. (I = 1,2,3) is obtained. Combining these with the robot position data Ti (i = 1, 2, 3) at the time of each photographing gives the following three sets of equations. The procedure for obtaining Pi (i = 1, 2, 3) is the same as that for M0 and Mg.
T1 CP1 = T2 CP2 = T3 CP3 (13)
It is possible to solve this equation for C under conditions where the robot postures of the three points CB1 to CB3 are different from each other. This condition is (14).
Condition: T1, T2, and T3 posture components are different from each other (14)
The obtained C data is stored in the robot control device or the image processing device. For the solution of equations, see 5. Supplementary explanation will be given in the manner of obtaining C.
[0071]
4). How to find M0 and Mg
In solving equations (10) to (12) to obtain RM, <IM>, consider first obtaining ti (i = -2, -1,0,1,2). For this purpose, the following equation (15) is replaced.
[0072]
[Equation 3]
Figure 0003998741
And using this, equations (10) to (12) are transformed into the following equations (16) to (18).
<RM> = t0 RM -1 <D0> = <1M> (16)
<RM> + a <e1> = t1 RM -1 <D1> (17)
<RM> -a <e1> = t-1RM -1 <D-1> (18)
Where RM -1 Note that is a matrix representing rotation, the following equation (19) holds.
Figure 0003998741
Using the equation (19), the equations (5) to (8), and the equations (16) to (18), the following relational equations (20) to (23) are obtained.
[0073]
‖ <RM> ‖ 2 = T0 2 ... (20)
‖ <RM> ‖ 2 + 2arMx + a 2 = T1 2 ... (21a)
‖ <RM> ‖ 2 -2arMx + a 2 = T-1 2 ... (21b)
‖ <RM> ‖ 2 + ArMx = t0 t1 δ0,1 (22a)
‖ <RM> ‖ 2 -ArMx = t0 t-1δ0, -1 (22a)
δ0,1 2 <1, δ0, -1 2 <1 (23)
From these expressions, from the conditions (3), (9) and the expressions (22a), (22b), ‖ <rM> ‖ 2 + ArMx and aδ0,1, ‖ <rM> ‖ 2 The following equations (24a) to (25b) can be obtained by taking care that -arMx and aδ0, -1 have the same sign.
[0074]
[Expression 4]
Figure 0003998741
When the expressions (24a) and (24b) are further modified, the following expressions (26) and (27) are obtained. ‖ <RM> ‖ 2 = (A 2 β + 2 ) / (1 + β- 2 (26)
rMx = (aβ + β −) / (1 + β− 2 (27)
However, β + and β− are defined by the following equations (28a) and (28b).
β + = (α1 + α-1) / 2 (28a)
β-= (α1−α-1) / 2 (28b)
If the conditions (3) and (9) are used by substituting the expressions (26) and (27) into the expressions (20), (21a), and (21b), t0, t1, and t-1 are expressed by the following expressions (29) ) (30a) and (30b).
[0075]
[Equation 5]
Figure 0003998741
Using these, t2, t-2, <1M> and RM are obtained as follows.
[0076]
[Formula 6]
Figure 0003998741
5). How to find C
Solve the above equation (13) under the above condition (14). When equation (13) is transformed, the following (31) and (32) are obtained.
C -1 T1 -1 T3 C = P1 P3 -1 ... (31)
C -1 T2 -1 T3 C = P2 P3 -1 ... (32)
Here, replacement is performed according to the following equations (33) to (37).
[0077]
[Expression 7]
Figure 0003998741
Then, equations (31) and (32) are decomposed into the following equations (38) to (41).
RC -1 R1 RC = R2 (38)
RC -1 R3 RC = R4 (39)
(I-R1) <lC> = <l1> -RC <l2> (40)
(I-R3) <lC> = <l3> -RC <l4> (41)
Therefore, the goal is to find RC and <LC>. Here, from the forms of equations (38) and (39), it can be seen that the similarity R1 to R2 and R3 to R4 between the rotation matrices and the similarity transformation matrix expressing their similarity are both Rc.
Therefore, the following equations (42) and (43) are obtained by setting the vector representing the rotation direction of Ri (i = 1,2,3,4) as <vi> (i = 1,2,3,4). Here, <vi> (i = 1, 2, 3, 4) can be uniquely determined from the condition (14) and the definition expressions (34) and (36).
<V1> = RC <v2> (42)
<V3> = RC <v4> (43)
Further, if the relationship of the following equation (44) is used, RC can be obtained.
(<V1>, <v3>, <v1> × <v3>)
= RC (<v2>, <v4>, <v2> × <v4>) (44)
For equations (40) and (41), group them together in the form of
If the square method is applied, <lC> is obtained.
[0078]
[Equation 8]
Figure 0003998741
6). Outline of processing flow of movement control by method B
Finally, 1-5. The outline of the processing flow for the preparatory work and the autonomous approach operation in the method B will be described on the premise of the explanation items. First, the supplementary work will be supplemented as follows.
(1) Prior to the start of work, as described in 3 above, the robot is sequentially moved to the three positions CB1 to CB3.
(2) At each position CB1 to CB3, an image of the mark coordinate system 15a on the representative workpiece 14 is acquired, and data representing the line-of-sight direction of each dot center is acquired by image processing in the image processing apparatus 20.
(3) 5. The processing according to the algorithm described in the above is performed in the image processing apparatus 20, and data of the camera coordinate system C (data of RC, <LC>) is calculated and stored.
[0079]
(4) When the camera calibration is completed, the robot is moved to the position Pa shown in FIG. 22, and the approach completion state for the representative workpiece 14 is displayed.
[0080]
(5) At each position CB1 to CB3, an image of the mark coordinate system 15a is acquired, and data representing the line-of-sight direction of each dot center is acquired by image processing in the image processing apparatus 20.
(6) The above 1.2.4. The processing according to the algorithm described in the above is performed in the image processing apparatus 20, and approach completion state expression data (Mg data) is calculated and stored.
[0081]
As shown in the flowchart of FIG. 25, the autonomous approach operation is executed by a processing cycle including the following steps.
[K1] <d0>, <d1>, <d-1>, <d2>, <d-2> are obtained by image processing, and M0 is calculated.
[K2] The stored Mg data is compared with M0 calculated from <d0>, <d1>, <d-1>, <d2>, <d-2> obtained in step K1. Match / mismatch is determined. If they match, it means that the approach is complete, and the process proceeds to step K6. If they do not match, it means that the approach completion state has not been achieved, and the process returns to step K1. Various algorithms can be used to evaluate the degree of coincidence between Mg and M0. For example, the determination index Δ is calculated by the following equation (46). If Δ <ε (ε is a sufficiently small positive value), the approach is completed, and if Δ ≧ ε, the approach is not completed.
[0082]
[Equation 9]
Figure 0003998741
[K3] A 4-by-4 matrix T0 representing the position and orientation of the robot's hand (the origin of the coordinate system set on the flange) is calculated and stored.
[K4] The right side of (2) is calculated using the data (C, Mg data) obtained in the preparation work and the algorithm described above to obtain the orthogonal movement target position Tg.
[0083]
[K5] A movement command for moving to the orthogonal movement target position Tg is created and transferred to the servo to move the robot.
[0084]
If the system is perfect without error, the approach will be completed in one cycle of steps K1 to K5, but in reality, the approach is completed due to visual sensor errors, calculation errors, etc. The state is achieved in successive approximations.
[K6] The robot is stopped and the process is terminated.
[0085]
As can be understood from the description of the embodiments of the A method and the B method. According to the present invention, the robot's approach operation is autonomously performed so as to obtain the position and posture of the approach completion state input in advance, so that work efficiency is improved.
[0086]
In the present embodiment, an example in which the workpiece 14 is conveyed by the hand 12 has been shown, but it goes without saying that the present invention can be applied to welding and other operations.
[0087]
Further, in this embodiment, the captured image of the camera 13 is used as an approach completion state expression data input method. However, if it is known in advance from the work experience so far, etc., it is determined by the key operation of the teaching operation 40. You may make it input.
[0088]
Furthermore, in the present embodiment, the time when the work 14 enters the field of view of the camera 13 is set as the timing for starting the approach operation autonomously, but the approach is based on other parameters such as the distance between the work 14 and the tool 12. You may determine the timing which starts operation | movement.
[0089]
【The invention's effect】
In the present invention, the approach completion state expression data is input in advance in the form of data that describes the relative positional relationship between the robot hand (that is, the camera fixed thereto) and the target. If movement control that realizes the relative positional relationship between the camera and the target corresponding to the approach completion state expression data is performed, the approach completion state can be changed to an arbitrary work without burdening the operator by an autonomous approach operation. Is achieved.
[0090]
Therefore, it is possible to easily realize the efficiency of various robot operations for a large number of non-positioning workpieces. In addition, since automatic transition from jog feed to autonomous approach operation is possible, further improvement in the convenience of the robot can be expected.
[Brief description of the drawings]
FIG. 1 Robot movement control of the present invention Method It is a figure which illustrates notionally using the example of a handling robot.
FIG. 2 shows movement control of the robot according to the present embodiment. Method FIG. 2 is a configuration diagram of a main part of a robot control system for executing the process according to method A.
FIG. 3 is a movement control of the robot according to the embodiment. Method It is a principal part block diagram of the robot control system for performing this according to the system B.
FIG. 4 is a principal block diagram showing a hardware configuration of a robot control apparatus used in the present embodiment.
FIG. 5 is a diagram showing a schematic configuration of a panel surface of a teaching operation panel used in the present embodiment.
FIG. 6 is a diagram for explaining the operation of the robot when the method A is adopted.
FIG. 7 is a diagram for explaining the operation of the robot when the method B is adopted.
[Fig. 8] Fruit It is a flowchart which shows the outline | summary of the operation procedure of a teaching operation panel for the robot movement control in embodiment, and a process.
FIG. 9 is a diagram illustrating conditions in the camera optical axis direction in an application to which method A is applied.
FIG. 10 is a diagram illustrating an outline of an application to which a method A is applied.
FIG. 11 is a first half of a flow explanatory diagram for explaining an outline of processing of an approach operation in an application to which a method A is applied.
FIG. 12 is the latter half of the flow explanatory diagram for explaining the outline of the approach operation processing in the application to which the method A is applied.
13 is a part of a flowchart (steps H1 to H7) for explaining an algorithm in accordance with the schematic flow shown in FIGS. 11 and 12. FIG.
FIG. 14 is a part of a flowchart (steps H8 to H19) for explaining an algorithm in accordance with the schematic flow shown in FIGS. 11 and 12;
15 is a part of a flowchart (steps H20 to H29) for explaining an algorithm in accordance with the schematic flow shown in FIGS. 11 and 12. FIG.
16 is a related explanatory diagram of the flowcharts shown in FIGS. 13 to 15 and represents vectors <a0>, <b0>, <a1>, <b1>. FIG.
FIG. 17 is a related explanatory diagram of the flowcharts shown in FIGS. 13 to 15 and shows a camera coordinate system and a vector <z>.
FIG. 18 is a related explanatory diagram of the flowcharts shown in FIGS. 13 to 15 and shows the relationship on the screen between the vectors <e> and <f> before and after the robot moves.
FIG. 19 is a related explanatory diagram of the flowcharts shown in FIGS. 13 to 15 and shows a state in which □ approaches x on the screen as the robot moves forward and backward.
FIG. 20 is a related explanatory diagram of the flowcharts shown in FIGS. 13 to 15 and shows a screen when the approach completion state is achieved.
FIG. 21 is a diagram illustrating an outline of an algorithm necessary for an autonomous approach operation in the embodiment of the B method.
FIG. 22 is a diagram for explaining an autonomous approach operation in the embodiment of the B method.
FIG. 23 is a diagram illustrating a mark coordinate system used in an embodiment of a B method.
FIG. 24 is a diagram for describing a vector describing a line-of-sight direction when a camera looks at a mark coordinate system in an embodiment of a B system.
FIG. 25 is a flowchart showing an outline of processing of an autonomous approach operation in the embodiment of the B method.
[Explanation of symbols]
1a Approach completion state input means
1b Relative position recognition means
2,10 robot
2a Tool (hand)
3,14 work
4 memory
5 Jog feed button
6 axis movement control means
11 Arm
12 tools
13 Camera
13a Camera coordinate system
14 Work
14a Features
15 mark
15a Mark coordinate system
20 Image processing device
30 Robot controller
31 Processor board
31a processor
31c RAM
31b ROM
35 Digital I / O
36a CRT
36b Operation panel
37 Analog I / O
39 Bus
40 Teaching operation panel
41 Display screen
42 function keys
44 Emergency stop button
45 cursor keys
46 Numeric keypad
47 (J1-J6) Jog feed button
51-56 Servo motor
58 RS232C equipment
CB1-3 Positions for camera calibration
D0, D1, D-1, D2, D-2 Mark coordinate system dots

Claims (6)

カメラ手段及び画像処理手段を備えた視覚センサとロボット制御装置とを含む制御手段を用いて、存在位置にばらつきのある対象物に対するアプローチ動作をロボットに行なわせるためのロボットの移動制御方法において、
象物に対するアプローチ完了状態を表現するアプローチ完了状態表現データを前記制御手段に記憶させるアプローチ完了状態教示段階と、
前記制御手段によってロボットにアプローチ動作を行わせるアプローチ動作実行段階とを含み、
前記アプローチ動作実行段階には、該アプローチ動作が前記アプローチ完了状態表現データに基づいて自律的に行なわれる自律アプローチ動作実行段階とを含んでおり、
前記アプローチ完了状態表現データは、前記ロボットの手先と対象物の相対的な位置関係を特定するものであり、
前記自律アプローチ動作実行段階におけるロボットの移動目標位置が、前記制御手段内のソフトウェア処理によって、前記アプローチ完了状態表現データによって特定される前記相対的位置関係が実現される位置として定められる、前記方法
In a robot movement control method for causing a robot to perform an approach operation with respect to an object having a variation in an existing position using a control means including a visual sensor provided with a camera means and an image processing means and a robot control device,
And approaches completion status teachings step of storing the approach completion state representation data representing approaches completion status for Target thereof to said control means,
An approach operation execution stage for causing the robot to perform an approach operation by the control means,
The approach action execution stage includes an autonomous approach action execution stage in which the approach action is autonomously performed based on the approach completion state expression data,
The approach completion status representation data is for specifying the relative positional relationship between the hand and the Target of the robot,
Movement target position of the robot in the autonomous approach operation execution phase, by software processing within the control unit is defined as the position at which the relative positional relationship specified by the approach completion state representation data is achieved, the method.
前記アプローチ完了状態教示段階で記憶されるアプローチ完了状態表現データが、対象物を代表する物体を前記カメラ手段によって撮影することによって取得された画像に基づいて前記制御手段内で作成される、請求項1に記載されたロボットの移動制御方法The approach completion state representation data stored approach completion state teaching phase is created an object that represents the Target material in said control means based on an image obtained by photographing by the camera means, wherein The robot movement control method according to Item 1. 前記アプローチ完了状態教示段階で記憶されるアプローチ完了状態表現データが、画像上における前記対象物代表物体の特徴部と重心位置を表わすデータとを含んでいる、請求項1または請求項2に記載されたロボットの移動制御方法The approach completion state expression data stored in the approach completion state teaching step includes data representing a feature portion and a gravity center position of the object representative object on an image. Robot movement control method . 象物及び前記対象物代表物体の表面上に前記視覚センサによって認識可能なマーク座標系が設置されており、
前記アプローチ完了状態教示段階で記憶されるアプローチ完了状態表現データが、画像上における前記マーク座標系の位置・姿勢を表わすデータとを含んでいる、請求項1または請求項2に記載された、ロボットの移動制御方法
Mark coordinate system can be recognized by the visual sensor on the surface of the Target object and the object representative object is installed,
The robot according to claim 1 or 2, wherein the approach completion state expression data stored in the approach completion state teaching stage includes data representing a position / attitude of the mark coordinate system on an image. Movement control method .
前記アプローチ動作実行段階には、前記自律アプローチ動作実行段階に先立つジョグ送りの段階が含まれており、
前記ジョグ送り段階から前記自律アプローチ動作実行段階への移行が、前記制御手段によって自動的に行なわれる、請求項1〜請求項4のいずれか1項に記載されたロボットの移動制御方法
The approach operation execution stage includes a jog feed stage prior to the autonomous approach operation execution stage,
The robot movement control method according to any one of claims 1 to 4, wherein a transition from the jog feed stage to the autonomous approach operation execution stage is automatically performed by the control means.
前記自律アプローチ動作実行段階におけるソフトウェア処理が、当該時点において前記視覚センサによって認識される前記ロボットの手先と対象物の相対的な位置関係を表わすデータと、前記教示されたアプローチ完了状態表現データとを比較する処理と、前記比較結果に基づいてロボットの各軸を移動制御するための処理と、アプローチ完了状態の完了/未完了を判定する処理を、アプローチ完了状態の完了が判定されるまで逐次的に繰り返すものである、請求項1〜請求項5のいずれか1項に記載されたロボットの移動制御方法Software process in the autonomous approach operation execution phase, the data representing the relative positional relationship between the robot hand and Target was recognized by the visual sensor in the time, and approaches completion state representation data the taught , A process for controlling movement of each axis of the robot based on the comparison result, and a process for determining completion / non-completion of the approach completion state are sequentially performed until the completion of the approach completion state is determined. The robot movement control method according to claim 1, wherein the robot movement control method repeats automatically.
JP19855296A 1995-07-12 1996-07-10 Robot movement control method Expired - Fee Related JP3998741B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19855296A JP3998741B2 (en) 1995-07-12 1996-07-10 Robot movement control method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP17589195 1995-07-12
JP7-175891 1995-07-12
JP19855296A JP3998741B2 (en) 1995-07-12 1996-07-10 Robot movement control method

Publications (2)

Publication Number Publication Date
JPH0976185A JPH0976185A (en) 1997-03-25
JP3998741B2 true JP3998741B2 (en) 2007-10-31

Family

ID=26497002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19855296A Expired - Fee Related JP3998741B2 (en) 1995-07-12 1996-07-10 Robot movement control method

Country Status (1)

Country Link
JP (1) JP3998741B2 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006039893A (en) * 2004-07-27 2006-02-09 Ishikawajima Harima Heavy Ind Co Ltd Portable automatic machining apparatus
JP5062535B2 (en) * 2008-10-20 2012-10-31 株式会社安川電機 Industrial robot handheld controller and robot control system
JP5318727B2 (en) * 2009-10-30 2013-10-16 本田技研工業株式会社 Information processing method, apparatus and program
JP6188440B2 (en) * 2013-06-17 2017-08-30 キヤノン株式会社 Robot apparatus and robot control method
JP6424432B2 (en) * 2014-01-23 2018-11-21 セイコーエプソン株式会社 Control device, robot system, robot and robot control method
JP7323993B2 (en) * 2017-10-19 2023-08-09 キヤノン株式会社 Control device, robot system, operating method and program for control device
CN107865753B (en) * 2017-11-30 2023-05-09 湖南妙手机器人有限公司 Rehabilitation robot
JP6810087B2 (en) 2018-03-29 2021-01-06 ファナック株式会社 Machine learning device, robot control device and robot vision system using machine learning device, and machine learning method
JP7205752B2 (en) * 2018-11-09 2023-01-17 オムロン株式会社 ROBOT CONTROL DEVICE, ROBOT CONTROL METHOD, AND ROBOT CONTROL PROGRAM
WO2021048579A1 (en) * 2019-09-11 2021-03-18 Dmg森精機株式会社 System and machine tool
CN112793983B (en) * 2020-12-30 2022-04-19 易思维(杭州)科技有限公司 Automatic loading method suitable for clamping groove type material rack
CN113084827B (en) * 2021-04-01 2022-06-14 北京飞影科技有限公司 Method and device for calibrating optical center position of camera device
CN116999177B (en) * 2023-10-07 2024-01-12 北京科鹏医疗器械有限公司 Contact force autonomous protection algorithm operated by natural channel endoscope

Also Published As

Publication number Publication date
JPH0976185A (en) 1997-03-25

Similar Documents

Publication Publication Date Title
JP3998741B2 (en) Robot movement control method
US11045954B2 (en) Robot system and method of controlling the same
US11197730B2 (en) Manipulator system
US11977365B2 (en) Skill transfer mechanical apparatus
EP0577437A1 (en) Control apparatus for industrial robot
JP2684359B2 (en) Robot work Cartesian coordinate system setting device
KR20180059888A (en) Robot teaching method and robot arm control device
KR20180069031A (en) Direct teaching method of robot
JP2925072B2 (en) Movement control method for robot position teaching
EP0766161A1 (en) Control method of servo system capable of adjusting flexibility on orthogonal coordinate system
US20170259430A1 (en) Robot device and robot controller
CN109414820B (en) Robot operation method, storage unit, and robot system
CN114905487A (en) Teaching device, teaching method, and recording medium
US11964391B2 (en) Robot system
US11878423B2 (en) Robot system
JPH1190868A (en) Robot control device
Cao et al. Novel humanoid dual-arm grinding robot
Wahab et al. Automation of Pick and Place Operation in Contact Lens Manufacturing
JPH01188903A (en) Correcting method for robot teaching data
JPH01175608A (en) Method for generating teaching data of robot
JP3076345B2 (en) Method and apparatus for controlling master / slave manipulator
JPH01154206A (en) Teaching box
CN116728422A (en) Robot teaching control method, robot teaching device, and robot system
JPH0643917A (en) Robot group control method
JP3098618B2 (en) Control method and control device for industrial robot system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050922

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070808

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100817

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees