JP3341305B2 - Acceleration / deceleration pattern generation apparatus, acceleration / deceleration pattern generation method, and method for solving inverse kinematics problem and time axis correction method used for the same - Google Patents

Acceleration / deceleration pattern generation apparatus, acceleration / deceleration pattern generation method, and method for solving inverse kinematics problem and time axis correction method used for the same

Info

Publication number
JP3341305B2
JP3341305B2 JP19470192A JP19470192A JP3341305B2 JP 3341305 B2 JP3341305 B2 JP 3341305B2 JP 19470192 A JP19470192 A JP 19470192A JP 19470192 A JP19470192 A JP 19470192A JP 3341305 B2 JP3341305 B2 JP 3341305B2
Authority
JP
Japan
Prior art keywords
acceleration
curve
time
deceleration
value
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.)
Expired - Fee Related
Application number
JP19470192A
Other languages
Japanese (ja)
Other versions
JPH0619528A (en
Inventor
家年 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP19470192A priority Critical patent/JP3341305B2/en
Publication of JPH0619528A publication Critical patent/JPH0619528A/en
Application granted granted Critical
Publication of JP3341305B2 publication Critical patent/JP3341305B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、ロボット構造に依存す
ることのない汎用的なアルゴリズムにより動作制御の統
一化を図ることができる新規な加減速パターン生成装置
及び加減速パターン生成方法と、演算処理上の負担を軽
減するための逆運動学問題の解法及び時間軸補正方法を
提供しようとするものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a novel acceleration / deceleration pattern generation apparatus and method which can unify operation control by a general-purpose algorithm which does not depend on a robot structure, and an arithmetic operation. An object of the present invention is to provide a method of solving an inverse kinematics problem and a method of correcting a time axis to reduce a processing load.

【0002】[0002]

【従来の技術】ロボットに対する作業の教示に際して、
経路の端点だけを指定するか、あるいは所望の経路を指
定するかによってロボットの動作を分けたときに、PT
P(Poit To Poit)動作(又は制御)とC
P(Continuous Path)動作(又は制
御)とに分類することができる。
2. Description of the Related Art When teaching work to a robot,
When the robot operation is divided depending on whether only the end point of the route or the desired route is specified, the PT
P (Poit To Poit) operation (or control) and C
It can be classified into P (Continuous Path) operation (or control).

【0003】前者のPTP動作にあっては、ロボットの
移動経路上の重要な点のみを指定し、その点間の経路が
不問とされるのに対し、後者のCP動作ではロボットの
移動経路(以下、「CP経路」という。)を指定すると
ともに、この経路に沿ってロボットの手先位置を如何に
正確にトレースさせるかが問題になる。
[0003] In the former PTP operation, only important points on the movement path of the robot are designated, and the path between the points is unquestioned. In the latter CP operation, the movement path of the robot ( Hereafter, the problem is how to specify the “CP route”) and how to accurately trace the robot's hand position along this route.

【0004】また、点と点との間を直線や円弧で補間す
る機能をPTP動作に付加することによってロボットの
連続的な運動の再生が可能となっている。
Further, by adding a function of interpolating between points with a straight line or an arc to the PTP operation, continuous movement of the robot can be reproduced.

【0005】[0005]

【発明が解決しようとする課題】ところで、これまでの
CP制御のアルゴリズムは、ロボットの構造に関する依
存度が高いため、CP制御に係るソフトウェア資産の汎
用化や、標準化を図る上で支障を来すという問題があ
る。
However, the conventional CP control algorithms have a high degree of dependence on the structure of the robot, which hinders the generalization and standardization of software assets related to CP control. There is a problem.

【0006】例えば、直交型ロボットのCP制御に係る
ソフトウェアを、そのままの形、或いは、一部少数の変
更を加えるだけで垂直多関節型ロボット等の、他の構造
を有するロボットに適用することが困難であり、CP制
御のソフトウェアに係るシステム設計をロボット毎に個
別的に行わなければならない。
For example, software related to CP control of an orthogonal robot can be applied to a robot having another structure, such as a vertical articulated robot or the like in its original form, or by making only a small number of changes. It is difficult and it is necessary to individually design a system for CP control software for each robot.

【0007】よって、ロボットの性能が設計者の経験や
能力等によって左右され易いとか、また、仮に良好な成
果が得られたとしても、これを種類の異なるロボットに
適用する場合にそれが最良の方法であると確信すること
ができないといった不都合がある。
Therefore, the performance of a robot is likely to be influenced by the experience and ability of a designer, and even if good results are obtained, it is the best when this is applied to different types of robots. There is an inconvenience that the method cannot be convinced.

【0008】また、CP制御において従来から直線補間
時によく用いられている台形波状の加減速曲線(つま
り、その立ち上がり時に速度ゼロから所定の勾配をもっ
て直線的な速度の上昇をみせた後、一定速の定速区間を
経て減速時に所定の勾配をもって直線的に速度が減少し
てゼロになるような加減速パターンに対応する。)を採
用する場合において、加速度が不連続となる時点、例え
ば、加速の開始時点や減速の終了時点、加速期間から定
速期間への移行や定速期間から減速期間への移行の際の
速度変化点において衝撃が発生しやすいという問題があ
る。
Further, in the CP control, a trapezoidal wave-shaped acceleration / deceleration curve which has been conventionally often used in linear interpolation (that is, a linear speed rise with a predetermined gradient from zero speed at the rising time, and then a constant speed When the acceleration is discontinuous, for example, when the acceleration is discontinuous, for example, when the acceleration is discontinued, There is a problem that an impact is likely to occur at the start point of the start, the end point of the deceleration, and the speed change point at the transition from the acceleration period to the constant speed period or at the transition from the constant speed period to the deceleration period.

【0009】この問題は加減速曲線に係る単なる選択の
問題ではなく、与えられたCP経路に対してロボットの
能力を如何にして最大限に引出して、タクトタイムの短
縮化を図ることができるかという問題にも関わってい
る。
This problem is not merely a matter of selecting the acceleration / deceleration curve, but how the robot ability can be maximized for a given CP path to reduce the tact time. Is also involved in the problem.

【0010】つまり、CP制御中に不要な衝撃が生じて
動作がぎこちなくならないようにするためには、加減速
曲線をできるだけ滑らかな曲線にする必要があるという
認識を持っていても、これをロボットの個別的な要因に
依存することなく満足させるための加減速パターンを如
何にして生成するかといった方法論が確立されていない
ために、適正な加減速制御を行うために数々の試行錯誤
的要因が徘徊することになる。
In other words, in order to prevent the operation from becoming awkward due to the occurrence of unnecessary shocks during the CP control, even if it is necessary to make the acceleration / deceleration curve as smooth as possible, Because there is no established method of how to generate an acceleration / deceleration pattern to satisfy without depending on the individual factors, a number of trial and error factors are necessary to perform appropriate acceleration / deceleration control. You will wander.

【0011】このことはまたCP経路の接続にあたって
も問題となり、例えば、ある区間での直線補間から後続
区間での円弧補間へと移行させる際等において、衝撃を
伴うことなく移行を円滑に行う必要がある。
[0011] This also causes a problem in connection of the CP route. For example, when transitioning from linear interpolation in a certain section to circular interpolation in a subsequent section, it is necessary to smoothly perform the transition without impact. There is.

【0012】そして、CP制御は、一般に相当の計算量
を要する(例えば、ロボットの手先位置から関節状態を
求める逆運動学問題を解く場合)ため、計算時間の短縮
化を図り、実用上の支障を来さないようにすること、か
といって、求められている精度をないがしろにすること
なくこれを保証することも重要な課題となる。
The CP control generally requires a considerable amount of calculation (for example, when solving an inverse kinematics problem in which a joint state is determined from the position of a hand of a robot). It is also important to ensure that this does not occur, but to guarantee this without losing the required accuracy.

【0013】さらに、従来の制御システムでは、PTP
制御とCP制御とを統一的に取り扱うアルゴリズムが確
立されていないため、各制御に係る別個の処理ルーチン
を必要とするといった問題がある。
Further, in the conventional control system, the PTP
Since an algorithm for handling control and CP control unifiedly has not been established, there is a problem that a separate processing routine for each control is required.

【0014】[0014]

【課題を解決するための手段】そこで、上記した課題を
解決するために、本発明加減速パターン生成装置は、作
用点に対する制御の開始点と終了点及び/又は制御曲線
に関する指令を発する指令手段と、指令手段からの信号
に応じて制御曲線上での速度ピーク値の仮値を決定する
速度ピーク仮値決定手段と、速度ピーク値の仮値に基づ
いて加減速パターンを生成するとともに制御曲線を多数
の微小な長さのセグメントに分割して線素列を得る加減
速パターン生成/線素列計算手段と、順運動学問題を解
く際に座標系間の変換に使用される同次変換行列に対応
した演算要素を含むネガティブフィードバックのフィル
ター構成とされ、作用点に対する指令位置を与えてこれ
に対応する関節軸の状態を導き出す逆運動学問題解析手
段と、速度ピーク値の仮値に基づいて逆運動学問題解析
手段により得られる関節状態についての解をソフトウェ
ア処理によって構成される仮想サーボ系、つまり、現実
のサーボ系に対応する模擬的なサーボ系に与えることに
よってこれを計算手段として用いて制御精度を求めると
ともに、この制御精度が規定又は指定の精度に一致する
ように速度ピーク値の最適値を決定する最適速度ピーク
値決定手段と、速度ピーク値の最適値に基づいて関節状
態に係る再計算又は修正計算を行う補正手段とを備えた
ものである。
Therefore, in order to solve the above-mentioned problems, an acceleration / deceleration pattern generating apparatus according to the present invention is directed to a command means for issuing a command relating to a start point and an end point of control with respect to an action point and / or a control curve. A speed peak provisional value determining means for determining a provisional value of the speed peak value on the control curve in accordance with a signal from the command means; and an acceleration / deceleration pattern based on the provisional value of the speed peak value and a control curve. Pattern generation / line sequence calculation means for dividing a line into a number of minute length segments to obtain a line sequence, and solving a forward kinematics problem
Supports homogeneous transformation matrix used for transformation between coordinate systems
Negative feedback file containing calculated operation elements
This gives the command position to the action point and
Kinematics problem analysis means to derive the state of the joint axis corresponding to the speed, and inverse kinematics problem analysis based on the temporary value of the speed peak value
The solution for the joint state obtained by the means is given to a virtual servo system configured by software processing, that is, a simulated servo system corresponding to a real servo system, and is used as a calculation means. Means for determining the optimum value of the speed peak value so that the control accuracy matches the specified or specified accuracy, and the joint state based on the optimum value of the speed peak value. Correction means for performing such recalculation or correction calculation.

【0015】そして、この加減速パターン生成装置にお
いて、作用点位置から関節状態を求める逆運動学問題解
析手段は、関節状態から作用点の位置を求める順運動学
問題を解く際に使用される同次変換行列に対応した演算
要素と、動的なゲイン調整のための乗数要素と、ループ
安定化のための積分要素と、ループの収束速度を調整す
るのための定数要素とを含むネガティブフィードバック
のフィルター構成を有し、逆運動学問題解析手段への位
置情報の入力に対して、演算要素の前段から関節状態の
解を得ることができるように構成される。
In the acceleration / deceleration pattern generating apparatus, the inverse kinematics problem analysis means for obtaining the joint state from the action point position is used when solving a forward kinematics problem for obtaining the position of the action point from the joint state. Negative feedback including an operation element corresponding to the following transformation matrix, a multiplier element for dynamic gain adjustment, an integration element for loop stabilization, and a constant element for adjusting loop convergence speed. It has a filter configuration, and is configured so that a solution of the joint state can be obtained from the preceding stage of the operation element in response to the input of the position information to the inverse kinematics problem analysis means.

【0016】また、加減速パターン生成装置において、
加減速パターン生成/線素列計算手段は、制御曲線の曲
線長を計算する曲線長計算手段と、加減速曲線における
速度のピーク時点を曲線長に応じて決定する速度ピーク
時点決定手段と、速度のピーク時点に関する指令を受け
て関節軸に係る加速パターンを生成するとともに、減速
パターンの生成に際しては加速パターンに対して時間的
な対称操作を施すことによって時間的に折り返されたパ
ターンとして減速パターンを生成するパターン生成手段
と、加減速曲線の形状に応じて制御曲線を所定の時間刻
みに分割することによって線素列を計算する線素列計算
手段とを具備する。
In the acceleration / deceleration pattern generation device,
The acceleration / deceleration pattern generation / linear element sequence calculation means includes a curve length calculation means for calculating a curve length of the control curve, a speed peak time point determination means for determining a speed peak time point in the acceleration / deceleration curve according to the curve length, The acceleration pattern related to the joint axis is generated in response to the command regarding the peak point of the time, and the deceleration pattern is generated as a temporally folded pattern by performing a temporally symmetric operation on the acceleration pattern when generating the deceleration pattern. It comprises a pattern generating means for generating, and a line element sequence calculating means for calculating a line element string by dividing the control curve at predetermined time intervals according to the shape of the acceleration / deceleration curve.

【0017】このような加減速パターン生成装置におい
て、作用点を指定された制御曲線に沿って移動制御させ
るべく加減速パターンを生成するに際しては次のような
加減速パターン生成方法を採る。
In such an acceleration / deceleration pattern generation apparatus, the following acceleration / deceleration pattern generation method is used to generate an acceleration / deceleration pattern for controlling the movement of an action point along a designated control curve.

【0018】先ず、制御曲線に係る計算時間の最小単位
を決めた後、制御曲線の曲線長を求めて、該曲線長に対
応した速度のピーク時点を決定して加速パターンと減速
パターンとが時間的な対称性を有する加減速パターンを
生成するとともに、速度ピーク値の仮値をメモリー容量
の許容値に基づいて決定して制御曲線を計算時間の単位
時間間隔でもって分割することによって線素列を導出す
る。
First, after the minimum unit of the calculation time for the control curve is determined, the length of the curve of the control curve is determined, and the peak time point of the speed corresponding to the length of the curve is determined. A linear element sequence by generating an acceleration / deceleration pattern having dynamic symmetry, determining the provisional value of the speed peak value based on the allowable value of the memory capacity, and dividing the control curve at a unit time interval of the calculation time. Is derived.

【0019】そして、この線素列と作用点の位置指令に
係る情報に基づいて、順運動学問題を解く際に座標系間
の変換に使用される同次変換行列に対応した演算要素を
含むネガティブフィードバックのフィルター計算を行う
ことにより、作用点の位置を与えてこれに対応した関節
軸の状態を求める逆運動学問題を解く。その解をソフト
ウェア処理によって現実のサーボ系を模して構成される
仮想サーボ系に与えることによって制御精度を求めると
ともにこれと規定(デフォルト)又は指定の精度との大
小関係に基づいて速度ピーク値の最適値を決定する。
When solving the forward kinematics problem based on this line element sequence and the information relating to the position command of the action point , the coordinate system
The operation element corresponding to the homogeneous transformation matrix used for the transformation of
Perform filter calculations for negative feedback, including
By giving the position of the action point, the joint corresponding to this
Solve the inverse kinematics problem of finding the state of the axis. The control accuracy is obtained by giving the solution to a virtual servo system configured by imitating a real servo system by software processing, and based on a magnitude relationship between the control accuracy and a specified (default) or specified accuracy, a speed peak value is determined. Determine the optimal value.

【0020】それから、速度ピーク値の最適値に基づい
て関節状態の解に係る再計算又はこれに相当する修正計
算を行った結果をサーボ系への制御指令として送出す
る。
Then, based on the optimum value of the speed peak value, the result of recalculation or correction calculation corresponding to the solution of the joint state is sent as a control command to the servo system.

【0021】さらに逆運動学問題の解法としては、関節
軸の状態に対応した作用点の位置を求める順運動学問題
の解法にあたって使用される同次変換行列に対応した演
算要素と、動的なゲイン調整のための乗数要素と、ルー
プ安定化のための積分要素と、ループの収束速度を調整
するための定数要素とを含むネガティブフィードバック
のフィルターを構成することが前提となる。
Further, as a method of solving the inverse kinematics problem, an operation element corresponding to a homogeneous transformation matrix used in solving a forward kinematics problem for finding a position of an action point corresponding to a state of a joint axis, and a dynamic It is assumed that a negative feedback filter including a multiplier element for gain adjustment, an integral element for loop stabilization, and a constant element for adjusting the loop convergence speed is configured.

【0022】そして、制御曲線を最小計算時間間隔をも
って分割することによって得られる線素列と作用点の位
置情報を上記フィルターへの入力情報として与えてフィ
ルターに起動をかけ、ループでの収束を待って演算要素
の前段から関節軸の状態を求める。
Then, the line sequence obtained by dividing the control curve at the minimum calculation time interval and the position information of the action point are given as input information to the filter, the filter is started, and the convergence in the loop is awaited. The state of the joint axis is obtained from the previous stage of the calculation element.

【0023】このような手順を各関節軸に対して繰り返
すことによって最終的な逆運動学問題の解としての関節
状態を求める。
By repeating such a procedure for each joint axis, a joint state as a solution to the final inverse kinematics problem is obtained.

【0024】ところで、計算時間が最小単位をもって稼
動される制御システムにおいては、制御曲線を連続直線
として取り扱うことができず、実際の計算では有限差分
近似による離散化を伴うことになるが、作用点の軌跡と
指令された制御曲線との間で高い近似精度を保証するた
めに次のような時間軸補正方法を採る。
In a control system in which the calculation time is operated in the minimum unit, the control curve cannot be treated as a continuous line, and the actual calculation involves discretization by finite difference approximation. In order to guarantee a high approximation accuracy between the trajectory and the commanded control curve, the following time axis correction method is adopted.

【0025】先ず、加減速曲線において速度のピーク時
点や総移動時間が、計算時間の最小単位の整数倍の値と
なるように速度ピーク値や加速及び減速期間での移動距
離に修正を施して計算時間の最小単位をもって関節状態
を示すデータ列を標本化した後最小単位時間の間隔をも
って該データを保持する。
First, in the acceleration / deceleration curve, the speed peak value and the moving distance during the acceleration and deceleration periods are modified so that the peak time of the speed and the total moving time are integer multiples of the minimum unit of the calculation time. After sampling the data string indicating the joint state with the minimum unit of the calculation time, the data is held at the minimum unit time interval.

【0026】それから制御曲線を計算時間の最小単位の
時間間隔でもって分割して得られる線素列の長さと、加
減速曲線の形状との間に成立する距離の関係に基づく計
算によって関節状態を示すデータ列に対応した新たな時
間列を計算時間の最小単位にとらわれることなく生成す
る。
Then, the joint state is calculated by a calculation based on the relationship between the length of the line element sequence obtained by dividing the control curve at the time interval of the minimum unit of calculation time and the shape of the acceleration / deceleration curve. A new time sequence corresponding to the indicated data sequence is generated without being bound by the minimum unit of calculation time.

【0027】そして、新たな時間列と関節状態を示すデ
ータ列の組に対して、計算時間の最小単位による再標本
化を施すことによって時間的に等間隔に配置された関節
状態の情報を得る。
Then, by re-sampling the set of the new time sequence and the data sequence indicating the joint condition by the minimum unit of the calculation time, the information of the joint condition arranged at equal intervals in time is obtained. .

【0028】[0028]

【作用】本発明によれば、CP制御において基本的に制
御曲線の長さに応じた速度ピーク時点が規定される加減
速パターンを生成するとともに、制御曲線に係る線素列
を算出してこれと制御曲線上の位置指令に基づいて逆運
動学問題の解としての関節状態を知ることができるの
で、ロボット系を構成するアーム等の組み合わせが如何
なるものになろうと各関節軸を同等に取り扱うことがで
き、ロボットの構造上の違いに起因して加減速パターン
生成に係るアルゴリズムに大幅な変更を余儀なくされる
といった不都合が解消される。
According to the present invention, in the CP control, an acceleration / deceleration pattern that basically defines a speed peak time point corresponding to the length of the control curve is generated, and a line element sequence related to the control curve is calculated. It is possible to know the joint state as a solution to the inverse kinematics problem based on the position command on the control curve and, therefore, treat each joint axis equally regardless of the combination of the arms etc. that compose the robot system This eliminates the inconvenience that the algorithm relating to the generation of the acceleration / deceleration pattern must be largely changed due to the difference in the structure of the robot.

【0029】そして、本発明では逆運動学問題の解析に
あたって、順運動学問題の解法に係る演算要素を利用す
ることでこれにロボット構造を反映させ、該演算要素を
含むネガティブフィードバックフィルターの計算処理を
通して逆運動学問題解を求めることができるので、アル
ゴリズムが理論的に明確であり、この点について設計者
の能力や経験等が割り込む余地(例えば、逆運動学問題
を事前に数学的に解く方法として幾何学的な方法を採る
かあるいは代数学的な方法を採るかの選択基準等)が非
常に少なくなるので加減速曲線の生成に係るアルゴリム
の汎用性が高く、また、計算処理を四則演算及び三角関
数計算程度で行うことができるため計算時間の短縮化や
CPUの処理負担の軽減を図ることができる。
In the present invention, when analyzing the inverse kinematics problem, the operation structure relating to the solution of the forward kinematics problem is used to reflect the robot structure, and the negative feedback filter including the operation element is calculated. Can solve the inverse kinematics problem through, so the algorithm is theoretically clear, and there is room for the designer's ability and experience to intervene in this point (for example, a method to solve the inverse kinematics problem mathematically in advance) The versatility of the algorithm for generating the acceleration / deceleration curve is high, and the calculation process is performed by four arithmetic operations. In addition, since the calculation can be performed by about the trigonometric function calculation, the calculation time can be reduced and the processing load on the CPU can be reduced.

【0030】また、本発明では、加減速パターンの生成
方法において、作用点を指定された制御曲線に沿って精
度良く移動させるために、標本化に際して時間軸補正を
行っており、これによって加減速曲線の生成や速度制御
等に要する計算処理上の負担を減らして処理の高速化に
答えることができる他、この時間軸補正を介在させるこ
とによってCP制御のアルゴリズムの基本部分には何等
変更を加えることなく単にCP制御の曲線長に係る変数
から軸移動量に係る変数への類推的な置換を行うことに
よって容易にPTP制御を実現することができ、両制御
に係る統一化された処理システムを構築することができ
る。
In the present invention, the generation of the acceleration / deceleration pattern
In the method, the time axis is corrected at the time of sampling in order to move the action point along the specified control curve with high accuracy , so that the computational load required for generating an acceleration / deceleration curve, speed control, etc. In addition to being able to respond to faster processing by reducing the time axis correction, the axis movement from the variable related to the curve length of the CP control is simply performed without making any changes to the basic part of the CP control algorithm by interposing this time axis correction. PTP control can be easily realized by performing analogical substitution with variables relating to quantities, and a unified processing system for both controls can be constructed.

【0031】[0031]

【実施例】以下に、本発明加減速パターン生成装置及び
加減速パターン生成方法、並びにこれに用いる逆運動学
問題の解法と時間軸補正方法について詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, an acceleration / deceleration pattern generation apparatus and an acceleration / deceleration pattern generation method of the present invention, and a method of solving an inverse kinematics problem and a method of correcting a time axis used therein will be described in detail.

【0032】本発明の基本的な考え方には、加減速曲線
の生成に係るアルゴリズムと、ロボットの手先位置から
アーム系の状態に関する解を求めるアルゴリズムとが密
接に関連しており、これらを基礎としてさらに進んだ議
論が展開されることになるので、以下では、装置の構成
を説明する前にこれらの基本事項について順次説明して
いくことにする。
The basic concept of the present invention is that an algorithm for generating an acceleration / deceleration curve is closely related to an algorithm for obtaining a solution relating to the state of the arm system from the position of the hand of the robot. Since further discussions will be developed, these basic items will be sequentially described below before describing the configuration of the apparatus.

【0033】先ず、加減速パターンの生成に係るアルゴ
リズムを図3乃至図11に従って説明する。
First, an algorithm for generating an acceleration / deceleration pattern will be described with reference to FIGS.

【0034】図3に示す制御曲線a(以下、「CP曲
線」という。)はロボットの作用点が始点Sから終点E
にかけて描く軌跡を示すものである。
A control curve a (hereinafter, referred to as a “CP curve”) shown in FIG.
This shows the locus drawn over.

【0035】CP曲線a上の任意の点をPiとし、ロボ
ットの基軸又は地面に固定した直交座標系での表現をP
i(xi,yi,zi)(i=0、1、2・・・、N
(自然数)であり、i=0の時に始点Sに一致し、i=
Nの時に終点Eに一致する)と定義する。
An arbitrary point on the CP curve a is defined as Pi, and an expression in a rectangular coordinate system fixed to the base axis of the robot or the ground is defined as P
i (xi, yi, zi) (i = 0, 1, 2,..., N
(Natural number), coincides with the starting point S when i = 0, and i =
At the time of N, coincides with the end point E).

【0036】また、点Piと始点Sとの間のCP曲線a
の長さを「l」とし、CP曲線aの全長を「L」とす
る。
A CP curve a between the point Pi and the starting point S
Is "1", and the total length of the CP curve a is "L".

【0037】そして、CP曲線aをN個の線素に分割し
た場合のn番目の線素の長さを「Δln」とすると、C
P曲線aを線素列{Δl1,Δl2,Δl3,・・・,
ΔlN}(以下、「{Δln}」と略記す。)に対応付
けることができる。
If the length of the n-th line element when the CP curve a is divided into N line elements is “Δln”, then C
The P curve a is represented by a line element sequence {Δ1, Δ12, Δ13,.
ΔlN} (hereinafter abbreviated as “{Δln}”).

【0038】尚、この写像において、線素列が分割セグ
メントの長さだけを情報とすることから明らかなよう
に、線素列がCP曲線aの形状的特徴までをも代表する
ものではないことには注意を要する(つまり、曲線から
線素列への写像が上への1対1写像になっていないこと
は、始点Sと終点Eとを通る直線に関してCP曲線aに
線対象操作を施した曲線についても同様の線素分解によ
り同じ系列の線素列が得られることから明かであ
る。)。
In this mapping, the line element sequence does not represent the shape characteristic of the CP curve a, as is clear from the fact that the line element sequence uses only the length of the segment. (In other words, the fact that the mapping from the curve to the line element sequence is not a one-to-one mapping above means that the line object operation is performed on the CP curve a with respect to the straight line passing through the start point S and the end point E. It is clear that the same series of line element sequences can be obtained by performing the same line element decomposition for the curved line.)

【0039】また、時間軸を表すパラメーターを「t」
とし、サンプリング(標本化)時間を「Ts」、加減速
曲線において、加速開始時点から速度がピーク値に達す
るまでに要する時間(以下、「速度ピーク到達時間」と
いう。)を「Tp」とする。以上の諸量の定義を下記の
[表1]に示す。
The parameter representing the time axis is represented by "t".
The sampling (sampling) time is “Ts”, and the time required for the speed to reach the peak value from the acceleration start time (hereinafter, referred to as “speed peak arrival time”) in the acceleration / deceleration curve is “Tp”. . The definitions of the above quantities are shown in [Table 1] below.

【0040】[0040]

【表1】 [Table 1]

【0041】尚、距離lは関数L(xi,yi,zi)
を用いて表現することができるものとする。
The distance l is a function L (xi, yi, zi)
It can be expressed using.

【0042】図4及び図5は加減速曲線を概略的に示す
グラフ図(横軸に時間軸をとり、縦軸に速度(V=dl
/dt)をとっている。)であり、その形状的特徴は、
加速期間における曲線形状と、減速期間における曲線形
状との間に時間的な対称性が認められる点にある。
FIGS. 4 and 5 are graphs schematically showing an acceleration / deceleration curve (a horizontal axis represents a time axis, and a vertical axis represents a speed (V = dl).
/ Dt). ), Whose geometrical features are:
The point is that time symmetry is recognized between the curve shape during the acceleration period and the curve shape during the deceleration period.

【0043】つまり、図4に示す加減速曲線1は、速度
がそのピーク値(これを「Vp」と記す。)に到達する
までの加速期間における加速パターン部2、定速期間に
おける定速パターン部3、速度Vpから速度がゼロにな
るまでの減速パターン部4からなり、加速期間=減速期
間=Tpという関係が成り立つとともに、加速パターン
部2に時間的な折り返し操作を施すことによってこれを
減速パターン部4に重ね合わせることができる。
That is, the acceleration / deceleration curve 1 shown in FIG. 4 shows an acceleration pattern portion 2 during the acceleration period until the speed reaches its peak value (this is referred to as “Vp”), and a constant speed pattern during the constant speed period. A speed deceleration pattern portion 4 from the speed Vp until the speed becomes zero, the relationship of acceleration period = deceleration period = Tp is established, and the acceleration pattern portion 2 is decelerated by performing a time-return operation. It can be superimposed on the pattern section 4.

【0044】より詳しくは、加速パターン部2をt=T
pに関して線対称操作によって折り返した後で時間軸方
向に平行移動を施すことによって減速パターン部4に一
致させることができるということである。
More specifically, the acceleration pattern section 2 is set at t = T
This means that by performing a parallel movement in the time axis direction after folding back by a line symmetric operation with respect to p, it is possible to match with the deceleration pattern portion 4.

【0045】また、図5に示す加減速曲線5は、定速期
間を含まず加速パターン部6と減速パターン部7とから
なり、t=Tpに関する明瞭な線対称性を有する。
The acceleration / deceleration curve 5 shown in FIG. 5 includes an acceleration pattern section 6 and a deceleration pattern section 7 without a constant speed period, and has a clear line symmetry with respect to t = Tp.

【0046】加減速曲線1、5と時間軸とによって囲ま
れる面積が上記した曲線の全長Lに相当することから、
図4の加減速曲線1は曲線長Lがある程度長い場合にお
いて生成される加減速曲線であり、図5の加減速曲線5
は曲線長Lが短い場合において生成される加減速曲線で
あることが分かる。
Since the area surrounded by the acceleration / deceleration curves 1 and 5 and the time axis corresponds to the total length L of the above curve,
The acceleration / deceleration curve 1 in FIG. 4 is an acceleration / deceleration curve generated when the curve length L is long to some extent.
Is an acceleration / deceleration curve generated when the curve length L is short.

【0047】図6は、このような加減速曲線を得るにあ
たって速度ピーク到達時間Tpと線素列を得る際の手順
を示すフローチャート図である。
FIG. 6 is a flowchart showing a procedure for obtaining the speed peak arrival time Tp and the line element sequence in obtaining such an acceleration / deceleration curve.

【0048】先ず、手順1)において曲線の全長Lを求
める。
First, the total length L of the curve is obtained in step 1).

