JPH01127284A - Operation controller for robot - Google Patents

Operation controller for robot

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
Application number
JP28104787A
Other languages
Japanese (ja)
Inventor
Minoru Kano
加納 稔
Masatsugu Kametani
亀谷 雅嗣
Akinobu Takemoto
明伸 竹本
Hironao Kamaya
弘直 釜谷
Ryoichi Hisatomi
久富 良一
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP28104787A priority Critical patent/JPH01127284A/en
Publication of JPH01127284A publication Critical patent/JPH01127284A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To calculate a coordinate transformation required for controlling the movement of a revolute joint at low cost and at high speed, by providing a function calculation section in a movement control section for outputting sine and cosine values at the same time when moving one joint angle of a robot mechanism as an input signal. CONSTITUTION: A motion control section 7 for transforming coordinates for controlling the revolute joint of a robot mechanism has a function calculation section having function tables of sine and cosine. The function tables give approximate values of sine or cosine by one touch and hence sine or cosine of desired accuracy can be determined at the same time by making simple primary corrections for the values. A high-performance robot operation control device 2 can be obtained at low cost by providing the function calculation section like this.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、ロボットの動作制御装置に係り、特に1例え
ば多関節形ロボットなど産業用ロボットの動作制御に必
要な座標変換演算を高速で実行するのに好適なロボット
の動作制御装置に関するものである。
[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to a motion control device for a robot, and in particular a device for high-speed execution of coordinate transformation calculations necessary for motion control of industrial robots such as articulated robots. The present invention relates to a robot motion control device suitable for controlling the robot motion.

[従来の技術] 産業界に普及してきた産業用ロボット、特に多関節形の
ロボットのように、少なくとも1つの回転関節を有する
ロボット機構部を動作制御するためには、演算手段にお
ける座標変換演算を必要とする。
[Prior Art] In order to control the operation of a robot mechanism having at least one rotary joint, such as industrial robots that have become popular in industry, especially multi-jointed robots, it is necessary to perform coordinate transformation calculations in calculation means. I need.

多関節形のロボットの座標変換演算式は、−例として、
2関節の水平多関節形ロボットを例に示すと次のようで
ある。
The coordinate transformation calculation formula for an articulated robot is - for example,
An example of a horizontal articulated robot with two joints is as follows.

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関節の関節角である。
X = a 1cos θ1+ a 2cos(θ1+0
2) Y = a 1sinθ, +a, 5in(θ□+0
2) Here, X, Y are the positional components of the robot arm tip in the stationary coordinate system, a + 82 is the length of the first and second arms of the articulated robot, θ1. θ2 is the joint angle of the first joint and the second joint.

このような演算式の例は、例えば、特公昭61−296
4号公報、特開昭53−136258号公報に記載され
ている。
An example of such an arithmetic expression is, for example,
No. 4 and Japanese Patent Application Laid-open No. 136258/1983.

したがって、ロボットを静止座標系基準で動作させるた
めには、ロボット制御装置に具備した演算手段により関
節角θ□、θ2を与えて位置成分ズ。
Therefore, in order to operate the robot based on a stationary coordinate system, the joint angles θ□ and θ2 are given by the calculation means provided in the robot control device, and the position components are calculated.

Yを求める演算、または逆に位置成分X、Yを与えて回
転角θ1.θ2を求める演算をオンラインで高速に処理
する必要がある。
Calculation to obtain Y, or conversely, give position components X and Y and calculate rotation angle θ1. It is necessary to process the calculation for determining θ2 online at high speed.

[発明が解決しようとする問題点] 上記の例では、2関節アームの簡単な例であるから、−
見演算量も少ないようにみえるが、三角関数値の演算は
それほど簡単なものではない、5〜6関節のロボットア
ームともなると、その演算はきわめて複雑で、演算負荷
は相当大きいものになる。そこで、複数の演算手段を設
け、演算負荷の低減をはかるとともに、さらに数値演算
能力の不足を補うために複数の数値演算専用プロセッサ
を併設するような工夫もなされている。しかし、このよ
うな数値演算プロセッサは高価であり、かつ、システム
構成が複雑になってしまうので、実質的に得られる効果
は低い。
[Problems to be solved by the invention] In the above example, since it is a simple example of a two-joint arm, -
Although the amount of calculations may appear to be small, the calculation of trigonometric function values is not that simple.For a robot arm with five or six joints, the calculations are extremely complex and the calculation load is quite large. Therefore, efforts have been made to provide a plurality of calculation means to reduce the calculation load, and also to provide a plurality of processors dedicated to numerical calculation in order to compensate for the lack of numerical calculation capability. However, such a numerical calculation processor is expensive and has a complicated system configuration, so that the practical effect obtained is low.

また、これを回避するために、数値演算専用プロセッサ
の演算アルゴリズムをロボットの制御装置の演算手段内
に実装しようとすると、このような数値演算プロセッサ
のアルゴリズムは、例えば、日経エレクトロニクス’ 
 86−7−14のP171〜185に示されているよ
うに、関数を級数展開して関数値を演算するような手法
がとられているために、演算負荷が過大となるので、と
ても実装することができない。
In addition, in order to avoid this, if an attempt is made to implement the calculation algorithm of a processor dedicated to numerical calculations within the calculation means of the robot control device, the algorithm of such a numerical calculation processor may be implemented, for example, by Nikkei Electronics'
As shown on pages 171 to 185 of 86-7-14, the method of calculating the function value by expanding the function into a series is used, so the calculation load becomes excessive, so it is difficult to implement it. I can't.

本発明は、上記問題点を解決するためになされたもので
1回転量節部の動作制御に必要な座標変換演算を通常の
制御装置の演算手段を用いて高速に実行し、演算手段の
演算負荷を低減し、特別な演算部を付加することも無く
システムの複雑化も無い、低価格で高性能のロボットの
動作制御装置を提供することを、その目的とするもので
ある。
The present invention has been made to solve the above-mentioned problems, and the coordinate transformation calculation necessary for controlling the operation of the one-rotation node is performed at high speed using the calculation means of a normal control device, and the calculation of the calculation means is performed at high speed. The purpose of this invention is to provide a low-cost, high-performance robot motion control device that reduces the load, does not require the addition of a special calculation unit, and does not complicate the system.

[問題点を解決するための手段] 上記目的を達成するために1本発明に係るロボットの動
作制御装置の構成は、少なくとも1つの回転関節を有す
るロボット機構部と、そのロボット機構部の回転関節を
制御するための座標変換処理を行うべき動作制御部とを
備え、当該動作制御部には、少なくとも上記ロボット機
構部の1つの関節角を入力信号として起動するときに、
正弦値と余弦値とを同時に求めて出力しうる関数演算部
を設けたものである。
[Means for Solving the Problems] In order to achieve the above object, a robot motion control device according to the present invention has a configuration including a robot mechanism section having at least one rotary joint, and a rotary joint of the robot mechanism section. and a motion control section that performs coordinate transformation processing to control the motion control section, and when the motion control section is activated with at least one joint angle of the robot mechanism section as an input signal,
A function calculation unit is provided that can simultaneously obtain and output a sine value and a cosine value.

なお付記すると、関数演算部は、正弦値または正弦値お
よび余弦値の関数テーブルを具備し、その関数テーブル
によるテーブル検索と、検索したテーブル値の一次補間
とにより所要の正弦および余弦値を求めるようになって
いるものである。
As an additional note, the function calculation section is equipped with a function table for sine values or sine values and cosine values, and calculates the required sine and cosine values by searching the table using the function table and performing linear interpolation of the searched table values. This is what has become.

[作用] 上記の技術的手段による働きは、下記のとおりである。[Effect] The operation of the above technical means is as follows.

正弦値または正弦値および余弦値の関数テーブルは、1
タツチで正弦値または余弦値の近似値を与え、それに簡
単な1次補正を施すだけで要求される精度の正弦値また
は余弦値が得られるので、先に述べた従来技術の複雑な
演算方式にくらべ格段の演算速度の向上が得られる。
The function table for sine value or sine value and cosine value is 1
The sine or cosine value with the required precision can be obtained by simply giving an approximate value of the sine or cosine value by touching and applying simple first-order correction to it. A significant improvement in calculation speed can be obtained.

前記関数テーブルは、具体的にはROM (リード オ
ンリイ メモリー)に格納されることになる。このRO
Mは、ロボット制御装置のプログラム格納エリアであり
、固定データ格納エリアでもあり、演算手段が通常にア
クセスするエリアであるから、システム構成を複雑にす
ることはなく、通常システムを何ら変更するものではな
い。
Specifically, the function table will be stored in a ROM (read only memory). This R.O.
Since M is a program storage area of the robot control device and a fixed data storage area, and is an area normally accessed by the calculation means, it does not complicate the system configuration and does not normally change the system in any way. do not have.

また、前記ROMのような半導体メモリの集積度は向上
する反面、低価格が急速に進んでいるから、かなり大容
量のテーブルを具備させても演算手段のコスト上昇はほ
とんどなく、かつ、制御表が大形化することもない。
In addition, while the degree of integration of semiconductor memories such as the ROM is improving, prices are also rapidly decreasing, so even if a fairly large capacity table is provided, there is almost no increase in the cost of the calculation means, and the control table does not become large in size.

さらに、回転関節の与えられた角度成分に対する正弦値
および余弦値を同時に求める演算アルゴリズムとするこ
とは、正弦の計算と余弦の計算が必ずペアで要求される
という特質を利用するものである。各々を個別に演算す
る場合にくらべ、例えばデータの前処理および後処理を
共通化できるなど、演算オーバーヘッドを低減でき、換
言すれば演算ロスを低減できるので、さらに−層の演算
の高速化が得られる。
Furthermore, the use of an arithmetic algorithm that simultaneously calculates the sine and cosine values for a given angular component of a rotational joint utilizes the characteristic that sine and cosine calculations are always required in pairs. Compared to calculating each separately, for example, data pre-processing and post-processing can be shared, reducing calculation overhead. In other words, calculation loss can be reduced, which further speeds up the calculation of the − layer. It will be done.

[実施例] 以下□、本発明の各実施例を第1図ないし第4図を参照
して説明する。
[Embodiments] Hereinafter, each embodiment of the present invention will be described with reference to FIGS. 1 to 4.

まず、第1図は、本発明の一実施例に係るロボットの動
作制御における演算処理手順を示すフローチャート図、
第2図は、第1図の演算処理に用いる関数値テーブルの
一例を示す正弦値テーブル図である。
First, FIG. 1 is a flowchart diagram showing arithmetic processing procedures in robot motion control according to an embodiment of the present invention.
FIG. 2 is a sine value table diagram showing an example of a function value table used in the arithmetic processing of FIG. 1.

ここで、本実施例の場合は、データ構成を次のように定
義する。
Here, in the case of this embodiment, the data structure is defined as follows.

(i)正弦または余弦値 すなわち、正弦または余弦値=1.0は、16進表示で
 100OOOOHとする。
(i) The sine or cosine value, that is, the sine or cosine value = 1.0, is expressed as 100OOOOOH in hexadecimal.

(n)角度 0”:  000 0000H 90@ :  200 0000H 180”:  400 0000H 360″’:  800 0000H すなわち、角度は Module  800 0000
Hで定義する。
(n) Angle 0": 000 0000H 90@: 200 0000H 180": 400 0000H 360"': 800 0000H In other words, the angle is Module 800 0000
Defined by H.

ここで、第2図のテーブルは、角度O〜90’Cの範囲
の正弦値が与えられているテーブルとする。
Here, the table of FIG. 2 is assumed to be a table in which sine values in the range of angles O to 90'C are given.

ただし、データの定義範囲は、第2図に限定されるもの
ではなく、必要に応じて、O〜18o0の範囲、−90
@〜90°の範囲、−360@〜360’の範囲など、
システム設計要件、すなわち、要求演算速度との対比で
その実現しやすい形で準備すればよい。
However, the definition range of the data is not limited to that shown in FIG.
Range of @~90°, range of -360@~360', etc.
It is sufficient to prepare in a form that is easy to realize in comparison with the system design requirements, that is, the required calculation speed.

また、正弦値のみではなく、余弦値テーブルを準備して
も良い。この場合については、後でさらに別の実施例に
ついて説明する。
Furthermore, instead of only sine values, a cosine value table may be prepared. Regarding this case, another embodiment will be described later.

第2図のテーブルの構成は、角度 ooo  。The configuration of the table in Figure 2 is angle ooo.

000H,0010000H,0020000H,・、
200 0000H(7)それぞレニ対する前記した小
数点仕様の正弦値が格納されているものとする。テーブ
ル構成もこれに限定されるものではなく、結果の要求精
度に応じてテーブル密度を粗くしても、逆にさらに精密
にしても良い。
000H, 0010000H, 0020000H,...
200 0000H (7) It is assumed that the sine value of the above-mentioned decimal point specifications for each Reni is stored. The table configuration is not limited to this, either, and the table density may be made coarser or more precise depending on the required precision of the results.

このようにテーブルを構成すると、指定された角度の下
位16ビツトを切り捨てた上位ビットの示す値がテーブ
ルのアドレスを与えることになる。
When the table is configured in this way, the value indicated by the upper bits of the specified angle, with the lower 16 bits discarded, gives the address of the table.

したがって、下位16ビツトがOの場合、例えば角度0
03 0000Hの場合は、上位データ0003Hがテ
ーブルアドレスを与え、このアドレスのテーブルデータ
を検索することにより直接正弦値が求められる。下位1
6ビツトが0でない一般の場合、例えば角度003 0
058Hの場合は、上位データ0O03Hの示すテーブ
ルアドレスデータ25B2DH1および次のテーブルア
ドレスデータ3ED45Hを取り出し、次の1次補開演
算を施すことにより正弦値が求められる。
Therefore, if the lower 16 bits are O, for example, the angle is 0.
In the case of 03 0000H, upper data 0003H gives a table address, and the sine value is directly obtained by searching the table data of this address. bottom 1
In the general case where 6 bits are not 0, for example, the angle 003 0
In the case of 058H, the sine value is obtained by taking out the table address data 25B2DH1 indicated by the upper data 0O03H and the next table address data 3ED45H, and performing the next linear compensation operation.

SIN (0030058H) =(テーブルアドレス003Hのデータ25B2DH)
+ [((下位ビットの減算ED45H−582DH)
* (角度の下位16ビツトデータ0058H))の演
算結果の上位16ビツト] 次に、余弦値を求める場合について説明する。
SIN (0030058H) = (Data 25B2DH of table address 003H)
+ [((subtraction of lower bits ED45H-582DH)
*(Lowest 16 bits of angle data 0058H))) Upper 16 bits of the calculation result] Next, the case of calculating the cosine value will be described.

