JPS63141108A - ロボットのデジタル制御装置 - Google Patents

ロボットのデジタル制御装置

Info

Publication number
JPS63141108A
JPS63141108A JP62295012A JP29501287A JPS63141108A JP S63141108 A JPS63141108 A JP S63141108A JP 62295012 A JP62295012 A JP 62295012A JP 29501287 A JP29501287 A JP 29501287A JP S63141108 A JPS63141108 A JP S63141108A
Authority
JP
Japan
Prior art keywords
control
microprocessor
torque
robot
servo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP62295012A
Other languages
English (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.)
Unimation Inc
Original Assignee
Unimation Inc
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 Unimation Inc filed Critical Unimation Inc
Publication of JPS63141108A publication Critical patent/JPS63141108A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4141Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by a controller or microprocessor per axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33337For each axis a processor, microprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42256Sampling the signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [序論] 本発明はロボット制御装置、特に、サーボ制御ループ及
び連携のフィードバックシステムの構成にマイクロプロ
セッサが利用される電子ロボット制御装置に係わる。
ロボット制御装置は6つのロボット軸を作動する能力を
有するのが普通であり、かつ各軸に位置及び速度制御ル
ービングを設けるのが普通である。本願が開示するよう
な全デジタル式のロボット制御装置の場合、ロボット制
御装置にトルク電流制御ルービングをも組込むことがで
きる。
マイクロプロセッサ技術によるロボット制御の実施に際
しては、デジタル/アナログ混成システムでも全デジタ
ル・システムでも、サーボループ制御の実行に高度の処
理能力が要求される。必要な処理能力は総合的な制御条
件、データ処理条件及び数学的処理条件に基づいて決定
される。
市販のマイクロプロセッサではこれらの能力の必要条件
をすべて満たすことはできない。そこで、従来の方式で
はロボット制御装置に複数のマイクロプロセッサを使用
し、軸ごとの位置、速度及び関連制御タスクをそれぞれ
のマイクロプロセッサに割当てる。このような設計アプ
ローチに伴なう欠点の1つは各軸間の相互作用を考慮に
入れるのが容易でないことにある。また、複数のマイク
ロプロセッサを使用しても、ロボット制御技術の絶えざ
る進歩に伴なって開発が可能なより複雑なアルゴリズム
に対応できる能力には限界がある。
単一のマイクロプロセッサでは多軸ロボット制御の処理
能力条件を満たすことはできないから、改良されたマイ
クロプロセッサ・ベースのロボット制御装置として機能
し、高性能、低コスト及び製造の経済性をもたらす全デ
ジタル式ロボット制御を可能にする新しい多重マイクロ
プロセッサ・システムの開発が要望されて来た。本発明
は一般的には種々の多軸ロボット制御ループの形で実施
できるマルチプロセッサ式サーボ制御装置に係わる。
また、ロボット制御システムの作動に際しては、個々の
軸の位置及び速度パラメータを閉ループ制御下に置く。
マイクロプロセッサを利用することにより、ロボット制
御に必要な制御ループ演算などの機能を行うことができ
る。いかなる場合にも、制御ループが作用するにはモー
タの速度及び軸(モータ)位置信号が゛必要である。
位置フィードバックは絶対量でも増分量でもよく、本発
明は後者を採用する。速度フィードバックはタコメータ
から発生させるか、本発明のように位置フィードバック
から求めることができ、この両方式を併用してもよい。
最も広く採用されている増分位置フィードバックエンコ
ーダは光学技術に基づいている。光学的エンコーダは透
明スリットを有する回転ディスクを含む光学送受信機を
使用するのが普通である。2つの位相信号と1つの指標
信号がエンコーダから発生する。
位相信号は直角符号化(quadrature enc
od−ing)方式で互いに90°位置ずれしており、
4つの異なる状態を取ることができる。状態を切換える
ことにより増分的位置変化及び位置変化の方向を検出す
ることができる。
光学ディスクが1回転するごとに指標信号を発生させる
ことにより、2つの位相信号から累算増分位置変化を検
証するための機構が得られる。
デジタル式ロボット制御の実現に際して、エンコーダ位
相信号をマイクロコンピュータによりてアクセスされる
増分カウントに変換するための従来のアプローチに必要
なデジタル回路の量は厖大である。また、位置変化から
の速度の導出は高速の場合には問題なく達成されるが、
低速の場合、従来の変換回路では充分な速度分解能は得
られない。エンコーダの分解能を高めることで速度分解
能をある程度改善できるが、これによって達成される改
善の程度には限界があり、例外なく製品コストの著しい
増大を伴なう。
[発明の要約] 本発明はそれぞれがモータ駆動手段を有する複数のジョ
イントを有するアームと;各モータに駆動電流を供給す
る電力増幅器と;前記ジョイント・モータ用の前記電力
増幅器をそれぞれ制御するフィードバック制御ループ手
段とより成り、前記フィードバック制御ループ手段のそ
れぞれが連携の電力増幅器を制御する少なくともデジタ
ル位置及び速度制御ループを含み;さらに、すべてのジ
ョイント・モータのための前記制御ループの少なくとも
1つについて制御補助タスク及び計算タスクを行う少な
くとも第1サーボ制御手段とを含むロボットにおいて、
前記第1サーボ制御手段が各ジョイント・モータのため
の前記1つの制御ループについて記憶されているアルゴ
リズムから出力制御指令を演算するなどの計算を行う第
1マイクロプロセッサを含むことと;前記第1マイクロ
プロセッサが比較的高い演算能力及び比較的低いデータ
処理インターフェース能力を有することと;前記第1サ
ーボ制御手段が前記第1サーボ制御手段の動作を統括し
、かつ各ジョイント・モータのための前記1つの制御ル
ープにおけるサーボ制御補助タスク、例えば、前記第1
マイクロプロセッサとの間の制御指令、状態及び帰還デ
ータのルーティングを行うための第2マイクロプロセッ
サを含むことと;前記マイクロプロセッサが比較的高度
のデータ処理能力を有することと;各ジョイント・モー
タのための前記1つの制御ループを前記第1サーボ制御
手段が作動して前記1つの制御ループの制御変数を制御
できるように前記第1及び第2マイクロプロセッサを相
互にかつ高及び低レベル制御回路とインターフェースさ
せる手段を含むことを特徴とするロボットを提案する。
本発明の詳細は添附図面に示す好ましい実施例に関する
以下の説明から明らかになるであろう。
[好ましい実施例の説明] 三翌工Σ二皇旦 ロボットの性能は、簡単な点間の反復動作から、コンピ
ュータ制御され、−法的な製造システムの一部としてシ
ーケンスされる複雑な動作まで多様である。工場用の場
合、ロボットはダイカスト、スポット溶接、アーク溶接
、インベストメント鋳造、鍛造、プレス加工、吹付は塗
装、プラスチック成形、工作機械装填、熱処理、金属粗
面削り、パレット積み、れんが製造、ガラス製造など、
種々の製造部門における多様な仕事を行うことができる
。ロボット及びその利用法の詳細については、1980
年に出版されたJoseph F、 Engelber
ger著”Robotics In Practice
”を参照されたい。
作用域内で作業を行うため、ロボットはアーム、リスト
小集合体及びエンドエフェクタを具えているのが普通で
ある。ロボット・アームに使用される座標系は多くの場
合、デカルト、円柱、極または回転座標である。一般的
には3つの運動軸を利用することにより、リスト小集合
体を作用域内の任意の場所へ移動させ、別に3つの運動
軸を使用することによりエンドエフェクタを自在に方向
づける。
各運動軸ごとに駆動系を連携させるが、この駆動系は電
動式でも液圧式でも空気圧式でもよい。
PUMAロボット 本発明の原理に従って作動することができる多様なロボ
ットのうちの1例として6軸の産業用電動ロボット20
を第1図に示した。
このロボット20は本願出願人であるUnima−ti
on社から商品名tlNIMATE Pt1MAシリー
ズ700で販売されている比較的強力な電動ロボットで
ある。Model 7 ’61 PUMAは有効荷重が
22ボンド、リーチが59.1インチ、Model 7
62 PUMAは有効荷重が44ボンド、リーチが49
.2インチである。
PUMA700シリーズロボツトは最も苛酷な、最も条
件のきびしい製造環境にあっても長い耐用寿命と最適の
性能が確保されるように、融通性と堅牢さを重視して設
計されている。特定の仕事にどのモデルが好適であるか
を決定するのは顧客が有効荷重を重視するかリーチを重
視するかにかかっている。
リーチの長いPt1MA761はアーク溶接やシーラン
ト注入などのような正確かつ反復的な仕事に好適であり
、他方、PUMA762は高精度の材料取扱い、機械装
填、検査、試験、媒体中の接合及び組立や、重い対象物
を扱う部門に好適である。PUMAロボットが占めるフ
ロア・スペースは極めて狭いにも拘らず、作業範囲が広
いからロボットは複数の機械や加工面に作用することが
できる。
各軸の運動は増分エンコーダから発生する軸位置フィー
ドバック信号に従ってブラシ付き直流モータによって行
われる。図示のように、リストは3つの関節を具備する
。即ち、矢印21によって示す上/下回転、矢印22に
よって示す左/右回転及び矢印23によって示す第3の
アーム運動をそれぞれ行う。エルボ及びショルダの上/
下方向回転を矢印24.25でそれぞれ示した。最後に
、台座27上での左/右方向アーム回転を矢印26で示
した。
ロボット制御装置 本発明は第1図のロボット20や、ブラシなし直流軸モ
ータ及び絶対位置フィードバックを利用する大型のUn
imation 880ロボツトを含むその他のロボッ
トを作動することができるロボット制御装置30(第2
図)に係わる。ただし、一般的には、ロボット制御装置
30は単独の、またはネットワーク動作する種類及びサ
イズの異なるロボットに汎用的に応用することができる
汎用性であるから、制御装置30は1つのロボット・シ
リーズを作動するように構成することができる。即ち、
本願の出願人であるUnimation社の製造にかか
るすべての液圧駆動または電動ロボット・アームを制御
装置30によって作動することができる。制御装置30
をシリーズのすべてのロボットに使用できるということ
、もっと一般的に言えばその汎用性の決め手はモジュー
ル化すると共にアーム従属ハードウェアの使用を極力少
なくし、モジュール制御構造にアーム従属ハードウェア
が使用されることをできるだけ避けることにある。ロボ
ット制御装置30は頭字語tlNIVALで表わされる
商標で販売されており、低コストですぐれたロボット性
能を発揮するように全デジタル・サーボ制御方式で動作
する。
制御ループ 第2図にはtlNIVALロボット制御装置に利用でき
る普遍的な制御ループ構成100の実施例を示した。各
ロボット・アーム・ジョイントモータ102はトルク制
御ループ104によって作動される。外側位置制御ルー
プ106が速度制御ループ108と直列に接続し、速度
制御ループ108はトルク制御ループ104を駆動する
。フィードフォワード加速制御ループ110は加速指令
112に応答し、トルク制御ループ104の入力にはア
ーム及び負荷慣性114も直接供給される。ロボット・
アームは位置制御ループに供給される一連のプログラム
位置指令116を介してロボット・プログラムに従い、
制御ループ100によって作動される。
第3図はUNIVALロボット制御装置に使用できる好
ましい普遍的制御ループ構成118を示す。この構成は
全デジタル式制御装置として実施するのが好ましい。本
願発明または上記した他の特許出願に開示されているよ
うな階層構造、多重プロセッサ構造及び浮動小数点ハー
ドウェアを組込めば、採用するモジュール構成に応じて
32乃至8ミリ秒のサイクル時間で起動サイクルを特徴
づけることができる。
好ましい制御ループ構成118では、位置及び速度制御
ループ120,122がトルク制御ループ124の入力
と並列に接続する。
速度指令はブロック1°28が受信する位置指令に基づ
きブロック126によって形成される。フィードフォワ
ード加速指令は速度指令に基づきブロック130によっ
て形成される。フィードフォワード加速制御ループ13
6において、参照番号134で示すように慣性計算値(
負荷及びアーム)132が加速指令に乗算される。
速度ループ120においては、この実施例の場合、ロボ
ット制御装置のモジュール構成に応じて8乃至32ミリ
秒ごとに速度指令が発生する。後述する基本的なロボッ
ト制御装置の軌道サイクル時間は32ミリ秒であり、改
良型の軌道サイクル時間は8ミリ秒である。
いずれの場合にも、速度指令発生器138は速度フィー
ドバックバス140における速度フィードバックサンプ
リング速度に対応する1ミリ秒に1回の速度で速度指令
を補間する。図示のように、Unimation860
 ロボットのための速度フィードバックはタコメータ信