【0049】この場合、CP曲線は、ロボットシステム
側で予め用意されるシステム固有の曲線と、ユーザーが
指定するユーザー指定曲線とに分けられる。
In this case, the CP curve is divided into a system-specific curve prepared in advance on the robot system side and a user-specified curve specified by the user.

【0050】前者は、直線補間や円弧補間等のために必
要とされ、これは、3次元空間内の直線や円弧等の基本
的な形状である場合が多いため、その全長Lを容易に求
めることができる。 後者は、ユーザーがティーチング
ペンダント等の教示手段によって曲線を代表する複数の
点の座標から隣接点間を直線とみなすことで近似的に求
めることができる。
The former is required for linear interpolation, circular interpolation, and the like. Since the former is often a basic shape such as a straight line or a circular arc in a three-dimensional space, its total length L is easily obtained. be able to. The latter can be approximately determined by the user assuming a straight line between adjacent points based on the coordinates of a plurality of points representing the curve using teaching means such as a teaching pendant.

【0051】即ち、ユーザーが指定するn−1番目の点
とn番目の点の座標を、それぞれ(Xn−1,Yn−
1,Zn−1)、(Xn,Yn,Zn)とすると、全長
Lは線素列の長さの和として下式に示すようして求めら
れる。
That is, the coordinates of the (n−1) -th point and the n-th point specified by the user are represented by (Xn−1, Yn−), respectively.
1, Zn-1) and (Xn, Yn, Zn), the total length L is obtained as the sum of the lengths of the element rows as shown in the following equation.

【0052】[0052]

【数1】 (Equation 1)

【0053】尚、このようなボリゴン的な近似は、説明
を簡単にするために用いたものであり、要求される精度
に応じて点間の補間にスプライン近似法を適宜に用いる
ことができる。
Incidentally, such a polygon-like approximation is used for simplicity of description, and the spline approximation method can be appropriately used for interpolation between points according to required accuracy.

【0054】次に手順2)に示すように、全長Lに対応
する速度ピーク到達時間Tpを決定する。
Next, as shown in procedure 2), the speed peak arrival time Tp corresponding to the entire length L is determined.

【0055】このためには、図7に示すように曲線長L
と速度ピーク到達時間Tpとの関係を予め規定しておく
必要がある。
For this purpose, as shown in FIG.
It is necessary to preliminarily define the relationship between the speed and the speed peak arrival time Tp.

【0056】図7(a)は横軸に曲線長Lをとり、縦軸
に速度ピーク到達時間をとって両者の関係を表したもの
である。
FIG. 7A shows the relationship between the curve length L on the horizontal axis and the speed peak arrival time on the vertical axis.

【0057】図示するようにTpの値には下限Tpmi
n、上限Tpmaxが存在する。つまり、その下限はサ
ーボ制御の応答が有限であることに起因して存在し、サ
ーボ系の時定数等によって規定され、また、その上限は
サーボモータの最高速度が有限であることに起因して存
在する。
As shown, the value of Tp has a lower limit Tpmi.
n, there is an upper limit Tpmax. In other words, the lower limit exists because the response of the servo control is finite, and is defined by the time constant of the servo system, and the upper limit is due to the finite maximum speed of the servo motor. Exists.

【0058】また、図7(b)は、横軸に曲線長Lをと
り、縦軸に移動時間(これを、「Tm」と記す。)をと
って、両者の関係を表したものであり、折れ線グラフ8
上の点Pmin(Lmin,2・Tpmin)と点Pm
ax(Lmax,2・Tpmax)で一次微分が不連続
となることから分かるように、加減速パターンに関して
3つのモード分けを行うことができる。
FIG. 7B shows the relationship between the curve length L on the horizontal axis and the moving time (this is referred to as "Tm") on the vertical axis. , Line graph 8
Upper point Pmin (Lmin, 2 · Tpmin) and point Pm
As can be seen from the fact that the first derivative is discontinuous at ax (Lmax, 2 · Tpmax), three modes can be divided for the acceleration / deceleration pattern.

【0059】図8乃至図10は各モードにおける加減速
曲線の挙動をグラフ化して示すものである。
FIGS. 8 to 10 are graphs showing the behavior of the acceleration / deceleration curves in each mode.

【0060】0≦L≦Lminの範囲に相当する第1モ
ードでは、移動時間がLに依らずTm=2・Tpmin
と一定であるため、加減速曲線は、図8に9、9、・・
・に示すように幅が一定でLが大きくなるにつれて山の
高さが高くなる。
In the first mode corresponding to the range of 0 ≦ L ≦ Lmin, the traveling time is Tm = 2 · Tpmin regardless of L.
8, the acceleration / deceleration curve is shown in FIG.
As shown in the figure, the height of the mountain increases as the width is constant and L increases.

【0061】そして、Lmin≦L≦Lmaxの範囲に
相当する第2モードでは、移動時間がLの増加とともに
移動時間Tm(=2・Tp)が増加するため、加減速曲
線10、10、・・・は、図9に示すように、山の高さ
と幅がLの増加に従って増加していく。
In the second mode corresponding to the range of Lmin ≦ L ≦ Lmax, the moving time Tm (= 2 · Tp) increases with the moving time L, so that the acceleration / deceleration curves 10, 10,. As shown in FIG. 9, the height and width of the mountain increase as L increases.

【0062】Lmax≦Lの範囲に相当する第3モード
では、Tpの値が頭打ちとなるため、移動時間Tmは定
速期間の長さに応じて増加することになり、加減速曲線
は、図10の11、11、・・・に示すように、加速期
間と減速期間は不変のままで定速期間がLの増加に従っ
て増加する。尚、図7(b)においてLに対するTmの
変化率(つまり、Lmax≦Lの範囲におけるグラフの
傾斜)は、サーボモータの最大速度(これを「Vpma
x」とする。)に逆比例する。
In the third mode corresponding to the range of Lmax ≦ L, the value of Tp reaches a plateau, so that the movement time Tm increases according to the length of the constant speed period. As shown in 10, 11, 11,..., The acceleration period and the deceleration period remain unchanged, and the constant speed period increases as L increases. In FIG. 7B, the rate of change of Tm with respect to L (that is, the inclination of the graph in the range of Lmax ≦ L) is the maximum speed of the servomotor (this is referred to as “Vpma
x ”. ).

【0063】このようにL−Tm特性において、Tmが
Tpと密接な関係を持っていることから、前の手順1)
によって得られた曲線長Lに対応したTp値をモード毎
に算出することができる。
As described above, since Tm is closely related to Tp in the L-Tm characteristic, the previous procedure 1)
The Tp value corresponding to the curve length L obtained by the above can be calculated for each mode.

【0064】手順3)は各モードに対応した加減速曲線
の生成に係る処理を示しており、これには本願出願人が
既に特開平3−147103号あるいは特願平2−28
3867号において示した方法を踏襲することができ
る。
Step 3) shows a process related to the generation of an acceleration / deceleration curve corresponding to each mode, which has been disclosed by the present applicant in Japanese Patent Application Laid-Open No. 3-147103 or Japanese Patent Application No. 2-28.
3867 can be followed.

【0065】ここでは、その要点のみを説明すると、加
減速曲線の形状に関する標準形関数を予め用意してお
き、これに時間的なスケーリング操作や上記した時間的
対称操作を施すことによって、各モードに対応した加減
速曲線を生成するという方法を用いるものである。
Here, only the essential points will be described. A standard form function relating to the shape of an acceleration / deceleration curve is prepared in advance, and a temporal scaling operation and the above-described temporal symmetric operation are performed on each of the standard functions. Is used to generate an acceleration / deceleration curve corresponding to.

【0066】この標準形関数は、サーボ系の伝達関数と
して3次の関数を考え、ステップ状の入力信号を与えた
ときの応答出力を周波数領域で表現した関係式に対して
逆ラプラス変換を施すことにより時間領域で表現し直す
ことで得られるものであり、下式に示すように指数関数
の和として表される。
This standard form function considers a cubic function as a transfer function of the servo system, and performs an inverse Laplace transform on a relational expression expressing a response output when a step-like input signal is given in a frequency domain. This is obtained by re-expressing in the time domain, and is expressed as the sum of exponential functions as shown in the following equation.

【0067】尚、式の導出についての説明に深入りする
ことにはそれ程益がないと考えられるので、その詳細に
ついては説明を省略する(特願平2−137615号を
参照)。
Incidentally, it is considered that there is not much benefit in going into the explanation of the derivation of the equation, so the explanation is omitted for the details (see Japanese Patent Application No. 2-137615).

【0068】L=1かつTp=Tpminにおける規格
化された距離関数をln(t:Tpmin)とすると、
これはサーボ系の時定数T1min、T2min、T3
minを用いて下式のように表される。
If the standardized distance function at L = 1 and Tp = Tpmin is ln (t: Tpmin),
These are the time constants T1min, T2min, T3 of the servo system.
It is expressed by the following equation using min.

【0069】[0069]

【数2】 (Equation 2)

【0070】前記の手順2)において曲線長Lに対応す
るTpが求められたならば、パラメーターα(=Tp/
Tpmin)の値を求め、次式で定義するTi(iは軸
の指標に対応しi=1、2、3である。)やδ(Tp)
を決定する。
If Tp corresponding to the curve length L is obtained in the procedure 2), the parameter α (= Tp /
Tpmin) is determined, and Ti (i corresponds to the axis index and i = 1, 2, 3) or δ (Tp) defined by the following equation:
To determine.

【0071】[0071]

【数3】 (Equation 3)

【0072】上式は、パラメーターαによるスケール変
換操作を表している。
The above equation represents a scale conversion operation using the parameter α.

【0073】尚、上式中のパラメーターβ、δ(Tp)
(以下、「基本パラメーター」という。)のうちβは定
数であり、また、δ(Tp)は図11に示したような加
減速曲線において該曲線と時間軸とで囲まれた面積に相
当する高さVpの四角形の横幅に等しい。
The parameters β, δ (Tp) in the above equation
Β (hereinafter referred to as “basic parameters”) is a constant, and δ (Tp) corresponds to an area surrounded by the curve and the time axis in the acceleration / deceleration curve as shown in FIG. It is equal to the width of a square of height Vp.

【0074】Tpに対応する関数をl(t:Tp)(0
≦t≦Tp)とすると、これは次式で表される。
The function corresponding to Tp is l (t: Tp) (0
≤ t ≤ Tp), this is represented by the following equation.

【0075】[0075]

【数4】 (Equation 4)

【0076】尚、上式におけるln(t:Tp)は、
[数2]式においてTpminをTpで置換した規格化
関数である。
Note that ln (t: Tp) in the above equation is
This is a normalized function in which Tpmin is replaced by Tp in Expression 2.

【0077】また、lpは加減速時における移動量であ
り、lp=Vp・δ(Tp)を満たす。
Further, lp is a movement amount during acceleration / deceleration, and satisfies lp = Vp · δ (Tp).

【0078】この関係式は、減速パターンが加速パター
ンとの間で時間的な対称性を有することから減速時にお
ける移動量が加速時における移動量に等しいことに注意
してlp=2・β・lp・lnからβが求められるの
で、[数4]式を時間で微分した式にt=Tpを代入す
れば、[数3]で示したδの定義式から求めることがで
きる。
In this relational expression, note that the amount of movement during deceleration is equal to the amount of movement during acceleration since the deceleration pattern has temporal symmetry with the acceleration pattern. Since β is obtained from lp · ln, if t = Tp is substituted into an expression obtained by differentiating [Equation 4] with respect to time, it can be obtained from the definition expression of δ shown in [Equation 3].

【0079】加減速曲線は、[数4]式を時間で微分し
た式に基づいて生成することができる。即ち、上記の関
数ln(t:Tp)の時間微分は加速期間0≦t≦Tp
における加減速曲線の形状を規定するものであるから、
手順2)において図8乃至図10で説明したように、減
速期間における時間的な折り返し操作や、定速期間にお
ける一定値のパターンの付加操作をTp値に応じて施す
ことによって加減速パターンの全体を得ることができ
る。
The acceleration / deceleration curve can be generated based on an equation obtained by differentiating the equation (4) with respect to time. That is, the time derivative of the above function ln (t: Tp) is represented by an acceleration period 0 ≦ t ≦ Tp
Because it defines the shape of the acceleration / deceleration curve in
As described with reference to FIG. 8 to FIG. 10 in the procedure 2), the entire acceleration / deceleration pattern is performed by performing a temporal turning operation in the deceleration period and an operation of adding a constant value pattern in the constant speed period in accordance with the Tp value. Can be obtained.

【0080】このようなパターンを、所定の時間間隔T
s(例えば、10m秒)で標本化することによって算出
されるデータの組をメモリー(RAM)に時系列データ
として記憶しておく。
Such a pattern is formed at a predetermined time interval T
A set of data calculated by sampling at s (for example, 10 ms) is stored as time-series data in a memory (RAM).

【0081】そして、次の手順4)において、線素列
{Δli}(i=1,2,3・・・)を求める。
Then, in the next procedure 4), a line element sequence {Δli} (i = 1, 2, 3,...) Is obtained.

【0082】つまり、[数4]式は、加速期間0≦t≦
Tpにおいて、サンプリング時間Ts毎のCP曲線a上
の作用点の移動を表現しているので、この式を用いて線
素の長さΔlnを下式のように求めることができる。
That is, the expression [4] is obtained by calculating the acceleration period 0 ≦ t ≦
Since Tp expresses the movement of the action point on the CP curve a for each sampling time Ts, the length Δln of the line element can be obtained by using this equation as in the following equation.

【0083】[0083]

【数5】 (Equation 5)

【0084】減速期間における線素の長さについては、
前述したように加減速パターンもつの対称性に着目する
と、加速期間において算出された線素長Δlnを時間的
に逆向きに遡って取り出すこと容易に求めることができ
る。
Regarding the length of the line element during the deceleration period,
By focusing on the symmetry of the acceleration / deceleration pattern as described above, the line element length Δln calculated during the acceleration period can be easily obtained by going backward in time in a backward direction.

【0085】また、加減速パターンが定速パターンを含
む場合には、線素長Δlnは下式のようにサンプリング
時間Tsと速度Vpとの積に等しい。
When the acceleration / deceleration pattern includes a constant speed pattern, the line element length Δln is equal to the product of the sampling time Ts and the speed Vp as shown in the following equation.

【0086】[0086]

【数6】 (Equation 6)

【0087】以上の手順を経て曲線長Lに対応する加減
速曲線と、CP曲線aをサンプリング時間Tsで刻んだ
線素列{Δli}(i=1,2,3・・・)が得られる
ことになる。
Through the above procedure, an acceleration / deceleration curve corresponding to the curve length L and a line element sequence {Δli} (i = 1, 2, 3,...) Obtained by cutting the CP curve a at the sampling time Ts are obtained. Will be.

【0088】次に、CP制御にとって必須となる逆運動
学問題の解法について説明する。
Next, the solution of the inverse kinematics problem that is essential for CP control will be described.

【0089】ロボットの運動学を手先位置と関節変位や
姿勢との関係という視点から捉えた場合、各関節の変位
や姿勢が与えらたときにこの状態に対応したロボットの
手先位置を求める問題が順運動学問題であり、これとは
反対に手先位置が与えられたときにロボットの関節変位
や姿勢を求める問題が逆運動学問題である。
When the kinematics of the robot is viewed from the viewpoint of the relationship between the hand position and the joint displacement or posture, the problem of obtaining the robot hand position corresponding to this state when the displacement or posture of each joint is given is given. The inverse kinematics problem is a forward kinematics problem. On the other hand, the inverse kinematics problem is a problem of obtaining joint displacement and posture of a robot when a hand position is given.

【0090】一般に、順運動学問題を解くことは容易で
あり、例えば、スカラ型ロボットの場合には、ロボット
アームの各関節に固定したリンク座標系で記述した同次
変換行列の積を計算することに帰着させることができ
る。
In general, it is easy to solve the forward kinematics problem. For example, in the case of a scalar robot, the product of a homogeneous transformation matrix described in a link coordinate system fixed to each joint of the robot arm is calculated. That can be reduced.

【0091】これに対してCP制御においては、所望の
経路に沿ったロボットの軌跡制御、つまり、この軌跡を
描かせるためにロボットの各関節をどのように制御する
必要があるかという逆運動学問題に関する解法に関心が
向けられる。
On the other hand, in the CP control, the trajectory control of the robot along a desired route, that is, the inverse kinematics of how to control each joint of the robot to draw this trajectory is required. He is interested in solving problems.

【0092】逆運動学問題を解くことは一般に難しく、
また計算量が多いことも相まって処理に要する時間が長
いといった問題がある。
It is generally difficult to solve the inverse kinematics problem,
In addition, there is a problem that the time required for processing is long due to the large amount of calculation.

【0093】本発明では、順運動学問題を解く際に得ら
れる同次変換行列を演算要素として含むソフトウェアフ
ィルター(以下、「インバートフィルター」といい、逆
運動学問題解析手段に相当する。具体例については、図
13を参照。)を構成し、このフィルターを通して順運
動学問題と逆運動学問題の解を得る方法(以下、「イン
バートフィルター法」という。)を採用する。
In the present invention, a software filter ( hereinafter, referred to as an “invert filter”, which includes a homogenous transformation matrix obtained when solving a forward kinematics problem as an operation element ,
It corresponds to kinematics problem analysis means. See the figure for a specific example.
See FIG. ), And a method of obtaining solutions of the forward kinematics problem and the inverse kinematics problem through this filter (hereinafter, referred to as “invert filter method”).

【0094】この方法は、数学的解法の形式化が比較的
容易であり、ロボット構造の違い(例えば、直交型、ス
カラ型、垂直型等)に依らずに処理の統一化を図ること
ができるという利点を有し、各ロボットへの適用にあた
っては、解法の一部を変更するだけで容易に対応するこ
とができる。
In this method, the formalization of the mathematical solution is relatively easy, and the processing can be unified regardless of the difference in the robot structure (for example, orthogonal type, scalar type, vertical type, etc.). In the application to each robot, it is possible to easily cope with it only by changing a part of the solution.

【0095】以下では、インバートフィルターの構成上
同次変換行列が必要となるので、順運動学問題の解法を
簡単に説明した後インバートフィルターの構成について
説明を行うことにする。
In the following, since a homogeneous transformation matrix is required in the configuration of the invert filter, the solution of the forward kinematics problem will be briefly described, and then the configuration of the invert filter will be described.

【0096】先ず、ロボットの関節軸に固定したリンク
座標系と、以下に使用する記号の定義について説明す
る。
First, the link coordinate system fixed to the joint axis of the robot and the definitions of symbols used below will be described.

【0097】3次元空間におけるロボットの運動状態を
数学的に表現するにあたっては、基準となる座標系(以
下、「基準座標系」という。)を設定し、この基準座標
系から、物体に固定した座標系(以下、「物体座標系」
という。)の原点位置や各座標軸を見た時に両者間の相
対的な関係がどのようになっているかを記述する必要が
ある。
In mathematically expressing the motion state of the robot in the three-dimensional space, a reference coordinate system (hereinafter referred to as a “reference coordinate system”) is set, and the robot is fixed to an object from the reference coordinate system. Coordinate system (hereinafter “object coordinate system”)
That. ), It is necessary to describe the relative relationship between the two when looking at the origin position and each coordinate axis.

【0098】ロボットの各関節に対して指標を付け、各
関節に物体座標系を設定して関節の変位や姿勢を状態ベ
クトルによって表すとともにロボットの手先位置を基準
座標系での位置ベクトルによって表すことにすると、関
節の状態ベクトルを独立変数とし位置ベクトルを従属変
数とする写像によって両者を関係付けることができる。
An index is attached to each joint of the robot, an object coordinate system is set for each joint, and the displacement and posture of the joint are represented by a state vector, and the hand position of the robot is represented by a position vector in a reference coordinate system. Then, the two can be related by a mapping in which the state vector of the joint is an independent variable and the position vector is a dependent variable.

【0099】リンク座標系は、各関節に設定された物体
座標系の集合系であり、隣接する座標系間の変換則が知
られている場合には、回転操作や並進操作を含む同次変
換の内容を明らかにすることによってリンク座標系と基
準座標系とを関係付けることができ、これが順運動学問
題を解くことに他ならない。
The link coordinate system is a set of object coordinate systems set for each joint. When a conversion rule between adjacent coordinate systems is known, a homogeneous transformation including a rotation operation and a translation operation is performed. The link coordinate system and the reference coordinate system can be related to each other by clarifying the contents of the above, and this is nothing but solving a forward kinematics problem.

【0100】隣接する物体座標の相対的な位置関係は、
関節間の距離や角度等のパラメーター(以下、「リンク
パラメーター」という。)を用いて記述することがで
き、「Denavit−Hartenbergの記法」
によれば、4変数によってリンク機構を記述することが
できることが知られている。
The relative positional relationship between adjacent object coordinates is
It can be described using parameters such as the distance and angle between joints (hereinafter, referred to as “link parameters”), and is referred to as “Denavit-Hartenberg notation”.
It has been known that the link mechanism can be described by four variables.

【0101】以下では基準座標系や物体座標系を整数値
nによって指標付けられた「Σn(On;Xn,Yn
n)」で表現し、その際点Onを原点とし、Xn,Yn
nを直交座標軸とする。
[0102] assigned index by an integer value n of the reference coordinate system and the object coordinate system is in the "Σ n (O n; X n , Y n,
Z n )], with the point O n as the origin, X n , Y n ,
Let Zn be the Cartesian coordinate axis.

