JPH01127284A - ロボットの動作制御装置 - Google Patents
ロボットの動作制御装置Info
- Publication number
- JPH01127284A JPH01127284A JP28104787A JP28104787A JPH01127284A JP H01127284 A JPH01127284 A JP H01127284A JP 28104787 A JP28104787 A JP 28104787A JP 28104787 A JP28104787 A JP 28104787A JP H01127284 A JPH01127284 A JP H01127284A
- Authority
- JP
- Japan
- Prior art keywords
- sine
- robot
- cosine
- calculation
- values
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 82
- 230000009466 transformation Effects 0.000 claims abstract description 12
- 230000007246 mechanism Effects 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 22
- 238000012937 correction Methods 0.000 abstract description 4
- 230000001131 transforming effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 17
- 238000000034 method Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、ロボットの動作制御装置に係り、特に1例え
ば多関節形ロボットなど産業用ロボットの動作制御に必
要な座標変換演算を高速で実行するのに好適なロボット
の動作制御装置に関するものである。
ば多関節形ロボットなど産業用ロボットの動作制御に必
要な座標変換演算を高速で実行するのに好適なロボット
の動作制御装置に関するものである。
[従来の技術]
産業界に普及してきた産業用ロボット、特に多関節形の
ロボットのように、少なくとも1つの回転関節を有する
ロボット機構部を動作制御するためには、演算手段にお
ける座標変換演算を必要とする。
ロボットのように、少なくとも1つの回転関節を有する
ロボット機構部を動作制御するためには、演算手段にお
ける座標変換演算を必要とする。
多関節形のロボットの座標変換演算式は、−例として、
2関節の水平多関節形ロボットを例に示すと次のようで
ある。
2関節の水平多関節形ロボットを例に示すと次のようで
ある。
X = a 1cosθ1+ a 2cos(θ1+0
2)Y = a 1sinθ、+a、5in(θ□+0
2)ここでX、Yは、ロボットアーム先端の静止座標系
における位置成分、a工+ 82は多関節形ロボットの
第1および第2アームの長さ、θ1.θ2は第1関節お
よび第2関節の関節角である。
2)Y = a 1sinθ、+a、5in(θ□+0
2)ここでX、Yは、ロボットアーム先端の静止座標系
における位置成分、a工+ 82は多関節形ロボットの
第1および第2アームの長さ、θ1.θ2は第1関節お
よび第2関節の関節角である。
このような演算式の例は、例えば、特公昭61−296
4号公報、特開昭53−136258号公報に記載され
ている。
4号公報、特開昭53−136258号公報に記載され
ている。
したがって、ロボットを静止座標系基準で動作させるた
めには、ロボット制御装置に具備した演算手段により関
節角θ□、θ2を与えて位置成分ズ。
めには、ロボット制御装置に具備した演算手段により関
節角θ□、θ2を与えて位置成分ズ。
Yを求める演算、または逆に位置成分X、Yを与えて回
転角θ1.θ2を求める演算をオンラインで高速に処理
する必要がある。
転角θ1.θ2を求める演算をオンラインで高速に処理
する必要がある。
[発明が解決しようとする問題点]
上記の例では、2関節アームの簡単な例であるから、−
見演算量も少ないようにみえるが、三角関数値の演算は
それほど簡単なものではない、5〜6関節のロボットア
ームともなると、その演算はきわめて複雑で、演算負荷
は相当大きいものになる。そこで、複数の演算手段を設
け、演算負荷の低減をはかるとともに、さらに数値演算
能力の不足を補うために複数の数値演算専用プロセッサ
を併設するような工夫もなされている。しかし、このよ
うな数値演算プロセッサは高価であり、かつ、システム
構成が複雑になってしまうので、実質的に得られる効果
は低い。
見演算量も少ないようにみえるが、三角関数値の演算は
それほど簡単なものではない、5〜6関節のロボットア
ームともなると、その演算はきわめて複雑で、演算負荷
は相当大きいものになる。そこで、複数の演算手段を設
け、演算負荷の低減をはかるとともに、さらに数値演算
能力の不足を補うために複数の数値演算専用プロセッサ
を併設するような工夫もなされている。しかし、このよ
うな数値演算プロセッサは高価であり、かつ、システム
構成が複雑になってしまうので、実質的に得られる効果
は低い。
また、これを回避するために、数値演算専用プロセッサ
の演算アルゴリズムをロボットの制御装置の演算手段内
に実装しようとすると、このような数値演算プロセッサ
のアルゴリズムは、例えば、日経エレクトロニクス’
86−7−14のP171〜185に示されているよ
うに、関数を級数展開して関数値を演算するような手法
がとられているために、演算負荷が過大となるので、と
ても実装することができない。
の演算アルゴリズムをロボットの制御装置の演算手段内
に実装しようとすると、このような数値演算プロセッサ
のアルゴリズムは、例えば、日経エレクトロニクス’
86−7−14のP171〜185に示されているよ
うに、関数を級数展開して関数値を演算するような手法
がとられているために、演算負荷が過大となるので、と
ても実装することができない。
本発明は、上記問題点を解決するためになされたもので
1回転量節部の動作制御に必要な座標変換演算を通常の
制御装置の演算手段を用いて高速に実行し、演算手段の
演算負荷を低減し、特別な演算部を付加することも無く
システムの複雑化も無い、低価格で高性能のロボットの
動作制御装置を提供することを、その目的とするもので
ある。
1回転量節部の動作制御に必要な座標変換演算を通常の
制御装置の演算手段を用いて高速に実行し、演算手段の
演算負荷を低減し、特別な演算部を付加することも無く
システムの複雑化も無い、低価格で高性能のロボットの
動作制御装置を提供することを、その目的とするもので
ある。
[問題点を解決するための手段]
上記目的を達成するために1本発明に係るロボットの動
作制御装置の構成は、少なくとも1つの回転関節を有す
るロボット機構部と、そのロボット機構部の回転関節を
制御するための座標変換処理を行うべき動作制御部とを
備え、当該動作制御部には、少なくとも上記ロボット機
構部の1つの関節角を入力信号として起動するときに、
正弦値と余弦値とを同時に求めて出力しうる関数演算部
を設けたものである。
作制御装置の構成は、少なくとも1つの回転関節を有す
るロボット機構部と、そのロボット機構部の回転関節を
制御するための座標変換処理を行うべき動作制御部とを
備え、当該動作制御部には、少なくとも上記ロボット機
構部の1つの関節角を入力信号として起動するときに、
正弦値と余弦値とを同時に求めて出力しうる関数演算部
を設けたものである。
なお付記すると、関数演算部は、正弦値または正弦値お
よび余弦値の関数テーブルを具備し、その関数テーブル
によるテーブル検索と、検索したテーブル値の一次補間
とにより所要の正弦および余弦値を求めるようになって
いるものである。
よび余弦値の関数テーブルを具備し、その関数テーブル
によるテーブル検索と、検索したテーブル値の一次補間
とにより所要の正弦および余弦値を求めるようになって
いるものである。
[作用]
上記の技術的手段による働きは、下記のとおりである。
正弦値または正弦値および余弦値の関数テーブルは、1
タツチで正弦値または余弦値の近似値を与え、それに簡
単な1次補正を施すだけで要求される精度の正弦値また
は余弦値が得られるので、先に述べた従来技術の複雑な
演算方式にくらべ格段の演算速度の向上が得られる。
タツチで正弦値または余弦値の近似値を与え、それに簡
単な1次補正を施すだけで要求される精度の正弦値また
は余弦値が得られるので、先に述べた従来技術の複雑な
演算方式にくらべ格段の演算速度の向上が得られる。
前記関数テーブルは、具体的にはROM (リード オ
ンリイ メモリー)に格納されることになる。このRO
Mは、ロボット制御装置のプログラム格納エリアであり
、固定データ格納エリアでもあり、演算手段が通常にア
クセスするエリアであるから、システム構成を複雑にす
ることはなく、通常システムを何ら変更するものではな
い。
ンリイ メモリー)に格納されることになる。このRO
Mは、ロボット制御装置のプログラム格納エリアであり
、固定データ格納エリアでもあり、演算手段が通常にア
クセスするエリアであるから、システム構成を複雑にす
ることはなく、通常システムを何ら変更するものではな
い。
また、前記ROMのような半導体メモリの集積度は向上
する反面、低価格が急速に進んでいるから、かなり大容
量のテーブルを具備させても演算手段のコスト上昇はほ
とんどなく、かつ、制御表が大形化することもない。
する反面、低価格が急速に進んでいるから、かなり大容
量のテーブルを具備させても演算手段のコスト上昇はほ
とんどなく、かつ、制御表が大形化することもない。
さらに、回転関節の与えられた角度成分に対する正弦値
および余弦値を同時に求める演算アルゴリズムとするこ
とは、正弦の計算と余弦の計算が必ずペアで要求される
という特質を利用するものである。各々を個別に演算す
る場合にくらべ、例えばデータの前処理および後処理を
共通化できるなど、演算オーバーヘッドを低減でき、換
言すれば演算ロスを低減できるので、さらに−層の演算
の高速化が得られる。
および余弦値を同時に求める演算アルゴリズムとするこ
とは、正弦の計算と余弦の計算が必ずペアで要求される
という特質を利用するものである。各々を個別に演算す
る場合にくらべ、例えばデータの前処理および後処理を
共通化できるなど、演算オーバーヘッドを低減でき、換
言すれば演算ロスを低減できるので、さらに−層の演算
の高速化が得られる。
[実施例]
以下□、本発明の各実施例を第1図ないし第4図を参照
して説明する。
して説明する。
まず、第1図は、本発明の一実施例に係るロボットの動
作制御における演算処理手順を示すフローチャート図、
第2図は、第1図の演算処理に用いる関数値テーブルの
一例を示す正弦値テーブル図である。
作制御における演算処理手順を示すフローチャート図、
第2図は、第1図の演算処理に用いる関数値テーブルの
一例を示す正弦値テーブル図である。
ここで、本実施例の場合は、データ構成を次のように定
義する。
義する。
(i)正弦または余弦値
すなわち、正弦または余弦値=1.0は、16進表示で
100OOOOHとする。
100OOOOHとする。
(n)角度
0”: 000 0000H
90@ : 200 0000H
180”: 400 0000H
360″’: 800 0000H
すなわち、角度は Module 800 0000
Hで定義する。
Hで定義する。
ここで、第2図のテーブルは、角度O〜90’Cの範囲
の正弦値が与えられているテーブルとする。
の正弦値が与えられているテーブルとする。
ただし、データの定義範囲は、第2図に限定されるもの
ではなく、必要に応じて、O〜18o0の範囲、−90
@〜90°の範囲、−360@〜360’の範囲など、
システム設計要件、すなわち、要求演算速度との対比で
その実現しやすい形で準備すればよい。
ではなく、必要に応じて、O〜18o0の範囲、−90
@〜90°の範囲、−360@〜360’の範囲など、
システム設計要件、すなわち、要求演算速度との対比で
その実現しやすい形で準備すればよい。
また、正弦値のみではなく、余弦値テーブルを準備して
も良い。この場合については、後でさらに別の実施例に
ついて説明する。
も良い。この場合については、後でさらに別の実施例に
ついて説明する。
第2図のテーブルの構成は、角度 ooo 。
000H,0010000H,0020000H,・、
200 0000H(7)それぞレニ対する前記した小
数点仕様の正弦値が格納されているものとする。テーブ
ル構成もこれに限定されるものではなく、結果の要求精
度に応じてテーブル密度を粗くしても、逆にさらに精密
にしても良い。
200 0000H(7)それぞレニ対する前記した小
数点仕様の正弦値が格納されているものとする。テーブ
ル構成もこれに限定されるものではなく、結果の要求精
度に応じてテーブル密度を粗くしても、逆にさらに精密
にしても良い。
このようにテーブルを構成すると、指定された角度の下
位16ビツトを切り捨てた上位ビットの示す値がテーブ
ルのアドレスを与えることになる。
位16ビツトを切り捨てた上位ビットの示す値がテーブ
ルのアドレスを与えることになる。
したがって、下位16ビツトがOの場合、例えば角度0
03 0000Hの場合は、上位データ0003Hがテ
ーブルアドレスを与え、このアドレスのテーブルデータ
を検索することにより直接正弦値が求められる。下位1
6ビツトが0でない一般の場合、例えば角度003 0
058Hの場合は、上位データ0O03Hの示すテーブ
ルアドレスデータ25B2DH1および次のテーブルア
ドレスデータ3ED45Hを取り出し、次の1次補開演
算を施すことにより正弦値が求められる。
03 0000Hの場合は、上位データ0003Hがテ
ーブルアドレスを与え、このアドレスのテーブルデータ
を検索することにより直接正弦値が求められる。下位1
6ビツトが0でない一般の場合、例えば角度003 0
058Hの場合は、上位データ0O03Hの示すテーブ
ルアドレスデータ25B2DH1および次のテーブルア
ドレスデータ3ED45Hを取り出し、次の1次補開演
算を施すことにより正弦値が求められる。
SIN (0030058H)
=(テーブルアドレス003Hのデータ25B2DH)
+ [((下位ビットの減算ED45H−582DH)
* (角度の下位16ビツトデータ0058H))の演
算結果の上位16ビツト] 次に、余弦値を求める場合について説明する。
+ [((下位ビットの減算ED45H−582DH)
* (角度の下位16ビツトデータ0058H))の演
算結果の上位16ビツト] 次に、余弦値を求める場合について説明する。
正弦値と余弦値との間には次の関係がある。
cos(θ)=sin(90’−〇)
第2図の正弦テーブルは、0〜90°の範囲で構成され
ているから、上式は、テーブルデータの範囲では、 cos(θ) = sin (−〇) のようになる。したがって、余弦値を求める演算は、前
記した・角度のO〜90’の範囲のビットパターンを反
転した値をテーブル検索の基礎データとして用い、前記
した正弦値の求解演算と同様の演算を実行すれば良いこ
とがわかる。
ているから、上式は、テーブルデータの範囲では、 cos(θ) = sin (−〇) のようになる。したがって、余弦値を求める演算は、前
記した・角度のO〜90’の範囲のビットパターンを反
転した値をテーブル検索の基礎データとして用い、前記
した正弦値の求解演算と同様の演算を実行すれば良いこ
とがわかる。
以上に述べたテーブル構成およびテーブル検索法を用い
て、角度θを与えて正弦値sin (θ)および余弦値
cos (θ)を同時に得るアルゴリズムを、第1図の
フローチャートのブロックに従って説明する。
て、角度θを与えて正弦値sin (θ)および余弦値
cos (θ)を同時に得るアルゴリズムを、第1図の
フローチャートのブロックに従って説明する。
まず、演算手段は、ロボットの回転関節に係る関節角の
1.っθが指定された状態で起動される。
1.っθが指定された状態で起動される。
まず、ブロック10において、正弦値および余弦値の演
算に必要な前準備がなされる。次に、ブロック2oにお
いて、指定された関節角θの角度範囲がチエツクされる
。すなわち、関節角0が0〜906または180〜27
0’の範囲にある場合は、ブロック2101〜106に
示される演算手順が実行され、関節角θが90〜18o
°または270〜360°の範囲にある場合は、ブロッ
ク201〜206に示される演算手順が実行される。
算に必要な前準備がなされる。次に、ブロック2oにお
いて、指定された関節角θの角度範囲がチエツクされる
。すなわち、関節角0が0〜906または180〜27
0’の範囲にある場合は、ブロック2101〜106に
示される演算手順が実行され、関節角θが90〜18o
°または270〜360°の範囲にある場合は、ブロッ
ク201〜206に示される演算手順が実行される。
ここで、本実施例の場合は、関節角θは。
Module 800 0000 Hで表現されてい
るから、上記関節角のチエツクは、200 0000H
で示されるデータのビット位置の値がOであれば前者、
1であれば後者に分類することができる。
るから、上記関節角のチエツクは、200 0000H
で示されるデータのビット位置の値がOであれば前者、
1であれば後者に分類することができる。
次に、以上のように分類されたのちにブロック101〜
106を実行する手順を示す。
106を実行する手順を示す。
まず、ブロック101において、関節角が記憶される。
この場合、関節角データの範囲は、o。
0 0000H〜IFF FFFFH*たは4゜0
0000H〜3FF FFFFHであるから。
0000H〜3FF FFFFHであるから。
200 0000H以上の上位ビットを切り捨てれば、
O〜90”の角度が得られる(ブロック102)。
O〜90”の角度が得られる(ブロック102)。
次に、ブロック103において、この関節角を用いて、
前記したテーブル検索と1吹掃間により正弦値が求めら
れる。続いて角度データビットパターンの反転(ブロッ
ク104)、テーブル検索と補間により余弦値が求めら
れる(ブロック1゜5)。
前記したテーブル検索と1吹掃間により正弦値が求めら
れる。続いて角度データビットパターンの反転(ブロッ
ク104)、テーブル検索と補間により余弦値が求めら
れる(ブロック1゜5)。
最後に、記憶した関節角をもとに、ブロック106にお
いて、もし関節角が180〜27o°の範囲で指定され
ていた場合は、求められた正弦値および余弦値の符号を
反転して、最終の正弦値及び余弦値を得る。
いて、もし関節角が180〜27o°の範囲で指定され
ていた場合は、求められた正弦値および余弦値の符号を
反転して、最終の正弦値及び余弦値を得る。
ブロック201〜206を実行する手順もほぼ同様であ
るが、関節角範囲が異なるため、データのビットパター
ンが、前記とは逆となっている。
るが、関節角範囲が異なるため、データのビットパター
ンが、前記とは逆となっている。
したがって、演算順序が余弦値の演算、続いて正弦値の
演算と逆転している。結果の符号補正についても同様で
ある。
演算と逆転している。結果の符号補正についても同様で
ある。
以上説明したことかられかるように、従来のように正弦
値の演算、余弦値の演算を別々に行う場合に比べて、ブ
ロック10.20、およびブロック101,102,1
06またはブロック201゜202.206を共用化ま
たは1回の演算のみですますことができるので、前記し
たテーブル検索および補間手法にもとすく演算時間の短
縮を合わせて、大幅な演算時間の短縮が得られる。また
。
値の演算、余弦値の演算を別々に行う場合に比べて、ブ
ロック10.20、およびブロック101,102,1
06またはブロック201゜202.206を共用化ま
たは1回の演算のみですますことができるので、前記し
たテーブル検索および補間手法にもとすく演算時間の短
縮を合わせて、大幅な演算時間の短縮が得られる。また
。
同時に正弦値および余弦値がペアで得られるから、座標
変換演算自体もペアの正弦値、余弦値を利用でき、より
簡略化することができる。
変換演算自体もペアの正弦値、余弦値を利用でき、より
簡略化することができる。
ちなみに、本実施例で説明した内容を、クロック周波数
8MH1のマイクロプロセッサを演算手段として使用す
るロボット制御装置に実装したところ、テーブル容量2
にバイトを追加するのみで、演算時間42μsecが得
られた。これは、日経エレクトロニクス、’86−7−
14.P185の表2に示された16・67MHzの演
算専用プロセッサの演算時間23.0μsec*2→4
6μ513Cよりもクロックレートが半分であるにもか
かわらず高速であり、高価な演算プロセッサの必要性が
ないことが証明できた。
8MH1のマイクロプロセッサを演算手段として使用す
るロボット制御装置に実装したところ、テーブル容量2
にバイトを追加するのみで、演算時間42μsecが得
られた。これは、日経エレクトロニクス、’86−7−
14.P185の表2に示された16・67MHzの演
算専用プロセッサの演算時間23.0μsec*2→4
6μ513Cよりもクロックレートが半分であるにもか
かわらず高速であり、高価な演算プロセッサの必要性が
ないことが証明できた。
次に、第3図は1本発明の他の実施例に係るロボットの
動作制御における演算処理手順を示すフローチャート図
である。
動作制御における演算処理手順を示すフローチャート図
である。
本実施例では、演算はすべて浮動小数点演算方式で行う
ものとする。また、それに応じて、関節角の単位はラジ
アンとする。テーブルの構成は、第2図の例と同じであ
るが、そのテーブルに格納される数値は浮動小数点数値
である。また、テーブルの構成範囲は、先の実施例と違
ってO〜2πラジアンまでの関節角の単位はラジアンと
する。
ものとする。また、それに応じて、関節角の単位はラジ
アンとする。テーブルの構成は、第2図の例と同じであ
るが、そのテーブルに格納される数値は浮動小数点数値
である。また、テーブルの構成範囲は、先の実施例と違
ってO〜2πラジアンまでの関節角の単位はラジアンと
する。
テーブルの構成法は、第2図の場合と同じであるが、テ
ーブルに格納される数値は浮動小数点数値である。また
、テーブルの構成範囲は、前回と違ってO〜2πラジア
ンまでの関節角の正弦値テーブルと余弦値テーブルを準
備するものとする。ただし、この場合、正弦値テーブル
と余弦値テーブルを独立に設けても、正弦値と余弦値の
間の位相がπ/2ラジアンだけずれていることを利用し
て。
ーブルに格納される数値は浮動小数点数値である。また
、テーブルの構成範囲は、前回と違ってO〜2πラジア
ンまでの関節角の正弦値テーブルと余弦値テーブルを準
備するものとする。ただし、この場合、正弦値テーブル
と余弦値テーブルを独立に設けても、正弦値と余弦値の
間の位相がπ/2ラジアンだけずれていることを利用し
て。
大部分を共用するオーバーラツプテーブルを設けても良
い。このようなテーブル構成の考え方は、先の実施例に
ついても利用できることはもちろんであり、準備するテ
ーブルの角度範囲が大きいほど、先の実施例の場合の演
算量が少なくなることも容易に理解できよう。
い。このようなテーブル構成の考え方は、先の実施例に
ついても利用できることはもちろんであり、準備するテ
ーブルの角度範囲が大きいほど、先の実施例の場合の演
算量が少なくなることも容易に理解できよう。
本実施例では、上記テーブルの他に、さらに演算量を低
減するために定数βと種々のαに対するα/βのテーブ
ルを準備する。具体的内容は第3図のフローチャートを
参照して説明する。
減するために定数βと種々のαに対するα/βのテーブ
ルを準備する。具体的内容は第3図のフローチャートを
参照して説明する。
第3図の実施例でも、第1図の実施例の場合と同様に、
関節角の1つのθが指定された状態で演算手段が起動さ
れる。
関節角の1つのθが指定された状態で演算手段が起動さ
れる。
まず、ブロック501において、準備されているテーブ
ル範囲0〜2πに適合するようにθの値を制限しθ。を
得る。
ル範囲0〜2πに適合するようにθの値を制限しθ。を
得る。
次に、ブロック502において、
α:In上 II:θ*βコ
が計算される。ここでβは、テーブル分解能(テーブル
の粗さ)の逆数であり、かつ定数である。
の粗さ)の逆数であり、かつ定数である。
Int [・]は、[・]内の実数値の整数部をとるこ
とを意味する。θ本βの演算においては、後の演算精度
を確保するために、演算結果に四捨五入等の処理が加え
られるようになっていても良い。
とを意味する。θ本βの演算においては、後の演算精度
を確保するために、演算結果に四捨五入等の処理が加え
られるようになっていても良い。
得られるαの値は整数値であり、テーブル参照アドレス
を与えている。
を与えている。
次に、ブロック503において、αを用いたテーブル参
照によりα/βを得て、次の減算が行われる。
照によりα/βを得て、次の減算が行われる。
γ=θ。−α/β
ここにγは、テーブル分解能以下の関節角部分である。
次に、ブロック504において、αを用いたテーブル参
照により、正弦値sinαおよび余弦値cosαを得る
。ただし、正当な表記上は、sinαおよびcosαの
αは角度を表わすものでなければならなし1が、上記で
はテーブルアドレスαを流用して1する。
照により、正弦値sinαおよび余弦値cosαを得る
。ただし、正当な表記上は、sinαおよびcosαの
αは角度を表わすものでなければならなし1が、上記で
はテーブルアドレスαを流用して1する。
以下も同様である。
次にブロック505および506において、それぞれ次
の演算が行なわれ、sinθおよびeO8θが得られる
。
の演算が行なわれ、sinθおよびeO8θが得られる
。
= sin a÷γcos a
=CoSα−γsinαゞ
以上述べたように、第3図の実施例では、関節角をテー
ブル範囲に制限すること、テーブル参照3回、加減算3
回1乗算2回のみで、正弦および余弦値が同時に得られ
ることがわかる。本実施例の場合も、正弦、余弦を同時
に求める方式を採用することにより、第3図のブロック
501〜5゜4を共用化でき、テーブル参照による演算
時間の短縮に加えて、共用演算による演算時間の短縮効
果も大きいことは明らかである。
ブル範囲に制限すること、テーブル参照3回、加減算3
回1乗算2回のみで、正弦および余弦値が同時に得られ
ることがわかる。本実施例の場合も、正弦、余弦を同時
に求める方式を採用することにより、第3図のブロック
501〜5゜4を共用化でき、テーブル参照による演算
時間の短縮に加えて、共用演算による演算時間の短縮効
果も大きいことは明らかである。
また、第3図におけるブロック501は、ロボットの動
作範囲が通常、−π〜+πもしくは、過大に動作する場
合においても一2π〜+2πの範囲であることを考慮し
て、上記の関節角範囲をカバーするテーブル゛を準備す
るならば省略できる演算ステップであることも明白であ
る。
作範囲が通常、−π〜+πもしくは、過大に動作する場
合においても一2π〜+2πの範囲であることを考慮し
て、上記の関節角範囲をカバーするテーブル゛を準備す
るならば省略できる演算ステップであることも明白であ
る。
以上述べた実施例の演算処理は、複数の演算手段を設け
て演算の並列化方式を導入する方法をとると、さらに高
速化することも可能である。
て演算の並列化方式を導入する方法をとると、さらに高
速化することも可能である。
また、単能機の数値演算プロセッサにおいても、1個の
関節角入力に対して正弦値および余弦値を同時に演算出
力する機能を設ければ、演算プロセッサ自体の高機能化
、高速化が得られ、これをロボット用に使う場合には、
その効果が大なることも勿論である。
関節角入力に対して正弦値および余弦値を同時に演算出
力する機能を設ければ、演算プロセッサ自体の高機能化
、高速化が得られ、これをロボット用に使う場合には、
その効果が大なることも勿論である。
次に、このような演算処理手段を採用するロボットの動
作制御装置の総括的な実施態様を第4図を参照して説明
する。
作制御装置の総括的な実施態様を第4図を参照して説明
する。
第4図は、本発明の一実施例に係る多関節形口ポットの
動作制御装置のブロック図である。
動作制御装置のブロック図である。
第4図において、1は、少なくとも1つの回転関節を有
する水平多関節形ロボット(以下単にロボットという)
である。2は、このロボット1を駆動制御するための制
御装置であり、当該ロボット1とはパワーケーブルおよ
び信号ケーブルで接続されている。制御装置!2は、コ
ンソール3、演算手段4.1F!動回路5、および記憶
手段6からなっている。
する水平多関節形ロボット(以下単にロボットという)
である。2は、このロボット1を駆動制御するための制
御装置であり、当該ロボット1とはパワーケーブルおよ
び信号ケーブルで接続されている。制御装置!2は、コ
ンソール3、演算手段4.1F!動回路5、および記憶
手段6からなっている。
コンソール3は、ロボットを動作させたり、動作を教示
したりするための入力手段、また、これらの入力結果を
表示したり、ロボット1の動作状態を表示するための表
示手段等からなっている。
したりするための入力手段、また、これらの入力結果を
表示したり、ロボット1の動作状態を表示するための表
示手段等からなっている。
このほか、図示しないが、他のコンピュータとの通信手
段、周辺機器との通信手段等も接続されている。
段、周辺機器との通信手段等も接続されている。
演算手段4は、コンソール3からの入力支持にもとづき
、記憶手段の中に格納されている動作プログラム、動作
データを参照して、ロボットの動作制御信号を生成して
駆動回路5に送る。
、記憶手段の中に格納されている動作プログラム、動作
データを参照して、ロボットの動作制御信号を生成して
駆動回路5に送る。
駆動回路5は、演算手段4の指令にもとすき、ロボット
1にも対する駆動信号を生成し、ロボット1の各関節に
設けられたアクチュエータを駆動する。また、アクチュ
エータからのフィードバック信号、例えばエンコーダパ
ルス信号を演算手段4に送る。
1にも対する駆動信号を生成し、ロボット1の各関節に
設けられたアクチュエータを駆動する。また、アクチュ
エータからのフィードバック信号、例えばエンコーダパ
ルス信号を演算手段4に送る。
このように、演算手段4は、ロボット1の動作制御、外
部との通信、コンソール3との信号授受など、すべての
演算処理を実行するが、その基礎となるデータおよびプ
ログラムは記憶手段6内に格納されている。
部との通信、コンソール3との信号授受など、すべての
演算処理を実行するが、その基礎となるデータおよびプ
ログラムは記憶手段6内に格納されている。
記憶手段6内に格納されている情報は、7.7′・・・
、7′で示される幾つかの制御ブロックに分けることが
できる。それは例えば、ロボット1を動作制御するため
の動作制御部7、コンソールの指示を解読したり実行し
たりするコンソール制御部、・・・、ロボットの動作プ
ログラムの格納部、動作点の位置の格納部などに分けら
れる。
、7′で示される幾つかの制御ブロックに分けることが
できる。それは例えば、ロボット1を動作制御するため
の動作制御部7、コンソールの指示を解読したり実行し
たりするコンソール制御部、・・・、ロボットの動作プ
ログラムの格納部、動作点の位置の格納部などに分けら
れる。
本装置において、前述の演算処理の実行に関与する部分
は、動作制御部7であり、その下位レベルに正弦、余弦
処理部8が位置し、それに付属する形で関数テーブル部
9が設けられている。
は、動作制御部7であり、その下位レベルに正弦、余弦
処理部8が位置し、それに付属する形で関数テーブル部
9が設けられている。
したがって、演算手段4は、回転関節制御の要件に従っ
て動作制御部7の処理を実行するが、このとき、動作制
御部7は、回転関節を制御するための座標変換処理を行
うため、必要に応じて正弦。
て動作制御部7の処理を実行するが、このとき、動作制
御部7は、回転関節を制御するための座標変換処理を行
うため、必要に応じて正弦。
余弦処理部8を利用するものである。
本実施例によれば、ロボット制御装置内の演算手段が、
ロボットを動作制御する際の動作制御部の下位に、テー
ブル検索結果に簡単な一次補正を施すだけで正弦値、余
弦値が得られる正弦値または正弦値および余弦値の関数
テーブルを具備した関数演算部に係る正弦・余弦処理部
を設けるようにしたので、関節角を与えると、与えられ
た角度成分に対する正弦値および余弦値を同時に求める
ことが可能となり、回転関節を制御するための座標変換
処理に必要な正弦値および余弦値の演算を高速化するこ
とができる。
ロボットを動作制御する際の動作制御部の下位に、テー
ブル検索結果に簡単な一次補正を施すだけで正弦値、余
弦値が得られる正弦値または正弦値および余弦値の関数
テーブルを具備した関数演算部に係る正弦・余弦処理部
を設けるようにしたので、関節角を与えると、与えられ
た角度成分に対する正弦値および余弦値を同時に求める
ことが可能となり、回転関節を制御するための座標変換
処理に必要な正弦値および余弦値の演算を高速化するこ
とができる。
また、正弦値および余弦値が同時に得られることを利用
して他の演算アルゴリズムも簡略にできること等により
、演算手段の演算負荷を大幅に低減することが可能とな
った。
して他の演算アルゴリズムも簡略にできること等により
、演算手段の演算負荷を大幅に低減することが可能とな
った。
さらに、関数演算部を付加することによるコスト上昇、
システムの複雑化もなく、低価格、で、高性能のロボッ
トの動作制御装置が得られるという効果もある。
システムの複雑化もなく、低価格、で、高性能のロボッ
トの動作制御装置が得られるという効果もある。
なお、前述の各実施例では、水平多関節形ロボットの動
作制御装置に適用する演算手段について説明したが、本
発明はこれに限るものではなく、少なくとも1つの回転
関節を有するロボットにおける、回転関節を制御するた
めの座標変換処理を行うべき動作制御部に汎用的に適用
できることは言うまでもない。
作制御装置に適用する演算手段について説明したが、本
発明はこれに限るものではなく、少なくとも1つの回転
関節を有するロボットにおける、回転関節を制御するた
めの座標変換処理を行うべき動作制御部に汎用的に適用
できることは言うまでもない。
[発明の効果]
以上述べたように、本発明によれば、回転関節部の動作
制御に必要な座標変換演算を通常の制御装置の演算手段
を用いて高速に実行し、演算手段の演算負荷を低減し、
特別な演算部を付加することも無くシステムの複雑化も
無い、低価格で高性能のロボットの動作制御装置を提供
することができる。
制御に必要な座標変換演算を通常の制御装置の演算手段
を用いて高速に実行し、演算手段の演算負荷を低減し、
特別な演算部を付加することも無くシステムの複雑化も
無い、低価格で高性能のロボットの動作制御装置を提供
することができる。
第1図は、本発明の一実施例に係るロボットの動作制御
における演算処理手順を示すフローチャート図、第2図
は、第1図の演算処理に用いる関数値テーブルの一例を
示す正弦値テーブル図、態3図は、本発明の他の実施例
に係るロボットの動作制御部における演算処理手順を示
すフローチャート図、第4図は、本発明の一実施例に係
る多関節形ロボットの動作制御装置のブロック図である
。 1・・・ロボット、2・・・制御装置、4・・・演算手
段、5・・・駆動回路、6・・・記憶手段、7・・・動
作制御部、8・・・正弦、余弦処理部、9・・・関数テ
ーブル部。
における演算処理手順を示すフローチャート図、第2図
は、第1図の演算処理に用いる関数値テーブルの一例を
示す正弦値テーブル図、態3図は、本発明の他の実施例
に係るロボットの動作制御部における演算処理手順を示
すフローチャート図、第4図は、本発明の一実施例に係
る多関節形ロボットの動作制御装置のブロック図である
。 1・・・ロボット、2・・・制御装置、4・・・演算手
段、5・・・駆動回路、6・・・記憶手段、7・・・動
作制御部、8・・・正弦、余弦処理部、9・・・関数テ
ーブル部。
Claims (1)
- 【特許請求の範囲】 1、少なくとも1つの回転関節を有するロボット機構部
と、そのロボット機構部の回転関節を制御するための座
標変換処理を行うべき動作制御部とを備え、当該動作制
御部には、少なくとも上記ロボット機構部の1つの関節
角を入力信号として起動するときに、正弦値と余弦値と
を同時に求めて出力しうる関数演算部を設けたことを特
徴とするロボットの動作制御装置。 2、特許請求の範囲第1項記載のものにおいて、関数演
算部は、正弦値または正弦値および余弦値の関数テーブ
ルを具備し、その関数テーブルによるテーブル検索と、
検索したテーブル値の一次補間とにより所要の正弦およ
び余弦値を求めることを特徴とするロボットの動作制御
装置。 3、特許請求の範囲第1項記載のものにおいて、関数演
算部は、専用の数値演算プロセッサにより構成したこと
を特徴とするロボットの動作制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28104787A JPH01127284A (ja) | 1987-11-09 | 1987-11-09 | ロボットの動作制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28104787A JPH01127284A (ja) | 1987-11-09 | 1987-11-09 | ロボットの動作制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01127284A true JPH01127284A (ja) | 1989-05-19 |
Family
ID=17633561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28104787A Pending JPH01127284A (ja) | 1987-11-09 | 1987-11-09 | ロボットの動作制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01127284A (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS50124357A (ja) * | 1974-03-18 | 1975-09-30 | ||
JPS51132383A (en) * | 1975-05-12 | 1976-11-17 | Mitsubishi Electric Corp | Numeric value control device |
JPS612964A (ja) * | 1984-06-13 | 1986-01-08 | イリノイ ツール ワークス インコーポレイテツド | 駆動力伝達装置 |
-
1987
- 1987-11-09 JP JP28104787A patent/JPH01127284A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS50124357A (ja) * | 1974-03-18 | 1975-09-30 | ||
JPS51132383A (en) * | 1975-05-12 | 1976-11-17 | Mitsubishi Electric Corp | Numeric value control device |
JPS612964A (ja) * | 1984-06-13 | 1986-01-08 | イリノイ ツール ワークス インコーポレイテツド | 駆動力伝達装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10732601B2 (en) | Integrated controller for motion control and motor control | |
CN109676606B (zh) | 一种计算机械臂臂角范围的方法、机械臂及机器人 | |
EP0672507A1 (en) | Method for controlling the movements of an industrial robot at and near singularities | |
JPH079606B2 (ja) | ロボット制御装置 | |
JPH0310782A (ja) | ロボットの動作制御方法 | |
JPH01127284A (ja) | ロボットの動作制御装置 | |
JPS5911921B2 (ja) | 数値制御装置 | |
JPH01267706A (ja) | ロボットの制御方法 | |
JPH1158014A (ja) | 溶接ロボットのウィービング制御装置 | |
JPS59163609A (ja) | ロボツトハンドの径路補間方法 | |
CN115268447A (zh) | 基于贝塞尔曲线的机器人位姿控制方法、装置及电子设备 | |
CN116277039B (zh) | 机械臂过腕部奇异点的轨迹规划方法、系统、设备及介质 | |
JP2676721B2 (ja) | 多関節型ロボットの制御装置 | |
JP3099988B2 (ja) | ロボット制御装置 | |
JP2576176B2 (ja) | ロボットの制御方法 | |
CN117407630B (zh) | 协作机械臂求解肩肘角度逆运动学解析解系统 | |
JPS63132307A (ja) | ロボツトの制御方法 | |
JPS60204006A (ja) | ロボツトの制御装置 | |
JPS5924313A (ja) | 高速軌跡発生装置 | |
JPS5973289A (ja) | 多関節ロボツトの制御方法 | |
JPH04127386A (ja) | 画像表示処理装置 | |
JPS62295115A (ja) | ロボツトの制御方法 | |
JPH0637443Y2 (ja) | ロボットの制御装置 | |
JPH02126377A (ja) | 太線描画方式 | |
JPH0569354A (ja) | 多関節リンク機構制御装置 |