号をコンバータ142によりA/D変換することによフ
て形成される。スケーラ144及びフィルタ146が組
込まれて速度フィードバック回路が完全なものになる。
同様に、位置制御ループ122においてもフィードバッ
クバス150における位置フィードバックサンプリング
速度に対応して1ミリ秒毎に1回ずつ、補間回路148
が位置指令を発生する。Unimation 860ロ
ボツト制御装置の場合、位置フィードバックは絶対量で
あり、速度及び位置フィードバックバス140.150
は(スイッチ151が図示位置を占める状態で)動作す
る。Unimation PIIMAロボットに対して
は、タコメータを使用せず、(スイッチ151が他方の
位置へ6行した状態で)ブロック152で示すように増
分位置フィードバック、から速度フィードバックが算出
される。位置及び速度フィードバックシステムについて
は第13乃至17図との関連で詳しく後述する。
速度誤差はループ156によって供給されるゲインに基
づいて加算器154が形成する。同様に、位置誤差はボ
ックス160によりて供給されるゲインに基づいて加算
器158が形成する。速度及び位置の誤差とフィードフ
ォワード加速指令が加算器162において加算される。
ゲインがボックス166に供給されてトルク指令を形成
し、このトルク指令は1ミリ秒毎に1回ずつトルク制御
ループ164の入力に供給される。加算器168はトル
ク指令(モータ電流指令)をフィードバックバス170
からの電流フィードバックと加算することによってトル
ク誤差を形成する。ボックス!72がトルク・ループ・
ゲインをトルク誤差に印加し、パルス幅変調(PWM)
出力指令(モ・−夕電圧指令)が電力増幅器174に供
給され、電力増幅器174がロボット・ジョイントを動
作させるためのモータ駆動電流を供給する。250マイ
クロ秒ごとに抵抗175から電流フィードバックが発生
しく第7B1図の詳細なブロックダイヤグラムを参照さ
れたい)、ボックス178によって供給されるスケーリ
ングに基づき、ボックス176によっ゛てデジタル信号
に変換される。
第7Ax−7A3歯には特殊な速度フィードバック処理
を特徴とする特定の[11imatlon860ロボッ
トを作動するように構成した本発明の他の実施例として
制御ループ118Aを示した。制御ループ118Aはそ
の構成、動作が第3図の制御ループ118に酷似してい
るが、ここでは第3図よりも詳細なブロックダイヤグラ
ムとして図示しである。下に掲げる表は制御ループ11
8Aと制御ループ118の対応関係を示す: ループ118の構  素     ループ118Aの対
応 素速度指令発生器126、 126A 、 126
B位置指令発生器148   148A;148B加速
指令発生器130   130A;130B、130C
;1300速度指令補間回路138   138A、1
38B、138C速度ループ・ゲイン 156    
    156A;158B位置ドブ補償回路160 
  160A  乃至160Eル一プ補償回路166 
    166A  乃至166B速度フィードバック
スケーラ 144         ボックス144 
A速度フィードバックスケーラは特定のtlni−ma
tion860ロボツトにおける実際のジョイント・モ
ータ速度と実際のジョイント・モータシャフト速度との
関係(感知速度パラメータ)に存在する非線形性を補償
するように構成されている。このシステムは駆動機構と
して浮動ピボットポイントを有するポールスクリュウを
使用する。ボールスク゛リュウの移動速度は非線形関数
によってモータ速度と関連づけられる。JT2及びJT
30ボットはこの機構を採用するロボットであり、サー
ボシステムに供給されるフィードバック速度信号を線形
化するための探索表が設けられている。
!王!上ヨ21漿l ロボット制御装置30の制μルービングは複数の電子ボ
ートに設けたデジタル制御回路を利用することによって
実現する。ボード別に回路を組織し、種々のマイクロプ
ロセッサにプログラミングを分担させることにより、モ
ジュール制御構成を利用してロボット制御能力を高める
と共に、製造コストを軽減し、汎用を可能にする構成の
可変性及び制御性能レベル選択の融通性を高めることが
できる。
第4図に示すように、制御ボード構成は制御されるロボ
ット・アームのタイプに応じて異なるが、好ましくはす
べての回路を収容するアーム・インターフェース・ボー
ド800を含む。例えば、位置フィードバック回路は制
御されるロボット・アームが絶対位置フィードバックを
採用するか増分位置フィードバックを採用するかに従っ
て異なったものとなる。従って、サイズまたはタイプの
異なる種々のロボット・アームに対応できるデジタル制
御システムを得るには、2種類以上のアーム・インター
フェース・ボード800を使用すればよい。特定のロボ
ット・アームはこのロボット・アームと協働するように
構成されたアーム・インターフェース・ボードの使用を
必要とする。
アーム・インターフェース(AIF)ボード800はま
た、2つ以上のボードと連携するが特に1つのボードと
は連携しない例えばVMEバス制御回路のような包括的
な回路をも収容する。
(パルス幅変調された)制御信号がAIFボード800
から発生して、ロボット・ジョイント・モータにモータ
電流を供給する電力増幅器ブロック150を制御する。
AIFボード800はロボット制御装置30を作業セル
152内の他のロボット制御装置、エリア・ネットワー
ク中のプログラム可能制御装置及びその他の入/出力装
置153、及び統括制御用の高レベル・コンピュータ1
54に外部接続するチャンネルをも兼ねる。
トルク・プロセッサ(TP)ボード600及びサーボ制
御ボード400はあらゆる種類のロボットを対象とする
あらゆるロボット制御システムにおいてAIFボード8
00及び電力増幅器ブロック150と併用される包括的
な回路ボードである。3つの回路ボード4oo、goo
及び800はロボット・アームに対する完全6軸制御を
可能にするから、UNIVALタイプ及びその他のロボ
ット制御装置の基本的な制御装置構造を形成する。
トルク・プロセッサ・ボード600はサーボ制御ボード
400からの指令に応答してモータトルクを制御する。
サーボ制御ボード400はロボット制御プログラムに従
ってアームの解を求めると共に、位置及び速度制御を行
う。
追加の電子ボードまたは装置を基本制御装置400.6
00.800と接続することによって制御能力及び/ま
たはシステム機能をさらに充実することができる。例え
ば、システム制御ボード500゛を追加し、サーボ制御
ボード400からアームの解を求めるなどの所定プログ
ラム機能をこのシステム制御ボード500に割当てると
、UNIVAL制御装置はロボット20やその他のロボ
ットを、はるかに迅速な制御作用で、即ち、軌道サイク
ル時間を32ミリ秒から8ミリ秒に短縮して作動するこ
とができる。
制御などを目的とするボード間データ通信ハV M E
バス155の多重信号バスを介して行われる。また、ト
ルク・プロセッサ・ボード600とAIFボード800
を接続する7MXバス156をも設けた。
AIF、TP及びSCMボード及びその他の接続可能な
ユニットに(第4図には示さない)多重ビン・インター
コネクタを設けることにより、VME及びVMXボード
間接続を容易にすると共に、ロボット制御装置30を構
成するためモジュール方式でボードを組立てる作業を容
易にする。外部入/出力接続用として別のコネクタをA
IFボード800に設ける。
ボード回路構造の詳細は後述する。
本発明のマルチプロセッサ・サーボ制御システム200
の基本構造を第5図に示した。
多軸ロボット・サーボ制御は2つのマイクロプロセッサ
の協働によって行われる。具体的には、多軸ロボット制
御管理装置202がデータ処理機能を一般を行うのに対
して、多軸デジタル信号プロセッサまたは演算装置20
4は管理プロセッサ202に関しスレーブの役割で演算
機能一般を行う。バンク・スイッチ・メモリまたはビン
ボン・メモリ206が2つのマイクロプロセッサをイン
ターフェースさせる。入指令及び出指令を含む入/出力
データ208は高レベル制御回路210から受信される
か、または低レベル制御回路212へ送信される。
一般に、従来のフォノ・ノイマン・コンピュータ構成に
基づくマイクロプロセッサは新しい多軸ロボット制御装
置に関連の制御補助及びデータ処理のタスクを行うのに
必要な処理能力を具えている。しかし、フォノ・ノイマ
ン・マイクロプロセッサの数学的処理能力は6軸ロボツ
ト制御装置として単一マイクロプロセッサでサーボ制御
を行うには一般に不充分である。
他方、デジタル信号処理用マイクロプロセッサとして専
用のコンピュータ構成が開発された。このマイクルプロ
セッサは一般に高速固定小数点演算処理能力を有し、こ
の演算処理能力は多軸ロボット制御装置における新しい
サーボ制御アルゴリズムを実施するのに必要な数値計算
を達成して余りある能力である。しかし、信号プロセッ
サは制御補助及びデータ処理能力に劣るのが普通である
そこで、本発明の実8に際しては、2つの基本的なマイ
クロプロセッサ・タイプを1組にしてマルチプロセッサ
を構成する。この1組のマイクロプロセッサは協調され
たユニットまたはサーボ・プロセッサ・“エンジン”と
して機能することにより、制御ユニットの製造コストを
軽減しながら、多軸ロボット制御装置がロボット性能を
著しく高めることを可能にする。
一般に、プロセッサ202.204はマルチプロセッサ
構造内で密接に連携し、信号プロセッサ204は管理プ
ロセッサ202のスレーブ、すなわち従属周辺装置とし
て動作する。サーボ・エンジンの協調はインターフェー
ス206を介して管理プロセッサ202におけるソフト
ウェア制御によって行われる。
従って、回路210.212への上向き及び下向きデー
タ通信は統括コンピュータの制御下に行われる。
好ましくは2つのマイクロプロセッサ間に2つのインタ
ーフェース・バスを設ける。一方のインターフェース・
バスは管理プロセッサ202がスレーブ・プロセッサの
実行機能を特定することを可能にし、他方のインターフ
ェース・バスは指令、状態及びデータに関連して、即ち
、特定のスレーブ機能の実行を指令し、この機能の実行
に利用されるデータを提供し、かつ実行の結果として生
じた状態及びデータを返送するのに使用される。
管理プロセッサ202としてはMotorola 68
000装置を、信号プロセッサ204としてはTexa
s Instrume’nts TMS 320をそれ
ぞれ採用することができる。マルチプロセッサ・サーボ
制御装置のトルク制御装置実施例に使用されているMo
torola 88000マイクロプロセッサは10.
0 Mhzのシステム・クロック周波数で動作する16
ビツト・マイクロプロセッサである。
一以 下 余 白− TMS320プロセッサは速度及び融通性を高めるため
に改良されたHarvard’構造を使用している。本
来のHarvard構造では、プログラムとデータ・メ
モリが2つの別々のスペースを占め、命令取出しと実行
の完全オーバラップを可能にする。これに対してTMS
 320に採用されている改良型Harvard構造は
プログラム・スペース及びデータ・スペース間の切換え
を可能にすることで装置の融通性を広げる。
7MS320は他のプロセッサならソフトウェアまたは
マイクロプログラム・ファームウェアが行うのが普通の
機能を行うのに内部ハードウェアを使用するから、高速
固定小数点演算能力を有する。例えば、7MS320は
16xl 6ビツト乗算を200ナノ秒で遂行するハー
ドウェア乗算器を内蔵する。また、ハードウェア・バレ
ル・シフタがALUヘデータをシフトするから、データ
整列及び乗算を単一の命令で実行することが℃きる。
7MS320は主として個別ロボット制御用に開発され
たものであるから、外部インターフェース能力に限界が
ある。従って、制御管理プロセッサ202が同時アクセ
スできるようにTMSプログラム・メモリまたはI10
動作を一時停止させるのが困難である。この問題を克服
するため、特殊なインターフェース回路が必要であり、
ここに述べる本発明実施例の特殊需要を満たすバンク・
スイッチ・メモリ206の形態で設ける。
ボード トルク・プロセッサ(TP)ボード600はロボット・
ジョイント駆動モータとの機能的インターフェースを可
能にする。機能的には、TPボード600は階層制御シ
ステムにおける最も低いレベルの制御を実施してロボッ
トの6軸を閉ループ・サーボ・トルク制御する。物理的
には、TPボード600はロボット・バス・プラニング
制御システム及びサーボ制御(SCM)ボードをアーム
・インターフェース(AIF)ボード800と電気的に
インターフェースさせ、前記アーム・インターフェース
(AIF)ボード800はロボット・ジョイント駆動モ
ータとインターフェースする。TPボード800の主な
機能はAIFボードにおいてパルス幅変調方式で実行さ
れるモータ巻線電圧指令を形成することにより、ロボッ
ト・ジョイント・モータ電流を指令値に調定することに
ある。
TPボード600は1つのレベルにおいて30Mボード
とインターフェースし、6軸に関して30Mボードから
トルク指令及びサーボ・パラメータを受信し、状態デー
タを返送する。TPボード660は2番目に低いレベル
においてAIFボード800とインターフェースし、ロ
ボット6軸に関するサーボ電圧指令を供給する。AIF
ボード800はSCM及びTPボードにおける閉ループ
制御のための駆動モータ電流、位置及び速度帰還を受信
する。
TPボード600は対のマイクロプロセッサを利用する
ことにより、以下に列挙するような多くの機能を果たす
1、ブラシ付き及びブラシなしモータに対する6軸トル
ク・ループ制御(6軸ごとに250マイクロ秒); 2、ソフトウェア調節可能な電流オフセット−電位差計
を不要にする; 3、ダウンロード可能なゲイン−3CMボードからアー
ム関連パラメータをダウンロードできる; 4、PWM補償; 5、演算補償; 6、データ記録などのための電流平均ニア、限流チェッ
ク 8、安全性チェックのための速度モニタリング(逆起電
力) 9、自己診断の強化;及び 10、ダウンロード可能な診断システム・トルク・プロ
セッサ・ボード アームが運動状態にある時、アームの作用点に加わるト
ルクをデジタル制御して指令軌道に従いアーム作用点の
位置を制御することによってロボットの性能をさらに高
める。実際の工作物ローディングに従って軸駆動力を調
節することによって、一段・と高い速度、精度及び能率
で位置及び軌道指令を満たす。
トルク制御はトルク・プロセッサ(TP)ボードと呼ば
れる包括的な制御回路ボード600(第4及び6図)、
即ち、負荷能力、駆動方式、軸数などの異なる多様なロ
ボットのトルク制御に利用できる電子ボードにおいて行
われる。
トルク・プロセッサ・ボード600は高制御レベル(5
0Mボード)から得られるトルク指令及びアーム・イン
ターフェース(AIF)ボード800を介して軸駆動手
段から得られるフィードバック電流に基づいて各ジョイ
ント・モータまたは各軸駆動手段ごとに、デジタル回路
を利用して電圧指令を形成する。従って、すべてのジョ
イント・モータと連携するトルク制御ループはTPボー
ド回路を介して閉成される。
電動駆動手段の場合、フィードバック電流は実際のモー
タトルクに比例するモータ巻線電流である。液圧式駆動
手段の場合、フィードバック信号も実際のモータトルク
に比例する。
好ましくは、デジタル・トルク制御回路を多重デジタル
・プロセッサで構成することにより、サンプリング周波
数条件の範囲内で、必要な制御演算及び制御補助機能を
すべての軸について正確かつ能率的に達成できるように
する。
具体的には、トルク制御管理プロセッサ602がデュア
ル・ボートSCMインターフェース・メモリ604とイ
ンターフェースして、SCM(サーボ制御モジュール)
とTP(トルク・プロセッサ)制御レベル間で記憶され
ているトルク制御データの交換が行われるようにする。
軸トルク指令及び制御ループ・パラメータがS、CMか
らTPゼインーフェース・メモリ604へ、好ましくは
VMEタイプのデータ・バス606を介してダウンロー
ドされる。逆に、状態データがサーボ制御レベ(S C
M)へ゛アップロードされる。TP及びSCMボード間
のメモリ・インターフェース604はVMEバス606
(7)スレーブ、すなわち従属手段として作用するデュ
アル・ボート共用メモリ形である。その他のボード・メ
モリとしては、ピンポン・メモリ608、プログラムE
FROM 、ローカルRAM 、及びTP演算メモリな
どがある。
トルク制御管理プロセッサ602はまた、次に低い制御
レベルのAIFボード6ooへ電流フィードバックの流
れを向けることによってトルク制御ループを動作させる
。トルク制御演算から得られた駆動電圧指令がトルク制
御管理プロセッサ602によってアーム・インターフェ
ース(A I F)ボード600に伝送される。ビンボ
ン(パンク・スイッチ)メモリ608は初期手順フラッ
グの制御下に指令、フィードバック、及び状態データを
記憶することにより、トルク制御演算、高制御レベル・
リポートまたは軸駆動制御に必要な時、利用できるよう
にする。
デジタル信号プロセッサの形態で設けられるプロセッサ
610はビンボン・メモリ608を介してトルク制御管
理プロセッサ602からトルク指令及びフィードバック
電流を受信し、トルク指令及びフィードバック電流から
算出されるトルク誤差に基づいてそれぞれのロボット軸
に関して駆動電圧指令を演算し、トルク制御管理プロセ
ッサ602からの指令に基づきビンボン・メモリ608
を介してアーム・インターフェース回路へ駆動電圧指令
を転送するトルク・ループ演算回路として動作する。
以上に述べたデジタル回路構造を採用すれば、必要なす
べてのトルク制御機能を周波数応答条件の範囲内で迅速
に(250マイクロ秒以上のサンプリング速度)かつ正
確に行うことができる。具体的には、トルク制御管理プ
ロセッサ602のデータ編成及び指示転送能力を他の大
部分の機能に利用しながら、デジタル信号プロセッサ6
10の迅速な演算能力をトルク制御演算に利用すること
により、著しく改善された制御性能を能率的かつ経済的
に達成すること示セきる。
トルク制御管理プロセッサ602はデータ管理プログラ
ムに関する上記タスクには好適な構造を具えているが、
その演算速度(即ち、16xl 6ビツト乗算に4マイ
クロ秒以上の時間を要する演算速度)はトルク制御帯域
幅条件を満たすには低過ぎる。デジタル信号プロセッサ
610はZ変換演算に適合させた(即ち、16xl 6
ビツト乗算の演算速度が200ナノ秒の)構造を具えて
いるものの、その他の点ではデータ管理プロセッサ60
2に割当られた各種タスクには概して不適当である。こ
の2つのマイクロプロセッサが1つのユニットとして、
還元すれば、サーボ・エンジンとして機能する。
トルク制御プログラミング トルク・プロセッサ・ボード600はボード・プロセッ
サ602.610において実行されるプログラムの制御
下に動作して高SCM制御レベルからのトルク指令を実
行する。
トルク・プロセッサ・ソフトウェアはそれぞれに割当ら
れた下記タスクを行うのが普通である。
トルク匍御管 プロセッサ602 SCMとの通信 指令処理 電流サンプリング、変換及びオフセット調節コミュテー
ション・スイッチ・フラッグ(状態読取) PWMチップ管理 診断 誤差リポート トルク・ループ演 回路5tO (プログラム・サイクルは250マイクロ秒割込み) 過電流チェック−絶対量及び平均量 トルク・ループ演算 電流平均 PWM補償 コミュテーション補償 逆起電力チェック−安全性のための速度モニタリング エネルギー・チェック−停動状態の試験TP管理プロセ
ッサ 具体的には、トルク制御管理プロセッサ602はその名
称が示すように、トルク・プロセッサ・ボード動作の多
くを管理する。トルク・ループ演算回路610は演算さ
れた出力がトルク制御管理プロセッサ602の管理下に
特定のボード動作が行われることを可能にするという意
味でボード動作に作用する。
トルク制御管理プロセッサ602のためのプログラミン
グとしては、本発明の実施に際して使用される応用プロ
グラムの操作を助ける種々の公知システム準備プログラ
ムがある。応用プログラミングはTCM (トルク制御
管理)プログラム・メモリと呼ばれるEPROMメモリ
614に記憶されている。オペレーティング・データは
TC(トルク制御)データ・ベース・メモリと呼ばれる
ローカルRAMメモリ616に記憶される。
第8B図に示すように、トルク制御管理プログラムはメ
イン・プログラム618及び割込みプログラム620を
含む。一般に、メイン・プログラム618はTPボード
動作を起動させるため、アーム・インターフェース及び
トルク・プロセッサ制御レベルに必要な初期値設定プロ
グラム628を提供するリセット・サブプログラム62
2を含む。リセット・サブプログラム622はまた、T
Pボード600が動作指令に応答可能な状態になるとこ
れを高SCM制御レベルに通報する。
次いで、待機指令サブプログラム624が高SCM制御
レベルからの診断その他の高優先順位ノン・モーション
の指令の実行を管理する。モーション制御中、周期的に
、好ましくは1ミリ秒毎に1回ずつトルク指令が発生し
、トルク管理割込みプログラム620(第8A1乃至8
A4図)の制御下に、ビンボン・メモリ608を介して
トルク・ループ演算回路610(第6図)に転送される
。割込みプログラム620は低制御レベルAIFボード
800に設けられた割込みクロックにより(好ましくは
250マイクロ秒に1回の)サンプリング速度で形成さ
れる割込み信号によって周期的に作動される。割込みク
ロックはまた、1ミリ秒毎に1回ずつSCM)−ルク指
令を発生させるよにタイミング制御する。
割込みプログラム620はトルク・ループ演算回路91
0が各別込みサイクル中にロボット・アームの6軸のそ
れぞれについてトルク演算を行う際にトルク・ループ演
算回路610の動作を補助するのに必要な種々の管理機
能を行う。トルク・ループ演算から形成された電圧指令
はビンボン・メモリ608からTCデータ・ベース・メ
モリ616に、次いで、好ましくはVMXタイプのデー
タ・バス60フ及びバス・インターフェースを介してA
IFボード回路に送られ、軸駆動手段によりパルス幅変
調信号に変換される。電流及び状態フィードバックデー
タもVMXバス及びインターフェース607からTCデ
ータ・ベース・メモリ616に転送されたのち、ビンボ
ン・メモリ60Bを介してトルク演算回路610に送ら
れる。
一以 下 余 白− バス607は特定の実施例の場合、タイミングと信号ビ
ン番号との連携に関するVMX仕様に従って動作する。
しかし、アービトレーション、多重バス・マスター及び
24ビツト・アドレス能力に関するVMXバス仕様すべ
てに従うわけではなく、VMXバス仕様に規定されてい
ない信号も制御、割込み及び誤差状態情報に利用される
再び第8B図から明らかなように、リセット及び待機指
令サブプログラム622.624及び割込みプログラム
620によりて種々のサブルーチン626が利用される
。リセット・サブプログラム622は初期値設定サブル
ーチン628をも利用する。
第8E図に示すように、ユーティリティ・プログラム6
26はそれぞれ指示しである機能を有する下記のサブル
ーチンを含む。
C)IEcKRAM−所定メモリの診断−ボード600
のすべてのRAMメモリをチェックする。
RAMTEST−所定め記憶場所にビット・テストを適
用する。
GETAD−メモリへのアナログ入力転送を可能にする
AD−5ET−フィードバックチャンネルのA/Dコン
バータをセットする。
C0PYIN−6つのアーム・ジョイントに対応の規定
パラメータをトルク制御データS0Mインターフェース
・メモリ604からTCデータ・ベース・メモリ616
ヘコピーする。
C0PYOUT−6つのアーム・ジョイントに対応の規
定パラメータをTCデータ・ベース・メモリ616から
トルク制御データS0Mインターフェース・メモリ60
4ヘコピーする。
COPYTMS/S−(:OPYTMS −T Cデー
タ・ベース・メモリ616及びビンボン・メモリ608
との間でコピーを行う。
COPYGMS −T Cデータ・ベース・メモリ61
6からビンボン・メモリ608へ指令をコピーする。
CLR5ERVO−T Cデータ・ベース・メモリ61
6及びビンボン・メモリ80a中のオンライン・トルク
・ループ演算データをクリアする。
PWMSW−アーム・インターフェース制御レベルに位
置し、アーム駆動手段のための電力増幅器指令を発生す
るPWMチップのためのスイッチをオン/オフする。
PWMCLEAR−P W Mチップへの出力指令をゼ
ロにする。
5VENABLE−実行可能な最大電圧指令を規定する
5VDISABLE −P W Mをゼロ出力に保持す
る。
LOADTMS −)−ルク・ループ演算回路610の
RAMメモリ611にプログラムをダウンロードする。
ACTTMS −トルク・ループ演算回路sioを作動
/停止させる。
GIVPM −P W Mチップに電圧指令を供給する
COMMCHECK−6つの駆動手段すべてについて位
置フィードバックデータを受信し、直ぐ先行のデータと
異なる場合にはそれぞれのフラッグをセットする。
C0MM5TORE −6つのジョイントモータすべて
についてコミュテーション状態を記憶する。
GO−トルク・ループ演算回路610の制御レジスタ6
30(第6A図)にGO信号を送信する。
BSWITCH−ビンボン・メモリ608に対する指令
をスイッチする。
ERR−高SCM制御レベルに誤差をリポートする。
DI−割込みプログラム620の実行を不能化する。
EI−割込みプログラム620の実行を可能化する。
リセット・サブプログラムに利用される初期値設定サブ
ルーチン628は第8C図に示した通りであり、下記の
ものを含む。
DATDIR−T Cデータ・ベース・メモリ616中
にSCMインターフェース・メモリ604のためのデー
タ・ディレクトリを作成する。
STRPWM −T Cデータ・ベース・メモリ616
中にPWMI10アドレスを記憶させる。
TCALCDB−トルク・ループ演算回路610の内部
RAMメモリ中のトルク・ループ演算回路データ・ベー
スをクリアし、初期値設定する。
TCONTDB−T Cデータ・ベース・メモリ616
中のデータ・ベース・パラメータをクリアする。
メイン・プログラム618の詳細を第8Dに示した。ト
ルク・プロセッサ・ボード600が起動すると、トルク
制御管理プロセッサ602がメイン・プログラム618
に進み、リセット・サブプログラム622を実行するこ
とによって初期値設定を行う。その結果、特定のロボッ
ト用途において一括パッケージすることのできる高制御
レベルとの通信のため、デュアル・ボートSCMインタ
ーフェースを介してVMEデータ・バス606にトルク
制御管理プロセッサ602の識別コードが書込まれる。
さらに、すべてのセマフォが同じ無効状態にセットされ
、トルク・ループ演算回路610がクリアされ、リセッ
トされる。局部入/出力バードウェア・ラッチ607は
トルク・ループ演算回路610に対するハードウェアま
たはソフトウェア制御セレクタとして動作し、ソフトウ
ェア制御フラッグがセットされるとトルク制御管理プロ
セッサ602からの制御が可能になる。
実行の最終段階において、リセット・サブプログラム6
22がユーティリティ・サブルーチンPWMENをコー
ルし、次に低い制御レベル(アーム・インターフェース
φレベル)のための信号が発生してアーム駆動回路をク
リアする、即ち、PWMチップと呼ばれる制御デジタル
装置をOFF状態に切換える。
メイン・プログラム618はブロック630のユーティ
リティ・サブルーチンC)IEcKRAMをコールする
ことによ°つて開始手順を継続してTPボード600に
おけるすべてのRAMメモリに対するメモリ診断を行う
。次いで、参照番号632で示すように初期値設定サブ
ルーチンT(:ALCDBをコールすることにより、T
Cデータ・ベース・メモリ616中のトルク・ループ演
算回路データ・ベースをクリア/初期値設定を行う。
次いで、参照番号634に示すようにサブルーチン八C
TTMSによりトルク・ループ演算回路610をON状
態にする。次に、ブロック636においてユーティリテ
ィ・サブルーチンCOPYTMSをコールすることによ
り、TCデータ・ベース・メモリ616及びビンボン・
メモリ608との間のデータ・コピーを不能にする。さ
らに、ユーティリティ・サブルーチンLOADTMSを
コールして、参照番号638で示すように、7MSプロ
グラミングをメモリ611ヘダウンロードする。
ブロック640において、再びユーティリティ・サブル
ーチンCOPYTMSを実行することにより、TCデー
タ・ベース・メモリ616及びピンポン・メモリ608
との間のコピーを可能にする。次いで、次に高いSCM
制御レベルに関して、TPボード600がロボツテ制御
動作をできる状態にあることを示す信号がブロック64
4によって形成される。
次の能動的ロボット制御動作中に、メイン・プログラム
618は高SCM制御レベルから発生する特定の高優先
順位指令を待機しながら連続ルービング操作を受ける待
機指令モードに進む。即ち、ブロック644は特定の指
令がTPボード600に送信されているかどうかを判定
する。指令が検出されるまでブロック644においてル
ービングが続き、検出されると、待機指令サブプログラ
ム624がコールされる。実行後、次のSCM指令が受
信されるまで再び指令検出ループに入る。ブロック64
4において、高SCM制御レベルが特定指令をTPボー
ド600にダウンロードしたことを意味するフラッグが
セットされているかどうか、セマフォ3を観察して判断
することにより、S0M指令検出が行われる。 第8F
図に示すように、待機指令サブプログラム624はシス
テムがロボット・アーム動作を制御できる状態にあるか
どうか、即ち、高SCM制御レベルがブロック646に
示すようにマスター・サーボ可能化信号を発生したかど
うかを先ず判定する。マスター・サーボ可能化モードに
おいて、30M制御装置はTPボード600が実行すべ
き一連のトルク指令信号を発生する。好ましくは、AI
F制御レベルからのクロック制御下に1ミリ秒毎に1回
ずつトルク指令が発生する。
マスター・サーボ可能化信号が発生して優先モーション
制御を行うと、ブロック648は高SCM制御レベルに
対して、指令が受信され、応答が得られたことを確認す
るセマフォ3フラツグ・ダウンをセットする。次いで待
機指令サブプログラムはロボット・アーム・モーション
制御が実施されるのに伴なって30M指令検出ループに
戻る。
逆に、マスター・サーボが不能化されると、先ずブロッ
ク650がSCM指令準備ビットをチェックし、次いで
ブロック652が割込みプログラムの実行を不能化する
。なぜなら、優先順位がモーション指令よりも高い指令
を確認し、実行しなければならないからである。次いで
ブロック654がサブルーチンPWMCLEARをコー
ルすることによって出力電圧指令をゼロにセットする。
次に、割込みプログラムが可能化されて再び割込み制御
に基づくアーム・モーション制御が行われる。
ブロック658.660において、診断指令またはパラ
メータ変更指令がダウンロードされたかどうかの判定が
行われ、サブルーチン(:0PYINにより30M指令
がTPデータ・ベース・メモリ616ヘコピーされ、実
行される。ブロック662がユーティリティ・サブルー
チン001!YCMDを実行することにより、指令をピ
ンポン・メモリ608のバンク1に転送する。次いで、
ブロック664がBSWITCHを実行することにより
、ブロック666が30M指令をビンボン・メモリ60
8のバンク2へ転送することを可能にする。次に、トル
ク・ループ演算回路atOが30M指令を実行し、ブロ
ック668はダウンロードされた30M指令が実行され
たことを示すS0M制御レベルのための信号を発生する
。次いで、ブロック648がセマフォ3ダウン・フラッ
グをセットし、上述のようにプログラム実行が続く。
割込みプログラム620の詳細なフローチャートを第8
A1乃至8A4図に示した。AIFボード800からの
割込みクロック信号が待機指令サブプログラム624に
おいて可能化されると、第8A1図のブロック670に
示すように開始される。次いで、制御ループ・サンプリ
ング速度、即ち、250マイクロ秒に1回の割込み速度
で実行される。
第8Ai図において、ブロック6)2は割込みを不能化
し、ブロック673はマスター・サーボが可能化されて
ロボット制御が可能である瞭どうかを判定する。マスタ
ー・サーボが可能化されているなら、5V−ENABL
E、 ADSET、 COMMCHECK及びC0MM
5TOREユーテイリテイがブロック674−677に
おいて実行される。
マスター・サーボが可能化されていなければ、即ち、ロ
ボット制御が不能なら、ブロック678がPWMSMサ
ブルーチンを実行することによってAIFボード800
のPWMモータ制御チップを不能化し、ブロック679
.680がユーティリティPWMCLR及びCLR5V
をそれぞれ実行する。
次いで、終端割込みブランチ681に進み、ブロック6
82がシャットダウン・エラーをチェックする。シャッ
トダウン・エラーが存在するならブロック683がロボ
ット停止を実行する。(250マイクロ秒ごとに発生す
る)割込みクロック・チックがカレント・ミリ秒共通サ
イクル時間で3カウントに達すると、ブロック685が
カウンタを0にリセットし、プログラムが終結する。も
しカウント3に達しなければ、ブロック686がカウン
タを増分し、ブロック687がモータコミュテーション
状態を記憶し、プログラムが終結する。
マスター・サーボが可能化されている場合を示す第8A
2図において、ユーティリティ・プログラム674−6
77が実行されたのち、ブロック688.689がチッ
ク・カウント0及び3をそれぞれチェックする。0も3
も存在しなければ、ブロック690が各ロボット軸から
の電流フィードバックを得る。もしチック・カウントが
0なら、ブランチ691が新しいトルク指令を得る(ボ
ックス692)か、この新しいトルク指令がなければ、
先行のトルク指令を利用する(ボックス693)。チッ
ク・カウント3において、逆起電力指令がTMSにセッ
トされ(ボックス694)、エネルギー演算出力が得ら
れ(ボックス695)、ビンボン・メモリ・スイッチが
セットされる(ボックス694A)。
電流フィードバックを取出し、各チック後に行われるそ
の他の機能を実行するためのルーチンIFBは6軸すべ
てが完了するまでループされる。第8A4に示すように
、ビンボン・メモリ・スイッチBSWITCHはブロッ
クF122においてセットされ、PWM電圧指令はボッ
クスF134によって出力され、 BA(:KEMFは
ボックスF12Bによって出力される。
リミット・チェックはF!30及びF!38において行
われる。次いで、プログラムはF76を通ってF8,0
に分岐させられる。
第8A3図において1.F 82でTICK・2なら、
ボックスF84が平均電流をビンボン・メモリヘコピー
し、ボックス701がエネルギー・チェック指令をセッ
トする。TMS動作がF1aを介して行゛われたのち、
ボックス702がビンボン・メモリ・スイッチをセット
し、ポックスフ03がPWM電圧指令を出力する。
ブロック704が再びチック・カウンタをチェックし、
カウントがそれまでと異なり2であれば、ブロック70
0Aはビンボン・メモリへ平均電流をコピーする。゛次
いで、フラッグがセットされ、チック・カウントがブロ
ックF102において3であると識別されると、ブロッ
ク705においてなんらかのデータがコピーアウトされ
る。最後に、終端割込みブランチ681に進み、第8A
1図の682−687に示す命令を利用して割込みプロ
グラム620の実行を終結させる。
11星m TP演算回路610のためのプログラミングはサンプリ
ング速度で周期的に実行されるメイン・プログラムを含
む。メイン・プログラムは演算回路(TMS)リセット
、及び演算回路(TMS)RAMチェック、クリア及び
初期値設定、及びこれに続く、トルク管理プロセッサ6
02からのトルク指令待機を行う。
トルク指令の可用性が指示されると、6つのジョイント
・モータすべてについてトルク・ループ制御アルゴリズ
ムが実行される。
次いで、エネルギー演算がなされ、プログラム実行前に
逆起電力が演算される。
札二二土ヱユ1亘 ロボット制御装置全体のうちのトルク制御ループ部分の
詳細なダイヤグラムを第7A3図に示した。下記の制御
アルゴリズムはロボット制御ループ構成全体のうちのト
ルク制御ループ部分の実施に際してトルク、ループ演算
回路610において実行される。
PI   アルゴリズム このアルゴリズムを250マイクロ秒サンプル周期の場
合に関連して述べる。1)入カニ SCMからのトルク指令TC(1ms。
更新速度) A/Dコンバータからのフィードバッ クトルク T(250マイクロ秒更新速度) Tc、Tは次のようにスケールされ る;符号ビットで左詰めされた16ビ ツト量で記憶される10個の有効ビッ ト。この型式を選択するのはA/Dイ ンターフェーシングを簡略化するため である。
5DDD  DDDD  DDXX  XXXX出カニ PWM指令レジスタへのPWM指令P WMout (250マイクロ秒更新速度) 2)原理: Terr = Tc −T にp:トルク・ループ比例ゲイ ン tau :積分の時定数(モータの 機械的時定数) 3)アルゴリズム /*誤差を得る申/ T (n)・(A/Dからの入力データ)/牟すイズを
正規化する申/ Terr−(Tc (n)2”1O−T(n)2″″1
0)/2”1B /*次の積分を計算する中7 temp (n)=integ+KI”Terr/申積
分限異積分限界クする*/ もしくtemp<・−1ntla+t’)ならtemp
=−intlmt もしくintlmt<−tamp)ならtemp−in
t1mt/*次の時間の積分値を記憶する申/ integ−temp /傘PIの結果を得るI/ lemp−integ/2°16+にP’Terr/I
あふれをチェックする*/ もしくtemp>78FF)ならtemp−78FFも
しくtemp>8680)ならte、mp−8680/
*PWMを線形化する**/ もしくtemp>−200)なら PWMout=temp+700 もしく200>temp>i)なら PWMout=temp”2+500 もしく0>tea+p>−FDGO)ならPWMout
=temp’2+FB80もしくFDGO>temp)
なら PWMout=temp+F980 Kl −(にP/1au) ”Ts Ts−サンプル周期−250マイクロセコンド4)KP
及び’K Iのスケーリング I)次元  にp : [V/N−Mltau、 TS
 : [sec] トルク   電流  Terr’2”6  PWMou
t   モータボルトN−M      A     
  ビット      ビット      ボルト>−
−−Kt−−−−Kad−−−−−にP”2”−16一
−Kpwm−−−−−−>く曹曽讃−曽−−讃一一一一
一睡−にI)sm−曽−−蒙−−−一口會曽會・−m@
fia)Kt  トルク−電流ゲイン [A/N−Ml
KadA/Dコンバータ・ゲイン [ビット/A]Kp
wmPWM ゲイ ン        [V/ピッ目i
i)方程式 %式% : 1、A/Dコンバータのフル・スケールが”/−Im6
xなら Kad−2°15/Imax [ビット/A12、PW
Mチップ及びパワー・ブロックのゲインが+/−Vma
xならKpwm−Vmax/2”15[V/ビット] 
、 従っ て、 にad”Kpwm−Vmax/Ima
x [V/A] ゛起電 アルゴリズム 逆起電力EMF演算を利用して安全上のモータ速度を算
定する。
1)人カニ A/Dコンバータからのモータ電流i PWM指令レジスタからのモータ電圧 in 出カニ 逆起電力  VEL算定速度 2)原理: VEL−W”Ke−Vin−(L”di/dt+1R)
R−モータ抵抗  [オーム] L+モータインダクタンス [H] Vin =モータ端子電圧   [V]にe=モータ逆
起電力定数[V/ラド/秒]W−モータ速度  [ラド
/秒]i =モータ電流  [A] 3)アルゴリズム: VEL (n) ・[PWMout”2°9−MoTL
” i (n) −i (n−1)−s (n) 1x
oTn]/2116ただし、 1 (n)は6ビツト右詰めされ、1ミリ秒/ T s
回累積されたA/D値(1ミリ秒累算の平均値)。
TsはPWMサンプル速度;25oマイクロ秒 4)L、Rのスケーリング: i)方程式: %式%() ただし、Krpm・(SV/KE) 傘VELii)例
: Vmaxs300v、  Imax−20A、  R−
0,49オー入。
L−5,5mh KE−120V/Krpm、  delt・4ミリセコ
ンドMOTR−2,88,MOTL鍵751Krpm=
9.76″10”−3”VELVin  PWMout
     VEL     VELemfV     
 ビット         ビット         
 ビット−−−Kpwm−一−−−−2”−9−+−−