【0102】また、座標系Σn(On;Xn,Yn,Zn
の基本ベクトルの組を<in,jn,kn>とし、ベク
トルrに関する座標系Σnでの表現を「nr」と記すこと
にする。
The coordinate system Σ n (O n ; X n , Y n , Z n )
Is defined as <in, jn, k n >, and the expression of the vector r in the coordinate system Σ n is described as “ n r”.

【0103】そして、Σn系の基本ベクトルをΣm系で表
現したものの組を<mnmnmn>とし、Σn系か
らΣm系を見た場合の同次変換行列を「nm」と記す。
[0103] Then, the next when viewed Σ n system basic vectors Σ m system a set of things that were expressed in the <m i n, m j n , m k n> and, the Σ m system from Σ n system a transformation matrix referred to as "n T m".

【0104】尚、座標系間の相対的な回転角θの三角関
数について「S(θ)(=SINθ)」、「C(θ)
(=COSθ)」という簡略記法を用いることにする。
The trigonometric functions of the relative rotation angle θ between the coordinate systems are “S (θ) (= SINθ)” and “C (θ)
(= COS θ) ”.

【0105】上述の定義を下表2にまとめて示す。The above definitions are summarized in Table 2 below.

【0106】[0106]

【表2】 [Table 2]

【0107】次に、図12に示すようなスカラ型ロボッ
トを例にして、各関節の回動状態と手先位置との関係に
ついて説明する。
Next, the relationship between the rotational state of each joint and the position of the hand will be described using a scalar type robot as shown in FIG. 12 as an example.

【0108】この例では、基軸部に関して第1アームが
回動可能な状態で設けられ、該第1アームに対して回動
可能な状態で取り付けられた第2アームの先端に、並進
移動が可能なツール搭載軸が設けられ、その先端に回動
可能なツールが取り付けられた構造を有している。つま
り、ロボットは、3つの回動関節と1つの直動関節が直
列的に結合されたリンク構造を有するものとする。
In this example, the first arm is provided so as to be rotatable with respect to the base shaft, and a translational movement is possible at the tip of the second arm which is mounted so as to be rotatable with respect to the first arm. A simple tool mounting shaft is provided, and a rotatable tool is attached to the tip of the shaft. That is, the robot has a link structure in which three rotating joints and one translation joint are connected in series.

【0109】そして、座標系については、上記した定義
に従って各関節軸に固定された4つの直交座標系Σ
0(O0;X0,Y0,Z0)、Σ1(O1;X1,Y1
1)、Σ2(O2;X2,Y2,Z2)、Σ3(O3;X3
3,Z3)、Σ4(O4;X4,Y4,Z4)を設定する。
[0109] Regarding the coordinate system, four orthogonal coordinate systems Σ fixed to each joint axis according to the above definition are used.
0 (O 0 ; X 0 , Y 0 , Z 0 ), Σ 1 (O 1 ; X 1 , Y 1 ,
Z 1 ), Σ 2 (O 2 ; X 2 , Y 2 , Z 2 ), Σ 3 (O 3 ; X 3 ,
Y 3 , Z 3 ) and Σ 4 (O 4 ; X 4 , Y 4 , Z 4 ) are set.

【0110】尚、ここで座標系Σ0(O0;X0,Y0,Z
0)の原点O0は、ロボットの基軸部の中心であって、そ
の高さは原点位置出し終了後におけるツール搭載軸の先
端位置に等しいものとし、下方をZ0軸の正の向きとす
る。
Here, the coordinate system Σ 0 (O 0 ; X 0 , Y 0 , Z
The origin O 0 of 0 ) is the center of the base shaft portion of the robot, the height thereof is equal to the tip position of the tool mounting axis after the completion of the origin position setting, and the downward direction is the positive direction of the Z 0 axis. .

【0111】また、座標系Σ1(O1;X1,Y1,Z1
はその原点O1が座標系Σ0(O0;X0,Y0,Z0)の原
点O0に一致し、X1軸が第1ア−ムの中心軸に選ばれ、
これに直交する水平面内の軸がY1軸とされ、Z1軸は座
標系Σ0(O0;X0,Y0,Z0)のZ0軸に一致するよう
に選ばれた物体座標系である。
The coordinate system Σ 1 (O 1 ; X 1 , Y 1 , Z 1 )
Indicates that the origin O 1 coincides with the origin O 0 of the coordinate system Σ 0 (O 0 ; X 0 , Y 0 , Z 0 ), and the X 1 axis is selected as the center axis of the first arm.
An axis in a horizontal plane orthogonal to this is defined as the Y 1 axis, and the Z 1 axis is an object coordinate selected to coincide with the Z 0 axis of the coordinate system Σ 0 (O 0 ; X 0 , Y 0 , Z 0 ). System.

【0112】尚、X1軸とX0軸との間になす角をθ1と
する。
[0112] Incidentally, the the angle formed between the X 1 axis and X 0 axis .theta.1.

【0113】座標系Σ2(O2;X2,Y2,Z2)はその
原点O2が第1アームと第2アームとを連結する回動関
節中心に置かれるとともにその高さは座標系Σ0(O0
0,Y0,Z0)の原点O0の高さと同じとされ、X2
が第2ア−ムの中心軸に選ばれ、これに直交する水平面
内の軸がY2軸とされ、Z2軸が座標系Σ0(O0;X0
0,Z0)のZ0軸に対して平行な軸に選ばれた物体座
標系である。尚、X2軸とX1軸との間になす角をθ2と
する。
The coordinate system Σ 2 (O 2 ; X 2 , Y 2 , Z 2 ) has its origin O 2 placed at the center of the rotary joint connecting the first arm and the second arm, and its height is represented by coordinates. System Σ 0 (O 0 ;
X 0 , Y 0 , Z 0 ) is the same as the height of the origin O 0 , the X 2 axis is selected as the center axis of the second arm, and the axis in the horizontal plane orthogonal to this is the Y 2 axis. , Z 2 axes are in the coordinate system Σ 0 (O 0 ; X 0 ,
Y 0 , Z 0 ) is an object coordinate system selected on an axis parallel to the Z 0 axis. Note that the the angle formed between the X 2 axis and the X 1 axis .theta.2.

【0114】座標系Σ3(O3;X3,Y3,Z3)は、そ
の原点O3がツール搭載軸の中心であって原点位置出し
終了時の高さが座標系Σ2(O2;X2,Y2,Z2)の原
点O2の高さと同じとされ、Z3軸が鉛直軸に選ばれ、こ
れに直交する水平面内の2軸X3軸、Y3軸がΣ2(O2
2,Y2,Z2)の2軸X2軸、Y2軸にそれぞれ平行に
選ばれた物体座標系である。
In the coordinate system Σ 3 (O 3 ; X 3 , Y 3 , Z 3 ), the origin O 3 is the center of the axis on which the tool is mounted, and the height at the time of completion of the origin position setting is the coordinate system Σ 2 (O 3). 2 ; X 2 , Y 2 , Z 2 ) are the same as the height of the origin O 2 , the Z 3 axis is selected as the vertical axis, and the 2 axes X 3 axis and the Y 3 axis in the horizontal plane orthogonal to this are set to Σ 2 (O 2 ;
X 2 , Y 2 , and Z 2 ) are object coordinate systems selected in parallel with the two axes X 2 and Y 2 .

【0115】尚、ツール搭載軸の長さを「P3」とし、
その変位を「P3・θ3」とする。座標系Σ4(O4;X
4,Y4,Z4)はその原点O4が座標系Σ3(O3;X3
3,Z3)の原点O3に一致し、そのZ4軸がZ3軸に一
致するとともにX3軸、Y3軸を水平面内においてθ4の
角度をもって回転させた軸をそれぞれX4軸、Y4軸とす
る物体座標系である。
Note that the length of the tool mounting shaft is “P3”,
The displacement is defined as “P3 · θ3”. Coordinate system Σ 4 (O 4 ; X
4 , Y 4 , Z 4 ) has its origin O 4 in the coordinate system Σ 3 (O 3 ; X 3 ,
Y 3 , Z 3 ) coincide with the origin O 3 , the Z 4 axis thereof coincides with the Z 3 axis, and the axes obtained by rotating the X 3 axis and the Y 3 axis at an angle of θ4 in the horizontal plane are each represented by the X 4 axis. , Y 4 axes.

【0116】尚、第1アームの長さを「L1」、第2ア
ームの長さを「L2」とする。
Note that the length of the first arm is "L1" and the length of the second arm is "L2".

【0117】回転操作や並進操作等についての行列表現
に係る知識を用いると、座標系Σi+ 1から座標系Σiをみ
たときの同次変換行列を求めることができる。
By using the knowledge about the matrix expression about the rotation operation, the translation operation, and the like, a homogeneous transformation matrix when the coordinate system のi is viewed from the coordinate system Σ i + 1 can be obtained.

【0118】例えば、同次変換行列01は下式[数7]
に示すようになり、また、鉛直軸回りの回動操作にアー
ム長分の並進を加味した同次変換行列に一般化すること
によって同次変換行列12を求めたり、角度パラメータ
ーの単なる置き換えによってや同次変換行列34を容易
に求めることができる。
For example, the homogeneous transformation matrix 0 T 1 is given by the following equation
Also, by generalizing to a homogeneous transformation matrix that takes into account the translation of the arm length in addition to the rotation operation about the vertical axis, the homogeneous transformation matrix 1 T 2 is obtained, or the angle parameter is simply replaced. the homogeneous transformation matrix 3 T 4 and by can be easily obtained.

【0119】また、X2軸やZ2軸に関する並進操作のみ
を取り入れた同次変換行列として23が下式にように求
められる。
[0119] Also, 2 T 3 is determined as the following equation as a homogeneous transformation matrix incorporating the translation operation about the X 2 axis and Z 2 axes only.

【0120】[0120]

【数7】 (Equation 7)

【0121】これらの同次変換行列に積01 12 23 3
4を計算することによって04が求められ、座標系Σ0
とΣ4との間に関係付けがなされることになる。
The product 0 T 1 1 T 2 2 T 3 3 is added to these homogeneous transformation matrices.
By calculating T 4 , 0 T 4 is obtained, and the coordinate system Σ 0
And Σ 4 will be related.

【0122】次に、逆運動学問題の解法についての説明
に移るが、これは手先位置の位置ベクトルを独立変数と
し関節の状態ベクトルを従属変数とする写像によって両
者を関係付けること、つまり形式的には前述した写像の
逆写像を求めることに相当する。
Next, the solution to the inverse kinematics problem will be described. In this case, the two are related by a mapping in which the position vector of the hand position is an independent variable and the state vector of the joint is a dependent variable, that is, a formal relationship. Is equivalent to obtaining an inverse mapping of the above-described mapping.

【0123】図13は、インバートフィルターの基本構
成を示すブロック線図である。
FIG. 13 is a block diagram showing the basic configuration of the invert filter.

【0124】図中の記号「Xr」、「Yr」はそれぞれ
X座標、Y座標に関する指令値、「R2r」は、作用端
位置と基準座標系の原点との間の距離についての指令値
であり、これらは選択的にインバートフィルターに与え
られるようになっている。
Symbols “Xr” and “Yr” in the figure are command values for the X coordinate and Y coordinate, respectively, and “R 2 r” is a command value for the distance between the working end position and the origin of the reference coordinate system. And these are selectively fed to an invert filter.

【0125】尚、この例では説明の簡単にするため、図
14に示すように2リンク系の構造を取り上げ、その平
面内での動作に限定して話を進めることにする。
In this example, for the sake of simplicity, the structure of a two-link system is taken up as shown in FIG. 14, and the operation will be limited to the operation in the plane.

【0126】図14はX−Y座標系において2つの回動
型関節をもつアーム系を線状モデル化(アームの中心軸
のみを示す。)して示すものであり、原点O寄りの第1
アームがX軸に対してなす角度をθ1とし、原点から遠
い方の第2アームが第1アームの延長線に対してなす角
度をθ2とする。
FIG. 14 shows a linear model (only the central axis of the arm is shown) of an arm system having two rotary joints in the XY coordinate system, and shows a first position closer to the origin O.
An angle formed by the arm with respect to the X axis is defined as θ1, and an angle formed by the second arm farther from the origin with respect to an extension of the first arm is defined as θ2.

【0127】また、第2アームの先端位置を点P(X,
Y)、X−Y平面内の任意の点を点P′(X′,Y′)
をとし、原点O−点P間の距離をRとする。尚、説明の
簡単化のために各アーム長を1とする。
The position of the tip of the second arm is set to a point P (X,
Y), an arbitrary point in the XY plane is defined as a point P '(X', Y ').
And the distance between the origin O and the point P is R. In addition, each arm length is set to 1 for simplification of description.

【0128】インバートフィルターは、図13に示すよ
うに順運動学問題を解くときに用いるパス(以下、「フ
ォワードパス」という。)に係る伝達関数GF(s)を
含んでおり、上記の指令値がゲイン1/|GF(s)
|、積分演算(積分記号で示す。)、そして定数ゲイン
1/Gaを経てフォーワードパスGF(s)に送られる
ように構成されている。
As shown in FIG. 13, the invert filter includes a transfer function G F (s) relating to a path used for solving a forward kinematics problem (hereinafter referred to as “forward path”). Value is gain 1 / | G F (s)
|, An integral operation (indicated by an integral symbol), and a constant gain 1 / Ga to be sent to the forward path G F (s).

【0129】そして、フォワードパスの出力X、Y、R
2はネガティブフィードバックループを通してこれらの
指令値の入力ノードへと選択的に戻される(「ε」はエ
ラーを意味する。)。
Then, outputs X, Y, and R of the forward path
2 is selectively returned to the input nodes of these command values through a negative feedback loop ("ε" means error).

【0130】GF(s)は、この例では[数7]式の3
4に対応すものであり、ノードΘ、Φの和やΦそのもの
を受けてC、Sで示す三角関数要素(「C」がCOS関
数、「S」がSIN関数を示す)を通して、加算や自乗
演算によって各出力値X、Y、R2が得られるように構
成される。
In this example, G F (s) is 3 T in the equation (7).
In response to the sum of the nodes Θ and Φ and Φ itself, addition and squaring are performed through trigonometric function elements indicated by C and S (“C” indicates a COS function and “S” indicates a SIN function). each output value X by calculating, Y, configured as R 2 can be obtained.

【0131】尚、Θはフィルター内の位相でありループ
内で制御されるのに対し、Φは各関節軸について固定し
た位相である。
Note that Θ is the phase in the filter and is controlled in the loop, while Φ is the phase fixed for each joint axis.

【0132】位相Θが角度θ2に対応し、位相Φが角度
θ1に対応しており、位相和Θ+ΦがCを通ってノード
Xに送られるとともに位相ΦがCを通ってノードXで合
成され、また、位相和Θ+ΦがSを通ってノードXに送
られるとともに位相ΦがSを通ってノードYで合成され
る。そして、Xの自乗とYの自乗との和がノードR2
取り出される。
The phase Θ corresponds to the angle θ2, the phase Φ corresponds to the angle θ1, the phase sum Θ + Φ is sent to the node X through C, and the phase Φ is combined at the node X through C, Further, the phase sum Φ + Φ is sent to the node X through S, and the phase Φ is combined at the node Y through S. The sum of the square of the square and Y of X is taken out in node R 2.

【0133】これは、図14のアーム状態を想像したと
き、リンクパラメーターθ1、θ2を用いてX、Y座標
値を表した下式に対応していると考えれば直感的な理解
を得ることができる。
This can be intuitively understood by assuming that this corresponds to the following expression expressing the X and Y coordinate values using the link parameters θ1 and θ2 when the arm state of FIG. 14 is imagined. it can.

【0134】[0134]

【数8】 (Equation 8)

【0135】インバートフィルターにおいてフォワード
パスの前に設けられる要素のうち1/|GF(s)|は
動的なゲイン調整のために設けられる。
Of the elements provided before the forward pass in the invert filter, 1 / | G F (s) | is provided for dynamic gain adjustment.

【0136】積分要素はループの安定化を図るために設
けられるものであり、図では一段とされているが一般に
は複数段の構成をとることによってフィルター特性を変
られることはフィルター理論から明らかである。
The integral element is provided to stabilize the loop. Although the integral element is provided as a single stage in the figure, it is apparent from the filter theory that the filter characteristic can be generally changed by employing a plurality of stages. .

【0137】この例では、[数8]式の角度パラメータ
ーを位相に置き換えた式からRの自乗を求めると[数
9]式に示すようにCOSΘに依存することが分かり、
これをΘで微分した式から1/|GF(s)|が求めら
れる。
In this example, when the square of R is obtained from the equation obtained by replacing the angle parameter of equation (8) with the phase, it is found that the square depends on COS よ う as shown in equation (9).
1 / | G F (s) | is obtained from an equation obtained by differentiating this with Θ.

【0138】[0138]

【数9】 (Equation 9)

【0139】定数ゲイン1/Gaはループの収束の速さ
を制御するために入れたものである。
The constant gain 1 / Ga is set to control the speed of loop convergence.

【0140】尚、指令値Xr、Yr、R2rの入力段で
の切換と、フォワードパスの出力値X、Y、R2の切換
とはそれぞれ対応するように連動した切換制御が行われ
る。
Switching at the input stage of the command values Xr, Yr, R 2 r and switching of the output values X, Y, R 2 of the forward path are interlocked so as to correspond to each other.

【0141】次に、このような構成のインバートフィル
ターによって順運動学問題や逆運動学問題の解を得る方
法について説明する。
Next, a method for obtaining a solution to the forward kinematics problem and the inverse kinematics problem by the invert filter having such a configuration will be described.

【0142】順運動学問題については上記インバートフ
ィルターの一部をなすフォワードパスを用いれば良いこ
とがこれまでの説明から容易に理解される。
It is easily understood from the above description that the forward kinematics problem can be obtained by using a forward path which forms a part of the above-mentioned invert filter.

【0143】即ち、インバートフィルターを開ループに
したままで、図13のノードΘやΦに値を与えると出力
値X、Yを得ることができ、[数8]に対応した結果が
得られる。
That is, when values are given to the nodes Θ and Φ in FIG. 13 while the invert filter is kept open loop, output values X and Y can be obtained, and a result corresponding to [Equation 8] can be obtained.

【0144】また、逆運動学問題を、インバートフィル
ターを用いて解くには次のような手順を踏む(図13、
図14参照。)
The following procedure is used to solve the inverse kinematics problem using the invert filter (FIG. 13,
See FIG. ) .

【0145】(A1)各アームのある時点における姿勢
から次の姿勢へとアームの状態を変化させたい場合、現
時点での角度パラメーターθ1、θ2(図14参照。)
の値は知られている。これはポジションカウンター値か
ら読み出すことができるからである。
(A1) When it is desired to change the state of each arm from the posture at a certain point of time to the next posture, the angle parameters θ1 and θ2 at the present time (see FIG. 14).
The value of is known. This is because it can be read from the position counter value.

【0146】(A2)そこで、その時のθ1の値に対応
した位相を、図13のノードΦにセットする。 (A3)次にO−P′間(図14参照。)の距離Rrを
計算する。点P′は移動指令の目標位置として与えられ
るものであり、事前に分かっている。そして、Rrの自
乗値をインバートフィルター(図13参照。)への入力
値としてセットする。つまり、インバートフィルターに
おいて、指令値R2rとフォワードパスの出力値R2が選
択されるように切換制御を行い、距離の自乗値に関して
閉ループが形成されるようにする。
(A2) Then, the phase corresponding to the value of θ1 at that time is set to the node Φ in FIG. (A3) Next, a distance Rr between OP ′ (see FIG. 14) is calculated. The point P 'is given as a target position of the movement command , and is known in advance. Then, the square value of Rr is set as an input value to the invert filter (see FIG. 13) . That is, in the invert filter, switching control is performed so that the command value R 2 r and the output value R 2 of the forward path are selected, and a closed loop is formed with respect to the square value of the distance.

【0147】(A4)インバートフィルターを起動し
て、図13に示すエラーεがゼロに収束するのを待ち、
ε=0となったらそのときのノードΘの値(これを
「Θ′」とする。)が第2アームに関する逆運動学問題
の解として求まる。
(A4) Activate the invert filter and wait until the error ε shown in FIG. 13 converges to zero.
When ε = 0, the value of the node Θ at that time (this is referred to as “Θ ′”) is obtained as a solution to the inverse kinematics problem for the second arm.

【0148】(A5)それから、目標位置P′(図14
参照。)のX−Y座標X′又はY′に対応する指令値X
r又はYrをインバートフィルターへの入力値としてセ
ットして、フォワードパスの出力値X又はYがフィード
バックされるように閉ループを形成する(図13の「−
1」を付して示す経路を参照。)
(A5) Then, the target position P ' (FIG. 14)
reference. ) Corresponding to the XY coordinates X ′ or Y ′
r or Yr is set as an input value to the invert filter, and a closed loop is formed such that the output value X or Y of the forward path is fed back (“−” in FIG. 13).
See the path indicated by "1". ) .

【0149】(A6)このとき同時に(A4)で求めた
Θ′の値を、図13のノードΦにセットしてインバート
フィルターを起動し、エラーεがゼロになったときのノ
ードΘ値が第1アームに関する逆運動学問題の解として
求まる(尚、実際上は精度以上の計算を行う必要がない
ので、エラー|ε|が精度以下になったらフィルター計
算を停止して計算時間の短縮化を図るようにすれば良
い。)。
(A6) At the same time, the value of Θ ′ obtained in (A4) is simultaneously set in the node Φ in FIG. 13 to activate the invert filter, and the value of the node の when the error ε becomes zero is It can be obtained as a solution to the inverse kinematics problem for one arm. (In practice, it is not necessary to perform calculations with a precision higher than the precision. If the error | ε | It is good to do so.)

【0150】以上の手順によって目標位置と距離の指令
値からアームの状態を示す角度パラメーター値が求めら
れることになるが、このような手順について図15を用
いて幾何学的に解釈すると各手順の意味内容を把握し易
い。
By the above procedure, the angle parameter value indicating the state of the arm is obtained from the command value of the target position and the distance . When such a procedure is geometrically interpreted with reference to FIG. It is easy to grasp the meaning content.

【0151】図15は図14と同様にロボットアームの
動きをモデル化して示すものであり、上記した手順に対
するアームの回動状態を、時間の経過を追って(a)乃
至(c)に示したものである。
FIG. 15 shows a model of the movement of the robot arm, similarly to FIG. 14. The rotation state of the arm with respect to the above procedure is shown in (a) to (c) over time. Things.

【0152】先ず、図15(a)に示すようにX−Y座
標系の原点Oを中心としてOP′(=Rr)を半径とす
る円弧CIRを描く。
First, as shown in FIG. 15A, an arc CIR having a radius of OP '(= Rr) is drawn around the origin O of the XY coordinate system.

【0153】次に、図15(b)に示すように第1アー
ムの角度θ1の値を固定したまま、第2アームをその関
節中心O′の反時計回りに回転させ、その先端位置Pが
円弧CIRと交わる位置P1になったときに回転を停止
する。
Next, as shown in FIG. 15 (b), while the value of the angle θ1 of the first arm is fixed, the second arm is rotated counterclockwise about the joint center O ', and the tip position P is changed. The rotation is stopped when the position P1 intersects with the arc CIR.

【0154】このときの第2アームの角度θ2′が当該
アームに関する逆運動学問題の解である。
The angle θ2 ′ of the second arm at this time is the solution of the inverse kinematics problem for the arm.

【0155】尚、インバートフィルターがネガティブフ
ィードバックとして構成されていることから、第2アー
ムの回転方向については、必ず点Pが目標点P′に近づ
く方向となり、その逆方向に回転されることはない。
Since the invert filter is configured as a negative feedback, the second arm is always rotated in the direction in which the point P approaches the target point P ', and is not rotated in the opposite direction. .

【0156】これまでの動きは、インバートフィルター
についての手順(A2)乃至(A4)に対応する。
The movement so far corresponds to the procedures (A2) to (A4) for the invert filter.

【0157】次に、図15(c)に示すように第2アー
ムの角度θ2をθ2′に固定した状態で第1アームを回
転させ、それまで点P1に一致していた第2アームの端
点Pが目標点P′に一致したときに回転を止める。
Next, as shown in FIG. 15 (c), the first arm is rotated with the angle θ2 of the second arm fixed at θ2 ′, and the end point of the second arm which has coincided with the point P1 until then. The rotation is stopped when P coincides with the target point P '.

【0158】このときの第1アームの角度θ1′が当該
アームに関する逆運動学問題の解である。尚、この動き
がインバートフィルターについての手順(A5)、(A
6)に相当する。
At this time, the angle θ1 ′ of the first arm is the solution of the inverse kinematics problem for the arm. Note that this movement is based on the procedure (A5) and (A5) for the invert filter.
6).

【0159】インバートフィルターを用いてこのような
移動制御を実現するシーケンスが上記した手順(A1)
乃至(A6)である。
The sequence for realizing such a movement control using the invert filter is the above-described procedure (A1).
Through (A6).

【0160】尚、図14及び図15ではアームの数を2
に限定した例を示したが、N個のアームを有する系にこ
のインバートフィルター法を一般化することができるこ
とは勿論である。
In FIGS. 14 and 15, the number of arms is two.
However, it is a matter of course that the invert filter method can be generalized to a system having N arms.

【0161】その場合にはインバートフィルターの起動
回数をアーム数に応じて増やすようにすれば、全く同一
のアルゴリズムを用いて逆運動学問題を解くことができ
る。例えば、アーム数がNの場合には、N−1番目のア
ームに係る関節中心が図14の原点Oに対応し、N番目
のアームの関節中心が点O′にそれぞれ対応するものと
考えれば良く、それぞれの角度パラメーターθN、θN
−1を決定してから、Nの値を減らして同様のフィルタ
ー計算を行ってロボットの基準座標の原点に近いアーム
に関する角度パラメーター列θJ(J=N−2、N−
3、・・・、1)を順番に決定していけば最終的な解を
得ることができる。
In this case, if the number of activations of the invert filter is increased according to the number of arms, the inverse kinematics problem can be solved using exactly the same algorithm. For example, when the number of arms is N, if the joint center of the (N-1) th arm corresponds to the origin O in FIG. 14 and the joint center of the Nth arm corresponds to the point O ', respectively. Well, each angle parameter θN, θN
After determining −1, the same filter calculation is performed by reducing the value of N, and an angle parameter sequence θJ (J = N−2, N−) related to the arm near the origin of the reference coordinates of the robot is obtained.
The final solution can be obtained by sequentially determining 3,..., 1).

【0162】また、上述の例では回動型関節を有するア
ーム構造だけを示したが、これに限らず、直動型関節だ
けから構成させるアーム系や、回動型関節と直動型関節
とを適宜に組み合わせたアーム系にインバートフィルタ
ー法を適用することができる。尚、その際、直動型関節
に対して解くべきパラメーターは変位となる。
In the above-described example, only the arm structure having the rotary joint is shown. However, the present invention is not limited to this. An arm system including only a linear joint, a rotary joint and a linear joint may be used. The invert filter method can be applied to an arm system in which is appropriately combined. At this time, the parameter to be solved for the linear joint is displacement.

【0163】このように、インバートフィルター法に係
るアルゴリズムは基本的にアーム構造に左右されないの
で汎用性が高く、よって、直交型、スカラ型、垂直多関
節型等の各種のマニュピレーターに適用することができ
る。
As described above, since the algorithm related to the invert filter method is basically independent of the arm structure, it is highly versatile, and therefore can be applied to various manipulators such as the orthogonal type, the scalar type, and the vertical articulated type. it can.

【0164】ところで、上記の例では説明を簡単にする
ために、ロボットの手先位置に対するCP制御だけを説
明してきたが、上記インバートフィルター法によれば、
ワーク上の任意の位置に対するCP制御を実現すること
も可能である(但し、一般にはワーク上の点がワーク座
標系で与えられていれば、手先位置を基準としたオフセ
ットを加味することでワーク上の位置を容易に求めるこ
とができる。)。
By the way, in the above example, only the CP control for the hand position of the robot has been described for the sake of simplicity, but according to the invert filter method,
It is also possible to realize CP control for an arbitrary position on the work (however, in general, if a point on the work is given in the work coordinate system, the work is adjusted by adding an offset based on the hand position. The upper position can be easily obtained.)

【0165】例えば、図16に示すように、第2アーム
の先端部に点O′′を中心として回動可能な状態で円板
が設けられており、円板上の点PSを点PEに移動させ
る場合を想定する。尚、円板の点O′′に関する回動角
をθ3とする。
For example, as shown in FIG. 16, a disk is provided at the end of the second arm so as to be rotatable around a point O ″, and a point PS on the disk is set to a point PE. Assume a case of moving. Note that the rotation angle of the disk with respect to the point O ″ is θ3.

【0166】この例について逆運動学問題を解く手順は
以下にようになる。
The procedure for solving the inverse kinematics problem for this example is as follows.

