JPS6075904A - 多関節ロボットの制御のための座標変換方法,演算方法,座標変換装置および演算装置 - Google Patents

多関節ロボットの制御のための座標変換方法,演算方法,座標変換装置および演算装置

Info

Publication number
JPS6075904A
JPS6075904A JP18329783A JP18329783A JPS6075904A JP S6075904 A JPS6075904 A JP S6075904A JP 18329783 A JP18329783 A JP 18329783A JP 18329783 A JP18329783 A JP 18329783A JP S6075904 A JPS6075904 A JP S6075904A
Authority
JP
Japan
Prior art keywords
matrix
register
coordinate system
freedom
multiplication
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.)
Granted
Application number
JP18329783A
Other languages
English (en)
Other versions
JPH0785203B2 (ja
Inventor
Hideo Koyama
英夫 小山
Fumio Noguchi
野口 文雄
Shigeki Fujinaga
藤長 茂樹
Hirotoshi Yamamoto
裕敏 山本
Takahiko Kondo
近藤 隆彦
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.)
Shinmaywa Industries Ltd
Original Assignee
Shin Meiva Industry Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shin Meiva Industry Ltd filed Critical Shin Meiva Industry Ltd
Priority to JP58183297A priority Critical patent/JPH0785203B2/ja
Publication of JPS6075904A publication Critical patent/JPS6075904A/ja
Publication of JPH0785203B2 publication Critical patent/JPH0785203B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/408Numerical 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 characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4086Coordinate conversions; Other special calculations
    • 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/33263Conversion, transformation of coordinates, cartesian or polar
    • 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/45Nc applications
    • G05B2219/45083Manipulators, robot

Abstract

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

Description