−−2”−16”5V−−1/にE−一−1+1OTL
−1 エネルギー・チェック・アルゴリズム エネルギー・チェックはモータエネルギーを演算し、エ
ネルギーが規定時間に互って規定限界を超えるとこれを
SCFにアラームする。
1)入カニ 1ミリ秒平均電流CURI SCMからのエネルギー限界ELIMIT(一定) SCMからの時定数 TAtl (一定)出カニ SCMへのアラーム EC0DE 2)原理: l*i         エネルギー 1−−−−−x−−−−−1/ (1+as)−−−−
−一閾イ直−−−一一−アラーム1−−−−−1   
 1 次フィルタi−電流[A] 3)アルゴリズム: temp  =CUR1”2−ENERGYZOENG
Y=ZOENGY  +  tempENERGY−Z
OENGY/2″”16”TAUENERGY > E
LIMIT  ならE(:0DE−OVENGY 4)スケーリング i)アラーム状態出力 ステップ人力111J・K”11m1tが印加されると
、tx秒後にアラーム状態を出力する。
if)方程式 %式% = deltII4ミリ秒なら約20 乃至40 エエ遣」ヨ”y >b1立 ・ TP回路のサイクル動作を第9図に示して、種々の制御
事象の選択態様を明らかにした。上方スケールで示すよ
うに、SCMボード400は1ミリ秒サイクルで動作す
る。TPボード600は下方スケールで示すように17
4ミリ秒のサンプリング・サイクルで動作する。4つの
TPボード・サンプリング・インターバルをチックO乃
至3で表わした。
68にスケール上に6つのジョイントについてそれぞれ
のサンプリング・インターバルに示す順序で最も新しい
トルク指令がトルク管理プロセッサ600によって受信
される。
トルク指令は62.5マイクロ秒の遅延を伴なってTP
演算回路へ同じ順序で転送される。すべてのジョイント
について、各サンプリング・インターバルの始めに電流
フィードバックが受信され、TP演算回路へ転送される
トルク・プロセッサ・ソフトウェア・ コメント TPボードでの動作に関するその他の詳細事項を以下に
述べる。
メモリ・マツプ トルク・プロセッサ・ハードウェアに関する文書に記述
されているように、モジュールはプログラムEFROM
、ローカルRAM。
共用RAM (VME)、TMS?”、’ボン・ラム及
びTMSプログラムRAMを具備する。
アドレスは下記の通り。
0QOQQOQ(17fff  EPROM03400
0   037fff    共用RAM  (V14
E7’ドレX900000−!103fff) 038000    Q3bfff    ローカルR
AM03c000   03c3fff   ピンポン
RAM  (2バンク)040000   041ff
f    TMSブ0グラム・メモリ凱旦J口i % eaoooマイクロプロセッサ602は7つのユーザ割
込みレベルを有し、これらはすべてベクトル割込みであ
る。TPハードウェアにおいては3つの割込みレベル、
即ち、レベル7.6及び5を利用できる。レベル7は下
記の2つのソースによりて発生させることのできるノン
・マスカブル割込み(NMI)である。
次に、アーム・インターフェースに使用される割込みを
説明する。
レベル7 (NMI):1 ) PWMチップ故障また
はPWM故障信号。PWM チップの以上または2つ の連続するPWMサイク ルに新しいPWM指令が 、現われないことを指摘す る。
2)ドッグタイマーを監視− タイムアウト。
レベル6 (1’WMIREQ) : P W Mチッ
プから発生するPWM割込みリフニス ト。トルク・ループ演算 の開始に利用される。4 Khz8250マイクロ秒) レヘ71/ 5 (VTICK) : 1ミリ秒サーボ
・サイクル・チック。
アドレス・エラーのような八−ドウエア故障タイプのエ
ラーは680θ0トラツプ・ベクトルに組込まれる。
PWMゲート・アレイ 第781及び13図に示すPWMチップは8ビツト・モ
ード動作及び16ビツト・モード動作を備える。トルク
・プロセッサでは16ビツト・モードが使用される。
詳細にライてはGA1500 PRODUCT DAT
A”を参照されたい。
アドレス      チップ1 80000       PWM  内部ランプ・カウ
ンタ・レジスタ[002PWM  制御/状態レジスタ
8001)8      1’WM  指令レジスタ 
Jt18000a       PI!IN  指令レ
ジスタ Jt28000e       PWIA  
指令レジスタ Jt3アドレス      チップ1 80040       f’WM  内11ランプ・
カウンタ・レジスタ80042       [’WM
  制御/状態レジスタ8(1(146PWM  指令
レジスタ Jt48Q(14a       f’WM
  指令レジスタ Jt580Q4a       P
WM  指令レジスタ Jt6プロセス・タスク配分 密に詰まったす身クル時間でロボット状態を最適化する
ためには、68000と7MS320との間で下記のよ
うにタスクを配分する。
1  、 68000 1.5CMとの通信 2、指令処理 3、電流サンプリング及びオフセット記憶 4゜コミュテーション状態読取り 5、ビンボン・メモリ管理 6、PWMチップ管理 7、診断 8、エラー・リポート 2.7M5320 1、トルク・ループ演算 2、電流平均化 3、過電流チェック(絶対量及び平均 量) 4、PWM補償 5、コミエラーシコン補償 6、エネルギー・チェック 7、逆起電力チェック プロセス・アルゴリズム ループは860シリーズ・ロボット及びRXロボットの
ブラシなしモータにもPUMAシリーズ・ロボットのブ
ラシ付きモータのも対応できるように構成するのが普通
であり、モータだけでなく、トルク・プロセッサは液圧
式ロボットのための圧力ループ・プロセッサとしても機
能する。
SCMとのインターフェース ソフトウェアのオーバヘッド時間は極力小さく抑えねば
ならないから、共用RAMのセマフォと共に、第6図に
示すような2つのバッファが必要である。このように構
成すれば、2つのプロセッサが同時に別々の場所に対す
る書込みまたは読取りを行なうことができる。
1、バッファ11−3Cからのデータ トルク指令(1ミリ秒)やパラメータ(〉1ミリ秒)の
ようなSCMからのデータはこのバッファに書込まねば
ならない2、バッファ2−トルク・プロセッサからのデ
ータフィードバックや状態のようなトルク・プロセッサ
からのデータはこのバッファに書込まねばならない。
注: INTFSPECO4−トルク・プロセッサ・インター
フェース通信化様を参照されたい。
各バッファへのアクセスは連携のセマフォで制御される
セマ7l−BUFFERI : SCM DoN+L Sll;M書込み完了TP 0O
NE −TP読取り完了 セマフォーBUFFER2: SCM DONE−SCM読取り完了 TP 0ONE −TP書込み完了 (SCM DONE−55h、 TP DONg−^A
h)プロセスは下記の通り: 1、セマフォ状態をRESET−0に初期値設定。
2、書込みプロセッサがデータを書込む。
3゜セマフォをWRITE PROCESSORDON
Eにセット。
4.1ミリ秒割込みを待機(SCHに 関しては1ミリ秒割込み、TPニ 関しては第4トルク・ループ・ チック) 5、読取りプロセッサがデータを読取る。
6、セマフォをREAD PROCESSORDON、
Eにセット。
7、ステップ2に進む。
注: データ記録器はWRITE PROII:ESSORが
なされるとデータを読取るが、読取りが完了すればセマ
フォをセットしない。
ダブル・バッファの動作タイミングは下記の通り: 1ミリセコンド・ チック バッファ1 SCM            w         
          w              
   wTP       r         r 
        rバッファ2 TP w  胃胃 SCM        r             
r            rTPタイミングは極めて
重要であるから、バッフトデータ構造はトルク・プロセ
ッサ・ソフトウェア・デザイナ−の手で設計しなければ
ならない。この設計には68000命令セツト及びTP
ハードウェア構造の長所を取入れることになる。
一以 下 余 白− 68000と7MS320との間のインターフェーシン
グ 7MS320インターフエーシングはビンボン・メモリ
を介して第6図に示すような連携ハードウェア回路との
間にのみ行なわれる。
ダウンロードロ な診断 TPに特殊なEFROMを組込んだり、あるいは例えば
EMULOGICやチュータ・ボードのような開発シス
テムを挿入しなくても、TP関連ハードウェア、即ち、
PWMチップ及びA/Dを試験できるように、ダウンロ
ード可能な診断機構を設ける。
パワーアップと同時に、SCMやMlzar CPUの
ようなホスト・コンピュータやTP中に配置された予約
共有RA M (902αooh乃至903fffh)
にTP診断をダウンロードすることができる。自己診断
または初期値設定のような通常の開始手順が完了すると
、SCMその他のマスター装置がTPに診断指令を供給
することができる(4000h乃至900004hに書
込む)。
指令を確認したTPは9020000hに位置するサブ
ルーチンをコールし、バックグラウンド・タスクに戻る
。なお、TPアドレスとVMEアドレスは異なるから、
ダウンロード可能な診断はすべて再配置可能でなければ
ならない。
サーボ制御モジュール(SCM)またはボード400(
第4図)はロボット制御システムのモジュール構成に従
い、基本的ロボット制御全般に対応するコア・ボードと
して動作し、記憶されているロボット・プログラム指令
からアームの解を形成するか、または広範囲のロボット
制御装置の一部として動作し、高レベル・システム制御
ボード350によりロボット・プログラム指令から形成
されるアームの解を受信してこれを実行するように構成
する。アームの解の形成には、ロボット・プログラム・
ランゲージの解読、バス・プランニング、軌道演算(中
間位置指令及び軸整合)、デカルト座標系とロボット・
ジョイント及びロボット工具座標系との間の位置情報変
換などのようなロボット制御機能の実行が伴なう。SC
Mボード400は関連周辺装置及び、もし設置されるな
ら、ホスト・コントローラとインターフェースする通信
をも可能にする。
SCMボード400はロボット制御系のアーム・モーシ
ョン制御ループを実行するためのプログラム制御される
デジタル回路を含む。モーション制御は好ましくは相関
位置、速度及び加速制御ループを含む制御ループ構造に
より軸ごとに行なわれ、前記ループからトルク指令が形
成され、トルク・プロセッサ・モジュール600によっ
て実行される。
デジタル・サーボ制御装置は協調されたマルチプロセッ
サ・サーボ制御装置であり、(1)アームの解によって
各軸について与えられる位置及び速度指令と、(2)ア
ーム・インターフェース・モジュール800を介して位
置エンコーダ及びタコメータから得られる位置及び速度
フィードバック信号に基づいて出力トルク指令を形成す
る。
SCM制御ループ動作において、供給される軸位置指令
及び軸位置フィードバックから各軸について位置誤差が
算出される。また、連続する位置指令、及び軸速度フィ
ードバックから、各軸について速度誤差が算出される。
好ましくは位置及び速度制御ループを並列に操作する。
即ち、位置及び速度誤差を加算することにより、トルク
制御モジュール600におけるトルク制御ループのため
のトルク指令を形成する。さらにまた、加速指令を好ま
しくは連続する速度指令から求め、これをフィードフォ
ワード加速制御ループに供給し、該制御ループが加速に
基づくトルク指令を発生し、SCM出力トルク指令形成
の際に前記加速に基づくトルク指令が位置及び速度誤差
と加算されるようにする。
ループ演算が行な、われる頻度は迅速、正確、円滑かつ
安定なロボット・アーム・モーションが得られるように
選択する。例えば、ここに述べる実施例のように軌道サ
イクルが32ミリ秒となるような頻度を選択する。必要
なら、もっと速い軌道サイクル、即ち、8ミリ秒という
短いサイクルも可能である。
SCMデジタル回路 第10図から明らかなように、30Mボード400は一
般に2つのセクション、即ち、局部プロセッサ・セクシ
ョン401とシステム演算セクション403とから成り
、システム資源セクション403はバス405を使用し
、ロボット制御システム全般に関連し、位置および速度
制御ループの実行には特に関連しない機能を提供する。
システム資源セクション403が提供する機能としては
、ロボット・アームの解を記憶するEPROM408、
持久データを記憶するバッテリ・バックアップRAM4
10、静的RAM412、リアルタイム・クロック41
5、DMAコントローラ414、及び2つのマルチプロ
トコル・デュアル・チャンネル通信コントローラ416
.418などがある。
システム資源セクションはデュアル・ボート・メモリと
して構成する。従って、局部プロセッサ401からでも
VMEバス420からでも同様にシステム資源セクショ
ンにアクセスできる。システム資源機能はVMEバスに
従属するバスの様相を呈する。従って、これらの関連機
能をSCM局部プロセッサからでも、システム・バスに
接続した任意プロセッサからでも制御することができる
局部プロセッサ・セクション401において、SCMデ
ジタル回路は特定の性能を得るのに必要な、即ち、すべ
ての軸を正確かつ能率的に制御するのに必要な制御演算
及び制御データ管理を可能にすると共に、ホスト・コン
トローラ、周辺装置及びその他のロボット・コントロー
ラとのインターフェース通信を可能にする整合コプロセ
ッサ・インターフェース及び資源回路を含む。好ましく
は、サーボ制御管理プロセッサ402が、位置及び速度
制御ループ演算を主要目的とする従属プロセッサとして
機能するサーボ演算回路404と協働するように構成す
る(即ち、フィードバックフィルタ・ループ・ゲイン、
位置及び速度誤差など)。
サーボ制御管理プロセッサ402は30Mボード400
との間で、また、サーボ位置/速度制御演算回路404
との間で制御、状態及びプログラム・データを送受信す
る。サーボ制御管理プロセッサ402としては、データ
処理能力の高いMotorola 6800Gと利用で
きる。プロセッサ402.404のそれぞれの能力に従
ってデータ管理及び制御演算タスクを分離することによ
り、製造及び使用コストを軽減しながら著しく改善され
た制御性能を達成する基礎となる基本回路編成が得られ
る。
図示の実施例では、30Mボード400の局部プロセッ
サ・セクションを、サーボ制御管理プロセッサ及び2つ
のコプロセッサとして68000プロセツサを使用して
実施した。コプロセッサはいずれもaaooOの周辺装
置として作用する。コプロセッサの406の1つ(好ま
しくはNational Sem1−conducto
r32081)は30Mボード400によってアームの
解を供給すべき時に浮動少数点演算能力を提供する。他
方のコプロセッサ、即ち、従属プロセッサは位置/速度
サーボ、演算回路404であり、これにはTexas 
Instruments TMS−32010Digi
tal Signal Processorと採用した
。位置/速度プロセッサは高速固定少数点演算能力を提
供する。
局部プロセッサ・セクションの一部であるその他の機能
としては、局部メモリ、EPROM422及びRAM4
24、周辺タイマ/カウンタ装置、割込み制御装置43
0、及びシステム・エラー・モニター装置428がある
。局部プロセッサ402はTPMまたはその他の関連タ
イプの機能にアクセスするためのVMEバスに対するマ
スターとして作用することができる。ただし、30Mボ
ード400はシステム・リセット発生、バスにアクセス
するためのバス選択及びシステム・バス・クロック発生
などのよりなVMEバス・システム・コントローラ・タ
イプの機能は提供しない。なぜなら、これらの機能はア
ーム・インターフェース・ボード800において行なわ
れるからである。
30Mボード400はできる限り多くのシステムに融通
性を与えると共に、市販の大規模集積(LSI)回路か
ら最大限の性能を引出せるように構成する。局部プロセ
ッサ・バスに直接接続せずに、システム資源セクション
にDMA及び通信手段を組込む理由の1つもここにある
。このように構成すれば、サーボ制御管理プロセッサ4
00が通信データのり動に直接干渉し、なくてすみ、局
部プロセッサ・バス通信に伴なうオーバヘッド無駄時間
がなくなるから、サーボ制御管理プロセッサ400にお
けるプログラム実行時間に大きい影響を与えることなく
高速逐次通信を行なうことができる。また、゛これらの
機能をシステム資源セクションに組込むことにより、V
MEバス・マスターとして作用できる他の任意のプロセ
ッサによってこれらの手段を操作することができる。そ
の結果、サーボ制御管理プロセッサ400を通信に関連
する処理から完全に解放することになる。この構成を採
用すれば、ロボット制御システムに必要なすべての機能
をコストの点で能率的に、かつ最小セットのボードで実
現でき、しかも全体的なシステム設計に影響を及ぼすこ
となく制御装置の性能を高めることができる。
他の重要なセクションはサーボ制御管理プロセッサ40
2とサーボ演算回路404との間のインターフェースで
ある。ここでは“ビンボン”または”バンクスイッチ”
メモリと呼ばれる特殊なデュアルポート・メモリ編成に
より、どちらのプロセサの処理性能にも影響を及ぼすこ
となく、一方のプロセッサが他方のプロセッサと通信す
ることができる。
サーボ匍 ボードのプログラムされた動作第11B図に
略示するように、サーボ制御データ管理プロセッサ40
2のためのプログラム・システムはMAINと呼ぶバッ
クグラウンドプログラム450及び周期的に作動される
5ERVOと呼ぶフォアグラウンド割込みルーチン45
2から成る。図示のようにシステムがRESETからス
タートすると、MAINプログラム450の連続実行の
前に初期設定ルーチン453が実行される。周期的に実
行される5ERVO割込みルーチン452のほかに、必
要に応じてフォアグラウンドにおいてC$tlNEXと
呼ぶ割込みルーチン454が動作して予定外の割込みを
処理する。さらに、ウォッチ・ドッグ・タイマー割込み
と呼ばれる特殊な最高優先順位ルーチン457が外部ウ
ォッチ・ドッグ・ハードウェアの動作に応答して機能す
る。
ロボット制御システムが演算能力を高めることによって
性能を高めるためのシステム制御ボード350を含む場
合、MAINプログラムがシステム制御ボード350か
ら位置指令を受信し、分配する。最小限の、即ち、基礎
的なロボット制御システム構成にはシステム制御ボード
350が含まれず、MAINプログラム450はサーボ
制御ボード400において局部的に位置指令を発生させ
るためアームの解を求める機能をも行なう。基礎ロボッ
ト制御についてはさらに後述する。
5ERVOルーチン452を周期的に実行するためにM
AINプログラム450が割込まれる頻度はアーム・イ
ンターフェース・ボード800からのVMEバス155
に1ミリ秒毎に1回ずつ発生する信号VTICHによっ
て制御される。5ERVOルーチン452の基本的機能
は下記の通り。
1)サーボ演算回路404との間で制御データを転送す
る; 2)トルク・プロセッサ・ボード600との間で制御デ
ータを転送する; 3)アーム・インターフェース・ボード800からVM
Eバス155を介してセンサフィードバックデータを受
信する; 4)補助バックグラウンドタスクRDMASCとインタ
ーフェースする; 5)同期データ記録を行なう; 6)ワン・ショット・データ記録を行なう;7)同報デ
ータをブラックボード記憶部に記憶させる; 8)重大なエラー状態が発生するとシステムを停止させ
る。
初期設定ルーチンを第11C図に詳細に示した。このプ
ロセスは第11C図の連続するブロックに指示しである
一連のタスクを行うのがその主要機能である。下に掲げ
る表はこれらのタスクの性能に関する情報を示す。
タスク       初期テ lNl5RC初期手順のためのビット・バス・エミュレ
ータ lNScROM      フィードバックインターフ
ェースfNIFrX    グローバル変数 lNC0NE    ロボットデフォルト構成INTM
S    サーボ演算回路−ダウンロード・プログラム
・メモリ INIAIB    トルク・プロセッサ・ボードIN
ROB    ロボット・、ソフトウェア構成INJT
MS    バンク・スイッチ・メモリINJONT 
   サーボ演算回路プログラム・メモリ及びトルク・