【0167】(B1)先ず、第2アームの関節中心O′
を中心とし、この点と目標点PEとの間の距離を半径と
する円弧CIR1を描く。この操作は、点O−点PE間
距離の2乗をインバートフィルターへの入力としてセッ
トするとともに、第2アームの角度パラメーターθ2の
値を固定してノードΦにセットする処理に対応する。 (B2)インバートフィルターの起動をかける前に、点
O′−点O′′間の距離と点O′′−点PS間の距離と
の差を求め、その2乗値をリミッター値とする。これは
点O′−点PS間の距離がリミッター値より大きくなる
ことは理論上ありえないからであり、従って、インバー
トフィルターを起動してεが0になる前に点O′−点P
S間の距離がリミッター値に達した場合には、フィルタ
ーの動作をそこで停止し、そのときの角度θ3を解とす
る必要がある。
(B1) First, the joint center O 'of the second arm
Is drawn, and an arc CIR1 having a radius equal to the distance between this point and the target point PE is drawn. This operation corresponds to a process of setting the square of the distance between the point O and the point PE as an input to the invert filter, and fixing the value of the angle parameter θ2 of the second arm to the node Φ. (B2) Before starting the invert filter, a difference between the distance between the points O ′ and O ″ and the distance between the points O ″ and the points PS is obtained, and the squared value is used as a limiter value. This is because it is theoretically impossible that the distance between the point O 'and the point PS becomes larger than the limiter value.
When the distance between S reaches the limiter value, it is necessary to stop the operation of the filter there and to solve the angle θ3 at that time.

【0168】(B3)インバートフィルターを起動す
る。つまり、これは図16ではθ3軸回りに円板を回転
させることに対応する。
(B3) The invert filter is activated. That is, this corresponds to rotating the disk about the θ3 axis in FIG.

【0169】(B4)そして、ε=0になったときには
点O′−点PS間の距離が点O′−点PE間の距離に等
しくなっており、よってこの時点でフィルターの動作を
止める。この時のノードΘの値がθ3に関する解であ
る。また、ε=0にならず点O′−点PS間距離が上記
(B2)のリミッター値になった時には、この時点でフ
ィルターの動作を止めればノードΘにθ3の解が得られ
る。
(B4) When ε = 0, the distance between the point O ′ and the point PS is equal to the distance between the point O ′ and the point PE. Therefore, the operation of the filter is stopped at this point. The value of the node Θ at this time is a solution for θ3. When the distance between the point O 'and the point PS does not reach ε = 0 and reaches the limiter value of the above (B2), if the operation of the filter is stopped at this point, a solution of θ3 can be obtained at the node Θ.

【0170】図16は前者の場合に相当する例を示して
おり、点O′−点PE間の距離に等しい半径をもち点
O′を中心とする円弧CIR1上の点P′Sが解に対応
した点である。
FIG. 16 shows an example corresponding to the former case. A point P'S on an arc CIR1 having a radius equal to the distance between point O 'and point PE and centered on point O' is solved. It is a corresponding point.

【0171】(B5)θ3を固定して第2アームを回転
させることによって、点P′Sが円弧CIR1上を移動
して最終的に点PEに一致し、このときの角度θ2が解
となる。この動きをインバートフィルターの動作に対応
させると、指令値Rrを点O′−PE間距離に等しい値
にセット、Φをθ1に対応した位相値にセットしてフィ
ルターを起動して、ε=0になったときのノードΘにθ
2の解が得られることに他ならない。
(B5) By rotating the second arm while fixing θ3, the point P ′S moves on the circular arc CIR1 and finally coincides with the point PE, and the angle θ2 at this time becomes a solution. . If this movement is made to correspond to the operation of the invert filter, the command value Rr is set to a value equal to the distance between the point O′-PE, Φ is set to the phase value corresponding to θ1, and the filter is started, and ε = 0 Becomes θ at the node Θ
It is nothing but a solution of 2.

【0172】尚、この例では、点PSに軌跡と円弧CI
R1とが交点P′Sで交わるため、θ3とθ2に関する
解を求めるだけで良かったが、点O′−点PS間距離が
小さいために交点を持たない場合には、3つの角度θ
3、θ2、θ1のついての解くことになる(尚、その手
順はこれまで説明してきたアルゴリズムから明かであろ
う。)。
In this example, the locus and the circular arc CI are set at the point PS.
Since R1 intersects at the intersection P'S, it suffices only to find a solution for θ3 and θ2. However, if there is no intersection because the distance between the point O ′ and the point PS is small, three angles θ are used.
3, θ2, and θ1 (the procedure will be clear from the algorithm described above).

【0173】上記したインバートフィルター法の特徴を
箇条書きにまとめると以下のように要約することができ
る。
The features of the above-described invert filter method can be summarized as follows in a bulleted list.

【0174】(C1)選択的に切り換えられるインバー
トフィルターの入力値やフィードバック量を関節構造に
合ったパラメーターとし、フォワードパスをリンク構造
に応じて変更するだけで各種のロボットに適用すること
ができるので、CP制御の標準化を図ることができる。
(C1) The input value and feedback amount of the invert filter that can be selectively switched are set as parameters suitable for the joint structure, and the present invention can be applied to various robots only by changing the forward path according to the link structure. , CP control can be standardized.

【0175】(C2)インバートフィルター内にはフォ
ワードパスが設けられ、インバートフィルターの開ルー
プから順運動学問題を解くことができるので、逆運動学
問題の解法ルーチンと順運動学問題の解法ルーチンとを
全く独立したものとして用意する必要がなく、処理を部
分的に兼用することができる。
(C2) Since a forward path is provided in the invert filter and the forward kinematics problem can be solved from the open loop of the invert filter, the inverse kinematics problem solving routine and the forward kinematics problem solving routine Does not need to be prepared as a completely independent device, and processing can be partially shared.

【0176】(C3)解を効率良く得ることができる。
つまり、逆運動学問題を解くことははロボットの手先位
置からアーム状態を求めることに他ならないが、上述し
たように慣性の小さい手先寄りの関節軸程その動きが大
きく、慣性の大きい基軸部寄りの関節軸程その動きが小
さくなるような一意解を得ることができる(例えば、図
16では第1アームの回動量がゼロであった。)。
(C3) The solution can be obtained efficiently.
In other words, solving the inverse kinematics problem is nothing less than finding the arm state from the robot's hand position. However, as described above, the joint axis closer to the hand with smaller inertia has a larger motion and is closer to the base shaft portion with larger inertia. Thus, a unique solution can be obtained such that the movement becomes smaller as the joint axis becomes smaller (for example, the amount of rotation of the first arm is zero in FIG. 16).

【0177】(C4)ワーク上の任意の一点に関する解
を求めることができる。つまり、ツール先端に固定され
た座標系の原点位置に対するCP制御に限らず、該座標
系での任意の点について解を得ることができる。これに
ついては図16で説明した通りである。また、例えば、
円弧補間時における作用端の座標系の原点や任意の点に
対して円弧補間をかけることができる。
(C4) A solution for an arbitrary point on the work can be obtained. That is, a solution can be obtained not only for the CP control for the origin position of the coordinate system fixed to the tool tip but also for an arbitrary point in the coordinate system. This is as described in FIG. Also, for example,
Circular interpolation can be applied to the origin or any point of the coordinate system of the operating end at the time of circular interpolation.

【0178】(C5)逆関数を用いずにフォワードパス
に含まれる順関数を用いて解くことができる。逆運動学
問題の解法には、幾何学的な解法や代数的な解法が知ら
れているがこれにはかなりの計算力を要するために処理
に時間がかかってしまうことが知られている。
(C5) Solving can be performed using a forward function included in a forward path without using an inverse function. As a method of solving the inverse kinematics problem, a geometrical solution or an algebraic solution is known, but it is known that this requires a considerable amount of computational power and takes a long time to process.

【0179】例えば、図14のようなアーム系について
の解を幾何学的な解法に従って求めてみると、角度θ
1、θ2が座標値X、Yを用いて表されるが、逆三角関
数や2乗根の逆数等が現れる。また、同じ問題を代数的
な方法で解いた場合にはATAN2(a、b)≡ARG
(b+j*a)(但し、jは虚数単位)で定義される関
数や2乗根等が現れるために解を公式化する上での複雑
さは解消されない。
For example, when a solution for the arm system as shown in FIG. 14 is obtained according to a geometric solution, the angle θ
Although 1, and θ2 are represented using the coordinate values X and Y, an inverse trigonometric function, a reciprocal of a square root, and the like appear. If the same problem is solved by an algebraic method, then ATAN2 (a, b) ≡ARG
Since a function defined by (b + j * a) (where j is an imaginary unit) or a square root appears, the complexity in formulating a solution is not eliminated.

【0180】これらの解法は基本的には解の公式を数学
的に手計算で求めてからソフトウェア処理によって解を
求め、その解を評価することによって最終的な解を得る
ようにプログラムを作成する必要がある。
In these solution methods, basically, a program is created such that a formula of the solution is mathematically calculated manually, a solution is obtained by software processing, and the solution is evaluated to obtain a final solution. There is a need.

【0181】従って、公式を見いだすのに時間がかかっ
てしまい、また、公式内に現れる関数を用意しなければ
ならない等の煩雑さがあり、このような解析作業をロボ
ットの種類毎に行なわなければならない。
Therefore, it takes time to find the formula, and it is complicated to prepare a function appearing in the formula. If such an analysis work is not performed for each type of robot, No.

【0182】これに対して本インバートフィルター法に
あっては、解を求めるに際してロボットの構造に依らな
い共通化されたアルゴリズムに則った処理をインバート
フィルターを用いて行い、このような処理をアーム系に
関して複数回に亘って行うことによって最終的な解に至
る。
In the present invert filter method, on the other hand, a process in accordance with a common algorithm independent of the robot structure is performed using an invert filter when obtaining a solution. Performing multiple times on leads to the final solution.

【0183】つまり、中心的な要素となるリンク系の部
分系を取り出して解を求めるという手続きを順次に踏む
ことによって、解を積み上げて最終的な解を得ることが
できる。
In other words, by sequentially taking the procedure of extracting the subsystems of the link system that are the central elements and finding the solutions, the solutions can be accumulated to obtain the final solution.

【0184】本法はその意味でリンク座標系での自由度
を削減しながら解を求めていく次元削減法であるとも言
える。
In this sense, it can be said that this method is a dimension reduction method for obtaining a solution while reducing the degree of freedom in the link coordinate system.

【0185】例えば、図17に示すように垂直多関節型
ロボットを線状モデル化した図において、ある子午線上
の点PS(XS,YS,ZS)から別の子午線上の点P
E(XE,YE,ZE)への移動を想定する。
For example, as shown in FIG. 17, in a diagram in which a vertical articulated robot is linearly modeled, a point PS (XS, YS, ZS) on one meridian is shifted to a point P on another meridian.
Assume movement to E (XE, YE, ZE).

【0186】尚、図17において直交座標系X−Y−Z
の原点O寄りのアームを第1アームと呼びその先のアー
ムを第2アームと呼ぶことにし、第1アームのX−Y平
面への写影がX軸に対してなす角度をθ1とし、第1ア
ームがZ軸に対してなす角度をθ2、そして、第1アー
ムの延長軸と第2アームとの間になす角度をθ3とす
る。
In FIG. 17, the rectangular coordinate system XYZ is used.
The arm closer to the origin O is called the first arm, and the arm ahead is called the second arm. The angle formed by the projection of the first arm on the XY plane with respect to the X axis is θ1, An angle between one arm and the Z axis is θ2, and an angle between an extension axis of the first arm and the second arm is θ3.

【0187】この場合、点PSと点PEとが同一平面な
いことは、座標値の比YS/XSとYE/XEとを比較
すれば容易に分かり、両点の関係が3次元的であるた
め、先ずこれを2次元での問題となるように次元を落と
して、つまり、子午線を含む面内でθ3、θ2の解を求
めてからθ1の解を求めるようにインバートフィルター
を起動すれば良い。
In this case, it can be easily understood that the point PS and the point PE are not on the same plane by comparing the coordinate value ratios YS / XS and YE / XE, and the relationship between the two points is three-dimensional. First, it is necessary to reduce the dimension so as to cause a two-dimensional problem, that is, activate the invert filter so that the solution of θ3 and θ2 is obtained in the plane including the meridian and then the solution of θ1 is obtained.

【0188】このように問題の次数を下げて縮退化した
解を求めてから縮退をといて最終的な解へと解き進んで
いくことができる。
As described above, it is possible to obtain a degenerate solution by lowering the degree of a problem, and then take the degeneration to proceed to a final solution.

【0189】次に、前述したCP制御の加減速曲線の生
成手順とインバートフィルター法に係る手順を総合した
アルゴリズムについて図18に従って説明する。
Next, an algorithm combining the procedure for generating the acceleration / deceleration curve of the CP control and the procedure relating to the invert filter method will be described with reference to FIG.

【0190】(D1)先ず、CP曲線の計算時間間隔、
つまり、サンプリング時間Tsを決定する。
(D1) First, the calculation time interval of the CP curve,
That is, the sampling time Ts is determined.

【0191】この時間Tsはロボットの制御に用いられ
るCPUの処理速度の高速化とともに短縮化することが
できるが、現状ではTs=10ミリ秒が基本となってお
り、この時間間隔でCP曲線を刻んだ情報がサーボ系に
送られる。
This time Ts can be shortened with an increase in the processing speed of the CPU used for controlling the robot, but at present Ts = 10 milliseconds, and the CP curve is calculated at this time interval. The cut information is sent to the servo system.

【0192】サーボ系ではサーボループのサンプリング
時間(これを「Tss」とする。)の時間間隔毎にルー
プ計算を行っており、Tss<Tsとされている。
In the servo system, loop calculation is performed at each time interval of the servo loop sampling time (this is referred to as “Tss”), and Tss is smaller than Ts.

【0193】よって、Tsを小さくしてTs=Tssと
なることが理想的であるが(CP曲線をより滑らかにす
ることができる。)、それだけメモリーの記憶容量が大
きくなることを勘案してTsを決定すべきである。
Therefore, it is ideal that Ts is reduced to Ts = Tss (the CP curve can be made smoother). However, considering that the storage capacity of the memory becomes larger, Ts is taken into account. Should be determined.

【0194】(D2)CP曲線の曲線長に応じて加減速
曲線を生成するととともに、そのときの線素列を計算す
る。
(D2) An acceleration / deceleration curve is generated according to the length of the CP curve, and a line element sequence at that time is calculated.

【0195】加減速曲線の発生に係るアルゴリズムにつ
いては既に説明したので、その詳細は省略し、ここで
は、加減速曲線が定速パターン部を有する第3モードの
ピーク速度Vpの決定について説明する。
Since the algorithm relating to the generation of the acceleration / deceleration curve has already been described, the details thereof are omitted, and here, the determination of the peak speed Vp in the third mode in which the acceleration / deceleration curve has a constant speed pattern portion will be described.

【0196】関節を回動型関節とすると、Vpについて
の理想的な値は、各関節の角速度がその最大値を越え
ず、しかも各関節の位相がサーボ系及びメカ系での許容
範囲内に収まるという条件下において可能な限り大きい
値である。
Assuming that the joints are rotary joints, the ideal value for Vp is such that the angular velocity of each joint does not exceed its maximum value and the phase of each joint is within the allowable range of the servo system and the mechanical system. The value is as large as possible under the condition of being settled.

【0197】換言すれば、ある精度内でCP経路の軌跡
及び速度が指令値通りになる最大速度が理想的である。
In other words, the maximum speed at which the trajectory and speed of the CP path are within the certain accuracy as specified by the command value is ideal.

【0198】しかしながら、この時点でVpの値を知る
よしもないため、Vpの仮値Vp0を設定し、この仮値
Vp0を使って線素列{Δln}を計算してその結果を
メモリーに記憶する。
However, at this point, it is not possible to know the value of Vp, so a provisional value Vp 0 of Vp is set, a line element sequence {Δln} is calculated using the provisional value Vp 0 , and the result is stored in a memory. To memorize.

【0199】尚、仮値Vp0は、CP曲線の形状に応じ
て可変することが望ましく、また、CP制御における最
高速度値の半分程度の値が当面の目安となるが、その具
体的な決定方法はメモリー容量に関連するため後に詳述
する。
It is desirable that the provisional value Vp 0 be varied in accordance with the shape of the CP curve, and a value which is about half of the maximum speed value in the CP control is a guideline for the time being. The method will be described later in detail because it relates to the memory capacity.

【0200】ここでは、なんらかの方法によって仮値V
0が決定されたものとして説明を続ける。
Here, the provisional value V is calculated by some method.
The description is continued assuming that p 0 has been determined.

【0201】(D3)線素列{Δln}を基にしてi番
目の関節軸に係る関節角列{θin}をインバートフィ
ルターを用いて求める。
(D3) Based on the line element sequence {Δln}, a joint angle sequence {θin} related to the i-th joint axis is obtained using an invert filter.

【0202】CP曲線上における線素列{Δln}が
(D2)で求まっており、また、与えられたCP曲線を
サンプリング時間Tsで刻んだときの分割点の座標値
(Xn,Yn,Zn)の組、そして基準座標系の原点か
ら各分割点までの距離Rnは容易に計算することができ
るので、これらをインバートフィルターへの指令値とし
て入力すれば前述したように関節角列{θin}を求め
ることができ、複数回に亘るインバートフィルターの起
動によってこのような関節角列を各関節軸に関して得る
ことができる。
The line element sequence {Δln} on the CP curve is obtained by (D2), and the coordinate value (Xn, Yn, Zn) of the division point when the given CP curve is cut at the sampling time Ts And the distance Rn from the origin of the reference coordinate system to each division point can be easily calculated. If these are input as command values to the invert filter, the joint angle sequence {θin} can be calculated as described above. Such a joint angle sequence can be obtained for each joint axis by activating the invert filter a plurality of times.

【0203】つまり、既述のインバートフィルター法を
CP曲線の分割点毎に小刻みに適用していけば良い。
That is, the above-described invert filter method may be applied to the CP curve at every division point.

【0204】そして、このときついでに角速度列{dθ
in/dt}や角加速度列{d2θin/dt2}を求め
るとともに、関節角列をサーボループ系に入力したとき
の位相エラーの列(これを{Δθin}と記す。)を計
算してメモリーに記憶しておく。尚、これらの列につい
ては列中のそれぞれの最大値だけをメモリーに記憶する
ようにしても良い。
Then, at this time, the angular velocity train {dθ
in / dt} and an angular acceleration sequence {d 2 θin / dt 2 }, and a phase error sequence (referred to as {Δθin}) when the joint angle sequence is input to the servo loop system. Store it in memory. Incidentally, for these columns, only the maximum value of each of the columns may be stored in the memory.

【0205】以上の処理によって得られる結果を視覚化
して例示したものが図19及び図20である。
FIGS. 19 and 20 show visualized examples of the results obtained by the above processing.

【0206】これらの図では簡単化のために図14に示
したようなアーム系に関する2次元的な動作を示してお
り、図19はアームの作用端位置rの時間的変化と速度
dr/dtの時間的変化とを対比して示すものである。
In these figures, for simplicity, a two-dimensional operation relating to the arm system as shown in FIG. 14 is shown, and FIG. 19 shows the temporal change of the working end position r of the arm and the velocity dr / dt. Is shown in comparison with the temporal change of the data.

【0207】また、図20は関節角θ1、θ2の時間的
な変化についての一例を示すものである。
FIG. 20 shows an example of a temporal change of the joint angles θ1 and θ2.

【0208】尚、両図における時刻teは、動作の終了
時点を示している。
The time te in both figures indicates the end point of the operation.

【0209】このようにして得られる関節角列{θi
n}がVpの仮値Vp0に基づいて算出されたものであ
ることは前述した通りであり、よってこのままの関節角
を用いることは、ロボットの運動能力を十分に引き出し
得ないので、Vp値について何らかの評価を行った後V
pの仮値に修正を施して再度関節角列を算出するといっ
た補正処理が必要となる。
The joint angle sequence 関節 θi obtained in this manner
As described above, n} is calculated on the basis of the temporary value Vp 0 of Vp. Therefore, using the joint angle as it is does not sufficiently derive the motion ability of the robot. After some evaluation of
Correction processing such as correcting the temporary value of p and calculating the joint angle sequence again is required.

【0210】(D4)そこで、CP制御の精度を評価量
としてVpの最適値を決定する方法について説明する。
(D4) A method of determining the optimum value of Vp using the accuracy of CP control as an evaluation amount will be described.

【0211】関節角列は最終的にサーボ系への指令値と
して与えられるが、関節角θi(t)に対応する位相Θ
i(s)とエラー出力εi(t)に対応する位相エラー
ΔΘi(s)との間を結びつける関数をG(s)として
両者の関係が下式[数10]のように表されるものと定
義すると、これに逆ラプラス変換を施すことによって
[数11]式が得られる。
The joint angle sequence is finally given as a command value to the servo system, and the phase Θ corresponding to the joint angle θi (t)
Let G (s) be a function linking i (s) and the phase error ΔΘi (s) corresponding to the error output εi (t), and the relationship between the two is represented by the following equation [Equation 10]. When defined, by applying the inverse Laplace transform to this, the equation [11] is obtained.

【0212】[0212]

【数10】 (Equation 10)

【0213】[0213]

【数11】 [Equation 11]

【0214】[数11]式中の「L-1」は逆ラプラス演
算子であり、g(τ)はG(s)の逆ラプラス変換をと
ったものであるが、これはサーボループの構成が知られ
ていることから既知であり、よってΔθi(t)を[数
11]式を用いて計算することができる。
[Equation 11] In the equation, "L -1 " is an inverse Laplace operator, and g (τ) is the inverse Laplace transform of G (s). This is the configuration of the servo loop. Is known from the above, and Δθi (t) can be calculated by using [Equation 11].

【0215】尚、[数10]式では関節角を連続量とし
て扱ってきたが、データはサンプリングにより実際には
離散値となっており、離散系での数式表現で記述され
る。
In the equation (10), the joint angle is treated as a continuous quantity. However, the data is actually a discrete value by sampling, and is described by a mathematical expression in a discrete system.

【0216】また、これらの値はサーボ系の応答として
実際に得られる結果を利用するものではなく、サーボ系
のシミュレーションとしてソフトウェア処理によって組
まれた仮想上のモータ(以下、「シミュレーションモー
ター」という。)を用いて計算されるか、もしくは[数
11]式を離散化した式を用いて計算される。
These values do not use the results actually obtained as the response of the servo system, but a virtual motor (hereinafter, referred to as "simulation motor") assembled by software processing as a simulation of the servo system. ) Or using an expression obtained by discretizing Expression (11).

【0217】θi(t)がある時刻tで決められる度に
Δθi(t)を求めると同時にこれを用いてCP曲線に
関する位置エラーε(t)を計算する。
Every time θi (t) is determined at a certain time t, Δθi (t) is obtained, and at the same time, the position error ε (t) relating to the CP curve is calculated using this.

【0218】これには、CP曲線の線速度と関節角速度
との間の関係式を用いる。
For this, a relational expression between the linear velocity of the CP curve and the joint angular velocity is used.

【0219】今、ロボットの作用端の位置ベクトルをベ
クトル「r」、関節角ベクトルをベクトル「θ」とする
と、両者の関係は関数Fを用いてr=F(θ)と関係付
けることができるので、これを時間tで微分することに
よって[数12]が得ることができる。
If the position vector of the working end of the robot is vector “r” and the joint angle vector is vector “θ”, the relationship between the two can be related to r = F (θ) using a function F. Therefore, by differentiating this with time t, [Equation 12] can be obtained.

【0220】[0220]

【数12】 (Equation 12)

【0221】尚、上式中の∂F/∂θは所謂ヤコビアン
である。
Note that ∂F / ∂θ in the above equation is a so-called Jacobian.

【0222】ベクトルdr/dtに係るパターン形状が
加減速曲線で与えられ、その最高値がVpである。
The pattern shape related to the vector dr / dt is given by an acceleration / deceleration curve, and the maximum value is Vp.

【0223】尚、[数12]式の上段式の両辺をパラメ
ーターαで割ることによって時間軸に関するスケーリン
グ操作を施したときに得られる下段の式を見ると、ベク
トルdr/dtとdθ/dtとが同じ比率(α)で伸縮
することに注意を要する(この事実は後に利用され
る。) Δθ=[Δθ1 Δθ2 ・・・]T(「T]は転値を
意味する。)のように列ベクトルで表現して、[数1
2]式を用いて位置エラーε(t)を下式のように定義
するとともに、ε(t)の最大値をεmaxとする。
It is to be noted that looking at the lower equation obtained when the scaling operation on the time axis is performed by dividing both sides of the upper equation of the [Equation 12] by the parameter α, the vectors dr / dt, dθ / dt and Note that this will expand and contract at the same ratio (α) (this fact will be used later). A column such as Δθ = [Δθ1 Δθ2...] T ("T" means transposed value). Expressed as a vector, [Equation 1
2] The position error ε (t) is defined by the following equation using the equation, and the maximum value of ε (t) is set to εmax.

【0224】[0224]

【数13】 (Equation 13)

【0225】他方、ロボットにはCP制御の精度が仕様
によって決まっており(デフォルトト値)、これをεM
AXとすると、εmaxとεMAXとの大小関係によっ
てVpの評価を3つの場合に分けて考えることができ
る。
On the other hand, the accuracy of the CP control for the robot is determined by the specification (default value).
If AX is used, the evaluation of Vp can be divided into three cases depending on the magnitude relationship between εmax and εMAX.

【0226】i)εmax<εMAXの場合 仕様の精度以上のCP制御精度が実現されており、よっ
て、Vpの仮値をそのまま採用してロボットを動作させ
ても構わないが、CP制御の速度の面からはこの仮値で
は遅すぎる可能性がある。
I) In the case of εmax <εMAX CP control accuracy higher than the specification accuracy is realized. Therefore, the robot may be operated by adopting the temporary value of Vp as it is. From a point of view, this provisional value may be too slow.

【0227】ii)εmax>εMAXの場合。Ii) The case where εmax> εMAX.

【0228】CP制御精度が仕様の精度を満足しておら
ず、Vpの仮値では速すぎるので、これより値を小さく
する必要がある。
Since the CP control accuracy does not satisfy the accuracy of the specification and the provisional value of Vp is too fast, it is necessary to make the value smaller than this.

【0229】iii)εmax=εMAXの場合。Iii) The case where εmax = εMAX.

【0230】CP制御精度が仕様の精度を丁度満たして
おり、仮値も適度な速さである。
The CP control accuracy just satisfies the specification accuracy, and the provisional value is also moderate in speed.

【0231】以上からCP曲線の如何なる形状に対して
もロボットの能力を最大限に引き出すためにはiii)
の条件が必要十分条件となることが分かる。
From the above, in order to maximize the robot's ability for any shape of the CP curve, iii)
It can be seen that the condition (1) is a necessary and sufficient condition.

【0232】そして、Vp値の最適値を決定するには次
にような方法で行う。
Then, the optimum value of the Vp value is determined by the following method.

【0233】先ず、パラメーターαを用いた時間的なス
ケール変換t→α・tによってθi(s)がどのような
変換を受けるかについて調べることにする。
First, it will be examined how θi (s) is converted by a temporal scale conversion t → α · t using the parameter α.

