JPH0212504A - マニピュレータ用の視覚シーム追跡方法および装置 - Google Patents
マニピュレータ用の視覚シーム追跡方法および装置Info
- Publication number
- JPH0212504A JPH0212504A JP1089597A JP8959789A JPH0212504A JP H0212504 A JPH0212504 A JP H0212504A JP 1089597 A JP1089597 A JP 1089597A JP 8959789 A JP8959789 A JP 8959789A JP H0212504 A JPH0212504 A JP H0212504A
- Authority
- JP
- Japan
- Prior art keywords
- manipulator
- path
- tool
- coordinates
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1679—Program controls characterised by the tasks executed
- B25J9/1684—Tracking a line or surface by means of sensors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the program is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
- G05B19/425—Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、マニピュレータ用の三次元視覚シーム(se
am)追跡システムに関し、特に動的に変化する方位角
を補償することができる如きシステムに関する。
am)追跡システムに関し、特に動的に変化する方位角
を補償することができる如きシステムに関する。
本発明の視覚シーム追跡システムを備えたマニピュレー
タは、シール剤の塗布、輪郭マツピングを含む多くの処
理用途において、また一般に適応経路制御を必要とする
どんな処理用途においても使用することができる。−例
を示す目的のため、本発明はシーム溶接に対する用途に
おいて教示されることになろう。
タは、シール剤の塗布、輪郭マツピングを含む多くの処
理用途において、また一般に適応経路制御を必要とする
どんな処理用途においても使用することができる。−例
を示す目的のため、本発明はシーム溶接に対する用途に
おいて教示されることになろう。
マニピュレータが一旦1つのプログラムを教えられると
、マニピュレータは高い繰返し精度を以てプログラムさ
れた経路に沿って運動する。
、マニピュレータは高い繰返し精度を以てプログラムさ
れた経路に沿って運動する。
このことは多くの用途において満足できるが、他の場合
は適応経路制御を必要とする。例えば、溶接作業におい
ては、もし接合される部品が製造公差、熱の歪み等によ
りシーム即ち接合場所において均一でなければ、例えシ
ームが他の場所にあってもマニピュレータはその教えら
れた経路に沿フて溶接を行なうことになる。
は適応経路制御を必要とする。例えば、溶接作業におい
ては、もし接合される部品が製造公差、熱の歪み等によ
りシーム即ち接合場所において均一でなければ、例えシ
ームが他の場所にあってもマニピュレータはその教えら
れた経路に沿フて溶接を行なうことになる。
この問題を克服するため、またマニピュレータが使用で
きる用途を広げるため、従来技術の研究者達は多くの視
覚案内された追跡システムを考案してきた。米国特許第
4,542,279号および同第4,590.:156
号の教えるものは、このようなシステムの事例である。
きる用途を広げるため、従来技術の研究者達は多くの視
覚案内された追跡システムを考案してきた。米国特許第
4,542,279号および同第4,590.:156
号の教えるものは、このようなシステムの事例である。
一般に、従来技術の試みは、マニピュレータの案内のた
め視覚システムを必要とした。この案内の要件の故に、
従来技術のシステムでの11約となる。更に、従来技術
のシステムは、一般にカメラと部品との間の一定の関係
を必要とし、追跡が生じる間方位の変化を禁止する。
め視覚システムを必要とした。この案内の要件の故に、
従来技術のシステムでの11約となる。更に、従来技術
のシステムは、一般にカメラと部品との間の一定の関係
を必要とし、追跡が生じる間方位の変化を禁止する。
視覚案内を備えた溶接システムの用途が複雑さを増すに
伴い、データのそれ以上の処理および解釈が要求される
。従来技術の研究者達は、視覚案内装置の処理能力を最
大化しようと試みた。しかし、この試みの主な欠点は、
必要な座標変換を行ないかつ溶接プロセス全体を制御す
るために膨大な量のマニピュレータ情報を必要とするこ
とにあり、その結果通信および性能の制約をもたらした
。更に他の問題として、この大量のマニピュレータ情報
は実時間で処理しなければならない。
伴い、データのそれ以上の処理および解釈が要求される
。従来技術の研究者達は、視覚案内装置の処理能力を最
大化しようと試みた。しかし、この試みの主な欠点は、
必要な座標変換を行ないかつ溶接プロセス全体を制御す
るために膨大な量のマニピュレータ情報を必要とするこ
とにあり、その結果通信および性能の制約をもたらした
。更に他の問題として、この大量のマニピュレータ情報
は実時間で処理しなければならない。
本発明は、マニピュレータ制御によるマニピュレータを
案内し、カメラ座標におけるシームの位置に関するデー
タのみを視覚システムに要求するという概念に基いてい
る。本発明は、カメラ座標におけるカメラ・データを用
い、方位角とは独立的にカメラ座標をマニピュレータ座
標へ変換する手段を含む。方位角の変化により生じるカ
メラにおける姿勢の変化を許容するマトリックスが用い
られる。マニピュレータ;開部は、萌記変換マトリック
スの形成に必要な大量のマニピュレータ・データ(位置
、方位、等)へのアクセスおよびこれを処理する能力を
有する。
案内し、カメラ座標におけるシームの位置に関するデー
タのみを視覚システムに要求するという概念に基いてい
る。本発明は、カメラ座標におけるカメラ・データを用
い、方位角とは独立的にカメラ座標をマニピュレータ座
標へ変換する手段を含む。方位角の変化により生じるカ
メラにおける姿勢の変化を許容するマトリックスが用い
られる。マニピュレータ;開部は、萌記変換マトリック
スの形成に必要な大量のマニピュレータ・データ(位置
、方位、等)へのアクセスおよびこれを処理する能力を
有する。
その結果は、動的に変動する方位角を補償することがで
きる視覚シーム追跡方法および装置となる。マニピュレ
ータの方位角は、追跡性能を損なうことなく所要の迎角
および押引き角度、等を達成するため溶接プロセスが必
要とする如くユーザがプログラムできる。この能力は、
もし方位角が固定されたままでなければならなければ行
なうことができる多数の部品の溶接を可能にする。
きる視覚シーム追跡方法および装置となる。マニピュレ
ータの方位角は、追跡性能を損なうことなく所要の迎角
および押引き角度、等を達成するため溶接プロセスが必
要とする如くユーザがプログラムできる。この能力は、
もし方位角が固定されたままでなければならなければ行
なうことができる多数の部品の溶接を可能にする。
(課題を解決するための手段)
本発明によれば、マニピュレータのための三次元の視覚
シーム追跡方法および装置が提供される。マニピュレー
タは、溶接トーチの前方で溶接されるシームを予め検分
するレーザー・スキャナー/カメラ・ヘッドを含む視覚
システムが設けられている。この視覚システムからのデ
ータは、マニピュレータの制御部へ送られる。
シーム追跡方法および装置が提供される。マニピュレー
タは、溶接トーチの前方で溶接されるシームを予め検分
するレーザー・スキャナー/カメラ・ヘッドを含む視覚
システムが設けられている。この視覚システムからのデ
ータは、マニピュレータの制御部へ送られる。
このマニピュレータ制御部は、マニピュレータ座標から
カメラ座標における視覚システムのデータをマニピュレ
ータ座標へ変換することができるマトリックスを得る。
カメラ座標における視覚システムのデータをマニピュレ
ータ座標へ変換することができるマトリックスを得る。
この変換されたデータは、必要となるまでFIFOバッ
ファ内に格納される。マニピュレータの方位角は、ユー
ザが予めプログラムすることができ、またシーム追跡機
能を損なうことなくシーム溶接プロセス全般にわたって
動的に変動し得る。
ファ内に格納される。マニピュレータの方位角は、ユー
ザが予めプログラムすることができ、またシーム追跡機
能を損なうことなくシーム溶接プロセス全般にわたって
動的に変動し得る。
マニピュレ−タ制御部のシーム追跡ルーチンは、以降に
おけるFIFOのエントリを排除し、次いでこのエント
リを通過するようにマニピュレータの予めプログラムさ
れた経路を変更する。
おけるFIFOのエントリを排除し、次いでこのエント
リを通過するようにマニピュレータの予めプログラムさ
れた経路を変更する。
本発明の視覚案内シーム追跡方法および装置の完全な理
解のためには、例示的なマニピュレータおよびその制御
部について述べることが必要であろう。この目的のため
、第1図は、本発明の譲受人であるC1ncinnat
i Milacron Indusヒrics社製のも
のと対応するマニピュレータを示している。この図示さ
れたマニピュレータは事例に過ぎず、本発明は適当な6
自由度の機械的マニピュレータに対して適用し得るもの
である。望ましい実施悪様の詳細な説明は実際に実現す
ることを必然的に反映するものであるが、このような細
部は頭書の特許請求の範囲に規定される如き本発明に対
する限定と見做すべきではない。
解のためには、例示的なマニピュレータおよびその制御
部について述べることが必要であろう。この目的のため
、第1図は、本発明の譲受人であるC1ncinnat
i Milacron Indusヒrics社製のも
のと対応するマニピュレータを示している。この図示さ
れたマニピュレータは事例に過ぎず、本発明は適当な6
自由度の機械的マニピュレータに対して適用し得るもの
である。望ましい実施悪様の詳細な説明は実際に実現す
ることを必然的に反映するものであるが、このような細
部は頭書の特許請求の範囲に規定される如き本発明に対
する限定と見做すべきではない。
第1図においては、事例ロボット即ちマニピュレータが
全体的に番号1で示されている。
全体的に番号1で示されている。
マニピュレータ1は、直立するベース部材3を支持する
ベース板2を含む。上部アーム4は5枢着部5において
ベース部材3に対して枢着されている。前アーム6は枢
着部7において上部アーム4に枢動自在に取付けられて
いる。
ベース板2を含む。上部アーム4は5枢着部5において
ベース部材3に対して枢着されている。前アーム6は枢
着部7において上部アーム4に枢動自在に取付けられて
いる。
前アーム6は、その自由前端部において手首部8を支持
している。当技術では周知の如く、手首部8は、前アー
ム6内部に回動自在に支持されたインテグラル軸部10
と前アーム6の長手方向中心線と平行あるいは一致する
釉を有する第1m部9を含む。手首部8は更に、第1節
部9に回動自在に取付けられかつ、インテグラル軸部1
2を有する第2の節部11を含む。この1M12は面板
13で終る。面板13に固定されているのは、以下に述
べる溶接工具!4と視覚システムのレーザー・スキャナ
ー/カメラ・ヘッド15である。
している。当技術では周知の如く、手首部8は、前アー
ム6内部に回動自在に支持されたインテグラル軸部10
と前アーム6の長手方向中心線と平行あるいは一致する
釉を有する第1m部9を含む。手首部8は更に、第1節
部9に回動自在に取付けられかつ、インテグラル軸部1
2を有する第2の節部11を含む。この1M12は面板
13で終る。面板13に固定されているのは、以下に述
べる溶接工具!4と視覚システムのレーザー・スキャナ
ー/カメラ・ヘッド15である。
マニピュレータ又は、その部材の運動が回動軸心を規定
するように構成されている。第1の軸心は、点線16で
示されベース板2およびベース部材3の回動により規定
される垂直方向のベース軸心である。上部アーム4は、
枢着部Sの中心を通る水平肩部軸心17の周囲に回動す
る。前アーム6は、枢着部7の中心を通って延長する水
平なエルボ−軸心18の周囲に回動する。
するように構成されている。第1の軸心は、点線16で
示されベース板2およびベース部材3の回動により規定
される垂直方向のベース軸心である。上部アーム4は、
枢着部Sの中心を通る水平肩部軸心17の周囲に回動す
る。前アーム6は、枢着部7の中心を通って延長する水
平なエルボ−軸心18の周囲に回動する。
手首部8は、更に3つの回動輪心を提供する。
その第1は、軸!Oの軸心の周囲における節部9の回動
運動である。その第2は、節部9および目の当接面に対
し直角の軸心周囲での節部IIの回動運動である。第3
は、その周囲で面板13が回動しかつこれが面仮に対し
て直角をなす軸心を含む。
運動である。その第2は、節部9および目の当接面に対
し直角の軸心周囲での節部IIの回動運動である。第3
は、その周囲で面板13が回動しかつこれが面仮に対し
て直角をなす軸心を含む。
ベースの軸心16、肩部のj軸心17およびエルボ−1
8の周囲の回動運動が、工具14の中心点19の作動エ
ンベロープ(包絡線)を規定する。手首部のtIr1部
9、手首部節部11および面板13のそれらの各軸心周
囲の回動運動は、プログラムされる方位角に従ってプロ
グラムされた場所における工具14およびレーザー・ス
キャナー/カメラ・ヘッドI5の方位を制御する。
8の周囲の回動運動が、工具14の中心点19の作動エ
ンベロープ(包絡線)を規定する。手首部のtIr1部
9、手首部節部11および面板13のそれらの各軸心周
囲の回動運動は、プログラムされる方位角に従ってプロ
グラムされた場所における工具14およびレーザー・ス
キャナー/カメラ・ヘッドI5の方位を制御する。
マニピュレータ制御部は520で略図的に示される。6
つの運動軸心は各々、指令信号およびフィードバック信
号を制御部20のサーボ制御部21に接続することによ
りlt、IJ御されるサーボである。
つの運動軸心は各々、指令信号およびフィードバック信
号を制御部20のサーボ制御部21に接続することによ
りlt、IJ御されるサーボである。
溶接工具14の作動は、サイクル制御部23により制御
されるプログラムされた作動サイクルに応答する機械の
インターフェース22によって行なわれる。このサイク
ル制御部23は、記憶された場所、速度および機能のデ
ータについて演算して、サーボ制御部21おまび機械の
インターフェース22に対する制御信号を生じる。この
ような特定の事例においては、工具14は溶接トーチで
あり、また溶接プロセスの制御は記憶された機能信号に
応答して機械のインターフェースを介して行なわれる。
されるプログラムされた作動サイクルに応答する機械の
インターフェース22によって行なわれる。このサイク
ル制御部23は、記憶された場所、速度および機能のデ
ータについて演算して、サーボ制御部21おまび機械の
インターフェース22に対する制御信号を生じる。この
ような特定の事例においては、工具14は溶接トーチで
あり、また溶接プロセスの制御は記憶された機能信号に
応答して機械のインターフェースを介して行なわれる。
制御部20はまた、レーザー・スキャナー/カメラ・ヘ
ッド14、カメラ制御装置25および信号処理用コンピ
ュータ26からなる視覚システムから情報を受取る視覚
データ・プロセッサ24を内蔵する。この視覚システム
については、以下において更に記述することにする。
ッド14、カメラ制御装置25および信号処理用コンピ
ュータ26からなる視覚システムから情報を受取る視覚
データ・プロセッサ24を内蔵する。この視覚システム
については、以下において更に記述することにする。
ユーザ・アーム4および(ηアーム6の各々の軸心周囲
の回動運動は、それぞれナツト29および30を介する
ねじ27および28の直線状運動によって達成される。
の回動運動は、それぞれナツト29および30を介する
ねじ27および28の直線状運動によって達成される。
ナツト29および30の回動運動は、それぞれ図示しな
い駆動モータによ)てブリー31および32を介して与
えられる。ベース板2およびベース部材3の回動運動は
伝動装置33、駆動ビニオン34を介して行なわれ、こ
の駆動とニオンは更にベース板2に固定されたリング歯
車35を駆動する。伝動装置33への駆動力はモータ3
6によって与えられる。
い駆動モータによ)てブリー31および32を介して与
えられる。ベース板2およびベース部材3の回動運動は
伝動装置33、駆動ビニオン34を介して行なわれ、こ
の駆動とニオンは更にベース板2に固定されたリング歯
車35を駆動する。伝動装置33への駆動力はモータ3
6によって与えられる。
手首部の節部9および11、および面板13の回動運動
は、前アーム6内部の同心状トルク・チューブ(図示せ
ず)を介して行なわれ、伝動装置40を介してモータ3
7.38および39により駆動される。各可動マニピユ
レータ部材に対する位置の信号は位置のトランスジュー
サ(レゾルバの如き)によって生じるが、このトランス
ジューサはマニピュレータの可動部材それ事態またはそ
のための駆動モータの運動により機械的に駆動され得る
。
は、前アーム6内部の同心状トルク・チューブ(図示せ
ず)を介して行なわれ、伝動装置40を介してモータ3
7.38および39により駆動される。各可動マニピユ
レータ部材に対する位置の信号は位置のトランスジュー
サ(レゾルバの如き)によって生じるが、このトランス
ジューサはマニピュレータの可動部材それ事態またはそ
のための駆動モータの運動により機械的に駆動され得る
。
次に、第1図の制御部20のブロック図を構成する第2
図を参照する。この制御部20は、共通のバスを介して
通信する複数のマイクロプロセッサを用いて実現される
。本出願人は、Inje1社製の市販される80186
マイクロプロセツサを選定した。当業者には、以降に述
べる制御アルゴリズムを実現するため他の適当な汎用デ
ィジタル・コンピュータの使用が可能であることが理解
されよう。
図を参照する。この制御部20は、共通のバスを介して
通信する複数のマイクロプロセッサを用いて実現される
。本出願人は、Inje1社製の市販される80186
マイクロプロセツサを選定した。当業者には、以降に述
べる制御アルゴリズムを実現するため他の適当な汎用デ
ィジタル・コンピュータの使用が可能であることが理解
されよう。
上記のように、制御部20は視覚データ・プロセッサ2
4を含む。この視覚データ・プロセッサ24は、共に直
接にシステム・バス43と接続されたマイクロプロセッ
サ41およびメモリー42を含む。
4を含む。この視覚データ・プロセッサ24は、共に直
接にシステム・バス43と接続されたマイクロプロセッ
サ41およびメモリー42を含む。
視覚データ・プロセッサ24の目的については、更に詳
細に以下に述べよう。
細に以下に述べよう。
サイクル1制御部23は、共に直接にシステム・バス4
3と接続されたマイクロプロセッサ44および割込み制
御部45を含む。マイクロプロセッサ44により実行さ
れるオペレーティング・システム・プログラムは、メモ
リー46内に記憶され、モード制御47、自動モード4
8および教示モニド49として識別されるプログラムを
含む。ユーザが指定する場所、速度および機能を規定す
るデータは、データ・ストア50に格納されている。
3と接続されたマイクロプロセッサ44および割込み制
御部45を含む。マイクロプロセッサ44により実行さ
れるオペレーティング・システム・プログラムは、メモ
リー46内に記憶され、モード制御47、自動モード4
8および教示モニド49として識別されるプログラムを
含む。ユーザが指定する場所、速度および機能を規定す
るデータは、データ・ストア50に格納されている。
メモリー46は、直接にシステム・バス43と接続され
ている。自動モード48として識別されるプログラムの
組は、マイクロプロセッサ44によって使用されて、デ
ータ・ストア50に格納されたデータにより規定される
作動サイクルを実行する。この自動モード・プログラム
の実行は、割込み制御部45により処理される割込み信
号によって実行が割込まれるまで、独立的にマイクロプ
ロセッサ44によって実施される。
ている。自動モード48として識別されるプログラムの
組は、マイクロプロセッサ44によって使用されて、デ
ータ・ストア50に格納されたデータにより規定される
作動サイクルを実行する。この自動モード・プログラム
の実行は、割込み制御部45により処理される割込み信
号によって実行が割込まれるまで、独立的にマイクロプ
ロセッサ44によって実施される。
サーボ1tdJ御部2+(第1図)は第2図において5
1で示され、以下に述べるサイクル制御部23およびサ
ーボ入出カモジュールにより生成され、かつマニピュレ
ータ軸心の駆動モータの実際の制御と関連するサーボ指
令信号を処理するサーボ監視部(スーパーバイザ)を含
む。このサーボ監視部は、マイクロプロセッサ52、プ
ログラム可能タイマー53およびサーボ制御処理プログ
ラム55を含む局部メモリー54からなっている。サー
ボ割込み信号は、プログラム可能タイマー53により周
期的に生成される。割込み信号間の期間は、サイクル制
御部23により実行される経路制御転送の各反復間隔を
規定する。サーボ監視部を構成する各要素は、反復間隔
において行なわれるべき回動軸心に対するマニピュレー
タの運動の増分を表わすマニピュレータ軸心指令信号を
受取る。
1で示され、以下に述べるサイクル制御部23およびサ
ーボ入出カモジュールにより生成され、かつマニピュレ
ータ軸心の駆動モータの実際の制御と関連するサーボ指
令信号を処理するサーボ監視部(スーパーバイザ)を含
む。このサーボ監視部は、マイクロプロセッサ52、プ
ログラム可能タイマー53およびサーボ制御処理プログ
ラム55を含む局部メモリー54からなっている。サー
ボ割込み信号は、プログラム可能タイマー53により周
期的に生成される。割込み信号間の期間は、サイクル制
御部23により実行される経路制御転送の各反復間隔を
規定する。サーボ監視部を構成する各要素は、反復間隔
において行なわれるべき回動軸心に対するマニピュレー
タの運動の増分を表わすマニピュレータ軸心指令信号を
受取る。
これらマニピュレータ軸心の指令信号は、サーボ監視部
により処理されて反復間隔の小分割に有効なマニピュレ
ータの各軸心に対する小増分を規定するサーボ指令信号
を生じる。このサーボ指令信号は、反復間隔の予め定め
た小間隔でサーボ入出カモジュールへ分散される。この
サーボ入出カモジュールは、位置のトランスジューサに
より生じるサーボ指令信号およびフィードバック信号を
用いてマニピュレータ軸心駆動モータを制御する。要素
52.53および54は局部バス56と接続され、この
バスは更に二重ボート57を介してシステム・バス43
と接続されることが判るであろう。
により処理されて反復間隔の小分割に有効なマニピュレ
ータの各軸心に対する小増分を規定するサーボ指令信号
を生じる。このサーボ指令信号は、反復間隔の予め定め
た小間隔でサーボ入出カモジュールへ分散される。この
サーボ入出カモジュールは、位置のトランスジューサに
より生じるサーボ指令信号およびフィードバック信号を
用いてマニピュレータ軸心駆動モータを制御する。要素
52.53および54は局部バス56と接続され、この
バスは更に二重ボート57を介してシステム・バス43
と接続されることが判るであろう。
サーボ入出力は、駆動インターフェース回路58および
マニピュレータ軸心位置測定トランスジューサ・インタ
ーフェース5gを介してマイクロプロセッサ52および
メモリー54によって行なわれる。これら要素は、局部
バス56によって相互に連結されている、マイクロプロ
セッサ52は、メモリー54に格納されたサーボ入出カ
プログラム62に従ってサーボ指令信号およびフィード
バック信号に応答して増巾器60aおよび130bを介
しマニピュレータ軸心駆動モータ60および6!を制御
する。各マニピュレータ軸心サーボ指令信号は、位置の
トランスジューサ63または84により規定される如き
対応するその時の位置信号と比較されて位置の誤差信号
を生じ、この信号は次に駆動インターフェース回路58
へ加えられ、関連するマニピュレータ軸心駆動モータに
適用するための駆動中制御信号を生じる。
マニピュレータ軸心位置測定トランスジューサ・インタ
ーフェース5gを介してマイクロプロセッサ52および
メモリー54によって行なわれる。これら要素は、局部
バス56によって相互に連結されている、マイクロプロ
セッサ52は、メモリー54に格納されたサーボ入出カ
プログラム62に従ってサーボ指令信号およびフィード
バック信号に応答して増巾器60aおよび130bを介
しマニピュレータ軸心駆動モータ60および6!を制御
する。各マニピュレータ軸心サーボ指令信号は、位置の
トランスジューサ63または84により規定される如き
対応するその時の位置信号と比較されて位置の誤差信号
を生じ、この信号は次に駆動インターフェース回路58
へ加えられ、関連するマニピュレータ軸心駆動モータに
適用するための駆動中制御信号を生じる。
第2図のブロック図はブロック65および67により示
されるサーボ入出力インターフェースを示すことが判る
であろう。ブロック65および67の各々が、駆動イン
ターフェース回路58、および5gで示されるものと類
似する機tiIi〜心位置測定位置測定トランスジュー
サーフェースの双方を表わすことが理解されよう。更に
また、ブロック66および68が各々2つの駆動モータ
と1つの増巾器とその各々と関連する1つのレゾルバを
表わすことが理解されよう。サーボ指令信号は、数ミリ
秒内に行なわれるマニピュレータ軸心の運動の増分を表
わす。対照的に、マニピュレータ軸心の指令信号は、!
0乃至20ミリ秒の反復間隔内で行なわれるべきマニピ
ユレータ部材の運動の増分を表わす。
されるサーボ入出力インターフェースを示すことが判る
であろう。ブロック65および67の各々が、駆動イン
ターフェース回路58、および5gで示されるものと類
似する機tiIi〜心位置測定位置測定トランスジュー
サーフェースの双方を表わすことが理解されよう。更に
また、ブロック66および68が各々2つの駆動モータ
と1つの増巾器とその各々と関連する1つのレゾルバを
表わすことが理解されよう。サーボ指令信号は、数ミリ
秒内に行なわれるマニピュレータ軸心の運動の増分を表
わす。対照的に、マニピュレータ軸心の指令信号は、!
0乃至20ミリ秒の反復間隔内で行なわれるべきマニピ
ユレータ部材の運動の増分を表わす。
マニピュレータ軸心の指令信号の生成に加えて、サイク
ル−制御部23は、入力信号により表わされかつプログ
ラムされた場所で機能させられる工具14(第1図)と
関連する諸機能の実行をI制御する。機能指令は、デー
タ・ストア50におけるプログラム・データと共に格納
され、かつ自動モード・プログラム48と関連する機能
実行サブルーチンに従つて実行される。マニピュレータ
機能のilJ御は、リミッI・・スイッチ、押しボタン
、リレーおよびソレノイドの如き入出力装置を介して行
なわれる。このマニピュレータ入出力装置は、R域の入
出力インターフェース回路70と共働シ、てデータ人出
力装置の入出カポ−ドロ9により直接に制御される。デ
ータは二重ボート装置71を介してシステム・バス43
に関して出入りさせられる。この二重ボート装、171
は、ボード69の局部バス72と接続されている。
ル−制御部23は、入力信号により表わされかつプログ
ラムされた場所で機能させられる工具14(第1図)と
関連する諸機能の実行をI制御する。機能指令は、デー
タ・ストア50におけるプログラム・データと共に格納
され、かつ自動モード・プログラム48と関連する機能
実行サブルーチンに従つて実行される。マニピュレータ
機能のilJ御は、リミッI・・スイッチ、押しボタン
、リレーおよびソレノイドの如き入出力装置を介して行
なわれる。このマニピュレータ入出力装置は、R域の入
出力インターフェース回路70と共働シ、てデータ人出
力装置の入出カポ−ドロ9により直接に制御される。デ
ータは二重ボート装置71を介してシステム・バス43
に関して出入りさせられる。この二重ボート装、171
は、ボード69の局部バス72と接続されている。
ボード69の動作は、局部メモリー74に格納されたプ
ログラムを実行するバス72と接続された局部マイクロ
プロセッサ73によってfillされる。
ログラムを実行するバス72と接続された局部マイクロ
プロセッサ73によってfillされる。
マニピュレータ入出力インターフェース回路70のボー
ド6gに対する接・続は、直列インターフェース回路7
5を介して行なわれる。制御筐体のオペレータ・パネル
76は、並列回線により並列インターフェース回路ア7
と接続されている。
ド6gに対する接・続は、直列インターフェース回路7
5を介して行なわれる。制御筐体のオペレータ・パネル
76は、並列回線により並列インターフェース回路ア7
と接続されている。
インターフェース回路75および77の監視および制御
は、それぞれ局部メモリー74に格納されたマニピュレ
ータ入出カプログラム78およびオペレータ・パネル入
出カプログラム79に応答してマニピュレータ73によ
って行なわれる。マニピュレータ入出力装置のその時の
条件は、パネル69から二重ボート装置71を介してサ
イクル制御部23に対して送られる装置の状態信号に反
映される。
は、それぞれ局部メモリー74に格納されたマニピュレ
ータ入出カプログラム78およびオペレータ・パネル入
出カプログラム79に応答してマニピュレータ73によ
って行なわれる。マニピュレータ入出力装置のその時の
条件は、パネル69から二重ボート装置71を介してサ
イクル制御部23に対して送られる装置の状態信号に反
映される。
格納された作動プログラムに従ってサイクル制御部23
により発生される機能指令信号は、システム・バス43
上を二重ボート71を介して送られ、直列インターフェ
ース75により最後に適当なマニピュレータ入出力イン
ターフェース装置に対して送られる。
により発生される機能指令信号は、システム・バス43
上を二重ボート71を介して送られ、直列インターフェ
ース75により最後に適当なマニピュレータ入出力イン
ターフェース装置に対して送られる。
マニピュレータ装置インターフェース間の信号交換に加
えて、制御部はパネル69およびその関連するインター
フェースによるデータの交換を可能にする。サイクル制
御部23が自動モード・プログラム48の下に作動して
いる間、場所のデータは機能指令に応答して交換するこ
とができる。
えて、制御部はパネル69およびその関連するインター
フェースによるデータの交換を可能にする。サイクル制
御部23が自動モード・プログラム48の下に作動して
いる間、場所のデータは機能指令に応答して交換するこ
とができる。
このプロセス内のデータ交換は、パネル69を介して視
覚システムの信号処理コンピュータ26(これまた第1
図に示される)と制御部20との間で生じる。データ・
ストア50からの場所のデータは、システム・バス43
からパネル69へその二重ボート装置71を介して転送
される。視覚システムの局部メモリー74に格納された
データ入出カプログラム81の制御下で作動するマイク
ロプロセッサ73は、視覚システムの信号処理コンピュ
ータ26へ送るため初期化データを二重ボート装置71
から直列チャネル・インターフェース82へ転送する。
覚システムの信号処理コンピュータ26(これまた第1
図に示される)と制御部20との間で生じる。データ・
ストア50からの場所のデータは、システム・バス43
からパネル69へその二重ボート装置71を介して転送
される。視覚システムの局部メモリー74に格納された
データ入出カプログラム81の制御下で作動するマイク
ロプロセッサ73は、視覚システムの信号処理コンピュ
ータ26へ送るため初期化データを二重ボート装置71
から直列チャネル・インターフェース82へ転送する。
反対に、視覚システム信号処理コンピュータ26からの
データは、直列チャネル・インターフェース82へ入力
され、またこれから局部バス72上を二重ボート装置1
71へ送られる。ここから、データはシステム・バス4
3上で視覚データ・プロセッサ24に対して使用可能と
なる。
データは、直列チャネル・インターフェース82へ入力
され、またこれから局部バス72上を二重ボート装置1
71へ送られる。ここから、データはシステム・バス4
3上で視覚データ・プロセッサ24に対して使用可能と
なる。
今述べた詐りのプロセス間のデータ交換に加えて、プロ
グラム・データは、大容量データ・トランシーバ83を
介してメモリー46のデータ・ストア50と大容量デー
タ・ストアとの間で交換することができる。大容量デー
タ・ストアの事例は、逐次テープ装置およびデータ・デ
ィスク装置を含む。データは、メモリー74に格納され
た大容量データ・トランシーバの入出カプログラム84
に応答して作動するマイクロプロセッサ7373によっ
て交換される。データは、局部バス72に対する直列チ
ャネル・インターフェース82を介し、またシステム・
バス43と接続された二重ボート装置7tを介して、大
容量データ・トランシーバに関して出入れされる。
グラム・データは、大容量データ・トランシーバ83を
介してメモリー46のデータ・ストア50と大容量デー
タ・ストアとの間で交換することができる。大容量デー
タ・ストアの事例は、逐次テープ装置およびデータ・デ
ィスク装置を含む。データは、メモリー74に格納され
た大容量データ・トランシーバの入出カプログラム84
に応答して作動するマイクロプロセッサ7373によっ
て交換される。データは、局部バス72に対する直列チ
ャネル・インターフェース82を介し、またシステム・
バス43と接続された二重ボート装置7tを介して、大
容量データ・トランシーバに関して出入れされる。
最終データ入出力装置、即ち教示用ペンダント85は、
サイクル制御部23により教示モード・プログラム49
の実行と関連付けられている。
サイクル制御部23により教示モード・プログラム49
の実行と関連付けられている。
プログラムされた作動サイクルを規定する場所および機
能のデータは、教示用ペンダント85を用いてオペレー
タにより生成することができる。
能のデータは、教示用ペンダント85を用いてオペレー
タにより生成することができる。
このペンダントは、マニピュレータ1の手動操作、およ
び場所および機能データのデータ・ストア50への格納
を可能にする。他のデータ入出力装置におけるように、
データは局部バス72に対する直列チャネル・インター
フェース82およびこれからシステム・バス43に対す
る二重ボート装置71を介して、ペンダント85に関し
て出入れされる。教示操作モードは本発明の一部をなさ
ないため、そのこれ以上の詳細については本文では述べ
ない。教示モードにおけるマニピュレータの作動のこれ
以上の詳細は米国特許下3,920,972号に見出す
ことができる。
び場所および機能データのデータ・ストア50への格納
を可能にする。他のデータ入出力装置におけるように、
データは局部バス72に対する直列チャネル・インター
フェース82およびこれからシステム・バス43に対す
る二重ボート装置71を介して、ペンダント85に関し
て出入れされる。教示操作モードは本発明の一部をなさ
ないため、そのこれ以上の詳細については本文では述べ
ない。教示モードにおけるマニピュレータの作動のこれ
以上の詳細は米国特許下3,920,972号に見出す
ことができる。
マニピユレータ部材の運動を制御してプログラムされた
場所間の直線経路に沿って工具の中心点19の運動を生
じることが自動モード・プログラム48の目的であるた
め、マニと”ユレータの概略図は自動モード制御アルゴ
リズムの説明において有効であり得る。このような概略
図が第3図に示されている。
場所間の直線経路に沿って工具の中心点19の運動を生
じることが自動モード・プログラム48の目的であるた
め、マニと”ユレータの概略図は自動モード制御アルゴ
リズムの説明において有効であり得る。このような概略
図が第3図に示されている。
第3図においては、第1図のマニピュレータの上部アー
ム4と対応する第1の線による節部87が示されている
。第2の線による節部8Bは、第1図のマニピュレータ
の前アーム6と対応するように示されている。第1図の
肩部軸心17、エルボ−軸心I8、手首部8および工具
中心点1gもまた第3図に示されている。手首部8およ
び工具中心点19は、線の節部89によフて接合された
状態で示されている。
ム4と対応する第1の線による節部87が示されている
。第2の線による節部8Bは、第1図のマニピュレータ
の前アーム6と対応するように示されている。第1図の
肩部軸心17、エルボ−軸心I8、手首部8および工具
中心点1gもまた第3図に示されている。手首部8およ
び工具中心点19は、線の節部89によフて接合された
状態で示されている。
第3図の線の節部87.88および89は、それぞれ長
さLI LlおよびL3により寸法が示される。長さ
Llは、肩部軸心17とエルボ−軸心18との間の上部
アーム4の長さを示す。長さLlは、エルボ−軸心18
から手首部8の中心点までの前アーム6の長さを表わす
。最後に、長さL3は、手首部8の中心と工具14の中
心点19との間の距離を表わしている。
さLI LlおよびL3により寸法が示される。長さ
Llは、肩部軸心17とエルボ−軸心18との間の上部
アーム4の長さを示す。長さLlは、エルボ−軸心18
から手首部8の中心点までの前アーム6の長さを表わす
。最後に、長さL3は、手首部8の中心と工具14の中
心点19との間の距離を表わしている。
第3図においては、線の節部87.88および89は、
マニピュレータ1の直角座標系X、Y、Zとの関連にお
いて示されている。マニピュレータの座標系は、しばし
ばマニピュレータの「ワールド(world)J座標系
と呼ばれる。このFg、標系の原点は、垂直方向のベー
ス軸心16と水平の肩部軸心17との交点に位置するマ
ニピュレータl上の!っの点と対応している。第3図か
ら、マニピュレータの座標系の垂直のZ〜はベース軸心
1Bと同軸であることが判るであろう。マニピュレータ
1がその「ホームポジション」にある時、水平のY%は
肩部軸心17と同〜であり、水平のX軸はベース「軸心
16と肩部軸心17の交点に対して直角をなしかつこれ
を通る。
マニピュレータ1の直角座標系X、Y、Zとの関連にお
いて示されている。マニピュレータの座標系は、しばし
ばマニピュレータの「ワールド(world)J座標系
と呼ばれる。このFg、標系の原点は、垂直方向のベー
ス軸心16と水平の肩部軸心17との交点に位置するマ
ニピュレータl上の!っの点と対応している。第3図か
ら、マニピュレータの座標系の垂直のZ〜はベース軸心
1Bと同軸であることが判るであろう。マニピュレータ
1がその「ホームポジション」にある時、水平のY%は
肩部軸心17と同〜であり、水平のX軸はベース「軸心
16と肩部軸心17の交点に対して直角をなしかつこれ
を通る。
第2のF5標系は、マニピュレータと関連して用いられ
る。この座llA系x、y、zは、その原点を手首部8
の中心点に有する。手首部8の中心点は、その3つの回
動輪心の交点として定義される。この第2の座標系はし
ばしば1手の」座jIA;f−と呼ばれる0手首部8の
中心点と工具!4の中心点1.9との間の距離を表わす
第3図の線の節部89は、手の座標系におけるベクトル
からなっている。
る。この座llA系x、y、zは、その原点を手首部8
の中心点に有する。手首部8の中心点は、その3つの回
動輪心の交点として定義される。この第2の座標系はし
ばしば1手の」座jIA;f−と呼ばれる0手首部8の
中心点と工具!4の中心点1.9との間の距離を表わす
第3図の線の節部89は、手の座標系におけるベクトル
からなっている。
如何なる時点でも、この3つの方位角がマニピュレータ
の1h心系X、Y、Zに対する手の軸心系x、y、zの
方位を定義し、従来技術において周知のように、マニピ
ュレータの座標系から手の座標系へ、また手の座標系か
らマニピュレータ座標系への変換は下記の如く行なわれ
説明される。即ち、 X xY =
[Q] yZ
zマニピュレータ
手x
Xy = [
Q]−’ Yz
2手
マニピュレータ但し、[Q]は適当な変換マ
トリックスを示す。
の1h心系X、Y、Zに対する手の軸心系x、y、zの
方位を定義し、従来技術において周知のように、マニピ
ュレータの座標系から手の座標系へ、また手の座標系か
らマニピュレータ座標系への変換は下記の如く行なわれ
説明される。即ち、 X xY =
[Q] yZ
zマニピュレータ
手x
Xy = [
Q]−’ Yz
2手
マニピュレータ但し、[Q]は適当な変換マ
トリックスを示す。
第3図においては、マニピュレータのベース軸心16の
周囲における回動運動は角度aの大きさにより決定され
る。マニピュレータの上部アームの回動運動は角度すの
大きさによフて決定される。マニピュレータの前アーム
の回動運動は、角度Cの大きさにより決定される。
周囲における回動運動は角度aの大きさにより決定され
る。マニピュレータの上部アームの回動運動は角度すの
大きさによフて決定される。マニピュレータの前アーム
の回動運動は、角度Cの大きさにより決定される。
角度Cはマニピュレータの上部アームの中心線から測定
されることが判るであろう。当業者は、第3図から長さ
Lm、L2、および角度a、b、Cの大きさが手首部8
の中心点の場所を完全に決定することが判るであろう。
されることが判るであろう。当業者は、第3図から長さ
Lm、L2、および角度a、b、Cの大きさが手首部8
の中心点の場所を完全に決定することが判るであろう。
もし線の節部89が線の節部88と同軸であるならば、
長さLIL2.L3は角度a、b、cの大きさと共に、
工具の中心点19の場所を完全に規定することになろう
。
長さLIL2.L3は角度a、b、cの大きさと共に、
工具の中心点19の場所を完全に規定することになろう
。
手首部8の軸心における回動運動の誘起は、工具の中心
点19を介する工具14と関連する機能要素の方位を生
じる。手首部8は箪4図において拡大されて示される。
点19を介する工具14と関連する機能要素の方位を生
じる。手首部8は箪4図において拡大されて示される。
上記の如く、この手首部は、手首部8がマニピュレータ
の前アーム6に取付けられるそのインテグラル1lld
l 1.0を持つ第1の節部9を有する。手首部は更に
、第2の節部11と、面板13を支持するそのインテグ
ラルN12とを有する。この手首部8の第1の回動輪心
90は、手首部節部9の回動運動によって規定される。
の前アーム6に取付けられるそのインテグラル1lld
l 1.0を持つ第1の節部9を有する。手首部は更に
、第2の節部11と、面板13を支持するそのインテグ
ラルN12とを有する。この手首部8の第1の回動輪心
90は、手首部節部9の回動運動によって規定される。
手首部8の第2の回動軸心は、手首部節部11の回動運
動によって規定される。この軸心は91で示・され、手
首部節部9および!!の当接面に対し直角をなす。手首
部8の第3の回動輪心は、面板13の回動運動によって
規定される。この軸心は92で示され、面板13に対し
直角をなす。手首部の軸心gOの周囲の回転運動はρl
で示される。
動によって規定される。この軸心は91で示・され、手
首部節部9および!!の当接面に対し直角をなす。手首
部8の第3の回動輪心は、面板13の回動運動によって
規定される。この軸心は92で示され、面板13に対し
直角をなす。手首部の軸心gOの周囲の回転運動はρl
で示される。
手首部の軸心91の周囲の回動連動はρ2で示される。
最後に、面板13の回動運動はρ3により示される。
第5図は、如何にして方位角が手の座標系に関して規定
されその原点を手首部8の中心に置くかを示している。
されその原点を手首部8の中心に置くかを示している。
手のPiPM& (x 、 y 、 z )の軸心は、
方位角がゼロ(0)である時、それぞれマニピュレータ
のくワールド)座標系の軸心X、Y、Zに対して平行と
なる。方位角り、EおよびRは、下記の如く手の座標系
に関して回動運動を規定する。即ち、 (1)Eは、それぞれXおよびyをX、およびyIとに
整合させるZの周囲の回動の大きさであり、 (2)Dは、Xlをx2と整合させx2およびZをz2
と整合させるylの周囲の回動の大きさであり。
方位角がゼロ(0)である時、それぞれマニピュレータ
のくワールド)座標系の軸心X、Y、Zに対して平行と
なる。方位角り、EおよびRは、下記の如く手の座標系
に関して回動運動を規定する。即ち、 (1)Eは、それぞれXおよびyをX、およびyIとに
整合させるZの周囲の回動の大きさであり、 (2)Dは、Xlをx2と整合させx2およびZをz2
と整合させるylの周囲の回動の大きさであり。
(3)Rはylおよびz2をZ3と整合させるX、の周
囲の回動の大きさである。
囲の回動の大きさである。
当業者には、長さLl、L2およびL3が既知である時
、工具の中心点19の位置が3つの変位数値X、Y、Z
、および3つの方位角り、 E3よびRに照して完全に
規定できることが理解されよう。
、工具の中心点19の位置が3つの変位数値X、Y、Z
、および3つの方位角り、 E3よびRに照して完全に
規定できることが理解されよう。
本発明の制御系統ににおいては、1つの経路が自動モー
ドにおいて計算されつつある時、あるいはマニピュレー
タ1が教示モードにおいて教えられつつある時、マニピ
ュレータの(ワールド)座標系X、Y、Z、D、E、R
が使用される。本発明のサーボ・システムに対する信号
は、しばしば「接合スペース」と呼ばれる接合角度位置
(即ち、モータ位置)に即したものでなければならない
。その結果、これらの信号は、a、b、c、およびpl
p2、p3に関連する。当技術において公知のように
、X、Y、Z、D、E、Rおよびa、b、c、pl、p
2.92間の変換のためのマトリックス変換操作がある
。
ドにおいて計算されつつある時、あるいはマニピュレー
タ1が教示モードにおいて教えられつつある時、マニピ
ュレータの(ワールド)座標系X、Y、Z、D、E、R
が使用される。本発明のサーボ・システムに対する信号
は、しばしば「接合スペース」と呼ばれる接合角度位置
(即ち、モータ位置)に即したものでなければならない
。その結果、これらの信号は、a、b、c、およびpl
p2、p3に関連する。当技術において公知のように
、X、Y、Z、D、E、Rおよびa、b、c、pl、p
2.92間の変換のためのマトリックス変換操作がある
。
次に、第6図の幾何学的概略図を参照する。同図におい
ては、直線の節部93は、工具の中心点19が格納され
た入力信号により規定される点PoからPlへ移動進行
する運動経路を示している。自動モードにおけるマニピ
ュレータの制御は、この直線経路に沿フて中間点p、を
補間し、増分間隔ΔTに右ける経路運動を生じる。点p
、、p、、および中間点P、の座標は、全てマニピュレ
ータのくワールド)座標系に関して規定される。工具の
中心点19が点P0において静止状態から始動し点P、
において再び静止するものとすれば、経路制御方式はプ
ログラムされた速度への、またほからの自動的加速およ
び自動的減速を生じる。
ては、直線の節部93は、工具の中心点19が格納され
た入力信号により規定される点PoからPlへ移動進行
する運動経路を示している。自動モードにおけるマニピ
ュレータの制御は、この直線経路に沿フて中間点p、を
補間し、増分間隔ΔTに右ける経路運動を生じる。点p
、、p、、および中間点P、の座標は、全てマニピュレ
ータのくワールド)座標系に関して規定される。工具の
中心点19が点P0において静止状態から始動し点P、
において再び静止するものとすれば、経路制御方式はプ
ログラムされた速度への、またほからの自動的加速およ
び自動的減速を生じる。
中間点P1により規定される増分は固定された増分間隔
の期間に従って生じるが、点Pl間の実際の増分距離は
、工具の中心点の速度が変化するに従って変化する。こ
のため、一定の増分間隔ΔTの間に横切った距離と対応
する増分距離ΔSは、運動の一定の速度部分と予め定め
た運動の加速および減速段階との間で変動することが判
る。
の期間に従って生じるが、点Pl間の実際の増分距離は
、工具の中心点の速度が変化するに従って変化する。こ
のため、一定の増分間隔ΔTの間に横切った距離と対応
する増分距離ΔSは、運動の一定の速度部分と予め定め
た運動の加速および減速段階との間で変動することが判
る。
本発明の実施においては、ΔTは15ミリ秒に等しい。
このように、サーボ入出力ボード51は、15ミリ秒毎
にサイクル制御ボードからの位置の指令を受取り、サイ
クル制御ボード23はこれらの信号を生じるに充分な速
さで計算する。サイクル制御部23は、工具の中心点が
加速、減速およびプログラムされた速度等に基いてどれ
だけ線Po、P、に沿って移動できるかを計算し、サー
ボ入出力ボード51にこれを達成する適当な接合スペー
ス信号を与える。
にサイクル制御ボードからの位置の指令を受取り、サイ
クル制御ボード23はこれらの信号を生じるに充分な速
さで計算する。サイクル制御部23は、工具の中心点が
加速、減速およびプログラムされた速度等に基いてどれ
だけ線Po、P、に沿って移動できるかを計算し、サー
ボ入出力ボード51にこれを達成する適当な接合スペー
ス信号を与える。
自動モードにおけるマニピュレータ1の全作動サイクル
は、第7図のフローチャートによって示される。処理ス
テップ94においては、前記制御部はプログラムされた
速度VPにおけるプログラムされた点P0およびP、間
の運動を補間するため必要な間隔(span)データを
初期化する。このプログラムされた間隔長さSPおよび
座標成分比NCCに対する数値は、ステップ94と関連
する手順により生成される。プロセス・ステップ95に
おいては、経路に沿う増分が補間されて増分距離ΔSお
よび累積増分比1!ISKを生成する。プロセス・ステ
ップ96は、サブルーチンを呼出してマニピュレータ座
標から接合角度位置への補間された中間点の変換を行な
う。
は、第7図のフローチャートによって示される。処理ス
テップ94においては、前記制御部はプログラムされた
速度VPにおけるプログラムされた点P0およびP、間
の運動を補間するため必要な間隔(span)データを
初期化する。このプログラムされた間隔長さSPおよび
座標成分比NCCに対する数値は、ステップ94と関連
する手順により生成される。プロセス・ステップ95に
おいては、経路に沿う増分が補間されて増分距離ΔSお
よび累積増分比1!ISKを生成する。プロセス・ステ
ップ96は、サブルーチンを呼出してマニピュレータ座
標から接合角度位置への補間された中間点の変換を行な
う。
プロセス・ステップ96と関連するこのサブルーチンは
、軸心指令信号を生じ、これらの信号をサーボ割込み信
号の発生と同時にサーボ監視部によりアクセスするため
バッファに格納する。
、軸心指令信号を生じ、これらの信号をサーボ割込み信
号の発生と同時にサーボ監視部によりアクセスするため
バッファに格納する。
プロセス・ステップ96のサブルーチンの実行に続いて
、判断ステップ97において減速が要求されないことを
示すフラッグが設定された通りであるかどうかを判定す
るためテストが行なわれる。もしこの非減速フラッグが
設定されなかったならば、プロセスは判断ステップ10
2で続行し、ここで補間されつつあるこの時の増分がプ
ログラムされた場所間のその時の直線間隔の最後の増分
であるかどうか判定される。もしそうでなければ、別の
増分がコネクタL2を介して補間される。もしその時の
増分がこの間隔の最後の増分ならば、プロセスはコネク
タL3を介してプロセス・ステップまで継続し、ここで
間隔の終りと関連する機能が実行される。
、判断ステップ97において減速が要求されないことを
示すフラッグが設定された通りであるかどうかを判定す
るためテストが行なわれる。もしこの非減速フラッグが
設定されなかったならば、プロセスは判断ステップ10
2で続行し、ここで補間されつつあるこの時の増分がプ
ログラムされた場所間のその時の直線間隔の最後の増分
であるかどうか判定される。もしそうでなければ、別の
増分がコネクタL2を介して補間される。もしその時の
増分がこの間隔の最後の増分ならば、プロセスはコネク
タL3を介してプロセス・ステップまで継続し、ここで
間隔の終りと関連する機能が実行される。
その後、判断ステップ105が、この時の場所がプログ
ラムの最後の場所であるかどうかを判定する。もしそう
でなければ、更にプログラムされた場所のデータがコネ
クタL1に進むことにより処理されることになる。もし
これが!&後の場所であれば、プログラムされた作動サ
イクル全体がターミナル106により示される如く再び
実行されることになる。
ラムの最後の場所であるかどうかを判定する。もしそう
でなければ、更にプログラムされた場所のデータがコネ
クタL1に進むことにより処理されることになる。もし
これが!&後の場所であれば、プログラムされた作動サ
イクル全体がターミナル106により示される如く再び
実行されることになる。
判断ステップ97に戻って、非減速フラッグが設定され
なかったことが判定されたならば、この手順の実行はプ
ロセス・ステップ9gで続行する。このステップは、減
速停止が開始しなければならない点に先立ち、その時の
間隔における残りの距aS3゜を計算する。判断ステッ
プ100においては、この残りの距1!I S RDの
大きさがその時の増分距離ΔSに対してテストされ、残
りの距fis++oがその時の増分距離ΔSよりも小さ
いかどうかを判定する。もしこの残りの距離がその時の
増分距離よりも小さくなければ、プロセスはステップ1
01で続行し、ここで速度修正サブルーチンの実行がサ
ブルーチン呼出しによりて開始される。速度修正サブル
ーチンはどんなプロセス・パラメータにも応答して、工
具の中心点の速度をプロセスの変化に適応させるために
、あるいはマニピュレータの軸心速度をそれらの関連し
た限度に拘束するために、増分速度における変化を発生
する。このサブルーチンの完了と同時に、手順はプロセ
ス・ステップ95におけるループへ続行し、ここで増分
速度の最も後に生成された数値を用いて間隔の増分が補
間される。
なかったことが判定されたならば、この手順の実行はプ
ロセス・ステップ9gで続行する。このステップは、減
速停止が開始しなければならない点に先立ち、その時の
間隔における残りの距aS3゜を計算する。判断ステッ
プ100においては、この残りの距1!I S RDの
大きさがその時の増分距離ΔSに対してテストされ、残
りの距fis++oがその時の増分距離ΔSよりも小さ
いかどうかを判定する。もしこの残りの距離がその時の
増分距離よりも小さくなければ、プロセスはステップ1
01で続行し、ここで速度修正サブルーチンの実行がサ
ブルーチン呼出しによりて開始される。速度修正サブル
ーチンはどんなプロセス・パラメータにも応答して、工
具の中心点の速度をプロセスの変化に適応させるために
、あるいはマニピュレータの軸心速度をそれらの関連し
た限度に拘束するために、増分速度における変化を発生
する。このサブルーチンの完了と同時に、手順はプロセ
ス・ステップ95におけるループへ続行し、ここで増分
速度の最も後に生成された数値を用いて間隔の増分が補
間される。
判断ステップ100に戻り、残りの距離SRDが増分距
離ΔSよりも小さかったことが決定されたならば、手順
の実行は判断ステップ102において継続することにな
る。このステップは、その時の直線間隔の終りを規定し
ているプログラムされた記憶領域を介して運動が継続さ
れるべきかを判定する。もし工具の中心点がその時の間
隔の終りにおいて静止状態となるならば、判断ステップ
102は、プログラムされた場所が継続点でないことを
判定し、この手順の実行はプロセス・ステップ103で
続行し、ここで減速サブルーチンの実行は呼出しにより
最終の速度パラメータ信号vfを0に等しく設定するよ
うに初期化される。減速サブルーチンの実行が終ると同
時に、この全手順の実行がプロセス・ステップ!04に
おいて1m続し、ここでその時の間隔(スパン)の終り
と関連した機能命令が実行されることになる。その後、
判断ステップ105において、その時のプログラムされ
た場所がプログラムの最後のプログラムされた場所であ
るかどうかを判定する。
離ΔSよりも小さかったことが決定されたならば、手順
の実行は判断ステップ102において継続することにな
る。このステップは、その時の直線間隔の終りを規定し
ているプログラムされた記憶領域を介して運動が継続さ
れるべきかを判定する。もし工具の中心点がその時の間
隔の終りにおいて静止状態となるならば、判断ステップ
102は、プログラムされた場所が継続点でないことを
判定し、この手順の実行はプロセス・ステップ103で
続行し、ここで減速サブルーチンの実行は呼出しにより
最終の速度パラメータ信号vfを0に等しく設定するよ
うに初期化される。減速サブルーチンの実行が終ると同
時に、この全手順の実行がプロセス・ステップ!04に
おいて1m続し、ここでその時の間隔(スパン)の終り
と関連した機能命令が実行されることになる。その後、
判断ステップ105において、その時のプログラムされ
た場所がプログラムの最後のプログラムされた場所であ
るかどうかを判定する。
もしそうであれば、プログラムの実行はプログラムが再
び循環すべきことを示すターミナル106を介して記憶
されたプログラムの第1の場所において開始することに
より再開される。
び循環すべきことを示すターミナル106を介して記憶
されたプログラムの第1の場所において開始することに
より再開される。
もしその時の場所が格納されたプログラムの最後の場所
でなければ、実行はコネクタL1を経て次のプログラム
された直線的間隔を補間する。
でなければ、実行はコネクタL1を経て次のプログラム
された直線的間隔を補間する。
再び判断ステップ102において、その時の間隔の終り
に対するプログラムされた場所が工具の中心点の運動が
継続すべきものであると判定されたならば、全サイクル
fldJ御手順の実行がプロセス・ステップ107まで
進み、ここでその時の間隔に対する新たな終りの位置が
計算される。
に対するプログラムされた場所が工具の中心点の運動が
継続すべきものであると判定されたならば、全サイクル
fldJ御手順の実行がプロセス・ステップ107まで
進み、ここでその時の間隔に対する新たな終りの位置が
計算される。
補間された中間位置が増分間隔の期間および有効増分速
度により規定される増分走離だけ隔てられる故に、運動
がプログラムされた位置を経て続行する時、減速判定位
置からプログラムされた位置の終りまでの間隔において
残る距離は常にその時の増分距離の整数倍と等しくない
ことになる。この矛盾を勘案して、その時の間隔はプロ
グラムされた終りの位置に最も近いその時の増分距離の
整数倍で存効に終了される。このためには、残りの距m
(sp−sx)が増分距離ΔSで除され、整数の倍数お
よび残を得る。次いで、その時の間隔長さはこの残が差
引かれ、継続間隔長さScPを得る。従って、この距離
はその時の間隔の終りの位置および次の間隔の開始位置
を再び規定する。
度により規定される増分走離だけ隔てられる故に、運動
がプログラムされた位置を経て続行する時、減速判定位
置からプログラムされた位置の終りまでの間隔において
残る距離は常にその時の増分距離の整数倍と等しくない
ことになる。この矛盾を勘案して、その時の間隔はプロ
グラムされた終りの位置に最も近いその時の増分距離の
整数倍で存効に終了される。このためには、残りの距m
(sp−sx)が増分距離ΔSで除され、整数の倍数お
よび残を得る。次いで、その時の間隔長さはこの残が差
引かれ、継続間隔長さScPを得る。従って、この距離
はその時の間隔の終りの位置および次の間隔の開始位置
を再び規定する。
判断ステップ10Bにおいて、その時の間隔と次の間隔
との間に挟まれる角度が 120”より小さいかどうか
を判定する。もしこの挟角が120°より小さければ、
工具の中心点の運動がその時の間隔の最後の場所P、に
おいて終る。
との間に挟まれる角度が 120”より小さいかどうか
を判定する。もしこの挟角が120°より小さければ、
工具の中心点の運動がその時の間隔の最後の場所P、に
おいて終る。
この挟角の値の決定は、余弦則に依存している。
その時の間隔の初めにおけるプログラムされた場所と、
次の間隔の終了におけるプログラムされた場所との間の
間隔距離の2つの値は独立的に生成される。即ち、間隔
長さS72は直角座標成分の2乗の和として計算される
が、値S T” (120°)はプロセス・ステップ1
07において計算される間隔長さsepの2乗および次
の間隔の間隔長さS。の2乗の和、および次の間隔長さ
S、、とその時の間隔の間隔長さSCPの積として計算
される。もしST2がS、2(120°)より小さけれ
ば、挟角は 120°より小さい。
次の間隔の終了におけるプログラムされた場所との間の
間隔距離の2つの値は独立的に生成される。即ち、間隔
長さS72は直角座標成分の2乗の和として計算される
が、値S T” (120°)はプロセス・ステップ1
07において計算される間隔長さsepの2乗および次
の間隔の間隔長さS。の2乗の和、および次の間隔長さ
S、、とその時の間隔の間隔長さSCPの積として計算
される。もしST2がS、2(120°)より小さけれ
ば、挟角は 120°より小さい。
もしこの挟角が120°より小さければ、進行以前に運
動を停止状態にすることが必要であり、このプロセスは
プロセス・ステップ103での減速手順の呼出しを通し
て続行することになる。
動を停止状態にすることが必要であり、このプロセスは
プロセス・ステップ103での減速手順の呼出しを通し
て続行することになる。
もし挟角が】2O4以上であるならば、このプロセスは
判断ステップ109で継続する。判断ステップ109は
、次の間隔のプログラム速度がその時のプログラムされ
た速度よりも大きいかあるいはこれと等しいかどうかを
判定する。もし次の間隔のプログラムされた速度がその
時の間隔のプロダラムされた速度よりも小さければ、次
の間隔にあける運動がこの間隔に対してプログラムされ
た速度において開始されるように、その時の間隔におけ
る減速を生じることが必要である。プロセス・ステップ
110により呼出される減速手順に続いて、全サイクル
がコネクタL3を経てプロセス・ステップ104におい
て続行する。
判断ステップ109で継続する。判断ステップ109は
、次の間隔のプログラム速度がその時のプログラムされ
た速度よりも大きいかあるいはこれと等しいかどうかを
判定する。もし次の間隔のプログラムされた速度がその
時の間隔のプロダラムされた速度よりも小さければ、次
の間隔にあける運動がこの間隔に対してプログラムされ
た速度において開始されるように、その時の間隔におけ
る減速を生じることが必要である。プロセス・ステップ
110により呼出される減速手順に続いて、全サイクル
がコネクタL3を経てプロセス・ステップ104におい
て続行する。
もし次の間隔におけるプログラムされた速度が事実その
時の間隔のプログラムされた速度よりも大きいかあるい
はこれに等しければ、判断ステップ109からのプロセ
スは非減速フラッグを設定するプロセス・ステップ11
1で続行する。
時の間隔のプログラムされた速度よりも大きいかあるい
はこれに等しければ、判断ステップ109からのプロセ
スは非減速フラッグを設定するプロセス・ステップ11
1で続行する。
その後、前に述べた全作動サイクルがコネクタL2を介
して再開される。
して再開される。
全サイクル制御が格納されたプログラムの反復実行を含
むことが明らかであろう。プログラムされた場所間の運
動は、その間の直線経路に沿った増分運動の相互積を含
む。この全作動サイクルは、マニピュレータの運動およ
びプログラムされた場所と関連するプログラムされた緒
機能の実行からなっている。
むことが明らかであろう。プログラムされた場所間の運
動は、その間の直線経路に沿った増分運動の相互積を含
む。この全作動サイクルは、マニピュレータの運動およ
びプログラムされた場所と関連するプログラムされた緒
機能の実行からなっている。
第8図においては、サーボ制御により実行されるサーボ
割込みサービス・ルーチンが判断ステップ112で開始
し、ここで軸心指令信号が一時的に格納されるバッファ
が空であるかどうかを判定する。もしこのバッファが空
であれば、サイクル制御は間隔の終りに達し、間隔信号
の終りがプロセス・ステップ!13において送られる。
割込みサービス・ルーチンが判断ステップ112で開始
し、ここで軸心指令信号が一時的に格納されるバッファ
が空であるかどうかを判定する。もしこのバッファが空
であれば、サイクル制御は間隔の終りに達し、間隔信号
の終りがプロセス・ステップ!13において送られる。
もし判断ステップ■2によってバッファが空でないこと
が判れば、軸心指令信号により表わされる軸心運動の増
分はステップ114においてバッファから検索される。
が判れば、軸心指令信号により表わされる軸心運動の増
分はステップ114においてバッファから検索される。
ターミナル115において、サーボ割込みルーチンが終
了され、サイクル制御部23による全作動サイクルが再
開する。前に述べたように、サーボ監視部が軸心指令信
号により表わされる増分を、反復期間の予め定めた小期
間中にサーボ位置を指令するため用いられる小増分に分
割する。サーボ指令信号の分割および出力プロセスは、
サイクル制御部23による自動モード手順全体の実行と
同時に継続する。
了され、サイクル制御部23による全作動サイクルが再
開する。前に述べたように、サーボ監視部が軸心指令信
号により表わされる増分を、反復期間の予め定めた小期
間中にサーボ位置を指令するため用いられる小増分に分
割する。サーボ指令信号の分割および出力プロセスは、
サイクル制御部23による自動モード手順全体の実行と
同時に継続する。
第7図のフローチャートと関連する主要セグメントおよ
びサブルーチンの記述は第9図乃至第14図に関して行
なうことにする。第9図のフローチャートは、第7図の
プロセス・ステップ94と対応している。プロセス・ス
テップ1113においては、予めプログラムされた入力
信号と対応するプログラムされた間隔(スパン)データ
がメモリー413のデータ・ストア50から再び呼出さ
れる。始動点P。、終了点PIおよびプログラムされた
速度vPは、二[具の中心点19により次に実行される
べき運動を定義する。メモリーから再び呼出されるプロ
グラムされた座標データは、プログラムされた点の表示
に対応してサブスクリプトで示される。処理ステップ!
17においては、全間隔(スパン)長さが2つのプログ
ラムされた点の直角座標を用いて、座標成分の2乗の和
の平方根をとって計算される。プロセス・ステップ11
8においては、プログラムされた座標系の軸内成分の比
が、間隔長さにより座標成分を除すことにより計算され
る。これらの比は、N XXv N vvs N !2
s N oo、 N EEおよびNRRで表わされる。
びサブルーチンの記述は第9図乃至第14図に関して行
なうことにする。第9図のフローチャートは、第7図の
プロセス・ステップ94と対応している。プロセス・ス
テップ1113においては、予めプログラムされた入力
信号と対応するプログラムされた間隔(スパン)データ
がメモリー413のデータ・ストア50から再び呼出さ
れる。始動点P。、終了点PIおよびプログラムされた
速度vPは、二[具の中心点19により次に実行される
べき運動を定義する。メモリーから再び呼出されるプロ
グラムされた座標データは、プログラムされた点の表示
に対応してサブスクリプトで示される。処理ステップ!
17においては、全間隔(スパン)長さが2つのプログ
ラムされた点の直角座標を用いて、座標成分の2乗の和
の平方根をとって計算される。プロセス・ステップ11
8においては、プログラムされた座標系の軸内成分の比
が、間隔長さにより座標成分を除すことにより計算され
る。これらの比は、N XXv N vvs N !2
s N oo、 N EEおよびNRRで表わされる。
方位角に対する軸心成分比は、直角座標釉における成分
比と同じように計算される。
比と同じように計算される。
−旦間隔変数のこの予備的な計算が完了すると、全作動
サイクルはターミナル120を経て東7図の処理ブロッ
ク95へ続く。
サイクルはターミナル120を経て東7図の処理ブロッ
ク95へ続く。
次に第10図においては、第7図のブロック95と対応
する間隔の増分の補間処理ステップが更に詳細なフロー
チャートに拡張されている。判断ステップ12+から始
まり、判断は適応即ちプログラムされない速度フラッグ
が第7図の処理ステップ101により呼出されるサブル
ーチンによって設定されたかどうかについて行なわれる
。
する間隔の増分の補間処理ステップが更に詳細なフロー
チャートに拡張されている。判断ステップ12+から始
まり、判断は適応即ちプログラムされない速度フラッグ
が第7図の処理ステップ101により呼出されるサブル
ーチンによって設定されたかどうかについて行なわれる
。
もしその時の間隔(スパン)に対してプログラムされた
適応速度機能がないか、あるいは適応速度機能が増分速
度値への変化を結果として生じるならば、適応速度フラ
ッグは設定されず、プロセスは判断ステップ122にお
いて継続することになる。判断ステップ122は、その
時の増分速度信号vKの値、即ちその時の反復増分速度
にをプログラムされた速度信号vPの値に対してテスト
して、その時の増分速度がプログラムされた速度より小
さいかどうかを判定する。もしそうであれば、プロセス
はプロセス・ステップ123において継続し、これが加
速サブルーチンを呼出す。
適応速度機能がないか、あるいは適応速度機能が増分速
度値への変化を結果として生じるならば、適応速度フラ
ッグは設定されず、プロセスは判断ステップ122にお
いて継続することになる。判断ステップ122は、その
時の増分速度信号vKの値、即ちその時の反復増分速度
にをプログラムされた速度信号vPの値に対してテスト
して、その時の増分速度がプログラムされた速度より小
さいかどうかを判定する。もしそうであれば、プロセス
はプロセス・ステップ123において継続し、これが加
速サブルーチンを呼出す。
加速サブルーチンの効果は、予め定めた加速機能に従っ
て増分速度に対する新たな値を生成すること、また対応
する距離の増分ΔSを生成することである。このため、
工具の中心点が静止状態から始動する運動の初めに、増
分速度の初期値がゼロとなり、プログラムされた速度は
無論ゼロではなく、プロセス・ステップ123における
加速サブルーチンの呼出しが増分速度(a V Kの変
化を生じ始め、増分距離イ8号ΔSを生じる。
て増分速度に対する新たな値を生成すること、また対応
する距離の増分ΔSを生成することである。このため、
工具の中心点が静止状態から始動する運動の初めに、増
分速度の初期値がゼロとなり、プログラムされた速度は
無論ゼロではなく、プロセス・ステップ123における
加速サブルーチンの呼出しが増分速度(a V Kの変
化を生じ始め、増分距離イ8号ΔSを生じる。
増分速度VKがプログラムされた速度■、よりも小さく
なければ、増分距離信号に対する新たな値を計算するこ
とは必要でなく、プロセス・ステップ125により示さ
れる如き反復カウンタを増進させるだけでよい。いずれ
の場合も、プロセスは最後にプロセス・ステップ126
を再開し、ここで累積された増分信号SKの値がプロセ
ス・ステップ12Bの右側に示した数式に従って計算さ
れる。全作動サイクルは、その時フローチャートの終り
127の「゛継続」により継続される。
なければ、増分距離信号に対する新たな値を計算するこ
とは必要でなく、プロセス・ステップ125により示さ
れる如き反復カウンタを増進させるだけでよい。いずれ
の場合も、プロセスは最後にプロセス・ステップ126
を再開し、ここで累積された増分信号SKの値がプロセ
ス・ステップ12Bの右側に示した数式に従って計算さ
れる。全作動サイクルは、その時フローチャートの終り
127の「゛継続」により継続される。
この時、全作動サイクルは、第7図のプロセス・ステッ
プ96の呼出しにより続行し、第11図のフローチャー
トに示された変換サブルーチンを呼出す。
プ96の呼出しにより続行し、第11図のフローチャー
トに示された変換サブルーチンを呼出す。
第1+図においては、プロセス・ステップ128におい
て、累積された補間距離のマニピュレータ座標系におけ
る座標を示す終端点座標信号の値が計算される。これは
、に−1で示される終端点座標信号の前の値を、増分距
離信号ΔSにより表わされる補間された増分距離の軸内
の成分に加算することにより行なわれる。この時、ステ
ップ!29は以下に述べる座標調整ルーチンを呼出す。
て、累積された補間距離のマニピュレータ座標系におけ
る座標を示す終端点座標信号の値が計算される。これは
、に−1で示される終端点座標信号の前の値を、増分距
離信号ΔSにより表わされる補間された増分距離の軸内
の成分に加算することにより行なわれる。この時、ステ
ップ!29は以下に述べる座標調整ルーチンを呼出す。
このルーチンは、必要に応じて、例えばシームを追従す
るよう調整された座標を提供する。このルーチンもまた
、ユーザが指定するパラメータに従ってプログラムされ
た経路からの偏位置を制限する。その後、補間された点
のプログラム座標系に関する座標がステップ!30によ
り接合角度位置a、b、c、およびpI、p2.p3に
変換される。逆三角関数機能を避けるため、その時の接
合角度位置に基く誤す関数を生じる反復近似アルゴリズ
ムが用いられる。この試みの詳細については、米国特許
下3,909,800号に示されるが、これはこの変換
アルゴリズムの説明に必要な程度に参考のため本文に付
言される。プロセス・ステップ!31において、接合角
度位置における変化が計算され、プロセス・ステップ1
32において、接合角度位置の増分差がサーボ割込みサ
ービス・ルーチンによるアクセスのためバッファに格納
される。変換ルーチンが完了すると、全作動サイクルの
処理がターミナル・ブロック133における「戻し」に
より再開される。次にこれは、第7図の判断ステップ9
7ヘプロセスを送る。ステップ97に続いて、全作動サ
イクルはプロセス・ステップ99において継続し、ここ
で減速間隔の初めまでの残る距離が計算され、このプロ
セス・ステップの詳細なフローチャートが第12図に示
される。
るよう調整された座標を提供する。このルーチンもまた
、ユーザが指定するパラメータに従ってプログラムされ
た経路からの偏位置を制限する。その後、補間された点
のプログラム座標系に関する座標がステップ!30によ
り接合角度位置a、b、c、およびpI、p2.p3に
変換される。逆三角関数機能を避けるため、その時の接
合角度位置に基く誤す関数を生じる反復近似アルゴリズ
ムが用いられる。この試みの詳細については、米国特許
下3,909,800号に示されるが、これはこの変換
アルゴリズムの説明に必要な程度に参考のため本文に付
言される。プロセス・ステップ!31において、接合角
度位置における変化が計算され、プロセス・ステップ1
32において、接合角度位置の増分差がサーボ割込みサ
ービス・ルーチンによるアクセスのためバッファに格納
される。変換ルーチンが完了すると、全作動サイクルの
処理がターミナル・ブロック133における「戻し」に
より再開される。次にこれは、第7図の判断ステップ9
7ヘプロセスを送る。ステップ97に続いて、全作動サ
イクルはプロセス・ステップ99において継続し、ここ
で減速間隔の初めまでの残る距離が計算され、このプロ
セス・ステップの詳細なフローチャートが第12図に示
される。
第12図においては、プロセス・ステップ134は、予
め定めた加速値を用いて減速に必要な期間を計算する。
め定めた加速値を用いて減速に必要な期間を計算する。
このため、停止するため減速に必要なおよその時間はそ
の時の増分速度vKおよび加速定数の商に等しい。プロ
セス・ステップ135においては、その時の増分速度の
半分に等しい平均速度がプロセス・ステップ134にお
いて計算された期間中に有効となることを仮定して、減
速に必要な距離を表わす減速距離信号が計算される。最
後に、プロセス・ステップ136において、間隔残の信
号S□。の値が計算され、その時の補間位置から丁度計
算された減速距離が開始する時点までのプログラムされ
た間隔長さ内の残りの距離を表わす。このため、距離の
残sn。
の時の増分速度vKおよび加速定数の商に等しい。プロ
セス・ステップ135においては、その時の増分速度の
半分に等しい平均速度がプロセス・ステップ134にお
いて計算された期間中に有効となることを仮定して、減
速に必要な距離を表わす減速距離信号が計算される。最
後に、プロセス・ステップ136において、間隔残の信
号S□。の値が計算され、その時の補間位置から丁度計
算された減速距離が開始する時点までのプログラムされ
た間隔長さ内の残りの距離を表わす。このため、距離の
残sn。
は、プログラムされた間隔長さSPから累積された補間
距離により表わされる間隔の部分SR1および減速に必
要な間隔の部分SDを差引いたものに等しい。この計算
に続いて、全作動サイクルが第7図の判断ステップ10
0において続行し、ここで残りの距111sRDがその
時の有効増分距離ΔSより小さいかどうかが判定される
。もし残の距111iSRoがその時の有効増分距離Δ
Sより小さくなければ、この距離の別の増分を補間する
ことができる。しかし、もしその時の有効増分距離ΔS
が計算された残りの距離Sqoより大きければ、即時減
速を開始することが必要である。この減速サブルーチン
は、第13図のフローチャートに示されている。
距離により表わされる間隔の部分SR1および減速に必
要な間隔の部分SDを差引いたものに等しい。この計算
に続いて、全作動サイクルが第7図の判断ステップ10
0において続行し、ここで残りの距111sRDがその
時の有効増分距離ΔSより小さいかどうかが判定される
。もし残の距111iSRoがその時の有効増分距離Δ
Sより小さくなければ、この距離の別の増分を補間する
ことができる。しかし、もしその時の有効増分距離ΔS
が計算された残りの距離Sqoより大きければ、即時減
速を開始することが必要である。この減速サブルーチン
は、第13図のフローチャートに示されている。
この減速サブルーチンは、予め定めた加速関数に従って
、増分速度変数VKの減少する値を反復的に生じる。加
速サブルーチンの初めに、増分速度が再計算されて、本
出願人が使用するコンピュータにより実行される整数演
算の丸め誤差について調整する。次に第13図において
、プロセス・ステップ138が減速反復カウンタをゼロ
に等しくセットする。プロセス・ステップ139におい
ては、減速期間T0が未だ実行されない間隔長さおよび
その時の増分速度vKの値とその時の間隔が終了すべき
最終速度V、−との間の速度の変化の商の2倍として計
算される。最終速度vPは1、次のプログラムされた位
置が連続点でありかつその時の間隔と次の間隔との間の
挟角は 120”と等しいかこれより大きい時を除いて
、全ての場合にゼロとなる。プロセス・ステップ140
において、減速を生じるため必要な反復数に0は、減速
の計算された期間TDと予め定めた増分間隔Δtの商と
して計算される。プロセス・ステップ+41においては
、増分速度vKの新たな値は、最終速度V、と、その時
の間隔の残りの距離および減速の計算された期間T、の
商の2倍との和として計算される。前に述べたように、
増分速度■、のこの再計算は、本出願人のディジタル・
コンピュータにおける整数演算の使用により必要とされ
る。また、プロセス・ステップ141において、速度信
号Δv8゜における増分の変化が計算される。この信号
は、減速サブルーチンの反復毎の速度の大きさの変化を
決定する。
、増分速度変数VKの減少する値を反復的に生じる。加
速サブルーチンの初めに、増分速度が再計算されて、本
出願人が使用するコンピュータにより実行される整数演
算の丸め誤差について調整する。次に第13図において
、プロセス・ステップ138が減速反復カウンタをゼロ
に等しくセットする。プロセス・ステップ139におい
ては、減速期間T0が未だ実行されない間隔長さおよび
その時の増分速度vKの値とその時の間隔が終了すべき
最終速度V、−との間の速度の変化の商の2倍として計
算される。最終速度vPは1、次のプログラムされた位
置が連続点でありかつその時の間隔と次の間隔との間の
挟角は 120”と等しいかこれより大きい時を除いて
、全ての場合にゼロとなる。プロセス・ステップ140
において、減速を生じるため必要な反復数に0は、減速
の計算された期間TDと予め定めた増分間隔Δtの商と
して計算される。プロセス・ステップ+41においては
、増分速度vKの新たな値は、最終速度V、と、その時
の間隔の残りの距離および減速の計算された期間T、の
商の2倍との和として計算される。前に述べたように、
増分速度■、のこの再計算は、本出願人のディジタル・
コンピュータにおける整数演算の使用により必要とされ
る。また、プロセス・ステップ141において、速度信
号Δv8゜における増分の変化が計算される。この信号
は、減速サブルーチンの反復毎の速度の大きさの変化を
決定する。
速度信号の増分変化は、初期速度と最終速度との速度差
を減速の反復数Kl)で除すことにより計算される。プ
ロセス・ステップ!43においては、減速の反復カウン
タが増進される。プロセス・ステップ!45においては
、増分距離ΔSが、その時と館の増分の平均増分速度と
、増分間隔信号Δtの積として計算される。プロセス・
ステップ146においては、累積された補間距離SKが
、全の補間距離ど増分距離ΔSの和として計算される。
を減速の反復数Kl)で除すことにより計算される。プ
ロセス・ステップ!43においては、減速の反復カウン
タが増進される。プロセス・ステップ!45においては
、増分距離ΔSが、その時と館の増分の平均増分速度と
、増分間隔信号Δtの積として計算される。プロセス・
ステップ146においては、累積された補間距離SKが
、全の補間距離ど増分距離ΔSの和として計算される。
プロセス・ステップ147においては、変換サブルーチ
ンが呼出され、判断ステップ148において1反復カウ
ンタが前に計算された減速反復値との等価についてテス
トされる。もしこれらが等しければ、減速サブルーチン
が完了し、全作動サイクルはターミナル・ブロック14
9の「戻し」により再開される。
ンが呼出され、判断ステップ148において1反復カウ
ンタが前に計算された減速反復値との等価についてテス
トされる。もしこれらが等しければ、減速サブルーチン
が完了し、全作動サイクルはターミナル・ブロック14
9の「戻し」により再開される。
しかし、もしこの反復カウンタが減速反復値と等しくな
ければ、新たな増分速度VKHがプロセス・ステップ1
48aにおいてその時の増分速度vKと速度VKDにお
ける変化との間の差として計算される。その後、減速反
復ループは、プロセス・ステップ!43へ処理を戻す戻
し線により反復される。
ければ、新たな増分速度VKHがプロセス・ステップ1
48aにおいてその時の増分速度vKと速度VKDにお
ける変化との間の差として計算される。その後、減速反
復ループは、プロセス・ステップ!43へ処理を戻す戻
し線により反復される。
マニピュレータ1、その制御部20およびその基本的な
作動モードについては既に述べたが、第1図を再び参照
し、特に視覚システム15.25および26を参照する
。本出願人は、オランダ国デルフトの0ptische
Indust、rie De 0ude Del11
社製の商標SEAMl’1LOTの下に市販される視覚
システムを選択した。当業者は、シームを走査してカメ
ラの座標においてシームに沿った点を有する視覚データ
・プロセッサ24(第2図参照)を提供することができ
る、適当などんな視覚システムでも使用できることが理
解されよう。
作動モードについては既に述べたが、第1図を再び参照
し、特に視覚システム15.25および26を参照する
。本出願人は、オランダ国デルフトの0ptische
Indust、rie De 0ude Del11
社製の商標SEAMl’1LOTの下に市販される視覚
システムを選択した。当業者は、シームを走査してカメ
ラの座標においてシームに沿った点を有する視覚データ
・プロセッサ24(第2図参照)を提供することができ
る、適当などんな視覚システムでも使用できることが理
解されよう。
周知のように、レーザー・スキャナー/カメラ・ヘッド
15は、サーボ制御されたミラーに対して集束され、レ
ーザー・ビームのサイドツウサイド(s 1de−Lo
−s tde )走査運動を生じるレーザーを含む。こ
のレーザー・スキャナー/カメラ・ヘッド14のカメラ
部分は、レーザー・ビームが工作物に当たる場所を視認
する。このレーザー・スキャナー/カメラ・ヘッド15
には、当技術においては全て周知の適当な冷却手段、使
い捨ての光学的ウィンドウの保護のための遮蔽ガス、等
が備えられている。
15は、サーボ制御されたミラーに対して集束され、レ
ーザー・ビームのサイドツウサイド(s 1de−Lo
−s tde )走査運動を生じるレーザーを含む。こ
のレーザー・スキャナー/カメラ・ヘッド14のカメラ
部分は、レーザー・ビームが工作物に当たる場所を視認
する。このレーザー・スキャナー/カメラ・ヘッド15
には、当技術においては全て周知の適当な冷却手段、使
い捨ての光学的ウィンドウの保護のための遮蔽ガス、等
が備えられている。
カメラ制御装置25は、レーザーを投入遮断し、レーザ
ー・ビームの走査を制御し2!!当なカメラ・データを
信号処理用コンピュータ26に対して送出する。信号処
理用コンピュータ26は、走査レーザーにより得られる
工作物の各輪郭を視覚データ・プロセッサ・メモリー4
2(第2図参照)からマニピュレータのオペレータによ
り選択された輪郭(テンプレート)の仕様と比較する。
ー・ビームの走査を制御し2!!当なカメラ・データを
信号処理用コンピュータ26に対して送出する。信号処
理用コンピュータ26は、走査レーザーにより得られる
工作物の各輪郭を視覚データ・プロセッサ・メモリー4
2(第2図参照)からマニピュレータのオペレータによ
り選択された輪郭(テンプレート)の仕様と比較する。
もしこの選択された輪郭が見出されるならば、輪郭上の
問題となる点の場所(シームの中心)が2信号処理用コ
ンピュータ26によりカメラ座標において計算される。
問題となる点の場所(シームの中心)が2信号処理用コ
ンピュータ26によりカメラ座標において計算される。
このカメラ座標は、直角チャネル・インターフェース8
2、局部バス72、二重ポート7Iおよびシステム・バ
ス43を介して視覚データ・プロセッサ24(第2図参
照)へ送られる。以下において明らかになるように、こ
の視覚システムの位置の値を用いて、工具14を所要の
輪郭に案内するためにマニピュレータのプログラムされ
た経路をオフセットする。この情報はまた、部品の設置
誤差、製造公差のばら付き、部品の熱歪み、不正なシー
ム形状等の?A整のため使用することができる。追跡中
、マニピュレータの位置は工具14をシームに維持する
ように修正される。マニピュレータの方位値は、溶接プ
ロセスの必要に応じて追跡性能を損なうことなくプログ
ラムすることができる。この能力は、もし方位角が固定
された状態を維持しなければならなければ実施すること
ができない多数の部品の溶接を可能にする。
2、局部バス72、二重ポート7Iおよびシステム・バ
ス43を介して視覚データ・プロセッサ24(第2図参
照)へ送られる。以下において明らかになるように、こ
の視覚システムの位置の値を用いて、工具14を所要の
輪郭に案内するためにマニピュレータのプログラムされ
た経路をオフセットする。この情報はまた、部品の設置
誤差、製造公差のばら付き、部品の熱歪み、不正なシー
ム形状等の?A整のため使用することができる。追跡中
、マニピュレータの位置は工具14をシームに維持する
ように修正される。マニピュレータの方位値は、溶接プ
ロセスの必要に応じて追跡性能を損なうことなくプログ
ラムすることができる。この能力は、もし方位角が固定
された状態を維持しなければならなければ実施すること
ができない多数の部品の溶接を可能にする。
要素15のカメラ・ヘッド(第1図参照)の手の座標系
に関する場所および方位が、変換マトリックスがカメラ
の座標をマニピュレータのくワールド)座標に関連付け
るよう形成することができるように決定されることが必
要である。手順の座標のマニピュレータ座ip<ワール
ド座S)への変換については既に論述した。
に関する場所および方位が、変換マトリックスがカメラ
の座標をマニピュレータのくワールド)座標に関連付け
るよう形成することができるように決定されることが必
要である。手順の座標のマニピュレータ座ip<ワール
ド座S)への変換については既に論述した。
手の座標におけるカメラの場所を決定するために、既知
の目標の場所のカメラ座標が決定され、且つマニピュレ
ータの作業ボリューム内に固定された校正部を用いる操
作の教示モードに格納される。この校正部のマニピュレ
ータの(ワールド)座標は、校正部をマニピュレータの
終端効果器(即ち、工具中心19)に取付けることによ
りマニピュレータから得られる。同じ校正部の目標点は
、カメラにより3つの異なる場所から視認される。各場
所毎に、校正部の目標のカメラ座標および工具中心点の
マニピュレータの(ワールド)座標が格納される。各場
所から校正部の目標へのベクトルは、下式により計算さ
れて手の座標へ変換される。即ち、 校正部をマニピュレータの終端効果器(即ち、工具中心
19)に取付けることによりマニピュレータから得られ
る。同じ校正部の目標点は、カメラにより3つの異なる
場所から視認される。各場所毎に、校正部の目標のカメ
ラ座標および工具中心点のマニピュレータの(ワールド
)座標が確定される。各場所から校正部の目標へのベク
トルは、下式により計算されて手の座標へ変換される。
の目標の場所のカメラ座標が決定され、且つマニピュレ
ータの作業ボリューム内に固定された校正部を用いる操
作の教示モードに格納される。この校正部のマニピュレ
ータの(ワールド)座標は、校正部をマニピュレータの
終端効果器(即ち、工具中心19)に取付けることによ
りマニピュレータから得られる。同じ校正部の目標点は
、カメラにより3つの異なる場所から視認される。各場
所毎に、校正部の目標のカメラ座標および工具中心点の
マニピュレータの(ワールド)座標が格納される。各場
所から校正部の目標へのベクトルは、下式により計算さ
れて手の座標へ変換される。即ち、 校正部をマニピュレータの終端効果器(即ち、工具中心
19)に取付けることによりマニピュレータから得られ
る。同じ校正部の目標点は、カメラにより3つの異なる
場所から視認される。各場所毎に、校正部の目標のカメ
ラ座標および工具中心点のマニピュレータの(ワールド
)座標が確定される。各場所から校正部の目標へのベク
トルは、下式により計算されて手の座標へ変換される。
即ち、
x Xy −[
Q]−’ Y z 2手の座標
マニピュレータ座標目標点に対する3組の
手の座標値、および目標点に対する対応する3組のカメ
ラ座標を用いて、その結果のカメラ座標系から手の座標
系への変換マトリックスを生成することができる。この
3組の座標を用いて、カメラ座標、および視認が行なわ
れた3つの場所により規定される面に直角の単位ベクト
ルの座標成分を含む第1の4X4マトリツクスを形成す
る。この3つの場所の手の座標、およびこの3つの場所
により規定される面と直角をなす単位ベクトルを含む第
2の4×4マトリツクスが形成される。次に、カメラの
座標を手の座標に変換するための変換マトリックスが、
第1の4×4マトリツクスの逆数と第2の4×4マトリ
ツクスとの積として形成される。その結果得られる変換
マトリックス[M]は下記の如く演算する。即ち、 x ss
x 5cysH[M] ’
Jsc z so
z sc手
カメラXsCXSM )/sc [M]−
’ V Sr量z sc
z ss左カメラ
手[Qコマトリックスとは異なり、CM]マトリックス
は定数と見做すことができるが、これはカメラに物が当
たる等のことがない限り、カメラの座標と手の座標が変
化しないためである。手の座標とマニピュレータ(ワー
ルド)の座標との間の関係が要求される異なる方位角の
関数として変化することになる。
Q]−’ Y z 2手の座標
マニピュレータ座標目標点に対する3組の
手の座標値、および目標点に対する対応する3組のカメ
ラ座標を用いて、その結果のカメラ座標系から手の座標
系への変換マトリックスを生成することができる。この
3組の座標を用いて、カメラ座標、および視認が行なわ
れた3つの場所により規定される面に直角の単位ベクト
ルの座標成分を含む第1の4X4マトリツクスを形成す
る。この3つの場所の手の座標、およびこの3つの場所
により規定される面と直角をなす単位ベクトルを含む第
2の4×4マトリツクスが形成される。次に、カメラの
座標を手の座標に変換するための変換マトリックスが、
第1の4×4マトリツクスの逆数と第2の4×4マトリ
ツクスとの積として形成される。その結果得られる変換
マトリックス[M]は下記の如く演算する。即ち、 x ss
x 5cysH[M] ’
Jsc z so
z sc手
カメラXsCXSM )/sc [M]−
’ V Sr量z sc
z ss左カメラ
手[Qコマトリックスとは異なり、CM]マトリックス
は定数と見做すことができるが、これはカメラに物が当
たる等のことがない限り、カメラの座標と手の座標が変
化しないためである。手の座標とマニピュレータ(ワー
ルド)の座標との間の関係が要求される異なる方位角の
関数として変化することになる。
上記のように、視覚システムの信号処理用コンピュータ
はカメラの座標データを視覚データ・プロセッサ24へ
送る。この視覚データ・プロセッサ24は、カメラの座
標データをマニピュレータの(ワールド)座標データへ
変換する。
はカメラの座標データを視覚データ・プロセッサ24へ
送る。この視覚データ・プロセッサ24は、カメラの座
標データをマニピュレータの(ワールド)座標データへ
変換する。
このことは、下記の如くに示すことができる。
即ち、
X S X !I
Icys [Q] [M]
yscZ s Z
gcマニピュレータ カメラ特に
、カメラのデータは、これをカメラ座標から手の座標に
変換する[M]マトリックスを介して変換される。その
後、実際にカメラ走査が行なわわた時点におけるもので
あった方位の値を与えることにより、[Q]マトリック
スを形成することができる。手の座標は[Q]マトリッ
クスを介して送られ、マニピュレータのくワールド)座
標が結果として生じる。
Icys [Q] [M]
yscZ s Z
gcマニピュレータ カメラ特に
、カメラのデータは、これをカメラ座標から手の座標に
変換する[M]マトリックスを介して変換される。その
後、実際にカメラ走査が行なわわた時点におけるもので
あった方位の値を与えることにより、[Q]マトリック
スを形成することができる。手の座標は[Q]マトリッ
クスを介して送られ、マニピュレータのくワールド)座
標が結果として生じる。
本発明の実施において、レーザー走査/カメラ・ヘッド
15は工具または溶接トーチ14の前方のシームを予め
検分する。シームの輪郭が処理され、その場所が記憶さ
れる。ある時間の後、このシーム・データを用いて、工
具中心点19を案内し、これが直接追跡点を通るように
する。
15は工具または溶接トーチ14の前方のシームを予め
検分する。シームの輪郭が処理され、その場所が記憶さ
れる。ある時間の後、このシーム・データを用いて、工
具中心点19を案内し、これが直接追跡点を通るように
する。
このことは、所要の追跡点についてFIFOバッファに
与えることにより実現される。
与えることにより実現される。
FIFOは、シーム・データを受入れ、マニピュレ−タ
の(ワールド)座標における追跡点を計算する視覚デー
タ・プロセッサ24の前記ル−チンにより書込まれる。
の(ワールド)座標における追跡点を計算する視覚デー
タ・プロセッサ24の前記ル−チンにより書込まれる。
このFIFOは、次の点を呼出してこtU”向って指向
するアルゴリズムにより読出される。F I FOは、
視覚データ・プロセッサのメモリー42の一部を構成す
る。
するアルゴリズムにより読出される。F I FOは、
視覚データ・プロセッサのメモリー42の一部を構成す
る。
第14図は、この形式の追跡を示している。
第14図に勿いては、工具の中心点19が位置PKに置
かれると見做される。この同じ実施例で、Iノーザー・
スキャナー/カメラ・ヘッドが位置PSKにおける工具
の中心点の前方に示される予備走査を行ないつつある。
かれると見做される。この同じ実施例で、Iノーザー・
スキャナー/カメラ・ヘッドが位置PSKにおける工具
の中心点の前方に示される予備走査を行ないつつある。
しかし、この工具の中心点は、その時の1つの走査後5
回の走査である走査PSK−Sの間指定される追跡点に
向って追跡中である。このため、FIFOは、この溶接
の実施に当たり少なくとも6要素の長さでなければなら
ない。工具中心点が位J P gに−9に達すると5レ
ーザー・スキャナー/カメラ・ヘッドは走査PsKや)
を開始する。従って、適正な追跡操作のためには2つの
ルーチンが視覚データ・プロセッサにおいて提供されね
ばならないことが明らかである。第1に、シーム処理ル
ーチンは視覚システムからデータを受入ね1.追跡点を
決定し、追跡点をカメラ座標からマニピュレータの(ワ
ールド)座標へ変換し、次いでFIFOにシーム点のX
、Yおよび2のワールド座標を格納する。
回の走査である走査PSK−Sの間指定される追跡点に
向って追跡中である。このため、FIFOは、この溶接
の実施に当たり少なくとも6要素の長さでなければなら
ない。工具中心点が位J P gに−9に達すると5レ
ーザー・スキャナー/カメラ・ヘッドは走査PsKや)
を開始する。従って、適正な追跡操作のためには2つの
ルーチンが視覚データ・プロセッサにおいて提供されね
ばならないことが明らかである。第1に、シーム処理ル
ーチンは視覚システムからデータを受入ね1.追跡点を
決定し、追跡点をカメラ座標からマニピュレータの(ワ
ールド)座標へ変換し、次いでFIFOにシーム点のX
、Yおよび2のワールド座標を格納する。
このシーム追跡ルーチンは、その時のロボット位置およ
びその時のシーム点のFI Flエントリを決定し、マ
ニピュレータ経路をこの所要のシーム点に向けるようオ
フセットし、この点に達すると、FIFOから新たなシ
ーム点を選択する。このように、シーム処理ルーチンは
、レーザー・スキャナー/カメラ・ヘッドから受取る如
きシーム・データのマニピュレータの(ワールド)座標
への変換、およびこれらの結果をFIFOに与える任に
ある。シーム追跡ルーチンは、ある時間後にFIFOエ
ントリを取出し、次いでロボットの経路をこれらエント
リを通るように変更する任にある。
びその時のシーム点のFI Flエントリを決定し、マ
ニピュレータ経路をこの所要のシーム点に向けるようオ
フセットし、この点に達すると、FIFOから新たなシ
ーム点を選択する。このように、シーム処理ルーチンは
、レーザー・スキャナー/カメラ・ヘッドから受取る如
きシーム・データのマニピュレータの(ワールド)座標
への変換、およびこれらの結果をFIFOに与える任に
ある。シーム追跡ルーチンは、ある時間後にFIFOエ
ントリを取出し、次いでロボットの経路をこれらエント
リを通るように変更する任にある。
第14図からは、レーザー・スキャナー/カメラ・ヘッ
ド15と工具の中心点19との間の距疎かFIFOの大
きさに重要な効果を有することが理解されよう。同様に
、この工具中心点19の速度がFIFOの大きさに影!
を及ぼし、速度が遅くなると与えられた予備検分距離に
わたって更に長い間隔をとらせる。更に、もし測定があ
まり短い間隔であると、測定システムの精度不備が測定
される実際の距離程度に大きくなる。
ド15と工具の中心点19との間の距疎かFIFOの大
きさに重要な効果を有することが理解されよう。同様に
、この工具中心点19の速度がFIFOの大きさに影!
を及ぼし、速度が遅くなると与えられた予備検分距離に
わたって更に長い間隔をとらせる。更に、もし測定があ
まり短い間隔であると、測定システムの精度不備が測定
される実際の距離程度に大きくなる。
FIFO寸法を実用限度内に保持するために、FIFO
が決して指温れするまで一杯の状態にならないように、
ある走査を選択的に捨てる方法を考えることが必要とな
る。
が決して指温れするまで一杯の状態にならないように、
ある走査を選択的に捨てる方法を考えることが必要とな
る。
追跡中FIFOの圧縮を実現するため、工具の中心点1
gと視野の中心との間の距離が計算さね。
gと視野の中心との間の距離が計算さね。
る。この視野内の1つの点が視野中心から最大約50.
8mm (2インチ)オフセットできるので、この距離
に約50.81II+(2インチ)のオフセットを加え
て最7男の場合の比重を得る。その後、この合計をFI
FOエン]・り数(例えば、35)で除して追跡距1n
lsrrを得、これがFIFOにロードされるシーム点
間の最小分離を定義する。
8mm (2インチ)オフセットできるので、この距離
に約50.81II+(2インチ)のオフセットを加え
て最7男の場合の比重を得る。その後、この合計をFI
FOエン]・り数(例えば、35)で除して追跡距1n
lsrrを得、これがFIFOにロードされるシーム点
間の最小分離を定義する。
最後のFfFOエントリからの追跡距、11!より以上
ではないカメラにより検出されるシーム点は、FIFO
に対してロードされない。
ではないカメラにより検出されるシーム点は、FIFO
に対してロードされない。
FIFOは、シーム点を確保しこれらシーム点をFTF
Oに格納することにより、追跡アルゴリズムに対してロ
ードされる。シーム点の確保は、探索モードにおいて開
始し、シームが発見されないことを前提とする。このプ
ロセスは、視覚システムの信号処理用コンピュータ26
を待機してデータ・メツセージを送出し、シームが発見
されてオペレータの選定したテンプレートに突合せられ
たかどうかを調べるためこれを検分する。
Oに格納することにより、追跡アルゴリズムに対してロ
ードされる。シーム点の確保は、探索モードにおいて開
始し、シームが発見されないことを前提とする。このプ
ロセスは、視覚システムの信号処理用コンピュータ26
を待機してデータ・メツセージを送出し、シームが発見
されてオペレータの選定したテンプレートに突合せられ
たかどうかを調べるためこれを検分する。
FIFOにロードされる各追跡点は、[M]マトリック
スを用いてカメラ座標から手の座標へ変換される。この
データが約450ミリ秒而に開始した走査からのもので
あるため、これは略々30回の更新前の正確であったマ
ニピュレータ座標と関連させられる。前のり、E、Hの
値から[Q]マトリックスを形成することにより、追跡
点の場所はマニピュレータの(ワールド)座標に見出す
ことができる。この点は、待ち行列中のR<1の点と比
較され、これが必要な最小距l1l(即ち、FIFOの
追跡距離)を越えるならば、FIFOに入れられる。も
しこのシームが3回の連続する走査に対して見出される
ならば、シームの初めは妥当なものであると仮定される
。更に、もしシームが3回の連続走査の後に無くなるな
らば、このシームは失われたと仮定される。シームの発
見とシームの追跡の両方においてプロセスの機能は実質
的に同じものであることは明らかであろう。データが受
取られ、カメラ座標から手の座標へ変換され、マニピュ
レータの(ワールド)座標に変換され、検査され、必要
に応じてFIFOに入れられる。もしプロセスが新たな
シーム点を完全に一杯の状態のFIFOに対して人ねよ
うとするならば、エラーが生じる結果となる。
スを用いてカメラ座標から手の座標へ変換される。この
データが約450ミリ秒而に開始した走査からのもので
あるため、これは略々30回の更新前の正確であったマ
ニピュレータ座標と関連させられる。前のり、E、Hの
値から[Q]マトリックスを形成することにより、追跡
点の場所はマニピュレータの(ワールド)座標に見出す
ことができる。この点は、待ち行列中のR<1の点と比
較され、これが必要な最小距l1l(即ち、FIFOの
追跡距離)を越えるならば、FIFOに入れられる。も
しこのシームが3回の連続する走査に対して見出される
ならば、シームの初めは妥当なものであると仮定される
。更に、もしシームが3回の連続走査の後に無くなるな
らば、このシームは失われたと仮定される。シームの発
見とシームの追跡の両方においてプロセスの機能は実質
的に同じものであることは明らかであろう。データが受
取られ、カメラ座標から手の座標へ変換され、マニピュ
レータの(ワールド)座標に変換され、検査され、必要
に応じてFIFOに入れられる。もしプロセスが新たな
シーム点を完全に一杯の状態のFIFOに対して人ねよ
うとするならば、エラーが生じる結果となる。
ワールド座標におけるシーム場所データを生じるための
本発明の変換および制御手法を、特定のシームの初めあ
るいは終りの認識のための能力と共に用いて、ある特定
のマニピュレータ・プログラムが関連して実行されるべ
き工作物の諸特徴の場所を定義する座標データを生成す
ることができる。例えば、ある車両のボテイーの風防は
、風防の終端部の場所を包囲したシームの初めまたは終
りを検出することにより位置決めすることができる。次
に、これらの場所の座標は、風防挿入ルーチンに対する
プログラムされた座標を風防の開口の実際の位置に補正
するための必要なオフセット操作、置換あるいは回転を
規定するために使用することができる。
本発明の変換および制御手法を、特定のシームの初めあ
るいは終りの認識のための能力と共に用いて、ある特定
のマニピュレータ・プログラムが関連して実行されるべ
き工作物の諸特徴の場所を定義する座標データを生成す
ることができる。例えば、ある車両のボテイーの風防は
、風防の終端部の場所を包囲したシームの初めまたは終
りを検出することにより位置決めすることができる。次
に、これらの場所の座標は、風防挿入ルーチンに対する
プログラムされた座標を風防の開口の実際の位置に補正
するための必要なオフセット操作、置換あるいは回転を
規定するために使用することができる。
実際の追跡操作は、2つのサブプロセスに分けることが
できる。第1のサブプロセスは、FIFOにおけるどの
点が指向する点であるかを決定し、次いでFIFOを然
るべく調整する。
できる。第1のサブプロセスは、FIFOにおけるどの
点が指向する点であるかを決定し、次いでFIFOを然
るべく調整する。
もし工具中心点から第1のFIFO位置までの距離が増
分距離ΔSの2倍に等しいかあるいはこれより小さけれ
ば、第1のFIFO位置は捨てられ、次のFIFO位置
が再呼出し即ちポツプアップされる。適当なFIFO位
置が選択された時、第2のサブプロセスがこの位置へ進
めるため必要な計算を行なう。この状態は第15図に示
されている。第15図においては、その時の工具の中心
点はP K−1で示される。
分距離ΔSの2倍に等しいかあるいはこれより小さけれ
ば、第1のFIFO位置は捨てられ、次のFIFO位置
が再呼出し即ちポツプアップされる。適当なFIFO位
置が選択された時、第2のサブプロセスがこの位置へ進
めるため必要な計算を行なう。この状態は第15図に示
されている。第15図においては、その時の工具の中心
点はP K−1で示される。
点P31は、シーム点取得プロセスにより見出された適
当なFIFO点である。その時の工具の中心点の場所P
K−1から光の工具中心点の場所P K−2を差引く
ことにより、ベクトルUlを決定することができ、これ
がその時の移動方向を示す。ベクトル「「は、プログラ
ムされた方向ベクトルであるか、あるいはそうでなくて
もよい。
当なFIFO点である。その時の工具の中心点の場所P
K−1から光の工具中心点の場所P K−2を差引く
ことにより、ベクトルUlを決定することができ、これ
がその時の移動方向を示す。ベクトル「「は、プログラ
ムされた方向ベクトルであるか、あるいはそうでなくて
もよい。
いずれにおいても、目標点Palはベクトル「「上には
存在せず、その結果マニピュレータは工具の中心点の方
向を変更しなければならない。
存在せず、その結果マニピュレータは工具の中心点の方
向を変更しなければならない。
このためには、その時の工具の中心点の場所p ’x
−+から目標点PSIへのベクトルWlが形成され、点
P K−1と点Pli+との間の目標距離が第15図に
示される如く計算される。
−+から目標点PSIへのベクトルWlが形成され、点
P K−1と点Pli+との間の目標距離が第15図に
示される如く計算される。
上記のように、再生距m S Tが増分距離ΔSの2倍
以上でなければならないため、工具の中心点が唯1回の
操作では点P Ic−1から点Pglへ移動できないこ
とが判る。その結果、第15図に示されるように、ベク
トルT「に沿フた一回の操作の距離ΔSにおいて工具の
中心点が達する点、にの座標が計算される。次いで、マ
ニピュレータは工具の中心点を点psKまで案内する。
以上でなければならないため、工具の中心点が唯1回の
操作では点P Ic−1から点Pglへ移動できないこ
とが判る。その結果、第15図に示されるように、ベク
トルT「に沿フた一回の操作の距離ΔSにおいて工具の
中心点が達する点、にの座標が計算される。次いで、マ
ニピュレータは工具の中心点を点psKまで案内する。
もし点P。と点ps+との間の残りの距離が依然として
増分距離ΔSの2倍より大きければ、工具の中心点のそ
の時の位置、および目標点として点ps+を用いて、同
じ計算が行なわれることになる。一方、もし点PSKと
点psrとの間の距離が増分距離ΔSの2倍を越えなけ
れば、点PSIは捨てられ、新たな目標点Ps2がFI
FOから取部される。次いで、目標点として点Ps□を
、また工具の中心点のその時の位置として点PFiKを
用いてベクトルW2を確保するため、同じ計算が繰返さ
れる。
増分距離ΔSの2倍より大きければ、工具の中心点のそ
の時の位置、および目標点として点ps+を用いて、同
じ計算が行なわれることになる。一方、もし点PSKと
点psrとの間の距離が増分距離ΔSの2倍を越えなけ
れば、点PSIは捨てられ、新たな目標点Ps2がFI
FOから取部される。次いで、目標点として点Ps□を
、また工具の中心点のその時の位置として点PFiKを
用いてベクトルW2を確保するため、同じ計算が繰返さ
れる。
次に、視覚データ・プロセッサ24により行なわれる反
復ループ全体を示す第16図を参照する。
復ループ全体を示す第16図を参照する。
判断ステップ161において、視覚データ・プロセッサ
24が視覚システムの信号処理用コンピュータ26から
完全なメツセージを受取ったかどうかを調べるため検査
が行なわれる。もし完全なメツセージが受取られなかフ
たならば、プロセス・ステップ162において、視覚デ
ータ・プロセッサ24は標準的なデータ通信プロトコル
を用いて視覚システムの48号処理用コンピュータ26
と通信することになる。
24が視覚システムの信号処理用コンピュータ26から
完全なメツセージを受取ったかどうかを調べるため検査
が行なわれる。もし完全なメツセージが受取られなかフ
たならば、プロセス・ステップ162において、視覚デ
ータ・プロセッサ24は標準的なデータ通信プロトコル
を用いて視覚システムの48号処理用コンピュータ26
と通信することになる。
もし判断ステップIFil において完全メツセージが
視覚システムの信号処理用コンピュータ26から受取ら
れたことが判定されるならば、YES側をたどってプロ
セス・ステップ163へ進む。プロセス・ステップ16
3は、視覚システムの信号処理用コンピュータからのシ
ーム座標が追跡するFIFOの距離と一致するかどうか
を調べるためプロセスのシーム・サブルーチンを呼出(
)、FIFOへ入れられねばならない。判断ステップ1
65はプロセス・ステップ+62または163に進み、
サイフルル制御部23がメツセージを視覚データ・プロ
セッサ24へ送ったかどうかを判定する。もし答えがN
oならば、今述べた詐りのプロセス・ステップが反復さ
れる。も()答えがYESならば、視覚データ・プロセ
ッサ24はプロセス・ステップ165においてサイクル
制御部23からのメツセージに従う。
視覚システムの信号処理用コンピュータ26から受取ら
れたことが判定されるならば、YES側をたどってプロ
セス・ステップ163へ進む。プロセス・ステップ16
3は、視覚システムの信号処理用コンピュータからのシ
ーム座標が追跡するFIFOの距離と一致するかどうか
を調べるためプロセスのシーム・サブルーチンを呼出(
)、FIFOへ入れられねばならない。判断ステップ1
65はプロセス・ステップ+62または163に進み、
サイフルル制御部23がメツセージを視覚データ・プロ
セッサ24へ送ったかどうかを判定する。もし答えがN
oならば、今述べた詐りのプロセス・ステップが反復さ
れる。も()答えがYESならば、視覚データ・プロセ
ッサ24はプロセス・ステップ165においてサイクル
制御部23からのメツセージに従う。
プロセス・ステップ1155におけるサイクル制御メツ
セージの性格に従って、プロセス・ステップ166%1
87および+68の適当なものがこの時実行されること
になる。プロセス・ステップ166においては、適当な
テンプレートが視覚データ・プロセッサ24により信号
処理用コンピュータに対して与えられ、追跡するFIF
Oの距離が計算されることになる。
セージの性格に従って、プロセス・ステップ166%1
87および+68の適当なものがこの時実行されること
になる。プロセス・ステップ166においては、適当な
テンプレートが視覚データ・プロセッサ24により信号
処理用コンピュータに対して与えられ、追跡するFIF
Oの距離が計算されることになる。
もしプロセス・ステップ167が実行されるならば、視
覚データ・プロセッサ24はOFF信号を視覚システム
の信号処理用コンピュータ26に対して送出することに
なる。
覚データ・プロセッサ24はOFF信号を視覚システム
の信号処理用コンピュータ26に対して送出することに
なる。
もしプロセス・ステップ168が実行されるならば、適
当なFIFOエントリが還択され、次の工具の中心点P
SKが計算されてサイクルIIJ御部23によりアクセ
スするため予め定めた場所に格納される。プロセス・ス
テップ1.66 、167および168のどれかの終了
時C2視覚データ・プロセッサ24は、プロセス・ステ
ップ+66 、167および168のどれが実施される
かに従って、プロセス・ステップ16gにおいてサイク
ルIIJ御部23に応答して適当な信号を送出すること
になる。プロセス・ステップ169に続いて、第16図
のルーチンが反復され、ループを完了する。
当なFIFOエントリが還択され、次の工具の中心点P
SKが計算されてサイクルIIJ御部23によりアクセ
スするため予め定めた場所に格納される。プロセス・ス
テップ1.66 、167および168のどれかの終了
時C2視覚データ・プロセッサ24は、プロセス・ステ
ップ+66 、167および168のどれが実施される
かに従って、プロセス・ステップ16gにおいてサイク
ルIIJ御部23に応答して適当な信号を送出すること
になる。プロセス・ステップ169に続いて、第16図
のルーチンが反復され、ループを完了する。
第16図のプロセス・ステップ162と関連するサブル
ーチンが第17図に示されている。これは、視覚データ
・プロセッサ24が当技術において周知の如く、プロト
コルD I N 66019に従って視覚システムの信
号処理用コンピュータと通信する唯1つのプロセス・ス
テップ170からなる簡単なサブルーチンである。
ーチンが第17図に示されている。これは、視覚データ
・プロセッサ24が当技術において周知の如く、プロト
コルD I N 66019に従って視覚システムの信
号処理用コンピュータと通信する唯1つのプロセス・ス
テップ170からなる簡単なサブルーチンである。
第16図のプロセス・ステップ163と関連するサブル
ーチンが第19図に示される。このサブルーチンにおい
ては、第1のプロセス・ステップ171は、視覚データ
・プロセッサ24が視覚システムのセンサ・カメラによ
り与えら才する座[Xqc、 YscおよびZ3Cをマ
ニピュレ−タの(ワールド)座標xq、y、、z、に変
換することを要求する。プロセス・ステップ!72にお
いては、FIFOにロードされた!&後の点から視覚シ
ステムの点Xs%Y、およびZsへのベクトルの座標X
cs、Yc5およびZCSは、新たな視覚システムの点
X!I、Y11、Z、の座標から前(7)F I FO
(7)点FIFOX、FIFOYおよびFIFOZの座
標を差引くことにより計算される。その後、プロセス・
ステップ172は、ベクトル座標成分X Cgs Y
C!lおよびZcsの2乗の和の平方根をとることによ
り、このベクトルの大きさ、即ち距mS3を計算する。
ーチンが第19図に示される。このサブルーチンにおい
ては、第1のプロセス・ステップ171は、視覚データ
・プロセッサ24が視覚システムのセンサ・カメラによ
り与えら才する座[Xqc、 YscおよびZ3Cをマ
ニピュレ−タの(ワールド)座標xq、y、、z、に変
換することを要求する。プロセス・ステップ!72にお
いては、FIFOにロードされた!&後の点から視覚シ
ステムの点Xs%Y、およびZsへのベクトルの座標X
cs、Yc5およびZCSは、新たな視覚システムの点
X!I、Y11、Z、の座標から前(7)F I FO
(7)点FIFOX、FIFOYおよびFIFOZの座
標を差引くことにより計算される。その後、プロセス・
ステップ172は、ベクトル座標成分X Cgs Y
C!lおよびZcsの2乗の和の平方根をとることによ
り、このベクトルの大きさ、即ち距mS3を計算する。
第19図の判断ステップ173において、走査距離S3
は予め定めた追跡するFIFOの距離Stpと比較され
る。もしSsh<Srrと等しくないかあるいはこれよ
り大きければ、第19図のサブルーチンは第16図のル
ーチンへその判断ステップ164の直前に戻る。もしS
3がsyrと等しいかあるいはこれより大きければ、視
覚システムにより与えられる点の座*Xs、Ysおよび
Z8がステップ174においてFIFOヘロード即ちブ
ツシュされる。ステップ+74に続いて、第19図のサ
ブルーチンは終了して、第16図のルーチンの判断ステ
ップ+64の直前へ戻る。
は予め定めた追跡するFIFOの距離Stpと比較され
る。もしSsh<Srrと等しくないかあるいはこれよ
り大きければ、第19図のサブルーチンは第16図のル
ーチンへその判断ステップ164の直前に戻る。もしS
3がsyrと等しいかあるいはこれより大きければ、視
覚システムにより与えられる点の座*Xs、Ysおよび
Z8がステップ174においてFIFOヘロード即ちブ
ツシュされる。ステップ+74に続いて、第19図のサ
ブルーチンは終了して、第16図のルーチンの判断ステ
ップ+64の直前へ戻る。
第16図のプロセス・ステップ166と関連するサブル
ーチンが第18図に示される。第18図のこのサブルー
チンはプロセス・ステップ175で開始し、このステッ
プではユーザが選択したテンプレートが視覚データ・プ
ロセッサ24によってそのメモリー42から視覚システ
ムの信号処理用コンピュータ26へ送られる。プロセス
・ステップ175の後には判断ステップ176が続き、
こわにおいては視見システムがオンであるかどうかが判
定される。もし:′7れに対する答えがYESであれば
、答えのYESのバイパス線は第18図のサブルーチン
を終了させ、プロセスは第16図のルーチンのプロセス
・ステップ+69の直前へ戻る。もし判断ステップ17
6において視覚追跡システムがオンの状態にないと判定
されるならば、ステップ177において信号「ON」が
視覚データ・プロセッサ24によって視覚システムの信
号処理用コンピュータ26へ送られる。
ーチンが第18図に示される。第18図のこのサブルー
チンはプロセス・ステップ175で開始し、このステッ
プではユーザが選択したテンプレートが視覚データ・プ
ロセッサ24によってそのメモリー42から視覚システ
ムの信号処理用コンピュータ26へ送られる。プロセス
・ステップ175の後には判断ステップ176が続き、
こわにおいては視見システムがオンであるかどうかが判
定される。もし:′7れに対する答えがYESであれば
、答えのYESのバイパス線は第18図のサブルーチン
を終了させ、プロセスは第16図のルーチンのプロセス
・ステップ+69の直前へ戻る。もし判断ステップ17
6において視覚追跡システムがオンの状態にないと判定
されるならば、ステップ177において信号「ON」が
視覚データ・プロセッサ24によって視覚システムの信
号処理用コンピュータ26へ送られる。
ステップ178においては、FIFOの追跡距離ST+
−が第18図に示されるように計算され、これにおいて
はxc、YcおよびZcは手の座標系におけるカメラの
視野の中心の座標であり、Xア、YTおよびZ7は手の
座標系に3ける工具の中心点の座標である。定数4は、
追跡点が位置する視野の中心からの約50.8++m
(2インチ)の2乗を表わす、数35はFIFO位置の
数を表わす。
−が第18図に示されるように計算され、これにおいて
はxc、YcおよびZcは手の座標系におけるカメラの
視野の中心の座標であり、Xア、YTおよびZ7は手の
座標系に3ける工具の中心点の座標である。定数4は、
追跡点が位置する視野の中心からの約50.8++m
(2インチ)の2乗を表わす、数35はFIFO位置の
数を表わす。
第18図のステップ+78の終りに、この特定のサブル
ーチンが終了され、プロセスは第16図のルーチンのプ
ロセス・ステップ169の直前へ戻る。
ーチンが終了され、プロセスは第16図のルーチンのプ
ロセス・ステップ169の直前へ戻る。
第16図のプロセス・ステップ187と関連するサブル
ーチンが第20図に示される。これもまた、唯1つのプ
ロセス・ステップ179を含む簡単なサブルーチンであ
る。プロセス・ステップ!79においては、視覚データ
・プロセッサ24は信号roF FJを視覚システムの
信号処理用コンピュータ26に送出する。この動作が完
了すると、このサブルーチンが終了され、プロセスを第
16図のルーチンのプロセス・ステップ169の直前へ
戻す。
ーチンが第20図に示される。これもまた、唯1つのプ
ロセス・ステップ179を含む簡単なサブルーチンであ
る。プロセス・ステップ!79においては、視覚データ
・プロセッサ24は信号roF FJを視覚システムの
信号処理用コンピュータ26に送出する。この動作が完
了すると、このサブルーチンが終了され、プロセスを第
16図のルーチンのプロセス・ステップ169の直前へ
戻す。
第21図は、プロセス・ステップ168と関連したサブ
ルーチンを示している。第21図のサブルーチンは、工
具の中心点の速度vKがサイクル制御の自動モード48
から再び呼出される第1のプロセス・ステップ180を
有する。このサブルーチンは、第22図の計算補正サブ
ルーチンを呼出す第2のプロセス・ステップ181を有
する。
ルーチンを示している。第21図のサブルーチンは、工
具の中心点の速度vKがサイクル制御の自動モード48
から再び呼出される第1のプロセス・ステップ180を
有する。このサブルーチンは、第22図の計算補正サブ
ルーチンを呼出す第2のプロセス・ステップ181を有
する。
第22図のサブルーチンは、増分距離ΔSの2倍が目標
距m s T、即ち工具の中心点から活動シーム点P3
までの距離と等しいかあるいはこれより大きいかどうか
が判定される判断ステップ+82で始まる。もし答えが
NOであれば、次の2つのステップがNOのバイパス線
を介して飛越される。もしこの答えがYESならば、検
査中のFIFOエントリが工具の中心点のその時の場所
に近過ぎることが知られる。判断ステップ!82に対す
るYESの答えは判断ステップ11113へ進み、ここ
でFIFOは空であるかどうかが調べられる。もしこの
FIFOが空であるならば、YESのバイパス線はプロ
セスを第21図のサブルーチンの終りへ戻し、このサブ
ルーチンが更にプロセスを第+6図のルーチンのプロセ
ス・ステップ169の直前に戻す。この状態が生じるな
らば、プロセス・ステップ169は、サイクル制御部2
3に対して、追跡データがなく、第16図のルーチンが
その初めの点ヘルーブすることを知らせる。その間、マ
ニピュレータは工具の中心点を前に行なわれたオフセッ
トの補正を含むプログラムされた経路に沿って追跡する
ことになる。
距m s T、即ち工具の中心点から活動シーム点P3
までの距離と等しいかあるいはこれより大きいかどうか
が判定される判断ステップ+82で始まる。もし答えが
NOであれば、次の2つのステップがNOのバイパス線
を介して飛越される。もしこの答えがYESならば、検
査中のFIFOエントリが工具の中心点のその時の場所
に近過ぎることが知られる。判断ステップ!82に対す
るYESの答えは判断ステップ11113へ進み、ここ
でFIFOは空であるかどうかが調べられる。もしこの
FIFOが空であるならば、YESのバイパス線はプロ
セスを第21図のサブルーチンの終りへ戻し、このサブ
ルーチンが更にプロセスを第+6図のルーチンのプロセ
ス・ステップ169の直前に戻す。この状態が生じるな
らば、プロセス・ステップ169は、サイクル制御部2
3に対して、追跡データがなく、第16図のルーチンが
その初めの点ヘルーブすることを知らせる。その間、マ
ニピュレータは工具の中心点を前に行なわれたオフセッ
トの補正を含むプログラムされた経路に沿って追跡する
ことになる。
第22図の判断ステップ183へ戻り、FIFOが空で
ないことが見出されるならば、検査中のその時のFIF
Oの座標は捨てられ、FXFO座標の次の組が使用でき
るよう取出されることになる。
ないことが見出されるならば、検査中のその時のFIF
Oの座標は捨てられ、FXFO座標の次の組が使用でき
るよう取出されることになる。
判断ステップ182およびプロセス・ステップ184か
らのNOのバイパス線は共にプロセス・ステップ185
へ進む。ここで、使用されるべきFIFOエントリはF
IFOから取出され、新たな目標点の座標XS、YSお
よびZ3として一時的に格納される。プロセス・ステッ
プ186においては、工具の中心点が+Th後になった
座標(即ち、工具の中心点のその時の位置)が再び呼出
される。
らのNOのバイパス線は共にプロセス・ステップ185
へ進む。ここで、使用されるべきFIFOエントリはF
IFOから取出され、新たな目標点の座標XS、YSお
よびZ3として一時的に格納される。プロセス・ステッ
プ186においては、工具の中心点が+Th後になった
座標(即ち、工具の中心点のその時の位置)が再び呼出
される。
次の3つのプロセス・ステップ187 、1811場よ
び18gにおいては、第15図に関して説明したものと
同様に計算が行なわれる。このため、プロセス・ステッ
プ187においては、工具の中心点の場所から目標点ま
で延長するベクトルの座標が決定される。この情報を用
いて、ステップ1811においては、工具の中心点の場
所と目標点との間の距離STが計算される。
び18gにおいては、第15図に関して説明したものと
同様に計算が行なわれる。このため、プロセス・ステッ
プ187においては、工具の中心点の場所から目標点ま
で延長するベクトルの座標が決定される。この情報を用
いて、ステップ1811においては、工具の中心点の場
所と目標点との間の距離STが計算される。
a後に、工具の中心点が一回の反復により得る新たなベ
クトルに沿った次の位置点psxの座標は、プロセス・
ステップ189において計算される。この場所の座標X
SKs Y 3X% Z 3には、サイクル制御部2
3によるアクセスのための予め定めた場所に格納される
。
クトルに沿った次の位置点psxの座標は、プロセス・
ステップ189において計算される。この場所の座標X
SKs Y 3X% Z 3には、サイクル制御部2
3によるアクセスのための予め定めた場所に格納される
。
ステップ190に続いて、第22図のサブルーチンが終
了され、第21図のサブルーチンの終りへ戻る。第21
図のサブルーチンが終ると更に、第15図のルーチンの
プロセス・ステップ16つの直前に戻る。
了され、第21図のサブルーチンの終りへ戻る。第21
図のサブルーチンが終ると更に、第15図のルーチンの
プロセス・ステップ16つの直前に戻る。
第23図は、サイクル制御部23によって行なわれるサ
ブルーチンを示している。このサブルーチンは第11図
のサブルーチンのステップ129により呼出されること
が思い出されよう。
ブルーチンを示している。このサブルーチンは第11図
のサブルーチンのステップ129により呼出されること
が思い出されよう。
視覚追跡システムと関連して視覚データ・プロセッサ2
4により呼出される補正は、マニピュレータのオペレー
タによりプログラムされる最大の補正よりも大きい。も
しこの状態が生じると、この補正を調整即ち縮減するこ
とが必要となる。
4により呼出される補正は、マニピュレータのオペレー
タによりプログラムされる最大の補正よりも大きい。も
しこの状態が生じると、この補正を調整即ち縮減するこ
とが必要となる。
補正のこのような圧縮が、第23図のサブルーチンの目
的である。
的である。
このサブルーチンは判断ステップ191で始まり、これ
によりシームの追跡が生じつつあるかどうかが判定され
る。も1ノこの答えがNoであれば、第23図のサブル
ーチンは終了し、第11図のサブルーチンへ戻る。もし
答えがYESならば、第23図のサブルーチンはプロセ
ス・ステップ+92において状態検査を呼出すことにな
る。プロセス・ステップ192は、第24図に示される
視覚データ・プロセッサの状態検査サブルーチンを呼出
す。第24図のサブルーチンは判断ステップ+93で始
まり、このステップが視:(゛lデータ・ボードにおけ
る誤りを検査する。もし誤りが見出されなければ、No
バイパス線が第24図のサブルーチンを終了し、これが
第23図のサブルーチンのプロセス・ステップ192の
直後に戻る。
によりシームの追跡が生じつつあるかどうかが判定され
る。も1ノこの答えがNoであれば、第23図のサブル
ーチンは終了し、第11図のサブルーチンへ戻る。もし
答えがYESならば、第23図のサブルーチンはプロセ
ス・ステップ+92において状態検査を呼出すことにな
る。プロセス・ステップ192は、第24図に示される
視覚データ・プロセッサの状態検査サブルーチンを呼出
す。第24図のサブルーチンは判断ステップ+93で始
まり、このステップが視:(゛lデータ・ボードにおけ
る誤りを検査する。もし誤りが見出されなければ、No
バイパス線が第24図のサブルーチンを終了し、これが
第23図のサブルーチンのプロセス・ステップ192の
直後に戻る。
もし第24図の判断ステップ!1)3が誤差が存在する
ことを判定するならば、誤差の性質に基いてプロセス・
ステップ194が適当に応答する。誤差に従って、プロ
セス・ステップ194はマニビュレータ゛のオペレータ
に対して誤差を知らせ、マニピュレータを停止し、警告
灯灯を投入し、マニピュレータを作動サイクルから外す
等が可能である。プロセス・ステップ194は第24図
のサブルーチンを終了する。第24図のサブルーチンは
、プロセス・ステップ94の間生じる動作に従って、プ
ロセス・ステップ94に続いて第23図のサブルーチン
へ戻ることになる。
ことを判定するならば、誤差の性質に基いてプロセス・
ステップ194が適当に応答する。誤差に従って、プロ
セス・ステップ194はマニビュレータ゛のオペレータ
に対して誤差を知らせ、マニピュレータを停止し、警告
灯灯を投入し、マニピュレータを作動サイクルから外す
等が可能である。プロセス・ステップ194は第24図
のサブルーチンを終了する。第24図のサブルーチンは
、プロセス・ステップ94の間生じる動作に従って、プ
ロセス・ステップ94に続いて第23図のサブルーチン
へ戻ることになる。
第23図に戻り、第24図のサブルーチンは第23図の
プロセス・ステップ192の直後に戻るとすれば、この
サブルーチンの次のステップ195はサイクル制御部2
3により妥当な視覚データ処理座標が受取られたかどう
かを判定する判断ステップである。これらの座標は、x
sK、YsKおよびZSKで示される。もしこれらの座
標が妥当であることが判定されるならば、ステップ19
6は、前のオフセットを含む第7図のステップ95によ
り生じる最後の補間された点(座標XK +0FFx
YK+OFF、 およびZ、+OFF、を存する)か
ら新たな目標点Xsに、YsKおよびZSKに向けて延
長するベクトルの座標成分XΔ、YΔおよびZ^を計算
する。このベクトル座標の2乗の和の平方根をとること
により、これらの点間の距1!IMAGΔ1が計算され
る。
プロセス・ステップ192の直後に戻るとすれば、この
サブルーチンの次のステップ195はサイクル制御部2
3により妥当な視覚データ処理座標が受取られたかどう
かを判定する判断ステップである。これらの座標は、x
sK、YsKおよびZSKで示される。もしこれらの座
標が妥当であることが判定されるならば、ステップ19
6は、前のオフセットを含む第7図のステップ95によ
り生じる最後の補間された点(座標XK +0FFx
YK+OFF、 およびZ、+OFF、を存する)か
ら新たな目標点Xsに、YsKおよびZSKに向けて延
長するベクトルの座標成分XΔ、YΔおよびZ^を計算
する。このベクトル座標の2乗の和の平方根をとること
により、これらの点間の距1!IMAGΔ1が計算され
る。
プロセス・ステップ196の後には、MAGΔ1がプロ
グラムされた経路からの偏差に対して許容される限界を
越えるかどうかが判定される判断ステップ197が続く
。−時保持変数TEMPは積MAX (VP)ΔTとし
て定義されるが、ここでMAXはマニピュレータのオペ
レータにより予めプログラムされる最大補正値(0から
1.5)、VPはプログラムされた速度、およびΔTは
1つの増分間隔の時間である。従って、(vp )ΔT
はプログラムされた速度における増分距離をなし、TE
MPはこの距離の倍数を表わす。
グラムされた経路からの偏差に対して許容される限界を
越えるかどうかが判定される判断ステップ197が続く
。−時保持変数TEMPは積MAX (VP)ΔTとし
て定義されるが、ここでMAXはマニピュレータのオペ
レータにより予めプログラムされる最大補正値(0から
1.5)、VPはプログラムされた速度、およびΔTは
1つの増分間隔の時間である。従って、(vp )ΔT
はプログラムされた速度における増分距離をなし、TE
MPはこの距離の倍数を表わす。
もしTEMPがMAGATよりも小さくなければ、次の
3つのプロセス・ステップ198 、199および20
0がNoのバイパス線によりバイパスされる。もしT
E M P 、6(M A G^、より小さければ、視
覚データ点P。線が予めプログラムされた限界よりも大
きなベクトルXΔ、YΔおよびZΔにおいである距離に
存在することが判る。プロセス・ステップ198および
199においてxg1Y3におよびZ。に対する新たな
値が生じ、これを同じベクトル上の場所P3K、即ちP
KからのTEMPの大きさに置く。大きさTEMPを有
するこのベクトルの座標成分は、TEMPと、大きさM
AGΔ、に対する座標成分XΔ、YΔ、ZΔの比との積
として定義される。効率の理由から、プロセス・ステッ
プ198においてTEMPをMAGΔ1により除してM
AGΔ2を生じることにより最初に共通の除算が行なわ
れる。
3つのプロセス・ステップ198 、199および20
0がNoのバイパス線によりバイパスされる。もしT
E M P 、6(M A G^、より小さければ、視
覚データ点P。線が予めプログラムされた限界よりも大
きなベクトルXΔ、YΔおよびZΔにおいである距離に
存在することが判る。プロセス・ステップ198および
199においてxg1Y3におよびZ。に対する新たな
値が生じ、これを同じベクトル上の場所P3K、即ちP
KからのTEMPの大きさに置く。大きさTEMPを有
するこのベクトルの座標成分は、TEMPと、大きさM
AGΔ、に対する座標成分XΔ、YΔ、ZΔの比との積
として定義される。効率の理由から、プロセス・ステッ
プ198においてTEMPをMAGΔ1により除してM
AGΔ2を生じることにより最初に共通の除算が行なわ
れる。
プロセス・ステップ199においては、XSに、” ’
3Ks Z gKに対する1組の新たな値がMAGΔ2
を用いて計算される。この新たな点X3g、YHK、Z
SKは、マニピュレータが工具の中心線をTEMPと等
しく置くことにな)た点からある距離ニある元のベクト
ルXΔ、Y^、ZΔに沿って存在する。
3Ks Z gKに対する1組の新たな値がMAGΔ2
を用いて計算される。この新たな点X3g、YHK、Z
SKは、マニピュレータが工具の中心線をTEMPと等
しく置くことにな)た点からある距離ニある元のベクト
ルXΔ、Y^、ZΔに沿って存在する。
プロセス・ステップ200は、点PIIKと点PK−1
との間の実際の距!1MAGΔ3をΔSに等しくなるよ
うにする。最初に、工具の中心点の場所、即?)XK−
、+OFF、 、YK−、+0FFY、ZK−、+0F
FZと、新たに計算されたX5KvY、、 Z、、
との間の実際の距離は、座標成分の差XΔ、YΔ、Z^
を計算し、次いでそれらの2乗の和の実方根をとること
により計算される。
との間の実際の距!1MAGΔ3をΔSに等しくなるよ
うにする。最初に、工具の中心点の場所、即?)XK−
、+OFF、 、YK−、+0FFY、ZK−、+0F
FZと、新たに計算されたX5KvY、、 Z、、
との間の実際の距離は、座標成分の差XΔ、YΔ、Z^
を計算し、次いでそれらの2乗の和の実方根をとること
により計算される。
この距離は、MAGΔ3として示される。次に、P K
−1からのP。へのベクトル上の距離が、ステップ19
8および!99に示されるものと同じ手順を用いて、増
分距離ΔSに調整される。
−1からのP。へのベクトル上の距離が、ステップ19
8および!99に示されるものと同じ手順を用いて、増
分距離ΔSに調整される。
特に、大きさMAGA4はMAG^3でΔを除すことに
より計算される。MAGΔ4を用いて、第3および最後
の目標点X 3に% Y SK、23にの座標が計算さ
れる。この点は、距離および速度の両方に関して補正さ
れるR後の目標点をなす。最後に、プロセス・ステップ
201において、X、 YおよびZのオフセットが示さ
れるように泪算される。
より計算される。MAGΔ4を用いて、第3および最後
の目標点X 3に% Y SK、23にの座標が計算さ
れる。この点は、距離および速度の両方に関して補正さ
れるR後の目標点をなす。最後に、プロセス・ステップ
201において、X、 YおよびZのオフセットが示さ
れるように泪算される。
もし判断ステップ195において妥当な座標が受取られ
なかったと判定されたならば、サイクルivJ御は単に
プログラムされた経路と平行でありかつこれからこの時
存在する何等かのオフセットだけずれた経路を計算する
ことになるに過ぎない。このことは、プロセス・ステッ
プ202において示される。プロセス・ステップ203
においては、調整された点が第11図のサブルーチンの
点XK、YKおよびZKに対し代入される。
なかったと判定されたならば、サイクルivJ御は単に
プログラムされた経路と平行でありかつこれからこの時
存在する何等かのオフセットだけずれた経路を計算する
ことになるに過ぎない。このことは、プロセス・ステッ
プ202において示される。プロセス・ステップ203
においては、調整された点が第11図のサブルーチンの
点XK、YKおよびZKに対し代入される。
プロセス・ステップ201または202のいずれかがこ
のサブルーチンを終了させ、このプロセスは第11図の
サブルーチンへ戻される。
のサブルーチンを終了させ、このプロセスは第11図の
サブルーチンへ戻される。
本発明についてはここに詳細に記述した。
本発明においては、その主旨から逸説することなく変更
が可能である。
が可能である。
第1図は本発明の視覚シーム追跡システムが設けられた
工業用マニピュレータおよびその制御部を示す概略図、
第2図は第1図の制御部のブロック図、第3図はマニピ
ュレータ座標に示されたマニピュレータの概略図、第4
図はマニピュレータの手首部およびその回動軸心を示す
部分断面立面図、第5図は手の座標系および方位角り、
E、Rの概略図、第6図は自動運転モードにおいて制御
されたマニピュレータにより行なわれる運動を示す概略
図、第7図および第8図は運動制御を生じる2つの主な
制御手順のフローチャート、第9図乃至第13図は第7
図のフローチャートのサブルーチンおよび主要セグメン
トを示すフローチャート、第14図はレーザー・スキャ
ナー/カメラ・ヘッドを示す概略図、第15図は本発明
の視覚シーム追跡システムによる工具の中心点のプログ
ラムされた経路において行なわれる補正を示す概略図、
第16図は視覚データ・プロセッサにより行なわれる全
体的反復ループを示すフローチャート、第17図は視覚
データ・プロセッサのメツセージ処理手順を示すフロー
チャート、第18図はユーザが定義したテンプレートを
用いる視覚システムを付勢する手順を示すフローチャー
ト、第19図は視覚システムのシーム座標の最も後に生
成された組がFIFOにロードされるべきかどうかを判
定する手順を示すフローチャート、第20図は視覚シス
テムを消勢する手順を示すフローチャート、第21図は
直線状経路上のある中間点の座標をシーム座標に作る全
体的手順を示すフローチャート、第22図はこの中間点
の座標を生じる詳細な手順を示すフローチャート、第2
3図は座標の調整ルーチンを示すフローチャート、およ
び第21図は第23図のサブルーチンを示すフローチャ
ートである。 1・・・マニピュレータ、2・・・ベース板、3・・・
ベース部材、4・・・上部アーム、5・・・枢着部、6
・・・萌アーム、7・・・枢着部、8・・・手首部、9
・・・第1節部、10・・・軸部、11・・・第2iT
i部、12・・・軸部、13・・・面板、!4・・・溶
接工具、l 5−・・レーザー・スキャナー/カメラ・
ヘッド、16・・・ベース軸心、17・・・水平肩部軸
心、18・・・エルボ−軸心、19・・・工具中心点、
20・・・マニピユレータ1]御部、21・−・サーボ
制御部、22・−インターフェース、23・・・サイク
ル制御部、24−・・視覚データ・プロセッサ、25−
・・カメラ−Jm装置、2ト・信号処理用コンピュータ
、27.2訃−ねじ、29.30−・ナツト、31.3
2・−プリー33−・・伝動装置、34−・・駆動ビニ
オン、35−・・リング歯車、36〜39・・・モータ
、40・・・伝動装置、41・・・マイクロプロセッサ
、42−・・メモリー、43・・・システム・バス、4
4・・・マイクロプロセッサ、45・・・割込み制御部
、46・・・メモリー 47−・・モード制御、48−
・・自動モード、49−・・教示モード、50−・・デ
ータ・ストア、52・・・マイクロプロセッサ、53・
・・プログラム可能タイマー 54−・・局部メモリー
55−・・サーボ制御処理プログラム、5日・・・局
部バス、57・・・二重ボート、58・・・駆動インタ
ーフェース回路、59・・・マニピュレータ軸心位置測
定トランスジューサ・インターフェース、60.6ト・
・マニピュレータ軸心駆動モータ、62・・・サーボ入
出カプログラム、63.64・・・位置のトランスジュ
ーサ、69−・・入出力ボード、70−・・入出力イン
ターフェース回路、71・・・二重ボート装置、72・
・・局部バス、73・・・局部マイクロプロセッサ、7
4・・・局部メモリー75・・・直列インターフェース
回路、76・・・オペレータ・パネル、77・・・並列
インターフェース回路、78−・・マニピュレータ入出
カプログラム、79−・・オペレータ・パネル入出カプ
ログラム、a i−・・データ入出カプログラム、82
−・・直列チャネル・インターフェース、83・・・大
容量データ・トランシーバ、84−・・入出カプログラ
ム、85・・・教示用ペンダント、87−・・第1節部
、88・・・第2節部、89.93・・・節部、90〜
g2・−回動軸心。 FI G。 FIG、 1 IG IG Ul:!〜−−−。 FIG。 FIG、 +6
工業用マニピュレータおよびその制御部を示す概略図、
第2図は第1図の制御部のブロック図、第3図はマニピ
ュレータ座標に示されたマニピュレータの概略図、第4
図はマニピュレータの手首部およびその回動軸心を示す
部分断面立面図、第5図は手の座標系および方位角り、
E、Rの概略図、第6図は自動運転モードにおいて制御
されたマニピュレータにより行なわれる運動を示す概略
図、第7図および第8図は運動制御を生じる2つの主な
制御手順のフローチャート、第9図乃至第13図は第7
図のフローチャートのサブルーチンおよび主要セグメン
トを示すフローチャート、第14図はレーザー・スキャ
ナー/カメラ・ヘッドを示す概略図、第15図は本発明
の視覚シーム追跡システムによる工具の中心点のプログ
ラムされた経路において行なわれる補正を示す概略図、
第16図は視覚データ・プロセッサにより行なわれる全
体的反復ループを示すフローチャート、第17図は視覚
データ・プロセッサのメツセージ処理手順を示すフロー
チャート、第18図はユーザが定義したテンプレートを
用いる視覚システムを付勢する手順を示すフローチャー
ト、第19図は視覚システムのシーム座標の最も後に生
成された組がFIFOにロードされるべきかどうかを判
定する手順を示すフローチャート、第20図は視覚シス
テムを消勢する手順を示すフローチャート、第21図は
直線状経路上のある中間点の座標をシーム座標に作る全
体的手順を示すフローチャート、第22図はこの中間点
の座標を生じる詳細な手順を示すフローチャート、第2
3図は座標の調整ルーチンを示すフローチャート、およ
び第21図は第23図のサブルーチンを示すフローチャ
ートである。 1・・・マニピュレータ、2・・・ベース板、3・・・
ベース部材、4・・・上部アーム、5・・・枢着部、6
・・・萌アーム、7・・・枢着部、8・・・手首部、9
・・・第1節部、10・・・軸部、11・・・第2iT
i部、12・・・軸部、13・・・面板、!4・・・溶
接工具、l 5−・・レーザー・スキャナー/カメラ・
ヘッド、16・・・ベース軸心、17・・・水平肩部軸
心、18・・・エルボ−軸心、19・・・工具中心点、
20・・・マニピユレータ1]御部、21・−・サーボ
制御部、22・−インターフェース、23・・・サイク
ル制御部、24−・・視覚データ・プロセッサ、25−
・・カメラ−Jm装置、2ト・信号処理用コンピュータ
、27.2訃−ねじ、29.30−・ナツト、31.3
2・−プリー33−・・伝動装置、34−・・駆動ビニ
オン、35−・・リング歯車、36〜39・・・モータ
、40・・・伝動装置、41・・・マイクロプロセッサ
、42−・・メモリー、43・・・システム・バス、4
4・・・マイクロプロセッサ、45・・・割込み制御部
、46・・・メモリー 47−・・モード制御、48−
・・自動モード、49−・・教示モード、50−・・デ
ータ・ストア、52・・・マイクロプロセッサ、53・
・・プログラム可能タイマー 54−・・局部メモリー
55−・・サーボ制御処理プログラム、5日・・・局
部バス、57・・・二重ボート、58・・・駆動インタ
ーフェース回路、59・・・マニピュレータ軸心位置測
定トランスジューサ・インターフェース、60.6ト・
・マニピュレータ軸心駆動モータ、62・・・サーボ入
出カプログラム、63.64・・・位置のトランスジュ
ーサ、69−・・入出力ボード、70−・・入出力イン
ターフェース回路、71・・・二重ボート装置、72・
・・局部バス、73・・・局部マイクロプロセッサ、7
4・・・局部メモリー75・・・直列インターフェース
回路、76・・・オペレータ・パネル、77・・・並列
インターフェース回路、78−・・マニピュレータ入出
カプログラム、79−・・オペレータ・パネル入出カプ
ログラム、a i−・・データ入出カプログラム、82
−・・直列チャネル・インターフェース、83・・・大
容量データ・トランシーバ、84−・・入出カプログラ
ム、85・・・教示用ペンダント、87−・・第1節部
、88・・・第2節部、89.93・・・節部、90〜
g2・−回動軸心。 FI G。 FIG、 1 IG IG Ul:!〜−−−。 FIG。 FIG、 +6
Claims (1)
- 【特許請求の範囲】 1、工具のベクトルが所要の姿勢に対し整合される間工
具の中心点が予め定めた経路に追従するようにマニピュ
レータを制御する方法であって、該工具の中心点および
工具のベクトルがマニピュレータにより支持された機能
要素と関連付けられ、該機能要素の運動が工作物の特徴
により規定される所要の運動経路に 近似させる前記工具の中心点の予期された 運動経路を規定し、該工作物の特徴はマニピュレータに
より支持されるスキャナ/カメラを含む視覚システムに
より検出される特徴を呈する方法において、 (a)前記視覚システムが、所要の経路上の1点の場所
の座標を表わす経路点の信号を周期的に生じ、該経路点
の座標が前記スキャナ/カメラ・ヘッドと関連した視覚
システムの基準フレームに対して規定され、該視覚シス
テムの基準フレームが工具ベクトルの姿勢に対して固定
された関係において前記工作物に対する姿勢を有し、 (b)前記経路点の信号により表わされる座標が、前記
マニピュレータの基準フレームに対する座標に変換され
、 (c)選択された変換済み経路点の座標を用いて、略々
所要の経路上に工具の中心点の運動を生じることを特徴
とする方法。 2、前記工具の中心点により追従される経路とプログラ
ムにより規定される予期された経路との間の偏差率が、
オペレータにより設定される限界値に従って制限される
ことを更に特徴とする請求項1記載の方法。 3、経路点の信号により表わされる点間の距離が、工作
物の特徴に関連するスキャナ/カメラ・ヘッドの速度お
よび走査速度に依存し、前記の選択された変換経路点の
信号により表わされる点が少なくとも予め定めた一方か
ら他方への距離にあることを更に特徴とする請求項2記
載の方法。 4、(a)前記工具の中心点が予め定めた時間内に運動
する増分を規定する増分距離が計算され、 (b)ある選択された変換済み経路点の信号により表わ
される各点が、前記増分距離の少なくとも2倍だけ選択
の時点においてこの時の工具の中心点の場所から隔てら
れていることを更に特徴とする請求項3記載の方法。 5、選択された変換済み経路点の信号により表わされる
点に向う前記工具の中心点の運動が、各々が長さにおけ
る計算された増分距離である一連の運動において生じる
ことを更に特徴とする請求項4記載の方法。 6、工具のベクトルが所要の姿勢に整合される間、工具
の中心点が予め定めた経路に追従するようにマニピュレ
ータを制御する装置であって、該工具の中心点および工
具のベクトルが前記マニピュレータにより支持される機
能要素と関連付けられ、該機能要素の運動が、工作物の
特徴により定義される所要の運動経路に近似させる工具
の中心点の運動の予期される経路を規定するプログラム
に応答して生じ、前記工作物の特徴は、前記マニピュレ
ータにより支持されるスキャナ/カメラ・ヘッドを含む
視覚システムにより検出される特徴を有する装置におい
て、 (a)前記視覚システムが、所要の経路におけるある点
の場所の座標を表わす経路点の信号を周期的に生じ、該
経路点の座標は前記スキャナ/カメラ・ヘッドと関連付
けられた視覚システムの基準フレームに対して規定され
、該視覚システムの基準フレームが前記工具ベクトル姿
勢に関して固定された関係において工作物に関連する姿
勢を・有し、 (b)前記経路点の信号により表わされる座標を前記マ
ニピュレータに関する基準フレームに関する座標へ変換
する手段が設けられ、 (c)変換された経路点の座標を選択する手段が設けら
れ、 (d)前記工具の中心点が所要の経路に実質的に追従す
るように、前記選択された変換済み経路点の座標に対応
して前記工具の中心点の運動を生じる手段が設けられる
ことを特徴とする装置。 7、オペレータにより設定された限界値に従ってプログ
ラムにより規定される予期される経路からの前記工具の
中心点が追従する経路の偏差率を制限する手段が設けら
れることを更に特徴とする請求項6記載の装置。 8、経路点の座標により表わされる点間の距離が、前記
工作物の特徴に関する前記スキャナ/カメラ・ヘッドの
速度および走査速度に依存し、変換された経路点の座標
を選択する装置が少なくとも予め定めた一方から他方へ
の距離にある点を表わす変換された経路点の座標を選択
することを更に特徴とする請求項7記載の装置。 9、(a)前記工具の中心点がある予め定めた時間内に
運動する増分を規定する増分距離を計算する手段を設け
、 (b)変換された経路点の座標を選択する前記手段が、
少なくとも計算された増分距離の2倍だけ選択の時間に
おけるこの時の工具の中心点の場所から隔てられた変換
された経路点の座標を選択することを更に特徴とする請
求項8記載の装置。 10、選択された変換済み経路点の座標に応答して前記
工具の中心点の運動を生じる前記手段が、各々が長さに
関して計算された増分距離である一連の運動を生じるこ
とを更に特徴とする請求項9記載の装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/179,505 US4969108A (en) | 1988-04-08 | 1988-04-08 | Vision seam tracking method and apparatus for a manipulator |
| US179505 | 1988-04-08 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0212504A true JPH0212504A (ja) | 1990-01-17 |
Family
ID=22656870
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1089597A Pending JPH0212504A (ja) | 1988-04-08 | 1989-04-07 | マニピュレータ用の視覚シーム追跡方法および装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4969108A (ja) |
| EP (1) | EP0336174A3 (ja) |
| JP (1) | JPH0212504A (ja) |
| CA (1) | CA1318954C (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110450171A (zh) * | 2019-09-09 | 2019-11-15 | 北京配天技术有限公司 | 焊接机器人及其摆动轨迹的规划方法 |
| WO2020153297A1 (ja) * | 2019-01-25 | 2020-07-30 | 株式会社ソニー・インタラクティブエンタテインメント | ロボット制御システム |
| WO2020153299A1 (ja) * | 2019-01-25 | 2020-07-30 | 株式会社ソニー・インタラクティブエンタテインメント | ロボット制御システム |
| DE102018125841B4 (de) * | 2017-10-27 | 2020-10-29 | Fanuc Corporation | Roboter, Robotersystem und Verfahren zum Festlegen eines Koordinatensystems eines Roboters |
| US12103162B2 (en) | 2019-01-25 | 2024-10-01 | Sony Interactive Entertainment Inc. | Robotic device having an image analysis system |
Families Citing this family (70)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5102280A (en) | 1989-03-07 | 1992-04-07 | Ade Corporation | Robot prealigner |
| JPH02262982A (ja) * | 1989-03-31 | 1990-10-25 | Fanuc Ltd | ツールセンタポイントの設定方法 |
| US5083070A (en) * | 1990-05-10 | 1992-01-21 | Accubilt, Inc. | Index table with center mounted robot arm |
| JP2566665B2 (ja) * | 1990-06-27 | 1996-12-25 | 川崎重工業株式会社 | 慣性系におけるロボットの制御装置 |
| FR2666761B1 (fr) * | 1990-09-18 | 1995-05-24 | Aerospatiale | Procede et dispositif de guidage de moyens de prehension d'un robot. |
| JP3173042B2 (ja) * | 1991-05-21 | 2001-06-04 | ソニー株式会社 | ロボットの数値制御装置 |
| US5297238A (en) * | 1991-08-30 | 1994-03-22 | Cimetrix Incorporated | Robot end-effector terminal control frame (TCF) calibration method and device |
| JP3230826B2 (ja) * | 1991-10-16 | 2001-11-19 | ファナック株式会社 | スポット溶接ガンの位置補正方法及びロボット溶接装置 |
| US5323327A (en) * | 1992-05-01 | 1994-06-21 | Storage Technology Corporation | On-the-fly cataloging of library cell contents in an automated robotic tape library |
| US6098113A (en) * | 1992-10-22 | 2000-08-01 | Ncr Corporation | Apparatus and method for address translation and allocation for a plurality of input/output (I/O) buses to a system bus |
| GB9300403D0 (en) * | 1993-01-11 | 1993-03-03 | Huissoon Jan P | Dynamic seam tracking with redundant axes control |
| US6535794B1 (en) | 1993-02-23 | 2003-03-18 | Faro Technologoies Inc. | Method of generating an error map for calibration of a robot or multi-axis machining center |
| JPH06328385A (ja) * | 1993-05-20 | 1994-11-29 | Fanuc Ltd | 産業用ロボットの視覚センサの姿勢制御方法 |
| FR2706345B1 (fr) * | 1993-06-11 | 1995-09-22 | Bertin & Cie | Procédé et dispositif de repérage dans l'espace d'un objet mobile tel qu'un capteur ou un outil porté par un robot. |
| US5403140A (en) * | 1993-10-13 | 1995-04-04 | Storage Technology Corporation | Dynamic sweeping mechanism for a line scan camera |
| US6507163B1 (en) | 1993-12-20 | 2003-01-14 | Mark A. Allen | Robotic bridge maintenance system |
| FR2720026B1 (fr) * | 1994-05-19 | 1996-06-14 | Commissariat Energie Atomique | Procédé de génération d'une trajectoire d'outil sur une surface d'une pièce. |
| JP3394322B2 (ja) | 1994-05-19 | 2003-04-07 | ファナック株式会社 | 視覚センサを用いた座標系設定方法 |
| US5495410A (en) * | 1994-08-12 | 1996-02-27 | Minnesota Mining And Manufacturing Company | Lead-through robot programming system |
| JP3681431B2 (ja) * | 1995-02-21 | 2005-08-10 | ファナック株式会社 | 直交座標系上で柔らかさが調節可能なサーボ系 |
| US5961858A (en) * | 1996-06-06 | 1999-10-05 | Engauge Inc. | Laser welding apparatus employing a tilting mechanism |
| US5925268A (en) | 1996-06-06 | 1999-07-20 | Engauge Inc. | Laser welding apparatus employing a tilting mechanism and seam follower |
| SE9700767D0 (sv) * | 1997-03-04 | 1997-03-04 | Asea Brown Boveri | Förfarande för bestämning av lastparametrar hos en industrirobot |
| DE19821873C2 (de) * | 1998-05-15 | 2000-07-13 | Inst Werkzeugmaschinen Und Bet | Verfahren zum Verringern des Einflusses von Temperaturänderungen auf Industrieroboter |
| GB2347741A (en) | 1998-11-05 | 2000-09-13 | Cyberoptics Corp | Electronics assembly apparatus with improved imaging system |
| SE9900123L (sv) * | 1999-01-15 | 2000-07-16 | Abb Ab | Metod för robot |
| US6538244B1 (en) | 1999-11-03 | 2003-03-25 | Cyberoptics Corporation | Pick and place machine with improved vision system including a linescan sensor |
| US6430472B1 (en) | 1999-12-20 | 2002-08-06 | Servo-Robot Inc. | Robot feature tracking devices and methods |
| JP2001222309A (ja) * | 2000-02-10 | 2001-08-17 | Yaskawa Electric Corp | ロボット制御装置 |
| US6826453B1 (en) * | 2000-03-22 | 2004-11-30 | Storage Technology Corporation | Method and system for emission suppression in detection of data cartridge labels |
| US6535291B1 (en) | 2000-06-07 | 2003-03-18 | Cyberoptics Corporation | Calibration methods for placement machines incorporating on-head linescan sensing |
| KR100345150B1 (ko) * | 2000-09-29 | 2002-07-24 | 현대자동차주식회사 | 레이저 측정기를 이용한 로봇 위치 보정 방법 |
| DE50214661D1 (de) * | 2001-07-16 | 2010-10-28 | Werth Messtechnik Gmbh | Verfahren zum messen eines objektes mit einem koordinatenmessgerät mit bildverarbeitungssensor |
| FR2846413B1 (fr) * | 2002-10-24 | 2005-03-11 | Luc Vergnaud | Dispositif de numerisation sans contact d'un objet en 3 dimensions |
| ATE344939T1 (de) * | 2003-04-23 | 2006-11-15 | Vmt Bildverarbeitungssysteme G | Verfahren zur einmessung des koordinatensystems einer kamera eines roboters gegenüber dem koordinatensystem des roboters oder umgekehrt |
| JP4266893B2 (ja) * | 2004-07-15 | 2009-05-20 | ファナック株式会社 | ロボット制御装置及びロボットシステム |
| DE102007008903A1 (de) * | 2007-02-23 | 2008-08-28 | Abb Technology Ag | Einrichtung zum Steuern eines Roboters |
| EP2402710B1 (de) * | 2007-08-10 | 2015-10-28 | Leica Geosystems AG | Verfahren und Vermessungssystem zur berührungslosen Koordinatenmessung an einer Objektoberfläche |
| CN103398656B (zh) * | 2007-08-10 | 2016-08-10 | 莱卡地球系统公开股份有限公司 | 用于在物体表面上进行非接触坐标测量的方法和勘测系统 |
| US9020240B2 (en) | 2007-08-10 | 2015-04-28 | Leica Geosystems Ag | Method and surveying system for noncontact coordinate measurement on an object surface |
| US8036452B2 (en) | 2007-08-10 | 2011-10-11 | Leica Geosystems Ag | Method and measurement system for contactless coordinate measurement on an object surface |
| DE102008032509A1 (de) * | 2008-07-10 | 2010-01-14 | Epcos Ag | Heizungsvorrichtung und Verfahren zur Herstellung der Heizungsvorrichtung |
| CN101690989B (zh) * | 2009-09-28 | 2012-07-04 | 昆山华恒工程技术中心有限公司 | 电弧摆动焊缝跟踪机器人的焊缝跟踪方法 |
| JP5459256B2 (ja) * | 2011-04-08 | 2014-04-02 | 株式会社安川電機 | ロボットシステム |
| TW201247374A (en) * | 2011-05-18 | 2012-12-01 | Hon Hai Prec Ind Co Ltd | Robot arm and detection device having same |
| CN102909728B (zh) * | 2011-08-05 | 2015-11-25 | 鸿富锦精密工业(深圳)有限公司 | 机器人工具中心点的视觉校正方法 |
| US20130119040A1 (en) * | 2011-11-11 | 2013-05-16 | Lincoln Global, Inc. | System and method for adaptive fill welding using image capture |
| ITNA20120066A1 (it) * | 2012-11-21 | 2014-05-22 | Cesare Rossi | Robot per la scansione e la replica di superfici |
| CN105091807B (zh) * | 2014-04-30 | 2017-12-01 | 鸿富锦精密工业(深圳)有限公司 | 机器人工具坐标系的校正方法 |
| CN106462140B (zh) * | 2014-04-30 | 2019-04-26 | Abb瑞士股份有限公司 | 用于标定工业机器人系统的工具中心点的方法 |
| FR3036302B1 (fr) * | 2015-05-20 | 2017-06-02 | Commissariat A L`Energie Atomique Et Aux Energies Alternatives | Procede de soudage manuel teleopere et robot de soudage mettant en oeuvre un tel procede |
| FR3043004B1 (fr) * | 2015-10-29 | 2017-12-22 | Airbus Group Sas | Procede d'orientation d'un effecteur portant un outil d'assemblage par rapport a une surface |
| US11562502B2 (en) | 2015-11-09 | 2023-01-24 | Cognex Corporation | System and method for calibrating a plurality of 3D sensors with respect to a motion conveyance |
| US10812778B1 (en) | 2015-11-09 | 2020-10-20 | Cognex Corporation | System and method for calibrating one or more 3D sensors mounted on a moving manipulator |
| US10757394B1 (en) | 2015-11-09 | 2020-08-25 | Cognex Corporation | System and method for calibrating a plurality of 3D sensors with respect to a motion conveyance |
| US9757859B1 (en) * | 2016-01-21 | 2017-09-12 | X Development Llc | Tooltip stabilization |
| US9744665B1 (en) | 2016-01-27 | 2017-08-29 | X Development Llc | Optimization of observer robot locations |
| US10059003B1 (en) | 2016-01-28 | 2018-08-28 | X Development Llc | Multi-resolution localization system |
| US10551179B2 (en) | 2018-04-30 | 2020-02-04 | Path Robotics, Inc. | Reflection refuting laser scanner |
| JP2020203348A (ja) | 2019-06-18 | 2020-12-24 | 株式会社ダイヘン | ロボット制御装置、及びロボット制御システム |
| EP3988254A4 (en) * | 2019-07-19 | 2023-02-01 | Siemens Ltd., China | Robot hand-eye calibration method and apparatus, computing device, medium and product |
| CN110315172B (zh) * | 2019-08-08 | 2021-06-25 | 江苏汇博机器人技术股份有限公司 | 一种用于实训的机器人焊缝跟踪系统 |
| CN110524580B (zh) * | 2019-09-16 | 2023-06-02 | 西安中科光电精密工程有限公司 | 一种焊接机器人视觉组件及其测量方法 |
| US11407110B2 (en) | 2020-07-17 | 2022-08-09 | Path Robotics, Inc. | Real time feedback and dynamic adjustment for welding robots |
| MX2023009878A (es) | 2021-02-24 | 2024-01-08 | Path Robotics Inc | Robots soldadores autonomos. |
| US12277369B2 (en) | 2021-10-18 | 2025-04-15 | Path Robotics, Inc. | Generating simulated weld paths for a welding robot |
| EP4433264A1 (en) | 2021-11-19 | 2024-09-25 | Path Robotics, Inc. | Machine learning logic-based adjustment techniques for robots |
| US12508665B2 (en) | 2022-04-19 | 2025-12-30 | Path Robotics, Inc. | Autonomous assembly robots |
| US12521884B2 (en) | 2022-07-26 | 2026-01-13 | Path Robotics, Inc. | Techniques for multipass welding |
| CN118143526A (zh) * | 2022-11-30 | 2024-06-07 | 中兴通讯股份有限公司 | 自动焊接机器人及其焊接方法和存储介质 |
Family Cites Families (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3986007A (en) * | 1975-08-20 | 1976-10-12 | The Bendix Corporation | Method and apparatus for calibrating mechanical-visual part manipulating system |
| US4417127A (en) * | 1980-05-19 | 1983-11-22 | Institute Po Technicheska Kibernetika I Robotika | Method and apparatus for seam tracking in arc welding |
| US4370721A (en) * | 1980-09-02 | 1983-01-25 | Cincinnati Milacron Inc. | Method for modifying programmed positions by using a programmably controlled surface sensing element |
| US4380696A (en) * | 1980-11-12 | 1983-04-19 | Unimation, Inc. | Method and apparatus for manipulator welding apparatus with vision correction for workpiece sensing |
| US4403281A (en) * | 1981-04-03 | 1983-09-06 | Cincinnati Milacron Industries, Inc. | Apparatus for dynamically controlling the tool centerpoint of a robot arm off a predetermined path |
| US4492847A (en) * | 1981-09-30 | 1985-01-08 | Unimation, Inc. | Manipulator welding apparatus with sensing arrangements for weld slam tracking |
| US4456961A (en) * | 1982-03-05 | 1984-06-26 | Texas Instruments Incorporated | Apparatus for teaching and transforming noncoincident coordinate systems |
| US4538233A (en) * | 1982-10-19 | 1985-08-27 | Cincinnati Milacron Inc. | Apparatus and method for oscillatory motion control |
| DE3244307A1 (de) * | 1982-11-30 | 1984-05-30 | Siemens AG, 1000 Berlin und 8000 München | Robotersteuerung |
| US4590577A (en) * | 1982-12-01 | 1986-05-20 | Yaskawa Electric Mfg. Co., Ltd. | Welding robot controlling method |
| US4497996A (en) * | 1983-01-18 | 1985-02-05 | Automatix Incorporated | Arc welding system with vision |
| US4542279A (en) * | 1983-03-07 | 1985-09-17 | General Electric Company | Microvector control for edge and joint following |
| US4493968A (en) * | 1983-07-13 | 1985-01-15 | Caterpillar Tractor Co. | Adaptive welder with laser TV-scanner |
| EP0151417A1 (en) * | 1984-01-19 | 1985-08-14 | Hitachi, Ltd. | Method for correcting systems of coordinates in a robot having visual sensor device and apparatus therefor |
| US4635206A (en) * | 1984-10-15 | 1987-01-06 | Cincinnati Milacron Inc. | Method and apparatus for oscillating a tool carried by a manipulator |
| US4621185A (en) * | 1985-02-25 | 1986-11-04 | Caterpillar, Inc. | Adaptive welding apparatus having fill control correction for curvilinear weld grooves |
| US4591689A (en) * | 1985-02-25 | 1986-05-27 | Caterpillar Tractor Co. | Adaptive welding guidance apparatus |
| JPS61279481A (ja) * | 1985-06-01 | 1986-12-10 | 株式会社安川電機 | ロボツトの作業開始点検出制御方法 |
| US4590356A (en) * | 1985-07-12 | 1986-05-20 | General Electric Company | Robot navigation method for joint following |
| US4727471A (en) * | 1985-08-29 | 1988-02-23 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence | Miniature lightweight digital camera for robotic vision system applications |
| US4675502A (en) * | 1985-12-23 | 1987-06-23 | General Electric Company | Real time tracking control for taught path robots |
| SE462022B (sv) * | 1986-09-29 | 1990-04-30 | Asea Ab | Industrirobotutrustning med organ foer styrning av ett verktyg laengs en bana utmed ett arbetsobjekt |
| SE464855B (sv) * | 1986-09-29 | 1991-06-24 | Asea Ab | Foerfarande vid en industrirobot foer kalibrering av en sensor |
| JPH07104692B2 (ja) * | 1986-10-02 | 1995-11-13 | トヨタ自動車株式会社 | 予見追跡制御型ロボツト |
| US4833381A (en) * | 1987-12-31 | 1989-05-23 | Westinghouse Electric Corp. | Optical automatic seam tracker and real time control system for an industrial robot |
| US4843287A (en) * | 1987-12-31 | 1989-06-27 | Westinghouse Electric Corp. | Path contriving system for look-ahead sensor in a robotic control system |
-
1988
- 1988-04-08 US US07/179,505 patent/US4969108A/en not_active Expired - Fee Related
-
1989
- 1989-03-17 EP EP89104841A patent/EP0336174A3/en not_active Withdrawn
- 1989-04-04 CA CA000595660A patent/CA1318954C/en not_active Expired - Fee Related
- 1989-04-07 JP JP1089597A patent/JPH0212504A/ja active Pending
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102018125841B4 (de) * | 2017-10-27 | 2020-10-29 | Fanuc Corporation | Roboter, Robotersystem und Verfahren zum Festlegen eines Koordinatensystems eines Roboters |
| US10935968B2 (en) | 2017-10-27 | 2021-03-02 | Fanuc Corporation | Robot, robot system, and method for setting coordinate system of robot |
| WO2020153297A1 (ja) * | 2019-01-25 | 2020-07-30 | 株式会社ソニー・インタラクティブエンタテインメント | ロボット制御システム |
| WO2020153299A1 (ja) * | 2019-01-25 | 2020-07-30 | 株式会社ソニー・インタラクティブエンタテインメント | ロボット制御システム |
| JP2020116711A (ja) * | 2019-01-25 | 2020-08-06 | 株式会社ソニー・インタラクティブエンタテインメント | ロボット制御システム |
| JP2020116710A (ja) * | 2019-01-25 | 2020-08-06 | 株式会社ソニー・インタラクティブエンタテインメント | ロボット制御システム |
| US12103162B2 (en) | 2019-01-25 | 2024-10-01 | Sony Interactive Entertainment Inc. | Robotic device having an image analysis system |
| US12260579B2 (en) | 2019-01-25 | 2025-03-25 | Sony Interactive Entertainment Inc. | Robot controlling system |
| US12377548B2 (en) | 2019-01-25 | 2025-08-05 | Sony Interactive Entertainment Inc. | Robot controlling system |
| CN110450171A (zh) * | 2019-09-09 | 2019-11-15 | 北京配天技术有限公司 | 焊接机器人及其摆动轨迹的规划方法 |
| CN110450171B (zh) * | 2019-09-09 | 2020-12-08 | 北京配天技术有限公司 | 焊接机器人及其摆动轨迹的规划方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CA1318954C (en) | 1993-06-08 |
| EP0336174A2 (en) | 1989-10-11 |
| EP0336174A3 (en) | 1990-06-06 |
| US4969108A (en) | 1990-11-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4969108A (en) | Vision seam tracking method and apparatus for a manipulator | |
| EP0523889B1 (en) | Apparatus for controlling industrial robot to perform coordinated operation using teaching playback method and method thereof | |
| CN111390872B (zh) | 一种舱外机器人双臂协同柔性拖拽与对接逆操作方法 | |
| US5781705A (en) | Method and apparatus for controlling the motion of a redundancy manipulator | |
| US4836742A (en) | System for controlling a robot in association with a rotary table | |
| US5014183A (en) | Method and means for path offsets memorization and recall in a manipulator | |
| Baeten et al. | Hybrid vision/force control at corners in planar robotic-contour following | |
| KR100311663B1 (ko) | 여유축을이용하여물체의외형을추적하는장치및방법 | |
| US4594671A (en) | Velocity method of controlling industrial robot actuators | |
| CN102581445B (zh) | 机器人的视觉实时纠偏系统和纠偏方法 | |
| US5371836A (en) | Position teaching method and control apparatus for robot | |
| JPS59708A (ja) | 適合速度制御を行なう経路運動マニピユレ−タ | |
| JPS61173311A (ja) | マニピユレ−タを制御する方法および装置 | |
| JPS591180A (ja) | 制御された経路の運動を行なうマニピユレ−タ | |
| JP3207409B2 (ja) | ロボットのツール姿勢制御方法 | |
| US4803640A (en) | Control arrangement for an industrial robot | |
| US5285525A (en) | Industrial robot control method and apparatus | |
| JP2000288432A (ja) | 塗装ロボット | |
| JPH1076489A (ja) | ロボットアーム教示方法及び装置 | |
| JPH0746288B2 (ja) | 手先視覚を持つロボットの制御方法とその装置 | |
| Baeten et al. | Improving force controlled planar contour following using online eye-in-hand vision based feedforward | |
| EP0458664A2 (en) | Robot teaching/playback system | |
| JPS62199383A (ja) | ロボツトの制御方式 | |
| JPH07314359A (ja) | マニピュレータ用追従装置およびその制御方法 | |
| JPS63289606A (ja) | 冗長自由度形ロボット |