プロセッサ ・ボード共用RAM読取りに基 づくジョイント・データ構造 INBtlF    内部バッファ管理セクションlN
IDICワン・ショット及び同期データ記録装置インタ
ーフェース CRTINI    入/出力バードウェア・サーボ制
御ボード400 BBINIT    システム制御ボード350とのビ
ット・バス・エミュレータの インターフェース及び初期手順 システムが初期設定されると、IAAINプログラム4
50(第11D図)が連続周期的なバックグラウンド実
行を開始する。第11D及びIIE図に示すように、R
DMASCと呼ばれるルーチン456が実行されて、シ
ステム制御ボード500(第4図)から受信されたシス
テム指令が記憶される共用RAM中の指定記憶場所であ
るビット・バス・エミュレータからシステム位置指令が
継続的に読取られる。
全体的に見て、バックグラウンド及び割込みルーチンは
下記のような有限サーボ状態を取ることができる。
〇 −起動状態 1− 初期設定状態 2− 較正状態 3− サーボ使用禁止状態 4− サーボ使用可能、停止状態 5− サーボ使用可能、動作状態 有効な状態転移が行われるようにすると共に、新しい状
態に対する割込みタスクをシーケンスするのがバックグ
ラウンドタスクである。従って、割込みタスクが書込ま
れて”指令された”状態を受け、”現時”状態を供給す
る。また、バックグラウンドタスクはビット・バス・エ
ミュレータからの指令によってシーケンス制御される。
下記の状態転移表はこの動作を示す。
ビット・バス か らの指令1[+ 現時状態 3617旦 11634旦」昆■″−1”は
違法な状態運転転移を示す。ビット・バス指令の定義は
下記の通り: 36− 位置指令 17− 較正指令 45− サーボ・パラメータ設定指令 1− サーボ可能化/不能化指令 16− 停止指令 34− 初期設定指令 2〇 −正常動作指令 2− ブレーキ指令 18− リンブ指令 46− 現時サーボ・パラメータ・ アップロード指令 一般に、毎Valサイクル、この実施例では32ミリ秒
毎に1回、サーボ・ループのために1組の位置指令が発
生する。また、各Valサイクルは1ミリ秒毎に1回V
MEバスで発生する■チックによって測定される。この
実施例では各VALCYCLE中に32個のVチックが
存在する。
サイク7L/−カウンタTCK(:NTRは各VALC
YCLE中のVチックをカウントする。ランニング・カ
ウンタUNICNTRはVチックのカウントを231チ
ツクまで累算する。
ブロック457のuNIcNTRで指示されるように1
つ前(7) VALCYCLEが終結すると、TCKC
NTR−1となる新しいVALCYOLEの開始と同時
にブロック458が作動して新しいVALCYCLEの
ための新しい位置指令セットの受信を開始させる。その
結果、ブロック459がビット・バス・エミュレータか
ら新しい指令を読取る。
指令が(サーボ使用禁止のような)緊急指令を含む場合
には、ブロック460が緊急指令バッファへ緊急指令を
送る。ブロック461は運動指令バッファへ運動(位置
)指令を送る。同様に、ブロック462は非運動指令バ
ッファへ非運動指令を送る。
ブロック460.461及び462は同様の基本的機能
を行う。先ず、共用RAMのビット・バス・エミュレー
タから指令が読取られ、次いで所定のチェックが加えら
れて指令を有効化し、最終的に、局部非共用内部RAM
の指定バッファに指令が送られる。
システム指令を内部RAMバッファへ転送する指示がな
ければ、ブロック463は指令エラーなしを記録し、別
の指令を作成する(この指令エラーなしが2度目なら、
最終指令と同じ指令または停止指令を作成する)。
次いで、ブロック464,465はシステム制御ボード
500に対し、チック・カウンタが現時VAL(:YC
LEニ近い、即ち、VALCYC−3に等しければ、最
も新しい指令が受信されたことを回答する。次いでブロ
ック466はRDMASCが再び実行されるまでllN
IcNTRを繰返しボールすることにより次のシステム
指令を受信する。
(1ミリ秒毎に1回) VTICにが発生すると、5E
RVO71z−チン452を実行するためRDMASC
が一時的に割込まれる。第11A図のフローチャートに
示すように、 5ERVOルーチン452がブロック4
70に示すように、必要な雑用及び付加タスクを行う。
もしチックが長いチックなら、即ち、チック・カウンタ
が1で、新しいVAL(:YCLEの開始を示すなら、
ブロック471はさらにいくつかの付加タスクを行う。
具体的な機能としては、チック・カウンタを1にリセッ
トし;システム制御ボードからサーボ演算回路へ新しい
位置指令をルーチングシ; 5ERVルーチンの状態変
化を処理する。
チックが短いチックなら、即ち、32チツク・アイクル
中の中間チックなら、または長いチックのあとに付加タ
スクが行われた場合には、ブロック472はサーボ演算
回路が取るべき状態に従ってデータをバックスイッチ・
メモリにロードすることにより、サーボ演算回路へのデ
ータ転送を用意する。
第11F図のフローチャートはサーボ演算回路のセット
アツプを詳細に示す。演算回路が起動状態にあることを
ブロック473が検出すると、ブロック474はサーボ
演算回路404にダウンロードするため、始動ロジック
に必要なデータを取出す。初期設定状態では、ブロック
475.476が初期設定指令データを取出してサーボ
演算回路404にダウンロードする。同様に、演算回路
較正状態では、ブロック477.47Bがサーボ演算回
路404のために較正指令データを用意する。
演算回路を不能化したければ、ブロック479.480
がバンク・スイッチ・メモリに不能化指令をロードする
。また、演算回路を、演算ラインの大部分を占める停止
または動作状態にしたければ、ブロック481.482
がバンク・スイッチ・メモリに動作指令データをロード
する。表に挙げた状態が全く検出されなければ、ブロッ
ク483がエラーを記録する。
データの流れ びタイミング 停止/動作状態において、制御データは第12−2図の
関連、して後述するように流れるのが普通である。毎V
ALCYCLEに1回、即ち、この実施例では32ミリ
秒に1回ずつ、すべて軸に関する位置指令データがサー
ボ制御ボード・メイン・プログラムにより、システム制
御ボードから受信゛され、バンク・スイッチ・メモリを
介してサーボ演算回路に供給される。1ミリ秒毎に1回
ずつ各軸についてフィードバックデータ(位置及び速度
)が発生し、サーボ割込みルーチンの動作を介してサー
ボ制御データ管理プロセッサにより、1ミリ秒毎に1回
ずつバンク・スイッチ・メモリを通ってサーボ演算回路
へ転送される。
サーボ演算回路は指令及びフィードバックデータから、
各軸について1ミリ秒毎に1回ずつトルク指令を算出す
る。このトルク指令はサーボ制御データ管理プロセッサ
により、バンク・スイッチ・メモリからトルク・プロセ
ッサ・ボードへ1ミリ秒毎に1回ずつ転送される。TP
ボードでは、トルク指令及び電流フィードバックに基づ
くトルク演算が行われて、250マイクロ秒ごとにすべ
ての軸に関するモータ電圧指令を形成する。
−以 下 余 白− サーボ演 回路へのデータ 換え 始動サブルーチン472が完了したのち、ブロック48
4がサーボ制御データ管理プロセッサ402内のフォア
グラウンド/バックグラウンドインターフェースに必要
なデータ転送を行う。
フェース 68Kにおいて割込みルーチンを有効に利用するために
は、バックグラウンドタスクにおいて種々の同期的”始
動”操作を行う一方、フォアグラウンドタスクを利用し
て変化を例示化することが必要となった。このアプロー
チにより、フォアグラウンドタスクが従属プロセッサ及
び装置を完全に制御することができる。このアプローチ
はまた、時間的条件がきびしくない始動をいくつかのサ
ーボ・サイクルに互って散在させることができる。
(ここではバックグラウンドタスクは非割込みタスクで
ある。) フォアグラウンドルーチンが行うべき一連のタスクをパ
ックグラウンドルーチンが通信できるように共用RAM
メイルボックス・インターフェースを選択した。各タス
ク・リクエストはフォアグラウンドタスクが必要となる
情報を含む”パケット“の形に符号化される。このパケ
ット構造は簡単ではあっても(デコーディング及び実行
のコストという点で)できる限り能率的であるように構
成した。下に掲げる表はインターフェースの形式%式%
) 1   パケット(リクエスト)数 2−3 1→指令フイールド 4−5%  1  l    アドレス・フィールドか
らアドレス・フィールド6−9 へケ I   へのメ
ツセージ・サイズa−d  ット 1 → (16ビツ
ト・ワードの数)e−15第2 (上記内容のうち第2
〜d項)パケット 16−1d第 3パケツト サーボ割込みルーチンについては、各パケット中の要素
は下記のように解読される(単一パケットが提供される
場合を想定する)。
士令フィールド(CF : CF>O:TMS320サーボ指令 *TMS指令リストにCFをロードする(7MSビンボ
ン・メモリ・マツプを 参照) *”FROM″から“メツセージ・サイズ・ワード”を
コピーし、TMS人力 バッファに付記する。
*セマフォバイトを”Empty”にセットする。
CF−0:データ転送指令 *”メツセージ・サイズワードを FR0M”から″TO″ヘコビー する。
セマフォバイトを”Empty”にセットする。
CF雪−9999:7MSリセット指令(7MSプログ
ラム・メモリへの直接 書込みを可能にする)。
*割込みを不能化する(レベル5−VTICI)。
*TMSをリセット状態にする。
*”メツセージ・サイズワードを FR0M″からTo”ヘコビー する。
*TMSからリセット状態を除く。
*スティックをバンク0にセットする。
*割込みを可能化する(レベル5−VTICK)。
*セマフォバイトを”Empty”にセットする。
CF<O:7MS320サーボ・マルチパス指令 *CF’−−CFにセットする。
*CFをTM、S指令リストにロードする。
*”メツセージ・サイズワードを FR0M”からコピーし、7MS入力 バッファに付記する。
*セマフォバイトを”Ea+pty”にセットしない。
注: *マルチパス指令に対し、時間のかかるパケット管理を
回避するため、マルチパ ス・タイプのパケットが含まれているなら、すべてのパ
ケットを第2パスで再処理する。
*TMSをリセットすると自動的にバンク0(先行のパ
ケットが記憶されていたバンクとは限らない)に切換わ
るから、もLTMSリセット指令が存在するとTMSバ
ンク・メモリは切換わらない。従ってこれらの指令は別
々に送信すべきである。
*システム資源RAMの300へツクス・バイトをメイ
ルボックス・セクションとして、また、データを記憶さ
せる空きスペースとして確保するのが普通である。
下に掲げる包括記号名リストはこのセクションをさらに
限定する。
包括記号リスト FB  SHR0x34900  ハフオアグラウンド
/バックグラウンドセマフォ上クシ ョンのスタート点に対す る共用RAMベース・ア ドレス FB  SEM 0x0000+  /傘FBセマフォ
バイトに対する    FB  5)IRPtr傘/F
B  NOP 0xOO01+  /*)<ケラト数(
バイト)FB  SHRに対するPtr*/ FB  CFI 0x0002+  /拳第1指令フィ
ールドにFB  SHR対するPtr*/ FB  MAX 0x0004  /中許容されるパケ
ットの最大数*/ FB  DAT 0x0032÷ /−フォアグラウン
ドタスクへ転送され FB  SHRるデータを記憶するための空きスペース
・セクシ ョンに対するPtr◆/ FB  MXD 0x02ce  /*FB−DATの
最大サイズ(バイト) I/ FB  EMPTY 0x04  /中指令すスト不在
中/FB  FULL 0x01   /*指令リスト
が存在*/サーボ演算回路404が作動可能状態にある
ことをブロック485が検出する。と、ブロック486
はビンボン・メモリを介して演算回路404へ、すでに
形成された位置指令及び/またはその他のデータを転送
する。サーボ演算回路404が不良状態にあることをブ
ロック485またはブロック487が検出するとエラー
・シャットダウンが指令される。
下に掲げる指令リストはサーボ演算回路へ転送されるデ
ータに関する詳細を示す。
ビンボン・メモリ・マツプ アドレス 68K    TMS  記号    内容3c000
−3c007  0−7   TMSCOM    7
MS指令リスト3c010−3c09f   8−4f
  TMSIN     TMS人カバッフ73cOa
O−3cOff  5O−7f  TMSSTA   
 TMS状態バッファ3c100−3cllf  8O
−8f  TMSTORTMS)ルク 出力バッファ 3c120−3c21f  9O−10f  TMSL
OG   7MS記録データ・Aツフ7 3c22G−3c7ff 110−3ff TMSOC
TMS汎用通信七クシりン 1にワード・ビンボン・メモリを含む各バッファの詳細
を以下に説明する。表に示す記号は68K及びTMSコ
ード間の一致性を高めるため、各バッファの始動に使用
されるようにその内容を示唆した名称である。バッファ
は初めの2つのセクション(TMSCOM及びTMSI
N)がTMS用には読取専用(68に用には書込専用)
となるように構成する。次の3つのセクションはTMS
用には書込専用、68に用には読取専用である。最終セ
クション(TMSGC)は両プロセッサ共通の読取/書
込セクションである。
7MS指令リストは所与のサイクルにTMSが行うこと
をリクエストする。NULL指令で終るタスク・リクエ
スト・リストであり、1つのリストが最大限7つの指令
を含むことができる。各エレメントはTMSの作用を指
示する16ビツト指令である。好ましい指令は下記の通
り: 指  令           イ    用1   
 現時点では使用されない 2    現時点では使用されない 3    現時点では使用されない 4    現時点では使用されない 5    現時点では使用されない 6    初期位置及び速度を較正 7    トルクを演算(サイクル更新なしでサーボを
実行) 8    トルクを演算(サイクル更新伴なってサーボ
を実行) 9    現時点では使用されない a     TMSサーボ・パラメータ及びバージョン
IDを識別 TMS人カバッファは指令ワードの値及び指令リストに
占めるその相対位置にコンディショニングされたTMS
が必要とする補足的入力データをも含む。各指令が必要
とする入力データは指令リスト中での指令の順序で逐次
記憶される。指令ワード=8(例えば、サイクルまたは
”長い”チック)なら、このバッファは下記の形式を取
る。ただし、この表の編成は16ビツト”短”ワード・
カウントに基づいている。
絶対量方式のエンコーダ及びタコメータを使用する場合
(例えば5eox/rx)、TMSINは下記の通り二 ワード         内  容 0   タイム・スタンプ 1   サーボ可能化マスク 2   速度倍率 3   ジョイント1に関する位置指令の高ワード 4   ジョイント1に関する位置指令の低ワード 5   ジョイント1に関する絶対エンコーダ測定 6   ジョイント1に関する絶対速度測定 7−1Oジョイント2に関するワード 11−14ジョイント3に関するワード3−6  ” 15−18   ジョイント4に関するワード19−2
2ジョイント5に関するワード23−26ジョイント6
に関するワード指令ワード=7(例えば、ノン・サイク
ルまたは”短”チック)なら、TMS人カバカバッファ
記の形を取る。
ワード            容 Oタイム・スタンプ 1   サーボ可能化マスク 2   ジョイント1に関する絶対エンコーダ測定 3   ジョイント1に関する絶対速度測定 4−5    ジョイント2に関するワード6−7ジョ
イント3に関するワード 8−9ジョイント4に関するワード 10−11ジョイント5に関するワード12−13ジョ
イント6に関するワード増分エンコーダのみ使用の場合
(例えば、PUMAライン)指令=8に対応するTMS
INは下記の通り: ワード  −     rq−二組一一一一一〇   
タイム・スタンプ 1   インデックス割込み/サーボ可能化マスク 2   位置フィードバック桁上げ(ラップ) 3   速度倍率(1608フオー マツト) 4   ジョイント1に関する位置指令の高ワード (3208フオーマツト) 5   ジョイント1に関する位置指令の低ワード 6   ジョイント1に関するエンコーダ・カウント/
インデックス 7−9    ジョイント2に関するワード11−12
ジョイント3に関するワード13−15ジョイント4に
関するワード16−48ジョイント5に関するワード1
9−21ジョイント6に関するワード指令ワード!7(
例えば、ノン・サイクルまたは”短”チック)なら、増
分エンコーダを使用する場合、TMS人カバカバッファ
記の形を取る。
ワード            容 0   タイム・スタンプ 1   インデックス割込み/サーボ可能化マスク 2   ジョイント1に関するエンコーダカウント/イ
ンデックス 3   ジョイント2に関するエンコーダカウント/イ
ンデックス 4   ジョイント3に関するエンコーダカウント/イ
ンデックス 5   ジョイント4に関するエンコーダカウント/イ
ンデックス 6   ジョイント5に関するエンコーダカウント/イ
ンデックス 7   ジョイント6に関するエンコーダカウント/イ
ンデックス 絶対レゾルバ−が使用される場合(例えば、100ロボ
ツト)、 ワード            容 0   タイム・スタンプ 1   サーボ可能化マスク 2   速度倍率 3   シミインド1に関する位置指令の高ワード 4   ジョイント2に関する位置指令の低ワード 5   ジョイント1に関する絶対レゾルパー測定 6−8    ジョイント2に関するワード9−11ジ
ョイント3に関するワード 12−14ジョイント4に関するワード15−17ジョ
イント5に関するワード18−20ジョイント6に関す
るワード指令ワード=7(例えばノン・サイクルまたは
”短”チック)なら、TMS人カバカバッファ記の形を
取る。
ワード         内  容 Oタイム・スタンプ 1   サーボ可能化マスク 2   ジョイント1に関する絶対レゾルバ−測定 3   ジョイント2に関する絶対レゾルバ−測定 4   ジョイント3に関する絶対レゾルバ−測定 5   ジョイント4に関する絶対レゾルバ−測定 6   ジョイント5に関する絶対レゾルバ−測定 7   ジョイント6に関する絶対レゾルバ−測定 指令ワード−6(例えば、較正指令)ならTMS人カバ
カバッファ記の通り: ワード            容 0   タイム・スタンプ 1   ジョイント1に関するエンコーダ・ビット(3
208)で表わされ る絶対位置 2   ジョイント2に関するエンコーダ・ビット(3
208)で表わされ る絶対位置 3   ジョイント3に関するエンコーダ・ビット(3
208)で表わされ る絶対位置 4   ジョイント4に関するエンコーダ・ビット(3
208)で表わされ る絶対位置 5   ジョイント5に関するエンコーダ・ビット(3
208)で表わされ る絶対位置 6   ジョイント6に関するエンコーダ・ビット(3
208)で表わされ る絶対位置 指令ワード−A(例えば、ID指令)なら、TMS人カ
バッファは入力を必要としない。
TMS状態バッファの目的はいかなるブロモ・スにおい
てもアームの現時位置/速度を検出するために探索でき
るセクションを提供することにある。従って、このバッ
ファは下記のように編成される。
ワード            容 0   タイム・スタンプ(将来) 1   可能化/不能化ビット・マスク2   リンブ
状態ビット・マスク 3   ブレーキ状態ビット・マスク 4   エンコーダ・ビット3208 (高ワード、)
で表わされるジョイント 1の位置、即ち、PFB 5   エンコーダ・ビット320B(低ワード)で表
わされるジョイント 1の位置、即ち、PFB 6   エンコーダ・、ビット/サーボ・チック160
8で表わされるジョ インド1の速度、即ち、VFINO 7−9ジョイント2に関する4−6 10−12ジョイント3に関する4−613−15ジョ
イント4に関する4−616−1ll   ジョイント
5に関する4−61!1−21   ジョイント6に関
する4−622状態(エラー/ノー・エラー/ 指令エラー) 23    サーボ一致ワード(静/粗)24−25 
  互う−状態(高及び低)26    人力タスク・
ビット・マスク(高ハイド)/完了状態ビット・ マスク(低バイト) トルク出力バッファは次のサーボ・チックに互って加え
られるトルクを含む。トルクは68Kが変更を加えるこ
となく該当の装置(D A C/T Pボード)に直接
コピーできるようにフォーマットを与えられる。このバ
ッファの編成は簡単であり、下記の通りである。
ワード            容 0   ジョイント1に関するトルク出力1   ジョ
イント2に関するトルク出力2   ジョイント3に関
するトルク出力3   ジョイント4に関するトルク出
力4   ジョイント5に関するトルク出力5   ジ
ョイント6に関するトルク出力記録データ・バッファは
サーボ・サンプリング速度で記録される下記項目から成
るのが普通である。
ワード        内  容 0   ジョイントIPCT、3208 (高ワード)
で表わされた位置指令 1   ジ目インドIPCT、位置指令(低ワード)(
ビット) 2   ジョイントtvc”r、1aos形式CB/チ
ック)で表わされた 速度指令 3   ジョイントIVFBF、1608形式(B/チ
ック)で表わされた フィルタされた速度フィードバラ ク 4   ジョイント1に関する1605形式(ビット)
で表わされた位置エ 5   ジョイント1に関する32016形式(高ワー
ド)で表わされた積 分エラー 6   ジョイント1に関する積分エラー(低ワード) 7   ジョイント1に関する1608形式(B/チッ
ク)で表わされた 速度エラー 8   ジョイント1.DV)IATC。
1608形式(B/チック/ チック)で表わされた加速指令 9   ジョイントISUM、tso。
形式で表わされた中間信号和 10−18   ジョイント2に関する0−819−2
7ジョイント3に関する0−828−36ジョイント4
に関する0−837−45ジョイント5に関する0−8
46−54ジョイント6に関する0−8包括通信セクシ
ョンはサーボ演算回路との間でデータを転送するための
包括的な読取/書込セクションとして利用される。
次いで、ブロック′488はトルク・プロセッサ・ボー
ド600がデータ転送可能な状態にあるかどうかを判定
し、この状態になければエラー・シャットダウンが指令
される。しかし、常態ではTPボード600は転送可能
状態にあり、ブロック489がトルク指令及び/または
その他のデータをTPボード600に転送する。その他
のデータとしては、制御される特定ロボットに対応する
サーボ・ゲインや修正ゲインがあり、いずれも始動時間
中にダウンロードされる。次にブロック490.491
が同期的及びワンショット・データ記録ルーチンを実行
する。ワンショット・データ記録装置491はエラー発
生の場合種々のルーチンによりフラッグされて作動する
SCMデータ記録 オ 第11G及び11)1図にそれぞれ示すデータ記録装置
490.491はいずれも共用RAM″メイルボックス
”インターフェースによって制御される。さらにまた、
いずれもサーボ・コードの実行に続くサーボ割込みルー
チンにおいて呼出される。従って、データを記録できる
最高速度は採用されるサーボ更新速度(現在は1ミリセ
コンド)によって決定される。ワンショット・データ記
録装置の場合、サブルーチン・コール(JSRlogo
ne)を介して呼出すこともできる。これは予期しない
エラ一時に存在する状態を(例えば、緊急停止の前に)
直ちに記録できるようにするために設けられる。
同期的データ記録装置のための共用RAMインターフェ
ースは下記のように構成される(アドレスはすべてベー
ス・アドレスからのオフセットで表わされる)。
17土!ト    サイズ             
容0    8 ビット  セマフォ(1−>データ記
録)1−3  24ビツト 使用されない 4−5  16ビツト チック・カウンタ始動6−7 
 16ビツト 使用されない 8−9  16ビツト チック◆カウンタ停止a−b 
  16ビツト 使用されないc−f   32ビツト
 記録すべきアドレス・リストに対するポインタ(32 ビット・データ転送) 10−13 32ビツト SCMが記録データをデポジ