【0234】ラプラス変換の定義式からθi(t)を時
間軸に関してα倍したθi(α・t)にラプラス変換を
施したものを計算すると[数14]式のようになる。
When the Laplace transform is applied to θi (α · t) obtained by multiplying θi (t) by α with respect to the time axis from the Laplace transform definition equation, the following equation is obtained.

【0235】[0235]

【数14】 [Equation 14]

【0236】尚、計算の途中でα・t=τという置き換
えを行っている。
It should be noted that α · t = τ is replaced during the calculation.

【0237】[数14]式は、θi(t)を時間軸に関
してα倍にする操作が、θi(t)のラプラス表現Θi
(s)の大きさをα分の1にするとともに、周波数をα
分の1にする操作(ラプラス変数がs/αとなる)に対
応することを示している。
[Equation 14] indicates that the operation of multiplying θi (t) by α with respect to the time axis is the Laplace expression Θi of θi (t).
(S) is reduced to 1 / α, and the frequency is set to α.
This indicates that the operation corresponds to the operation of reducing the value by 1 (the Laplace variable becomes s / α).

【0238】図21はこの変換則を視覚的に表したもの
であり、Θi(s)、Θi(s/α)、Θi(s/α)
/αとの対比からゲインと周波数とがとともに圧縮され
ている様子が分かる。
FIG. 21 shows this conversion rule visually, where Θi (s), Θi (s / α), Θi (s / α)
From the comparison with / α, it can be seen that the gain and the frequency are compressed together.

【0239】つまり、エラーΔΘi(t)を1/αに伸
縮したい場合には、上記スケール変換を施せば良く、こ
の変換によって下式[数15]に示すように関節角速度
をα分の1にすることができる。尚、このときG(s)
の変換性が問題にされない理由は、G(s)がサーボル
ープの特性そのものを表すものであり、従って、その周
波数特性を確保できるように設計される関係上特性を容
易に変化させることができないことに依っており、それ
故にG(s)の入力信号の時間軸の伸張操作によって出
力のゲイン調整を行うことが可能となる。
In other words, if the error Δ 伸縮 i (t) needs to be expanded or contracted by 1 / α, the above-mentioned scale conversion may be performed, and this conversion reduces the joint angular velocity to 1 / α as shown in the following equation (Equation 15). can do. At this time, G (s)
The reason why the conversion property is not a problem is that G (s) represents the characteristics of the servo loop itself. Therefore, the characteristics cannot be easily changed due to the design so as to secure the frequency characteristics. Therefore, it is possible to adjust the gain of the output by extending the time axis of the input signal of G (s).

【0240】[0240]

【数15】 (Equation 15)

【0241】[数12]式から関節角速度をα分の1に
することがCP曲線速度をα分の1にすることであるか
ら、αの値を適当に選ぶことで位置エラーε(t)の最
大値εmaxが仕様精度εMAXに等しくなるようにす
るVp値(これを「Vpmax」とする。)を決定する
ことができる。
From equation (12), setting the joint angular velocity to 1 / α means setting the CP curve speed to 1 / α. Therefore, by appropriately selecting the value of α, the position error ε (t) can be obtained. Can be determined so that the maximum value εmax of the above becomes equal to the specification accuracy εMAX (this is referred to as “Vpmax”).

【0242】つまり、下式[数16]に示すように、V
pの仮値に精度比εMAX/εmaxを掛けたものをV
pmaxとし、前述した(2)乃至(4)の処理を再度
行って関節角列を求めるようにすれば良い。
That is, as shown in the following expression [Equation 16], V
The temporary value of p multiplied by the accuracy ratio εMAX / εmax is given by V
pmax, and the above-described processes (2) to (4) may be performed again to determine the joint angle sequence.

【0243】[0243]

【数16】 (Equation 16)

【0244】尚、上記したVp値に決定法について要約
すると次のようになる。
The following is a summary of the method of determining the above Vp value.

【0245】位相エラーについての周波数軸での表現式
は[数10]式であり、また時間軸での表現は[数1
1]式で表されるが、CP曲線の位置エラーε(t)が
[数13]式に示すように位相エラーΔΘに関連してお
り両者の関係が線形的であることに注意すると、ε
(t)をα分の1にしたい場合には、位相エラーΔθi
をα分の1にすれば良いことが分かる。
The expression on the frequency axis for the phase error is [Equation 10], and the expression on the time axis is [Equation 1].
1], the position error ε (t) of the CP curve is related to the phase error ΔΘ as shown in [Equation 13], and it is noted that the relationship between the two is linear.
To make (t) 1 / α, the phase error Δθi
It can be seen that it is sufficient to set the value to 1 / α.

【0246】[数14]式から位相の周波数軸での表現
において該位相が時間的なスケール変換操作によってど
のような変化を見せるかが分かるので、[数10]によ
って位相と結びつけられる位相エラーのスケール変換則
が明かとなる。
From the expression [14], it is known how the phase changes in the expression of the phase on the frequency axis by the temporal scale conversion operation. Therefore, the expression of the phase error associated with the phase by the expression [10] is obtained. The scale conversion rule becomes clear.

【0247】即ち、関節角度θi(t)を時間軸に関し
てα倍すると(つまり、θi(α・t))、位相エラー
Δθ(t)、位置エラーε(t)及びその最大値εma
xをα分の1にすることができる。
That is, when the joint angle θi (t) is multiplied by α with respect to the time axis (that is, θi (α · t)), the phase error Δθ (t), the position error ε (t) and its maximum value εma
x can be reduced to 1 / α.

【0248】[数12]式によれば、このようなスケー
ル変換操作によって関節角度やCP曲線速度もα分の1
になることが分かるので、[数16]式に示すようにV
pの仮値とその適正値とを精度比に係るパラメーターα
によって結び付けることができる。
According to the equation (12), the joint angle and the CP curve speed are also reduced by a factor of α by such a scale conversion operation.
It can be understood that V becomes as shown in [Equation 16].
The temporary value of p and its appropriate value are converted to a parameter α relating to the accuracy ratio.
Can be tied together.

【0249】従って、与えられたCP曲線に対してロボ
ットのCP制御精度の仕様を丁度満たすようなCP曲線
速度を求めてロボットの能力を最大限に発揮させる制御
を実現することができる。
Therefore, it is possible to obtain a CP curve speed that exactly satisfies the specification of the robot CP control accuracy with respect to a given CP curve, and realize control for maximizing the performance of the robot.

【0250】尚、このときCP曲線に応じて加減速曲線
における最高速度が異なること、そして、制御精度が変
われば最高速度も変化すること(あるいは、制御精度を
人為的に操作すれば最高速度を故意に可変することがで
きる)は特筆すべき事項である。
At this time, the maximum speed in the acceleration / deceleration curve differs depending on the CP curve, and the maximum speed also changes if the control accuracy changes (or the maximum speed changes if the control accuracy is artificially operated). (Which can be varied on purpose) is a noteworthy matter.

【0251】例えば、ユーザーがVp値及び精度εMA
Xを指定することができるようにシステムを構築したと
すると、このVp値に基づいた仮の加減速曲線を生成し
て、シミュレーションモーターを用いた計算処理によっ
てεmaxを求め、εmaxとεMAXとの大小関係に
応じてVpに修正を施すといったことが可能となる。
For example, when the user sets the Vp value and the accuracy εMA
Assuming that the system is constructed so that X can be designated, a temporary acceleration / deceleration curve based on this Vp value is generated, εmax is calculated by a calculation process using a simulation motor, and the magnitude of εmax and εMAX is calculated. It becomes possible to modify Vp according to the relationship.

【0252】(D5)Vpの仮値を決めて試行的に関節
角列を求め、精度を評価量として最適なVp値を決定し
たので、再び関節角列の算出に係る計算処理を行う段階
に入ることになるが、これは考え方としてこのような修
正処理を要するという意味であって、全く同じような計
算を実際に2回行わなければならないことを意味するも
のではない。
(D5) The temporary value of Vp is determined, the joint angle sequence is obtained on a trial basis, and the optimal Vp value is determined using the accuracy as an evaluation amount. However, this means that such a correction process is required as a concept, but does not mean that exactly the same calculation must be actually performed twice.

【0253】例えば、仮値Vp0を用いて得られた関節
角列を利用し、これに時間軸補正を施すことによって、
Vpが最適値である場合に得られるであろう関節角列を
導出することが可能である。
For example, by using a joint angle sequence obtained using the provisional value Vp 0 and performing a time axis correction on this,
It is possible to derive a joint angle sequence that would be obtained if Vp was at an optimal value.

【0254】これには次のような方法を用いる。For this, the following method is used.

【0255】関節角度列{θin}はサンプリング時間
Ts毎にサーボ系に送られるが、このTsはCPUやサ
ーボ系にとって基本的な時間であり、これを自由に可変
することができない。
The joint angle sequence {θin} is sent to the servo system for each sampling time Ts, but this Ts is a basic time for the CPU and the servo system, and cannot be changed freely.

【0256】そこで、下式のように定義される新たなサ
ンプリング時間tsをソフトウェア上で用意する。
Therefore, a new sampling time ts defined by the following equation is prepared on software.

【0257】[0257]

【数17】 [Equation 17]

【0258】[数17]式の両辺をn倍すると、n・t
s=α・n・Tsとなり、Ts間隔のサンプリング毎に
tsずつのインクリメントがなされる。
If both sides of the equation (17) are multiplied by n, n · t
s = α · n · Ts, and the increment of ts is made every sampling of the Ts interval.

【0259】よって、時刻n・Tsのときにθi(n・
Ts)をサーボ系に送らずにθi(n・ts)=θi
(α・n・Ts)をサーボ系に送るようにすれば、時間
軸に関するα倍に伸縮操作が可能となる。
Therefore, at time n · Ts, θi (n ·
Ts) without sending it to the servo system, and θi (n · ts) = θi
If (α · n · Ts) is sent to the servo system, the expansion / contraction operation can be performed at α times the time axis.

【0260】図22にθi(n・Ts)に関してα=2
とα=1/2の時間的な変倍操作を施したときの様子を
示す。
In FIG. 22, α = 2 with respect to θi (n · Ts).
5 shows a state when a temporal zoom operation of α = と is performed.

【0261】尚、このような操作によって、求める関節
角列を得ることができるのは、前述したように加減速曲
線の生成に関しても時間的なスケール変換を利用してい
ることに密接な関係がある。
It should be noted that the joint angle sequence to be obtained by such an operation is closely related to the use of the temporal scale conversion for the generation of the acceleration / deceleration curve as described above. is there.

【0262】また、この方法は、CP制御速度を所望の
レベル、例えば、最高速を基準として1%刻みに速度を
制御するオーバーライド法に適用することも可能である
(尚、この場合同じデータがTs毎に数回に亘ってサー
ボ系に送られたり、逆にデータが間引かれたりするで
の、線形補間等を必要に応じて施こすことが望まし
い。)。
Also, this method can be applied to an override method in which the CP control speed is controlled at a desired level, for example, at 1% intervals based on the highest speed (in this case, the same data is used). It is desirable to perform linear interpolation or the like as necessary because the data is sent to the servo system several times every Ts or, conversely, data is thinned out.)

【0263】以上で関節角列{θin}を得ることがで
きたことになるが、加減速曲線が図10に示したような
パターンとなる場合において、関節角速度が、関節軸の
駆動モーターの最高速度を越えてしまうという虞れがあ
り、これに対処しないとモーターの破損等の事態を招く
ことになる。
Although the joint angle sequence {θin} has been obtained as described above, when the acceleration / deceleration curve has a pattern as shown in FIG. 10, the joint angular velocity becomes the maximum of the drive motor of the joint shaft. There is a risk that the speed will be exceeded, and if this is not dealt with, the motor may be damaged.

【0264】例えば、図23(a)に示すような階段状
の位相指令において、あるサンプリング時刻での値θi
n−1と次のサンプリング時刻での値θinとの差Δθ
iをサンプリング時間Tsで割ったものが角速度に相当
するが、このΔθiがモーターの最高速度に相当するΔ
θimaxより大きくなってしまう場合があり得る。
For example, in a stepped phase command as shown in FIG. 23A, the value θi at a certain sampling time
Difference Δθ between n−1 and value θin at the next sampling time
The value obtained by dividing i by the sampling time Ts corresponds to the angular velocity.
It may be larger than θimax.

【0265】図23(b)は、この状況をCP曲線上に
おいて示したものであり、n番目の点Pnとn+1番目
の点Pn+1との間の距離の差が許容値を越えている
(尚、図は問題点を理解し易いようにCP曲線と軌跡と
の間の差を強調して示している。)。
FIG. 23 (b) shows this situation on the CP curve, and the difference in the distance between the n-th point Pn and the (n + 1) -th point Pn + 1 exceeds the allowable value (note that FIG. , The figure emphasizes the difference between the CP curve and the trajectory to facilitate understanding of the problem.)

【0266】そこで、関節角速度の最高値を越えないよ
うに規制する方法とし以下に示す方法を採用する。
Therefore, the following method is adopted as a method for regulating the joint angular velocity so as not to exceed the maximum value.

【0267】先ず、図24(a)に示すようにCP曲線
の全長LをN等分したときの座標値をメモリーに記憶す
る。図では、4軸に係る座標値(X,Y,Z,R)をそ
れぞれ記憶するN個分の座標値記憶用メモリー(つま
り、N×4の容量)が用意される例を示している。
First, as shown in FIG. 24A, coordinate values obtained by dividing the total length L of the CP curve into N equal parts are stored in the memory. The figure shows an example in which N coordinate value storage memories (that is, a capacity of N × 4) for preparing coordinate values (X, Y, Z, R) for four axes are prepared.

【0268】これら座標値記憶用メモリー内のデータに
ついて順番に前記したインバートフィルター部を通した
結果を関節角記憶用メモリーにストアする。尚、このと
きメモリー量が十分確保されている場合には座標値記憶
用メモリーと関節角記憶用メモリーとを別々に設けるこ
とができるが、メモリー量に制約がある場合には両メモ
リーを兼用とすれば良い。
The results of passing the data in the memory for storing coordinate values through the above-mentioned inverting filter section are stored in the memory for storing joint angles in order. In this case, if a sufficient amount of memory is secured, a memory for storing coordinate values and a memory for storing joint angles can be separately provided, but if the amount of memory is limited, both memories can be used together. Just do it.

【0269】次に、図 24(b)に示すように関節角
記憶用メモリーのデータについて仮速度Vp0の下で時
間軸補正処理(後に詳述する)を施した後、シミュレー
ションモーターに入力する。この処理は、各関節軸につ
いて同時に行われる。
[0269] Then, after performing the data memory for joint angle storage (described later in detail) the time axis correction process under temporary speed Vp 0 as shown in FIG. 24 (b), and inputs to the simulation motor . This process is performed simultaneously for each joint axis.

【0270】図24(b)にはシミュレーションモータ
ーの構成の一例をシグナルフローグラフで示しており、
ノードεi、ωiは指標iで特定される関節軸について
の位相エラーと関節角速度をそれぞれ示している。
FIG. 24B is a signal flow graph showing an example of the configuration of the simulation motor.
Nodes εi and ωi indicate a phase error and a joint angular velocity of the joint axis specified by the index i, respectively.

【0271】このようなシミュレーションモーターをソ
フトウェア処理として組んでおけば、前記の畳み込み計
算や、位相エラー、速度、加速度等を必要に応じて得る
ことができるとともにノード値を容易に知ることができ
るので、ノードεi、ωiの値を常時監視していれば、
空間曲線精度εやωiの各最大値(これらを「εma
x」、「ωimax」とする。)を求めることができ
る。
By constructing such a simulation motor as software processing, the convolution calculation, phase error, speed, acceleration, and the like can be obtained as required, and the node value can be easily known. , Nodes εi and ωi are constantly monitored,
Each of the maximum values of the space curve accuracy ε and ωi (these values are referred to as “εma
x ”and“ ωimax ”. ).

【0272】ユーザーが指定する精度、角速度、Vpを
それぞれ「εMAX」、「ωiMAX」、「VpMA
X」とすると、下式[18]によって定義される「α
(ε)」、「α(ωi)」(i=1〜4)、「α(V
p)」のうちの最大値として[数19]式に示す「αm
ax」をもって時間軸変倍パラメーターの最終値とする
ことができ(これは[数12]式、[数13]式等によ
り保証される。)、これによって図23(b)で説明し
たような問題は生じなくなる。
The accuracy, angular velocity, and Vp designated by the user are set to “εMAX”, “ωiMAX”, “VpMAX”, respectively.
X ”,“ α ”defined by the following equation [18]
(Ε) ”,“ α (ωi) ”(i = 1 to 4),“ α (V
p)) as the maximum value of “αm
“ax” can be used as the final value of the time-axis scaling parameter (this is guaranteed by Equations (12), (13), and the like). No more problems.

【0273】[0273]

【数18】 (Equation 18)

【0274】[0274]

【数19】 [Equation 19]

【0275】尚、[数18]式には関節角加速度、つま
りモーター電流についての制限を含めるようにしてもよ
い。
It should be noted that the equation [18] may include a limitation on the joint angular acceleration, that is, the motor current.

【0276】図1及び図2は本発明に係る加減速パター
ン生成装置12の概要を示すものである。
FIGS. 1 and 2 show an outline of the acceleration / deceleration pattern generation device 12 according to the present invention.

【0277】指令部13から発せられる指令は先ず、V
pの仮値Vp0を決定するVp0決定部14に送られる。
The command issued from the command section 13 is
It is sent to a Vp 0 determination unit 14 that determines a provisional value Vp 0 of p.

【0278】後段の加減速パターン生成/線素列計算部
15は、この仮値Vp0に基づいて線素列{Δln}を
求める部分であり、前述したアルゴリズムの各過程に対
応した曲線長計算部15a、Tp値決定部15b、パタ
ーン生成部15c、線素列計算部15dから構成されて
いる(図2参照)。
The acceleration / deceleration pattern generation / line sequence calculating unit 15 in the subsequent stage is a part for calculating the line sequence {Δln} based on the provisional value Vp 0 , and calculates the curve length corresponding to each process of the above-mentioned algorithm. It comprises a unit 15a, a Tp value determination unit 15b, a pattern generation unit 15c, and a line element sequence calculation unit 15d (see FIG. 2).

【0279】つまり、線素列は前述したように曲線長L
に対応したTp値に基づいて生成される加減速曲線の形
状関数に従ってCP曲線をサンプリング時間刻みのセグ
メントに分割してそれぞれの長さを計算することによっ
て得られる(但し、後述するする時間軸補正処理によれ
ば、CP曲線の線素列はメモリー量に応じて等分割され
る。)。
That is, the line element sequence has the curve length L as described above.
The CP curve is obtained by dividing the CP curve into segments at intervals of the sampling time according to the shape function of the acceleration / deceleration curve generated based on the Tp value corresponding to the Tp value and calculating the respective lengths (however, a time axis correction described later) According to the processing, the line element sequence of the CP curve is equally divided according to the memory amount.)

【0280】そして、この線素列に基づいてインバート
フィルター部16での計算処理によって関節角列{θi
n}を求めてから、最適Vp値決定部17においてシミ
ュレーションモーターを使った計算に基づいてVpの適
正値を決定して線素列に対する補正計算を行った後、最
終的に加減速パターンに係る制御指令をサーボ系及びメ
カニズム系18に送出するようになっている。
Then, based on this line element sequence, the joint angle sequence {θi
After obtaining n 求 め, the optimum Vp value determination unit 17 determines an appropriate value of Vp based on a calculation using a simulation motor, performs a correction calculation for the line element sequence, and finally relates to the acceleration / deceleration pattern. The control command is sent to the servo system and the mechanism system 18.

【0281】尚、Vpの適正値に基づく補正計算は原理
的には加減速パターン生成/線素列計算部15とインバ
ートフィルター部16と通した再計算によって得ること
ができるが、前述したようにこれと同等の修正計算を時
間軸の伸張操作によって行うようにすれば、図1に2点
鎖線で示すように補正計算部19の計算結果をそのまま
サーボ系及びメカニズム系18に送出することができ
る。
The correction calculation based on the appropriate value of Vp can be obtained in principle by re-calculation through the acceleration / deceleration pattern generation / line element sequence calculation unit 15 and the invert filter unit 16 as described above. If a correction calculation equivalent to this is performed by an extension operation on the time axis, the calculation result of the correction calculation unit 19 can be sent to the servo system and the mechanism system 18 as it is, as shown by a two-dot chain line in FIG. .

【0282】また、インバートフィルター部16につい
ての構成例は図13に示した通りである。
The configuration example of the invert filter section 16 is as shown in FIG.

【0283】次に、CP制御の速度に関しては以下のよ
うな可能性を考慮しておく必要がある。
Next, with regard to the speed of the CP control, it is necessary to consider the following possibilities.

【0284】これまでに説明した加減速曲線では、定速
期間での速度値が一定とされた制御を取り上げてきた
が、定速制御の途中で必要に応じて減速して停止へと移
行させたいような場合、あるいはCP曲線のあるセグメ
ントの曲率がゼロに近くて直線状をなしているときには
高速な制御を行い、曲率の大きいセグメントでは速度を
落とすようにした減り張りのある制御を行いたい場合が
ある。
In the acceleration / deceleration curves described so far, the control in which the speed value during the constant speed period is fixed has been taken up. However, the speed is decelerated as necessary during the constant speed control to shift to the stop. If you want to perform high-speed control when the curvature of a segment with a CP curve is close to zero and form a straight line, and if you want to perform control with reduced tension so that the speed is reduced in a segment with a large curvature There is.

【0285】以下では、この要請と上記した関節角速度
の制限に対する解決法として、サンプリング時間に変調
をかける方法(以下、「サンプリング時間変調法」とい
う。)について説明する。
In the following, a method of modulating the sampling time (hereinafter, referred to as a “sampling time modulation method”) will be described as a solution to this request and the above-described limitation of the joint angular velocity.

【0286】先ず、図25の加減速曲線に示すように、
加速後の定速期間において何らかの必要が生じて途中
(この時点を「T0」とし、その後の減速曲線を図では
破線で示す。)から減速させたい場合の減速制御につい
て説明する。
First, as shown in the acceleration / deceleration curve of FIG.
A description will be given of deceleration control in the case where it is necessary to decelerate from the middle (at this point of time “T0” and the subsequent deceleration curve is indicated by a broken line in the figure) during the constant speed period after acceleration due to some necessity.

【0287】例えば、非常停止がかかった場合や、閉曲
線上に沿ってロボットの作用端を周期的に多数回に亘っ
て回転させる制御の途中において閉曲線の任意に点で動
作を停止させたいような場合等を挙げることができる。
For example, when an emergency stop is applied, or when it is desired to stop the operation at an arbitrary point on the closed curve during the control of rotating the working end of the robot periodically and many times along the closed curve. And the like.

【0288】前述したように、逆運動学問題の解として
得られる関節角列{θin}はメモリーに記憶されてい
るため、このデータをそのままサーボ系に送出したので
は定速期間の途中から減速に移行させることができな
い。
As described above, since the joint angle sequence {θin} obtained as a solution to the inverse kinematics problem is stored in the memory, if this data is sent to the servo system as it is, deceleration will occur in the middle of the constant speed period. Can not be transferred to.

【0289】そこで、t=T0の時点以後においてサン
プリング時間間隔で図25に破線で示すような減速パタ
ーンを得るために関節角列{θin}を新たに計算しな
ければならない。
Therefore, after t = T0, the joint angle sequence {θin} must be newly calculated at sampling time intervals to obtain a deceleration pattern as shown by the broken line in FIG.

【0290】しかしながら、サンプリング時間Tsは固
定した値であるといった制約や、再計算時間に対する短
縮化の要求がある。
However, there is a restriction that the sampling time Ts is a fixed value, and there is a demand for shortening the recalculation time.

【0291】そこで、CP制御の開始前に既に計算済の
関節角列{θin}をそのまま再利用することによって
減速パターンを生成することを可能にするアルゴリズム
を用いることにする。
Therefore, an algorithm is used that enables a deceleration pattern to be generated by reusing the already calculated joint angle sequence {θin} before starting the CP control.

【0292】定速期間を含む加減速曲線において定速期
間での速度をVp、Ts間の移動量をΔlとし、t=T
0以後における減速パターンについて時刻t=n・Ts
での速度をVEXP(n・Ts)とするとき、修正された
時間列{tsn}を下式のように定義する。
In the acceleration / deceleration curve including the constant speed period, the speed during the constant speed period is Vp, the movement amount between Ts is Δl, and t = T
Time t = n · Ts for deceleration pattern after 0
When speed and V EXP (n · Ts) in, defined as the following expression modified time sequence {tsn}.

【0293】[0293]

【数20】 (Equation 20)

【0294】尚、ここでVEXP(n・Ts)やVpは既
知である。
Here, V EXP (n · Ts) and Vp are known.

【0295】この時間列{tsn}の意味を図示したも
のが図26であり、時間例{tsn}は減速の過程で描
かれる速度VEXP(n・Ts)×時間tsnの面積がΔ
l(Ts間の移動量)に等しい面積となる(図では、傾
斜方向の異なる斜線部分の面積として表示している)よ
うに規定される時間列である。
FIG. 26 illustrates the meaning of this time sequence {tsn}. In the time example {tsn}, the area of speed V EXP (n · Ts) × time tsn drawn in the process of deceleration is Δ
This is a time sequence defined so as to have an area equal to 1 (the amount of movement between Ts) (in the figure, the area is shown as the area of the diagonally shaded portions having different inclination directions).

【0296】そこで、サンプリング時間を一定値ではな
く、この時間列{tsn}の間隔でもって関節角列をサ
ーボ系に送出すれば、正確な減速パターンを描かせるこ
とができるが、Tsは前述したように固定した値である
ため、図27に示すような方法を採ることにする。
Therefore, if the sampling time is not a fixed value but the joint angle sequence is sent to the servo system at intervals of this time sequence {tsn}, an accurate deceleration pattern can be drawn. Since the values are fixed as described above, a method as shown in FIG. 27 is adopted.

【0297】図27は、t=T0での関節角を起点とし
てこれ以後に定速移動する関節列に軌跡とサンプリング
時間変調法による減速パターンの軌跡とを併せて示すも
のであり、横軸の時間軸tはTs刻みに区切られてお
り、縦軸に示す関節角の位相はTs毎にサンプリングさ
れている。
FIG. 27 shows the trajectory and the trajectory of the deceleration pattern by the sampling time modulation method together with the trajectory of the joint row that moves at a constant speed from the joint angle at t = T0. The time axis t is divided at intervals of Ts, and the phase of the joint angle shown on the vertical axis is sampled for each Ts.

【0298】そして、黒丸の印で示す位置が定速パター
ンの軌跡を示し、各区間で位相値が保持されて階段状に
なってる。
The positions indicated by the black circles indicate the locus of the constant speed pattern, and the phase value is held in each section, and the section has a step-like shape.

【0299】また、図中三角印で示す位置は時間列{t
sn}を時間軸t上にとったときのt=tsnとΘ=Θ
nとの交点を示しており、上記[数20]式に対応する
減速パターンの軌跡を示している。この軌跡は時間列
{tsn}の各区間で位相値が保持されて階段状をした
パターンになっている。
The position indicated by a triangle in the figure is a time sequence Δt
t = tsn and Θ = Θ when sn} is taken on the time axis t
n indicates the intersection with n, and indicates the locus of the deceleration pattern corresponding to the above [Equation 20]. This trajectory is a step-like pattern in which the phase value is held in each section of the time sequence {tsn}.