正弦値と余弦値との間には次の関係がある。The following relationship exists between the sine value and the cosine value.

cos(θ)=sin(90’−〇) 第2図の正弦テーブルは、0〜90°の範囲で構成され
ているから、上式は、テーブルデータの範囲では、 cos(θ) = sin (−〇) のようになる。したがって、余弦値を求める演算は、前
記した・角度のO〜90’の範囲のビットパターンを反
転した値をテーブル検索の基礎データとして用い、前記
した正弦値の求解演算と同様の演算を実行すれば良いこ
とがわかる。
cos(θ)=sin(90'-〇) Since the sine table in Fig. 2 is configured in the range of 0 to 90°, the above formula can be expressed as cos(θ) = sin ( −〇). Therefore, to calculate the cosine value, use the value obtained by inverting the bit pattern in the angle range of 0 to 90' as the basic data for table search, and perform the same calculation as the calculation for solving the sine value described above. I know what's good.

以上に述べたテーブル構成およびテーブル検索法を用い
て、角度θを与えて正弦値sin (θ)および余弦値
cos (θ)を同時に得るアルゴリズムを、第1図の
フローチャートのブロックに従って説明する。
An algorithm for simultaneously obtaining a sine value sin (θ) and a cosine value cos (θ) by giving an angle θ using the table structure and table search method described above will be explained according to the blocks in the flowchart of FIG.

まず、演算手段は、ロボットの回転関節に係る関節角の
1.っθが指定された状態で起動される。
First, the calculation means calculates the joint angle of the rotary joint of the robot. It is started with θ specified.

まず、ブロック10において、正弦値および余弦値の演
算に必要な前準備がなされる。次に、ブロック2oにお
いて、指定された関節角θの角度範囲がチエツクされる
。すなわち、関節角0が0〜906または180〜27
0’の範囲にある場合は、ブロック2101〜106に
示される演算手順が実行され、関節角θが90〜18o
°または270〜360°の範囲にある場合は、ブロッ
ク201〜206に示される演算手順が実行される。
First, in block 10, the necessary preparations for calculating sine and cosine values are made. Next, in block 2o, the angular range of the specified joint angle θ is checked. That is, joint angle 0 is 0 to 906 or 180 to 27
If it is in the range of 0', the calculation procedures shown in blocks 2101 to 106 are executed, and the joint angle θ is in the range of 90 to 18 degrees.
or in the range of 270 to 360 degrees, the calculation procedures shown in blocks 201 to 206 are executed.

ここで、本実施例の場合は、関節角θは。Here, in the case of this example, the joint angle θ is.

Module  800 0000 Hで表現されてい
るから、上記関節角のチエツクは、200 0000H
で示されるデータのビット位置の値がOであれば前者、
1であれば後者に分類することができる。
Since it is expressed as Module 800 0000H, the above joint angle check is 200 0000H.
If the value of the bit position of the data indicated by is O, the former,
If it is 1, it can be classified as the latter.

次に、以上のように分類されたのちにブロック101〜
106を実行する手順を示す。
Next, after being classified as described above, blocks 101-
106 is shown below.

まず、ブロック101において、関節角が記憶される。First, in block 101, joint angles are stored.

この場合、関節角データの範囲は、o。In this case, the range of joint angle data is o.

0 0000H〜IFF  FFFFH*たは4゜0 
0000H〜3FF  FFFFHであるから。
0 0000H ~ IFF FFFFH * or 4゜0
Because it is 0000H to 3FF FFFFH.

200 0000H以上の上位ビットを切り捨てれば、
O〜90”の角度が得られる(ブロック102)。
If you cut off the upper bits of 200 0000H or more,
An angle of 0~90'' is obtained (block 102).

次に、ブロック103において、この関節角を用いて、
前記したテーブル検索と1吹掃間により正弦値が求めら
れる。続いて角度データビットパターンの反転(ブロッ
ク104)、テーブル検索と補間により余弦値が求めら
れる(ブロック1゜5)。
Next, in block 103, using this joint angle,
The sine value is determined by the table search and one sweep interval described above. Subsequently, the cosine value is determined by inverting the angle data bit pattern (block 104), table lookup, and interpolation (block 1.degree. 5).

最後に、記憶した関節角をもとに、ブロック106にお
いて、もし関節角が180〜27o°の範囲で指定され
ていた場合は、求められた正弦値および余弦値の符号を
反転して、最終の正弦値及び余弦値を得る。
Finally, based on the memorized joint angles, in block 106, if the joint angles are specified in the range of 180 to 27 degrees, the signs of the obtained sine and cosine values are reversed and the final Obtain the sine and cosine values of.

ブロック201〜206を実行する手順もほぼ同様であ
るが、関節角範囲が異なるため、データのビットパター
ンが、前記とは逆となっている。
The procedure for executing blocks 201 to 206 is almost the same, but since the joint angle ranges are different, the bit pattern of the data is opposite to that described above.

したがって、演算順序が余弦値の演算、続いて正弦値の
演算と逆転している。結果の符号補正についても同様で
ある。
Therefore, the order of operations is reversed: first the cosine value, then the sine value. The same applies to the sign correction of the result.

以上説明したことかられかるように、従来のように正弦
値の演算、余弦値の演算を別々に行う場合に比べて、ブ
ロック10.20、およびブロック101,102,1
06またはブロック201゜202.206を共用化ま
たは1回の演算のみですますことができるので、前記し
たテーブル検索および補間手法にもとすく演算時間の短
縮を合わせて、大幅な演算時間の短縮が得られる。また
As can be seen from the above explanation, compared to the conventional case where the calculation of the sine value and the calculation of the cosine value are performed separately, the block 10.20 and the blocks 101, 102, 1
06 or blocks 201, 202, and 206 can be shared or can be calculated only once, so the table search and interpolation methods described above can be combined with a shortened calculation time, resulting in a significant reduction in calculation time. can get. Also.

同時に正弦値および余弦値がペアで得られるから、座標
変換演算自体もペアの正弦値、余弦値を利用でき、より
簡略化することができる。
Since the sine and cosine values can be obtained as a pair at the same time, the coordinate transformation calculation itself can also be simplified by using the pair of sine and cosine values.

ちなみに、本実施例で説明した内容を、クロック周波数
8MH1のマイクロプロセッサを演算手段として使用す
るロボット制御装置に実装したところ、テーブル容量2
にバイトを追加するのみで、演算時間42μsecが得
られた。これは、日経エレクトロニクス、’86−7−
14.P185の表2に示された16・67MHzの演
算専用プロセッサの演算時間23.0μsec*2→4
6μ513Cよりもクロックレートが半分であるにもか
かわらず高速であり、高価な演算プロセッサの必要性が
ないことが証明できた。
By the way, when the content explained in this example is implemented in a robot control device that uses a microprocessor with a clock frequency of 8MH1 as a calculation means, the table capacity is 2.
By simply adding bytes to , a computation time of 42 μsec was obtained. This is Nikkei Electronics, '86-7-
14. The calculation time of the 16.67MHz calculation-dedicated processor shown in Table 2 on page 185 is 23.0μsec*2 → 4
Although the clock rate is half that of the 6μ513C, it is faster, and it has been proven that there is no need for an expensive arithmetic processor.

次に、第3図は1本発明の他の実施例に係るロボットの
動作制御における演算処理手順を示すフローチャート図
である。
Next, FIG. 3 is a flowchart showing arithmetic processing procedures in robot motion control according to another embodiment of the present invention.

本実施例では、演算はすべて浮動小数点演算方式で行う
ものとする。また、それに応じて、関節角の単位はラジ
アンとする。テーブルの構成は、第2図の例と同じであ
るが、そのテーブルに格納される数値は浮動小数点数値
である。また、テーブルの構成範囲は、先の実施例と違
ってO〜2πラジアンまでの関節角の単位はラジアンと
する。
In this embodiment, all calculations are performed using the floating point calculation method. Accordingly, the unit of joint angle is radian. The structure of the table is the same as the example in FIG. 2, but the numbers stored in the table are floating point numbers. Furthermore, unlike the previous embodiment, the range of the table ranges from 0 to 2π radians, with the unit of joint angle being radians.

テーブルの構成法は、第2図の場合と同じであるが、テ
ーブルに格納される数値は浮動小数点数値である。また
、テーブルの構成範囲は、前回と違ってO〜2πラジア
ンまでの関節角の正弦値テーブルと余弦値テーブルを準
備するものとする。ただし、この場合、正弦値テーブル
と余弦値テーブルを独立に設けても、正弦値と余弦値の
間の位相がπ/2ラジアンだけずれていることを利用し
て。
The table is constructed in the same way as in FIG. 2, but the numbers stored in the table are floating point numbers. In addition, the range of the table configuration is different from the last time, in which a sine value table and a cosine value table of joint angles from 0 to 2π radians are prepared. However, in this case, even if the sine value table and the cosine value table are provided independently, the phase difference between the sine value and the cosine value is shifted by π/2 radians.

大部分を共用するオーバーラツプテーブルを設けても良
い。このようなテーブル構成の考え方は、先の実施例に
ついても利用できることはもちろんであり、準備するテ
ーブルの角度範囲が大きいほど、先の実施例の場合の演
算量が少なくなることも容易に理解できよう。
An overlap table that shares most of the table may be provided. It goes without saying that this idea of table configuration can be used in the previous example as well, and it is easy to understand that the larger the angular range of the table to be prepared, the smaller the amount of calculations in the case of the previous example. Good morning.

本実施例では、上記テーブルの他に、さらに演算量を低
減するために定数βと種々のαに対するα/βのテーブ
ルを準備する。具体的内容は第3図のフローチャートを
参照して説明する。
In this embodiment, in addition to the above table, a table of α/β for a constant β and various α is prepared in order to further reduce the amount of calculation. The specific contents will be explained with reference to the flowchart in FIG.

第3図の実施例でも、第1図の実施例の場合と同様に、
関節角の1つのθが指定された状態で演算手段が起動さ
れる。
In the embodiment shown in FIG. 3, as in the embodiment shown in FIG.
The calculation means is activated with one of the joint angles θ being specified.

まず、ブロック501において、準備されているテーブ
ル範囲0〜2πに適合するようにθの値を制限しθ。を
得る。
First, in block 501, the value of θ is limited to match the prepared table range 0 to 2π. get.

次に、ブロック502において、 α:In上 II:θ*βコ が計算される。ここでβは、テーブル分解能(テーブル
の粗さ)の逆数であり、かつ定数である。
Next, at block 502, α:In on II:θ*β is calculated. Here, β is the reciprocal of the table resolution (table roughness) and is a constant.

Int [・]は、[・]内の実数値の整数部をとるこ
とを意味する。θ本βの演算においては、後の演算精度
を確保するために、演算結果に四捨五入等の処理が加え
られるようになっていても良い。
Int [•] means taking the integer part of the real value in [•]. In the calculation of θ and β, processing such as rounding may be added to the calculation result in order to ensure the accuracy of the subsequent calculation.

得られるαの値は整数値であり、テーブル参照アドレス
を与えている。
The obtained value of α is an integer value and provides a table reference address.

次に、ブロック503において、αを用いたテーブル参
照によりα/βを得て、次の減算が行われる。
Next, in block 503, α/β is obtained by table lookup using α, and the next subtraction is performed.

γ=θ。−α/β ここにγは、テーブル分解能以下の関節角部分である。γ=θ. −α/β Here, γ is the joint angle portion below the table resolution.

次に、ブロック504において、αを用いたテーブル参
照により、正弦値sinαおよび余弦値cosαを得る
。ただし、正当な表記上は、sinαおよびcosαの
αは角度を表わすものでなければならなし1が、上記で
はテーブルアドレスαを流用して1する。
Next, in block 504, a sine value sin α and a cosine value cos α are obtained by table lookup using α. However, in proper notation, α of sin α and cos α must represent an angle, which is 1, but in the above example, the table address α is used and is set to 1.

以下も同様である。The same applies below.

次にブロック505および506において、それぞれ次
の演算が行なわれ、sinθおよびeO8θが得られる
Next, in blocks 505 and 506, the following operations are performed, respectively, to obtain sinθ and eO8θ.

= sin a÷γcos a =CoSα−γsinαゞ 以上述べたように、第3図の実施例では、関節角をテー
ブル範囲に制限すること、テーブル参照3回、加減算3
回1乗算2回のみで、正弦および余弦値が同時に得られ
ることがわかる。本実施例の場合も、正弦、余弦を同時
に求める方式を採用することにより、第3図のブロック
501〜5゜4を共用化でき、テーブル参照による演算
時間の短縮に加えて、共用演算による演算時間の短縮効
果も大きいことは明らかである。
= sin a÷γcos a =CoSα−γsinαゞAs described above, in the embodiment shown in FIG.
It can be seen that the sine and cosine values can be obtained simultaneously with only one multiplication and two operations. In the case of this embodiment as well, by adopting the method of calculating sine and cosine at the same time, blocks 501 to 504 in FIG. It is clear that the time saving effect is also significant.

また、第3図におけるブロック501は、ロボットの動
作範囲が通常、−π〜+πもしくは、過大に動作する場
合においても一2π〜+2πの範囲であることを考慮し
て、上記の関節角範囲をカバーするテーブル゛を準備す
るならば省略できる演算ステップであることも明白であ
る。
In addition, block 501 in FIG. 3 sets the above joint angle range in consideration of the fact that the motion range of the robot is usually -π to +π, or even in the case of excessive motion, the range of -2π to +2π. It is also clear that this calculation step can be omitted if a covering table is prepared.

以上述べた実施例の演算処理は、複数の演算手段を設け
て演算の並列化方式を導入する方法をとると、さらに高
速化することも可能である。
The arithmetic processing of the embodiments described above can be further speeded up by providing a plurality of arithmetic means and introducing a method of parallelizing the arithmetic operations.

また、単能機の数値演算プロセッサにおいても、1個の
関節角入力に対して正弦値および余弦値を同時に演算出
力する機能を設ければ、演算プロセッサ自体の高機能化
、高速化が得られ、これをロボット用に使う場合には、
その効果が大なることも勿論である。
Furthermore, even in a single-function numerical processing processor, if a function is provided to simultaneously calculate and output sine and cosine values for one joint angle input, the processing processor itself can become more sophisticated and faster. , when using this for robots,
Of course, the effect will be greater.

次に、このような演算処理手段を採用するロボットの動
作制御装置の総括的な実施態様を第4図を参照して説明
する。
Next, a general embodiment of a robot motion control device employing such arithmetic processing means will be described with reference to FIG. 4.

第4図は、本発明の一実施例に係る多関節形口ポットの
動作制御装置のブロック図である。
FIG. 4 is a block diagram of an operation control device for an articulated spout pot according to an embodiment of the present invention.

第4図において、1は、少なくとも1つの回転関節を有
する水平多関節形ロボット(以下単にロボットという)
である。2は、このロボット1を駆動制御するための制
御装置であり、当該ロボット1とはパワーケーブルおよ
び信号ケーブルで接続されている。制御装置!2は、コ
ンソール3、演算手段4.1F!動回路5、および記憶
手段6からなっている。
In FIG. 4, 1 is a horizontal multi-jointed robot (hereinafter simply referred to as robot) having at least one rotational joint.
It is. 2 is a control device for driving and controlling the robot 1, and is connected to the robot 1 through a power cable and a signal cable. Control device! 2 is the console 3 and the calculation means 4.1F! It consists of a dynamic circuit 5 and a storage means 6.

コンソール3は、ロボットを動作させたり、動作を教示
したりするための入力手段、また、これらの入力結果を
表示したり、ロボット1の動作状態を表示するための表
示手段等からなっている。
The console 3 includes input means for operating the robot and teaching the robot to operate, display means for displaying the results of these inputs, displaying the operating state of the robot 1, and the like.

このほか、図示しないが、他のコンピュータとの通信手
段、周辺機器との通信手段等も接続されている。
In addition, although not shown, communication means with other computers, communication means with peripheral devices, etc. are also connected.

演算手段4は、コンソール3からの入力支持にもとづき
、記憶手段の中に格納されている動作プログラム、動作
データを参照して、ロボットの動作制御信号を生成して
駆動回路5に送る。
Based on the input support from the console 3, the calculation means 4 refers to the operation program and operation data stored in the storage means, generates a robot operation control signal, and sends it to the drive circuit 5.

駆動回路5は、演算手段4の指令にもとすき、ロボット
1にも対する駆動信号を生成し、ロボット1の各関節に
設けられたアクチュエータを駆動する。また、アクチュ
エータからのフィードバック信号、例えばエンコーダパ
ルス信号を演算手段4に送る。
The drive circuit 5 generates a drive signal for the robot 1 based on the command from the calculation means 4, and drives actuators provided at each joint of the robot 1. Further, a feedback signal from the actuator, such as an encoder pulse signal, is sent to the calculation means 4.

このように、演算手段4は、ロボット1の動作制御、外
部との通信、コンソール3との信号授受など、すべての
演算処理を実行するが、その基礎となるデータおよびプ
ログラムは記憶手段6内に格納されている。
In this way, the calculation means 4 executes all calculation processing such as controlling the operation of the robot 1, communicating with the outside, and exchanging signals with the console 3, but the data and programs that form the basis thereof are stored in the storage means 6. Stored.

記憶手段6内に格納されている情報は、7.7′・・・
、7′で示される幾つかの制御ブロックに分けることが
できる。それは例えば、ロボット1を動作制御するため
の動作制御部7、コンソールの指示を解読したり実行し
たりするコンソール制御部、・・・、ロボットの動作プ
ログラムの格納部、動作点の位置の格納部などに分けら
れる。
The information stored in the storage means 6 is 7.7'...
, 7'. These include, for example, a motion control section 7 for controlling the motion of the robot 1, a console control section for decoding and executing instructions from the console, a storage section for robot motion programs, and a storage section for storing operating point positions. etc.

本装置において、前述の演算処理の実行に関与する部分
は、動作制御部7であり、その下位レベルに正弦、余弦
処理部8が位置し、それに付属する形で関数テーブル部
9が設けられている。
In this device, the part involved in the execution of the arithmetic processing described above is the operation control section 7, and a sine and cosine processing section 8 is located at a lower level thereof, and a function table section 9 is provided attached thereto. There is.

したがって、演算手段4は、回転関節制御の要件に従っ
て動作制御部7の処理を実行するが、このとき、動作制
御部7は、回転関節を制御するための座標変換処理を行
うため、必要に応じて正弦。
Therefore, the calculation means 4 executes the processing of the motion control section 7 in accordance with the requirements for rotary joint control, but at this time, the motion control section 7 performs coordinate transformation processing for controlling the rotary joint, so as to Te sine.

余弦処理部8を利用するものである。This uses the cosine processing section 8.

本実施例によれば、ロボット制御装置内の演算手段が、
ロボットを動作制御する際の動作制御部の下位に、テー
ブル検索結果に簡単な一次補正を施すだけで正弦値、余
弦値が得られる正弦値または正弦値および余弦値の関数
テーブルを具備した関数演算部に係る正弦・余弦処理部
を設けるようにしたので、関節角を与えると、与えられ
た角度成分に対する正弦値および余弦値を同時に求める
ことが可能となり、回転関節を制御するための座標変換
処理に必要な正弦値および余弦値の演算を高速化するこ
とができる。
According to this embodiment, the calculation means in the robot control device
A function operation equipped with a sine value or a function table for sine and cosine values that can be used to obtain sine and cosine values by simply performing a simple primary correction on the table search results under the motion control unit when controlling the robot's motion. Since a sine/cosine processing unit is provided for the rotational joint, when a joint angle is given, it is possible to simultaneously obtain the sine and cosine values for the given angle component, and the coordinate transformation process for controlling the rotational joint is It is possible to speed up the calculation of sine and cosine values required for .

また、正弦値および余弦値が同時に得られることを利用
して他の演算アルゴリズムも簡略にできること等により
、演算手段の演算負荷を大幅に低減することが可能とな
った。
Furthermore, by utilizing the fact that sine and cosine values can be obtained simultaneously, other calculation algorithms can be simplified, making it possible to significantly reduce the calculation load on the calculation means.

さらに、関数演算部を付加することによるコスト上昇、
システムの複雑化もなく、低価格、で、高性能のロボッ
トの動作制御装置が得られるという効果もある。
Furthermore, the cost increases due to the addition of a function calculation section.
Another advantage is that a high-performance robot motion control device can be obtained at low cost and without complicating the system.

なお、前述の各実施例では、水平多関節形ロボットの動
作制御装置に適用する演算手段について説明したが、本
発明はこれに限るものではなく、少なくとも1つの回転
関節を有するロボットにおける、回転関節を制御するた
めの座標変換処理を行うべき動作制御部に汎用的に適用
できることは言うまでもない。
In each of the above-mentioned embodiments, the calculation means applied to the motion control device of a horizontal multi-joint robot has been described, but the present invention is not limited to this. Needless to say, the present invention can be generally applied to an operation control unit that performs coordinate transformation processing for controlling the .

[発明の効果] 以上述べたように、本発明によれば、回転関節部の動作
制御に必要な座標変換演算を通常の制御装置の演算手段
を用いて高速に実行し、演算手段の演算負荷を低減し、
特別な演算部を付加することも無くシステムの複雑化も
無い、低価格で高性能のロボットの動作制御装置を提供
することができる。
[Effects of the Invention] As described above, according to the present invention, the coordinate transformation calculation necessary for controlling the motion of a rotary joint can be executed at high speed using the calculation means of a normal control device, and the calculation load on the calculation means can be reduced. reduce
It is possible to provide a low-cost, high-performance robot motion control device without adding a special calculation unit or complicating the system.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は、本発明の一実施例に係るロボットの動作制御
における演算処理手順を示すフローチャート図、第2図
は、第1図の演算処理に用いる関数値テーブルの一例を
示す正弦値テーブル図、態3図は、本発明の他の実施例
に係るロボットの動作制御部における演算処理手順を示
すフローチャート図、第4図は、本発明の一実施例に係
る多関節形ロボットの動作制御装置のブロック図である
。 1・・・ロボット、2・・・制御装置、4・・・演算手
段、5・・・駆動回路、6・・・記憶手段、7・・・動
作制御部、8・・・正弦、余弦処理部、9・・・関数テ
ーブル部。
FIG. 1 is a flowchart showing arithmetic processing procedures in robot motion control according to an embodiment of the present invention, and FIG. 2 is a sine value table showing an example of a function value table used in the arithmetic processing of FIG. FIG. 3 is a flowchart showing the arithmetic processing procedure in the motion control unit of a robot according to another embodiment of the present invention, and FIG. 4 is a motion control device for an articulated robot according to an embodiment of the present invention. FIG. DESCRIPTION OF SYMBOLS 1... Robot, 2... Control device, 4... Arithmetic means, 5... Drive circuit, 6... Storage means, 7... Operation control unit, 8... Sine, cosine processing Part, 9...Function table part.

Claims (1)

【特許請求の範囲】 1、少なくとも1つの回転関節を有するロボット機構部
と、そのロボット機構部の回転関節を制御するための座
標変換処理を行うべき動作制御部とを備え、当該動作制
御部には、少なくとも上記ロボット機構部の1つの関節
角を入力信号として起動するときに、正弦値と余弦値と
を同時に求めて出力しうる関数演算部を設けたことを特
徴とするロボットの動作制御装置。 2、特許請求の範囲第1項記載のものにおいて、関数演
算部は、正弦値または正弦値および余弦値の関数テーブ
ルを具備し、その関数テーブルによるテーブル検索と、
検索したテーブル値の一次補間とにより所要の正弦およ
び余弦値を求めることを特徴とするロボットの動作制御
装置。 3、特許請求の範囲第1項記載のものにおいて、関数演
算部は、専用の数値演算プロセッサにより構成したこと
を特徴とするロボットの動作制御装置。
[Claims] 1. A robot mechanism unit having at least one rotary joint, and an operation control unit that performs coordinate transformation processing for controlling the rotation joint of the robot mechanism unit, and the operation control unit includes: A robot motion control device is provided with a function calculation section capable of simultaneously determining and outputting a sine value and a cosine value when activated using at least one joint angle of the robot mechanism section as an input signal. . 2. In the device described in claim 1, the function calculation unit includes a function table of sine values or sine values and cosine values, and performs table search using the function table;
A robot motion control device characterized in that required sine and cosine values are obtained by linear interpolation of retrieved table values. 3. The robot motion control device as set forth in claim 1, wherein the function calculation unit is constituted by a dedicated numerical calculation processor.
JP28104787A 1987-11-09 1987-11-09 Operation controller for robot Pending JPH01127284A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28104787A JPH01127284A (en) 1987-11-09 1987-11-09 Operation controller for robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28104787A JPH01127284A (en) 1987-11-09 1987-11-09 Operation controller for robot

Publications (1)

Publication Number Publication Date
JPH01127284A true JPH01127284A (en) 1989-05-19

Family

ID=17633561

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28104787A Pending JPH01127284A (en) 1987-11-09 1987-11-09 Operation controller for robot

Country Status (1)

Country Link
JP (1) JPH01127284A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50124357A (en) * 1974-03-18 1975-09-30
JPS51132383A (en) * 1975-05-12 1976-11-17 Mitsubishi Electric Corp Numeric value control device
JPS612964A (en) * 1984-06-13 1986-01-08 イリノイ ツール ワークス インコーポレイテツド Antifriction nut screw drive

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50124357A (en) * 1974-03-18 1975-09-30
JPS51132383A (en) * 1975-05-12 1976-11-17 Mitsubishi Electric Corp Numeric value control device
JPS612964A (en) * 1984-06-13 1986-01-08 イリノイ ツール ワークス インコーポレイテツド Antifriction nut screw drive

Similar Documents

Publication Publication Date Title
US10732601B2 (en) Integrated controller for motion control and motor control
EP0672507A1 (en) Method for controlling the movements of an industrial robot at and near singularities
CN109676606B (en) Method for calculating arm angle range of mechanical arm, mechanical arm and robot
JPH079606B2 (en) Robot controller
JPH09265313A (en) Speed arithmetic device for robot and speed arithmetic method for robot
JPH0310782A (en) Motion control method for robot
JPH01127284A (en) Operation controller for robot
JPS5911921B2 (en) numerical control device
JPH01267706A (en) Method for controlling robot
CN115268447A (en) Robot pose control method and device based on Bezier curve and electronic equipment
JPH1158014A (en) Weaving controller of welding robot
JPS59163609A (en) Route interpolating method of robot hand
CN116277039B (en) Method, system, equipment and medium for planning track of robot arm passing wrist singular point
JP2676721B2 (en) Control device for articulated robot
JP3099988B2 (en) Robot controller
CN117407630B (en) Inverse kinematics analysis and solution system for solving shoulder and elbow angles through cooperative mechanical arm
JP2576176B2 (en) Robot control method
JPS6327723B2 (en)
JPS63132307A (en) Controlling method for robot
JPS60204006A (en) Control device of robot
JPH01120628A (en) Data processor
JPS5924313A (en) High-speed locus generating device
JPS5973289A (en) Method of controlling multi-joint robot
JPH04127386A (en) Image display processor
JPS62295115A (en) Control method for robot