ットすべきメモリ中のセ クションに対するポインタ 注:上記マツプ中の使用されないセクションは将来削除
される。これらのセクションが存在するのは元のインタ
ーフェースが専ら長いワード量を使用したことに起因す
る。
非同期的ワンシミツト・データ記録装置のための共用R
AMインターフェースは下記のように構成される(アド
レスはすべてベース・アドレスからのオフセットで表わ
される)。
オフセット    サイズ          内  
容0  8ビツト ワンショット・トリガー(1・記録
、Oにリセット) 1  8ビツト 使用されない 2−3  16ビツト 綜合事象カウンタサーボ演算回
路では2つの基本的機能が行われる。第1に、VALC
YCLE中の長チック間の31チツクのそれぞれにおい
て、ダウンロードされた位置指令データが補間され、各
チックごとに位置指令データから速度及び加速指令デー
タが算出される。次に、位置、速度及び加速指令につい
て、さらに適用可能な、同時受信される位置及び速度フ
ィードバックについて、各軸ごとに、各チック後にサー
ボ演算が行われる。その結果、各チック後に、各軸ごと
に、トルク・プロセッサ・ボードによって実行されるト
ルク指令が算出される。サーボ演算回路によって実行さ
れる制御アルゴリズウの詳細を第3図に示した。
一以  下  余  白− [fif’L凪−フイードバック制御ループ動イ第13
図には本発明の実施例である第3図の制御ループ構成を
簡略化したブロックダイヤグラムで示した。要約すれば
、ロボット指令は位置指令プログラム128によって各
軸ごとに形成され、サーボ制御(SCM)コンピュータ
118に供給され、該コンピュータにおいて位置及び速
度制御が行われる。80Mコンピュータ118は電流ま
たはトルク指令を形成し、これが設定値としてTPコン
ピュータ168.172(第3図)に供給される。電圧
指令はTPコンビエータ172からデジタル・パルス幅
変調(PWM)回路に送られる。スイッチ制御信号がP
WMから電力増幅器174に供給されてロボットのDC
幅モータの動作を制御する。閉ループ制御は電流フィー
ドバック機能ブロックによって可能化される。第13図
の構成におけるソフ、トウエア及び回路の構造及び動作
については既に詳述した通りである。
本発明ではまた、各軸モータから増分位置フィードバッ
クセンサ810と位置及び速度プロセッサ812を介し
て80Mコンピュータ118へ位置及び速度フィードバ
ック信号が供給される。本発明のこの部分を以下に詳述
する。
増 位置フィードバックプロセッサ 位置エンコーダフィードバックを処理し、本発明のロボ
ット制御を可能にする回路812を第14図にブロック
ダイヤグラムで示した。本発明では回路を簡略化するこ
とにより、機能性を高めると共にコストを軽減しながら
エンコーダのインターフェースを達成する。
回路812は高レベル・マイクロプロセッサが回路81
2に対して読取/書込できるようにする指令レジスタ8
14を含む。図示のように、マイクロプロセッサ・イン
ターフェース信号は下記の通りである。
九0−A3     アドレス・ラインcsb    
 チップ選択 RD      読取 りSb      データ・ストローブDTACKb 
   データ確認 サンプル/タイムベース回路816はAIFボード信号
SAMP及びCLO(:にに応答して回路812中のレ
ジスタのためのサイクル基準及びタイム基準信号を供給
する。人力及び出力データ・バス・バッファ818.8
20は回路レジスタのための、VMEデータ・バスとの
データ・インターフェースをマイクロプロセッサの制御
下に提供す。る。割込み状態レジスタ822はエンコー
ダ・デコード信号及び指令レジスタ信号に応答して各イ
ンデクス・カウントに割込みを発生させる。 各回路8
12は6つのロボット軸のうち3つの軸について位置フ
ィードバックエンコーダ信号を処理するように構成され
ている。即ち、位置及び速度関連データをデコード及び
レジスタするために3つのチャンネル824,826及
び828を設ける。図示のように、各チャンネルはデコ
ード回路830及びデータ・バス・インターフェース回
路832を含む。各チャンネルはまた、位置カウントす
るための増分カウント・レジスタ834、エンコーダ・
インデックス信号を記録するインデックス・レジスタ8
36、及び速度演算に利用される最初及び最後のタイム
・レジスタ838.840をも含む。出力信号INDX
Fはエンコーダ・インデックス信号と2つのエンコーダ
位相信号の論理ANDコンビネーショ゛ンである。各チ
ャンネル830はさらに、割込み状態レジスタ822及
び入出力データ・バス・バッファ818,820と接続
するデータ・バス・インターフェース842をも含む。
チャンネル824pついて第15図に詳しく図示しであ
るように、デコード回路830は3つのエンコーダ信号
P)IA%BHB及びINDEXに基づいて、3つの信
号のすべてが共存(第16A図)すれば信号INDXF
を形成し、さらに、方向信号U、P/DN及び位置変化
またはINCREMENT侶号を増分カウンタ834の
ために形成する論理回路である。第16A図はデコード
回路830によってデコードされるエンコーダ信号°と
4つの状態との関係を示す。
エンコーダが1回転するごとにINDEXが発生する。
従フて、INDEXが発生すると、実際のカウント数が
既知の毎回転カウント数と比較される。カウント数が正
しくなければ、例えばノイズによってエラーが発生した
ことを示唆する。
CARRY tlP及びCARRY DOWNを記憶す
ることでレジスタ834の長さ、即ち、累算可能カウン
トのサイズが倍増する。)IOLDfNG RE(+l
5TER844は毎回転INCREMENTカウント数
のチェックを可能にする。
各サンプリグ同期に1つ、2つ程度の位置変化カウント
しか発生しないほどモータ速度が低ければ、従来のフィ
ードバック方式の場合なら、位置変化を経過時間で割算
することによって速度を計算できる精度が著しく損なわ
れる。
本発明では、定速度においても従来よりも高い分解能で
位置変化データから速度を求めることができるように構
成して改良を実現する。一般に、デコードされた位置変
化パルス発生間の時間が測定される。経過時間カウンタ
846は信号SAMPの制御下にサイクル時間カウント
を発生し、INCREMENT信号発生の経過時間を検
出する。
最初のタイム・レジスタ828はサンプリング・インタ
ーバル開始から次のIN(:REVENTパルス発生ま
での経過時間を記録する。最終タイム・レジスタ840
はサンプリング・インターバルにおける最終INCRE
MENTパルスの発生からサンプリング・インターバル
の終りまでの経過時間を記録する。
最初及び最終経過時間信号は実際の低いモータ速度を正
確に反映する速度計算のため、マイクロプロセッサ81
4に転送される。第17図の速度フィー、ドパツク演算
フローチャートにブロック848で示し、かつ第16B
図に詳細に示したように、速度演算は逆時間概念に基づ
いて行われる。即ち、下記アルゴリズムを利用して速度
が算出される。
VELOCITY −17TIME 高速度の場合には、マイクロプロセッサはブロック85
0で示すように、位置変化INCREMENTパルス数
)を経過時間(サイクル数)で割算することによって速
度を計算する。マイクロプロセッサはモータ速度の上昇
及び下降に伴なって低速アルゴリズムと高速アルゴリズ
ムの間をクロスする。なぜなら、モータ速度が上昇して
、個々のサンプリング周期における各サンプリング時間
中に発生するINCREMENTパルス数が増加すると
、低速アルゴリズムの精度が低下するからである。選択
ブロツク852においてクロスオーバが行われ、例えば
、サンプリング時間ごとのIN(:REMENTカウン
ト数が3以上なら高速アルゴリズムが選択される。
回路812は好ましくは破線ボックス813で示すよう
にLSIチップの形で実施する。チップ812は半導体
ウェハ内にシリコン・マスク・デポジションによって複
数の別々のトランジスタが形成されている標準的な大規
模集積(LSI)ゲート・アレイ・チップから構成する
。この場合、回路はCMO33ミクロン、単一金属、1
500ゲート・アレイ・チップの形に実施する。所要の
回路構成はこれを可能にする所定のパターンでトランジ
スタ・ゲートを相互接続するように位置/速度フィード
バック(PVF)チップに特定金属マスクを配置するこ
とによって形成される。ロボットの3軸ごとに1つのP
VFチップを使用すればよい、この実施例では、Uni
mation 700シリーズ−oボット、即ち、増分
位置フィードバックを有し、DCCブラシ台ジョイント
モータを採用するロボットと協働するように構成された
AIFボードに2つのPVFチッ、ブを使用する。
【図面の簡単な説明】
第1図は本発明を利用するシステムによる制御下に従来
よりも進歩した、かつ正確な性能を発揮するロボットの
斜視図:第2図は本発明を組込むことのできる位置、速
度及びトルク制御ループを使用する制御ループ構成を略
示するブロックダイヤグラム;第3図は本発明を組込む
ことが好ましい位置、速度及びトルク制御ループを使用
する制御ループ構成の詳細なブロックダイヤグラム;第
4図は本発明のサーボ制御装置を含むロボット制御シス
テムを実施するように回路が構成されている電子ボード
の構成を示す概略図;第5図は本発明の多軸デジタル・
ロボット制御方式で動作するサーボ制御システムのブロ
ックダイヤグラム;第6−1及び第6−2割は第4図に
含まれ、かつ第5図に示したサーボ制御システムを本発
明の第1実施例として実施する電子トルク・プロセッサ
(TP)ボードの簡略図;第7A 1−7A3図は第2
図に示した制御ループ構成の詳細図;第781−7BZ
図は第7A図に含まれるトルク制御ループのダイヤグラ
ム;第8A1−8F図はTPボードの回路に使用される
マイクロプロセッサにおけるプログラム実行を略示する
フローチャート;第9図はトルク・プロセッサ・ボード
動作のタイミング・チャート;第10−1及び10−2
図は第4図に含まれ、第5図のサーボ制御システムを第
2実施例として実施する電子サーボ制御(SCM)ボー
ドの簡略図;第11A−11H図はSCMボード回路に
使用されるマイクロプロセッサにおけるプログラム実行
を略示するフローチャート;第12−1及び12−2図
はSC%AIF、SCM及びTPボードのデータ流れ及
びタイミングを示すダイヤグラム;第13図は本発明の
原理に従って構成された位置及び速度フィードバックシ
ステムを使用する簡単な制御ループ構成のブロックダイ
ヤ、グラム;第14図はロボットの3軸に関するエンコ
ーダ信号を処理してこれを増分位置カウントに変換し、
より正確な軸速度を求める基礎とするための、第5図に
採用されてい°るフィードバックシステム回路の綜合的
でロックダイヤグラム;第15図は3軸のうちの1つに
関連して第14図をさらに詳細に示したブロックダイヤ
グラム;第16A図はエンコーダ信号、位置増分信号及
び速度関連時間信号の関係を示す波形図;第16B図は
位置変化から速度を求める態様を示す波形図;第17図
はプログラミングのための速度演算制御に利用できる動
作を示す機能ブロックダイヤグラムである。 FIG、88 FIo、8C FIG、8E FIG、8F FIG、1lF FIG、llG             FIG、l
lHFIG、13 FIG、17 FIG、+4 FIG、+5

Claims (1)

  1. 【特許請求の範囲】 1、それぞれがモータ駆動手段を有する複数のジョイン
    トを有するアームと;各モータに駆動電流を供給する電
    力増幅器と;前記ジョイント・モータ用の前記電力増幅
    器をそれぞれ制御するフィードバック制御ループ手段と
    より成り、前記フィードバック制御ループ 手段のそれぞれが連携の電力増幅器を制御する少なくと
    もデジタル位置及び速度制御ループを含み;さらに、す
    べてのジョイント・モータのための前記制御ループの少
    なくとも1つについて制御補助タスク及び計算タスクを
    行う少なくとも第1サーボ制御手段とを含むロボットに
    おいて、 前記第1サーボ制御手段が各ジョイント・ モータのための前記1つの制御ループについて記憶され
    ているアルゴリズムから出力制御指令を演算するなどの
    計算を行う第1マイクロプロセッサを含むことと; 前記第1マイクロプロセッサが比較的高い 演算能力及び比較的低いデータ処理インターフェース能
    力を有することと; 前記第1サーボ制御手段が前記第1サーボ 制御手段の動作を統括し、かつ各ジョイン ト・モータのための前記1つの制御ループにおけるサー
    ボ制御補助タスク、例えば、前記第1マイクロプロセッ
    サとの間の制御指令、状態及び帰還データのルーティン
    グを行うための第2マイクロプロセッサを含むことと;
    前記マイクロプロセッサが比較的高度のデ ータ処理能力を有することと; 各ジョイント・モータのための前記1つの 制御ループを前記第1サーボ制御手段が作動して前記1
    つの制御ループの制御変数を制御できるように前記第1
    及び第2マイクロプロセッサを相互にかつ高及び低レベ
    ル制御回路とインターフェースさせる手段を含むことを
    特徴とするロボット。 2、前記第1サーボ制御手段が前記位置及び前記速度制
    御ループの双方のタスクを実行 し、前記第1マイクロプロセッサが両ループの演算タス
    クを実行し、前記第2マイクロプロセッサが両ループの
    制御補助タスクを実施することを特徴とする特許請求の
    範囲第1項に記載のロボット。 3、前記低レベル回路が前記電力増幅器に伝送されるモ
    ータ電圧指令を発生させるための対応のトルク制御回路
    を含むことと; 前記ロボットが 前記第2マイクロプロセッサによって実行 される位置指令を発生する手段と; 各軸ごとにモータの位置及び速度を検出し て対応のデジタルフィードバック信号を発生する手段と
    ; 位置指令を前記第1マイクロプロセッサへ 送信し、前記第1マイクロプロセッサから演算されたト
    ルク指令を受信するように前記インターフェース手段を
    制御するため前記第2マイクロプロセッサを作動する手
    段と; 前記トルク制御回路にトルク指令を送信し てこれを実行させ、前記モータ電流フィードバック信号
    を受信するため前記第2マイクロプロセッサを作動する
    手段と; を含むことを特徴とする特許請求の範囲第1項に記載の
    ロボット。 4、前記第2マイクロプロセッサ作動手段がサーボプロ
    グラム手段及びメイン・プログラム手段を含み; 前記サーボ・プログラム手段がデジタル制 御サンプリング速度(VTICK)で実行されて複数の
    機能、例えば、前記インターフェース手段から前記トル
    ク制御回路へのトルク指令ルーティング方向づけや、前
    記デジタル発生手段から前記インターフェース手段及び
    前記第1マイクロプロセッサへのモータフィードバック
    信号ルーティングの方向づけを実現し;前記メイン・プ
    ログラム手段が起動と同時 に位置/速度サーボ制御マイクロプロセッサ動作を開始
    させ、位置指令を受信してこれを前記第1マイクロプロ
    セッサのための前記インターフェース手段へ伝送する ことを特徴とする特許請求の範囲第1項に記載のロボッ
    ト。 5、割込みプログラム実行速度が少なくとも250マイ
    クロ秒ごとに1回の速度であり、ロボットが少なくとも
    6軸であることを特徴とする特許請求の範囲第4項に記
    載のロボ ット。 6、各ジョイント・モータごとの前記フィードバック制
    御ループ手段がトルク制御ループをも含み、前記位置/
    速度制御ループからの順方向経路出力がトルク制御のた
    めのモータ電流設定値を提供することと; 各ジョイント・モータと連携する前記トル ク制御ループのための制御補助タスク及び演算タスクを
    行う第2サーボ制御手段を設けたことと; 前記第2サーボ制御手段が各ジョイント・ モータと連携する前記トルク制御ループのための記憶ア
    ルゴリズムからの出力制御指令演算などのような演算タ
    スクを行う第3マイクロプロセッサを含むことと; 前記第3マイクロプロセッサが比較的高い 演算能力及び比較的低いデータ処理インターフェース能
    力を具えることと; 前記第2サーボ制御手段が前記第2サーボ 制御手段の動作を統括し、かつ各ジョイン ト・モータと連携する前記トルク制御ループにおけるサ
    ーボ制御補助、タスク、例えば、前記第3マイクロプロ
    セッサとの間の制御指 令、状態及びフィードバックデータのルーティングを行
    う第4マイクロプロセッサをも含むことと; 前記第2サーボ制御手段が前記トルク制御 ループを作動して各ジョイント・モータのトルクを制御
    できるように前記第3及び第4マイクロプロセッサを相
    互にかつ高及び低レベル制御回路とインターフェースさ
    せる手段を含むことを特徴とする特許請求の範囲第1項
    に記載のロボット。 7、前記第1サーボ制御手段が前記位置及び前記速度制
    御ループのためのタスクを実行 し、前記第1マイクロプロセッサが両ループの演算タス
    クを実行し、前記第2マイクロプロセッサが両ループの
    制御補助タスクを実行することを特徴とする特許請求の
    範囲第6項に記載のロボット。 8、第3及び第4マイクロプロセッサに関連の前記低レ
    ベル回路がそれぞれのロボット軸と連携する前記電力増
    幅器に供給されるジョイント・モータ制御信号を発生す
    るデジタ ル・パルス幅変調手段を含むことと; ロボットが各軸ごとのモータ電流を感知 して対応のデジタル電流フィードバック信号を発生する
    手段と; トルク指令を受信してこれを実行し、状態 データを送信するため前記第4マイクロプロセッサを高
    レベル制御ルービングとインターフェースさせる手段と
    ; トルク指令を前記第3マイクロプロセッサ に送信し、演算された電圧指令を前記第3マイクロプロ
    セッサから受信するように前記対応のインターフェース
    手段を制御するため前記第4マイクロプロセッサを作動
    する手 段と; 電圧指令を前記パルス幅変調手段に供給し て実行させ、前記モータ電流フィードバック信号を受信
    するため前記第4マイクロプロセッサを作動する手段を
    含むこと を特徴とする特許請求の範囲第6項に記載のロボット。 9、前記第4マイクロプロセッサ作動手段が割込みプロ
    グラム手段及びメイン・プログラム手段を含み; 前記割込みプログラム手段がデジタル制御 サンプリング速度で実行されて複数の機能、例えば、前
    記対応のインターフェース手段から前記パルス幅変調手
    段への電圧指令ルーティングの方向づけや、前記デジタ
    ル発生手段から前記インターフェース手段及び前記第3
    マイクロプロセッサへのモータ電流フィードバック信号
    ルーティングの方向づけを行うことと; 前記メイン・プログラム手段が起動と同時 にトルク・サーボ制御マイクロプロセッサ動作を開始さ
    せ、次いで待機指令モードで動作することにより、次の
    高さの制御レベルから受信された高優先順位指令の実行
    を管理することを特徴とする特許請求の範囲第6項に記
    載のロボット。 10、前記高優先順位指令は診断及びパラメータ変更指
    令を含むことを特徴とする特許請求の範囲第9項に記載
    のロボット。 11、割込みプログラム実行速度が少なくとも250マ
    イクロ秒ごとに1回の速度であり、ロボットが少なくと
    も6軸を有することを特徴とする特許請求の範囲第9項
    に記載のロボット。 12、モータの位置変化を表わす複数の信号を発生する
    エンコーダ手段と; 前記エンコーダ手段に応答して、所定のサ ンプリング速度で前記フィードバック制御手段のための
    位置及び速度フィードバック信号を供給するデジタルフ
    ィードバックシステムと を含むと共に; 前記フィードバックシステムが前記エンコ ーダ手段信号に応答して位置及び動作の増分変化を表わ
    す増分パルスのカウントを前記フィードバック制御手段
    のための前記位置フィードバック信号として累算する手
    段を有する回路手段を含むことと; 前記回路手段が連続する増分パルス間の経 過時間を検出し、経過時間から速度を算出 し、前記フィードバック制御手段のための前記速度フィ
    ードバック信号を形成する手段をも有すること を特徴とする特許請求の範囲第1項に記載のロボット。 13、基準時間に亙って発生する増分パルス数から速度
    を算出する手段を設けると共に、前記速度フィードバッ
    ク信号として使用するため2つの算出された速度の1つ
    を選択する手段を設けたことを特徴とする特許請求の範
    囲第12項に記載のロボット。 14、増分パルス発生速度に基づいて速度を選択し、比
    較的低い速度として経過時間速度を選択し、比較的高い
    速度として増分パルス速度を選択したことを特徴とする
    特許請求の範囲第13項に記載のロボット。 15、各ジョイント・モータごとの前記フィードバック
    制御ループ手段がトルク制御ループをも含み、前記位置
    及び速度制御ループからの順方向経路出力がトルク制御
    のためのモータ電流設定値を供給することと; 前記第1サーボ制御手段が前記位置及び速 度ループ及びトルク制御ループの少なくとも1つのため
    の制御補助タスク及び演算タスクを行うこと を特徴とする特許請求の範囲第1項に記載のロボット。 16、前記ロボットが少なくとも6つのモータ作動ジョ
    イントを有することを特徴とする特許請求の範囲第15
    項に記載のロボット。 17、連携のモータによってそれぞれ駆動される複数の
    アーム・ジョイントを有するロボットのための、 各モータに駆動電流を供給する電力増幅器 と; 前記ジョイント・モータと連携する前記電 力増幅器をそれぞれ制御する対応のフィードバック制御
    ループ手段とより成り; 前記フィードバック制御ループ手段のそれ ぞれが連携の電力増幅器を制御する、少なくともデジタ
    ル位置及び速度制御ループを 含み; さらに、すべてのジョイント・モータと連 携する前記制御ループの少なくとも1つのための制御補
    助タスク及び演算タスクを行う少なくとも第1サーボ制
    御手段とを含むデジタル制御装置であって、 前記第1サーボ制御手段が各ジョイント・ モータと対応する前記1つの制御ループのため記憶され
    ているアルゴリズムから出力制御指令を算出するなどの
    演算タスクを行う第1マイクロプロセッサを含むことと
    ; 前記第1マイクロプロセッサが比較的高い 演算能力及び比較的低いデータ処理インターフェース能
    力を有することと; 前記第1サーボ制御手段がその動作を統括 すると共に前記第1マイクロプロセッサとの間の制御指
    令、状態及びフィードバックデータのルーティングなど
    、各ジョイント・モータと連携する前記1つの制御ルー
    プにおけるサーボ制御補助タスクをも行う第2マイクロ
    プロセッサをも含むことと; 前記第1サーボ制御手段が各ジョイント・ モータと連携する前記1つの制御ループを作動して前記
    1つの制御ループの制御変数を制御できるようにするた
    め、前記第1及び第2マイクロプロセッサを相互にかつ
    高及び低レベル制御回路とインターフェースさせる手段
    を含むことを特徴とするデジタル・ロボット制御装置。 18、前記第1サーボ制御手段が前記位置制御ループ及
    び前記速度制御ループのためのタスクを行い、前記第1
    マイクロプロセッサが両ループのための演算タスクを、
    前記第2マイクロプロセッサが両ループのための制御補
    助タスクを行うことを特徴とする特許請求の範囲第17
    項に記載のデジタル・ロボット制御装置。 19、前記低レベル回路が前記電力増幅器に伝送される
    モータ電圧指令を発生するそれぞれ対応のトルク制御回
    路を含み; 前記デジタル制御装置が 前記第2マイクロプロセッサによって実行 される位置指令を発生する手段と; それぞれの軸についてモータの位置及び速 度を検出し、これに対応するデジタルフィードバック信
    号を発生する手段と; 前記第1マイクロプロセッサに位置指令を 送信し、前記第1マイクロプロセッサから算出されたト
    ルク指令を受信するように前記第2マイクロプロセッサ
    を作動して前記インターフェース手段を制御させる手段
    と; 前記トルク指令を前記トルク制御回路に送 信してこれを実行させ、前記モータ電流フィードバック
    信号を受信するように前記第2マイクロプロセッサを作
    動する手段と を含むことを特徴とする特許請求の範囲第17項に記載
    のロボットのデジタル制御装置。 20、前記第2マイクロプロセッサ作動手段がサーボ・
    プログラム手段及びメイン・プログラム手段を含む; 前記サーボ・プログラム手段がデジタル制 御サンプリング速度(VTICK)で周期的に実行され
    、前記インターフェース手段から前記トルク制御回路へ
    のトルク指令ルーティングの方向づけや、前記デジタル
    発生手段から前記インターフェース手段及び前記第1マ
    イクロプロセッサへのモータフィードバック信号ルーテ
    ィングの方向づけなど、複数の機能を行うこと; 前記メイン・プログラム手段が起動と同時 に位置/速度サーボ制御マイクロプロセッサ動作を開始
    させ、位置指令を受信してこれを前記第1マイクロプロ
    セッサのための前記インターフェース手段に伝送するこ
    と を特徴とする特許請求の範囲第17項に記載のロボット
    のデジタル制御装置。 21、割込みプログラム実行速度が少なくとも250マ
    イクロ秒ごとに1回の速度であ り、ロボットが少なくとも6軸を有することを特徴とす
    る特許請求の範囲第20項に記載のロボットのデジタル
    制御装置。 22、各ジョイント・モータと連携するフィードバック
    制御ループ手段がトルク制御ループをも含み、前記位置
    及び速度制御ループからの順方向経路出力がトルク制御
    のためのモータ電流設定値となることと; 各ジョイント・モータと連携する前記トル ク制御ループのための制御補助タスク及び演算タスクを
    行う第2サーボ制御手段を設けたことと; 前記第2サーボ制御手段が各ジョイント・ モータと連携する前記トルク制御ループのため、記憶さ
    れているアルゴリズムからの出力制御指令算出などの演
    算タスクを行う第3マイクロプロセッサを含むことと; 前記第3マイクロプロセッサが比較的高い 演算能力及び比較的低いデータ処理インターフェース能
    力を有することと; 前記第2サーボ制御手段がその動作を統括 すると共に、前記第3マイクロプロセッサとの間の制御
    指令、状態及びフィードバックデータのルーティングな
    ど、各ジョイント・モータと連携する前記トルク制御ル
    ープにおけるサーボ制御補助タスクを行う第4マイクロ
    プロセッサをも含むことと; 前記第2サーボ制御手段が前記トルク制御 ループを作動して各ジョイント・モータのトルクを制御
    できるように前記第3及び第4マイクロプロセッサを相
    互にかつ高及び低レベル制御回路とインターフェースさ
    せる手段とを含むことを特徴とする特許請求の範囲第1
    7項に記載のロボットのデジタル制御装置。 23、前記第1サーボ制御手段が前記位置制御ループ及
    び前記速度制御ループのためのタスクを行い、前記第1
    マイクロプロセッサが両ループの演算タスクを行い、前
    記第2マイクロプロセッサが両ループの制御補助タスク
    を行うことを特徴とする特許請求の範囲第22項に記載
    のロボットのデジタル制御装置。 24、第3及び第4マイクロプロセッサと連携する前記
    低レベル回路が各ロボット軸と連携する前記電力増幅器
    に供給するジョイン ト・モータ制御信号を発生する対応のデジタル・パルス
    幅変調手段を含み、 ロボットのデジタル制御装置が 各軸のモータ電流を感知して対応のデジタ ル電流フィードバック信号を発生する手段 トルク指令を受信して実行し、状態データを送信するよ
    うに前記第4マイクロプロセッサを高レベル制御ループ
    に接続する手段と; 前記第3マイクロプロセッサにトルク指令を送信し、算
    出された電圧指令を前記第3マイクロプロセッサから受
    信するように前記第4マイクロプロセッサを作動して前
    記対応のインターフェース手段を制御させる手段と; 電圧指令を前記パルス幅変調手段に送信して実行させ、
    前記モータ電流フィードバック信号を受信するように前
    記第4マイクロプロセッサを作動する手段と を含むことを特徴とする特許請求の範囲第17項に記載
    のロボットのデジタル制御装置。 25、前記第4マイクロプロセッサ作動手段が割込みプ
    ログラム手段及びメイン・プログラム手段を含み; 前記割込みプログラム手段がデジタル制御 サンプリング速度で周期的に実行されて、前記対応イン
    ターフェース手段から前記パルス幅変調手段への電圧指
    令ルーティングの方向づけや、前記デジタル発生手段か
    ら前記インターフェース手段及び前記第3マイクロプロ
    セッサへのモータ電流フィードバック信号ルーティング
    の方向づけなど、複数の機能を実現することと;前記メ
    イン・プログラム手 段が起動と同時にトルク・サーボ制御マイクロプロセッ
    サ動作を開始させ、しかるのち、待機指令モードで動作
    することにより、次に高い制御レベルから受信される高
    優先順位指令の実行を管理することを特徴とする特許請
    求の範囲第17項に記載のロボットのデジタル制御装置
    。 26、前記高優先順位指令が診断及びパラメータ変更指
    令を含むことを特徴とする特許請求の範囲第25項に記
    載のロボットのデジタル制御装置。 27、割込みプログラム実行速度が少なくとも250マ
    イクロ秒ごとに1回の速度であ り、ロボットが少なくとも6軸を有することを特徴とす
    る特許請求の範囲第25項に記載のロボットのデジタル
    制御装置。 28、モータ位置変化を表わす複数の信号を発生するエ
    ンコーダ手段と; 前記エンコーダ手段に応答して所定のサン プリング速度で前記フィードバック制御手段のための位
    置及び速度フィードバック信号を供給するデジタルフィ
    ードバックシステムとを含み; 前記フィードバックシステムが位置及び動 作の増分変化を表わす増分パルスのカウントを前記フィ
    ードバック制御手段のための前記位置フィードバック信
    号として累算する手段を有する回路手段を含むことと; 前記回路手段が連続する増分パルス間の経 過時間を検出し、経過時間から速度を算出 し、前記フィードバック制御手段のための前記速度フィ
    ードバック信号を発生する手段をも有することを特徴と
    する特許請求の範囲第17項に記載のロボットのデジタ
    ル制御 装置。 29、基準時間に亙って発生する増分パルス数から速度
    を算出する手段を設けると共に、前記速度使用するため
    2つの算出された速度の1つを選択する手段を設けたこ
    とを特徴とする特許請求の範囲第28項に記載のロボッ
    トのデジタル制御装置。 30、速度選択が増分パルス発生速度に基づいて行われ
    、低速として経過時間速度が、高速として増分パルス速
    度が選択されることを特徴とする特許請求の範囲第29
    項に記載のロボットのデジタル制御装置。 31、複数のアーム・ジョイントを有するロボットのデ
    ジタル制御装置のための、 デジタル制御装置の動作に従ってロボット のアーム・ジョイントのそれぞれを駆動するモータと; モータの位置変化を表わす複数の信号を発 生するエンコーダ手段と から成るデジタル装置/速度フィードバックシステムで
    あって、 前記エンコーダ手段の信号に応答して位置 及び動作の増分変化を表わす増分パルスのカウントを位
    置フィードバック信号として累算する回路手段と; 前記回路手段が連続する増分パルス間の経 過時間を検出し、経過時間から速度を算出 し、速度フィードバック信号を発生する手段をも有する
    ことを特徴とするデジタル位置/速度フィードバックシ
    ステム。 32、基準時間に亙って発生する増分パルス数から速度
    を算出する手段を設けると共に、前記速度フィードバッ
    ク信号として使用するため2つの算出された速度の1つ
    を選択する手段を設けたことを特徴とする特許請求の範
    囲第31項に記載のシステム。 33、速度選択が増分パルス発生速度に基づいて行われ
    、低速として経過時間速度が選択され、高速として増分
    パルス速度が選択されることを特徴とする特許請求の範
    囲第32項に記載のシステム。 34、前記回路手段が得られるように大規模集積ゲート
    ・アレイ・チップを構成したことを特徴とする特許請求
    の範囲第31項に記載のシステム。 35、前記回路手段が前記位置及び速度制御ループの所
    定サンプリング速度と同期させたサンプル・パルスを周
    期的に発生する手段をも有することと; 各サンプル周期の開始を表わすサンプル・ パルスから前記サンプル周期における第1増分パルス開
    始までの経過時間を検出する手 段と; 各サンプル周期における最終増分パルスの 終了から、前記サンプル周期の終了を表わすサンプル・
    パルスまでの経過時間を検出する手段と; 連続する最終及び第1増分パルス間の経過 時間から速度を算出し、前記フィードバック制御手段の
    ための前記速度フィードバック信号を発生する手段とを
    特徴とする特許請求の範囲第31項に記載のシステム。 36、前記回路手段が得られるように大規模集積ゲート
    ・アレイ・チップを構成したことを特徴とする特許請求
    の範囲第35項に記載のシステム。
JP62295012A 1986-11-20 1987-11-20 ロボットのデジタル制御装置 Pending JPS63141108A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US932,853 1986-11-20
US932,976 1986-11-20
US06/932,976 US4763055A (en) 1986-11-20 1986-11-20 Digital robot control having high performance servo control system
US932,977 1986-11-20
US932,990 1997-09-18

Publications (1)

Publication Number Publication Date
JPS63141108A true JPS63141108A (ja) 1988-06-13

Family

ID=25463230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62295012A Pending JPS63141108A (ja) 1986-11-20 1987-11-20 ロボットのデジタル制御装置

Country Status (2)

Country Link
US (1) US4763055A (ja)
JP (1) JPS63141108A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001353790A (ja) * 2000-06-16 2001-12-25 Nihon Tetra Pak Kk 包装容器成形装置及び包装容器

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5025385A (en) * 1988-04-15 1991-06-18 Froyd Stanley G Multiple axis motion control system
US4947336A (en) * 1988-04-15 1990-08-07 Froyd Stanley G Multiple axis motion control system
US5303384A (en) * 1990-01-02 1994-04-12 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration High level language-based robotic control system
US5203748A (en) * 1990-05-09 1993-04-20 Canon Kabushiki Kaisha Rotary driving system and robot operating thereon
US5086400A (en) * 1990-05-11 1992-02-04 The United States Of America As Represented The The Administrator Of The National Aeronautics And Space Administration Bilevel shared control for teleoperators
US5101472A (en) * 1990-10-04 1992-03-31 Repperger Daniel W Military robotic controller with majorizing function and nonlinear torque capability
EP0555410A1 (en) * 1990-10-30 1993-08-18 Gmf Robotics Corporation Hybrid control method and system for controlling the flow of liquid coating material
JPH05118302A (ja) * 1991-09-25 1993-05-14 Toshiba Corp サーボモータの制御装置
US5513096A (en) * 1992-07-10 1996-04-30 Connecticut Innovations, Inc. Multi-axis motion controller and lid dispenser
JPH06110739A (ja) * 1992-09-25 1994-04-22 Nitto Kohki Co Ltd コンピュータシステム
JP2819367B2 (ja) * 1992-12-18 1998-10-30 日東工器株式会社 マニピュレータの安全操作システム
JP3115237B2 (ja) * 1996-09-03 2000-12-04 株式会社東芝 制御プログラム作成装置及び制御プログラム作成方法
US6826434B1 (en) 1998-07-31 2004-11-30 Soft Servo Systems, Inc. Computerized numerical control for a servomechanism
US6594550B1 (en) * 2002-03-29 2003-07-15 Asm America, Inc. Method and system for using a buffer to track robotic movement
US8000837B2 (en) 2004-10-05 2011-08-16 J&L Group International, Llc Programmable load forming system, components thereof, and methods of use
US7853356B2 (en) * 2006-04-14 2010-12-14 Fanuc Robotics America, Inc. Method for optimizing a robot program and a robot system
WO2007146984A2 (en) 2006-06-13 2007-12-21 Intuitive Surgical, Inc. Control system configured to compensate for non-ideal actuator-to-joint linkage characteristics in a medical robotic system
WO2010054506A1 (zh) * 2008-11-11 2010-05-20 深圳航天科技创新研究院 多轴伺服电机控制系统
US8235437B2 (en) 2010-04-07 2012-08-07 Delaware Capital Formation, Inc. Electric gripper drive with a torsional compliance device
EP2807526B1 (en) 2012-01-25 2020-07-01 Omron Robotics and Safety Technologies, Inc. Autonomous mobile robot for handling job assignments in a physical environment inhabited by stationary and non-stationary obstacles
WO2013119942A1 (en) * 2012-02-08 2013-08-15 Adept Technology, Inc. Job management sytem for a fleet of autonomous mobile robots
DE102015212171B3 (de) * 2015-06-30 2016-06-30 Kuka Roboter Gmbh Verfahren zum Steuern eines Manipulatorsystems
CN106020172B (zh) * 2016-07-11 2018-08-17 北京强度环境研究所 一种基于fpga平台的舵伺服实时正弦扫描驱动方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4068156A (en) * 1977-03-01 1978-01-10 Martin Marietta Corporation Rate control system for manipulator arms
JPS5840761B2 (ja) * 1978-12-20 1983-09-07 工業技術院長 人間腕形マニピュレ−タの制御装置
JPS5621794A (en) * 1979-07-30 1981-02-28 Fujitsu Fanuc Ltd Controlling system for industrial robot
JPS5822411A (ja) * 1981-08-04 1983-02-09 Fanuc Ltd 工業用ロボツト制御方式
JPS5822412A (ja) * 1981-08-04 1983-02-09 Fanuc Ltd 工業用ロボツト制御方式
US4467436A (en) * 1981-10-26 1984-08-21 United States Robots, Inc. Robot arm controller with common bus memory
US4547858A (en) * 1983-06-13 1985-10-15 Allied Corporation Dynamic control for manipulator
US4623971A (en) * 1983-06-30 1986-11-18 Cincinnati Milacron Inc. Machine control with motor velocity constraint
US4598380A (en) * 1984-08-13 1986-07-01 Cincinnati Milacron Inc. Method and apparatus for controlling manipulator and workpiece positioner

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001353790A (ja) * 2000-06-16 2001-12-25 Nihon Tetra Pak Kk 包装容器成形装置及び包装容器

Also Published As

Publication number Publication date
US4763055A (en) 1988-08-09

Similar Documents

Publication Publication Date Title
JPS63141108A (ja) ロボットのデジタル制御装置
US4908556A (en) Modular robot control system
US4772831A (en) Multiaxis robot control having improved continuous path operation
US4786847A (en) Digital control for multiaxis robots
US4925312A (en) Robot control system having adaptive feedforward torque control for improved accuracy
US4807153A (en) Multiaxis digital robot control having a backup velocity monitor and protection system
US4774445A (en) Multiaxis robot control having capability for executing timed moves
US4851748A (en) Basic digital multi-axis robot control having modular performance expansion capability
US4829219A (en) Multiaxis robot having improved motion control through variable acceleration/deceleration profiling
US4868474A (en) Multiprocessor position/velocity servo control for multiaxis digital robot control system
US4773025A (en) Multiaxis robot control having curve fitted path control
US4876494A (en) Position and velocity feedback system for a digital robot control
US4894598A (en) Digital robot control having an improved pulse width modulator
US4868472A (en) Communication interface for multi-microprocessor servo control in a multi-axis robot control system
EP0060563A1 (en) Industrial articulated robot linear interpolation control device
EP0268491A2 (en) Multiaxis robot having improved motion control
US4864206A (en) Multiaxis robot control having improved energy monitoring system for protecting robots against joint motor overload
US4864204A (en) Multiprocessor torque servo control for multiaxis digital robot control system
JP2004524171A (ja) 多用途ロボット制御システム
US4962338A (en) Universal robot control board configuration
US4874997A (en) Digital robot control providing pulse width modulation for a brushless DC drive
US4902944A (en) Digital robot control having an improved current sensing system for power amplifiers in a digital robot control
EP0269372A2 (en) Robot with micro processor-based digital robot control
EP0269374A2 (en) Modular robot control system
EP0269373A2 (en) Multiaxis robot control having protection system with energy and backup velocity monitoring