【0300】この軌跡をサンプリング時間Tsの間隔で
再度サンプリングすることによって近似したデータ列を
白丸印で示しており、サンプリング時間TsごとにΘn
の値の何回かに亘って保持しつつ、時間列{tsn}の
位相列に近い軌跡を得ることができる。
A data string approximated by resampling this trajectory at intervals of the sampling time Ts is indicated by white circles, and Δn for each sampling time Ts.
Of the time sequence {tsn} can be obtained while holding the value of the time sequence several times.

【0301】図27を見ても明かなように両者の差は最
大でTsと位相との積程度であるため比較的良い近似で
ある。
As is apparent from FIG. 27, the difference between the two is at most about the product of Ts and phase, and is a relatively good approximation.

【0302】図28はサンプリング時間変調法に関する
ブロック構成を概念的に示したものであり、逆運動学問
題の解がメモリー20に貯えられ、これらがTs間隔の
タイミングスイッチ21及び後段の0次ホールド部22
を経て、tsnのタイミングスイッチ23によって変調
がかけられた後(つまり、速度による変調)、さらに0
次ホールド部24、Ts間隔のタイミングスイッチ25
を介してサーボ系へと送られる。
FIG. 28 conceptually shows a block configuration related to the sampling time modulation method. The solution of the inverse kinematics problem is stored in the memory 20, and these are the timing switch 21 at Ts intervals and the 0th-order hold at the subsequent stage. Part 22
, After being modulated by the tsn timing switch 23 (that is, modulation by speed),
Next hold unit 24, Ts interval timing switch 25
Is sent to the servo system via.

【0303】尚、0次ホールド部22、24を用いた理
由は処理の簡単化や高速化を考慮して現実の要請に答え
たためであり、一般には高次のホールドを用いることも
可能である。
[0303] The reason why the zero-order hold units 22 and 24 are used is to respond to actual demands in consideration of simplification of processing and speeding up. In general, a higher-order hold can be used. .

【0304】関節角列θinはTs刻みにサンプリング
されて既にメモリーに格納されているので、加減速曲線
が決められると時間列{tsn}及びこれに対応した位
相列が図27に示すように決定され、tsnのタイミン
グでサンプルホールドされた階段状波形が得られる(図
27の三角印参照)。
Since the joint angle sequence θin is sampled at intervals of Ts and already stored in the memory, when the acceleration / deceleration curve is determined, the time sequence {tsn} and the corresponding phase sequence are determined as shown in FIG. Thus, a stepped waveform sampled and held at the timing of tsn is obtained (see the triangles in FIG. 27).

【0305】この波形を再度Ts刻みにサンプリングす
ることによって図27に白抜きの丸印で示した位相列が
得られることになる。
By sampling this waveform again at intervals of Ts, a phase sequence indicated by white circles in FIG. 27 is obtained.

【0306】尚、時間列{tsn}の位相列と再サンプ
リングされた位相列との間の誤差をより小さくするには
線形補間を用いる(つまり、図28で後段側の0次ホー
ルド部24に補間機能をもたせる)とさらに近似が良く
なる。
In order to reduce the error between the phase sequence of the time sequence {tsn} and the resampled phase sequence, linear interpolation is used (that is, the 0-order hold unit 24 on the subsequent stage in FIG. 28 is used). If an interpolation function is provided), the approximation is further improved.

【0307】今、移動量をΔθとし移動時間Δtしたと
きの速度v=Δθ/Δtの変分δv(このδは変分を意
味し、前述した基本パラメーターのδとは異なる。)を
求めると、下式のようになる。
Now, a variation δv of the velocity v = Δθ / Δt when the movement amount is Δθ and the movement time Δt is obtained (this δ means the variation and is different from the above-mentioned basic parameter δ). , As shown below.

【0308】[0308]

【数21】 (Equation 21)

【0309】つまり、最大で(Δθ/(Δt)2)・T
sの変化が発生し、Δθに比例することが分かる。
That is, at most (Δθ / (Δt) 2 ) · T
It can be seen that a change in s occurs and is proportional to Δθ.

【0310】この変化があまりに大きいと円滑な動作が
保証されないことになるので、これをなるべく小さくす
るために図29に示すような線形補間を施すことにす
る。
If the change is too large, a smooth operation cannot be guaranteed. To reduce the change as much as possible, a linear interpolation as shown in FIG. 29 is performed.

【0311】つまり、時刻n・Ts、(n+1)・Ts
での位相値がともにΘnで、時刻(n+2)・Tsでの
位相値がΘn+1である場合(図27に黒丸印で示
す。)、時刻(n+1)・Tsでの位相値をΘnとΘn
+1との中間に位置する値(図29に□印で示す。)に
なるようにすれば、CP制御の精度上問題なく円滑な動
作を実現することができる。
That is, time n · Ts, (n + 1) · Ts
Are both Θn and the phase value at time (n + 2) · Ts is Θn + 1 (indicated by a black circle in FIG. 27), the phase values at time (n + 1) · Ts are Θn and Θn
If the value is set to a value intermediate between +1 (shown by a square in FIG. 29), a smooth operation can be realized without any problem in the accuracy of the CP control.

【0312】要するにこの補間法は、[数21]式中の
Δθを小さくすることで速度の変動δvを抑えて動作に
滑らかにする方法であると言える。
[0312] In short, this interpolation method can be said to be a method of reducing the speed change δv by reducing Δθ in the equation (21) and smoothing the operation.

【0313】尚、図27では縦軸に位相をとっている
が、精度の観点からは縦軸をCP曲線上の座標(X、
Y、Z)をとって上記したサンプリング時間変調法を適
用すればCP曲線に関する線形補間が可能となり、精度
の向上を期待することができる。勿論、メモリー容量を
増やすことが許されるのであれば、必要十分な精度を得
ることができる。
In FIG. 27, the phase is plotted on the vertical axis, but from the viewpoint of accuracy, the vertical axis represents the coordinates (X,
If the sampling time modulation method described above is applied by taking Y, Z), linear interpolation on the CP curve can be performed, and improvement in accuracy can be expected. Of course, if the memory capacity can be increased, necessary and sufficient accuracy can be obtained.

【0314】さて、上記したサンプリング時間変調法を
用いて下記に示すような機能を実現することが可能とな
る。
The following functions can be realized by using the sampling time modulation method described above.

【0315】(E1)閉曲線に沿う多回転制御後の円滑
な減速制御。
(E1) Smooth deceleration control after multi-rotation control along a closed curve.

【0316】(E2)CP制御速度のオーバーライド法
(速度可変法)。
(E2) CP control speed override method (variable speed method).

【0317】(E3)CP制御精度が一定となるように
CP制御速度を自由に可変すること。
(E3) To freely change the CP control speed so that the CP control accuracy is constant.

【0318】(E4)加減速期間での移動距離に関する
ユーザー指定。
(E4) User's designation regarding the moving distance during the acceleration / deceleration period.

【0319】以下では、この順番に説明を行うことにす
る。
Hereinafter, description will be made in this order.

【0320】(E1)先ず、周期的なCP制御、つまり
閉曲線に沿って多数回の回転制御を行う場合、例えば、
2回目の回転からペーストを行うような場合には、その
回転の終了時点で塗布を止めれば、加減速パターンでの
ロボット動作に影響されることなく作業を行うことがで
きる。
(E1) First, in the case of performing periodic CP control, that is, performing rotation control many times along a closed curve, for example,
In the case where the paste is performed from the second rotation, if the application is stopped at the end of the rotation, the work can be performed without being affected by the robot operation in the acceleration / deceleration pattern.

【0321】図30は、CP曲線長L、加速期間Tpと
減速期間Tpでの移動量の和をlTpとした時のピーク速
度Vpの定速パターンを含む加減速曲線を示すものであ
る。
FIG. 30 shows an acceleration / deceleration curve including a constant speed pattern of the peak speed Vp when the sum of the movement amounts in the CP curve length L, the acceleration period Tp, and the deceleration period Tp is 1 Tp .

【0322】このような加減速曲線を何かに亘って接続
したのでは、作業に十分な定速期間を確保することがで
きないため、例えば塗装作業の場合には塗りムラが生じ
る等の不都合が生じることになる。
If such an acceleration / deceleration curve is connected over a certain range, it is not possible to secure a constant speed period sufficient for the work. Will happen.

【0323】そこで、多回転制御では複数回に亘る回転
軌跡を一のCP曲線とみなすとともに、定速パターンで
の関節角列だけを用意しておき、加減速曲線の立ち上が
り時において上述したサンプリング時間変調法を使用す
れば、加減速時において同一のアルゴリズムを用いるこ
とができる。
Therefore, in the multi-rotation control, a plurality of rotation trajectories are regarded as one CP curve, and only a joint angle sequence in a constant speed pattern is prepared, and the above-described sampling time at the rise of the acceleration / deceleration curve is obtained. If the modulation method is used, the same algorithm can be used at the time of acceleration / deceleration.

【0324】尚、加速時や減速時における時間列{ts
n}は、TpやlTpの値が予め知られていることからC
P制御の開始前に計算して求めるようにしても良いし、
また、Ts間にリアルタイム処理で行うようにしても良
い。
The time sequence Δts at the time of acceleration or deceleration
n} is C since the values of Tp and l Tp are known in advance.
It may be calculated and obtained before the start of the P control,
Alternatively, the processing may be performed in real time during Ts.

【0325】(E2)次にCP制御に関するオーバーラ
イド法について説明する。
(E2) Next, an override method relating to CP control will be described.

【0326】図30に示すような加減速パターンに従っ
てCP制御を行う場合、制御速度を、最高速に関して自
由に可変するには下記にような2種類の制御方法を用い
ることができる。
When the CP control is performed according to the acceleration / deceleration pattern as shown in FIG. 30, the following two types of control methods can be used to freely vary the control speed with respect to the maximum speed.

【0327】その一は、総移動時間をTとしたときに、
これをp%だけ増加したい場合には時間軸を100/p
倍に操作する方法である。
[0327] First, when the total travel time is T,
If you want to increase this by p%, set the time axis to 100 / p
It is a method of operating twice.

【0328】つまり、新しいサンプリング時間を「Ts
p」とするとき、下式のように計算すれば良い。
That is, the new sampling time is set to “Ts
When “p” is used, the calculation may be performed as in the following equation.

【0329】[0329]

【数22】 (Equation 22)

【0330】但し、何度も繰り返すようにサンプリング
時間Tsは固定値であるため、この場合にもサンプリン
グ時間変調法を適用する。
However, since the sampling time Ts is a fixed value so as to be repeated many times, the sampling time modulation method is applied also in this case.

【0331】尚、この方法では、総移動時間を所定の比
率、例えば1%刻みで可変させることができ、これに伴
って速度も減少させることができるが、その速度が最高
速に関してどれくらいの速度まで落ちているかを容易に
知ることができないという難点がある。
In this method, the total movement time can be varied at a predetermined ratio, for example, in steps of 1%, and the speed can be reduced accordingly. There is a drawback that it is not easy to know whether it has fallen.

【0332】これに対してCP制御速度を直接に可変す
ることの方が、実用面では多いと考えられ、もう一の方
法はこのような状況に対応することができるものであ
る。今、オーバーライドをかける前の時刻t=n・Ts
での速度をv(n・Ts)とし、その時の位相値をΘ
(n・Ts)とすると、p%のオーバーライドをかけた
ときの速度はV(n・Ts)・p/100となる。
On the other hand, it is considered that changing the CP control speed directly is more practical, and the other method can cope with such a situation. Now, the time t = n · Ts before the override is applied
Is the speed at v (n · Ts), and the phase value at that time is Θ
Assuming that (n · Ts), the speed when the p% override is applied is V (n · Ts) · p / 100.

【0333】よって、軌跡が与えられたCP曲線に沿う
ようにオーバーライドをかけるための修正されたサンプ
リング時間tsnは下式に示すようにして求めることが
できる。
Therefore, the modified sampling time tsn for performing the override so that the locus follows the given CP curve can be obtained as shown in the following equation.

【0334】[0334]

【数23】 (Equation 23)

【0335】このようにして時間列{tsn}が求めら
れたならば、後はサンプリング変調法のアルゴリズムを
そのまま適用すれば良い。
After the time sequence {tsn} is obtained in this manner, the algorithm of the sampling modulation method may be applied as it is.

【0336】(E3)CP制御では、一般に軌跡や速度
の精度が重要な評価要素とされ、ロボットの作業時間帯
は加減速曲線の定速パターン部とされることが多い。
(E3) In the CP control, generally, the accuracy of the trajectory and speed is an important evaluation factor, and the working time zone of the robot is often a constant speed pattern portion of an acceleration / deceleration curve.

【0337】しかし、ユーザーはCP曲線上を制御開始
点から終了点に向かってある精度内で可能な限り速い速
度でロボットを動作させたい状況に遭遇することがある
と考えられる。
However, it is conceivable that the user may encounter a situation where he wants to operate the robot at a speed as fast as possible within a certain accuracy from the control start point to the end point on the CP curve.

【0338】つまり、CP曲線上の直線状のセグメント
では速度を上げて高速にトレースし、曲がりの程度が大
きいセグメントでは速度を落として低速でトレースする
ような制御を可能にすることが望まれる。
That is, it is desired to enable control such that a straight segment on the CP curve is traced at a high speed by increasing the speed, and a segment having a large degree of bend is traced at a low speed by decreasing the speed.

【0339】図31はCP曲線の指令軌跡と実際の軌跡
との誤差ベクトルや諸量の定義を示すものである。
FIG. 31 shows the definition of error vectors and various quantities between the command locus of the CP curve and the actual locus.

【0340】図中の点SがCP曲線の始点を示し、点E
が終点を示している。
The point S in the figure indicates the start point of the CP curve, and the point E
Indicates the end point.

【0341】ベクトルε(t)はCP曲線と軌跡との間
の誤差ベクトルを時間の関数として表したものであり、
その大きさは|ε(t)|≧0である。
The vector ε (t) represents an error vector between the CP curve and the locus as a function of time.
Its magnitude is | ε (t) | ≧ 0.

【0342】また、原点OからCP曲線上の任意の点に
向けて引いたベクトルr(t)が、その点の位置ベクト
ルを示している。
A vector r (t) drawn from the origin O toward an arbitrary point on the CP curve indicates a position vector at that point.

【0343】尚、モータの位相エラーをΔΘ(t)=
[ΔΘ1 ΔΘ2 ・・・]Tとし、サーボ系について位
相入力−出力間の関係を規定する伝達関数をG(s)と
する。
The phase error of the motor is represented by ΔΘ (t) =
[ΔΘ1 ΔΘ2...] T, and a transfer function that defines the relationship between phase input and output for the servo system is G (s).

【0344】また、εMAXをCP制御の位置精度と
し、ユーザーがティーチングペンダント等を使って指定
することができる精度をεuとする。
Also, let εMAX be the position accuracy of the CP control, and let εu be the accuracy that can be specified by the user using a teaching pendant or the like.

【0345】[数11]式及び[数13]式から分かる
ように、|ε(t)|の値は畳み込み計算結果Δθとヤ
コビアンとの積の絶対値として下式のように表される。
As can be seen from the equations [11] and [13], the value of | ε (t) | is expressed as the following equation as the absolute value of the product of the convolution calculation result Δθ and the Jacobian.

【0346】[0346]

【数24】 (Equation 24)

【0347】尚、図32に|ε(t)|の時間的な変化
の一例をグラフ化して示す。
FIG. 32 is a graph showing an example of the temporal change of | ε (t) |.

【0348】時間軸に関する変倍用パラメーターをα
(t)としこれが時間に依存するものと考えると、[数
24]式の両辺をこのα(t)で割った式をユーザー指
定の精度εuに等しいとして下式を得ることができる。
The zooming parameter on the time axis is α
Assuming that (t) is time-dependent, the following equation can be obtained assuming that an equation obtained by dividing both sides of equation (24) by this α (t) is equal to the user-specified precision εu.

【0349】[0349]

【数25】 (Equation 25)

【0350】つまり、時間軸に関して時間に依存するパ
ラメーターα(t)の変倍操作を施すことによってεu
を一定化させることができる。
That is, by performing a scaling operation of the parameter α (t) depending on the time axis with respect to time, εu
Can be made constant.

【0351】よって、[数12]式の上段式の両辺をα
(t)で割ることによって得られる下式[数26]か
ら、CP制御速度がεu=一定という条件下に変化する
ことになる。
Therefore, both sides of the upper equation of the equation (12) are expressed by α
From the following equation (26) obtained by dividing by (t), the CP control speed changes under the condition that εu = constant.

【0352】[0352]

【数26】 (Equation 26)

【0353】例えば、位置エラーε(t)が大きいとき
にはα(t)が大きな値となるので低速になる。
For example, when the position error ε (t) is large, α (t) becomes a large value, so that the speed becomes low.

【0354】このような時間軸に関する操作によって変
調をかけることによってサンプリング時間Tsに対して
新たな時間tnが下式のように得られる。
By performing modulation by such an operation on the time axis, a new time tn with respect to the sampling time Ts is obtained as in the following equation.

【0355】[0355]

【数27】 [Equation 27]

【0356】この新たな時間列{tn}に基づいてサン
プリング時間変調法を適用すれば、所期の目的を達成す
るこができる。
The intended purpose can be achieved by applying the sampling time modulation method based on this new time sequence {tn}.

【0357】尚、その際、tnには限界値を設けておか
ないと|ε(t)|=0のときにα(t)=0となるの
で動作に支障を来たすことになるので注意を要する。
At this time, if a limit value is not set for tn, α (t) = 0 when | ε (t) | = 0, which may hinder the operation. It costs.

【0358】次に、これまで留保してきたピーク速度V
pの仮値の決定方法及びこれとサンプリング時間変調法
との関係について説明する。
Next, the peak speed V which has been reserved
A method of determining a temporary value of p and the relationship between the method and the sampling time modulation method will be described.

【0359】Vpの決定がメモリー容量と密接な関係を
もっていることは、Vpが小さいときのメモリー消費量
が多いことから伺い知ることができる。
The fact that the determination of Vp is closely related to the memory capacity can be inferred from the large amount of memory consumption when Vp is small.

【0360】以下では、Vpの仮値Vp0、最適速度V
OPTとメモリー容量の関係について説明する。
In the following, the provisional value Vp 0 of Vp, the optimum speed V
The relationship between pOPT and the memory capacity will be described.

【0361】尚、下表に記号とその意味を定義する。The following table defines the symbols and their meanings.

【0362】[0362]

【表3】 [Table 3]

【0363】今、図33に示すように始点S、終点Eの
CP曲線に沿って同一の速度Vp0で移動制御する場合
(勿論これはあくまでも仮想上のものである。)を仮定
すると、総移動時間Tall 0は曲線長LをVpの仮値Vp
0で割ったものであり、下式のようになる。
Now, assuming that the movement is controlled at the same speed Vp 0 along the CP curve of the start point S and the end point E as shown in FIG. 33 (this is of course a virtual one), The moving time T all 0 is calculated by setting the curve length L to the provisional value Vp of Vp.
It is divided by 0 , and it becomes like the following formula.

【0364】[0364]

【数28】 [Equation 28]

【0365】よって、CP曲線はサンプリング時間Ts
の間隔で下式に示すようにNn個に分割されることにな
る。
Therefore, the CP curve has a sampling time Ts
Is divided into Nn pieces as shown in the following equation.

【0366】[0366]

【数29】 (Equation 29)

【0367】そして、このNnが1軸当たりのメモリー
容量Nmに丁度等しいならば、メモリーを最大限に使っ
て最も精度良く曲線を分割したことになる。
If this Nn is exactly equal to the memory capacity Nm per axis, it means that the curve is divided with the maximum accuracy using the memory.

【0368】つまり、下式のように仮値Vp0を決定す
れば良い。
That is, the provisional value Vp 0 may be determined as in the following equation.

【0369】[0369]

【数30】 [Equation 30]

【0370】尚、曲線長Lが小さい場合には、上式[数
30]から得られる値をそのまま用いると、確かに分割
精度は高いが計算時間がかかることになるため、Lの最
大値Lmaxを予め決めておき、この値Lmaxのとき
にメモリー容量Nmが消費されるようにし、下式に示す
ように単位長さ当たりのメモリー容量nmを決定するよ
うにしても良い。
When the curve length L is small, if the value obtained from the above equation [30] is used as it is, the division accuracy will be high, but it will take a long time to calculate. Therefore, the maximum value Lmax of L is obtained. May be determined in advance, and the memory capacity Nm is consumed at the value Lmax, and the memory capacity nm per unit length may be determined as shown in the following equation.

【0371】[0371]

【数31】 (Equation 31)

【0372】このように仮値Vp0を決定すれば、CP
曲線に対して単位長さ当たりの分割数を一定化すること
ができ、曲線長の短いCP曲線についての計算時間を短
縮することができる。
If the provisional value Vp 0 is determined in this manner, CP
The number of divisions per unit length for a curve can be made constant, and the calculation time for a CP curve with a short curve length can be shortened.

【0373】次にサンプリング時間変調法による加減速
パターンの発生について説明する。上記のようにNm個
に分割されたCP曲線上の各分割点について得られる関
節角列{θin}はインバートフィルター部での処理後
にメモリーに記憶される。
Next, generation of an acceleration / deceleration pattern by the sampling time modulation method will be described. The joint angle sequence {θin} obtained for each division point on the CP curve divided into Nm pieces as described above is stored in the memory after the processing in the invert filter unit.

【0374】関節角列{θin}の添字iが各関節軸を
区別し、nが分割点を特定していることから明らかなよ
うに、この列はNm×i個の要素からなる集合である。
As is clear from the fact that the subscript i of the joint angle sequence {θin} distinguishes each joint axis and n specifies the division point, this sequence is a set composed of Nm × i elements. .