【発明の詳細な説明】 発明の分野 この発明は、多関節[1ホツトの制御方法おJ:ひその
ための装置に関し、特に、位置情報についてだけではな
く、速度情報および加速度情報についても直角座標系と
関節座標系との間で座標変換を行ない、かつ、運動方程
式の逆問題を解くことによって予測制御をも行ない、ざ
らに力制御をも行なうことがでさる、多関節ロボットの
制御方法およびそのための装置に関する。
先行技術の説明 多関節ロボットは、据付面積が小さく大きな作業領域が
得られるという極めて優れた特徴を有りるものであるが
、その運動を制御づるにあたっては座標変換が必要であ
り、制御のIζめの演梓時間、特に座標変換に要する時
間が長いという欠点がある。これをもう少し説明する。
まず座標系につき説明する。多関節1−1ポツトの制御
に用いる座標系には、表1に承りように、直角座標系(
互いに直角に交わった:、3本の軸に関づる成分で座標
が定まる)どそれに対する関′m外標系(各関節の角度
によって外枠が定まる)とがあり、さらに、絶対座標系
(静止した1°]6標系)とそれに対するハンド座標系
(各ハン1−に固定されていてハンドの動きに従って動
く座標系〉とがある。
この明細書においては、直角庁拐(系t↓、XYZ座標
系あるいはX座標系とも呼ばれている。また、関節座標
系は、角度座標系あるいはα座標系とも呼ばれている。
さらに、ハンド座標系は、局所座標系とも呼ばれている
表 1 次に、座標変換の必要性につき説明する。たとえば産業
用ロボットで加工されるワークピースの加工線たとえば
アーク溶接の溶接線(J、一般に、互いに直角方向に延
ばされており、がっ、この加工線に治って連続して加工
づることが多い。多関節ロボッ1〜では、このようなワ
ークピースの加工線に沿ってたとえば溶接トーチなどの
被制御体(エンドエフェクタ)を移動させる際、このよ
うな直線を小区間に分け、それぞれの分割点の位置をめ
、その分割点の間を補間して、その位置へ被制御体が移
動するよう指令するのであるが、このような直線を直角
座標系で取扱うと1次式になるのに対し、関節座標系で
取扱うと非線形の複雑な式になってしまう。それゆえ、
被制御体の移動を指令するための位置情報の演算は、簡
単で有利な直角座標系で行なった後、その直角8標系で
の位置情報を関fli5座標系へ座標変換して各関節1
111を移動させるための指令情報とづる必要がある。
また、逆に、関節座標系にょるイ8′1間情報を直角座
標系の位置情報に変換り−ることし必要(・ある。要す
るに、多関節[1ホツトにJ3いては、位置情報等を直
角座標系と関節座標系との間で相?ンに座標変換するこ
とが必要である。この座標変換、′1・1に、直角座標
系から関節座標系への座標変換には膨大な演算か必要で
あり、そのために多くの時間がかがる。
なお、この明細書にJ5いて、関節とは回転あるいは旋
回する部分だけではイ1く、スライドする部分も含/υ
でいる。そして、そのようb関11i)は、輔あるいは
自由度と呼ぶ場合もある。
そこで、このような演算時間を短縮するために従来から
人別して2つの方式が提案されている。
その1つは、たとえば特開昭ξ53−100561号な
どに開示される、近似的座標変換制御方式である。この
方式では、厳密な座標変換式から成る近似式をめ、その
近似式に基づいて多関節ロボツ1−の各関節角を回動さ
せる。この方式によれば、たしかに演算時間の短縮は可
能である(ブれども、相当大きなエラー(たとえば7n
v)が生じ、厳密<r位置制御を必要とづ゛るものには
利用できないという欠点があった。他の1つは、たとえ
ば特開昭53−121362号などに開示されているよ
うな、5ないし6自由度を有するものであってもすべて
の軸を同時に座標変換するのではなく、そのうらのたと
えば3自由度のみを厳密な座標変換式に基づいて同時に
制御するものである。この方式によれば、位置決め精度
は向上するものの、達成し得る機能ないし位置決めの態
様が当然少なくなるという問題がある。これらとは別に
、使用する演算素子をたとえばジョセフソン素子のよう
な高速のものにすることも考えられるが、実用化には程
遠くしかも高価になってしまう。それゆえ、第1(〔、
簡単でかつ高速度の演算が可能な座標変換方法およびそ
のた 、装置が望まれていた。
一方、従来からの位置Lj+ Ollはフィードバック
制御が基本であった。フィードバック制御では、目標イ
装置と現在位置とに差か生じて初め−(駆動力が発生ず
る。特に、II+ホットのアー11自身の慣ffJツよ
びエンドエフェクタの慣性が大きいど、この−エンドエ
フェクタの「1標位置と現在位置との偏差が大きくなる
。この偏Z:を最小とづべく、位置偏差に乗する荷重(
ノイードハックグイン)や駆動最大トルクを大きくとろ
うとじても、フィードバック制御の安定性の問題から限
界があった。これは特に2軸以上の制御のときに、エン
ド土フ1クタの径路のずれとなって現われ顕:8な問題
となっていた。これはアームの直線的運動に伴う慣fJ
力ににるものであるが、この他にす、遠心力、コリオリ
の力など他の腕の回転的な動ぎにJ、って6発」づる力
やアーム自身および]−ノドエフ1クタの質量によって
発生する重力によって[1ボツ1〜の実際の動ぎと所望
の動きとの間に差が発生し、特に高速かつ高精度が要求
される実施例においては重人な問題どなってきた。この
問題は、指令値と現在値との、つまり、制御入ノJとし
ての目標位置と制御結果としての現在位IP!tとの因
果関係を運動方程式として前もって知り、所望の結果を
生むような制御パックを与えることによってのみ解決さ
れるもので、これをフィードフォワード制御、あるいは
予測制御あるいは最適制御と呼んでいる。それゆえ、第
2に、エンドエフェクタが所望のバスを移動するような
予測制御方法およびそのための装置が望まれていた。
さらに、位置のフィードバックによってのみ制御される
ロボッ1〜が何らかの障害物に対したときにロボットの
アームに発生する力は、そ゛の力の方向の位置偏差によ
って変わってしまうが、組立や面仕上げに類する応用に
おいては、成る方向には一定のツノで押、し付けそれに
垂直な方向には位置側911をする要求があった。また
、その方向は口1ポットの機構の設計上の都合で決まる
方向ではなく、被加工物によって決まる方向である。し
たがって、任意の被加工物で決まる座標系で位flff
f制御と力制御の切換または荷重の選択を行な−)必要
がある。
それゆえに、第3に、そのための装置と被加工物で決ま
る座標系での力からロホット機構で決まる座標系での力
(1〜ルク)への変換の手段が望まれていた。さらに、
特に組立作)°毛にJ3いて、挿入づる部品によって決
まる座標系での回転を含めたいくつかの方向のうちの成
る方向について、柔かい位置決め(偏芒が生しても反力
が小さいこと)をづることにより、部品の挿入作業が容
易になる現象があり、これを特別なエンド1フJクタ上
のメツJニズムで実現したものがRCC(Remote
 Center 0fCOInplianCe )であ
る。3つの異なる形のRCC装置が、米国特許第4.、
o9s、OO,1号、第4,155,169号および1
980η4月16日に出願された米国性T1出願第14
0,768号中に開示されている。これらの米国特許お
にび特許出願は、ここに参考として組入れられている。
しかし、RCCを特別な]−ンド]フ1クタとしてでは
なく、アーム自身で実現する要求があった。
好ましい実施例の説明 この発明は、前述した第1ないし第3の要望を満たすこ
とを企図してJ3す、そのために、この発明は、要約ず
れば、次のことを行なう方法およびそのための装置を含
む。
まず第1の要望に対しては、少なくとも専用のハードウ
ェアでヤコビアンJ(α)をめ、かつ関節座標系でめ位
置テ!−タαがら直角座標系(・の位置データXへの座
標変換の演算を行なう。ざらに好ましくは、専用のハー
ドウェアでヤコビアン−インバース[J(α)]−1を
め、かつ直角座標系での速度データdXから関節座標系
での速度データdαへの座標変換の演算そのものをも行
なう。
次に第2の要望に対しては、運動方程式の逆問題を解き
、予測制御を行なう。運動方程式は関節座標系で書かれ
ているので、これを解くためには関節座標系での情報が
必要である。そのため、直角座標系での速度データdマ
から関節座標系での速度データdαへの変換および直角
座標系での加速度データd2父から関節座標系での加速
度データd2αへの変換を行なう。これらの変換J3よ
び運動方程式の逆問題を解くことも、専用のハードウェ
アで行なう。
さらに第3の要望に対しては、力のフィードバック制御
を行なう。そのため、直fl、1座標系でのツノデータ
Fから関節座標系でのトルクj゛−タτへの変換を行な
う。この変換も専用のハードウェアで行なう。
全体システムの」L 」−記処理のすべてを実施する全体システムの構成につ
き概略説明する。第1A図および第1B図は、それぞれ
、多関節ロボットの制911装置の全体システムの構成
を概略的に示づブロック図である。
図において、一点鎖線より左側は直角座標系(−表わさ
れる■を取扱う部分であり、右側は関節座標系で表わさ
れる徂を取扱う部分である。
まず、第1A図に示づシステムにつき説明づる。
ポストシステム4からは、時々刻々の直角座標系におけ
る指令値がマトリクスの形で出力される。
ホスI・システム4は、図示しないけれども、マイクロ
コンピュータを備える。ホストシステム4から出力され
る指令値には、大きく分(プて、パスの指令値と押イ」
【フカの指令値とがある。バスの指令値は、位置指令デ
ータX、速1良指令データdXJ:iよび加速度指令デ
ータd2Xを含み、押付は力の指令値は、力指令データ
Fを含む。ホストシステム4からの位置指令データ×は
、後述の位置フィードバックデータが差引かれた後、ゲ
イン調整部14でゲイン調整され、後述の速度指令デー
タに補正分として加算される。ポストシステム4からの
速度指令データdXは、ゲイン調整部14からの補正分
と加算され、座標変換部6にJ夕いて関節座標系に変換
され、運動方程式演算部9に与えられる。座標変換部6
からの速度指令データは、さらに、後述の速度フィード
バック信号が差引かれた後、ゲイン調整部15でゲイン
111mされ、その結果が補正分として関節部10に与
えられる。ポストシステム4からの加速度指令データd
2Xは、座標変換部7においてr311ms標系に変換
8れて運動方程式演算部9に与えられる。運動方程式演
算部9において(よ、与えられた速度データd5よび7
10速度データに基づいて運動方程式の逆問題が解かれ
、各関節に与えられるべき1ヘルクj−−夕が出力され
、このデータが関節部101こ!jえられる。関節部1
0は、アンプおJ:びモータを含む。関節部10の位置
は、エンコータ11によって検出され、■ンコータ11
からは位置〕(−1〜ハツクデータが出力されこれが座
標変換部5にa3いて直角座標系に変換され、前述した
とJ3リホストシステム4からの位置指令データXから
着引かれる。1同様に、関節部10の速度はタコメータ
12によって検出され、タコメータ12はj士度フィー
i〜ハックデータを出力し、これが前述したように座標
変換部6からの速度指令データに加算される。−力、ホ
ストシステム4からは、力指令データ[−が出力され、
これに後)ホするカフイー1〜パツクデータが差引かれ
て両者の偏差がめられ、ゲイン調整部16においてゲイ
ン調整される。力の偏差dF−1はハンド座標系で表現
されているため、これが座標変換部17にa−3いて絶
対座標系に変換されてdFXとなる。このdFxがさら
に座標変換部8にJ3いて関節座標系に変換されてdτ
となり、補正分として関節部10に与えられる。関節部
10に生じる力はノコ検出器13によって検出され、力
検出器13は前述のカフィードバックデータを出力する
次に、第1B図に承りシステムにつき、第1A図のシス
テムとの相違点を主に説明する。第1A図のシステムに
おいては、位置フィードバックは、運動方程式演算部9
を介して関節部10にかけられている。ところが、運動
方程式演算部℃)には複雑な要素が含まれているため、
この方式では、フィードバックの効き具合が明瞭でない
という欠点がある。これに対して、第1B図のシステム
にa3いては、位置フィードバックは、運動方程式演算
部9を介さずに直接関節部10にか【プられている。
この方式では、余分の座標変換部18が必要になるもの
の、フィードバックの効き具合が明瞭になるという長所
がある。
第1A図および第1B図に示したシステムの特徴は、簡
単に言えば次のとおりである。第1に、直角座標系と関
節座標系との間の座標変換を行なうP1〜標変換部5な
いし8を備λCい<)ことて−ある。
第2に、ホストシステム4から座標変換部6を経由して
運動方程式演算部9に至るフィードフォワードラインお
よびホス(へシステム4から座標変換部7を経由して運
動方程式演算部9に至るフィードフォワードラインを備
えていることである。第3に、位置のフィードバックが
直角P18標系にJ3いてかけられていることである。
従って、演算を行なうことが不可能に近い、直角座標系
て゛の位置データXから関節座標系での位置データIへ
の座標変換を行なう必要がない。さらに、速度のフィー
ドバックもか(プられている。第4に、ホス1゛システ
ム4から座標変換部8を経由して関節部10に至る力の
フィードバック制御ラインを備えていることである。
以下、第1A図および第1B図のうちで特徴のある各部
分を詳細に説明する。第2Δ図および第2B図は、全体
システムの構成を詳細に示フプ[1ツク図である。第2
A図の右端は、第21:3図の左端につながっている。
このブロック図は、第1Δ図83よび第1B図に示した
座標変換部5ないし8J5 J:び運動方程式演算部9
に相当する。この第2Δ図および第28図の説明をこれ
以降に43いて詳細に行なう。
Ll」J丸立二」U組 まず、座標変換の一般論につき説明する。第3図は、多
関節1:lボッl−の模式図である。この第3図の例で
は、多関節ロボット(ユ6つの自由度あるいは関節角α
4.α2 、α。、α、 、α5 、α6を有する。絶
対座標系がXYZで規定され、エンドエフェクタの局所
座標系くハンド座標系ンが×y2で規定されている。
絶対座標系の位置ムク1〜ルYとハンド座標系の位置ム
ク1ヘルyとの関係(ま、その間の座標変換マトリクス
をMで表わすと、次式(1)でちえられる。
Y=Mxy・・・(1) 変換マトリクスMは、次式(2)で与えられる。
(11L、、C,=CO3α、 、3. =Sinα、
であり、立19m、およびn、lよ、各関節の座標系の
原点間の関係を示す。ここで、1=1.・・・、6であ
る。
したがって、上記(1〉式は、次の(3)式で”与えら
れる。
→ Y=M+ XMz xMa XM4 XM5 XMG 
X1ll・・・く3) 但し、M+ないしMetま、台腕についての変換マトリ
クスを示す。
一方、ハンド座標系は、第4図に示すベタ1〜ルーテ r−’ (Px、PY 、P、)の点に位置している。
そして、絶対座標系の各軸の単位ハク1〜ルをi、j。
1くとし、ハンド座標系の各軸の111侍ベク1ヘルを
1’−、j’−、に−とすると、第4図におtノるヘク
トリ → → −2 A = B + Pとづるとき、絶対座標系(Y)とハ
ンド、PIi標系(y)の相互関係(よ、次式(5)で
与えられる。
・・・ (5) 但し、1 ・J′は、ベクトルiとベクトルj′との内
偵を意味する。
これらのことから、(1)式の座標変換マトリクスMは
、次のように要約される。
(i)Mは、それぞれの関節角α、 、α2 。
α0 、α2.α5およびα6の関数であるが、それぞ
れの腕についての変換マトリクスMt (r=1、・・
・、6)は、その軸の関節角α1だ()の関数である。
(ii) Px 、PyおよびP2は、ハンド座標系の
原点位置を示す。
(iii)Mのブロツクシトリクスm (たとえば、(
5)式の点線で囲んだ部分)は、座標系の姿勢情報(方
向余弦)を持っていて、m−1= mTなる関係が成立
する。但し、右肩の添字−1J′3よび王は、それぞれ
逆マトリクスおよび転置マトリクスを示す。すなわち、
方向余弦に着目覆ると、座標系の回転を表わすブ1コツ
クマ1−リクスn1は、第5図に示す関係にあるので、
逆変換は、このブDツクマトリクスを転置するだけでよ
いことがわかる(直交マトリクズ)。
エンドエフェクタの位置・姿勢を実現づるの9、艮各自
由度の回転角であるため、絶対座標系から各軸のα座標
系への変換が必要Cある。[1ボツ1〜のエンドエフェ
クタの姿勢・位置ベクトル(X)は、位置情報をX、Y
、7とし、姿勢情報をnX +nY、nzとづると、 で表わづことができる。また、各軸の回転角度はま I
こ で表わされる。したがって、前記位置情報および姿勢情
報は、それぞれ(7)式で表わされる。
この(7)式を要約すれば、(8)式が得られる。
X−F(α〉 ・・・(8) このく8)式は、絶対座標系の姿勢位置ベクトルXが各
関節角ベクトルαの関数であ゛ることを示している。
αからXへの変 次に、−ベクトル了からベクトル又への座標変換の方法
およびそのための装置につき説明する。これは、第1A
図および第1B図の座標変換部5に相当する。
(2)式かられかるように、M、は、αI 、941m
、およびn、で表現されたントリクスである。
また、M2は、α2 、見29m2および11□て表現
されてJ5す、MoないしM6b同様である。したがっ
て、それらの積MI XM2 XM3 XM4 XMs
XM6、すなわちMは、αt 、C,t 、Ill、 
+n+(i=1ないし6)を含んだマトリクスとなっ−
くいる。このうら、見++m1Jシよひnlは、各関節
間の距離、すなわち、台腕の長さに関係した1■であり
、ここでは、定数である。このため、Mの各要素は、変
数としてα+(i=1ないし6)を含んだ17)となっ
ている。このことがら、M I;j、M−「°汁(α霞
] ・・・(9) のように書くことができる。Mの、jl(要素a ck
 (α1)は、具体的には(2)式のマトリクス乗算を
実行し、その結果として得られる第3行第に列の要素で
ある。ところで、このようにしてiEFられるa、4.
 (α、ンがどのような意味を持っているかを考える。
Mは、その定義(1)式から、空間中の任意の点のハン
ド座標系での位置ベクトルVと、同じ点の絶対座標系で
の位置ベクトルYとの関係を示づものである。そこで、
ハンド座標系での原点すなわらエンドエフェクタの先端
が絶対座標系でどのよ−うに表わされるかを貨える。こ
の点は、ハンド座標系ではX =O,V =O,z =
Oであるh口ら、絶対座標系でのこの点の座LJjをX
。、yo、Z。
とりると、(1)式より なる式が得られる。この式の右辺の乗算を実行すれば、 となる。したがって、 なる式か11ノられる。すなわら、71〜クスMのa1
4 く α 1 ) +az+ (α l+”04 (
α 1 ) (まそれぞれエンドエフェクタの先端の絶
対月6標系における座標成分に対応していることになる
。そして、(12)式の左辺は絶対座標系に415 L
ノる聞であり、右辺はα、(i=iないし6)によって
書かれていることから、α1を与えればX、、Y。
、Zoがわかることになる。エンドエフ1クタの姿勢情
報を表わすm nX O+”10 +口l、についても
同様にMの中のブロックマトリクスmに含まれる要素と
の関係が得られる。条間111)日ボ・ントの制御にお
いて重要な役割を演するのは、エンドエフ1クタの先端
の位置およびその姿勢であるから、(12)式でX。、
Y、、Z、と沿え字Oを付けC占いたものを改めてx、
y、zと書いて使用することとづば(’nxo Yo、
n□。についても同、n 様)、(12)式等により なる関係があることになる。すなわら、(i ) α1
で書かれたMlの乗算を行なってMをめ(このMはα1
で書かれている)、(Ii) Mの各要素のうらa、。
(α、)、a4.(αl+a14 (αl+”2G(α
1)。
・・・+ a34 (α1)を取出せば、これらはイれ
ぞれ、nX +nY *nZ +・・・ 、Zに対応し
でいるため、(12)式等の関係式がI’lられ、 → → (iii) (12>式等の関係式は、X <−2αの
関係を示づ式であるため、dとXの相ケの変換式がPI
られたことになる。づなわち、dからマへの変換を行な
うためには、前記(2)式の演緯、ずなわち、 lVI+ XMz xMa XM4 XMS、XM6’
=M・・・(171,) なる演停を行なえばよい。ざらに操t;ηれば、αから
Xへの変換は、ロボットの各自由度の動きを座標変換7
トクスM3として表現し、ぞの71へりクスの自由度の
数(たとえば6自由度の場合、i−1ないし6)だけの
積マトリクスMをめればよい。
そこで、前記(14)式の演紳を行なう装置につき説明
する。第6図は、1から又への座棺変換装置を説明する
ためのブロック図である。この図は、第2A図に相当し
、点線′C囲んlこ′部分が第1Δ図および第1B図に
示した座標変換部5である。
座標変換部5は、マトリクスシフトレジスタ25と、そ
れに接続されたマトリクス乗算fi41と、・でれに接
続されたマトリクスレジスタ42と、それに接続された
マトリクスレジスタ43およびバッファレジスタ44と
を備える。マトリクスシフ(〜レジスタ25は、自由度
の数1だりの、たとえば6自由度の場合6個のマトリク
スレジスタ251ないし256から構成されている。マ
トリクスレジスタ251ないし256は、それぞれ、各
自由度の動きを座標変換マトリクスとして保持づる。
マトリクス乗算器41は、2つのマトリクスを入力とし
、その2つのマトリクスの積のマトリクスを出力する。
このマトリクス乗算器41については後でざらに詳しく
説明する。マトリクスレジスタ42は、マトリクス乗算
器41での乗算結果を保持づる。
ここで、クロック信号につき説明する。座標変換部5に
タイミング回路(図示せず)から2種類のり1コック信
号φAおよびφBが与えられる。すなわち、マトリクス
レジスタ42にはクロック信号ψAが与えられ、マトリ
クスシフトレジスタ25、マトリクス乗算器41.71
−リクスレジスタ7′I3およびバッフ7レジスタ4.
 /lに(Jり1]コック信φBが与えられる。クロッ
ク信号φAは、マトリクスの積をとるためのものであり
、細かく見れば64個のパルスからなる。り[1ツク1
占号φBは、レジスタをシフ1へさげるためのものであ
り、細かく見れば16(固のパルスからイ蒙る。なお、
これIうのクロックφΔおよびφBは、以上と同様の考
え方で、第2Δ図および第213図に示したりへてのブ
ロックに人力される。Jなわら、v/l−リクスの積を
受【プるレジスタにはクロック信号φAが入力され、そ
れ以外のブロックにはクロック信¥’′1d)Bが入力
される。
次に、座標変換部5の動作につき説明する。ンイクロコ
ンピュータ(図示Uず)から、各マトリクスレジスタ2
51ない1ノ256に変換ントリクスM、ないしMIi
がそれぞれ与えられる。図において、■は、マイクロコ
ンピュータからの入力を示している。つまり、マイクロ
コンピュータ内のり−ドオーンリメモリ内には、各自由
度の正弦および余弦をめるためのテーブルがあり、その
テーブルに基づいてソフトウェアによる補間が行なわれ
、これによって上述のようにマイクロコンビ−L−夕か
らマトリクスレジスタ251ないし256に変換マトリ
クスM、ないしM6が与えられる。
まず始めに、マトリクスレジスタ251内にはマトリク
スM、が保持されており、マトリクスレジスタ4.3は
単位マトリクスEにイニシャライズされている。したが
って、マトリクス乗算器41は、マトリクスM、と単位
マトリクス[との乗算を行ない、その結果であるマトリ
クスM、がマトリクスレジスタ42内に保持される。第
6図は、この状態を示している。次に、前記クロック信
号によりマトリクスシフトレジスタ25内の71−リク
スは図において右の方向に1ブロツクだけシフトされ、
すなわち、マトリクスレジスタ251内にはマトリクス
M2がロードされ、さらにマトリクスレジスタ43には
マトリクスレジスタ42からのマトリクスM、がロード
され、そしてマトリクス乗算器41においてマトリクス
レジスタ25 l hsらのマトリクスM2とマトリク
スレジスタ/13からのマトリクスM、との乗算が行な
われ、その結果マトリクスMIXM2がマトリクスレジ
スタ42中にロードされる。以降バ]j様の動作が繰返
され、所定の6クロツクタイムの後には、71ヘリクス
レジスタ42およびバッファレジスタ44中には1ノト
リクスMI XM2 XM3 XM4 XMS XM6
が、すなわちマトリクスMが[1−ドされる。こねによ
なお、バッファレジスタ44(J必づ゛しし必要イfも
のではなく、さらにマトリクスレジスタ43の代りに最
小限1行(J、たけ1列)分のバラノア機能を71〜リ
クスレジスタ42中に臼めることあるいは71〜リクス
乗算器41に(=J加することにより省略り゛ることが
できる。この場合、マトリクスレジスタ42は、単位マ
トリクスFにイーシトライスされるものとする。
以上のようなαからXへの変換をンイクロコンピユータ
のソフトウェアのみで行なうとずれlば。
その演算時間はたとえば50〜100m5ec程度必要
とするが、同様の演算をこの実施例ように専用のハード
ウェアで実施すると非常に高速度で、たとえば1m s
ec以下で行なうことができるという効果がある。
次に、前述したマトリクス乗算器41の訂細につき説明
する。第7図は、マ]・リクス乗算器を説明するための
ブロック図である。このブロックの全体の運用でマトリ
クス乗算器の機能が達成される。第6図のマトリクス乗
算器41は、そのような機能を達成づるものを便宜上1
つの71−リクス乗算器41として表わしたものである
。第2Δ図Jシよび第2B図に示し、後で説明する他の
マトリクス乗算器についても同様である。
4×4のマトリクスレジスタ80および81が乗算・加
算器82の入力部に接続されており、東樟・加算器82
の出力部には4×4のマトリクスレジスタ83が接続さ
れている。このマトリクスレジスタ80,81おJ:び
83は、それぞれ、第6図のマトリクスレジスタ43.
マトリクスジットレジスタ25およびマトリクスレジス
タ42に対応している。乗算・加算器82は、乗算器8
21と、それに接続された加算器822と、それに接続
されたバッフ7Iレジスタ823とを佑える。
マトリクスレジスタ80からの乗算・加算器82への人
ツノを×1とし、マトリクスレジスタ81からの乗算・
加算器82への入力をylどし、乗算・加算器82から
のマトリクスレジスタ83 ’\の出ツノを7.とした
場合、乗算・加ぢ)器ε32 fJおい−Cは次の式に
示づ演緯が?jなわれる。
Z、=7....+X、Xy、・・・(’l 5 )こ
こで、iは1乗算時間単(<2のタイミンクを示し、1
−1ないし4である。このブ[ミンク図の装置は、2つ
の機能を有している。第1(よ、次の式に承りような7
1〜リクス′乗算の機能である。
[X] X [Y] = [2] 第2は、マトリクスレジスタ83の内容をマトリクスレ
ジスタ80中に転送する機能である。
第8図は、マトリクスレジスタの一例を示すノ[ミンク
図である。この図は4×4のマトリクスレジスタについ
て示しているが、6×6のマトリクスレジスタについて
も同様である。ここでは、71〜リクスレジスタ8oを
例にして説明する。4×4のシフトレジスタ802の人
力部および出力部に、それぞれ、ゲート801および8
03が接続されている。さらに、ゲート80’1おにび
803ならびにシフ1〜レジスタ802には、制御装置
804が接続されている。このマトリスレジスタ80は
、次に示す4つの機能を有する。
(i) 2つのモードを選択することが可能である。1
つは、シフトレジスタ802の各??:累をシフトさけ
るシフトモードであり、このシフトは指定された1つの
行または列についてのみ行なわれる。伯の行または列は
巡回([1−テート)する。
他の1つは、シフトレジスタ802の各要素を巡回さぼ
るローテーションモードである。このローテーションは
、全部の行または全部の列について行なわれる。
(+1) データを横方向にシフトまたは[1−デージ
ョンさUる横シフトモードと、データを縦方向にシフト
またはローテーションざUる縦シ“)I〜モードとを選
択づることができる。
(iii ) シフ1へレジスタ802が外部からデー
タを受取る要素を指定することができる。すなわら、シ
フ1〜レジスタ802において、シフトする行または列
を指定することが7−さる(残りの部分は1」−デート
する)。
(iv) シフトレジスタ802において外部へ)°−
夕を出力づる要素を指定づることがて−きる。
上記の4つの機能は、制υI装同804にょっ−C制御
される。
第9図は、制御装置とマトリクス乗算器との接続を示す
ブロック図である。マトリクスレジスタ80.81およ
び83は、データラップ回路84に接続されており、デ
ータラッチ回路84は制御用リードオンリメモリ(RO
M>85に接続されている。制御用ROM85には、ア
ドレスカウンタ86が接続されており、アドレスカウン
タ86にはナントゲート87が接続されている。
各マトリクスレジスタ80.81および83において、
データラッチ回路84からの信号により、前記4つの機
能の選択が行なわれる。制御用ROM85内には、各マ
トリクスレジスタ80.81+13よび83を制御する
ための所定のデータが記憶されている。そのデータは、
アドレスカウンタ86により指定されたアドレスから順
次読出される。
アドレスカウンタ86の内容は、ホストシステム(図示
せず)からのクロック信号CL Kにより更新される。
第10図は、マトリクスレジスタの運用方法を説明7る
ための図である。この図と下に示す表2どを用いて、マ
トリクスレジスタがいかに運用され、それによってマ(
−リクス乗算が行なわれるかを説明する。
7F・リクスレジスタ80.816よび83のモードを
選択づる。りなわら、マトリクスレジスタ80のモード
として、横モードおよびローテーションモードを選択す
る。マトリクスレジスタ81のし一ドとして、縦モード
およびローテーションモードを選択Jる。マトリクスレ
ジスタ83のモードとしで、横モードJ3よびシフトモ
ードを選択する。
まず、マトリクスレジスタ80の第4行の各要素と、マ
トリクスレジスタ81の第4列の各要素との乗算が行な
われ、6積の和がマトリクスレジスタ83の第4行第1
列に[1−ドされる。これは、前記(15)式の演算を
行なうことにより達成される。次に、マトリクスレジス
タ80の第4行の各要素とマトリクスレジスタ81の第
3列の各要素との演算が前述と同様に行なわれる。その
演算結果は、マトリクスレジスタ83の第4行第1列に
ロードされていた先のデータを第4行第2列にシフトす
るとともに、マトリクスレジスタ83の第4行第1列に
ロードされる。以後同様にして、マトリクスレジスタ8
0の第4行の各要素とマトリクスレジスタ81の第2列
あるいは第1列の各要素との演算が行なわれ、その演算
結果はマトリクスレジスタ83の第4行にロードされる
次に、マトリクスレジスタ80の第39」の各君素とマ
トリクスレジスタ81の各列の要素との演算が前述と同
様に行なわれ、その演算結果が? l−リクスレジスタ
83の第3行にロードされる。以陪同様にしで、マトリ
クスレジスタ80の第2行あるいは第1行の各要素どマ
トリクスレジスタ81の各列との演算が行なわれ、その
演算結果がマトリクスレジスタ83の第2行あるいは第
1行にロードされる。以上により次式のマトリクス乗算
がなされたことになる。
[X] X [Y] = [2] J(ff>のめ方 次に、ヤコどアンJ(α)を専用ハードでめる方法およ
びそのための装ytを説明づる。これは、第1A図およ
び第1B図の座標変換部6の一部分に相当する。
前記く8)式は、αについての方程式であり、絶対座標
系の姿勢・位置ベクトル×と各関節角ベクトルαとの間
には、非線形の関係が存在する。
したがって、(8)式からX−)αの直接変換をめるこ
とは一般に複雑である。
そこで、この実施例では上記(8)式について→ 微小変化dXおよびdαに限定すれば、線形で取扱い1
りることに着目し、■コピアンJ(α)を利用ザる。、
なJ5、このヤコビアン(J acobian )は、
たとえば、IEEE TRANSACTIONSON 
MΔN−MΔC1−(INE SYSTl=MS、VO
L、MMS−10,NO,2,JUNEl 969 (
7) D aniel E 、 W hitneyによ
る“Re5olved Motion Rate Co
ntrol of Manipulators and
 Human p rosthesis ”という記事
でよく知られている。dXとdαとの間の変換のヤコビ
アンは、(7)式の右辺を微小なdαについてテーラ−
展開し、その最低次の項のみを残づことによって、次式
(16)で表わされることがわかる。
・・・ (16) ここで、 (l X=J (α)・dα ・・・(17)であるか
ら、連立方程式を解けば、 dα−[J(α)]−1・dX ・・・(18)が成立
する。この発明の実施例では、(17)おにび(18)
式を利用して、直角座標系からα系への座標変換を行な
う。上記2式は微小変化についてのものであり、したが
ってそのための演算は、少な(ともサーボレートで行な
う心数がある。
そこで、この実施例では、上記のようなアルゴリズムを
演算回路で実現せんとするものである。
前述の(3)式に戻って、YをαIないしα67 B4=IVI+ XV2 ’ xMa XV4 XV5
 XV6 XV・・・(19) 変換マトリクスを微分するということはその中の各要素
を微分することであり、したがって上記(19)式のわ
Y/、lα、は、(5)式を用いて次式(20)式で表
わされる。
これを前述の(16)式と対応させると、マタ、afq
/aa+ 、2fs/arx、およびDf61つα1は
、上記ブロックマ1〜リクスam/δα1の中から適当
な3つを選択する。(19)式%式%(21) −1,2,・・・、6)を目算することによって17コ
ビアンJ(α)の各々の要素がまる。このようにしてめ
た要素を、前述の(17)式に代入づることによって、
微小区間での座標変換が達成される。
この実施例では、前述の\7コビアンマトリクスの各要
素をめるために、(19)式は同じ演算過程の繰り返し
が多いことに着目して、マイクロコンピュータやマイク
ロプロセサとは別のtなりち専用のハードウェアで演算
し、マイクロコンビコータないしマイクロプロセサはそ
のめた要素を代入して、最終的に座標変換を行なうよう
にする。したがって、マイクロプロセリないしマイクロ
コンビコータにa5いて、座標変換のために必要な処理
が非常に少なくなる。したがって、高速の索子を用いる
必要がないばかりか、マイクロコンビコータやマイクロ
プロセサのCPUに対して別の機能をイ1加することが
できる。従来のものでは、座標変換のICめの演算時間
が非常に長かったので、CI) (Jの処理速度が高速
でなt−1れば、あまり細かく内分補間することができ
なかった。また、他の機能を(=l加しようとすれば補
間点の演算時間を制限しなければならずそのためには補
間間隔を大きクツ゛ることが考えられたが、軌跡の正確
さに欠けるという欠点があった。これに対して、この実
施例のように座標変換のために必要な演算要素を別の演
算回路で行なうようにすれば、マイクロプロセサやマイ
クロコンピュータに高速のものが必要ではなくなり、あ
るいは他の機能を刊加することが簡単にできる。
さらに、このJζうな座標変換の方法によれば、多関節
ロボットの構造の変更tj にび自由度の増減に比較的
容易に対処できる。たとえはエンドエフェクタの種類に
よって要求される自由度は具なる場合があるが、このよ
うな回合でもこの実施例の装置によれば、マイクロコン
ピュータなどのソフトウェアを多少修正するだけでJ:
いの(゛、汎用性が増強されることになる。
第11図はこの実施例の概念を説明するためのブロック
図である。マイクロブo t (jlは演瞳回路2に接
続される。マイクロプロセリ”1から、演算回路2に、
前述の(1つ)式の台腕ごとの変換マトリクスM、〜M
r、73よびM1′〜M6’ が与えられ、演算回路2
では、この(19)式に基づいて演算を行なう。演算回
路2は、バッファレジスタ81〜B1.およびす、〜b
+1 を含み、乗n器MP、〜MP、によって、これら
バッファレジスタにストアされたデータが乗算される。
乗算器MP1はバッファレジスタB5の内容とバッファ
レジスタB、の内容とを乗算し、その結果をバッファレ
ジスタB6に再びロードする。乗算器M P 2はバッ
フルレジスタB6の内容とバッファレジスタb6の内容
とを乗算し、その結果をバッファレジスタb6にロード
する。乗算器MP3はバッファレジスタB7の内容とバ
ッファレジスタB8の内容とを乗算し、その結果を再び
バッファレジスタB7にロードする。そして乗算器MP
、はバッファレジスタB7の内容とバッフ7レジスタb
7の内容とを乗算し、その結果をバッファレジスタb6
にロードする。この演算回路2においては、2つの演算
過程を含み、その1つはデータの流れが第11図におけ
る右方向であり、他の過程は逆方向のデータの流れを右
する。そして、それぞれの演算動作J5よび成るバッフ
ァレジスタから伯のバッファレジスタへのデータのシフ
トは、所定の1ユニツトタイムごとに行なわれる。バッ
ファレジスタB6およびB7は、バッファレジスタB5
からのデータを受け、バラフッ・レジスタ136はさら
にバッフ7レジスタB8からのデータを受ける。
バッファレジスタB、〜81λとそれらに関連する乗算
器MP、およびMP、とが(20)式の変換マトリクス
M、〜M6の演算のために用いられ、バッファレジスタ
b1〜Ll ど乗算器M1〕2おJ:びM P 4 と
が(20)式における微分された変換71−リクスM+
’〜M6′の演算のために利用される。
マイクロプロセリ1からのデータの入力が完了した状態
では、バッファレジスタB、、B2,331B角+Bs
+’BljおよびB、に、それぞれ、変換マトリクスM
41M2 、M5.M4.Ms 。
M6およびM6がロードされ、バッファレジスタb、、
b2.b、、b4.b9.b6に、それぞれ、微分され
た変換マトリクスM I ’ 、 M2 ’ +M s
 ’ + M4 ’ + Ms ’ + Me ’ が
[1−ドされている。次のユニットタイム間にバッフ)
lレジスタBsにロードされた変換マトリクスM5とバ
ッファレジスタB、にロードされた変換マトリクスM6
とが乗算器M P + ぐ乗算され、同時にバツファレ
ジスタb、にロードされている微分された変換71−リ
クスM5’ とバッファレジスタB、にロードされでい
る変換マトリクスM6とが乗算器MP2によって乗算さ
れ、その結果M s X M 6およびM s ’ X
 M 6が、それぞれ、バラノアレジスタB6およびb
6にロードされる。また、この間に、各バッファレジス
タにロードされている変換マトリクス(微分されたもの
も含む)は、次の乗算に備えて、第11図の右方向へ1
ブロツクシフトされている。そして、バラノアレジスタ
87〜B1zにそれぞれ変換マトリクスM、〜M6がロ
ードされ、バラノアレジスタB6にはすべての変換マト
リクスの乗算結果すなわちMI XM2 XMS XM
4 X M 5 x M 6がロードされ、バッフ7レ
ジスタb11 ・bIOb!3・b8.b、およびb6
に【よ、それぞれ、Me ’ * Ms ’、X1y4
61 Ms ’ XMs XMe + M3 ’ XM
4 XMS XMG + M2 ’ xMsXM4 X
MS XMSおよびM1’ XM2 xMa XM4 
XMs xM6がロードされている。そして、この時点
で第1の演算過程が終了する。
次の演算過程の流れは第11図の左方向であり、乗算器
MP3およびMP、によって処理される。
先の演算過程で第11図の右側のバラノアレジスタに移
ったそれぞれのデータは、次の55ユニットタイム間に
づ°べて、左側へ再びシフトされる。その結果、バッフ
ァレジスタ81 、 b’+ 、 b2+・・・b6に
は、それぞれ、各マトリクスの積ずなわちMI XMz
 xMa XM4 XMS XIVI6.M1’ XM
2 XMs XM4 XMS XMG * MI XM
2 ’ XMS XM4 XMS XMS 、・・・M
 + ×M 2 X M a xM4 XMS XMS
 ’がロードされることになる。
このようにして演算された(19)式の要素はバッファ
レジスタb、からマイクロプロt7す1にこのマトリク
スは(20)式にa5いて[]で示したマトリクスであ
る。このマトリクスの及。
δJ1 6)式のヤコビアンJ(α)の一部の要素に対応従って
上記ロードされた6つのマトリクス積のそれぞれから必
要な要素を取り出すことにより、(16)式の12コピ
アンJ(α)のすべての要素→ が得られる。ヤコビアンJ〈α)が得られれば、(18
)式を用いて各関節角の変化量が得られる。
これらの処理がマイクロプロセッサ1によって行なわれ
る。
このように、ヤコビアンの各要素を計算するために別の
演算回路2を用いるようにすれば、演算回路2における
演算速度はマイクロプロセサ1のソフトウェア処理にに
る演尊速度に比べて非常に早いので、マイクロプロセ、
す1の負担ずべき演算時間が少なくて済み、d7からd
lの変換が(ノーボレートで行なえる。また、このよう
に別のハードウェア構成による演算回路を設けるように
すれば、ロボットのt!6造の変更おJ:び自由度の増
減に対して容易に対処できる。なぜならば、自由度の増
減に対処するにはハードウェア回路を増減するだけでよ
いからである。
なお、バッファレジスタB1から得られるデータMI 
XM2 XMS XM4 XMS XMSは、前記〈1
)および(3)式の変換マトリクスであり、CPUはこ
のデータを用いて、ハンド座標系から絶対座標系への変
換も行なうことができる。
第12図はこの実施例の概念を説明づ−るための伯のブ
ロック図である。この第12図の回路は、第11図の回
路よりも演算時間を短縮することができる。たとえばこ
の第12図の回路によれば、同じようにヤコビアンマト
リクスの各要素を演算するについて、第11図の回路に
比べて、回路規模を減少J゛ることがでさる。なL!’
 /、iらば、データ転送数を大幅に減らずことができ
るからである。
この第12図に示ず演算回路2はバッファレジスタB、
〜B7およびす、〜b6を含み、マイクロプロセサ1(
第11図)はバッファレジスタB1とblとに結合され
る。乗算回路M P +は、バッファレジスタB5の内
容とバッファレジスタB6の内容とを乗算しその結果を
バッフ7レジスタBGに再びロードするとともに、バツ
フ7レジスタB、の内容とバッフ7レジスタB7の内容
とを乗算しその結果を再びバッファレジスタB7にロー
ドすることができる。同じように、乗算回路MP2は、
バッフ7レジスタB6の内容とバッファレジスタb5の
内容とを乗算してその結果をバッフ7レジスタb6にロ
ードするとともに、バッファレジスタB7の内容とバッ
ファレジスタb、の内容どを乗算し、その結果を同じ(
バッファレジスタb6にロードすることができる。
マイクロプロセサ(図示せず)からのデータ入力が完了
した状態では、バッフ7レジスタBI。
82 、B−、B−、Bs 、BGおよびBりには、そ
れぞれ、(19)式の変換マトリクスM、 、 M2 
、 Ma 、 M4 、 Ms + Ma a3よびM
aがロードされ、バッファレジスタb、〜b6には、そ
れぞれ、微分された変換マトリクスM+’〜MG’がロ
ードされる。次のユニットタイムでは、乗算回路MP、
によってバッファレジスタB!にロードされていたM5
とバッファレジスタB6にロードされていたMaとが乗
算され、バッファレジスタ8cにはIVISXM6がロ
ードされる。同じように、乗算回路MP2によって、バ
ッファレジスタb6には、Ms’XM6がロードされる
。またこの間に、各ブロックのマトリクス(微分された
ものも含む)は次の乗算に備えて1ブロツクずつジノi
〜される。次のユニットタイムでは、バッファレジスタ
B6にM< XMS XM6がロードされ、バッファレ
ジスタb6にはM4 ’ XMa xMeがロードされ
る。このとき、バッファレジスタb1には、先にバッフ
ァレジスタb6にロー1〜されていたM5 ’ XM 
6がロードされている。また、バッフルレジスタB7に
は最初にバッフフルレジスタB4にロードされていたM
4がロードされているであろう。以接このことが繰返さ
れて、最終的にはバッファレジスタ8電、B2.B3.
B、、BS、Br d3よびB7には、それぞれ、M 
+ X M 2 X M aXM4 XMS X、Ma
、M2 、Ms 、M< 9Ms 。
MaおよびMI XM2 XM3 XM4 XMS X
M6がロードされる。一方、バッフアレシス、りす、。
b2.b、、b、、b、およびb6には、それぞれ、M
I ’ XM2 XM3 XM4 XMs XMs 、
MI XM2 ’ XMs XM4 XMS XMS 
、MI XM2 xMa ’ XM4 XM5 XM6
 + MI XM2 XMs XM4 ’ XM5 X
M6 + MI XM2 XMa XM4 XMs ’
 xMsおよびM + X M 2 X M s X 
M 4XMs XMr ’がロードされる。そして、マ
イクロプロセサへはバッファレジスタb1がらデータが
転送される。
マイクロプロセサはこのようにしてめられたヤコビアン
J(α)のインバース[J(’#)]−’をめ、ざらに
(18)式を用いて各関節角の変化量をめる。
上記バッファレジスタB7に得られ1=デ一タMI x
ly12XMa XM4 XMs XM6を用いてハン
ド座標系から絶対座標系への変換を行ない得ることは前
述のとおりである。
好ましい実施例では、第12図の回路に従ったハードウ
ェア回路をCPUとは別の集積回路で構成づる。
第13図はこの発明の実施例に用いられる集積回路の一
例を示すブ【コック図である。この集積回路3は、後に
詳細に説明するがその中には8ピツI〜レジスタが16
個配置されたシフトレジスタである。そして、この集積
回路3はマイクロプロセリないしCI) LJに接続さ
れ、入力バス[3iに接続された入力ポートIn”・■
7をイjし、出力バスBOに接続された出力ボートOo
 ” 07を有する。
マイクロプロセサないしCPLJからのデータは入力バ
ス3iの入力ポートIo〜1□によって与えられ、CP
Uへは出力バスSoの出力ボートO。
〜07を通してデータがもえられる。他の集積回路から
のデータはデータバスD1またはD2によってそれぞれ
に対応づる入力ボートDlo〜D1、またはD 2o 
”D 2 ?に与えられる。伯の集積回路へのデータ出
力は[)out (Do〜D7)から得られる。データ
の選択はCP LJからちえられる信号D + / D
 2によって行なわれる。集積回路3は、さらに、その
中に含まれるシフトレジスタのためのシフトクロックG
Kおよびイの他の信号RO王、O8,R/W、STBお
よびCl−Aを受ける。
第14図はこの集積回路の詳細を示すブロック図である
。集積回路3は16の8ビツトレジスタ300〜315
を含み、各々のレジスタは8つのフリップフロップから
なる。たとえばレジスタ300はフリップフロップ30
0a〜300 hがらなり、レジスタ315はフリップ
フロップ315a〜315hからなる。レジスタ300
の各々の7リツプフロツプ300a−300hは、各々
のデータセレクタ316a〜316hがらのデータ出力
を受け、これらフリップフロップ300a〜300 b
の出力は、ナントゲート317a 〜31711のそれ
ぞれの1人力に与えられるとともに、次段のレジスタ3
01を構成づるそれぞれのフリップフロップ301a〜
301hに与えられる。
そして、レジスタ301の内容は順次レジスタ302、
・・・314,315に送られる。このようにしてレジ
スタ300〜315にJ:ってシフトレジスタが構成さ
れる。レジスタ315の各々のフリップフロップ315
8〜315hの出力は、対応のデータセレクタ3168
〜316ハに与えられるとともに、データ出力DOut
の各ピッ1−Do〜D7となる。データセレクタ315
a 〜316hには、それぞれ、データ入ノ)D”IJ
3よび1っ2づなわらD 1 o ”□D 17および
D2o”D27が与えられ、ざらに、入力バス3 i 
iすゎらl o ’[7が与えられる。データセレクタ
316aへ・316hには、さらに、コン1−〇−ラ3
18を経た信号D1/l)2および信号R/Wの反転と
信号6百の反転との論理積R/W−C8が与えられ、ざ
らに信号ROTが与えられる。ここで、信号1) 1’
 / D2は、データ入力D 1 o ”−D I ?
 A′3よびD2o”−02、のいづ゛れがを選択的に
取込むための指令信号であり、たとえばこの信号「1」
でデータ入力D 10 ” D 17が選択され、「o
−1でD2o〜・D27が選択される。信号R/Wは、
レジスタへのう゛−タ書込みまたはレジスタからのデー
タ読出しの選択を行ない、「1」で読出し「o」で書込
みとなる。信号csはチップレレク1〜(Fi号であり
、rOJでこの素子が選択される。信号ROTは、ロー
テーション信号であり、レジスタ300〜315の内容
をそれぞれ次段のレジスタにシフトさせるためものであ
り、rOJでそのシフト動作が指令される。このように
シフトさ才る必要があるのは、データ書込みおにび読出
しの両方においてであり、レジスタ300からしかデー
タ書込みやデータ読出しができない構成であるからであ
る。
レジスタ300のフリップフロップ3008〜300h
の出力を受けるナントゲート3178〜317bのそれ
ぞれの残余の2人力には、コントローラ318を通して
、信号O8の反転と信号R/Wとの論理積C8−R/W
、Bよび信号S T Bの反転STBが与えられる。信
号STBはストローブ信号である。また、レジスタ30
0−315を構成り−るフリップフロップ3008〜3
15hには、信号CLAが与えられ、この信号CLAは
クリア信号である。レジスタ301〜315のフリップ
フロラ7301a〜31511には、クロックGKが与
えられる。レジスタ300のフリップ70ツブ300a
〜300hには、クロックGKに代えて、]ンヒトロー
ラ31を通して、タロツクOKとストローブ信号STB
の反転とチップセレクト信@O8の反転との論理積′!
lなわらCK・STB −O8が与えられる。
ナントゲート317a−317bの出力は出力バスBO
の各ビットBo”−B7ど4fる。
第14図に示す集積回路3では、レジスタ3゜0〜31
5間の16回のシフトづなわちローテーション動作が、
先の第12図に示づバラツノ・レジスタBo〜[37J
5よびbo〜1〕6間の1シフトに相当°リ−る。そし
て、信号O8のl”OJで当該チップが能動化され、信
号R/WがrOJのときデータセレクタ316a ”3
16i+を;[] L/ T、信号D1/D2に依って
、データ入力Di(D1o〜D17)またはD 2 (
D 2o ”D 27 >が、レジスタ300に与えら
れる。また、信号R/Wが1−1jのとぎ、ナントゲー
ト3178〜317hが有効化され、レジスタ300の
フリップフ[」ツブ300a〜300hから、出力バス
B o ′−B ?ヘデータが読出される。なお、信号
DI/D2は第12図に示す1題念図におけるデータシ
フト方向を表わJo レジスタ300〜315間のデータのローテーションは
信号ROTに応答して行なわれ、信号OL八に応答して
づべでのレジスタ300〜3]5がクリアされる。
第15図は第13図および第14図に示づ一集積回路3
を用いて第12図の回路を実現づるための構成の一例を
示づブロック図である。第12図の回路と機能的に対応
づ−る部分には同じ参照符号を付している。第15図に
おいて、バッファレジスタ81〜B7およびす、、〜b
6が、それぞれ、第12図の対応の参照符号のものに相
当する。それぞれのバッフ7レジスタは第14図に示す
集積回路3を2個ずつ並列に含み、したがって16ビツ
1〜の16段シフトレジスタとして構成されている。
乗算回路MP、は、データセレクタ4つおよび51なら
びに乗算器61を含み、乗算回路M P 2はデータセ
レクタ42および52ならびに乗算器62を含む。デー
タセレクタ41には、バッファレジスタB5の出力がX
、としてまたレジスタB。
の出力がXLとして)jえられる。データセレクタ51
には、レジスタBGの出力がY、としてまたレジスタB
1の出力がY、としてうえられる。乗算器61は、指令
信号CMに応各して、データせレクタ41および51か
らの入力を乗算し、その乗算結果は一時記憶しジスタI
R4にロードされる。
一方、乗算回路MP2に含まれるデータセレクタ42に
はバッファレジスタb5の出力がX、としてまたバッフ
ァレジスタB7の出力が×1として与えられる。データ
セレクタ52にはバスノアレジスタB6の出ノJがYR
としてまたバッファレジスタb、の出力がY、−として
与えられる。乗算器62は、指令信号CMに応答しU 
、 −J’−タレレクタ42および52からのデータを
乗算し、その結果を一時記憶レジスタR2にロードづ−
る。データセレクタ41,51,42おにび52には、
それぞれ、データ選択信号D I /D 2が与えられ
、この信号によって信号XR,YRまたはxL、Y。
が選択される。なお、一時記憶レジスタR5およびR2
もまた他のバッファレジスタと同じように第14図に示
す集積回路の組合わせからなり16ビツ1−のシフ1〜
レジスタである。
シフトレジスタ81〜B? 、 I) +〜b6.R,
+J5 J:びR2には、入力バス3iおよび出力バス
BOが連結される。そして、レジスタB1およびb、に
は後述の第16図回路からのシフ1〜タイミング信号■
が与えられ、レジスタB5およびb5には、シフ1〜タ
イミング信、CI Uが与えられ、一時記憶レジスタす
なわらバッファレジスタR+およびR2にはシフ1〜タ
イミング信号W h<与えられ、他のレジスタ82〜B
、およびb2〜bうには、クロック信号φが与えられる
第16図は第15図に示す演輝回路に接続されるべきマ
イクロプロセザに関連する回路を示すブロック図である
。第16図において、発振器101は、クォーツ101
aを有し、2相クロツクφ1 a3よびφ2を出力する
。〜方のクロックφ1はシフトタイミング発生回路10
2(後述)に与えられ、クロックφ2は乗算指令発生回
路103に与えられる。シフトタイミング発生回路10
2からは、シフトタイミング信号U、VおにびWおJ、
びクロックφが出ツノされるとともに各レジスタ131
〜B? 、 l) 1へ・b、、R,およびR2内にお
いて、一連のシフl−が行なわれたことを表わず信号S
が出力される。シフ1〜タイミング発4[回路102か
らの信号Sはシフト回数検出回路104.シフト方向検
出回路105およびフリシフL]ツブ107に与えられ
る。シフト回数検出回路1041.は16進カウンタと
フリップフロップとを含み、シフトタイミング発生回路
102かうの信号Sを16ノJウントするごとに出力を
出1ノ。すなわら、この回VB104は第14図に示す
レジスタ300〜315間でデータが1循環したことを
検出りる。
シフト方向検出回路105は、5進カウンタを含み、第
12図、第15図に示づバスj・レジスタ間において左
方向または右方向に5回シフトmJ+作が行なわれるご
とに出力を出り。このシフ1ル方向検出回路105の出
力はフリツプフL1ツブ106に与えられ、このフリッ
プフロップ106はたとえば1〜グルフリツプフロツプ
からなり、回路105からの信号が与えられるごとにそ
の出力Qを反転フ゛る。このフリップフロップ1’06
の出力はデータ選択信@D 1 / D 2となる。フ
リップフロップ1.07は、1cとえばJ−にフリップ
フロップがらなり、シフト動作をさせるかまたは乗算動
作をさせるかを区別づるもので、出力ΦがrOJのとき
バッフルレジスタ間のデータシフト動作を、出力Qが「
1」のとき乗算動作を行なわせる。
シフト回数検出回路104の出力は、フリップフロップ
106の出力とともにアンドゲート1゜8の入力に与え
られる。アンドゲート108の出力はフリップフロップ
109のリヒット入力に与えられる。フリップフロップ
109はCPU1がらのスタート信号5TARTによっ
てセットされ、その出力0がエンド信号END (また
は割込信号)としてCPLJlに与えられる。
フリップ70ツブ107の出力Φは4つのアンドグー)
−110,111,112および113のそれぞれの一
方入力として与えられ、これらアンドゲートの他方入力
にはそれぞれシフトタイミング発生回路102からの信
号u、v、w、bよびφが与えられる。したがっCフリ
ップ70ツブ107の出力Qが「1」のとき各バッノ7
?レジスタ内のシフトレジスタがシフトされてそのため
に乗算動作されることになるのは前)本のとおりである
CPU1はレジスタ呼出タイミング発生回路114にア
ドレスデコーダ(図示せf〉からの信号を与える。この
レジスタ呼出タイミング発生回路114は第15図の各
レジスタ内のアドレスを指定するためのものであり、ア
ドレス入力に対応して初期値をロードすべきレジスタを
指定し、第14図に示す各レジスタ間のデータのシフト
動作ずなわらローテーションを行なわぜるための信号π
OTを出)〕する。この信号ROTがrOJのとき各レ
ジスタがシフト動作され、「1」のとぎはシフト動作が
行なわれない。
CPU1に含まれるアドレスデコーダからの指定信号は
、このレジスタ呼出タイミング発生回路114を通して
オアゲート115の一方入力に与えられ、このオアゲー
ト115の他方入力にはアンドゲート113の出力が与
えられる。オアゲート115の出力はまたオアゲート1
16.117J3よび118の一方入力として与えられ
、これらオアゲートにはそれぞれアンドグー1−110
,111J3J:び112の出力が与えられる。このよ
うにして、オアグー1−115.116,117および
118の出力が、シフトタイミング信号φ、U。
V J3よびWとなる。
また、CPLJlからは、他@σ否、σ■ム、5T B
およびR/Wが出力される。
ここで、第17図を参照してシフトタイミング発生回路
102について詳細に説明する。まず初期状態としてフ
リップフロップ130.133おJζσ136はずべて
リセットされている。したがってそれぞれの出力Φは[
1]である。応じて、アンドゲート121,122およ
び123の入力がrlJであり、アンドゲート124の
入力が1゛0」であり、アンドゲート125の入力が「
1」であり、アンドゲート126および127の入力が
「0」である。
アンドゲート121にクロックφ1が与えられると、ア
ンドゲート122および125を通して4進カウンタ1
28にクロックφが与えられる。
なお、カウンタ128は、他のカウンタ129゜131
.132および134と同じように、与えられるカラン
1へ入力がそのまま出ツノされる端子と所定のカラン1
〜した後信号を出ツノするカウントアツプ出力端子とを
含む。クロックφがカウンタ128に1個人ると、した
がっ゛(そのとさAアゲート138に出力が出る。この
Aアゲート138の出力がシフトタイミング信号Vとな
る。そして、カウンタ128に4つのクロックφが与え
られるど、このカウンタ128がらカウントアツプ信号
が出力されてそれが4進カウンタ129に入力される。
したがって、4進カウンタ129からオアゲート137
を通して、シフトタイミング(g号(]が出力される。
したがって、成る場合には、このシフトタイミング信号
Uは4つのシフ1−タイミング信号Vごどに1つ出力さ
れることになる。カウンタ129がカウントアツプする
とすなわちアンドゲート125から16個のクロックφ
が出力されると、フリップフロップ130がセットされ
、その出ノ)QがrlJとなる。このフリップフロップ
130の出力QがレジスタR,,R2(第15図)への
データロード信号すなわちシフトタイミング信@Wであ
る。
フリップフロップ130の出力QがNJとなり、出ノJ
QがrOJとなることによって、アンドグーh 126
1J3J:び127が開かれる。しかしながら、アンド
ゲート127には、フリップフロップ133の出力Φが
「1」であるので、このときはアンドゲート124から
の出力φは与えられない。他方アンドゲート125はこ
のフリップフロップ130の出力QのrOJによって閉
じられる。
したがって、この状態ではアンドゲート121がらのり
0ツクφはアンドゲート123および126を介してカ
ウンタ131に与えられる。そして、’7”−ト126
からクロックφが与えられるごとにカウンタ131から
オアゲート137を通してシフトタイミング信号Uが出
力される。カウンタ131は12進カウンタであり、1
2個のクロックφがシフトタイミング信号Uどして出力
され、このカウンタ131が12クロツクをカウントす
ると、カウントアツプ出力をカウンタ132およびフリ
ップフロップ130のリセット入力に与える。
したがって、フリップフロップ130がリレットされ、
再びカウンタ12Bおよσ129が能動化される。そし
て、前述の16のクロックφのカウントを繰返し、再び
フリツノフロップ130がセラ1〜され、カウンタ13
1が能動化される。カウンタ131がカウントアツプづ
るごとにこのことが繰返され、その都度カウンタ132
に信号が与えられる。この信号を3進カウンタ132に
につてカウントすると、このカウンタ132がノリツブ
フロップ133をレットする。なお、カウンタ132に
カウンタ131から信号が与えられるごとに、このカラ
タン132からオアゲート138を通してシフトタイミ
ング信号Vが出力される。
フリップフロップ133がリセットされることによって
、その出力口が「0」となり、アンドグー1〜122お
よび123が閉じられ、アンドゲート124のみが開く
。このとき、フリップフロップ130がリセットされて
いるので、アンドゲート127が聞いている。したがっ
て、アンドグー1−121からのクロックφがカウンタ
134に与えられる。カウンタ134にクロックが与え
られるごとに、オアゲート138を通してシフ1〜タイ
ミング信号Vが出力される。カウンタ134は13進カ
ウンタであり、クロックφを13カウントするごとにカ
ウントアツプ出力を導出する。このカウンタ134から
のカウントアツプ出力がカウンタ135に与えられると
ともに、フリップフロップ133のリセット入力に与え
られる。カウンタ135は4進カウンタであり、そのカ
ウントアツプ出力はフリップフロップ136のセット入
力に与えられる。このフリップフロップ136のリセッ
ト入力にはCPUからのリセット信号が与えられる。フ
リップフロップ136の出力Qが、第16図の信号Sで
ある。フリップ70ツブ136がリセットされると、そ
の出力Φが「1」となり、アンドゲート121が再び開
かれて、先の動作が繰返される。
ここで、第18図〜第20図を参照して、シフトタイミ
ング発生回路102からのシフトタイミング信号U、■
およびWが持つ意味についてやや詳しく説明する。一般
に第18図に示りようなマトリクスの乗算は、下記の式
に従って行なわれる。
w、 =u、、 −v、+ +u、ス ′ V、、) 
−ト u+3 + vIt +Uす4 °V44 w =u −v +u −v −+−u、−v、、+4
3 すl l342 23 U牛f” VS3 ”II−〇It”vIt−”lz−”V)l+LI+3
”V77−トU叫 °V斗1 ところ−で、第15図に示1゛ような集積回路では、第
18図および曲成に示すマトリクスの乗算を一斉にづ−
ることはできないので、たとえばまず’14・VS2 
を行ない、次にu43→U耕、u42→u4.。
Jf 44 、■iy −vJ+ 、”’のJ、うにデ
ータをシフトして行なう。すなわち、この実施例では、
第18図に示ずU の位置と■4f の位置との乗算4
1 を行ないこのそれぞれの位置に必要なデータをシフトな
いしローデートさせるのである。
このようなマトリクスにおけるり、■およびWのデータ
のローデートないしシフト動作は、シフ1へタイミング
発生回路(第・16図)からのそれぞれ対応のシフ1〜
タイミング信号ごとに1回行なわれる。そして、上記1
つの演算が終わると、データは順次シフトされるが、そ
の順序は第19図に示す。Uについては、1つのシフト
タイミング信号Uごとに一列ずつシフトする。したがっ
て、!〔とえば第18図の例で、Uよ、の位置にあるデ
ータを14.1の位置にシフ1−するためには、1つの
シフ1〜タイミング信号Uを与えるだけでよい。このと
き、I輸、は同時にUうの位置に移されるので、次にU
のデータをUqの位置に移ずためには、再度1つのタイ
ミング信号Uを加えるだけでよい。ずなわら、Uについ
ては、それぞれのデータを044の位置にもたらすため
には、それぞれ1つのシフトタイミング信号Uを加える
だけでよい。
■については、4つのシフトタイミング信号Vが必要で
ある。たとえば、第18図の例において、V34 の位
置にあるデータをV、の位置にシフトづるためには、4
つのシフトタイミング信号Vが必要である。
また、Wについては、1つのジノ1〜タイミング信号で
1つずつシフトされる。したがって、第18図の例でい
えば、w4.の位置にあるデータをWの位置に移すため
には、1つのシフトタイミング信号Wが加えられればよ
い。
簡単に言うと、上記式のW、については、シフトタイミ
ング信号Wが1回出力され、続いてシフトタイミング信
号Uが1回そしてVが4回与えられると1つ項たとえば
Uイ、・v4fが11なわれるので、このW <、+ 
のずべでの項の演算のためにはこのことを4回繰返せば
よい。そして、次のw4.の演算のために、シフトタイ
ミング信号(〕を12回出力づ−るとともにVを1回シ
フトしてその1.の演算のための初期状態を設定する。
続いてW+Jの演算のt=めにW ++の演算と同じよ
うにW=1.U=1 d3よびV=4を4回繰返せ−ば
よい。以下同様である。
このことが第20図のタイジングチ1フートに表わされ
ている。
そして、第17図のシフトタイミング発生回路は、第2
0図に従って、それぞれのタイミング信号U、■および
Wを出力されるように構成されている。ずなわち、カウ
ンタ128によってタイミング信号vを、ノノウンタ1
29によってタイミング信号Uを、そしてフリップフロ
ップ130によってタイミング信号Wを出力り−る。そ
の後の12個のタイミング信Q LJはカウンタ131
がら出力される。
第21図は第15図および第16図に示J実施例の動作
を説明づ“るためのフロー図である。ここで、第21図
を参照して、この実施例の動作について説明する。まず
、CPU1 (第16図)は、動作の最初において、初
期設定を行なう。このとき、必要に応じて信号CLAを
出力し、第15図に示す各レジスタをクリアする。そし
て、ステラ1201において、このCPU1に含まれる
カウンタ(図示せず)の値nを1にセットする。なお、
この値nはO〜15をとり智る。続くステップ202に
おいて、CPU1は第14図に示づレジスタ300〜3
15を、カウンタの値11に従って指定する。これはこ
のCPU 1からレジスタ呼出タイミング発生回路11
4にレジスタ指定アドレスを出力することによって行な
われ得る。したがって、このステップ202て・は、レ
ジスタ呼出タイミング発生回路114(第16図)73
口ら、信号ROTが出力され、該当のレジスタが選択さ
れる。
ずなわら、第15図に示す各レジスタ81〜[37およ
びす、〜b6のそれぞれl)番目のレジスタが指定され
る。続くステップ203にa3いて、前記(19)式の
変換71−リクスM、へ□IVI6i1>よびM1′〜
M6’ をそれぞれの対応のレジスタ81〜B7および
す、〜b6 (第15図)にス1ヘアする。
すなわち、まずそれぞれのレジスタのn番目のレジスタ
(第14図)に、Mk 、 Mk +、(k = 1へ
・6)の1つの要素をス]〜アする。したがって、この
とぎは、チップレレクト信号csによって第15図のそ
れぞれのレジスタB、〜B6おJ:びす。
〜b6が順次指定される。このようにして、それぞれの
レジスタB、〜B7Jjよびす、〜b6のそれぞれの1
1番目のレジスタにそれぞれ対応の変換マトリクスの1
つの要素がストアされる。そして、続くステップ204
において、カウンタの値が16(これは第14図に示す
レジスタの数に対応づる)であるかどうかを判断する。
そして、n=16でなければ、ステップ205においC
そのカウンタをインクリメントし、再び同じことを繰返
ず。
し/jがって、ステップ204にJ3いで、11−16
であるということは、すべてのレジスタB、〜]37J
:;J:びb1〜b6のずべてのレジスタ300〜31
5(第14図)にそれぞれの変換マトリクスM、〜M6
およびM、1〜M6’のすべて゛の要素がストアされた
ことを意味する。
続いて、CPUIは演算スタート指令5TARTを出力
する。応じて、フリップフロップ109がセットされる
とともにフリップ70ツブ107がリレットされ、この
フリップフロップ107の出力0が「1」となる。した
がって、アンドゲート110〜113が開き、シフトタ
イミング発生回路102からのシフトタイミング信号U
、■およびWおよびクロックφが出力可能どなる。′?
Iなわち、この状態で乗算が行なわれる。
乗算は、シフトタイミング発生回路102から、第20
図で示すようなタイミングで各々シフトタイミング信号
が発生し第19図に従ってシフト〃J作が行なわれるこ
とによって、第18図に従ってマトリクスの乗算が行な
われる。この間に、シフ(一方向検出回路]05および
データ選択フリップフロップ106によって、第15図
に示1回路にお()るデータ転送(シフ1〜)方向が制
御される。
すなわち、第12図の回路に示すデータシフト方向がこ
のシフト方向検出回路105およびフリップフロップ1
06で制御allされる。データシフ1〜を5回繰返ず
ことに応じてフリップフ[コツプ106の出力がデータ
選択信号D 1 /D 2どして導出されるが、このと
きシフト回数検出回路10/lからはまだ信号が出され
ていないので、アンドゲート108は出力を出さない。
曲成のW4□、W、3.・・・のそれぞれの演算が終わ
るごとにシフトタイミング信号発生回路102からシフ
1へ回数検出回路104に信号が与えられる。
シフト回数検出回路104は、前述のように16進カウ
ンタを含むので、シフトタイミング発生回路102から
16個の信号が得られたとき、すなわち前(19)式の
演算がすべて行なわれたとき、「1」の信号を出す。こ
のとぎフリップフロップ106の出力もまたrIJであ
り、アンドゲート108から「1」の信号がノリツブ7
0ツブ109のリセツl−信号として与えられる。した
がって、このフリップフロップ109からの出力Qが「
1」となり、それがCPU 1に与えられる。CPU1
では、このフリップフロップ109の出力0の状態に応
じて、ステップ207にa3いて、演算終了がどうかを
1′り断する。
上述のようにして演算が終了するど、スミ−ツブ208
.209..210.211および212において、先
のステップ201,202,203゜204および20
5と同じようにして、第15図に示す各々のレジスタ8
1〜’3tjJ3よびb1〜b6のそれぞれのレジスタ
300〜315(第14図)からデータを読込む。この
とき、データの書込みと異なり、CPU 1からのイI
;舅]で/WはrOJとされるのはもちろんである。こ
のようにして、CPUは、ヤコビアンの各々の要素を演
算回路2から取込み、前記(18)式に基づいて各関節
角の変化量をめる。このとき、CPUは第22図に示づ
ような演算を行なう。
第22図は、Resolved M otion 11
 ate Controlにおける処理演緯ループを示
ず。ずなわ15、CPUは第22図に示ずように、直角
座標系での変化量dX、ヤ、= X 、t、 −X :
 をめ、次いで前述のようにしてめた”トコビアンJ(
dl )の逆マ[−リクス[J(α、)]−’とdXt
千1 とを用いて関節座標系の変化量dα、す1 を演
算づる1、最後に、直前の関節系による位置dα、と上
記変化1dαifl とを加粋して、次の点の関節系に
よる位置α1+1 を1qる。このようにして、直角座
標系から関節座標系への座標変換が17コビアンを用い
て行なわれる。
第23図はシフトタイミング発生回路の別の例を示ず回
路図である。この実施例では、シフトタイミング発生回
路102は7どツl〜のカウンタ141を含む、このカ
ウンタ141のカウント人ノ〕にはクロックφが与えら
れる。そして、最上位ビットAから最下位ビットGまで
7ビツトA、B。
C,D、E、、FおよびGを有するバイナリカウンタと
して構成される。そして、シフトタイミング信号U、■
およびWは、それぞれ(22)式に従つC導出される。
W=C−DEFG ・・・(22) なお、クロックφが、それぞれのシフトタイミング信号
とクロックとの同期をとる1=めに、適当なゲートに入
れられている。この第23図のようなシフトタイミング
発生回路を用いれば、第17図に示づものに比べて非常
に簡単な回路構成となる。
以上にうに、この実施例によれば、直角座標系と関節座
標系との間の座標変換のために、マトリクスの各々の要
素は別のバードウコアで構成した演算回路で演算し、C
I) Uではその演算結果を取込んで適当な変換式に代
入するだ【ノてよいので、CPUが座標変換のICめに
演算に利用される時間が非常に短くなる。したがって、
CPUたとえばマイクロプロt?すやマイクロコンピュ
ータとして高速のものを用いなくても、極めて正確な座
標変換が行なわれる。したがって従来の〜しののように
相当大きなエラーが出たり、同時制御可能な自由度が制
限されたりすることはなく、追随の正確性が期待できる
。また、CPIJが座標変換の演算のために利用される
時間が非常にλ(Iくなるのぐ、CP Uに対して別の
機能をイ1加することが簡91に(・きる。しかも、演
算回路は、はと/Vど類似し/c演算を何回も繰返すだ
けであり、制御すべき自由度の増減に対しても簡単に対
応することができる。
なぎならば、演算回路で利用可能な演算機能を単に増減
するだけで、CPUのソフトウェア(プログラム)につ
いてはほとlυど変更が不要であるからである。このこ
とは、特に、関節を有するロボットにおいて、エンドエ
フェクタの種類を変更1′る際に凹求される自由度が異
なる場合、そのような自由度の変化に容易に追随できる
という極めて大ぎな効果である。
以上に説明したヤコビアンJ(α)のめ方を、理解をよ
り完全なものとするためここに整理してみる。
現できないので、x cwton−1< apMon等
のIj法で解く例が過去にあった。まだ、それがeXp
licitに表現できたとしても、複雑な非線形な方程
式となり、それの演算には多大の時間を要しICoそこ
で、d X−+dαの変換を位置フィードバックループ
の中で行なうことが提案されている。これをRe5ol
ved M otion Rate Controlと
いう。このとき、dX→dαの関係は線型となり演算時
間は短縮されるが、フィードバックのサンプル周波数を
実用に耐えるだけに上げるために、変換は高速で行なう
必要がある。このプロレスは次の3段階に分割できる。
(i) ヤコビアンJ(α)の係数をめる。
(ii) ヤコビアンのインバースCd(α)]−1を
める。
(山) d ニー[J (’;) ]−’・d又をめる
。 ・・・(18) 特に(i)のプロレスはソフ1〜つ「アを用いる従来の
方法では非常に時間がかかっていた。そこで、\7]ビ
アンJ(α)を専用ハードでめたのが上記実施例である
aL記実施例−(−は、髪7ニ1ピノIンインバース[
J(α)]−1をめることおよび(18)式のj1算は
マイク]]:1ンピ]−タのソフトウェアで行なってい
る。
次に、A7コビアンJ(α)を専用ハードでめる他の実
施例を説明づる。この実施例は、要約Jれば、各自由度
の動きを座標変換マトリクスとして保持するマトリクス
レジスタを自由度の数(たとえばN)だ(プシフトレジ
スタとして連結し、同様に前記各自由度の座標変換マト
リクスのその軸の動きに関する微分を保持するマトリク
スレジスタを自由度の数だけシフトレジスタとして連結
し、マ[−リクス乗算器を備え、各マトリクスシフトレ
ジスタにおいてマトリクスのシフトを行なう過程で適宜
マトリクス乗算を行ない、NII!ilのマトリクスの
うち1つのマトリクスだけは微分のマトリクスを用いた
積マトリクスをN種類求めることにより、NXNのヤコ
ビアンマトリクスの係数をめるものである。以下、これ
を図面を用いて説明する。
第24Δ図および24B図は、ヤコビアンJ(α)をめ
る装置を説明するためのブロック図である。この図は、
第2A図および2B図に相当し、点線で囲んだ部分がヤ
コビアン演算部90である。マトリクスシフトレジスタ
25a5よび32がマトリクスマルチプレクサ45の入
力部に接続されでJ5す、マトリクスマルチブレクリ4
5の出力部はマトリクス乗算器47の入力部に接続され
ている。マトリクス東算器4°7の入力部には、さらに
、マトリクスレジスタ46が接続されている5、マトリ
クス乗算器47の出力部には、71へリクスレジスタ4
8が接続されてJ3す、71〜リクスレジスタ48の出
力部には、マトリクスレジスタ67が接続されている。
マトリクスシフトレジスタ25は、6つのマトリクスレ
ジスタ251ないし256を備える。同様に、71ヘリ
クスシフトレジスタ32は、6つのマ[〜リクスレシス
タ321ないし326を備える。
マトリクスシフトレジスタ25は、各自由度の座標変換
マl−リクスM1ないしMGを(5)持する。
これらの座標変換マトリクスは、マイク[1コンビコー
タ(図示せず)から与えられる。?1−リクスシフトレ
ジスタ32は、各自由度の座標変換マトリクスのでの軸
の動きに関ηる微分のンIヘリクスM 11 ないしM
6’ を保持覆る。これらの微分のマトリクスもまた、
マイクロコンピュータから与えられる。マトリクスマル
チブレクリ″45は、一種のレレクタであり、マトリク
スシフトレジスタ25あるいは32のいずれか一方を切
換えて71−リクス乗粋器47に接続する。マトリクス
乗算器47、マトリクスレジスタ48および46は、そ
れぞれ、第6図で説明したマ[〜リクス乗算器41およ
びマトリクスレジスタ42および43と同様のものであ
る。マトリクスレジスタ67は、6×6のマトリクスレ
ジスタである。
次に動作につき説明する。第25Aないし第25C図は
、ヤコビアン演算部90の動作を説明するための図であ
る。まず第25A図を参照して、マトリクスシフトレジ
スタ25内のマトリクスレジスタ251ないし256に
は、それぞれ、マトリクスM1ないしMGが保持されて
いる。マトリクスシフトレジスタ32内のマトリクスレ
ジスタ321ないし326には、それぞれ、71−リク
スMl’ないしM %が保持されている。マトリクスマ
ルチプレクサ45は、マトリクスシフトレジスタ32側
に切換えられている。マトリクスレジスタ46は、単位
マトリクスEにイニシャライズされている。したがって
、71−リクス乗算器47においては、マトリクスM、
′ と111位マトリクスEとの積がめられ、その結果
rあるマトリクスM、′がマトリクスレジスタ48中に
ロードされる。
次に第25B図を参照して、IIi+述したタロツク信
号φA J5よびφBに応答して、71−リクスシフト
レジスタ25および32の中身は、1ブロツクだ(プ図
面上で右にローデートされる。マトリクスマルチプレク
+J45は、マトリクスシフ1〜レジスタ25側にり換
えられる(これ以険もこのままである)。71−リクス
レジスタ4(5中には、マトリクスレジスタ48中の中
身であるマトリクスM1′がロードされる。マトリクス
乗算器47において、マトリクスM2とマトリクスM+
’ との積がめられ、その結果である71ヘリクスM 
+ ’ ・M2がマトリクスレジスタ48中に[1−ド
される。
以降同様にして、マトリクスM1′ ・M2 ・M、、
M、’ ・M2−M、・M、、M、’ −IV+2 −
M、・M4 ・M5がマトリクスレジスタ48中に順次
ロードされ、最後に M、′ ・M2・M3・M4 ・M5 ・M6・・・(
23) がマトリクスレジスタ48中にロードされる。この時貞
′c第1の演算過程が終了する。この(23)式は、前
記(19)式のマトリクス積のうちの1つぐある。(2
3)式により、VコピアンJ(α)の6つの要素”P 
x / a(X+ 、aP y / aα、 。
3Pz/aα、、’allx/aα+ 、an、/ac
x+ 63よびan z / ”α1がめられるので、
これらをマトリクスレジスタ67の適当な場所、たとえ
ば、第6列に[]−ドしてJ5 <。
次に、第2の演算過程につき第25C図を参照して説明
する。まずマトリクスレジスタ251ないし256には
、それぞれ、マトリクスM1ないしMliが保持されて
おり、マトリクスレジスタ321ないし326には、そ
れぞれ、71〜リクスM、′ないしM6’が保持されて
いる。71ヘリクスマルヂプレクサ45は、マトリクス
シフトレジスタ25側に切換えられており、マトリクス
レジスタ46中には単位マトリクス[で初期化されてい
る。マトリクス乗算器47での演算にj、す、マトリク
スレジスタ48中に(よマトリクスM、がロードされる
次に、前述と同様に、タロツク信号φ△d3よびφBに
応答して、マトリクスシフトレジスタ25J3よび32
の中身が1ブロツクIどけ図面上で右にローデートされ
、71〜リクスレジスタ46には71〜リクスM1かロ
ードされ、71−リクスマルチプレクザ45(171〜
リクスシフトレジスタ32側に切換えられる。マトリク
ス乗算器47での演算により、71−リクスM、・M2
1 がマトリクスレジスタ48中にロードさねる。
さらにマトリクスマルチブレクザ/155は71へリク
スシフ1〜レジスタ25側に切換えられ、前述と同様の
動作が行なわれ、R終的には71ヘリクスレジスタ48
中に M、・M2’ ・M3 ・M、・M5 ・M6・・・(
24) がロードされる。このく24)式もまた、前記(19)
式のマトリクス積のうちの1つである。
したがって、(,24>式により、ヤコどアンJ9 (α)のα2微分に関する6つの要素がまる。
そこで、マトリクスレジスタ67の前記第6列の中身を
第5列にシフ1−づ−るとともに、上記6つの要素を第
6列にロードでる。
以後同様に前述と同様の演算過程を第6まで行なうこと
により、マトリクスレジスタ67にはレコビアンJ(α
)のすべての要素がロードされ、これによりA7コピア
ンJ(α)がめられたことになる。
この実施例によっても、上記実施例と同様に、演算時間
の高速化が図られるとともに、装置の汎用化すが図られ
る。
[J(1)]−1のめ方 次に、ヤコビアンインバース[J(α)]−1をめる方
法およびそのための装置につき説明する。
これは、第1A図おにび第1B図の座標変換部6の一部
分に相当する。
Vコどアンインバースをめることは、元連立1次方程式
を解くことに他ならない。そのためには、G au/3
− J 0rda11の方法のように、ある種の掃き出
しを行なって一気に解をめる方法が一般的であるが、繰
返し近似法による方法しある。この実施例においては、
Vコピアンインバースをめることがサーボレート、つま
りRe5olved MOliOn Rateで行なわ
れるため、アームの状態は微小量ずつしか変化しない。
したがって本実施例は、ヤコビアンa5よび17ピコア
ンイバースが微小変化しかしないことを最大限に利用し
、繰返し近似法を1回またはUい田い数回性なえば充分
−(あるとの見地に立って、ヤコビアンインバースをめ
る手段をハードウェア化りる−しのCある。これを以下
に詳しく説明りる。
まず、V7コビアンJから(7コヒアンインバース(A
7」ヒアンの逆マトリクス)Jolを近似的にめる方法
について説明する。
ここでは最急降下法と呼ばれる近似法を使用するが、こ
の近似法の数学的な意味を明確にするために、任意のM
XNマトリクス[△](ij要素はΔ時)から、その逆
マトリクス[B](ij要素はBυ、、)をめる場合に
ついで説明する。
71〜リクス[B]がマトリクス[A]の逆71〜リク
スであるとは、この2つのマトリクスの間に[△]X[
B]=[E] ・・・(25)なる関係式が成立するこ
とを意味する。ここで[E](ij要素はEp、)は単
位マトリクスで゛ある。
この関係式を要素の間の関係式として表わせば、周知の
71〜リクスの乗算の定義に従って、たAQk−防御E
、。
・・・(26) となる。この〈26)式を変形すれば、・・・(27) iミA 、k −81<i −E υk −〇が得られ
る。〈27)式は、すべての1.jの組に対して成立し
てa3す、したがって(27)式は、MXN個の方程式
よりなる連立方程式である。
ところで、今考えにうとしでいるのは、実空間の座標変
換に関係した(フコビアンであるから、方程式(27)
の各係数およびその解は実数である。
したがって、方程式(27)から V−ΣΣ(ΣA、Jk−Bk;−E等)2・・・(28
)υj−に なる量Vを定義すれば、このVは方程式(27)の解に
対しては01他の実数値に対しては正の値どなる。そし
て、V>Oの場合においては、■がよりOに近いほど良
い近似解となっていることになる。
最急降下法では請求めるべき13□つに初期値をJうえ
7ご後、S番目の近似解から(S+1)ffi目の近似
解をめる式 %式%) によって繰返し行ない、より高いii’+度を持つ近似
解をめる。(28)式の右辺の第2 s+:+ 4よ、
v”tvBm侭についての偏微分を含んでいることから
れかるように、S番目の近似解をVの勾配の方向に移動
させて(s+1)番目の近似解を1Uようとづるもので
ある。(29)式の265)は、13’H’r+にa3
いてψ′が極小となるように定める。りなわら方程式6
式%(30) から請求めればよい。(30)式を20について解くこ
とは一般に複雑となることから、V’%λ1柴ついてテ
ーラ−展開し、最低次項のみを残すと0が得られる。
ど買(プば、 λ(S〕 − V” / U(Sン ・・・ (33)
どなる。ソs〜よ、(33)式で定義されるから具体的
には ・・・(34) どなる。
以上の方法をまとめると、 (i)S番目の近似解である逆?1〜リクス[B ” 
]を用いて [Δ0すX [[3”] = [A(5)B”] ・ 
(35)をめ、これからマトリクス[、E −k’B(
s)1をめる。このマトリクスの各成分の自乗和を計算
してこれをv5をする。
(jl)式 %式%)] (36) によって右辺のマトリクスを作る。具体的な計紳かられ
かるように、右辺のマトリクスのm11成分要素はB 
v+S) 1つBAg)となっている。この71−リク
スの各成分の自乗和をバ1算するどUCトなっている。
但し王は、転置マトリクスを表わず。
(1■) 以上の諸量を(2つ)式に対応する式[B 
(S刊〕 コ = iB” ] −/(” [A”’(L−A” B”
) ]・・・ 〈37) の右辺に代入すれば、(S+1)番目の近似逆マl〜リ
クス[B”1)1が得られる。
以上は任意のマトリクス[△]の逆マトリクス[B]を
める方法につき説明した。したがって、以上の方法にJ
:すA1]ビアンJのインバースJ″′をめるには、マ
トリクス「△1をヤ」ビアンJと、マトリクス[B]を
ヤ」ピノノンインバースJ4と考えればよい。
次に、以上説明した方法を用いてヤコビアンインバース
J−’をめる装置につき説明する。
第26図は、ヤコビアンインバースJ’−1をめる装置
を説明するためのブロック図である。この図は第2B図
に相当し、点線で囲んだ部分がヤコビアンインバース演
算部400である。第27A図ないし第27D図は、ヤ
コビアンインバース演算部400の動作を説明するだめ
の図である。
まず第26図を参照して、バッファレジスタ69の入力
部はマイクロコンピュータ(図示せず)に接続されてお
り、出ノj部はマトリクス乗算器70の一方の入ノj部
に接続されている。マトリクス乗算器70の他方の入ツ
ノ部は、後述づるマトリクスレジスタ75の出力部に接
続されている;71〜リクス乗算器70の出力部は、7
1−リクス加惇器71の一方の入力部に接続されており
、71ヘリクス加算器71の他方の入力部はマトリクス
レジスタ72の出力部に接続されている。マトリクス加
算器71の出力部は、マトリクスレジスタ72の入力部
に接続されており、マトリクスレジスタ72の出力部は
マトリクスマルチブレク1す73の一方の入力部に接続
されている。71〜リクスフルチブレクサ73の他方の
入力部は、後述Jるン1〜リクスレジスタ77の出方部
に接続されている。マトリクスマルチプレクサ73の出
力部は、マトリクス乗算器74の一方の入力部に接続さ
れており、マトリクス乗算器74の他方の入力部はマト
リクスレジスタ68の出力部に接続されている。マトリ
クスレジスタ68の入力部は、前Aしたマトリクスレジ
スタ67の出力部に接続されている。マトリクス乗算器
74の出力部は71ヘリクスレジスタ75の入力部に接
続されており、71−リクスレジスタ75の出力部はマ
トリクス[fiL器7Gの一方の人力部に接続されてい
る。マトリクス減算器76の他方の入力部にはマトリク
スレジスタ8Bが接続されている。このマトリクスレジ
スタ88は、マイクロコンピュータから与えられるOま
たは単位マトリクス1三を保持する。このマトリクスレ
ジスタ88は、このように、定数71〜リクスを保持す
るためのレジスタであるので、ポストシステムからの制
御信号を利用することにより、マトリクスレジスタ88
を用いないでこれと同等の動作を実現することも可能で
ある。マトリクス減算器76の出力部は、乗算・加算器
78の2つの入力部およびマトリクスレジスタ77の人
力部に接続されている。乗算・加算器78の出力部はバ
ッファレジスタ7つを介してマイクロコンピュータ(図
示せず)に接続されている。これらの各機器の個々の機
能は先に説明したものと同様である。
ICとえば、マトリクス乗算器70および74のIj3
1能は、先に説明したマトリクス乗算器41の機能と同
様である。ずなわち、後述づるように、バッファレジス
タ69からはスカラー量λが、マトリクスレジスタ75
からはマ[・リクス[A(E−AB)]がそれぞれ出力
され、それらの積がマトリクス乗算器70においてめら
れるのであるが、スカラー邑λとマトリクス[A (E
−AB)1との積λ[A (E−AB)]は、 λ[A1(IE−As> ] =/IEX [A”(E
−AB)]と書くことができる。ここで、Eは単位マト
リクスである。したがって、バッファレジスタ69に保
持されているスカラー量λを次の71−・リクスλしI
Cがって、71〜リクス乗粋器70の機能は71〜99
7乗算器41の機能と同様C・あると言っても差支えは
ない。マトリクスレジスタ68,72゜75J3よび7
7は、それぞれ6×6の71〜リクスレジスタであり、
その殿能は先に説明した71〜リクスレジスタ67のそ
れと同様である。?トリクスマルヂプレクサ73の機能
は、先に説明したマトリクスマルチプレクサ45の機能
と同様である。
乗算・加算器78の機能は、先に説明しIこ乗算・加算
器820機能と同様である。マトリクス加算器71は、
2つのマトリクスの加算を行なう。なお、このマトリク
ス加算器71に、2つのマトリクス間の減算を行なわせ
ることは容易である。マトリクス減棹器76は、2つの
71−リクス間の減筒を行なう。
次に17コビアンインバ一ス演算部400の動作につき
説明する。なJ5、以下の動作は、前述したクロック信
号φΔおよびφBに応答して行なわれる。
まず第27Δ図を参照して、マトリクス乗筒プロセスど
その結果につぎ説明する。71〜リクスレジスタ68は
、たとえばマトリクスレジスタ67から先に説明した(
35)式のマトリクス[AS′]を受取る。71〜リク
スレジスタ72には(35)式の71−リクス[BLs
llが保持されているbのどする。マトリクスマルチプ
レクリ°73はマトリクスレジスタ72側に切換えられ
【おり、マトリクス乗詐器74において(35)式の乗
算が行なわれ、その結果がマトリクスレジスタ75中に
保持される。
次に第27B図を参照して、シフトプロセスとその結果
につき説明する。マトリクスレジスタ88中には単位マ
トリクスEが保持されており、マトリクス減算器76に
おいて[E −A”B”]をめる演算が行なわれ、その
結果がマi・リクスレジスタ77中に保持される。さら
に、乗算・加算器78においてこのマトリクスの各成分
の自乗用が計算され、その結果であるV−バッファ・レ
ジスタ79中に保持され、そこからそれがマイク[]コ
ンピュータに出力される。
ざらに第27C図を参照して、他の71〜リクス乗算プ
ロセスとその結果につき説明する。マトリクス@律プ[
」レスにおいて、71−リクスレシスタ68からデータ
を供給する順序を制御りることにより、マトリクスレジ
スタ72中にはみかりし転置マトリクスΔ があったに
うにすることができる。マトリクスマルチプレクリ−7
3は71ヘリクスレジスタ77側に切換えられる。71
〜リクス乗筒器74において前述した(36)式の演算
が行なわれ、その結果がマトリクスレジスタ75中に保
持される。
最後に第27D図を参照して、他のシフ1−プロセスと
その結果につき説明する。マトリクスレジスタ88から
出力は与えられず、それゆえ乗算・加算器78において
は上)ホした(36)式の右辺の各成分の自乗用が計算
され、その結果であるUoがバッファレジスタ79中に
保持される。このヒ0はマイクロコンピュータに与えら
れ、マイクロコンピュータにおいて先の演算過程でめた
rとこ(豹 のしとを用いて(33)式のλがめられる。一方、バッ
ファレジスタ69中にはマイクロコンピュータから与え
られたλ が保持されでいる。
(s−1>は前回の演算結果を意味している。これは、
今回の演算結果が間に合わないために前回の演算結果を
用いるものであるが、大ぎな問題はない。マトリクス乗
算器70において先に説明した(37)式の第2項の演
算が行なわれ、さらにマトリクス加算器71にJ3いて
(37)式の演算が行なわれその結果がマトリクスレジ
スタ72中に保持される。
したがって、以上に説明したすべての演算を行なうこと
により、マトリクスレジスタ72の出力部に、前回の演
算によるマトリクス[B]を初1111値とした、マト
リクス[Δ]の逆マトリクスの新しい近似マトリクス[
B1を得ることができる。
それゆえ、マトリクス[A]をレコピアンJとりれば、
すなわちマトリクスレジスタ68がマトリクスレジスタ
67からA7コビアンJを受取るようにずれば、マトリ
クスレジスタ72の出力部に17コビアンインバースJ
−’を得ることがてきる。
以上のようなりコピアンインバース、ノー1をもしもコ
ンピュータのソフトウェアを用いてめるとずれば、その
演算時間は非常に良いしの、たとえば3QmsccPi
!度となるが、この実施例のように専用のハードウェア
によってめる場合には演算時間が非常に短く、たとえば
1 m secあるいは−ぞれ以下になることが確認さ
れている。
次に、d、Xからdαへの座標変換の方法おJ、びその
ための装置につき説明する。これは、第1Δ図および第
1B図の座標変換部6に相当する。
明するためのブロック図である1、この図は、第213
図に相当づる。座標変換部6は、前述した1ノコヒアン
演算部90.ヤコビアンインバース演t)部400に加
えてさらにバッファレジスタ60.ン1ヘ992乗算器
61d3よびバッファレジスタ62を備える。バッファ
レジスタ60の入力部はマイクロコンピュータ(図示せ
ず)に接続されており、その出力部は71〜リクス乗算
器61の一方の入力部に接続されている。マトリクス乗
算器61の他方のパノノ部は前述したマトリクスレジス
タ72の出力部に接続されている。マトリクス乗算器6
1の出力部はバッファレジスタ62の入力部に接続され
てd3す、バラノアレジスタ62の出力部はマイクロコ
ンピュータに接続されでいる。
マトリクス乗算器61は、前述したマトリクス乗算器4
1と同様の機能を有しており、2つの71へりクスの乗
算を行なう。ずなわら、後述するように、バッフフッレ
ジスタ60からはベクトルff1d→ Xが、マトリクスレジスタ72がらはマトリクス[J(
α)]−1がそれぞれ出力され、それらの積がマトリク
ス乗算器61においてめられるのであるが、ベクトルf
f1dXど?トリクス「J(α)1→ −→→→ −[J(α)]−’X [d X 000]と書くこと
ができる1、シたがって、バッファレジスタ60に保持
されているベクトル徂dXを次のマトリクスとみなずこ
とがてきる。
したがって、マトリクス乗算器61の(幾重はマトリク
ス乗算器41の機能ど同様であると言っても差支えない
。このことは、後述りるマトリクス乗樟器58d3よび
65について6同様である。前jホしたように、ヤコビ
アン演算部90内の71−リクスレジスタ67の出力部
にヤコビノlンJ(α)が与えられ、かつ、レコピアン
インバース演算部400内のマトリクスレジスタ72の
出力部にA7]じアンインバース[J(σ)]−1が与
えられる。
一方、ホストシステム4内のマイクロコンピュータから
バッファレジスタ60に対してdXがijえられる。マ
トリクス乗算器61において、前)ホした(18)式の
演算が行なわれその結果がバッフスフレジスタ62中に
保持される。以上に、よって6以上の座標変換装置によ
れば、座標変換に要する時間は1 nl sec以下に
なる。従来にd3いては、油筒速度があまりにも遅いた
め、5次元あるいは6次元にJ3いてこのJ:うな座標
変換を行なうことができなかった。またソフトウェアを
用い゛ζ座標変換を行なう場合には演算時間が20m5
ec程度要していたけれども、この実施例によれば前)
ホしたように演算時間が1111sec以下となり、ラ
フ1〜ウエアよりb ili’l III性能がはるか
に向上する。これは、\7コビアンJ(α)をめるプロ
セス、Vコピアンインバース[J(α)]−1をめるプ
ロセスa3よびPli標変換のプロレスの各ブLIL7
スでの演算速度が非常に速いからである。
次に、d2Xから(1’αへの座標変換の方法おにびそ
のための装置につき説明する。これは、第1A図および
第1B図の座標変換部7に相当する。
d2αは、後で説明づる運動方程式の逆問題を解いてフ
ィートフォワード制御を行/、にうために必要である。
まず、d2Xからd2qに変換づるツノ法につき説明す
る。フィードフォワード制御とは、各関節のiI!lI
す、したがってエンド1フエクタの動きを指示し、その
動きを達成するためにどのような力を与えればよいかを
演算し、そのツノを発と1さけるようにするものである
。したがって、d2α、dαおよびα、すなわち、’c
+’、cy、α 、というα系Cの運動を記述するMを
与えてそのE)+さを実現するためのトルクτを演算し
なりればならない。
ところで、ロボットの応用側の要求としては、エンドエ
フェクタの動きは絶対座標系て゛与えることが便宜であ
る。このためd 2 X、 (I XηなわちX、Xの
形でエンドエフェクタの先端の仙さ゛を定数とする。こ
のうち文からみへの変換は既に述べたので、ここではX
からαへの変換について説明する。
まず、マトリクス[M]を時間で微分するととなる。こ
れの右辺の第2項を左辺に移行すればとなる。ところで
、(4,0)式の左辺の第1項は[M]の2階の時間微
分であって、これはXに関コ 係ηる吊である。左辺の第2項のうちαについて八 二 はX→αからめられる。ところで(40)式の右辺は 二 [J]×α ・・・(41) と占けるから、(40)式の両辺に左からヤコビアンイ
ンバース[J1]を1卦ければ =d ・・・(42) が得られる。したがって、(7I2>式の左辺の各基。
量を演算すれば右辺のαが得られる。(42)式はベク
トル形式で書かれており であるから、(43)式は連立り程式である。
(43)式の左辺の諸量のうち、ΣΣすなわら、を新た
にめることが必要である。ここて(44)式の各項を1
−1.とどU)りば、(44)式は、モジ比よ ・・・
(46) ただし、 う゛ 1−I Lよ−(?、よi[M])α、αJ ・・・(
47)H,、= HjL ・・・(48) となる。この1」、dを用いて(44)式、ずなわち(
46)式を具体的に書き下せば、 Σ Σ −2X[−ルー Hu+ l]、よ+ H+3
+ HI3十 ト1..+ f:4I6十丁+−1−−
 1−ら3+l ’xi’= j%+”xb+−y +
−1,十 H,、+ 1−一目、6十丁H,,4−1−
1−14,−1−H−+TH,すHヶ。
十丁F16c ] ・・・ (49) となる。ここでは、(48)式の関係を利用している。
(49)式の各項の一例を具体的に示Iば、H,、= 
(M 、αl ’)M2 M3M4 Ms MGl−1
,□−=(M’、ル、)(M′2ル2 )M−M2M5
M6(゛ある。(46)式は36個の項を含み、これが
(49)式にd3いては、(48)式の関係を用いて2
1個の項へど四替えられている。ところが、これらの項
の間には一定の規則性があり、M、ないしMG 、M=
 ’ ないしM Ii ’ 、 M + ″ないしM6
″を規則的に組合わせることによって比較的簡単に(4
9)式の値を得ることができる。
次に、以上に説明した方法を実現してd2Xがらd2α
に変換する装置につき説明する。
第29A図は、(44)式に示したΣΣの演算を行なう
装置を説明するためのブロック図である。
この図は、第2A図に相当する。点線で囲んだ部分がΣ
Σ演算部500である。第2913図は、d→ 2αの演算を行なう装置を説明するためのブロック図で
ある。この図は、第2B図に相当リ−る。点線で囲んだ
部分がd2α演算部600である。ΣL演算部500お
よびd2α演粋演算00で第1A図J3よび第1B図の
座標変換部7が構成される。
第30A図および第308図は、ΣΣ演算部500の動
作を説明するための図である。。
まず第29A図を参照しC1バツフノ・レジスタ1つの
入力部はマイクし]コンビコーク(図示せず)に接続さ
れており、さらにその人力部と出力部は結合されている
。バッファレジスタ19の出ツノ部は、マトリクス乗算
器20の2つの人力部およびマトリクスマルチプレクザ
22の一方の入力部に接続されている。マトリクス乗終
器20の出力部はマトリクス乗算器30の一方の人力部
に接続されており、マトリクス乗算器30の4m 7’
jの入力部にはマトリクスシフトレジスタ35の出力部
が接続されている。マトリクスマルチプレクサ22の出
力部はマトリクス乗算器23の一方の入力部に接続され
ており、マトリクス乗算器23の他方の入力部はマトリ
クスシフトレジスタ32の出力部に接続されている。マ
トリクス乗算器23の出力部は、マトリクス乗算器24
の一方の入力部およびマトリクス乗算器34の一方の入
力部に接続されている。マトリクス乗算器24の他方の
パフ3部は、マトリクスレジスタ43の出力部に接続さ
れている。マトリクス乗算器27の一方の入力部はマト
リクスシフトレジスタ25の出力部に接続されており、
他方の入力部はマトリクスレジスタ26の出力部に接続
されている。マトリクス加算器28の2つの入力部はそ
れぞれマトリクスレジスタ24の出力部およびマトリク
ス乗算器27の出力部に接続されており、マトリクス加
算器2Bの出力部はマトリクスレジスタ29の入力部に
接続されており、マトリクスレジスタ29、の出力部は
マトリクスレジスタ26の入力部に接続されている。
マトリクス乗算器31.34および36.マトリクス加
算器33および37およびマトリクスレジスタ38.1
−iよび39の接続については前述とほぼ同様である。
マトリクスレジスタ38の出力部にはバッファレジスタ
40の入力部が接続されている。
マトリクスシフトレジスタ25,71−リクス乗算器4
1.マトリクスレジスク42および43については、第
6図において座標変換部5としC既に説明した。さらに
、71−リクスシフトレジスタ32についても、第24
A図においてヤ」ビアン演算部90の一部分として既に
説明した。マトリクスシフトレジスタ35の機能は、既
に説明したマトリクスシフ1〜レジスタ25および32
の機能と同様である。マトリクス乗算器20,23.2
4.27.30,31,34ゼよび36は、既に説明し
たマトリクス乗算器41の機能と同様である。マトリク
スマルチプレクサ22の機能は、第24A図において説
明したマトリクスマルチプレクサ45の機能と同様であ
る。マトリクス加算器28.33および37の機能は、
第26図において説明したマトリクス加算器71の機能
と同様である。マトリクスレジスタ29および38の機
能は、既に説明したマトリクスレジスタ42の機能と同
様である。71−リクスレジスタ26おにび39の機能
は、既に説明した71〜リクスレジスタ43の機能と同
様である。バッファレジスタ19および400機能もま
た、第6図において既に説明したバッファレジスタ44
の機能と同様である。
次に第29B図を参照して、バッフルジスタロ3の入力
部はマイクロコンピュータ(図示せず)に接続されてお
り、その出力部はマトリクス減算器64の一方の入力部
に接続されている。マトリクス減界器64の他方の入力
部は前述したパン7戸レジスタ40の出力部に接続され
ている。マトリクス減算器64の出力部はマトリクス乗
算器65の一方の入力部に接続されてJ3す、マトリク
ス乗算器65の他方の入力部は前述したマトリクスレジ
スタ72の出力部に接続されている。マトリクス乗算器
65の出力部tまバッファレジスタ66の入力部に接続
されており、バララフ・レジスタ66の出力部はマイク
ロコンピュータに接続されている。
バッファレジスタ19は、マイクロゴ1ンピユータから
!jえられたα、ないしα6を保JJIシ、かつそれら
をローチー1〜させている。71〜リクス減(?I器6
11の機能は、第26図において説明したマトリクス減
算器76の機能と同様である。パラフン・レジスタ63
.マトリクス乗算器65およびバッフ7レジスタ66の
機能についても、第28図において説明したバッファレ
ジスタ60.マトリクス乗算器61およびバッファレジ
スタ62の槻OLとそれぞれ同様である。
次に、第30A図および第3013図を参照して、マト
リクスレジスタ38内に前)本したΣΣかロードされる
動作につき説明する。なお、以下の動作は、前述したク
ロック信号φΔJ5J、びφBに応答して行なわれる。
ま°f30A図を参照して、第1のユニットタイム間の
動作につき説明する。バッファレジスタ19に保持され
ていたα、がマトリクス乗算器20に与えられ、マトリ
クス乗算器20において工α、′がめられる。マトリク
スマルチプチレクサ22はバッファレジスタ19側に切
換えられており、これ以降も同様である。71〜リクス
シノトレジスタ25内のマトリクスレジスタ251ない
し256には、マイクロコンピュータからそれぞれ71
〜リクスM1ないしM6がO−ドされる。マトリクスシ
フトレジスタ32内のマトリクスレジスタ321ないし
326には、マイクロコンピュータからマトリクスMの
1階の時間微分であるマトリクスM、′ないしM [i
′ がロードされる。同様に、マトリクスシフトレジス
タ35内の71〜リクスレジスタ351ないし356に
は、マイクロコンピュータからマトリクスMの2階の時
間微分であるマトリクスM 、 nないしM6″がロー
ドされる。マトリクス乗算器23においてマトリクスマ
ルヂプレクサ22からのα1とマトリクスシフトレジス
タ32からのM+’ との積がめられる。
マトリクスレジスタ43には単位マトリクスEがロード
されている。したがってマトリクス乗算器24において
はM+’ α1がめられる。マトリクスレジスタ26に
はOがロードされており、したがってマトリクス乗算器
27での演算結果はOどなる。マトリクス加綿器28に
おいCマt・リクス乗算器24からのM、′α、と71
・り久ス東算器27からのOとが加算されその結果がマ
トリクスレジスタ29にロードされる。
マトリクス乗算器30において、71〜リクス乗算器2
0からの4.、.2とマトリクスシフトレジスタ35か
らのM1″との乗粋が行なわれその結1 + 果T M 、 IIαI2がめられる。マトリクス乗算
器31においては71〜リクス乗綽器30からのiMI
″α1′とマトリクスレジスタ43からの単位71〜リ
クスFとの積がめられる。71〜リクス乗算器34の一
方の人力はマトリクスレジスタ26からのOであるので
、そこでの演算結果はOである。同様に、マトリクス乗
算器36の一方の入りはマトリクスレジスタ39からの
OC゛あるのclそこでの演算結果は0である。したが
ってマトリ1 1. 。
クスレジスタ38にはTM、α、2がロー1:される。
次に第3013図を参照して、第2のユニットタイム間
の動作につき説明する。バッファレジスタ19は、その
保持していた内容を1ブロツクlどIfO−テートさせ
、れを出力する。マトリクスシフ1〜レジスタ25.3
26よび35にロードされているマトリクスは右方向へ
1ブロツクだけシフi〜される。しl〔がって、71〜
リクスレジスタ251.321J5よび351には、そ
れぞれ、マド1ノクス1y12.Mz’ およびM2″
がロードされる。
マトリクスレジスタ26には、第1のユニットタイム間
の演算結果であるM、′α1がマトリクスレジスタ29
からロードされる。同様に、マドl)r rr + クスレジスタ39にはz M + α、′がロードされ
、71−リクスレジスタ43にはM、がロードされる。
そして前述と同様の演算により、マトリクスレジスタ2
9にはM + M 2 ’ α2+M、’ α。
M2がロードされる。マトリクスレジスタ38には、 
MI M2 ″(X2 ’ +M+ ’ α1M2′α
2λ +’M、″Q’H2M2がロードされる。マトリクスレ
ジスタ42には、MIM2がロードされる。
以降同様にして第6のユニットタイム間]ツブ前述した
ΣΣがマ]〜リクスレジスタ38中【二ロードされる。
次に第29B図を参照して、その次のにツ1〜タイム間
の動作につき説明Jる。マイクE−J」ンビュータから
はバッファレジスタ63に対してd2Xが与えられ、こ
れがさらにマトリクスi+ili O器64の一方の入
力部に与えられる。一方、マトリクス乗算器64の他方
の人力部には、バッファ・レジスタ40を介して、先の
ユニットタイム間にめられたΣΣが与えられる。71〜
リクス減紳器64において、先に説明した(40)式の
左辺の演算が行なわれその結果がマトリクス乗瞳器65
の一方の入力部に与えられる。マトリクス乗算器65の
他方の入力部には、71へリクスレジスタ72hIらψ
コピアンインバースJ−’がhえられる。こσ)ヤコビ
アンインハースJ−’のめ方につ(\て(よ既に説明し
た。マトリクス乗算器65において先に説明した(42
)式の演算が行なわれ、その結果であるd2αがバッフ
ァレジスタ66に[J−ドされる。このd2αはさらに
マイクロコンビコータの変換が行なわれたことになる。
運動方程式 動方程式の逆(d題を解く方法およびそのための装置に
つJ説明する。これは、第1A図および第1B図の運動
方程式演算部9に相当する。
運動方程式の逆問題とは、対象としている力学系の運動
を条1′1どして与え、その運動を実現づるためにはい
かなる力をその力学系を加えればよいかをめる手続をい
う。ここでは、運動方程式を導くためにラグランジェ形
式を採用覆ることにする。
ラグランジェ形式においては、まず、考えている力学系
の運動エネルギをに、ポテンシャルエネルギをPどして
、ラグランジアンLを L=に−P ・・・(50) によってめる。ラグランジェの方程式には一般化座標が
現われるが、ここで考えている一般化座標はα、Cある
。このα1に対する一般化力をFlとづると、ラグラン
ジェの)■動方稈式は(i =1.2.・・・、6) で与えられる。運動方程式の逆問題を解くということは
、(51)式の右辺を計算してF、をめることに他なら
ない。
次に、KおよびPを具体的にめ、(51)式の具体的な
形を導くこととする。
<a > 運動エネルギ1く 絶対座標系におけるロボットの各部分の座標をとし、ロ
ボッ1〜の各部分の微小部分の貿mをdmとすると、全
運動エネルギには に一÷Jdm(x 2+y 2+z 2) +R−Ni
3)で与えられる。但しRは、ロボットの腕の位置状態
に依存しない項であり、たとえばローターのイナーシ1
7等である。ここで、 どなることに注意すると、 となる。但し、]”rはトレース(対角用)を意味ηる
。この積分にa3いて、絶対座標系から児た1番目の腕
の各部分の座標を×1とすれば、(55)式は、6腕に
ついての積分の和として書換えることができ、 K 、、、−4ΣJdmT r (:、”;、”) 十
R−(56)となる。ところで、X、は、 X L =M+ XM2 X・・・XM、Xo ・・・
(57)とa目ノる。但し、Xoは、[番目の関節に固
定された座標系から見たL番目の腕の各部分の位置ベタ
1−ルである。したがって、 M’ −M+ XM2 X・・・XM、 ・・・ (5
8)なる1いを定IJれば、xL = M XCIであ
るから、 肖 a 、→・ xL−π(MXO) と書くことができる。また、Rは(1、/ 2 ’)Σ
Ia、αj (ai は定数)の形に町1ノるから、・
・・ (60) となる。但し、Qlは慣性テンソルであり、で定義され
る。
(b ) ボテンシVルエネルギP ポテンシャルエネルギとしては、重力エネルギが考えら
れる。したがって、重力の加速度を表わす゛ベタ1ヘル
をGとし、重力の方向に絶対軸の第3成分をとれば、 (1−A下金白) となる。重力マトリクスY1を ・・・(63) によって定義すれば、Pは 1丁 P=ITr LY、M ] ・・・(64)と古くこと
ができる。
(C) ラグランジェの運動方程式 (a ) <b )で用いたに、Pを(50)式に代入
してLをめ、これを(5])式に代入することによって +IQ−*伏− ・・・ (65) が得られる。これを整理すれば 十Io−メ・ し ・・・ (66) てあって、(67)武力よび(68〉式の各項をそれぞ
れR:、、、w:)、=sけば、これらの式は具体的に
は次の形となる。
A + −2×[2R,、] 1 (2) tり) A2 =2X [IRIt 十R1:L十工1ち、〕 A3 = 2×[−!−R′?〜−R′?ゝ+R″′λ
 ll ll 13 ’ (71fil −h T IでJA +R13 B l= W + ” B2 =W+”+W2” 〕こ Iど じ 、 であり、<−R謂が成立している。
(6G)式のうち第1項は角度変数の時間微分の2次形
式を含む項であって、遠心力J3よびコリオリのノjを
表わし、第2項は角度変数の2階の時間微分を含むため
に慣性項である。第3項は重力項そして第4項は先に述
べたようにロボットの腕の位置状態に依存しない項であ
る。
ところで、(66)式に従って演算を行なえば、一般化
力F1を得ることができるわけであるが、この演算をハ
ードウェアで行なうことを考慮して、漸化式による方法
を採用することにする。すなわち、 aL、−aJ−1×MJ、ao=F ・・・(7o)と
して、繰返しを行なえば aj =M、×M2×・・・×MJ・・・(71)がi
tlられる。まIこ、 ・・・(72) としてjについて繰返しを行なえば 1)、=M、XM2X・・・xM、’x・・・×M〜よ
 d ・・・(73) が得られる。さらに、  − + aj−’ x 2 α、i M;’ ・d o =
 0・・・(74〉 によって繰返しを行なえば、同様に(66)式の各項に
現われる量をめることができ、結局、F+ =F+ ’
 +l”、 ’十F、3+la、α。
のようになり、これによってF、をめることができる。
このうちIa+ α1の項はロボットの腕の位置状態に
依存しない項であるためその演算はソフトウェアで行な
い、ハードウェアではこれを無視することとする。
すなわち、F、をめるにあたっては、(75)式の「=
’、F12.’F13の()の中にあるマトリクスの積
を計算し、そのトレース(対角和)をめて和をとればよ
い。ここで対角和をとるべき()の中がA−Bの形をし
ていることに注目すると、対角和の演算はマトリクスA
およびBの要素を抜き出してそれらの積の和をとればよ
いことになる。これは次式より明らかである。
次に、前述した(75)式のF+’+F+’+F 、 
sをめる装置につき説明する。そのような演算を行なう
ためには先に示した第2A図内のすべての装置を用いる
。第2A図内の装置のほとんどは既に説明したので、こ
こではまだ説明していない部分についてのみ説明する。
マトリクスシフ1〜レジスタ50の出力部がマトリクス
乗算器51の一方の入力部に接続されている。マトリク
スシフトレジスタ50は、先に説明したマトリクスシフ
トレジスタ25.32および35と同様であり、マトリ
クスレジスタ501ないし506を備える。マトリクス
乗算器51の他方の入力部にはマトリクスマルチプレク
サ49の出力部が接続されてJ5す、マトリクスマルチ
プレクサ49の2つの入力部は先に説明したマトリクス
レジスタ26および39の出力部に接続されている。マ
トリクス@枠器51の出力部は、マトリクスレジスタ5
2を介してマトリクスマルチプレクサ54の一方の入力
部に接続されている。マトリクスマルチプレクサ54の
他方の入力部には、マトリクスシフトレジスタ53の出
力部が接続されている。このマトリクスシフ1〜レジス
タ53もマトリクスシフトレジスタ50と同様に、マト
リクスレジスタ531ないし536を備える。マトリク
スマルチプレクサ−54の出力部はトレース演算回路5
5の一方の入力部に接続されCおり、それの他方の入力
部には先に説明したマトリクスレジスタ48の出ツノ部
が接続されている。トレース演算回路55の出力部はバ
ッフ7レジスタ56を介してマイクロコンピュータ(図
示ぼず)に接続されている。
71〜リクスシフトレジスタ50および53の機能は、
既に説明したマトリクスシフトレジスタ25等の機能と
同様である。マトリクスマルチプレクリ“49および5
4の機能は、既に説明した71〜リクスマルヂプレクリ
45等の機能と同様′c′ある。
マトリクス乗算器51の機能は、既に説明したマトリク
ス乗算器41等の機能と同様である。マトリクスレジス
タ52の機能は、既に説明した71ヘリクスレジスタ4
2等の機能と同様である。バッフルレジスタ56の機能
は、既に説明したバッファレジスタ44等の機能と同様
である。トレース演算回路55の機能ば、(75)式に
示したようなトレース7rをめるものである。
次に、運動方程式を解く動作につき説明づる。
第31A図ないし310図は、運動方程式演粋部9の動
作を説明りるための図である。運動方程式を解く動作は
、3つのフェースから/、fる。
まず、第31A図を参照して、第1のフ」、−ズにつき
説明する。このフェースにおいては、F13の演算の他
に、同時に、先に説明したαからXへの変1.d2αを
めるためのΣとの計算およびA7コビアンJの係数をめ
る動作も行なわれている。これは、演算の時間を最短に
するためである。マトリクスジノ1〜レジスタ25内に
は先に説明したようにマトリクスM、ハロードされ((
′Xる。
71〜リクスシフ1〜レジスタ32内には、先に説明し
たマトリクスM・′がロードされている。71・リクス
マルチブレクリ・45は1,1=−iのときはマトリク
スシフトレジスタ32側に切換えられ、j≠1のとさ−
はマトリクスシフトレジスタ25側に切換えられる。マ
トリクス乗算器47においてマトリクスM−とマトリク
スMj′との乗粋が(7δ し 2)式に従って行なわれ、その結果であるb♂ がマト
リクスレジスタ48にロードされる。一方、マトリクス
シフトレジスタ53にはマイクロコンピュータ(図示せ
f)から先に説明したマトリクスY、がロードされてい
る。マトリクスマルチプレクサす54はマトリクスシフ
トレジスタ53側に切換えら でおり、したがってトレ
ース演算回路55の ・部にはb″: とY・ が入力
され、そこに/ 、d おいて(75)式のF 、 3の演算が行なわれる。
この場合、F 、 3は36のりOツク期間(1−1な
いし6.j=1ないし6)でめられる。この場合、最初
のクロック期間ではまだマトリクスレジスタ48にはい
かなるbも[1−ドされていないので、マトリクスY2
の出力は1クロツタ期間だけと 遅延さU゛る必要がある。それには、マトリクスシフl
〜レジスタ53とマトリクスマルチプレクサ54との間
にそのような遅延回路を段【プてもよいし、あるいはそ
のようにしなくてもマトリクスシフトレジスタ53の動
作を1クロック期間だけ止めてもよい。
なお、以上の演算と同時に次の演算が11なわれる。す
なわち、バッファレジスター9にはdがロードされてお
り、この71−−スにあい((,171ヘリクスマルヂ
ブレクサ22はバッファレジスター9側に切換えられて
いるので、ルは71−リクス乗尊器23に与えられる。
したがって、マトリクス乗算器23においては、a、 
Mz ’ の演算が行なわれそれがマトリクス乗算器2
4の一方の入力部に与えられる。マトリクス乗紳器27
′lの他方の入力部には、前のクロック期間中にめら1
′1だ後述するa4−1がマトリクスレジスタ43から
与えられる。
71〜リクス乗粋器27の一方の入力部には、71〜リ
クスシフトレシスタ25から71−リクスM、2が与え
られ、他方の入力部にはマトリクスレジスタ26中に保
持されている前回のクロックル1間中にめられたC、−
1が与えられる。したが・〕で71〜リクス乗算器27
およびマトリクス加紳器28にd3いて(74)式に示
したC1の演算が行なわれそこ の結果がマトリクスレジスタ29にロードされる。
一方、マトリクス乗n器41の一方の人力部にはマトリ
クスシフトレジスタ25からのマトリクスM が与えら
れてあり、他方の入力部にはマトリクスレジスタ43中
に保持されている前回のクロック期間中にめられたaJ
−、が与えられる。したがって、マトリクス東棹器41
にa3いては(70)式に示した演算が行なわれ、その
結果がマトリクスレジスタ42に[1−ドされる。この
マトリクスレジスタ/42にロードされるa2 は、言
い換えれこともできる。さらに、マトリクス乗算器2o
においては(1/2)cr2がめられこれが71へりク
ス乗粋器30の一方の人力部に与えられる。マトリクス
乗算器30の他方の入力部には71〜リクスシフトレジ
スタ35からのM、″が与えられる。
前述と同様の考えで、マトリクス乗算器3oおよび31
.マトリクス加算器33.71−リクス乗錦器34a3
よび36.マトリクス加算器37において(74)式に
示したd、をめる演算が行な4つれ、その結果がマトリ
クスレジスタ38にロードされる。このdオ は、言い
換えれば先に説明したIΣということもできる。
次に、第31B図を参照し−C,第2のフr−ズにつき
説明する。71〜リクスシフj〜レジスタ5(ンには、
マイクロコンビコータ(図示せり゛)から先に説明した
慣性テンソルQJ力和−ドされている。
マトリクスシフトレジスタ50ど71ヘリクス乗算器5
1との間には、第31△図で説明したJ、うな遅延手段
が段りられてし良い。そのJIP山しまた先に示した通
りである。マトリクスフルヂブレクリ49は、このフェ
ーズにおいCはマトリクスレジスタ39(則に1刀1灸
えられてA3つ、したがって71−リクス乗幹器51に
おいては、−/l−リクスシ71へレジスタ50からの
Qよとマトリクスレジスタ39からのdJ どの積がめ
られる3、ン1〜リクスマルチブレクサ54は、このフ
ェースにおいては71ヘリクスレジスタ52側に切換え
られ−Cおり、したかつてトレース演算回路55にJ5
いては、71−リクスマルチブレクリ−54からのd、
Qオ と71〜リクスレジスタ48からのす、、とを用
いて(75)式に示したF、′をめる演算が行なわれる
。このF、2をめる演算もまた、36のクロック期間(
i−1ないし6.j =1ないし6)において行4にね
れる。
さらに、第31C図を参照して、第3のフェーズにつき
説明する。バッファレジスタ21にはδ、がロードされ
ている。このフェーズにdJいては71へりクスマルチ
ブレクサ22はバッファレジスタ21側に切換えられ“
CdJ3す、したがってん・はげ 71゛リクス乗算器23の一方の入力部に与えられる。
71゛リクス乗算器23の他方の入力部にはマトリクス
シフトレジスタ32からのMz ’ h鴨えられる。前
述と同様の考え方にJ二り、マトリクスレジスタ29に
は(74)式に示したCよ がロートされる。このフェ
ーズにおいては、第2のフェーズの場合と反対に、マl
〜リクスマルチプレクサ49はマトリクスレジスタ26
側に切換えられている。マトリクスマルヂブレクサ54
は、このフL−ズにa3いても71〜リクスレジスタ5
2側に切換えられCいる。したがって、マトリクス乗算
器51にa3いて、マトリクスシフトレジスタ5oがら
の慣性テンソルQ−と71〜リクスレシスタ26−δ からのC,3との積がめられ、その結果(゛あるCよQ
jがトレース演算回路55の一方の人力部に!jえられ
る。トレース演算回路55の他方の入力部にはマトリク
スレジスタ48からの1亡 が!うえらよ れており、1−レース演算回路55に6−3いて(75
〉式に示したl−%をめる演算が行なわれる。こ0)F
i’ をめる演算もまた、36のクロック期間(1−1
ないし6.j−1ないし6)において行なわれる。
以上のような動作によってめた「、3.F。
’J5J:び1:1′ は、それぞれバッファレジスタ
56からマイクロコンピュータに与えらね、マイクロコ
ンピュータはそれらのものを用いて(75)式に示した
1:1 をめる演算を行なう。
従来は、運動方程式を51算づ−るのには非常に時間が
かかつていた。そのfft I”lは実時間(゛は不可
能だった。これは、関節が複雑に干渉し合い、運動方程
式の中に座標変換が入ってきてa3す、運動方程式の計
算には非常に良い時間を要1)ていたからである。した
がって、運動方程式を解くことは、制御)■として実用
に供し1qながった。しかしながら、Fに説明したよう
なこの実施例による方法a5よび装置によれば、運動方
程式を解くことが実時間で可能になった。
dFからdτへの変換 次に、d「がらdτへの変換の方法およびそのための装
置につき説明分る。これは、第1A図おする。仮想仕事
の原理を用いると、X系においてエンドエフェクタに加
える力Fとそれによる微小変11/lJxがなぜる仕事
δwxと、α系にJ3いて各軸に加えるカ[とそれにに
る微小変位dαがなせる仕事δw、A どは等しい。り
なわら、→T → δWx =FT6X=δW=r −d a−<76)が
成立する。ここでdXは先に(17)式で示されでいる
がこれを改めて表わせは → → → dX=J−dα ・・・(77) となる。したがって上のく76)式および(77)この
(78)式において、α系にiJ5けるカ[はトルクτ
ど表わしてもJ、く、また(78)式は微小吊について
も成立するので、(78) jt:は次の(79)式と
表ゎづ−ことがてさる。
→ →T d τ −J−d 「 ・・・ く 79 ンしたがっ
て、(143)式の演算を行なえば、d[からdτへの
変換が行なわれることになる。
次に、上に述べたような変換を1’i イtう装置につ
き説明する。第32図は、dT!がら+J?への座標変
換部8を説明するためのブロック図Cある。この図は、
第213図に相当する。座標変換部8は、バッフ7レジ
スタ57.マトリクス乗剪’ ?eに8 +jJJ、び
バッファレジスタ59を備える。バッファレジスタ57
の入力部は、マイクロコンビ−1−タ(図示せず)に接
続されており、出力部はマトリクス乗算器58の一方の
入力源)に接続されている。
マトリクス乗算器58の他方の人力部は、先に説明した
ヤコビアンインバース演算部400内のマトリクスレジ
スタ68の出力部に接続されている。
71−リクス乗算器58の出力部はバッファレジスタ5
9の入力部に接続されており、バッファレジスタ5つの
出力部はマイクロコンピュータに接続されている。
前述したように、ヤコビアン演算部90内のマトリクス
レジスタ67の出力部にはヤコビアンJが出ツノされ、
ヤコビアンインバース演算部400内のマトリクスレジ
スタ68の出力部には、第27C図において説明したよ
うに、児か(プ上ヤコビアンJの転置71〜リクスであ
るJTが出力される。
一方マイクロコンピュータからバッファレジスタ57に
対してdFが与えられる。マトリクス乗算器58におい
て、前述した(79)式の演算が行なわれ、その結果で
あるdτがバッファレジスタ59にロードされ、かつマ
イクロコンピュータに与えられる。以上によりdFから
dτへの変換が行なわれたことになる。
以上に述べl〔座標変換も非常に高速度で行なうことが
できる。
発明の効果 この発明の1つの特徴は、座標変換は簡単な構成のハー
ドウェアで行なわれるので、座標変換を非常に高速で行
なうことができることである。この演算時間の短縮は、
制御の質的変化を生ずるほどである。
この発明の他の特徴は、座標変換は簡単な構成のハード
ウェアで行なわれるので、マイク[1コンビコータが座
標変換に利用される時間が非常に7.jjくなることで
ある。したがって、マイクロコンピュータに高速のもの
を用いなくても極めて正確な座標変換が行なわれる。さ
らに、そのマイクロコンピュータを用いて別の機能を行
なわけることが簡単にできる。
この発明のさらに他の特徴は、座標変換のための演算回
路はばとん′ど類似した演算を何回も繰返すだ番)であ
り、従って演算回路の構成が簡単になり、かつ、制御す
べき自由度の変更や増減に対しても簡単に対応すること
がCぎることC(bる。つまり、汎用性が大きいことで
ある。なぎならば、その演算回路で利用可能な演算機能
を単に増減するだ【ノで、マイクロコンピュータのソフ
トウェア(プログラム)についてはほんどん変更が不要
だからである。このことは、自由度の種類や数の変更に
容易に追随できることになる。
この発明のざらに他の特徴は、運動方程式の逆問題を解
くことによりフィードフォワード制御を行なうことがで
きることである。したがって、エンド1フエクタが所望
のパスを移動するような制御を行なうことができる。
この発明のさらに仙の特徴は、全体シスラームにおいて
は、位置のフィードバックが直角座標系に83いてか【
プられていることである。一般に直角座標系での位置デ
ータXを関節座標系での位置データαに変換することは
非常に長い演算時間を要し、実時間ぐそれを行なうこと
は不iり能に近い(〕れども、このシステムにおいては
そのような座標変換を用いる必要がない。
この発明のさらに他の特徴は、全体システムにおいては
、力制御と位置制御とを直角座標系で切換えることがで
きることである。したがって、RCCのようなものをロ
ボット自身ひ実現づることができる。
この発明のさらに他の特徴は、この発明に係る制御II
装置を、関節にダイレクトドライブモータを用いlご多
関節ロボットに用いると、予測制御の効果が顕著になる
ことである。というのは、従来のハーモニックドライブ
に45いてはてこに抵抗やガタが非常に多くあり、これ
らは運動方程式に組み入れることはでさないけれども、
ダイレクトドライブモータにJ3いてはそのような1氏
抗や刀夕が非常に少なくなるからである。
【図面の簡単な説明】
第1A図および第1B図は、それぞれ、多関節ロボッ1
への制御装置の全体システムの構成を概略的に示づ71
379図である。 第2A図および第2B図は、全体システムの構成を詳細
に示すブロック図である。ここで、第2A図の右端は、
第2B図の左端につながっている。 第3図ないし第5図は、多関節ロボットの座標変換を説
明するだめの模式図である。 → → 第6図は、αからXへの座標変換装置を説明1′るため
のブロック図である。 第7図は、マトリクス乗算器を説明するためのブロック
図である。 第8図は、マトリクスレジスタの一例を示Jブロック図
である。 第9図は、制御装置とマトリクス乗算器との接続を示す
ブロック図である。 第10図は、71〜リクスレジスタの運用方法を説明す
るための図である。 第11図は、演算回路の基本的な考え方を示す概念図で
ある。 第12図は、一実施例の基礎となる演算回路の考え方を
説明する概念図である。 第13図は、この発明の一実施例に利用される集積回路
を示すブロック図である。 第14図は、第13図の集積回路のより詳細な内部構成
を示す回路図である。 第15図は、第14図に示した集積回路を利用した演算
回路のブロック図である。 第16図は、演算回路を制till−JるためのCPU
関連回路を示すブロック図である。 第17図は、シフトタイミング発生回路の一例を示ず回
路図である。 第18図ないし第20図は、9トリクスの乗算過程を説
明し、シフトタイミング発生回路の考え方を説明する図
であり、特に第1ε3図はマトリクスの乗算の原理を示
し、第19図は演紳過程に83けるシフト動作を示し、
第20図はマトリクスの乗算に必要なシフトタイミング
信号のタイミングチャートを示す。 第21図は、この発明の一実施例の動作を説明するため
のフローチ17−トである。 第22図は、Re5olved Motion Rat
eQOntrOlにおける処理演算ループを示づ一6第
23図は、シフトタイミング発生回路の別の例を示す回
路図である。 第24A図および第24B図は、A7コビアンJ(α)
をめる装置を説明するためのブl」ツク図である。 第25A図ないし第25C図は、A7コビアン演算部の
動作を説明するための図である。 第26図は、ヤコビアンインバースJ−1をめる装置を
説明するためのブロック図である。 第27八図ないし第27D図は、ヤコビアンインバース
演算部の動作を説明するための図である。 → 第28図は、dXからdαへの座標変換部を説明するだ
めのブロック図である。 第29A図は、(44)式に示したΣΣの演算を行なう
装置を説明するためのブロック図である。 第29B図は、d2αの演算を行なう装置を説明するた
めのブロック図である。 第30A図および第308図は、ΣΣ演算部のり1作を
説明するための図である。 第31A図ないし第31C図は、運動方程式演算部の動
作を説明するだめの図である。 第32図は、dFからdτへの座標変換部を説明するた
めのブロック図である。 図において、4はホストシステム、5〜8および17〜
18は座標変換部、10は関節部、11はエンコーダ、
12は夕]メータ、13は力検出器、14〜16はゲイ
ン調整部、B、〜B+zおよびb1〜b++はバッファ
レジスタ、M P +〜M P 4は乗算回路、90は
ヤコビアン演算部、400はヤコビアンインバース演算
部、500はΣΣ演算部、600はd2α演算部である
。 第13図 BL O 第22図 第21図 第23図 v U W 第1頁の続き 0発 明 者 近 藤 隆 彦 西宮市田近野町ター内 6番107号 新明和工業株式会社開発セン手続補正占
(方式〉 昭和59年2月9日 :2.′ハ 特許庁長官殿 1、事件の表示 昭和58年特許願第 183297 号2、発明の名称 多関節ロボツ1−の制御方法およびそのための装置3、
補正をする者 事件との関係 特許出願人 住所 兵庫県西富市小曽根町1丁目5番25号名称 (
2’35)新明和工業株式会社代表者 玉 河 習 次 4、代理人 住 所 大阪市北区天神橋2丁目3番9号 八千代第一
ビル1〜、◇、iQ 6、補正の対象 図面の第21図 7、補正の内容 別紙添付の図面に朱書したように「第21図」を「第2
1図その1、その2」に訂正する。 以上

Claims (1)

  1. 【特許請求の範囲】 (1) 複数の自由度と前記自由度の1つに結合された
    エンドエフェクタとを有する多関節ロボットのためのも
    のであり、前記自由度の各々を制御することにより前記
    エンドエフェクタの動きを制り(1する制御装置であっ
    て、 前記エンドエフェクタの位置を指令するための位置指令
    データおよび前記エンドエフェクタの動く速度を指令す
    るための速度指令データを直角座標系で発生させる指令
    データ発生手段と、前記各自由度の位置を検出し、関節
    座標系での位置フィードバックデータを出力する位置検
    出手段と、 前記各自由度の動く速度を検出し、関節座標系での速度
    フィードバックデータを出力する複数の速度検出手段と
    、 前記関節座標系での位置フィードバックデータを直角座
    標系での位置フィードバックデータに変換する第1の座
    標変換手段と、 前記直角座標系での位置指令データと前記直角座標系で
    の位置フィードバックデータとの(fI差をめる第1の
    偏差演算手段と、 前記vR1の偏差演算手段からの直角座標系での偏差を
    、関節座標系での偏差に変換して前記自由度に6える第
    2の座標変換手段と、 前記直角座標系での速度指令デ゛−夕を関節座標系での
    速度指令データに変換する第33の座標変換手段と、 前記関節座標系での速度指令データと前記関節座標系で
    の速度フィードバックデータとの偏差をめ、その偏差を
    前記自由度に勺える第2の偏差演算手段とを備える、多
    関節[Jホットの制御装置。 (2) 前記指令データ発q゛手段は、さらに、前記エ
    ンドエフェクタの動く加速度を指令するための加速度指
    令データを直角座標系で発生させ、前記直角座標系での
    加速度指令データを関節座襟元での加速度指令データに
    変換する第4の座標変換手段と、 前記関節座標系での速度指令データおよび加速度指令デ
    ータを用いて運動方程式の逆問題を解きその結果に基づ
    いて前記自由度に動作指令データを与える運動方程式演
    算手段とをさらに備える、特許請求の範囲第1項記載の
    多関節ロボットの制御装置。 (3) 前記指令データ発生手段は、さらに、前記エン
    ドエフェクタに発生ザる力を指令するための力指令デー
    タを直角座標系で発生させ、前記各自由度に発生する力
    を検出し、関節座標系でのカフィードバックデータを出
    力ザる複数の力検出手段と、 前記直角座標系での力指令データと前記直角座標系での
    カフィードバックデータとの偏差をめる第3の偏差FA
    算手段と、 前記第3の偏差演算手段からの直角座標系での偏差を関
    節座標系での偏差に変換して前記自由1庭に与える第5
    の座標変換手段とをさらに備える。 特許請求の範囲第1項記載の多関節ロボットの制御方法
    。 (4) 前記指令データ発生手段は、さらに、前記エン
    ドエフェクタの動く加速度を指令するための加速度指令
    データJ3よび前記−Lノド1フJ−フタに発生する力
    を指令Jるための力指令データを直角座標系で発生させ
    、 前記自由度に発生する力を検出し、関節座標系でのカフ
    ィードバックデータを出力する複数の力検出手段と、 前記直角座標系での加速度指令データを関節座標系での
    加速度指令データに変換する第4の座標変換手段と、 前記関節座標系での速度指令−j゛′−夕および加速度
    指令データを用いて運動方程式の逆問題を解き、その結
    果に基づいて前記自由度に動作指令データを与える運動
    方程式演算手段と、 前記直角座標系での力指令データと前記直角座標系での
    カフィードバックデータとの偏差をめる第3の偏差演算
    手段と、 前記第3の偏差演算手段からの直角座標系での偏差を関
    節座標系での偏差に変換して前記自由度に与える第5の
    座標変換手段とをさらに備える、特許請求の範囲第1項
    記載の多関節ロボットの制御装置。 (5) 複数の自由度と前記自由度の1つに結合された
    エンドエフェクタとを有Jる多関節ロボッ]−のための
    ものであり、前記自由度の各々を制御することにより前
    記エンドエフェクタの動きを制御する制御装置であって
    、 前記エンドエフェクタの位置を指令するための位置指令
    データおよび前記エンドエフェクタの動く速度を指令す
    るための速度指令データを直角座標系で発生させる指令
    データ発生手段と、前記各自由度の位置を検出し、関節
    座標系での位置フィードバックデータを出力する少数の
    位置検出手段と、 前記各自由度の動く速度を検出し、関節座標系での速度
    フィードバックデータを出力する複数の速度検出手段と
    、 前記関節座標系での位置フィードバックデータを直角座
    標系での位置フィードバックデータに変換する第1の座
    標変換手段と、 前記直角座標系での位置指令データと前記直角座標系で
    の位置フィードバックデータとの偏差をめる第1の偏差
    演算手段と、 前記直角座標系での速度指令データに前記第1の偏差演
    算手段からの直角座標系での偏差を加算し、修正された
    速度指令データを出力する加算手段と、 前記修正された速度指令データを関節座標系での速度指
    令データに変換する第2の座標変換手段と、 前記関節座標系での速度指令データと前記fJI]節座
    標系での速度フィードバックデータとの偏差をめ、その
    偏差を前記自由度に与える第2の偏差演算手段とを備え
    る、多関節ロボットの制御装置。 (6) 前記指令データ発1手段は、さらに、前記エン
    ドエフェクタの動く加速度を指令するための加速度指令
    データを直角座標系で発生さU、前記直角座標系−での
    加速度指令データを関節座標系での加速度指令データに
    変換する第3の座標変換手段ど、 前記00節Bを襟元での速度指令データおよび加速度指
    令データを用いて運動方程式の逆問題を解き、その結果
    に基づいて前記自由度に動作指令データを与える運動方
    程式演算手段とをさらに備える、竹れり請求の範囲第5
    項記載の条間fl(50ボツトの制御装置。 (7) 前記指令データ発生手段は、さらに、前記エン
    ドエフェクタに発生する力を指令するための力指令デー
    タを直角座標系で発生させ、前記各自由度に発生覆る力
    を検出し、関節座標系でのカフィードバックデータを出
    力づる複数の力検出手段と、 前記直角座標系での力指令データと前記直角座標系での
    ノコフィードバックデータとの偏差をめる第3の偏差演
    算手段と、 前記第3の偏差演算手段からの直−色座標系での偏差を
    関節座標系での偏差に変換して前記自由度に与える第4
    の偏差演算手段とをさらに備える、特許請求の範囲第5
    項記載の条間i1i 1::Iボットの制御装置。 (8) 前記指令データ発生手段(ま、さらに、前記エ
    ンドエフェクタの動く加速度を指令?l−るための加速
    度指令)′−夕および前記エンドエフェクタに発生ずる
    力を指令づるための力指令データを直角座標系で発生さ
    ul 前記自由度に発生ずる力を検出し、関節座標系でのノノ
    ノイードハツクデータを出力りる複数の力検出手段と、 前記直角座標系での加速度指令j゛−夕を関節座標系で
    の加速度指令データに変換する第3の座標変換手段と、 前記関節座標系での速度指令データおよび加速度指令デ
    ータを用いて運動方程式の逆問題を解き、ぞの結果に基
    づいて前記自由度に動作指令データを与える運動方程式
    演算手段と、 前記直角座標系での力指令データと前記直角座標系での
    カフィードバックデータとの偏差をめる第3の偏差演算
    手段と、 前記第3の偏差演算手段からの直角座標系での偏差を関
    節座標系での偏差に変換して前記自由度に与える第4の
    座標変換手段とをさらに備える、特許請求の範囲第5項
    記載の多関節ロボットの制御装置。 (9) 複数Nの自由度を右づ゛る多関節ロボットの関
    WJ座45!i系での位置データを直角座標系での位置
    データに変換りるための座標変換方法であって、 前記各自由度の動きをそれぞれ関節座標系におりる外様
    変換71ヘリクスM、として表現づる第1のステップと
    、 前記座標変換マトリクスM、Hを用いて次式で表わされ
    る積マトリクスa・ をめる第2のスデツケ ブどを備える、座標変換方法。 a、=a XM−、ao=E オ r−r r ここで、jはOないしNの整数、E、 4よ331位マ
    トリクスである。 (10) 複数Nの自由度を有する多関節ロボットの関
    節座標系での位置データを直角座標系での位置データに
    変換づ−るための座標変換装置であって、 前記各自由度の動きに対応する関節座拐:系にJ3(プ
    る座標変換マトリクスM7を自由度の数だけめる座標変
    換71〜リクス3ti算手゛段と、前記座標変換マトリ
    クス演算手段に接続されていて、前記自由度の数だ(プ
    の座標変換マトリクスを保持し、かつそれらのマトリク
    スを1つずつシフトして順次出力するマトリクスジノ1
    〜レジスタと、 2つのマトリクスを人力とし、それのそれぞれに入力さ
    れる2つのマトリクスの積をめて偵マトリクスを出力す
    るマトリクス乗算手段と、前記マトリクス乗算手段に接
    続されていて、前記偵マトリクスを保持しかつ出力づる
    ?トリクスレジスタとを備え、ここで、前記マl−リク
    スレジスタは単位マi〜リクスEに初期化されることが
    でき、そして、前記マトリクス乗痒手段の−りの人力部
    は前記マトリクスシフトレジスタの出力部に接続されて
    おり、他方の入力部は前記マトリクスレジスタの出力部
    に接続されてJ5す、さらに前記マトリクスシフトレジ
    スタ、ントリクス乗n手段およびマトリクスレジスタに
    接続されていて、それらをff1lJ御することにより
    前記マトリクス乗算手段において次式で表わされる積マ
    トリクスa、がめられるようにする制御手段とを備える
    、座標変換装置。 a ヨーa、’ −/ ×M 、’ −ao −りここ
    で、jはOないしNの整数であり、Eは単位マトリクス
    である。 (11) 前記マトリクスシフトレジスタは、前記自由
    度の数だけ直列に接続されlζ71−リクス1ノジスタ
    を協える、特許請求の範囲第10項記載の座標変換装置
    。 (12) 複数Nの自由度を右づ−る多関節「1ポツト
    の直角座標系での速度データを関節座標系での速度デー
    タに変換するのに用いるヤコビアンマトリクスをめる演
    輝方法であって、 前記各自由度の動きをそれぞれ関節座標系にお(プる座
    標変換71〜リクスM、として変J条する第1のステッ
    プと、 前記各自由度の座標変換v/l〜リクスのその自由度の
    動きに関づる微分マトリクスM、−をめる第2のステッ
    プと、 前記蔑称変換マトリクスM、および前記微分マトリクス
    M、4−を用いて次式で表わされる積マ]〜リクスb5
     をめる第3のステップとを備える、A7ケ コピアンマトリクス演算方法。 ここ・て、JはOないしNの整数であり、1は0ないし
    Nの整数であり、1三は単位マトリクスで゛ある。 (13) 複数Nの自由度を4−jづる多関節ロボッ1
    −の直角座標系での速度データを関節座標系て゛の速度
    データに変換するのに用いるX7二1ビアンマトリクス
    をめる演韓装置であつ℃、 前記各自由度の動きに対応覆る関節座標系にJ3(プる
    座標変換マトリクスMとを自由度の数だけめる座標変換
    マトリクス演算手段と、 前記自由度の座標変1%マトリクスのその自由度の動き
    に関する微分マトリクスMよ′をめる微分マトリクス演
    算手段と、 前記座標変換マトリクスをそれぞれ保持する、相互に接
    続された複数の第1の群のマトリクスレジスタとを備え
    、ここで前記第1の群のマトリクスレジスタのうちの1
    つは前記座標変換マトリクス演算手段に接続されてJ3
    す、さらに前記微分マトリクスをそれぞれ保持する、相
    互に接続された複数の第2の群のマトリクス1ノジスタ
    を備え、ここで前記第2の群のマトリクスレジスタのう
    らの1つは前記微分71−リクス演梓手段に接続されて
    おり、さらに 前記第1 ;J3 J:び第2の群の71〜リクスレジ
    スタ内の特定のマトリクスレジスタに接続されていて、
    2つの71〜リクス間の乗算を行なう複数のマトリクス
    乗算手段と、 前記第1および第2の群のマトリクス1ジスタおよび前
    記マトリクス乗算手段に接続されていて、それらを制御
    することにより前記マトリクス乗算1段において次式で
    表わされる偵マトリクス1」Jがめられるようにする制
    御手段とを備える、ヤコビアンマトリクス演梓装置。 ここで、jはOないしNの整数であり、iは0ないしN
    の整数であり、[三は中位ノーへりクスである。 (14) 前記第1の群の71ヘリクスレジスタは、双
    方向にシフト可能な第1,13よび第2のントリクスシ
    フトレジスタを形成してJ5す、前記第2の群のマトリ
    クスレジスタは、双方向にシフ1〜可能な第3 Ll’
    iよび第4の17(〜リクスシフトレジスタを形成して
    おり、 前記第1のマトリクスシフトレジスタ内の一方端のマト
    リクスレジスタは、前記座標変換71〜リクス演算手段
    に接続されて43す、 前記第9のマトリクスシフ1〜レジスタ内の一方端のマ
    トリクスレジスタは、前記微分マ(ヘリクス演算手段に
    接続されており、 前記複数のマトリクス乗算手段は、第1ないし第4のマ
    トリクス乗算手段を備え、 前記第1および第2のマトリクス乗算手段は、それぞれ
    、マトリクスレジスタと組合わされて、既に保持してい
    たマトリクスと新たに入力されたマ(〜リクスとの積を
    めその結果を改めて保持する第1および第2のマトリク
    ス乗算・保持手段を形成し、 前記第1 J5よび第2のマトリクス乗算・保持手段は
    、ともに、前記第1のマ(・リクスレジスタ内の他方端
    の71ヘリクスレジスタJ3よび前記第2のマトリクス
    シフトレジスタ内の一方端のマトリクスレジスタに接続
    されており、 前記第3のマトリクス乗算手段は、2つの入力部がそれ
    ぞれ前記第3のマトリクスシフトレジスタ内の他方端の
    マトリクスレジスタと前記第1のマトリクス乗算・保持
    手段に接続されてd3す、出力部が前記第4のマトリク
    スジットレジスタ内の一方端のマトリクスレジスタに接
    続されてJ3す、前記第4のマトリクス乗算手段は、2
    つの入力部がそれぞれ前記第4のマトリクスシフトレジ
    スタ内の前記−万端の7ドリクスレジスタと前記第2の
    71−リクス乗粋・保持手段に接続されてJ3す、出力
    部が前記第3の71〜リクスシノトレジスタ内の前記他
    方端に接続されており、 前記制御手段は、前記WS 1ないし第4のマトリクス
    シフトレジスタを往復ジノ1へざUる、特許請求の範囲
    第13項記載のせコピアンマトリクス演算装置。 (15) 前記第1の[Yの71〜リクスレジスタは第
    1から第2Nの71ヘリクスレジスタを備え、ここで第
    1から第Nのマトリクスレジスタは相Uに直列に接続さ
    れており、第N (−1hl rら第2Nのマトリクス
    レジスタも相互に直列に接続されてd3す、さらに第N
    −1から第N 4−2のマトリクスレジスタは相互にル
    ープ状に接続されており、かつ第1のマトリクスレジス
    タは前記座標変換マトリクス演算手段に接続されており
    、 前記第2の群のマトリクスレジスタは第1から第2N−
    1の互いに直列に接続されIこ一、/1〜リクスレジス
    タを備え、ここで第1のマトリクス乗算スI)l(マ前
    記微分マトリクス演算手段に接続されており、 前記複数のマトリクス乗算手段は、 2つの入力部がそれぞれ前記第1の群の第N−1と第N
    のマトリクスレジスタに接続され、出力部が前記第1の
    群の第Nの71〜リクスレジスタに接続された第1のマ
    トリクス乗算1段と、2つの入力部がそれぞれ前記第1
    の群の第Nと第N+1のマトリクスレジスタに接続され
    、出ツノ部が前記第1のBYの第N +1のマトリクス
    レジスタに接続された第2のマトリクス乗算手段と、2
    つの入力部がそれぞれ前記第1の群の第Nのマトリクス
    レジスタと前記第2の群の第N−1のマトリクスレジス
    タに接続され、出ツノ部が前記第2の群の第Nのマトリ
    クスレジスタに接続された第3のマトリクス乗算手段と
    、 2つの入力部がそれぞれ前記第1の群の第N+1のマト
    リクスレジスタと前記第2の群の第N+1の71〜リク
    ス1ノジスタに接続され、出力部が前記第2の群の第N
    のマトリクスレジスタに接続された第4の71ヘリクス
    乗算手段とを備える、特許請求の範囲第13項記載のヤ
    ニ1ヒ′ア装マトリクス演緯B置。 (16) 前記第1d3よび第2の群のマトリクスレジ
    スタは、それぞれ、双1ノ向(ご循環可能な第1および
    第2の71〜リクス循環レジスタを形成しており、 前記複数のマトリクスレジスタは、第1および第2のマ
    トリクス@尊手段を備え、 前記第1の′?1〜リクス乗紳手段(ま、ン1〜リクス
    レジスタと組合わされて、既に保持していlこマトリク
    スと新た1こ入力されたマトリクスとの伯をめその結果
    を改めて保持するマ(・リクス東q・保持手段を形成し
    、 前記マトリクス乗算・保持手段(、、L、前記第1のマ
    トリクス循環レジスタ内の1つの71−リクスレジスタ
    の出力を入力とし、 前記第2のマトリクス循環レジスタで形成される循環ル
    ープは、ぞのループ内の1つのマトリクスレジスタの出
    力と前記マ[−リクス東算・保持手段の出力とを乗算す
    る前記第2のマトリクス乗算手段を経て閉じられてあり
    、 前記制御手段は、前記第1および第2のマトリクス循環
    レジスタを方向を変えて各々1循環ざUる、特許請求の
    範囲第13項記載のヤコビアンマ]・リクス演紳装置。 (17) 前記第1の群のマトリクスレジスタは第1か
    ら第N +1のマトリクスレジスタを偵1え、ここで第
    1から第Nのマトリクスレジスタは相方にループ状に接
    続されており、さらに第1から第N−1および第N+1
    のマトリクスレジスタも相互にループ状に接続されてお
    り、かつ第1のマトリクスレジスタは前記座標変換71
    〜リクス演算手段に接続されてJ3す、 前記第2の群のマトリクス1ノジスタは第1から第Nの
    互いにループ状に接続された71ヘリクスレジスタを備
    え、ここで第1の71〜リクスレジスタは前記微分マト
    リクス演算手段に接続されており、前記複数のマトリク
    ス乗算手段は、 2つの入力部がそれぞれ前記第1の群の第N=1と第N
    のマトリクスレジスタに接続され、出力部が前記第1の
    群の第Nの71〜リクスレジスタに接続された第1のマ
    トリクス乗算手段と、2つの入力部がそれぞ杓前記第1
    の11Yの第1と第N −)−1のマトリクスレジスタ
    に接続され、出力部が前記第1の群の第N +1のマト
    リクスレジスタに接続された第2のマトリクス乗算手段
    と、2つの入力部がそれぞれ前記第1の群の第Nのマト
    リクスレジスタと前記第2の群の第N−1のマトリクス
    1ジスタに、出ツノ部が前記第2の群の第Nのマトリク
    スレジスタに接続された第3のマトリクス乗算手段と、 2つの入力部がそれぞれ前記第1の群の第N−ト1のマ
    トリクスレジスタと前記第2の群の第1のマトリクスレ
    ジスタに接続され、出力部が前記、第2の群の第Nのマ
    [〜リクスレジスタに接続された第4のマトリクス乗算
    手段とを備える、特に’f’ 請求の範囲第13項記載
    のヤコビアンマトリクス演算装置。 (18) 複数Nの自由度をイJ′づる多関節ロボット
    の直角座標系での速度データを関節座標系での速度デー
    タに変換するのに用いるA7コビアンマトリクスをめる
    演算装置であって、 前記各自由度の動きに対応する関節座標系にJ3(プる
    座標変換71〜リクスM、2を自由度の数だ(請求める
    座標変換マトリクス演算手段と、 前記各自由度の座標変換マトリクスのその自由度の動き
    に関する微分マトリクスM、−をめる微分71〜リクス
    演算手段と、 前記座標変換マトリクス演算手段に接続されていて、前
    記自由度の数だ(プの座標変換マ]〜リクスを保持し、
    かつそれらのマトリクスを1つずつシフトして順次出力
    する第1のマトリクスシフトレジスタと、 前記微分71〜リクス演算手段に接続されていて、前記
    自由度の数だけの微分マトリクスを保持し、かつそれら
    のマトリクスを1つずつシフ1−シて順次出力づる第2
    のマトリクスシフトレジスタと、前記第1および第2の
    マトリクスシフトレジスタに接続されていて、そのいず
    れか一方からのマトリクスを切換えて出力するスイッチ
    手段と、2つの入力部を有し、それのそれぞれに人力さ
    れる71−リクスの積をめC槓マトリクスを出力するマ
    トリクス乗算手段と、 前記71−リクス乗算手段に接続されていて、前記積マ
    トリクスを保持しかつ出力Jるマトリクス1ジスタとを
    備え、ここで前記71−リクスレジスタは単位マトリク
    スに初19J化されることができ、そして前記マトリク
    ス乗算手段の一方の人力部は前記スイッチ手段の出ツノ
    部に接続され−Cおり、使方の入力部は前記マトリクス
    レジスタの出力部に接続されてJ3す、さらに 前記第1J3よび第2のマトリクスシフ1〜レジスタ、
    前記スイッチ手段、前記マトリクス乗算手段および前記
    71〜リクスレジスタに接続されていて、それらを制御
    することにより前記マトリクス乗Q手段において次式で
    表わされる積ントリクス1)う♂ がめられるようにする制御手段を備える、ヤコビアンマ
    トリクス演算装置。 ここで、jはOないしNの整数であり、IはOないしN
    の整数であり、Eは単位マトリクスである。 (19) 複数の自由度を有する多関節ロボットの直角
    座標系での速度データを関節座標系での速度データに変
    換することを含む用途に用いるA7コビアンマトリクス
    △の逆マトリクスBをめる演算方法であって、 S番目のVコピアンマトリクスIS独、その近似解であ
    る逆マトリクス、fとを用いて、71〜リクス[A(S
    1efS)1をめる第1のステップを備え、ここでSは
    任意の整数であり、さらに 6u記71〜リクス[〆’F3 ’Jど単位マトリクス
    1三どを用いてマトリクス[E−R1si8)]をめる
    第2のステップと、 前記マトリクス[E −N’B〜の各要素の自乗用を計
    算して請求める第3のステップ と、 前記マトリクスPの転置ントリクスΔ痢と、前記マトリ
    クス[E −A!5)B”lとを用いてマトリクスE 
    AT(5>(E −A”B”う]をめる第4のステップ
    と、前記マトリクス[△15(ビー△C’)I3<1)
    、 ]の各要素の自乗用を計算してスカラー吊ヒゝ牙求
    める第5のステップと、 前記スカp mVsよびUl−用いてスカラー化λc7
     請求める第6のスノーツブと、前ii[!諸n1を用
    いて次式【表わされる(Si2)番目の近似マトリクス
    [B 1をめる第7のステップとを備える、逆マトリク
    ス演粋ツノ法。 [13”1)] = [B ” ] −2(s) [A
     ”’ < 1 − A”+3’う ](]2) 複数
    の自由度を右づ−る条間pit Dホットの直角座標系
    での速度データを関節座標系での速度データに変換づる
    のに用いるヤコビアンマトリクスへの逆マトリクスBを
    める演fJl装置であって、 S番目のV二Iビアンマトリクス入s)を保持づる第1
    のマトリクスレジスタを備え、ここで・Sは任意の整数
    であり、さらに 前記マトリクスR1の近似解である逆71〜ソクス13
    〜保持づる第2のマトリクスレジスタと、前記第1およ
    び第2のマトリクスレジタに接続されていて、前記ヤコ
    ビアンマトリクスAと前記逆71−リクスBとを用いて
    、マトリクス[1’s”+をめる第1のマトリクス乗算
    手段と、 単位マトリクスEを与える初期化手段と、前記第1のマ
    トリクス乗算手段と前記初期化手段に接続されていて、
    前記マトリクス[lX5)s(9iと00記単位マトリ
    クスEとを用いてマトリクス[E−A”B”Jをめる第
    1のマトリクス減算手段と、前記第1のマトリクス減算
    手段に接続されていて、前記マトリクス[[−Δ(S)
    BC5)、の各要素の自乗用を51算して請求める第1
    の乗算・ 加算手段と、 前記第1のマトリクスレジスタと前記第1のマトリクス
    減算手段に接続されていて、前記マトリクス〆5)の転
    置マトリクス八〇勺と、前記マトリクス[E −、y(
    5J4S勺とを用いてマトリクス[AT(S) (E−
    バ11B町]をめる第2のマトリクス乗算手段と、前記
    第2の71−リクス乗算手段に接続されていて、前記マ
    トリクス1八T(J)(「−Ks)B(sう」の各要素
    の自乗用を計算して請求める第2 の乗絆・加算手段と、 前記第1および第2の乗算・加算手段に接続されていて
    、前記スカラーm Xl5)J−; 、J:びLJ’、
    i用いてスカラーffiλ(5% 請求める演算手段と
    。 前記第2のマトリクス東9手段、13よび前記演鋒手段
    に接続され−Cいて、前記71〜リクス[AT(S)(
    E −A”t’う] 63 、J:、 ’Cf 前記)
    、 カラー51 A’X 用イーCマトリクスλ(5)
    [A 7“’ < E −Z’+−io〉]をめる第3
    3の71へりクス乗算手段と、 前記第2の71〜リクスレシスタおよび前記第3の71
    −リクス乗算手段に接続されていて、前記マトリクスB
    と前記マトリクスλ町AT(S)(E −/<”Bo)
    ]を用いて次式で表わされる(s ト1)番Hの近似マ
    トリクス[B”’]をめる第2の71へりクス減算手段
    とを備える、逆マトリクス演p装肢。 [B=”] = [13” ] −、;+” [Δ1c
    ゛)< +ニー#’s’> J(21>−複数の自由度
    を有づる多関節fコボ・ントの直角座標系での速度デー
    タを関節座上:系での速度データに変換することを含む
    用途に用いるヤ]ピノノンマトリクスの逆マトリクスを
    める演算装置であって、 71〜リクスを保持ザる第1のマトリクスレジスタと、 71〜リクスを保持する第2の71〜リクスレジスタと
    、 2つの入力部を有し、その一方の入力部が前記第2のマ
    トリクスレジスタの出力部に接続されていて、人力の切
    換を行なうスイッチ手段と、2つの入力部を有し、それ
    らは前記スイッチ手段および前記第1のマトリクスレジ
    スタの出ツノ部にそれぞれ接続されていて、前記2つの
    人力部に入力される2つのマトリクスの乗算を行なう第
    1のマトリクス乗算手段と、 前記第1のマトリクス乗算手段の出力部に入力部が接続
    されていて、マI−リクスを保持する第3のマトリクス
    レジスタと、 141位マトリクスを与える初期化手段と、2つの人力
    部をイテし、それらは前記第3のマトリクスレジスタお
    よび前記初期化手段の出力部にそれぞれ接続されていて
    、前記2つの人力部に人力される2つの71〜リクス間
    の減算を行なう71〜リクス減算手段と、 前記マトリクス減算手段の出力部【こ人力部が接続され
    ていて、マトリクスを保持りる第4の71〜リクスレジ
    スタと、 2つの人力部を有し、それらか共に前記マトリクス減算
    手段の出力部に接続されていて、前記2つの入力部に人
    力されるマトリクスの各豊水の自乗用をめるマトリクス
    乗算・加粋手段と、2つの入ノJ部を有し、その一方の
    入力部が前記第3のマトリクスレジスタの出力部に接続
    されていて、前記2つの入力部に入力される2つの71
    〜リクスの乗nを行なう第2の71へりクス乗算手段と
    、 2つの入力部を有し、それらか前記第2のマトリクスレ
    ジスタJ3よび前記第2のマトリクスレジスタの出力部
    にそれぞれ接続されてい−く、出力部が前記第2のマト
    リクスレジスタの人力部に接続されていて、前記2つの
    入力部に人力される2つの71〜992間の減算を行な
    うマトリクス減算手段とを備える、逆マトリクス演算装
    置。 (22) 複数Nの自由度を右する多関節ロボットの直
    角座標系での速度データdxを関節座標系での速度デー
    タdαに変換する座標変換方法であって、 各自由度の動きをそれぞれ関節座標系におりる座標変換
    71〜リクスM、として表現する第1のスσ ブツプと、 前記各自由度の座標変換マトリクスのその自由度の動き
    に関する微分マトリクスM、−をめる第ケ 2のステップと、 前記座枠変換マトリクスM、J5よび前記微分マ? 1−リクスM、−を用いて次式で表わされる積マトリげ シス1寸 をめる第3のステップとを備え、ここで、j
    はOないしNの整数であり、1はOないしNの整数であ
    り、Eは単位マトリクスであり、ざらに 前記偵ントリクスbY からF−’1ビフ7ンマ1へリ
    クス△をめる第1のステップ′と、 S番目の前記ヤコビアンマトリクスΔcs匁、その近似
    解である逆マトリクス80乞を用いて、マトリクス[A
    ”B”]をめる第5のスーiツブとを備え、ここでSは
    任意の整数であり、さら(ご前記マトリクスc xts
    )B<sirと単位マトリクスEとを用いてマI−リク
    ス[E −ests’+をめる第6のステップと、 前記マトリクス[E −s’B”]の各各車の自乗用を
    泪粋してスカラー量ツ斐求める第7のステップ′と、 前記マトリクスAC1,7)転置ンi〜リクス△7(S
    )と、前記マトリクス[F 4”s町とを用いて、/1
    −リクス[A TLs’ (E A”B”) ] ヲI
    Cメロ 第8 ノス−7−ツブと、前記マトリクス[A
    T(S) ()E−だ]36う]の各些素の自乗用を計
    算してスカラー吊1づ(S)をめる第9のステップと、 前記スカラーm v’%よび()3%用い−Cスカラー
    Φλtsp 請求める第10のステップと、前記諸量を
    用いて次式で表わされる(s+1>番目の近似マトリク
    ス[B ””]をめる第11のステップと、 [B(Stl)]−[s C5) ] 7 cS) [
    A TCs)(E p、6)e(’)> ]前記マトリ
    クスBと前記直角座標系での速度データdXとの積をめ
    、それによって前記速度データdXを前記関節座標系で
    の速度データdαに変換する第12のステップとを備え
    る、座標変換方法。 (23) 複数Nの自由度を有する多関節ロボットの直
    角座標系での速度データdxを関節座標系での速度デー
    タd−7に変換する座標変換装置であって、 前記各自由度の動きに対応する関節座標系における座標
    変換マトリクスMj、を自由度の数だけめる座標変換マ
    トリクス演算手段と、 前記各自由度の座標変換マトリクスのその自由度の動き
    に関する微分マトリクスM、−をめる微分マトリクス演
    算手段と、 前記座標変換マトリクスをそれぞれ保持する、相互に接
    続された複数の第1の群の71〜リクスレジスタとを備
    え、ここで前記第1の群のマトリクスレジスタのうちの
    1つは前記座標変換マトリクス乗算手段に接続されてお
    り、ざらに、前記微分マトリクスをそれぞれ保持づ−る
    、相互に接続された複数の第2の群のマトリクスレジス
    タを備え、ここで前記第2のI(Yの71〜リクスレジ
    スタのうちの1つは前記微分71−リクス演紳手段に接
    続されてJ5す、さらに、 前記第1および第2の群のマトリクスレジスタ内の特定
    のマトリクスレジスタに接続されていて、2つのマトリ
    クス間の乗算を11すう複数のマトリクス乗算手段と、 前記第1および第2の群の71へりクスレジスタおよび
    前記71〜リクス乗粋手段に接続されていて、それらを
    制御することにより前記v′1〜リクス乗粋手段にJ5
    いて次式で表わされる積マトリクスbφ( がめられるようにづる制911手段とを備え、bi づ
    す、f、 xMj−1J ≠i 、 b ”、 = E
    同一1×M!・j=i ここで、jはOないしNの整数であり、1は0ないしN
    の整数であり、Eは単位マトリクスであり。 さらに、 前記第1の群のマトリクスレジスタのうちの1つおよび
    前記第2の群のマトリクスレジスタのうらの1つに接続
    されていて、前記梢ントリクスb)から得られるヤコビ
    アンマトリクスの逆マトリクスをめる逆マトリクス演梓
    手段と、 前記逆マ]〜リクス演樟手段に接続されていて、−前記
    逆マトリクスと前記直角座標系での速度デー→ り(I Xとの積をめ、それによって前記速度デー→ りdXを前記関節座標系での速度データdαに変換する
    乗算手段とを備える、外枠変換装置。 (24) 複数Nの自由度を有する多関節ロボットの直
    角座標系での速度データdxを関節座標系での速度デー
    タdαに変換ザる座標変換装置であって、 前記各自由度の動きに対応する関節座標系にお(プる座
    標変換マトリクスM・を自由度の数だけ「 める座標変換マトリクス演算手段と、 前記各自由度の座標変換マトリクスのモの自由度の動き
    に関づる微分マトリクスM、−をめる微分マトリクス演
    算手段と、 前記座標変換マトリクス演梓手段に接続されていて、前
    記自由度の数だ(プのPIIm変換ントリクスを保持し
    、かつそれらの71−リクスを1つずつシフトして順次
    出力する第1のン1〜リクスシノトレジスタと、 前記微分マトリクス乗算手段に接続されていて、前記自
    由度の数だけの微分マトリクスを保持し、かつそれらの
    マトリクスを1っす″ウシフトして順次出力づる第2の
    マトリクスシフトレジスタと、前記第1 iJ3よび第
    2のマトリクスシフトレジスタに接続されていて、その
    いずれか一方からのマトリクスを切換えて出力りるスイ
    ッヂ″J′段と、2つの入力部を有し、それのそれぞれ
    に入力されるマトリクスの積をめて槓v′f〜リクスを
    出力する第1のマトリクス乗算手段と、 前記第1のマトリクス乗算手段に接続されてぃて、前記
    積マトリクスを保持しかつ出力する第1のマトリクスシ
    フ1〜レジスタとを備え、ここで前記第1のマトリクス
    レジスタは単位マトリクスに初期化されることができ、
    そして前記第1のマトリクス乗算手段の一方の入力部は
    前記スイッヂ手段の出力部に接続されており、他方の入
    力部は前記第1のマトリクスレジスタの出力部に接続さ
    れており、さらに、 前記第1および第2のマトリクスシフトレシスタ、前記
    スイッヂ手段、前記第1のマトリクス乗偉手段ti J
    :び前記第1のマトリクスレジスタに接続されていて、
    それらを制御づることにより前記第1のマトリクス減算
    手段にa3いて次式で表わされる梢マトリクスbヒ が
    められるにうにする制と 御手段を備え、 ここで、jはOないしNの整数であり、iは0ないしN
    の整数であり、Eは単位マトリクスであり、さらに、 前記第1のマトリクスレジスタに接続されていて、前記
    積71へリクスピ から17られるS番目のと ヤコビフ7ンマ1〜リクス入S髪保持づる第2のマトリ
    クスレジスタを備え、ここ’(”SIよ4’f N、の
    整数(゛あり、さらに 前記マトリクスA6b近似解である逆71〜リクスB’
    %保持する第3のマj・リクスレジスタと、前記ヤコビ
    アン?i〜リクスΔ<f)、前記逆マトリクスB(52
    とを用いて、マトリクス[f 1了s)、をめる第2の
    71へりクス乗算手段と、 単位マトリクスEを与える初1(lJ化手段と、前記マ
    トリクス[、、u)B(sl、と前記単位71〜リクス
    [とを用いてントリクスし1−△!’L3”Jをめる第
    1のマトリクス減算手段と、 前記71−リクス[E−に’B ”+の各要素の自乗用
    をも1粋してスカラー吊イ俗求める第1の乗算・加算手
    段と、 前記マトリクスI)の転置マトリクスΔ丁(5)と前記
    マトリクスc E −A”80肖とを用いてマトリクス
    [A TL’) (F p、l5)B悔]をめる第3の
    マトリクス乗算手段と、 1jBQマド!、J ’) スCAT(s’(I三A”
    B”) ] U)各’fXYiの自乗用を31痺して請
    求める第2の 乗算・加算手段と、 前記スフJラーff1V(s)LJ3よびg(5用いて
    スカラー量λ’= v”) 請求める演算手段と、前記
    ? ト1,1 tyス[AT(’(E−A”B”) ]
     t3ヨヒ前記スカラー吊ノ〜用いてマトリクスλ(5
    )[ΔTtS) (’E、5c5)ocs)> ]をめ
    る第4のマトリクス乗算手段と、前記71ヘリクスB(
    sを前記マトリクスλ’Q[AT(S)(1三−△(s
    ′B(5))]を用いて次式ひ表わサレル(s +1)
    番Hの近似マトリクスc [3’S”)Iをめる第2の
    71〜リクス減埠手段と、 [r3”’)] = [13”] −、’I Cs) 
    [AT”(E−A”2 B”) −前記第2のマトリク
    ス減算手段の出力部に接続されていて、前記逆マトリク
    ス13ど前記直角座標系での速度データdXとの積をめ
    、それによって前記速度データdXを前記関節座標系で
    の速度データdαに変換する第5の71〜リクス乗算手
    段とを備える、座標変換装置。 く25) 複数Nの自由度を有づる多関節1コ小ツトに
    おいて、一般化力F1で表わされたラグランジェの運動
    方程式の逆問題を解く演算方法であって、 前記各自由度の動きをでれぞれ関節座標系における座標
    変換マトリクスM、とlノで表現する第1釦 のステップと。 前記各自由度の座標変換ン1ヘリクスのその自由度の動
    きに関づる1階の微分マトリクスM、−をめる第2のス
    テップと、 前記各自由度の座標変換71〜リクスのその自由度の動
    きに関する2階の微分71−リクスM、″をめる第3の
    ステップと、 前記各自由度の次式で表わされる慣性テンソルだ座標系
    から見た位置ベクトルC゛あり、dmは前記ロボットの
    各部分の微小部分の質量であり、「は転置マトリクスを
    意味しており、さらに前記各自由度の次式で表わされる
    重力マトリクリ ここで、gは重力加速度であり、さらに前記マトリクス
    Mよを用いて、次式で表わされる71ヘリクスa1をめ
    る第6のステップを備え、σ a、−a、X1vl 、a o =[T6 Lf−1d
    ” ここて、jはOないしNの整数であり、ビは中位マトリ
    クスであり、さらに 前記マ[−リクスM、およびM、′ を用いて、次式4
    式% で表わされる71〜リクスb? をめる第7のステケ ツブを備え、 ここで、iはOないしNの整数であり、さらに、前記マ
    トリクスbQ を用いてA7コビアンの逆マ1〜リクス
    Bをめる第8のステップと、前記逆マトリクスBを用い
    て、前記各自由度の関節座標系での速度マトリクスルを
    める第9のステップと、 前記マトリクスM、、lv1.’、aおよびんを用いe
    rr tr て、次式で表わされる71−リクスC・をめる第1Oの
    ステップと、 ・ 、λ Cと一0ζ−1刈町+8.−1xα、、請求める第11
    のステップと、 d・=d;−(XM、、 十〇r、xαi Mi’ケ +ai−1弓すMi、d・−〇 前記マトリクス〔1トを用いて、fTj記各白山1旦の
    関節座標系での加速度マ]〜リクスδをめる第12のス
    テップと、 前記マトリクスM、、 M、’ 、 aJjJ、びh・
    を用いr c r r て、次式で表わされるマトリクスC・をめる第13のス
    テップと、 c、 =c、−,xM、 +a、−7X(Z; Mi’
     、 c o −0前記マトリクスY、および計 を用
    いて、次式でI?を 表わされる一般化力F、3をめる第14のステップとを
    備え、 ここで、Trはトレースを意味し、さらに前記マトリク
    スC・a3よび1)′: および前記慣性デ1 、l− ンソルQ、を用いて、次式で表わされる一般化力F1′
    をめる第15のステップと、 前記−膜化力F+#3よび[13を加算することにより
    、前記−膜化力F1をめる第16のステップどを備える
    、運動方程式演梓方法。 〈26) 前記マトリクスd・J5 J:びIS’? 
    およびr ヶ 前記慣性テンソルQ・を用いて、次式で表わされると 一般化力[、′をめる第17のステップをざらにイイら
    え、 前記第16のステップにJ3いて、前記−膜化力F、’
     、F、’おにび「13を用いて次式で表ねされる演算
    を行なうことにより、前記−膜化ノノ[、がめられる、
    特許請求の範囲第25項記載の運動方稈式演算方法。 Fl・、F、I +、F、2→−F %く27) 複数
    Nの自由度を右する111関節ロボットにおいて、−膜
    化力F、で表わされたラグランジ1の運動方程式の逆問
    題を解く演算装置であって、 前記各自由度の動きをそれぞれ座標変操マトリクスM(
    rとして表現する第1の演算手段と、前記各自由度の座
    標変換71〜リクスのその自由度の動きに関づる1階の
    微分マトリクスM、′ をめる第2の演偉手段と、 前記各自由度のPJF!標変換マトリクスのその自由度
    の動きに関づる2 11’#の微分71−リクスM・″
    をめる第3の演算手段と、 前記マトリクスM、を用いて、次式(・表わされ( る71−リクスa・をめる第4の演算手段とを備え、a
    、=a、XM、、ao==1 r ナーta− ここで、Jは0ないしNの整数であり、Fは単位マトリ
    クスであり、さらに 前記71−リクスMc J5よびM、1 を用いて、次
    式ここで、iは0ないしNの整数であり、さらに、前記
    マトリクスbi″ を用いてヤコビアンの逆マトリクス
    Bをめる第6の演算手段と、 前記逆71ヘリクスBを用いて、前記各自由度の関節座
    標系での速度マトリクス五をめる第7の演舞手段と、 前記マトリクスM5. M、’ 、 a−dヅよびb・
    を用いr ケ rd′ て、次式で表わされるマトリクスcテ をめる第計 8の演算手段と、 c、=C,XM・+axaM・、co−Od 、r−1
    と i−I F ? 前記マトリクスMJ1M7.′1M−″、ai、ルiお
    よ享 びC1を用いて、次式で表わされるマトリクスdトをめ
    る第9の演算手段と、 d、; =dH−、x 町 −ト c、’−,x tl
    、 M;+a、−,x−Ha、 M、” 、 d a 
    = 0前記マトリクスd・を用いて、前記各自由度の関
    節座標系での加速度マトリクスt、をめる第10の演算
    手段と、 前記マトリクスM、、 M、’ 、 a、およびδ、を
    用いfr (t y て、次式で表わされるマトリクスC1をめる第1ζ 1の演算手段と、 c、=c、−、x町+a、−、x6.H町’ 、 CO
    =0δ 前記1コボット固有の各自由度の次式で表わされる71
    −リクスYおよび前記bQ を用いて、次式でσ ヶ 表わされる一般化力F、3をめる第12の演算ここで、
    9は重ツノ加速度であり、さらに前記マトリクスC1お
    よびbv および前記ロボッCと ト固有の各自由度の次式で表わされる慣性−jンソルQ
    、を用いて、次式で表わされる一般化カー:1′をめる
    113の演梓丁段を1111λ、−>に こで、×oは、1番目の前記自由度に固定された座標系
    から見た位置ベクトルであり、dmは前記ロボットの各
    部分の微小部分の貿R1であり、Tは転置マトリクスを
    意味し、さらに 前記一般化力F、IびF1″を加粋することににす、前
    記一般化力F1をめる第14の演算手段を佑える、運動
    方程式演算装置。 (28) 前記マトリクスdおよび1)9 および♂ 
    r 前記を6性テンソルQ、を用いて、次式で表わされる「 一般化力1::、2をめる第15の演算手段をざらにイ
    に6え、 F+’+Fi′および[二、3を用いて次式で表ねされ
    る演算を行なうことにより、前記一般化力F1がめられ
    る、特許請求の範囲第27項記載の運動方程式演算装置
    。 Fl =Fi ’ 十F+ ’ −+ Fl ”(29
    〉 前記各自由度の慣性−アンソルQ、J3よび重力マ
    トリクスY、をそれぞれ保持し、かつそれぐ らを1つずつシフトして出力するn51 ;J3よび第
    2のマトリクスシフトレジスタをさらに備え、前記第1
    ないし第3の演算手段は、それぞれ、N個のマトリクス
    を保持し、かつそれIうのマトリクスを1つずつシフ1
    〜して順次出力りる第3ないし第5のマトリクスシフト
    レジスタを備え、前記第4の演算手段は、 2つのマトリクスの積をめる第1のマトリクス乗算1段
    と、 前記第1のマトリクス東樟手段に接続されてイテ、マト
    リクスを保持する第1の71−リクスレジスタとを備え
    、ここで前記第1のン1〜リクスレジスタは単位マトリ
    クスに初期化されることができ、 前記第5の演算手段は、 2つの入〕Jを切替えて出力りる第1のスイッチ手段と
    、 前記第1のスイッチ手段に接続されていて、2つのマ[
    ・リクスの積をめる第2の71ヘリクス乗算手段と、 前記第2のマトリクス乗算子段に接続されていて、マト
    リクスを保持する第2のマトリクスレジスタとを備え、
    ここで前記第2のマトリクスレジスタは単位マトリクス
    にρ)期化されることができ、 前記第6の演算手段は、 マトリクスを保持する第3のマトリクスレジスタと、 マトリクスを保持する第4の71〜リクスレシスタと、 2つの入力部を有し、その一方の入力部が前記第4の7
    1〜リクスレジスタの出力部に接続されていて、入力の
    切換を行なう第2のスイッチ手段と、 2つの入ツノ部を有し、それらは前記第2のスイッチ手
    段J5よび前記第3のマトリクスレジスタの出力部にそ
    れぞれ接続されていて、前記2つの入力部に入力される
    2つのマトリクスの乗算を行なう第3の71へりクス乗
    樟手段と、 前記第3のマトリクス乗停丁段の出力部にパノノ部が接
    続されていて、マトリクスを保持づる第5の71ヘリク
    スレジスタと、 単位71ヘリクスを与える初期化手段と、2つの入力部
    を有し、それらは前記第5のマトリクスレジスタおよび
    1)う記初+11J化手段の出ツノ部にそれぞれ接続さ
    れていて、前記2つの入力部に入ツノされる2つのマト
    リクス間の減算を行なう第1のマトリクス減算手段と、 前記第1のマトリクス減f3手段の出力部に人ツノ部が
    接続されていて、マトリクスを保持する第6の71ヘリ
    クスレジスタと、 2つの入力部を有し、それらがハに前記第147) ?
     +−1) ’/ス減算手段の出力部に接続されていて
    、前記2つの入力部に入力されるマトリクスの各要素の
    自東和をめるマトリクス東Q・加の手段と、2つの入力
    部を有し、その−力の人力部が前記第5の71−リクス
    レジスタの出力部に接続されていて、前記2つの人力部
    に人力される2つのマトリクスの乗算を行なう第4のマ
    トリクス乗算手段と、 2つの入力部を有し、それらが前記第4の71ヘリクス
    乗算手段および前記第1のマトリクスレジスタの出力部
    にそれぞれ接続され、出力部が前記第4のマトリクスレ
    ジスタの人力部に接続されテイテ、前記2つの入力部に
    入力される2つの71ヘリクス間の減算を行なう第2の
    マトリクス減尊手段とを備え、 前記第7の演算手段は、第5のマトリクス乗算手段を備
    え、 前記第8の演算手段は、 それぞれが2つのマトリクスの積をめる第6ないし第8
    の71へりクス乗算手段を備え、ここで前記第6のマト
    リクス乗算手段の出力部は前記第7のマトリクス乗算手
    段の入力部に接続きれており、さらに 前記第7および第8のマトリクス乗算手段に接続されて
    いて、2つのマトリクスの和をめる第1のマトリクス加
    算手段と、 前記第1のマトリクス加算手段に接続されていて、マト
    リクスを保持する第7のマトリクスレジスタとを備え、
    ここで前記第7のマトリクスレジスタは単位マトリクス
    に初期化されることができ、 前記第9の演算手段は、 それぞれか2つのマトリクスのffiをめる第9ないし
    第12の71へりクス乗算手段を(lIhえ、ここで前
    記第9のマトリクス乗算手段の出ツノ部は前記第10の
    71−リクス乗算f段の入力部に接続されており、さら
    に それぞれが2つのマトリクスの和をめる第2および第3
    のマトリクス加算手段を備え、ここで前記第2のマトリ
    クス加算手段の2つの人力部は、前記第10および第1
    1のマ(〜リクス乗算手段の出ツノ部にそれぞれ接続さ
    れており、前記第3のマトリクス加算手段の入力部は前
    記第2のマトリクス加算手段および前記第12のマトリ
    クス乗算手段の出゛力部に接続されており、ざらに前記
    第3のマトリクス加算・1段に接続されていて、マトリ
    クス間保持する第8のマトリクスレジスタを備え、ここ
    で前記第8のマトリクスレジスタは単位マトリクスに初
    期化されることができ、前記第10の演算手段は、 2つのマトリクス間の減算を行なう第3のマトリクス減
    算手段と、 2つの71〜リクスの積をめる第13のマトリクス乗算
    手段とを備え、 前記第11の演算手段は、 それぞれが2つのマトリクスの積をめる第14ないし第
    16の71〜リクス乗算手段を備え、ここで前記第14
    のマトリクス乗算手段の出力部は前記第15のマトリク
    ス乗樟丁段の人力部に接続されており、さらに 前記第15J3よび第16のマトリクス乗算手段に接続
    されていて、2つのマトリクスの和をめる第4のマトリ
    クス加算手段と、 前記第4のマトリクス加算手段に接続されていて、マト
    リクスを保持づる第9のマトリクスレジスタとを備え、
    ここで前記第9のマトリクスレジスタは単位マトリクス
    にw期化されることができ、 前記第12の演算手段は、次のような演算を行なう第1
    のトレース演算手段を備え、 ΣTr [Cより、Tコ ケ ここで、CおよびDは任意の71〜リクスCあり、T 
    rはトレースを示し、■−は転置を示し、jGJ。 ないしNの整数であり、 前記第13の演算手段は、 2つのマトリクスの積をめる第17のントリクス乗算手
    段と、 前記第1のトレース演算手段と同一の機能を有する第2
    の1へレース演算手段とを備え、前記第14の演算手段
    は、 2つの71−リクスの積をめる第18のマトリクス乗算
    手段ど、 前記第1の1〜レ一ス演算手段ど同一の機能を右づる第
    3の1へレース演算手段とを備える、特許請求の範囲第
    28項記載の運動り稈式演算装置。 (30) 複数の自由度を有づる3関節ロボットの直角
    座標系での力データd F′を関節座標系でのトルクデ
    ータdτに変換する座標変換装置であって、 ヤコビアンマトリクスAの転置マトリクスATをめる演
    算手段と、 前記力データdFおよび前記転置マトリクス八〇を入力
    とし、それらの入ノ〕の積をめるマトリクス乗算手段と
    を備える、座標変換装置。
JP58183297A 1983-09-30 1983-09-30 多関節ロボットの制御のための座標変換方法,演算方法,座標変換装置および演算装置 Expired - Lifetime JPH0785203B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58183297A JPH0785203B2 (ja) 1983-09-30 1983-09-30 多関節ロボットの制御のための座標変換方法,演算方法,座標変換装置および演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58183297A JPH0785203B2 (ja) 1983-09-30 1983-09-30 多関節ロボットの制御のための座標変換方法,演算方法,座標変換装置および演算装置

Publications (2)

Publication Number Publication Date
JPS6075904A true JPS6075904A (ja) 1985-04-30
JPH0785203B2 JPH0785203B2 (ja) 1995-09-13

Family

ID=16133201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58183297A Expired - Lifetime JPH0785203B2 (ja) 1983-09-30 1983-09-30 多関節ロボットの制御のための座標変換方法,演算方法,座標変換装置および演算装置

Country Status (1)

Country Link
JP (1) JPH0785203B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6243710A (ja) * 1985-08-19 1987-02-25 シ−メンス、アクチエンゲゼルシヤフト ロボットの動作制御システム
WO1995002214A1 (fr) * 1993-07-05 1995-01-19 Tetsuaki Kato Procede de commande d'un servomoteur permettant d'affecter de la souplesse aux coordonnees de travail
JP2008126383A (ja) * 2006-11-24 2008-06-05 Toyota Motor Corp 関節駆動型ロボット、及びその制御方法
CN102886781A (zh) * 2011-07-18 2013-01-23 鲁东大学 一种控制多自由度工业机器人关节运动启停的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57120110A (en) * 1980-08-28 1982-07-27 Bendix Corp Controller for controlling motion of machine tools along space shaft
JPS57120112A (en) * 1980-12-22 1982-07-27 Fujitsu Ltd Locus control method of arm
JPS5829010A (ja) * 1981-08-04 1983-02-21 ドクトル・ヨハネス・ハイデンハイン・ゲゼルシヤフト・ミト・ベシユレンクテル・ハフツング 自由にプログラム可能な制御体におけるプログラム制御方法及び装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57120110A (en) * 1980-08-28 1982-07-27 Bendix Corp Controller for controlling motion of machine tools along space shaft
JPS57120112A (en) * 1980-12-22 1982-07-27 Fujitsu Ltd Locus control method of arm
JPS5829010A (ja) * 1981-08-04 1983-02-21 ドクトル・ヨハネス・ハイデンハイン・ゲゼルシヤフト・ミト・ベシユレンクテル・ハフツング 自由にプログラム可能な制御体におけるプログラム制御方法及び装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6243710A (ja) * 1985-08-19 1987-02-25 シ−メンス、アクチエンゲゼルシヤフト ロボットの動作制御システム
WO1995002214A1 (fr) * 1993-07-05 1995-01-19 Tetsuaki Kato Procede de commande d'un servomoteur permettant d'affecter de la souplesse aux coordonnees de travail
US5587638A (en) * 1993-07-05 1996-12-24 Fanuc Ltd. Flexible servo control method capable of specifying flexibility on working coordinates
JP2008126383A (ja) * 2006-11-24 2008-06-05 Toyota Motor Corp 関節駆動型ロボット、及びその制御方法
CN102886781A (zh) * 2011-07-18 2013-01-23 鲁东大学 一种控制多自由度工业机器人关节运动启停的方法

Also Published As

Publication number Publication date
JPH0785203B2 (ja) 1995-09-13

Similar Documents

Publication Publication Date Title
Vukobratovic et al. Applied dynamics and CAD of manipulation robots
US4580229A (en) Method and apparatus for control of an articulated robot
US5019968A (en) Three-dimensional vector processor
JP5349478B2 (ja) 逆運動学
US5187796A (en) Three-dimensional vector co-processor having I, J, and K register files and I, J, and K execution units
Bazaz et al. Minimum time on-line joint trajectory generator based on low order spline method for industrial manipulators
Fedák et al. Analysis of robotic system motion in SimMechanics and MATLAB GUI Environment
Legnani et al. A homogeneous matrix approach to 3D kinematics and dynamics—II. Applications to chains of rigid bodies and serial manipulators
Tsai et al. A strictly convergent real‐time solution for inverse kinematics of robot manipulators
JPS6075904A (ja) 多関節ロボットの制御のための座標変換方法,演算方法,座標変換装置および演算装置
Ren et al. Adaptive synchronized control for a planar parallel manipulator: theory and experiments
Craig Robotics
Tutsoy et al. Developing linear and nonlinear models of ABB IRB120 industrial robot with Maplesim multibody Modelling software
JP2645866B2 (ja) マニピュレータの制御方法および装置
Machado et al. Robot Manipulator Dynamics—Towards Better Computational Algorithms
Wang RIPS: A computer architecture for advanced robot control
Lauer et al. Transputer network controls robot axes
Müller A Modular Geometric Approach to Dynamics Modeling of Fully-Parallel PKM by Example of a Planar 3R PR Mechanism
Jones Modelling, simulation and identification of an industrial manipulator
Belzile et al. How to manipulate? Kinematics, dynamics and architecture of robot arms
Adrian et al. Forward and inverse kinematics applied to the parallel robot’s structure
Vasilic et al. Configuring a Class of Machines Based on Reconfigurable 2DOF Planar Parallel Mechanism
Śmiarowski Jr et al. A fast computer architecture for the control of robots
Gautier Real-Time Implementation of Dynamic Control of Robot
Le Dynamic Modeling and Control of a 6-DOF Parallel-Kinematic-Mechanism-Based Reconfigurable meso-Milling Machine Tool