JPH035605B2 - - Google Patents

Info

Publication number
JPH035605B2
JPH035605B2 JP21119581A JP21119581A JPH035605B2 JP H035605 B2 JPH035605 B2 JP H035605B2 JP 21119581 A JP21119581 A JP 21119581A JP 21119581 A JP21119581 A JP 21119581A JP H035605 B2 JPH035605 B2 JP H035605B2
Authority
JP
Japan
Prior art keywords
joint
robot
point
joint angle
coordinate system
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
Application number
JP21119581A
Other languages
Japanese (ja)
Other versions
JPS58114888A (en
Inventor
Makoto Araki
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP21119581A priority Critical patent/JPS58114888A/en
Publication of JPS58114888A publication Critical patent/JPS58114888A/en
Publication of JPH035605B2 publication Critical patent/JPH035605B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Description

【発明の詳細な説明】 (1) 発明の技術分野 本発明は、多関節型ロボツトの軌跡制御方式に
係り、特に、6自由度多関節型ロボツトを直交座
標系でスムーズに移動させる軌跡制御方式に関す
る。
[Detailed Description of the Invention] (1) Technical Field of the Invention The present invention relates to a trajectory control method for an articulated robot, and particularly to a trajectory control method for smoothly moving an articulated robot with 6 degrees of freedom in a Cartesian coordinate system. Regarding.

(2) 技術の背景 汎用ロボツトの研究は、人間に似た動作をいか
に自動的に機械の手にやらせるかということに向
けられている。したがつて、汎用ロボツトの腕
は、コンピユータで制御され、多関節を有するも
のである。いわゆる多関節型ロボツトでは、どの
関節をどれだけ動かしたら手先がどこの位置まで
くるかを直観的に知ることは容易ではない。した
がつて、各関節の回転量を知つて、腕や手先の各
部の位置をコンピユータにより、ただちに、すな
わちリアルタイムに、計算できなくてはならず、
一般にマトリツクスを用いた方法、すなわち座標
変換行列を用いて計算する方法がとられる。
(2) Background of the technology Research into general-purpose robots is focused on how to make machines automatically perform actions similar to humans. Therefore, the arm of a general-purpose robot is controlled by a computer and has multiple joints. With so-called multi-jointed robots, it is not easy to intuitively know which joints should be moved and how much to move the hand to which position. Therefore, by knowing the amount of rotation of each joint, it is necessary to be able to calculate the position of each part of the arm and hand using a computer immediately, that is, in real time.
Generally, a method using a matrix, that is, a calculation method using a coordinate transformation matrix, is used.

各関節がすべて回転の自由度で構成される6自
由度多関節型ロボツトを直交座標系で移動させる
場合の問題点を第1図の構成のロボツトを例に説
明する。なお、ロボツトの軌跡制御で使用される
座標変換演算に関しては、例えば、「人工の手の
運動制御に関する研究」日本機械学論文集(C
編)、45巻391号(昭和54.3)P314〜P322、に詳
しい。
Problems in moving a six-degree-of-freedom multi-jointed robot in which each joint has a rotational degree of freedom in an orthogonal coordinate system will be explained using the robot having the configuration shown in FIG. 1 as an example. Regarding coordinate transformation calculations used in robot trajectory control, for example, see ``Study on Artificial Hand Motion Control,'' Japan Society of Mechanical Engineers (C
(ed.), Vol. 45, No. 391 (March 1972), pages 314-322.

第1図aに示す関節角度ベクトルΘ=(θ1、θ2
θ3、θ4、θ5、θ6)を与えて、第1図bに示す手先
の位置・姿勢ベクトルP=(x、y、z、α、β、
γ)を求めるには、各関節に固定された座標系間
のトータルな座標変換行列を用いる。
Joint angle vector Θ=(θ 1 , θ 2 ,
θ 3 , θ 4 , θ 5 , θ 6 ), the hand position/posture vector P=(x, y, z, α, β,
To find γ), a total coordinate transformation matrix between the coordinate systems fixed to each joint is used.

第1図a,bのO0−x0y0z0はロボツトに対して
設定された絶対固定座標系、Oi−XiYiZi(i=1
〜5)は各関節に固定された座標系、Oh−xhyhzh
は手先に固定された座標系である。
O 0 −x 0 y 0 z 0 in Figures 1a and b is the absolute fixed coordinate system set for the robot, O i −X i Y i Z i (i=1
~5) is the coordinate system fixed to each joint, O h −x h y h z h
is a coordinate system fixed to the hand.

Oh−xhyhzhからO0−x0y0z0への座標変換行列A
は A=A1A2A3A4A5Ah ………(1) と計算される。。ここでAi(i=1〜5及びi=
h)はOi−XiYiZiからOi-1−Xi-1Yi-1Zi-1への変換
行列(ただし、AhはOh−xhyhzhからO5−x5y5z5
への変換行列)であり、Oi−xiyiziでのある点の
座標値をX→iとすると Xi-1 1=AiXi 1 ………(2) より定義され A1=cosθ1 sinθ1 0 0−sinθ1 cosθ1 0 00 0 1 00 0 l1 1 A2=cosθ1 0 −sinθ2 00 1 0 0sinθ2 cosθ2 0l2・cosθ2 0 −l2・sinθ2 1 A3=θ3 0 −sinθ3 10 1 0 0sinθ3 0 cosθ3 0l3・cosθ3 0 −l3・sinθ3 1 A4=1 0 0 00 cosθ4 sinθ4 00 −sin4 cosθ4 0l4 0 0 1 A5=cosθ5 0−sinθ5 00 1 0 0sinθ5 0 cosθ5 0l5・cosθ5 0 −l5・sinθ5 1 Ah=1 0 0 00 cosθ6 sinθ6 00 −sinθ6 cosθ6 0l5 0 0 1 ………(3) となる。
Coordinate transformation matrix A from O h −x h y h z h to O 0 −x 0 y 0 z 0
is calculated as A=A 1 A 2 A 3 A 4 A 5 A h (1). . Here, A i (i=1 to 5 and i=
h) is the transformation matrix from O i −X i Y i Z i to O i-1 −X i-1 Y i-1 Z i-1 (however, A h is from O h −x h y h z h O 5 −x 5 y 5 z 5
( conversion matrix to _ _ _ A 1 = cosθ 1 sinθ 1 0 0−sinθ 1 cosθ 1 0 00 0 1 00 0 l 1 1 A 2 = cosθ 1 0 −sinθ 2 00 1 0 0 sinθ 2 cosθ 2 0l 2・cosθ 2 0 −l 2・sinθ 2 1 A 33 0 -sinθ 3 10 1 0 0sinθ 3 0 cosθ 3 0l 3・cosθ 3 0 −l 3・sinθ 3 1 A 4 =1 0 0 00 cosθ 4 sinθ 4 00 −sin 4 cosθ 4 0l 4 0 0 1 A 5 = cosθ 5 0−sinθ 5 00 1 0 0 sinθ 5 0 cosθ 5 0l 5・cosθ 5 0 −l 5・sinθ 5 1 A h =1 0 0 00 cosθ 6 sinθ 6 00 −sinθ 6 cosθ 6 0l 5 0 0 1 ......(3)

したがつて、関節角度ベクトルΘが与えられた
とき、絶対座標系O0−x0y0z0での手先の位置X0
=(x、y、z)は、手先に固定された座標系Oh
−xhyhzhでのそのの位置をXh=(xh、yh、zh)と
すると XO 1=AXh 1 ………(4) により計算される。
Therefore, given the joint angle vector Θ, the position of the hand in the absolute coordinate system O 0 −x 0 y 0 z 0
= (x, y, z) is the coordinate system O h fixed to the hand
If the position at -x h y h z h is defined as X h = (x h , y h , z h ), it is calculated by X O 1 = AX h 1 (4).

また、第1図bに示すように、座標系O0
x0y0z0に対するOh−xhyhzhの各軸xh,yh,zhの方
向余弦を、順にh1〔=(h11、h21、h31T〕、h2〔=
h11、h22、h32T〕、h3〔=(h13、h23、h33T〕とし

座標系O0−x0y0z0における座標系Oh−xhyhzhの原
点Ohの座標値をXh 0〔=(Xh0、Yh0、Zh0T〕とする
と、(1)式の行列Aは A=h11 h11 h11 0h12 h12 h12 0h13 h13 h13 0Xh0 Yh0 Zh0 1 ………(5) とおくことができる。
Moreover, as shown in FIG. 1b, the coordinate system O 0
The direction cosine of each axis x h , y h , z h of O h −x h y h z h with respect to x 0 y 0 z 0 is h 1 [= (h 11 , h 21 , h 31 ) T ], h 2 [=
h 11 , h 22 , h 32 ) T ], h 3 [=(h 13 , h 23 , h 33 ) T ],
If the coordinates of the origin O h of the coordinate system O h −x h y h z h in the coordinate system O 0 −x 0 y 0 z 0 are X h 0 [= (X h0 , Y h0 , Z h0 ) T ] , the matrix A in equation (1) can be set as A=h 11 h 11 h 11 0h 12 h 12 h 12 0h 13 h 13 h 13 0Xh 0 Yh 0 Zh 0 1 (5).

したがつて、O0−x0y0z0における手先の姿勢
α、β、γは α=tan-1(h21/h11) β=−tan-1(h31/√1121) γ=tan-1(h32/h33) ………(6) により計算される。
Therefore, the postures α, β, and γ of the hand at O 0 −x 0 y 0 z 0 are α=tan −1 (h 21 /h 11 ) β=−tan −1 (h 31 /√ 11 + 21 ) γ=tan -1 (h 32 /h 33 ) ......calculated by (6).

このように関節角度ベクトルΘが与えられたと
き、手先の位置、姿勢ベクトルPは、(1)式の行列
Aを求ることによつて計算される。
When the joint angle vector Θ is given in this way, the position and posture vector P of the hand are calculated by finding the matrix A of equation (1).

逆に、Pを与えてロボツトの手先を直交座標系
で移動させる場合も、(5)式の等値関係よりΘを求
める。Θは θ1=tan-1〔Yh0−(l5+l6)sinαcosβ/Xh0−(l5
l6)cosαcosβ〕 θ2=±cos-1〔R2+l〓−(l3+l42/2l2R〕+φ ここでR2=P2−Q2、φ=tan-1(Q/P) P={xh0−(l5+l6)cosαcosβ}/cosθ1 Q=−Zh0−(l5+l6)cosβ+l1 θ3=tan-1〔Q−l2・sinθ2/P−l2・cosθ2〕−θ
2 θ4=tan-1〔cosβ・sin(α−θ1)/sinβ・cos(
θ2+θ3)−cosβ・cos(α−θ1)・sin(θ2+θ3
〕 θ5=±cos-1〔sinβ・sin(θ2+θ3)+cosβ・cos
(α−θ1)cos(θ2+θ3)〕 θ5=tan-1〔cos(θ2+θ3)sinθ4/sin(θ2+θ3
)・sinθ5−cos(θ2+θ3)cosθ4cosθ5〕+γ……
…(7) により計算される。しかし、このΘの解は存在範
囲を−π<θi≦π(i=1〜6)に制限してモー
ド8通りある。
Conversely, when P is given and the robot's hand is moved in an orthogonal coordinate system, Θ is found from the equality relationship in equation (5). Θ is θ 1 = tan -1 [Y h0 − (l 5 + l 6 ) sinαcosβ/X h0 − (l 5 +
l 6 )cosαcosβ] θ 2 =±cos -1 [R 2 +l〓-(l 3 +l 4 ) 2 /2l 2 R] +φ where R 2 = P 2 −Q 2 , φ=tan -1 (Q/ P) P={x h0 −(l 5 +l 6 )cosαcosβ}/cosθ 1 Q=−Z h0 −(l 5 +l 6 )cosβ+l 1 θ 3 =tan -1 [Q−l 2・sinθ 2 /P− l 2・cosθ 2 ]−θ
2 θ 4 = tan -1 [cosβ・sin(α−θ 1 )/sinβ・cos(
θ 2 + θ 3 )−cosβ・cos(α−θ 1 )・sin(θ 23 )
] θ 5 = ±cos -1 [sinβ・sin(θ 23 )+cosβ・cos
(α−θ 1 ) cos (θ 2 + θ 3 )] θ 5 = tan -1 [cos (θ 2 + θ 3 ) sin θ 4 / sin (θ 2 + θ 3
)・sinθ 5 −cos (θ 23 )cosθ 4 cosθ 5 ]+γ……
…Calculated by (7). However, the solution for Θ is limited to -π<θ i ≦π (i=1 to 6), and there are eight modes.

例えば同じ状態でθの値が異なる場合を第2図
a,b,cに示す。すなわちPに対するΘの解は
8通りあり、写像P→Θは1対8対応となつてい
る。この解の種類は、ロボツトに行わせる作業内
容によつて決めなければならないが、解の種類を
変更するためめには、特異点を通過しなければな
らない。
For example, cases in which the value of θ is different in the same state are shown in FIGS. 2a, b, and c. That is, there are eight solutions of Θ to P, and the mapping P→Θ has a one-to-eight correspondence. The type of solution must be determined depending on the work the robot is to perform, but in order to change the type of solution, the robot must pass through a singular point.

手先の位置・姿勢ベクトルPが次の状態まで変
化したときの微小変化SPとそれに対する関節角
度ベクトルの微少変化δΘの関係は、ヤコビ行列
Jを用いて δP→=JδΘ→ ………(8) で表せられる。ここで、Jは(7)式の静的な変換式 P→=f(Θ→) ………(9) を微分することによつて求められる行列であつ
て、 Jij=∂fi/∂Θj (i、j=1〜6) ………(10) により計算される動的な変換式(8)の係数となつて
いる。従つて、δP→が与えられていて、すなわち
直交座標系上の変分(差分)が与えられたとき、
角度変分δΘ→を求めるには、ヤコビ行列Jの逆行
J-1が必要であるが、この逆行列が存在するため
には行列式detJ≠0が成り立たなければならな
い。
The relationship between the minute change SP when the position/posture vector P of the hand changes to the next state and the corresponding minute change δΘ in the joint angle vector can be expressed using the Jacobian matrix J as follows: δP→=JδΘ→ (8) It can be expressed as Here, J is a matrix obtained by differentiating the static transformation formula P→=f(Θ→) (9) of equation (7), and J ij =∂f i / ∂Θ j (i, j=1 to 6) ......(10) This is a coefficient of the dynamic conversion equation (8). Therefore, when δP→ is given, that is, the variation (difference) on the orthogonal coordinate system is given,
To find the angular variation δΘ→, inverse the Jacobian matrix J
J -1 is required, but in order for this inverse matrix to exist, the determinant detJ≠0 must hold true.

特異点とはdetJ=0となる角度関係であり、そ
の分布は、ロボツトの機構により決定される。第
1図の構成のロボツトの場合、以下のようにな
る。
A singular point is an angular relationship such that detJ=0, and its distribution is determined by the mechanism of the robot. In the case of a robot having the configuration shown in FIG. 1, the following will occur.

θ2+θ3/2=nπ θ3=nπ (11) θ5=nπ 、、を満足する特異点を示すロボツトの
状態は、第3図に示すようである。
The state of the robot exhibiting a singular point satisfying θ 23 /2=nπ θ 3 =nπ (11) θ 5 =nπ is as shown in FIG.

特異点は解の種類の変化点であり、この点を境
にΘ→の動きは不連続となつてしまう。また、特異
点近傍でも、P→の微小変化によつて、Θ→が大きく
変化する。
A singular point is a point where the types of solutions change, and the movement of Θ→ becomes discontinuous after this point. Furthermore, even in the vicinity of the singularity, Θ→ changes greatly due to a small change in P→.

従つて、直交座標系でロボツトが連続移動でき
る範囲には制限があることになる。
Therefore, there is a limit to the range in which the robot can continuously move in the orthogonal coordinate system.

(3) 従来技術の問題点 従来、ロボツトを広い範囲で移動させる場合、
直交座標系だけを用いるのではなく、Θ→の成分を
座標値とする座標系を用いて解の種類を変更する
など、直交座標系とそれ以外の座標系を併用する
方法がとられている。
(3) Problems with conventional technology Conventionally, when moving a robot over a wide range,
Instead of using only the orthogonal coordinate system, methods are used in which the orthogonal coordinate system and other coordinate systems are used together, such as changing the type of solution by using a coordinate system whose coordinate value is the component of Θ→. .

(4) 発明の目的 本発明は、6自由度多関節型ロボツトに固有の
特異点の存在をチエツクすることにより、直交座
標系上を大域的にすなわち、全空間を連続的に移
動できるロボツトの軌跡制御方式を提供すること
にある。
(4) Purpose of the Invention The present invention aims to develop a robot that can move globally on an orthogonal coordinate system, that is, continuously in the entire space, by checking the existence of singular points specific to a 6-degree-of-freedom articulated robot. The purpose of the present invention is to provide a trajectory control method.

(5) 発明の構成 本発明は、計算したロボツトの目標関節角度と
現在関節角度との差から、計算値の解の種類が変
更したかどうかをすなわち、特異点に近くなつた
かどうかをチエツクし、解の種類が変更しすなわ
ち、特異点が近くなつた場合には、目標関節角度
を補正することにより特異点をスムーズに通過で
きる角速度を求めるようにするロボツトの軌跡制
御方式を提供したものである。
(5) Structure of the Invention The present invention checks whether the type of solution of the calculated value has changed, that is, whether it has become close to a singular point, based on the difference between the calculated target joint angle of the robot and the current joint angle. , we have provided a robot trajectory control method that calculates an angular velocity that allows the robot to smoothly pass through the singularity by correcting the target joint angles when the type of solution changes, that is, when the singularity gets closer. be.

(6) 発明の実施例 本発明の制御方式を第4図と共に説明する。。
制御されるロボツトの構成は第1図とする。
(6) Embodiments of the Invention The control system of the present invention will be explained with reference to FIG. .
The configuration of the controlled robot is shown in FIG.

演算処理装置1は直交座標系におけるロボツト
の指示径路上の各サンプル時点k+1での位置・
姿勢ベクトルPK+1から(7)式を用いて関節角度
ΘK+1をもとめ、このΘK+1とサーボ機構3内のエ
ンコーダ位置カウンタから得られた現時点での関
節角度Θ′Kとから角速度 θ〓K=(θK+1−θ′K)/Δt (Δt:サンプル周期) を生成し、速度関数発生部2へ出力する。
The arithmetic processing unit 1 calculates the position at each sample time point k+1 on the robot's indicated path in the orthogonal coordinate system.
The joint angle Θ K+ 1 is obtained from the posture vector P K+1 using equation (7), and this Θ K+1 is combined with the current joint angle Θ' K obtained from the encoder position counter in the servo mechanism 3. The angular velocity θ〓 K = (θ K+1 −θ′ K )/Δt (Δt: sampling period) is generated from the equation and output to the velocity function generator 2.

サーボ機構3は、ロボツトの各関節に配置され
ており、速度関数発生部2の出力を追従する。
The servo mechanism 3 is arranged at each joint of the robot and follows the output of the velocity function generator 2.

本実施例において、特異点のチエツクは θ2+θ3/2=nπとθ5=nπの点に限り、θ3=nπ

点はチエツクせずに解の種類のどちらか一方に定
めておく、すなわち、θ2からθ3 を結ぶ直線によつて区切られる領域の一方に定め
ておく。その理由は第3図bより第3番目の関節
が一方の領域しか回転できなくでも、ロボツトの
手先の移動範囲に影響がないからである。
In this embodiment, singular points are checked only at the points θ 23 /2=nπ and θ 5 =nπ, and when θ 3 =nπ
The point is set in one of the solution types without being checked, that is, it is set in one of the regions divided by the straight line connecting θ 2 to θ 3 . The reason for this is that, as shown in FIG. 3b, even if the third joint can only rotate in one area, it does not affect the movement range of the robot's hand.

前記2点の特異点のチエツクは、ロボツトが θ2+θ3/2がnπを通る時θ1がずれる。 When checking the two singular points mentioned above, when the robot passes through nπ, θ 1 shifts when θ 23 /2 passes through nπ.

θ5がnπを通る時θ4とθ6がπずれる。 When θ 5 passes through nπ, θ 4 and θ 6 are shifted by π.

ことを利用する。このことは、変換式(7)から導か
れることである。アクチユエータ等の機械的動作
速度の上限によつて定まる関節の最高角速度を
θ〓maxとする時、θ1またはθ4(θ6)の変化、すなわ
ち、演算回路1で計算される関節の次の状態と今
の状態の角度の差|θK+1−θ′K|が特異点におけ
る角度πと実際のアクチユエータ等の越え得る物
質的な限界角度θ〓max・Δtとの差より大となつた
ところ、すなわち、 |θK+1−θ′K|>π−θ〓max・Δt となる所を特異点と見なし の場合 θ1→θ1±π θ2→π−θ2 の場合 θ4→θ4±π θ5→−θ5 θ6→θ6±π のように補正して、角度の特異点における不連続
的な変化を特異点に達する前に回避してしまう。
判別値をθ〓max・Δtとせずにπ−θ〓max・Δtとし
た理由は、特異点近傍の変化を考慮し、上記特異
点における不連続性の回避を特異点の近傍で行う
ようにしたためである。特異点での不連続性を除
去するためには、上述の如く、θ1〜θ6を特異点以
前で変化させればよいが、次にアクチユエータ等
を、特異点近傍において、いかに駆動すべきかに
ついて述べる。
Take advantage of that. This is derived from conversion equation (7). When the maximum angular velocity of the joint determined by the upper limit of the mechanical operation speed of the actuator, etc. is θ〓max, the change in θ 1 or θ 46 ), that is, the next The difference in angle between the state and the current state |θ K+1 −θ′ K | is larger than the difference between the angle π at the singular point and the physical limit angle θ〓max・Δt that can be exceeded by the actual actuator, etc. In other words, if |θ K+1 −θ′ K |>π−θ〓max・Δt is regarded as a singularity, then θ 1 →θ 1 ±π θ 2 →π−θ 2 θ 4 →θ 4 ±π θ 5 →−θ 5 θ 6 →θ 6 ±π The discontinuous change at the angle singularity is avoided before the singularity is reached.
The reason why we set the discriminant value to π−θ〓max・Δt instead of θ〓max・Δt is to take into account changes in the vicinity of the singularity, and to avoid discontinuities at the above singularity in the vicinity of the singularity. This is because. In order to remove the discontinuity at the singular point, it is sufficient to change θ 1 to θ 6 before the singular point, as described above, but next, how should the actuator etc. be driven near the singular point? Let's talk about.

特異点近傍では、θ1とθ4(θ6)の変化は不連続
とならないまでも大きな変化をするため、1サン
プル周期Δtで移動する角速度は計算値ではアク
チユエータが駆動できる最高角速度θ〓max以上と
なつてしまう。これに対処するために特異点近傍
において、すなわちθ1又はθ4(θ6)の変化が π−θ〓max・Δt>|θK+1−θ′K|≧θ〓max・Δtと

る所では、θ1又はθ4(θ6)を計算値で得られる角
速度θ〓Kの代わりにアクチユエータの実際の最高角
速度θ〓maxで動かし(θ〓K>θ〓max)、その分サン

ル周期を長くするように、|θ〓K/θ〓max|・Δtと
すれば、移動距離を計算値で与えるものとアクチ
ユエータをθ〓maxで動かした場合とで一致させる
ことができる。この場合θ1またはθ4(θ6)以外のθi
については、計算値で得られる角速度を|
θ〓max/θ〓K|倍することはもちろんである。
Near the singularity, changes in θ 1 and θ 46 ) change significantly, even if not discontinuously, so the angular velocity that moves in one sample period Δt is calculated as the maximum angular velocity that the actuator can drive θ〓max That's all there is to it. To deal with this, near the singularity, the change in θ 1 or θ 46 ) becomes π−θ〓max・Δt>|θ K+1 −θ′ K |≧θ〓max・Δt Here, instead of the angular velocity θ〓 K obtained from the calculated value, θ 1 or θ 46 ) is moved at the actual maximum angular velocity θ〓max of the actuator (θ〓 K > θ〓max), and the sampling period is increased accordingly. By setting |θ〓 K /θ〓max|·Δt so as to increase the distance, it is possible to make the movement distance given as a calculated value the same as when the actuator is moved by θ〓max. In this case, θ i other than θ 1 or θ 46 )
For, the angular velocity obtained from the calculated value |
θ〓max/ θ〓K | Of course, it can be multiplied.

(7) 発明の効果 上述したように本発明では、特異点のチエツク
を行い、またはこれと同時に特異点近傍のチエツ
クをを行うことにより、与えられた直交座標から
各関節の関節角度へと特異点及びその近傍におい
ても、スムーズに変換でき、従つて6自由度多関
節型ロボツトの機構に固有の特異点及びその近傍
を連続的に通過できるので、ロボツトが直交座標
系上を大域的に移動できる。
(7) Effects of the invention As described above, in the present invention, by checking the singular point or simultaneously checking the vicinity of the singular point, the joint angle of each joint can be calculated from the given orthogonal coordinates. Points and their vicinity can be smoothly transformed, and the robot can continuously pass through singular points unique to the mechanism of a 6-degree-of-freedom articulated robot and their vicinity, making it possible for the robot to move globally on the orthogonal coordinate system. can.

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

第1図a,bは各々発明に適用された6自由度
多関節型ロボツトの構成図とオイラー角で表示さ
れた手先の位置姿勢を示す図、第2図a,b,c
は8組の関節角度のモード毎の説明図、第3図
a,b,cは3種の特異点での関節の状態を示す
図、第4図は速度制御方式の装置構成図。 1……演算処理装置、2……速度関数発生部、
3……サーボ機構、O0−x0y0z0……ロボツトの絶
対固定座標系、Oi−xiyizi……各関節に固定され
た座標系(i=1〜5)、Oh−xhyhzh……手先に
固定された座標系、li……第i番目の腕の長さ、
θi……第i番目の関節の回転角度、P……O0
x0y0z0上での手先の位置・姿勢を表す6次元ベク
トル、h1,h2,h3……Oh−xhyhzhのx,y,z軸
のO0−x0y0z0に対する方向余弦。
Figures 1a and b are diagrams showing the configuration of the 6-degree-of-freedom articulated robot applied to the invention and the position and orientation of the hand expressed in Euler angles, and Figures 2a, b, and c
3A, 3B, 3C are diagrams showing joint states at three types of singular points, and FIG. 4 is a configuration diagram of a speed control system. 1... Arithmetic processing unit, 2... Speed function generation unit,
3... Servo mechanism, O 0 -x 0 y 0 z 0 ... Absolutely fixed coordinate system of the robot, O i -x i y i z i ... Coordinate system fixed to each joint (i = 1 to 5) , O h −x h y h z h ...Coordinate system fixed to the hand, l i ...Length of the i-th arm,
θ i ...Rotation angle of the i-th joint, P...O 0
6-dimensional vector representing the position and orientation of the hand on x 0 y 0 z 0, h 1 , h 2 , h 3 ... O hx h y h z h 's x, y, and z axes O 0 − Direction cosine for x 0 y 0 z 0 .

Claims (1)

【特許請求の範囲】 1 多関節ロボツトのベースに定義した直交座標
系にて予め指定されている始点より逐次所定の時
間後に通過するべき補間点を演算し、前記各々の
補間点におけるロボツトの関節角を前記直交座標
系からロボツトの形態に固有の関節座標系への座
標変換演算により求め、前記補間点における関節
角と移動中の現時点の関節角との差から補間点に
達するまでに関節を駆動させる速度を求める演算
を行い、ロボツト先端を終点まで移動させるロボ
ツトの軌跡制御方式において、前記関節角の差が
予め設定されている所定量より大きくなつた時、
関節角が不連続に変化する特異点に近づいたと見
做し、補間点の関節角を、変化量が少なく、かつ
先端が同じ位置・姿勢をとることのできる前記座
標変換の別解に変更することを特徴とするロボツ
トの軌跡制御方式。 2 多関節ロボツトのベースに定義した直交座標
系にて予め指定されている始点より逐次所定の時
間後に通過するべき補間点を演算し、前記各々の
補間点におけるロボツトの関節角を前記直交座標
系からロボツトの形態に固有の関節座標系への座
標変換演算により求め、前記補間点における関節
角と移動中の現時点の関節角との差から補間点に
達するまでに関節を駆動させる速度を求める演算
を行い、ロボツト先端を終点まで移動させるロボ
ツトの軌跡制御方式において、前記関節角の差が
予め設定されている所定量より大きくなつた時、
関節角が不連続に変化する特異点に近づいたと見
做し、補間点の関節角を、変化量が少なく、かつ
先端が同じ位置・姿勢をとることのできる前記座
標変換の別解に変更し、また、前記関節角の差が
前記所定量よりも小さいが、求めた関節駆動速度
が機構的に駆動可能な最高関節角速度より大きく
なつた時、前記特異点の近傍に近づいたと見做
し、補間点への関節駆動速度を前記最高関節角速
度に設定すると共に、その速度で駆動する時間
を、速度を低減させた比率分に見合うだけ長く設
定し直すことを特徴とするロボツトの軌跡制御方
式。
[Scope of Claims] 1. Interpolation points to be passed sequentially after a predetermined time from a prespecified starting point in a Cartesian coordinate system defined on the base of an articulated robot are calculated, and the joints of the robot at each of the interpolation points are calculated. The angle is calculated by a coordinate conversion operation from the orthogonal coordinate system to a joint coordinate system specific to the robot's form, and the joint angle is calculated from the difference between the joint angle at the interpolation point and the joint angle at the current moment during movement. In a robot trajectory control method that calculates the driving speed and moves the robot tip to an end point, when the difference in the joint angles becomes larger than a predetermined amount,
Assuming that the joint angle is approaching a singular point where the joint angle changes discontinuously, the joint angle at the interpolation point is changed to another solution of the coordinate transformation that has a small amount of change and allows the tip to take the same position and posture. A robot trajectory control method characterized by the following. 2 Calculate the interpolation points that the robot should pass through after a predetermined period of time from the starting point specified in advance in the orthogonal coordinate system defined on the base of the articulated robot, and calculate the joint angles of the robot at each of the interpolation points in the orthogonal coordinate system. A calculation that calculates the speed at which the joint is driven until it reaches the interpolation point from the difference between the joint angle at the interpolation point and the joint angle at the current moment of movement. In a robot trajectory control method in which the tip of the robot is moved to the end point, when the difference in the joint angles becomes larger than a predetermined amount,
Assuming that we have approached a singular point where the joint angle changes discontinuously, we change the joint angle at the interpolation point to another solution of the above coordinate transformation that has a small amount of change and allows the tip to take the same position and orientation. , furthermore, when the difference between the joint angles is smaller than the predetermined amount, but the determined joint drive speed becomes larger than the mechanically drivable maximum joint angular speed, it is considered that the joint angle has approached the vicinity of the singular point, A trajectory control method for a robot, characterized in that the joint driving speed to the interpolation point is set to the maximum joint angular speed, and the time for driving at that speed is reset to a length corresponding to the ratio of speed reduction.
JP21119581A 1981-12-28 1981-12-28 Control system of locus of robot Granted JPS58114888A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21119581A JPS58114888A (en) 1981-12-28 1981-12-28 Control system of locus of robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21119581A JPS58114888A (en) 1981-12-28 1981-12-28 Control system of locus of robot

Publications (2)

Publication Number Publication Date
JPS58114888A JPS58114888A (en) 1983-07-08
JPH035605B2 true JPH035605B2 (en) 1991-01-28

Family

ID=16601948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21119581A Granted JPS58114888A (en) 1981-12-28 1981-12-28 Control system of locus of robot

Country Status (1)

Country Link
JP (1) JPS58114888A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011003176A (en) * 2009-05-19 2011-01-06 Fanuc Ltd Numerical control device for five-axis processing machine

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6057408A (en) * 1983-09-08 1985-04-03 Fujitsu Ltd Locus controller of robot
JPS60189012A (en) * 1984-03-07 1985-09-26 Hitachi Ltd Track control method of robot
JPH0630008B2 (en) * 1985-09-09 1994-04-20 株式会社日立製作所 Robot control method
US4893254A (en) * 1988-04-20 1990-01-09 University Of British Columbia Manipulator arm position sensing
JP4060393B2 (en) * 1996-01-24 2008-03-12 三菱電機株式会社 Robot speed calculation device and robot speed calculation method
JP5507632B2 (en) * 2012-08-24 2014-05-28 株式会社小坂研究所 Articulated coordinate measuring device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011003176A (en) * 2009-05-19 2011-01-06 Fanuc Ltd Numerical control device for five-axis processing machine

Also Published As

Publication number Publication date
JPS58114888A (en) 1983-07-08

Similar Documents

Publication Publication Date Title
US5781705A (en) Method and apparatus for controlling the motion of a redundancy manipulator
JPS59107884A (en) Control system of robot
CN109176494A (en) Rope drives Arm Flexible machine people self-calibrating method and system, storage medium
KR20110041950A (en) Teaching and playback method using redundancy resolution control for manipulator
JPH0310782A (en) Motion control method for robot
WO2022258054A1 (en) Control method and system for reconstructed surgical field center of instrument, and storage medium
KR100253898B1 (en) Trajectory control apparatus and trajectory control method for intra-planar multifreedom scara type of robot, and computer-readable recording medium with trajectory control program for intra-planar multifreedom scara type of robot stored therein
JP2874238B2 (en) Control method of articulated robot
JPH035605B2 (en)
JPH0457688A (en) Control device for robot in inertial system
JPH01267706A (en) Method for controlling robot
JPH0693209B2 (en) Robot&#39;s circular interpolation attitude control device
JP2560283B2 (en) Robot control method
JPH0630012B2 (en) Control method for industrial robot
JPS62199383A (en) Control system of robot
JP3206765B2 (en) Control method of master-slave manipulator
JPH0677205B2 (en) Robot control method
JP2676721B2 (en) Control device for articulated robot
JPH0468646B2 (en)
JP3930956B2 (en) Trajectory control apparatus and trajectory control method for a multi-degree-of-freedom SCARA robot in one plane, and a computer-readable recording medium recording a trajectory control program for a single-degree multi-DOF SCARA robot
JPS6016385A (en) Method of controlling robot
JP3146463B2 (en) Elbow movement control device for redundant axis manipulator
JPS59163609A (en) Route interpolating method of robot hand
JPS60217418A (en) Tracking control system of articulated robot
JP3594985B2 (en) Robot control device