【0375】よって、この集合の中からnが同一となる
要素、例えば、4軸のリンク構成の場合には(θ1n、
θ2n、θ3n、θ4n)を取り出してサーボ系に送れ
ば、図33に示したCP曲線におけるn番目の分割点に
作用端を移動させることができる。
Therefore, in this set, elements having the same n, for example, in the case of a four-axis link configuration, (θ1n,
By taking out (θ2n, θ3n, θ4n) and sending them to the servo system, the working end can be moved to the n-th division point in the CP curve shown in FIG.

【0376】また、Ts間隔で関節角列のデータをサー
ボ系に送れば、作用点が一定速度Vp0でCP曲線上を
移動することになる。
If the data of the joint angle train is sent to the servo system at intervals of Ts, the action point moves on the CP curve at a constant speed Vp 0 .

【0377】そして、集合{θin}からある時間間隔
でデータを取り出してサーボ系に送ればこの時間間隔に
応じた速度で作用点をCP曲線に沿って移動させること
ができる。
If data is taken out from the set {θin} at a certain time interval and sent to the servo system, the action point can be moved along the CP curve at a speed corresponding to this time interval.

【0378】例えば、n=1から順に2・Tsの間隔で
データをサーボ系に送れば図33のCP曲線上をVp/
2の速度で作用点を移動させることができる。
For example, if data is sent to the servo system at intervals of 2 · Ts from n = 1, Vp / V
The action point can be moved at a speed of 2.

【0379】そこで、加減速曲線が[数4]式で示した
ような形状をなす場合について加減速期間における時間
間隔tsnを求めてみる。
Therefore, the time interval tsn in the acceleration / deceleration period will be obtained for a case where the acceleration / deceleration curve has a shape as shown in [Equation 4].

【0380】図34に示す加減速曲線において、Tpm
inはTp値の最小値であり、下式のようにサンプリン
グ時間TsのK(整数)倍となるように選んでおく。
In the acceleration / deceleration curve shown in FIG.
in is the minimum value of the Tp value, and is selected so as to be K (integer) times the sampling time Ts as shown in the following equation.

【0381】[0381]

【数32】 (Equation 32)

【0382】Tpmin間における移動量をlminと
するとこれは次式のようになる。
Assuming that the movement amount between Tpmin is 1 min, this is as follows.

【0383】[0383]

【数33】 [Equation 33]

【0384】尚、この式は前述した式lp=Vp・δ
(デルタ)(Tp)を使って得られるものである。
Note that this equation is equivalent to the above-mentioned equation lp = Vp · δ
(Delta) (Tp).

【0385】よって、0≦t≦Tpmin間の移動距離
l(t)と、速度dl(t)/dtは下式に示すように
なる。
Therefore, the moving distance l (t) between 0 ≦ t ≦ Tpmin and the speed dl (t) / dt are as shown in the following equation.

【0386】[0386]

【数34】 (Equation 34)

【0387】尚、lmin(t)は加減速曲線の標準関
数であり、例えば[数2]式のような形をしている。
Note that lmin (t) is a standard function of the acceleration / deceleration curve, and has a form, for example, as shown in [Equation 2].

【0388】時間列は、[数34]式の速度に関する関
係式においてt=n・Tsのときに時間tsn内の移動
距離が仮値Vp0のTs間にける移動距離に等しいとお
いて下式のように得ることができる。
The time sequence is expressed by the following equation, assuming that the moving distance within the time tsn is equal to the moving distance between Ts of the provisional value Vp 0 when t = n · Ts in the relational expression relating to the speed of [Equation 34]. Can be obtained as follows.

【0389】[0389]

【数35】 (Equation 35)

【0390】従って、時間列tsnに従って集合{θi
n}からn番目のデータをサーボ系に送れば、作用点が
指定されたCP曲線上をTpminの加速期間をもって
立ち上がることになる。
Therefore, the set {θi according to the time sequence tsn
If the n-th data from n is sent to the servo system, it will rise on the CP curve with the designated action point with an acceleration period of Tpmin.

【0391】t=tsnにおけるθ値をθin(ts
n)と記すことにすると、これが直ちにサーボ系に送ら
れる訳ではなく、Vpの最適値の決定に係る前述した処
理を経た後時間的なスケール変換(t→α・t)を受け
て、さらにTsによる再サンプリング処理を施された上
で最終的にサーボ系に送出される。
The value of θ at t = tsn is represented by θin (ts
n), this is not immediately sent to the servo system, but is subjected to the temporal scale conversion (t → α · t) after the above-described processing for determining the optimum value of Vp, and further, After resampling processing by Ts is performed, it is finally sent to the servo system.

【0392】尚、Tsによる再サンプリング処理を受け
る前にθinについての補間処理を必要に応じて行うこ
とは何等構わない。
It should be noted that the interpolation process for θin may be performed as necessary before receiving the resampling process by Ts.

【0393】この一連の処理において注目すべき点は、
仮値Vp0に基づいて集合{θin}を計算した後は、
サンプリング時間変調法により時間軸に関する操作を行
うだけでθinの最終結果を得ることができるという点
である。
The point to be noted in this series of processing is that
After calculating the set {θin} based on the temporary value Vp 0 ,
The point is that the final result of θin can be obtained only by performing an operation on the time axis by the sampling time modulation method.

【0394】[数35]式以後の処理を具体的に説明す
ると、[数11]式の畳み込み式に基づいてエラーΔθ
i(t)を各関節軸毎に算出する(又はシミュレーショ
ンモーターに{θin}の列を速度Vp0に従って入力
することによってΔθi(t)を算出する。)。
The processing after the expression (35) will be specifically described. The error Δθ is calculated based on the convolution expression of the expression (11).
i (t) is calculated for each joint axis (or Δθi (t) is calculated by inputting a sequence of {θin} to the simulation motor according to the speed Vp 0 ).

【0395】Δθ=[Δθ1 Δθ2 ・・・]Tのときの
作用端のエラーε(t)、つまりCP制御精度は、例え
ば、[数13]式の上段の式のように定義され、これを
α分の1にした場合には[数13]式の下段の式を用い
れば良い。
[0395] [Delta] [theta] = [.DELTA..theta.1 .DELTA..theta.2 · · ·] Error action end time of T epsilon (t), i.e. CP control accuracy, for example, is defined as the upper equation [Expression 13] where it In the case where the value is reduced to 1 / α, the lower expression of Expression 13 may be used.

【0396】処理は時間的なスケール変換によって実現
されるが、具体的にはサンプリング変調法のアルゴリズ
ムを適用する。
The processing is realized by temporal scale conversion. Specifically, an algorithm of the sampling modulation method is applied.

【0397】そして、Vpの最適値を[数16]式に従
って(Vp→Vp0に置き換えて考えれば良い。)決定
した後は関節角列に係る時間軸の変倍操作をやはりサン
プリング時間変調法を用いて行うことができる。
Then, after the optimum value of Vp is determined in accordance with the formula [16] (it may be considered by replacing Vp → Vp 0 ), the scaling operation of the time axis related to the joint angle sequence is also performed by the sampling time modulation method. Can be performed.

【0398】こうして、図34のような加減速曲線が得
られることになる。
Thus, an acceleration / deceleration curve as shown in FIG. 34 is obtained.

【0399】尚、この例ではTp=Tpminの場合に
ついて説明したが、一般のTp値への適用にあたっては
加減速曲線の標準関数に対する時間的なスケール変換を
考慮すれば容易であり、また減速パターンについては時
間的な折り返しによる対称操作を適用すれば良いことは
前述した通りであるので説明を割愛する。
Although the case where Tp = Tpmin has been described in this example, application to general Tp values is easy if the time scale conversion of the standard function of the acceleration / deceleration curve is considered, and the deceleration pattern As described above, it is only necessary to apply a symmetric operation based on temporal wrapping, and thus description thereof is omitted.

【0400】(E4)ユーザーは一般に加減速曲線の定
速期間においてロボットに作業をさせようとする場合が
ほとんどであり、加速期間や減速期間は過渡的な期間と
考えられる。
(E4) Generally, the user generally makes the robot work during the constant speed period of the acceleration / deceleration curve, and the acceleration period and the deceleration period are considered to be transitional periods.

【0401】このため、加速期間や減速期間での移動距
離Tp・Vp/2を計算して定速期間における移動距離
を把握したいと要求に答えるようなユーザーインターフ
ェースを用意しておくことが好ましい。
For this reason, it is preferable to prepare a user interface that responds to a request to calculate the moving distance Tp · Vp / 2 during the acceleration period or the deceleration period and to grasp the moving distance during the constant speed period.

【0402】そこで、ユーザーが加速期間や減速期間で
の移動距離lTpを指定できるものとし、Vpの適正値を
このlTpやCP曲線の形状に応じて自動的に計算する方
法を以下に説明する。このとき必要に応じて総移動時間
やVpをユーザーに知らせることとする。
Therefore, it is assumed that the user can designate the moving distance l Tp during the acceleration period or the deceleration period, and a method for automatically calculating the appropriate value of Vp according to the l Tp and the shape of the CP curve will be described below. I do. At this time, the user is notified of the total travel time and Vp as necessary.

【0403】尚、本発明に係る加減速曲線の形状に特別
な制限は課せられないので説明の簡単化を図るために、
台形波状の加減速曲線を例にして説明する。
Incidentally, since no special restriction is imposed on the shape of the acceleration / deceleration curve according to the present invention, in order to simplify the explanation,
A trapezoidal wave-like acceleration / deceleration curve will be described as an example.

【0404】先ず、新たに導入するパラメーターの意味
について説明すると、「N」が各関節軸に対するメモリ
ー容量(ワード単位)を意味し、このN値が大きい程滑
らかなCP曲線を描かせることができる。
First, the meaning of the newly introduced parameter will be described. "N" means the memory capacity (word unit) for each joint axis, and the larger the N value, the smoother the CP curve can be drawn. .

【0405】Vpの仮値Vp0は下式を満たすように決
定する。
The provisional value Vp 0 of Vp is determined so as to satisfy the following equation.

【0406】[0406]

【数36】 [Equation 36]

【0407】図35に示す台形波状の加減速曲線におい
てユーザーが指定する移動距離lTpは定速期間(これを
「T□」とする。)を除く期間での移動距離に当たるの
で、これが、同図に破線で示すように加速パターンと減
速パターンをそれぞれ示す斜辺と時間軸との間に形成さ
れる2等辺三角形の面積に等しいことから下式のように
表すことができる。
In the trapezoidal wave-shaped acceleration / deceleration curve shown in FIG. 35, the moving distance l Tp specified by the user corresponds to the moving distance in a period other than the constant speed period (this is referred to as “T □”). Since the area is equal to the area of an isosceles triangle formed between the hypotenuse indicating the acceleration pattern and the deceleration pattern and the time axis as shown by the broken line in the drawing, it can be expressed by the following equation.

【0408】[0408]

【数37】 (37)

【0409】尚、図35における「Tcp」はCP制御
にかかる総移動時間である。
[0409] "Tcp" in Fig. 35 is the total travel time required for CP control.

【0410】ユーザーが作業内容に応じてCP制御の精
度εMAXを指定することができ、これとシミュレーシ
ョンモーターを使った計算からVpの適正値を得る事は
前述した通りである。
As described above, the user can specify the accuracy εMAX of the CP control according to the work content, and obtain the appropriate value of Vp from this and the calculation using the simulation motor.

【0411】ところで、移動量lTpや、総移動時間Tc
pは一般にサンプリング時間Tsの整数倍とはなってい
ないため、ここにもサンプリング時間変調法が必要とな
る。今、lTpやVpを僅かに変化させることで、Tpや
TcpをTsの整数倍にすることを考える。
By the way, the moving amount l Tp and the total moving time Tc
Since p is not generally an integral multiple of the sampling time Ts, a sampling time modulation method is also required here. Now, it is considered that Tp and Tcp are made to be integral multiples of Ts by slightly changing l Tp and Vp.

【0412】つまり、修正後のピーク速度をVp′と
し、lTpをlTp′として下式のように定義する。
That is, the corrected peak velocity is defined as Vp ', and l Tp is defined as l Tp ' as follows.

【0413】[0413]

【数38】 (38)

【0414】上式中の「np」や「n□」は正の整数で
あり、次式に示すように決定する。
In the above equation, “np” and “n □” are positive integers and are determined as shown in the following equation.

【0415】[0415]

【数39】 [Equation 39]

【0416】但し、[x]はxを越えない整数で定義さ
れる所謂ガウスの記号である。
Here, [x] is a so-called Gaussian symbol defined by an integer not exceeding x.

【0417】[数38]式からVp′、lTp′を求める
と下式のようになる。
[0417] When Vp 'and lTp ' are obtained from the equation (38), the following equation is obtained.

【0418】[0418]

【数40】 (Equation 40)

【0419】尚、この式はn□=0の場合でも成立し、
このようにしてVp′、lTp′を決定すればTsに同期
した加減速パターンを得ることができる(図36参
照。)。
Note that this equation holds even when n □ = 0, and
In this way Vp ', l Tp' can be obtained acceleration and deceleration pattern in synchronization with the Ts be determined (see FIG. 36.).

【0420】lTp′はユーザーの指定したlTp値と異な
るが、両者の差が小さいためユーザーの意図から大きく
外れることはなく、よってユーザーの量的な感覚を大幅
に狂わせるといった弊害にそれほど神経を尖らせる必要
はない。
Although l Tp ′ is different from the l Tp value specified by the user, the difference between the two is small and does not greatly deviate from the user's intention. You don't need to sharpen.

【0421】以上で台形波状の加減速パターンがTsと
の同期関係をもって得られたので次に時間列tsnの求
め方を、加速期間、定速期間、減速期間の3通りに場合
分けして説明する。
Since the trapezoidal wave acceleration / deceleration pattern has been obtained in synchronization with Ts, the method of obtaining the time sequence tsn will be described in three cases: acceleration period, constant speed period, and deceleration period. I do.

【0422】i)加速期間(0≦t≦np・Ts)。I) The acceleration period (0 ≦ t ≦ np · Ts).

【0423】この期間における速度をVac(t)とす
ると、図36の加速パターンの傾斜が一定であることか
ら時間tに比例した下式で表される。
Assuming that the speed in this period is Vac (t), since the slope of the acceleration pattern in FIG. 36 is constant, it is expressed by the following equation proportional to time t.

【0424】[0424]

【数41】 [Equation 41]

【0425】よって、図36の加速パターンのある時点
で移動量が、この時点までの加減速曲線と時間軸との間
に囲まれた面積に相当することから、CP曲線に係るn
番目の線素長Δlnが今の例では一定(これを「Δl」
とする。)であることに注意するとtsnが下式のよう
に求められる。
Therefore, at a certain point in the acceleration pattern shown in FIG. 36, the movement amount corresponds to the area enclosed between the acceleration / deceleration curve and the time axis up to this point.
The line element length Δln is constant in this example (this is “Δl”
And ), Tsn is obtained as in the following equation.

【0426】[0426]

【数42】 (Equation 42)

【0427】ii)定速期間(np・Ts≦t≦(np
+n□)・Ts) Vp′=一定であり、加減速曲線に関する面積の関係か
ら下式に示すようにtsnが求められる。
Ii) Constant speed period (np · Ts ≦ t ≦ (np
+ N □) · Ts) Vp ′ = constant, and tsn is determined from the relationship of the area with respect to the acceleration / deceleration curve as shown in the following equation.

【0428】[0428]

【数43】 [Equation 43]

【0429】iii)減速期間((np+n□)・Ts
≦t≦(2・np+n□)・Ts) この期間に速度をVdc(t)とすると、下式のように
表すことができる。
Iii) Deceleration period ((np + n □) · Ts
≦ t ≦ (2 · np + n □) · Ts) Assuming that the speed is Vdc (t) during this period, it can be expressed as the following equation.

【0430】[0430]

【数44】 [Equation 44]

【0431】よって、これまでの議論と同様にして加減
速曲線に係る面積の関係からtsnを求めることができ
るが、加減速パターンがTsで同期していることと加速
パターンと減速パターンとの間の時間的な対称性に着目
すれば、[数42]式を利用してして容易にtsnを求
めることができる。
Thus, tsn can be obtained from the relationship between the areas related to the acceleration / deceleration curve in the same manner as described above. However, the fact that the acceleration / deceleration pattern is synchronized with Ts and the difference between the acceleration pattern and the deceleration pattern When attention is paid to the temporal symmetry of tsn, tsn can be easily obtained by using Expression 42.

【0432】[0432]

【数45】 [Equation 45]

【0433】以上でサンプリング時間変調法における時
間列{tsn}が求められ、再サンプリングの後に関節
角度列を得てサーボ系に送れば良いことになる。
Thus, the time sequence {tsn} in the sampling time modulation method is obtained, and after resampling, the joint angle sequence can be obtained and sent to the servo system.

【0434】図37に示すグラフ図は上段に加減速曲線
を示すt−V図を配置すると共に、下段には、距離ln
をΔl単位で表し(縦軸)、時間軸(横軸)をTsを単
位として表したものである。尚、説明の簡単化を図るた
めにN=18としている。
In the graph shown in FIG. 37, a tV diagram showing an acceleration / deceleration curve is arranged in the upper part, and the distance ln is shown in the lower part.
Is expressed in Δl units (vertical axis), and the time axis (horizontal axis) is expressed in units of Ts. It is assumed that N = 18 for simplification of the description.

【0435】図中の原点Oと点P0を結ぶ線分OP0は仮
速度値Vp0でロボットの作用点を移動させたときの軌
跡を示すもので仮想上の線である。
A line OP 0 connecting the origin O and the point P 0 in the figure is a virtual line that indicates a locus when the action point of the robot is moved at the temporary speed value Vp 0 .

【0436】また、原点Oと点P0を結ぶ曲線OPは台
形波状の加減速曲線に従ってロボットの作用点を移動さ
せたときの軌跡を示すものである。
A curve OP connecting the origin O and the point P 0 indicates a trajectory when the action point of the robot is moved according to a trapezoidal wave-like acceleration / deceleration curve.

【0437】曲線OP上の白抜きの丸印は[数42]式
乃至[数45]式を用いて算出した時刻tsnでの位置
を示している。
[0437] The white circles on the curve OP indicate the positions at time tsn calculated using the equations [42] to [45].

【0438】図38は図37に白抜き丸印で示すデータ
をt=n・Ts、つまりTs刻みで再度サンプリングし
て得られる修正された位置(三角印で示す)をプロット
したものである。
FIG. 38 is a plot of corrected positions (indicated by triangles) obtained by re-sampling the data indicated by white circles in FIG. 37 at t = n · Ts, that is, every Ts.

【0439】この三角印で示す位置データをサーボ系に
渡せばCP曲線に近似した軌跡を描かせることができる
が、揺らぎの度合を低減するためには前述したように線
形補間を用いる。
When the position data indicated by the triangles is passed to the servo system, a locus approximating the CP curve can be drawn. However, in order to reduce the degree of fluctuation, linear interpolation is used as described above.

【0440】図38の黒丸印で示す位置が線形補間を施
された後の位置を示している。
The positions indicated by black circles in FIG. 38 indicate the positions after linear interpolation has been performed.

【0441】つまり、時刻t=n・Tsに関して時間的
に前にくるtsnの時点をtsn−とし、後にくるts
nの時点をtsn+と定義すると、下式に示すように前
後の位置の間を比例分割した位置である。
That is, the time point of tsn that comes earlier in time with respect to time t = n · Ts is tsn−, and the time point of tsn that comes later is
If the time point n is defined as tsn +, it is a position obtained by proportionally dividing the front and rear positions as shown in the following equation.

【0442】[0442]

【数46】 [Equation 46]

【0443】こうして得られる位置データをサーボ系に
送出ことで、より正確にCP曲線を描くことが可能とな
る。
By transmitting the position data thus obtained to the servo system, it is possible to draw a CP curve more accurately.

【0444】次に、あるCP曲線と別のCP曲線との接
続に関する問題を説明する。
Next, a problem concerning the connection between a certain CP curve and another CP curve will be described.

【0445】これまでは、一のCP曲線に関する説明を
主として行ってきたが、実際の場面では複数のCP曲線
セグメントを繋いだ曲線に沿ってロボットの作用端の移
動させる場合が多い。
[0445] So far, description has been made mainly on one CP curve. However, in an actual situation, the working end of the robot is often moved along a curve connecting a plurality of CP curve segments.

【0446】図39は、曲率が異なる複数の円弧を接続
することによって一の制御曲線が形成される例を示して
おり、始点Sから終点Eにかけて5つの円弧C1、C
2、C3、C4、C5が連結されている。
FIG. 39 shows an example in which one control curve is formed by connecting a plurality of arcs having different curvatures. Five arcs C1, C from the start point S to the end point E are shown.
2, C3, C4 and C5 are connected.

【0447】本発明では、始点Sから終点Eにかけて位
置する各曲線について各別に加減速パターンを生成し、
これらを連結したパターンとしてCP制御を行うのでは
なく、これらを一のCP曲線として取り扱うことでこれ
に対する一の加減速パターンを生成するようにしてい
る。
In the present invention, an acceleration / deceleration pattern is generated for each curve located from the start point S to the end point E,
Instead of performing CP control as a pattern in which these are linked, they are treated as one CP curve to generate one acceleration / deceleration pattern for this.

【0448】これによって、各CP曲線の接続部での衝
撃の緩和や動作の円滑化を図ることができる。
As a result, it is possible to reduce the impact at the connection portion of each CP curve and to smooth the operation.

【0449】勿論、直線状のセグメントと円弧状をした
セグメントとの接続についても同様の方法を用いること
ができる。
Of course, the same method can be used for connecting a linear segment and an arc segment.

【0450】最後に上記したサンプリング時間変調法と
PTP動作との関係について付言する。
Finally, the relationship between the sampling time modulation method and the PTP operation will be additionally described.

【0451】前述したようにCP制御に係る各種のアル
ゴリズムはPTP動作のそれと全く無関係ではないこと
について触れたが、両動作がロボットの作用端をある軌
跡に沿って、かつある加減速パターンに従いながら移動
させる制御であるという観点からするとアルゴリズムに
共通性を見出すことができる。
As mentioned above, it has been mentioned that the various algorithms related to the CP control are not completely unrelated to those of the PTP operation. From the viewpoint of the control for moving, it is possible to find commonality in the algorithms.

【0452】即ち、サンプリング時間変調法を介するこ
とによって両動作を統一化されたアルゴリズムで取り扱
うことが可能となる。
In other words, both operations can be handled by a unified algorithm through the sampling time modulation method.

【0453】以下にPTP制御をサンプリング時間変調
法のアルゴリズムに従って実現させる場合の手順を説明
する。
A procedure for realizing the PTP control according to the algorithm of the sampling time modulation method will be described below.

【0454】(1)先ず、ロボットの手先位置について
現在位置と目標位置が制御装置に与えられる。つまり、
現在位置はロボットの状態を常時監視していることから
既知であり、目標位置は教示操作等によって指示され
る。
(1) First, the current position and the target position of the hand position of the robot are given to the control device. That is,
The current position is known because the state of the robot is constantly monitored, and the target position is specified by a teaching operation or the like.

【0455】(2)目標位置の座標情報をインバートフ
ィルターにセットして関節角の変位量を求める(X軸、
Y軸、Z軸の各成分をΔΘx、ΔΘy、ΔΘzとし、ツ
ール先端の回動軸成分をΔΘrとする。)。
(2) The coordinate information of the target position is set in the invert filter to determine the displacement of the joint angle (X axis,
The components of the Y axis and the Z axis are ΔΘx, Δ 、 y, and ΔΘz, and the rotation axis component of the tool tip is ΔΘr. ).

【0456】(3)移動量(ΔΘx,ΔΘy,ΔΘz,
ΔΘr)をそれぞれN等分した値をN個のメモリー番地
(ワード単位)にストアする。
(3) The amount of movement (ΔΘx, ΔΘy, ΔΘz,
ΔΘr) is stored in N memory addresses (word units).

【0457】換言すれば、図40に示すように各成分に
関して一定の角速度の組み(ωx0,ωy0,ωz0,ω
0)でもってロボットの作用端を仮想的に移動させる
ように位置データ列をN個のメモリー番地に格納するこ
とである(つまり、4・Nワードを使用する。)。
In other words, as shown in FIG. 40, a set of constant angular velocities (ωx 0 , ωy 0 , ωz 0 , ω)
r 0 ) to store the position data sequence in N memory addresses so that the working end of the robot is virtually moved (that is, 4 · N words are used).

【0458】尚、このN等分計算は短時間で行えるので
メモリーへの格納は必須ではないが、CP制御との共通
性を重視する意味でこの方法を採用する。
Incidentally, since the N-division calculation can be performed in a short time, storing in a memory is not essential. However, this method is adopted in order to attach importance to commonality with CP control.

【0459】(4)各軸の移動量を考慮して加減速パタ
ーンやTp等を決定する。
(4) The acceleration / deceleration pattern, Tp, etc. are determined in consideration of the movement amount of each axis.

【0460】尚、この手続きとサンプリング時間変調法
とは全く独立したものであることは、これまで説明した
ように後者が加減速パターンの確定以後に係るアルゴリ
ズムであることから明らかである。
It should be noted that this procedure and the sampling time modulation method are completely independent from each other, as described above, because the latter is an algorithm after the determination of the acceleration / deceleration pattern.

【0461】(5)得られた加減速パターンに関してT
p値や総移動時間がTsの整数倍には必ずしもなってい
ないことから、角速度のピーク値に若干の修正を施して
Tsと同期関係を築き加減速パターンの修正を行う。
(5) Regarding the obtained acceleration / deceleration pattern, T
Since the p-value and the total movement time are not always integral multiples of Ts, the peak value of the angular velocity is slightly corrected to establish a synchronous relationship with Ts and correct the acceleration / deceleration pattern.

【0462】これには[数40]式でV→ω、L→Δθ
への置換を適宜に行えば良い。
[0460] In this case, V → ω, L → Δθ
May be replaced as appropriate.

【0463】(6)4軸中の1軸についての位置デー
タ、例えば、X軸成分ΔΘxに注目し、これについてサ
ンプリング時間変調法により[数42]式乃至[数4
3]式相当の計算を行う。
(6) Attention is paid to the position data of one of the four axes, for example, the X-axis component ΔΘx, and the following equation (42) to (Equation 4) are obtained by the sampling time modulation method.
3] A calculation equivalent to the equation is performed.

【0464】つまり、各式中ではΔl→Δθx(=ΔΘ
x/N)、L→ΔΘx等の置換を行えば良い。
In other words, in each equation, Δl → Δθx (= ΔΘ
x / N), L → ΔΘx, etc.

【0465】(7)tsnに基づいてTsでの再サンプ
リング処理を施せば、最終的にTsとの同期関係をもっ
たデータ列を得ることができ、4軸ともに同一のTp
で、かつ同時スタート、同時ストップのPTP動作を実
現することができる。
(7) If resampling processing is performed at Ts based on tsn, a data string having a synchronous relationship with Ts can be finally obtained, and the same Tp can be obtained for all four axes.
And a PTP operation of simultaneous start and simultaneous stop can be realized.

【0466】尚、これまでサンプリング時間変調法の適
用例として図28で説明したように速度パターンによる
変調を行ったが、CP曲線の曲率に基づいて変調をかけ
ることによって直線路では速く、カーブでは遅くすると
いった制御を行ったり、あるいは、双腕型ロボットのよ
うに協調作業を行う場合には他のロボットやアームの速
度又は距離等に基づいた変調をかけることによってアー
ム同士の干渉を避けることができる。
Although the modulation based on the velocity pattern has been performed as described with reference to FIG. 28 as an application example of the sampling time modulation method so far, the modulation is performed based on the curvature of the CP curve, so that it is fast on a straight road and fast on a curve. When performing control such as slowing down, or performing cooperative work such as a dual-armed robot, avoid interference between arms by applying modulation based on the speed or distance of other robots or arms. it can.

【0467】また、各種のセンサー出力(温度、圧力、
力等)、モーターの電流値等に応じて変調をかけること
によってロボットの状態を考慮した制御を実現すること
が可能である。
In addition, various sensor outputs (temperature, pressure,
By applying modulation in accordance with the current value of the motor, etc., it is possible to realize control in consideration of the state of the robot.

【0468】最後に付言すると、本実施例によればCP
制御、PTP制御のいずれの場合にも手先位置がメモリ
ーによって管理されているので、手先の移動範囲に対し
て許容範囲を設定することでセイフティゾーンを設け、
手先位置が不用意に許容範囲から逸脱しないように規制
をかけるといったことが可能となり、これによって安全
対策について万全を期すことができる。
[0468] Finally, according to the present embodiment, the CP
In both control and PTP control, the hand position is managed by the memory, so a safety zone is provided by setting an allowable range for the hand movement range,
It is possible to restrict the hand position from inadvertently deviating from the allowable range, thereby making it possible to ensure safety measures.

【0469】[0469]

【発明の効果】以上に記載したところから明らかなよう
に、本発明によれば、CP制御において制御曲線の長さ
に応じて速度ピーク時点が規定される加減速パターンを
生成するとともに、CP曲線を所定の時間間隔で小刻み
に分割して線素列を算出し、この線素列と制御曲線上の
位置指令に基づいて逆運動学問題の解としての関節状態
を知ることができる。
As is apparent from the above description, according to the present invention, in the CP control, an acceleration / deceleration pattern in which the speed peak time is defined according to the length of the control curve is generated, and the CP curve is generated. Is divided into small intervals at predetermined time intervals to calculate a line element sequence, and the joint state as a solution to the inverse kinematics problem can be known based on the line element sequence and a position command on the control curve.

【0470】その際、本発明に係る逆運動学問題の解析
にあたっては、順運動学問題の解法に用いる演算要素を
ネガティブフィードバックフィルター内に設けることに
よってロボット構造を反映させ、上記線素列と曲線上の
位置指令をフィルターにセットして関節軸に対応した回
数だけ起動し、該フィルターの収束を待って演算要素の
入力段から逆運動学問題解を求めることができる。
At this time, when analyzing the inverse kinematics problem according to the present invention, the operation elements used for solving the forward kinematics problem are provided in a negative feedback filter to reflect the robot structure, and the line element sequence and the curve The above position command is set in the filter, activated by the number of times corresponding to the joint axis, and after the filter converges, the inverse kinematics problem solution can be obtained from the input stage of the operation element.

【0471】従って、ロボット系を構成するアーム等の
組み合わせが如何なるものになろうと各関節軸を同等に
取り扱うことができ、ロボットの構造上の違いに起因し
て加減速パターン生成に係るアルゴリズムに大幅な変更
を余儀なくされるといった不都合が解消される。
Therefore, the joint axes can be handled equally regardless of the combination of the arms and the like constituting the robot system, and the algorithm for generating the acceleration / deceleration pattern is greatly reduced due to the structural difference of the robot. The inconvenience of having to make a significant change is eliminated.

【0472】そして、アルゴリズムが理論的に明確であ
り、制御の善し悪しが設計者の能力や経験等に左右され
やすいといったが不都合はなく、加減速パターンの生成
に係るアルゴリムの汎用性が高まり、また、計算処理を
四則演算や三角関数計算程度で行うことができるため計
算時間の短縮化やCPUの処理負担の軽減を図ることが
できる。
[0472] The algorithm is theoretically clear, and there is no inconvenience that the quality of the control is easily influenced by the ability and experience of the designer, but there is no inconvenience. Since the calculation process can be performed by four arithmetic operations or trigonometric function calculations, the calculation time can be reduced and the processing load on the CPU can be reduced.

【0473】また、本発明では作用点を指定された制御
曲線に沿って精度良く移動させるために標本化に際して
時間軸補正を行うことによって加減速曲線の生成や速度
制御等に要する計算処理上の負担を減らして処理の高速
化を図ることができる他、この時間軸補正を介在させる
ことによってCP制御のアルゴリズムとPTP制御のア
ルゴリズムとの統一化を図ることができる。
In the present invention, in order to move the action point with high accuracy along the designated control curve, the time axis is corrected at the time of sampling, so that the calculation processing required for the generation of the acceleration / deceleration curve and the speed control is performed. The processing can be speeded up by reducing the load, and the CP control algorithm and the PTP control algorithm can be unified by interposing the time axis correction.

【0474】尚、前期した実施例によって本発明の技術
的範囲が狭く解釈される訳ではなく、本発明は工作機械
や各種の駆動機構等に広く適用し得ることは勿論であ
る。
The technical scope of the present invention is not construed as being narrowed by the above-described embodiments, and the present invention can of course be widely applied to machine tools, various drive mechanisms, and the like.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係る加減速パターン生成装置の構成例
を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration example of an acceleration / deceleration pattern generation device according to the present invention.

【図2】加減速パターン生成/線素列計算部の構成を示
すブロック図である。
FIG. 2 is a block diagram showing a configuration of an acceleration / deceleration pattern generation / line element sequence calculation unit.

【図3】CP曲線の一例を示す図である。FIG. 3 is a diagram illustrating an example of a CP curve.

【図4】定速パターンを含む加減速曲線を示すグラフ図
である。
FIG. 4 is a graph showing an acceleration / deceleration curve including a constant speed pattern.

【図5】定速パターンを含まない加減速曲線を示すグラ
フ図である。
FIG. 5 is a graph showing an acceleration / deceleration curve not including a constant speed pattern.

【図6】加減速曲線の生成に係る処理を示すフローチャ
ート図である。
FIG. 6 is a flowchart illustrating processing relating to generation of an acceleration / deceleration curve.

【図7】(a)は曲線長Lと速度ピーク到達時間との関
係を示すグラフ図、(b)は曲線長Lと移動時間Tmと
の関係を示すグラフ図である。
FIG. 7A is a graph showing a relationship between a curve length L and a speed peak arrival time, and FIG. 7B is a graph showing a relationship between the curve length L and a movement time Tm.

【図8】距離(0≦L≦Lmin)に応じた加減速曲線
の変化を示すグラフ図である。
FIG. 8 is a graph showing a change in an acceleration / deceleration curve according to a distance (0 ≦ L ≦ Lmin).

【図9】距離(Lmin≦L≦Lmax)に応じた加減
速曲線の変化を示すグラフ図である。
FIG. 9 is a graph showing a change in an acceleration / deceleration curve according to a distance (Lmin ≦ L ≦ Lmax).

【図10】距離(Lmax≦L)に応じた加減速曲線の
変化を示すグラフ図である。
FIG. 10 is a graph showing a change in an acceleration / deceleration curve according to a distance (Lmax ≦ L).

【図11】基本パラメーターδ(Tp)の物理的意味に
ついて示すグラフ図である。
FIG. 11 is a graph showing the physical meaning of a basic parameter δ (Tp).

【図12】スカラ型ロボットに関する座標系の設定例を
示す図である。
FIG. 12 is a diagram illustrating a setting example of a coordinate system for a scalar robot.

【図13】インバートフィルターの構成例を示すブロッ
ク線図である。
FIG. 13 is a block diagram illustrating a configuration example of an invert filter.

【図14】2軸アーム系をモデル化して示す略線図であ
る。
FIG. 14 is a schematic diagram illustrating a model of a two-axis arm system.

【図15】インバートフィルター処理に対応したロボッ
トアームの動きを(a)から(c)へと順を追って示す
図である。
FIG. 15 is a diagram illustrating the movement of the robot arm corresponding to the invert filter processing in order from (a) to (c).

【図16】ワーク上の任意位置に関するCP制御につい
て説明するためにロボットの動きを示す図である。
FIG. 16 is a diagram showing a motion of a robot for describing CP control relating to an arbitrary position on a work.

【図17】垂直多関節型ロボットに関する手先位置の移
動について説明するための図である。
FIG. 17 is a diagram for explaining movement of a hand position of the vertical articulated robot.

【図18】加減速曲線の生成方法及び逆運動学問題の解
法について総括的に示すフローチャート図である。
FIG. 18 is a flowchart generally showing a method of generating an acceleration / deceleration curve and a method of solving an inverse kinematics problem.

【図19】アームの作用点位置及び速度の時間的な変化
の一例を示すグラフ図である。
FIG. 19 is a graph showing an example of a temporal change in the position and speed of the action point of the arm.

【図20】関節角θ1及びθ2の時間的な変化を示すグ
ラフ図である。
FIG. 20 is a graph showing temporal changes in joint angles θ1 and θ2.

【図21】時間的なスケール変換に係るΘi(s)の変
換則について示すグラフ図である。
FIG. 21 is a graph showing a conversion rule of Θi (s) relating to temporal scale conversion.

【図22】θi(n・Ts)に関する時間的なスケール
変換について説明するためのグラフ図である。
FIG. 22 is a graph for explaining temporal scale conversion related to θi (n · Ts).

【図23】(a)は階段状をした位相指令の時間的変化
を示すグラフ図、(b)はCP曲線上において点Pnと
点Pn+1との間隔について示す図である。
FIG. 23A is a graph showing a temporal change of a stepped phase command, and FIG. 23B is a diagram showing an interval between a point Pn and a point Pn + 1 on a CP curve.

【図24】(a)はCP曲線の分割と座標記憶用メモリ
ーとの関係を示す概念図、(b)は関節角記憶用メモリ
ーから時間軸補正処理を経てシミュレーションモーター
に至る処理の流れを示す図である。
24A is a conceptual diagram showing the relationship between the division of a CP curve and a memory for storing coordinates, and FIG. 24B shows a flow of processing from a memory for storing joint angles to a simulation motor through a time axis correction process. FIG.

【図25】加減速曲線において加速後の定速期間の途中
で減速に移行させる必要が生じた様子を示すグラフ図で
ある。
FIG. 25 is a graph showing that it is necessary to shift to deceleration in the middle of a constant speed period after acceleration in the acceleration / deceleration curve.

【図26】修正された時間列{tsn}の意味について
説明するためのグラフ図である。
FIG. 26 is a graph for explaining the meaning of a corrected time sequence {tsn}.

【図27】サンプリング時間変調法による減速パターン
の軌跡を説明するためのグラフ図である。
FIG. 27 is a graph for explaining a trajectory of a deceleration pattern by a sampling time modulation method.

【図28】サンプリング時間変調法について概念的に説
明するためのブロック図である。
FIG. 28 is a block diagram conceptually illustrating a sampling time modulation method.

【図29】線形補間についての説明図である。FIG. 29 is an explanatory diagram of linear interpolation.

【図30】加減速曲線の一例を示す図である。FIG. 30 is a diagram illustrating an example of an acceleration / deceleration curve.

【図31】CP曲線に関する指令軌跡と実際の軌跡と誤
差等を示す図である。
FIG. 31 is a diagram illustrating a command trajectory, an actual trajectory, an error, and the like regarding a CP curve.

【図32】エラー|ε(t)|の時間的な変化の一例を
示すグラフ図である。
FIG. 32 is a graph showing an example of a temporal change of an error | ε (t) |.

【図33】CP曲線上を一定の速度で作用点を移動させ
る仮想上の制御を示す図である。
FIG. 33 is a diagram showing virtual control for moving an action point at a constant speed on a CP curve.

【図34】サンプリング時間変調法を用いて得られる加
減速曲線の一例を示すグラフ図である。
FIG. 34 is a graph showing an example of an acceleration / deceleration curve obtained by using a sampling time modulation method.

【図35】台形波状の加減速パターンを示すグラフ図で
ある。
FIG. 35 is a graph showing a trapezoidal waveform acceleration / deceleration pattern.

【図36】TpやTcpがサンプリング時間の整数倍と
なるように修正された台形状の加減速パターンを示すグ
ラフ図である。
FIG. 36 is a graph showing a trapezoidal acceleration / deceleration pattern corrected so that Tp or Tcp becomes an integral multiple of the sampling time.

【図37】台形状の加減速パターンと作用点の軌跡とを
示すグラフ図である。
FIG. 37 is a graph showing a trapezoidal acceleration / deceleration pattern and a locus of action points.

【図38】図37の作用点に対して修正された軌跡を台
形状の加減速パターンとともに示すグラフ図である。
38 is a graph showing a trajectory corrected for the action point of FIG. 37 together with a trapezoidal acceleration / deceleration pattern.

【図39】曲率が異なる複数の円弧の接続について説明
するための図である。
FIG. 39 is a diagram for describing connection of a plurality of arcs having different curvatures.

【図40】PTP制御とサンプリング時間変調法との関
係において一定化された角速度を示すグラフ図である。
FIG. 40 is a graph showing an angular velocity stabilized in the relationship between the PTP control and the sampling time modulation method.

【符号の説明】[Explanation of symbols]

a 制御曲線 1、5、9、10、11 加減速パターン 12 加減速パターン生成装置 13 指令手段 14 速度ピーク仮値決定手段 15 加減速パターン生成/線素列計算手段 16 逆運動学問題解析手段 17 最適速度ピーク値決定手段 19 補正手段 15a 曲線長計算手段 15b 速度ピーク時点決定手段 15c パターン生成手段 15d 線素列計算手段 a Control curve 1, 5, 9, 10, 11 Acceleration / deceleration pattern 12 Acceleration / deceleration pattern generation device 13 Command means 14 Speed peak temporary value determination means 15 Acceleration / deceleration pattern generation / line element sequence calculation means 16 Inverse kinematics problem analysis means 17 Optimal speed peak value determination means 19 Correction means 15a Curve length calculation means 15b Speed peak time point determination means 15c Pattern generation means 15d Line element sequence calculation means

フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G05B 19/416 G05B 19/18 B25J 13/00 Continuation of the front page (58) Field surveyed (Int. Cl. 7 , DB name) G05B 19/416 G05B 19/18 B25J 13/00

Claims (7)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 作用点に対する制御の開始点と終了点及
び/又は制御曲線に関する指令を発する指令手段と、指
令手段からの信号に応じて制御曲線上での速度ピーク値
の仮値を決定する速度ピーク仮値決定手段と、速度ピー
ク値の仮値に基づいて加減速パターンを生成するととも
に制御曲線を多数の微小な長さのセグメントに分割して
線素列を得る加減速パターン生成/線素列計算手段と、
順運動学問題を解く際に座標系間の変換に使用される同
次変換行列に対応した演算要素を含むネガティブフィー
ドバックのフィルター構成とされ、作用点に対する指令
位置を与えてこれに対応する関節軸の状態を導き出す
運動学問題解析手段と、速度ピーク値の仮値に基づいて
逆運動学問題解析手段により得られる関節状態について
の解をソフトウェア処理によって現実のサーボ系を模し
構成される仮想サーボ系に与えることによって制御精
度を求めるとともにこれが規定又は指定の精度に一致す
るように速度ピーク値の最適値を決定する最適速度ピー
ク値決定手段と、速度ピーク値の最適値に基づいて関節
状態に係る再計算又は修正計算を行う補正手段とを備え
たことを特徴とする加減速パターン生成装置。
1. A command means for issuing a command relating to a start point and an end point of control of an action point and / or a control curve, and a provisional value of a speed peak value on a control curve is determined according to a signal from the command means. Speed peak temporary value determination means, and an acceleration / deceleration pattern generation / line which generates an acceleration / deceleration pattern based on the temporary value of the speed peak value and divides the control curve into a number of minute length segments to obtain a line element sequence. Sequence calculation means,
Is a filter structure of a negative feedback comprising a calculation element corresponding to the homogeneous transformation matrix used in the conversion between the coordinate system in solving the forward kinematics problem, the command for the action point
Inverse kinematics problem analysis means that derives the position of the joint axis corresponding to the position and based on the provisional value of the speed peak value
About joint state obtained by inverse kinematics problem analysis means
Software solution to imitate real servo system
This provision or the optimal speed peak value determining means for determining an optimum value of the speed peak value to match the specified precision, optimal value of the speed peak value with determining the control accuracy by giving the virtual servo system comprising Te An acceleration / deceleration pattern generation apparatus, comprising: a correction unit that performs recalculation or correction calculation on the joint state based on the calculation.
【請求項2】 請求項1に記載の加減速パターン生成装
置において、逆運動学問題解析手段が、関節状態から作
用点の位置を求める順運動学問題を解く際に使用される
同次変換行列に対応した演算要素と、動的なゲイン調整
のための乗数要素と、ループ安定化のための積分要素
と、ループの収束速度を調整するのための定数要素とを
含むネガティブフィードバックのフィルター構成を有
し、逆運動学問題解析手段への位置情報の入力に対し
て、演算要素の前段から関節状態の解を得ることができ
るようにしたことを特徴とする加減速パターン生成装
置。
2. An acceleration / deceleration pattern generating apparatus according to claim 1, wherein said inverse kinematics problem analysis means is used to solve a forward kinematics problem for obtaining a position of an action point from a joint state. , A multiplier element for dynamic gain adjustment, an integral element for loop stabilization, and a negative feedback filter configuration including a constant element for adjusting the loop convergence speed. An acceleration / deceleration pattern generation apparatus characterized in that a solution of a joint state can be obtained from a preceding stage of a calculation element in response to input of position information to inverse kinematics problem analysis means.
【請求項3】 請求項1又は請求項2に記載の加減速パ
ターン生成装置において、加減速パターン生成/線素列
計算手段が、制御曲線の曲線長を計算する曲線長計算手
段と、加減速曲線における速度のピーク時点を曲線長に
応じて決定する速度ピーク時点決定手段と、速度のピー
ク時点に関する指令を受けて関節軸に係る加速パターン
を生成するとともに、減速パターンの生成に際しては加
速パターンに対して時間的な対称操作を施すことによっ
て時間的に折り返されたパターンとして減速パターンを
生成するパターン生成手段と、加減速曲線の形状に応じ
て制御曲線を所定の時間刻みに分割することによって線
素列を計算する線素列計算手段とを備えたことを特徴と
する加減速パターン生成装置。
3. The acceleration / deceleration pattern generation device according to claim 1, wherein the acceleration / deceleration pattern generation / linear element sequence calculation means calculates a curve length of a control curve, and the acceleration / deceleration. A speed peak time point determining means for determining a speed peak time point in the curve according to the curve length, and generating an acceleration pattern related to the joint axis in response to a command relating to the speed peak time point; A pattern generation means for generating a deceleration pattern as a temporally folded pattern by performing a temporally symmetric operation on the other hand, and a line by dividing a control curve into predetermined time intervals according to the shape of the acceleration / deceleration curve. An acceleration / deceleration pattern generation device, comprising: a line element sequence calculating means for calculating an element sequence.
【請求項4】 作用点を指定された制御曲線に沿って移
動制御させるべく加減速パターンを生成する加減速パタ
ーン生成方法であって、 (イ)先ず、制御曲線に係る計算時間の最小単位を決め
た後、 (ロ)制御曲線の曲線長を求めて、該曲線長に対応した
速度のピーク時点を決定して加速パターンと減速パター
ンとが時間的な対称性を有する加減速パターンを生成す
るとともに、速度ピーク値の仮値をメモリー容量の許容
値に基づいて決定して制御曲線を計算時間の単位時間間
隔でもって分割することよって線素列を導出し、 (ハ)(ロ)の線素列と作用点の位置指令に係る情報に
基づいて、順運動学問題を解く際に座標系間の変換に使
用される同次変換行列に対応した演算要素を含むネガテ
ィブフィードバックのフィルター計算を行うことによ
り、作用点の位置を与えてこれに対応した関節軸の状態
を求める逆運動学問題の解を求め、 (ニ)(ハ)で得られる関節状態についての解をソフト
ウェア処理によって現実のサーボ系を模して構成される
仮想サーボ系に与えることによって制御精度を求めると
ともにこれが規定又は指定の精度に一致するように速度
ピーク値の最適値を決定し、 (ホ)速度ピーク値の最適値に基づいて関節状態の解に
係る(ロ)及び(ハ)の再計算又はこれに相当する修正
計算を行った結果をサーボ系への制御指令として送出す
るようにした、ことを特徴とする加減速パターン生成方
法。
4. An acceleration / deceleration pattern generation method for generating an acceleration / deceleration pattern to control the movement of an action point along a specified control curve, wherein (a) first, a minimum unit of calculation time related to the control curve is determined. After the determination, (b) the curve length of the control curve is determined, the peak time point of the speed corresponding to the curve length is determined, and an acceleration / deceleration pattern having a temporal symmetry between the acceleration pattern and the deceleration pattern is generated. At the same time, the provisional value of the speed peak value is determined based on the allowable value of the memory capacity, and the control curve is divided at unit time intervals of the calculation time to derive a line element sequence. Negative feedback including an operation element corresponding to a homogeneous transformation matrix used for transformation between coordinate systems when solving a forward kinematics problem, based on information related to the sequence command and the position command of the action point. perform a filter calculation To the door
To give the position of the action point and the state of the joint axis corresponding to this
Computes the solution of the inverse kinematics problem of finding, the control accuracy by giving the virtual servo system configured to simulate a real servo system through software processing solutions for joint state obtained in (d) (iii) Determine the optimum value of the speed peak value so that it matches the specified or specified accuracy. (E) Based on the optimum value of the speed peak value, (b) and (c) A method for generating an acceleration / deceleration pattern, wherein a result of calculation or a correction calculation corresponding thereto is sent as a control command to a servo system.
【請求項5】 指定された制御曲線に沿っての移動が予
定される作用点の位置に対応した関節軸の状態を求める
逆運動学問題の解法であって、(イ)関節軸の状態に対
応した作用点の位置を求める順運動学問題の解法にあた
って使用される同次変換行列に対応した演算要素と、動
的なゲイン調整のための乗数要素と、ループ安定化のた
めの積分要素と、ループの収束速度を調整するための定
数要素とを含むネガティブフィードバックのフィルター
を構成し、(ロ)制御曲線を最小計算時間間隔をもって
分割することによって得られる線素列と作用点の位置情
報を(イ)のフィルターへの入力情報として与えてフィ
ルターに起動をかけ、ループでの収束を待って演算要素
の前段から関節軸の状態を求め、(ハ)(イ)、(ロ)
の手順を各関節軸に対して繰り返すことによって最終的
な逆運動学問題の解としての関節状態を求めるようにし
た、ことを特徴とする逆運動学問題の解法。
5. A method for solving an inverse kinematics problem in which a state of a joint axis corresponding to a position of an action point scheduled to move along a specified control curve is solved. The operation element corresponding to the homogeneous transformation matrix used in solving the forward kinematics problem to find the position of the corresponding action point, the multiplier element for dynamic gain adjustment, and the integral element for loop stabilization , A negative feedback filter including a constant element for adjusting the convergence speed of the loop, and (b) dividing the control curve with the minimum calculation time interval to obtain the line element sequence and the position information of the action point. (A) is given as input information to the filter, the filter is activated, and after waiting for convergence in the loop, the state of the joint axis is obtained from the previous stage of the operation element. (C) (a), (b)
A procedure for solving the inverse kinematics problem, wherein the joint state as a solution of the final inverse kinematics problem is obtained by repeating the above procedure for each joint axis.
【請求項6】 請求項4に記載の加減速パターン生成方
法において、(ハ)における逆運動学問題の解法とし
て、請求項5に記載の解法を用いたことを特徴とする加
減速パターン生成方法。
6. An acceleration / deceleration pattern generation method according to claim 4, wherein the solution according to claim 5 is used as a solution to the inverse kinematics problem in (c). .
【請求項7】 請求項4に記載の加減速パターン生成方
法に使用され、計算時間が最小単位をもって稼動される
制御システムに関して、作用点の軌跡が指令された制御
曲線に所定の精度内で近似した曲線を描くように移動制
するための時間軸補正方法であって、 (イ)加減速曲線において速度のピーク時点や総移動時
間が、計算時間の最小単位の整数倍の値となるように速
度ピーク値や加速及び減速期間での移動距離に修正を施
して計算時間の最小単位をもって関節状態を示すデータ
列を標本化した後最小単位時間の間隔をもって該データ
を保持し、 (ロ)制御曲線を計算時間の最小単位の時間間隔でもっ
て分割して得られる線素列の長さと、加減速曲線の形状
との間に成立する距離の関係に基づく計算によって関節
状態を示すデータ列に対応した新たな時間列を計算時間
の最小単位にとらわれることなく生成し、 (ハ)(ロ)で得られた新たな時間列と関節状態を示す
データ列の組に対して、計算時間の最小単位による再標
本化を施すことによって時間的に等間隔に配置された関
節状態の情報を得るようにした、ことを特徴とする時間
軸補正方法。
7. A method for generating an acceleration / deceleration pattern according to claim 4.
For a control system that is used in the calculation method and is operated with the minimum unit of calculation time, the movement control is performed so that the locus of the action point draws a curve that approximates the specified control curve within a predetermined accuracy.
A time base correction method for your, (b) acceleration peak time and the total travel time of the velocity in the curve, the speed peak value to be an integral multiple of the minimum unit of calculation time and acceleration and deceleration After correcting the movement distance in the period and sampling the data sequence indicating the joint state with the minimum unit of calculation time, the data is held at the minimum unit time interval, and (b) the control curve is calculated as the minimum unit of calculation time. Calculates a new time sequence corresponding to the data sequence indicating the joint state by calculation based on the relationship between the length of the line element sequence obtained by dividing at the time interval and the shape of the acceleration / deceleration curve (C) Generate a new time sequence and data sequence indicating the joint state obtained in (b) and (b) without being bound by the minimum unit of time, and perform resampling using the minimum unit of calculation time By time And to obtain information arranged joint state interval, time base correction method characterized by.
JP19470192A 1992-06-30 1992-06-30 Acceleration / deceleration pattern generation apparatus, acceleration / deceleration pattern generation method, and method for solving inverse kinematics problem and time axis correction method used for the same Expired - Fee Related JP3341305B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19470192A JP3341305B2 (en) 1992-06-30 1992-06-30 Acceleration / deceleration pattern generation apparatus, acceleration / deceleration pattern generation method, and method for solving inverse kinematics problem and time axis correction method used for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19470192A JP3341305B2 (en) 1992-06-30 1992-06-30 Acceleration / deceleration pattern generation apparatus, acceleration / deceleration pattern generation method, and method for solving inverse kinematics problem and time axis correction method used for the same

Publications (2)

Publication Number Publication Date
JPH0619528A JPH0619528A (en) 1994-01-28
JP3341305B2 true JP3341305B2 (en) 2002-11-05

Family

ID=16328831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19470192A Expired - Fee Related JP3341305B2 (en) 1992-06-30 1992-06-30 Acceleration / deceleration pattern generation apparatus, acceleration / deceleration pattern generation method, and method for solving inverse kinematics problem and time axis correction method used for the same

Country Status (1)

Country Link
JP (1) JP3341305B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106945042A (en) * 2017-03-29 2017-07-14 浙江工业大学 A kind of discrete S types curve speed control method of manipulator
KR20190112644A (en) * 2018-03-26 2019-10-07 니혼 덴산 가부시키가이샤 Robot control apparatus, robot control method, and program

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003001576A (en) 2001-06-25 2003-01-08 Matsushita Electric Ind Co Ltd Robot control device and its control method
WO2009027673A1 (en) * 2007-08-28 2009-03-05 The University Of Surrey Inverse kinematics
DE102009049172B4 (en) * 2009-10-13 2019-07-25 Kuka Roboter Gmbh Method and device for controlling a manipulator
JP5417392B2 (en) * 2011-07-29 2014-02-12 新日本工機株式会社 Numerical controller
KR101378824B1 (en) * 2012-04-20 2014-03-27 라인스트림 테크놀로지스 Method for automatically estimating inertia in a mechanical system and for generating a motion profile
CN106625680B (en) * 2017-02-07 2019-07-09 华侨大学 A kind of redundancy mechanical arm acceleration layer appearance is made an uproar control method
CN108237535A (en) * 2018-02-02 2018-07-03 广东工业大学 A kind of mechanical arm and its control system and method
JP7047524B2 (en) * 2018-03-26 2022-04-05 日本電産株式会社 Robot control device, robot control method, program
JP7199952B2 (en) * 2018-12-18 2023-01-06 日本電産サンキョー株式会社 Robot control device and control method
DE112022000265T5 (en) * 2021-01-20 2023-09-07 Fanuc Corporation Numerical control
CN113186665B (en) * 2021-04-02 2022-09-06 浙江工业大学 Smooth speed planning control method of sewing servo motor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106945042A (en) * 2017-03-29 2017-07-14 浙江工业大学 A kind of discrete S types curve speed control method of manipulator
CN106945042B (en) * 2017-03-29 2019-05-28 浙江工业大学 A kind of discrete S type curve speed control method of manipulator
KR20190112644A (en) * 2018-03-26 2019-10-07 니혼 덴산 가부시키가이샤 Robot control apparatus, robot control method, and program
KR102297735B1 (en) 2018-03-26 2021-09-03 니혼 덴산 가부시키가이샤 Robot control apparatus, robot control method, and program

Also Published As

Publication number Publication date
JPH0619528A (en) 1994-01-28

Similar Documents

Publication Publication Date Title
Yuwen et al. Path, feedrate and trajectory planning for free-form surface machining: A state-of-the-art review
JP3341305B2 (en) Acceleration / deceleration pattern generation apparatus, acceleration / deceleration pattern generation method, and method for solving inverse kinematics problem and time axis correction method used for the same
US5396160A (en) Method of real-time machine path planning from a math model
Tajima et al. Accurate interpolation of machining tool-paths based on FIR filtering
Beudaert et al. 5-Axis tool path smoothing based on drive constraints
Beudaert et al. Feedrate interpolation with axis jerk constraints on 5-axis NURBS and G1 tool path
US5434489A (en) Method and system for path planning in cartesian space
US7180253B2 (en) Method and system for generating multi-dimensional motion profiles
US7146242B2 (en) Method and system for generating multi-dimensional motion profiles
KR101798652B1 (en) Method and device to control a manipulator
CA1202101A (en) Manipulator with controlled path motion
Liu et al. FIR filter-based continuous interpolation of G01 commands with bounded axial and tangential kinematics in industrial five-axis machine tools
JPS61173311A (en) Method and apparatus for controlling manipulator
Horsch et al. Cartesian spline interpolation for industrial robots
JP2002175105A (en) Method for numerical control
JP3476287B2 (en) Curve interpolation method for speed control during robot connection operation
Yang et al. A tool path generation and contour error estimation method for four-axis serial machines
Jiang et al. A decoupled five-axis local smoothing interpolation method to achieve continuous acceleration of tool axis
Müller et al. High accuracy spline interpolation for 5-axis machining
Li et al. A novel cartesian trajectory planning method by using triple nurbs curves for industrial robots
He et al. Real-time time-optimal continuous multi-axis trajectory planning using the trajectory index coordination method
Tang et al. Toolpath interpolation with novel corner smoothing technique
Song et al. Non-isometric dual-spline interpolation for five-axis machine tools by FIR filtering-based feedrate scheduling using pseudo curvature under axial drive constraint
US4922431A (en) Method and apparatus of tool control in arbitrary plane operations
JPH0570162B2 (en)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees