JPS6037009A - Controller of articulated robot - Google Patents

Controller of articulated robot

Info

Publication number
JPS6037009A
JPS6037009A JP58146251A JP14625183A JPS6037009A JP S6037009 A JPS6037009 A JP S6037009A JP 58146251 A JP58146251 A JP 58146251A JP 14625183 A JP14625183 A JP 14625183A JP S6037009 A JPS6037009 A JP S6037009A
Authority
JP
Japan
Prior art keywords
robot
coordinate system
joint
speed
articulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP58146251A
Other languages
Japanese (ja)
Other versions
JPH0256681B2 (en
Inventor
Tadashi Akita
正 秋田
Takashi Uchiyama
隆 内山
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 JP58146251A priority Critical patent/JPS6037009A/en
Publication of JPS6037009A publication Critical patent/JPS6037009A/en
Publication of JPH0256681B2 publication Critical patent/JPH0256681B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43058Limitation of acceleration, permissible, tolerable acceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43201Limit speed to allowable speed for all axis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

PURPOSE:To perform positioning of a robot quickly and with high accuracy by providing a speed control mechanism to both articulation and right angle coordinate systems respectively and at the same time positioning the robot with deceleration at a target angle to each articulation. CONSTITUTION:The 1st devices 11, 12, 14-16, 21 and 22 fetch the data on the robot target position and the data on the robot position set before movement which are shown by the coordinate system different from an articulation coordinate system and delivers the indicated speed data having time change at a prescribed accelerating/decelerating speed for each sampling timing. The 2nd devices 13 and 17-19 convert the indicated speed data into that of the articulation coordinate system and then into a designated speed which has a time change at an allowable accelerating/decelerating speed of each articulation to deliver it to each articulation driving part. At the same time, a deceleration curve having an angle speed set at zero is stored in each articulation at a target angle obtained by converting the target position data into an articulation coordinate system. Then a switch deciding device 20 delivers a signal to switch all at once each articulation driving part to the position control based on said deceleration curve when a robot gets close to its target position.

Description

【発明の詳細な説明】 発明の技術分野 本発明は、ロボットのハンドなどの制御部位を目標位置
に対して、計画した軌道に沿って接近させ、かつ迅速に
その目標位置に位置決めする多関節型ロボットの制御装
置に関する。
DETAILED DESCRIPTION OF THE INVENTION Technical Field of the Invention The present invention relates to a multi-joint type robot that allows a control part such as a robot hand to approach a target position along a planned trajectory and quickly positions it at the target position. This invention relates to a robot control device.

技術の背景 多関節型ロボットに作業をさせる際、人間に理解しやす
いあるいは外部環境と適合しやすいXYZ直角座標系の
データで指示を与えることが一般的に行なわれている。
Background of the Technology When making an articulated robot perform a task, it is common practice to give instructions using data in an XYZ rectangular coordinate system that is easy for humans to understand or that is easy to adapt to the external environment.

これに対して、多関節型ロボットはその構造上から来る
座標系(多関節ロボットは回動可能あるいは更に伸縮可
能な複数個の腕からなるから、該腕を座標軸にとった座
標系で、関節座標系と呼ばれる)で動作するから、直角
座標系−関節座標系への座標変換演算をリアルタイムで
行ないながらロボット各関節駆動部を動作させることに
なる。
On the other hand, an articulated robot has a coordinate system that comes from its structure (an articulated robot consists of multiple arms that can rotate or extend and contract, so the coordinate system that uses these arms as the coordinate axis) Since the robot operates in a coordinate system (referred to as a coordinate system), each joint drive unit of the robot is operated while performing coordinate conversion calculations from a rectangular coordinate system to a joint coordinate system in real time.

第1図に示すようにA点からB点までロボットハンドH
の向きを一定にしたまま直線的軌道を描いて移動させる
場合で説明すると、まず直角座標系xyz上でA点から
B点に向う線速度’s o+の大きさを各時点の位置に
応じた加減速制御を含めて決める。これをX(11(i
=o、1.2.・・・・・・)とすると、61秒後(Δ
Tはサンプリングタイムで、座標変換時間などを考慮し
て定める)に位置すべき座標X(ill)は ×(i+ I) = X (11+ X (1)・ΔT
 式+11としてめられる。これを座標変換して関節座
標系の座標θ(1伺)を得ると、ロボットの各関節に与
えるべき指示速度θ(11は として計算できる。ここで、θ(1)′ はX (11
に対応する関節座標系上の点であるが、これは指示速度
l17(+1を出力する直前においてロボットの各軸に
実装しているモータの回転角検知器により実測した値と
する。この実測値を用いる理由は特願昭55−1878
87で詳述しているが、次のような効果がある。即ち第
2図は1つの関節について指示速度V+と実際の移動速
度■2を対比したものであるが、モータの出力トルクが
有限であるという物理的な制約のため、実際の速度V2
はΔT秒ごとにステップ状に更新されて行く指示速度■
1に完全には追いつけず、斜線を施した3角形の面積の
分だけ予定位置θ(ill)からずれることになる。
As shown in Figure 1, the robot hand H moves from point A to point B.
To explain the case of moving along a linear trajectory while keeping the direction constant, first, the magnitude of the linear velocity 's o+ from point A to point B on the rectangular coordinate system xyz is determined according to the position at each point in time. Decide including acceleration/deceleration control. This is expressed as X(11(i
=o, 1.2. ), then after 61 seconds (Δ
T is the sampling time, and the coordinate X (ill) to be located at (determined by taking into account the coordinate transformation time, etc.) is × (i + I) = X (11 + X (1) · ΔT
It can be seen as formula +11. By converting the coordinates to obtain the coordinates θ(1) of the joint coordinate system, the commanded speed θ(11) to be given to each joint of the robot can be calculated as θ(1)'.
The point on the joint coordinate system corresponding to The reason for using is the patent application 1878-1983.
87, it has the following effects. In other words, Fig. 2 compares the instructed speed V+ and the actual moving speed ■2 for one joint, but due to the physical constraint that the output torque of the motor is finite, the actual speed V2
is the instruction speed that is updated in steps every ΔT seconds■
1 and deviates from the planned position θ(ill) by the area of the hatched triangle.

しかし追従差分法と呼ぶ式(2)の方法では、θ(1)
′に実測値を用いているため次の時点の指示速度ではこ
のずれが自動的に補正されていく形になっている。なお
後述のように指示速度をV+の如くステップ状に変化さ
せずv2のように傾斜させると斜線部分が僅少になり、
ロボット各関節駆動部が過大入力を受けて飽和するなど
の問題がなくなって、ロボットの運動は円滑になりかつ
各関節駆動部の利得を上げて高精度な制御を行なうこと
ができる。
However, in the method of equation (2) called the tracking difference method, θ(1)
Since the actual measured value is used for ', this deviation is automatically corrected at the next commanded speed. As will be described later, if the indicated speed is not changed in steps as in V+, but as inclined as in V2, the shaded area will be slightly smaller.
Problems such as saturation due to excessive input received by each joint drive unit of the robot are eliminated, the robot moves smoothly, and the gain of each joint drive unit can be increased to perform highly accurate control.

従来技術と問題点 このようにして第1図のような直線的軌跡を描いてB点
に接近することができるようになったが、B点にビタリ
位置決めするにはまだ問題が残る。
Prior Art and Problems Although it has become possible to approach point B by drawing a linear trajectory as shown in FIG. 1 in this way, there still remains a problem in precisely positioning the object at point B.

というのは、第2図のように指示速度と実際の速度が完
全には一致しないことにより、たとえB点において駆動
位庫Xi+1従ってθ、+1が該目標位置Bに一致する
ように、式(2)により々iを計算してこれを指示速度
としても、へT秒後に必らずしも正確に該B点に到着は
しない。一般にはこの時点で各軸は該biなる速度を持
っているので、次の61秒後にはB点を通り越してしま
い、実測した現在位置Xiによる戻り制御が行なわれ、
ロボットハンドはB点の周りで振動もしくはループを画
きなから該B点に接近することになる。しかもやがCは
完全にB点に到達できるかと言うとそうではなく、指示
速度の量子化誤差と指示速度を更新する時間々隔の粗さ
のために、永久にB点の周りに振動することもあるとい
う問題がある。前述のように直角座標系での線速度’s
 toは加減速を考1、f、 l、て定めるので目標位
置近傍では小になっているが、関節座標系は直角座標系
に対して比例関係にある訳ではないから、関節座標系に
変換するとそ0月は示速度は目標位置近傍でも大きいこ
とが有りiυ、これが上記の問題を惹き起し易い。
This is because, as shown in FIG. 2, the commanded speed and the actual speed do not completely match, so even if the drive position Xi+1 and therefore θ,+1 match the target position B at point B, the equation ( 2) Even if i is calculated and used as the commanded speed, the vehicle will not necessarily arrive at the point B exactly after T seconds. Generally, at this point, each axis has the speed bi, so in the next 61 seconds it will pass point B, and return control will be performed based on the actually measured current position Xi.
The robot hand approaches point B while vibrating or forming a loop around point B. Furthermore, it is not possible for C to reach point B completely; it oscillates around point B forever due to the quantization error in the indicated speed and the roughness of the time interval at which the indicated speed is updated. The problem is that sometimes. As mentioned above, the linear velocity's in the rectangular coordinate system
Since to is determined based on acceleration/deceleration, f, and l, it is small near the target position, but since the joint coordinate system is not in a proportional relationship with the orthogonal coordinate system, it must be converted to the joint coordinate system. Then, in October, the indicated speed may be large even near the target position iυ, which tends to cause the above problem.

か\る問題は、第1図B点に接近する時直角座標系のレ
ベルで線速度&(1)を徐々に落とす(これはΔT毎の
ため粗い制御である)だけでなく、関節座標系のレベル
においてもそれぞれの軸についてB点への接近につれて
減速することにより改善できる。
The problem is that when approaching point B in Figure 1, not only the linear velocity &(1) is gradually reduced at the level of the orthogonal coordinate system (this is rough control because it is for every ΔT), but also This level can also be improved by decelerating each axis as it approaches point B.

直角座標系と関節座標系の2つのレベルでB点に接近す
るにつれて減速させることは一見2度手間のように感じ
られるが、■直角座標系のレベルのみではΔTが大きく
、粗い制御になるので迅速かつ高精度な位置決めが困難
、■直角座標系上で計画された軌道に従がいながら第1
図B点に向って減速して行く時、関節座標系レベルのみ
で減速動作させると、各関節固有の加速度で減速される
ため、ロボットハンドは前記計画された軌道上を正確に
通らなくなる。■直角座標系−関節座標系の変換は非線
形であるため前述のように、ある関節が伸びきる姿勢で
は、直角座標系では微小量の変位でも関節座標系上では
速度、加速度が無限大になる(これは特異点と呼ばれる
)ことがある。
At first glance, decelerating the vehicle as it approaches point B at two levels, the Cartesian coordinate system and the joint coordinate system, seems like twice the effort, but if only the Cartesian coordinate system level is used, ΔT is large and the control becomes rough. Difficulty in positioning quickly and with high precision;
When decelerating toward point B in the figure, if deceleration is performed only at the joint coordinate system level, the robot hand will not accurately follow the planned trajectory because it will be decelerated by the acceleration unique to each joint. ■Since the transformation between Cartesian coordinate system and joint coordinate system is nonlinear, as mentioned above, when a certain joint is fully extended, even if the displacement is minute in the Cartesian coordinate system, the velocity and acceleration will be infinite in the joint coordinate system. (This is called a singularity).

各関節の駆動部は勿論無限大の速度、加速度には追従で
きず、パルスモータ等を使用した時は脱調するし、直流
モータで閉ループ制御する時も制御回路が飽和して暴走
の危険がある。したがって、直角座標系のレベルだけの
加、減速制御では保安上においても問題があり、関節座
標レベルでの加減速制御をしないと、特異点を遠く避け
て動かすなどの処理をしなければならない、等、多関節
型ロボット特有の事情があるので、上記2重減速はけっ
して無駄ではない。
Of course, the driving parts of each joint cannot follow infinite speeds and accelerations, and when using pulse motors, etc., they will step out, and when using closed-loop control with DC motors, the control circuit will become saturated and there is a risk of runaway. be. Therefore, acceleration and deceleration control only at the level of the rectangular coordinate system poses security problems, and unless acceleration and deceleration control is performed at the joint coordinate level, processing such as moving the singular point far away is required. Because there are circumstances unique to articulated robots, such as this, the double deceleration described above is by no means a waste.

2重減速を行なうには、第1図B点における各関節の座
標データ(各関節角度の目標値)を、各関節ごとに実装
した制御回路に予め設定してお(。
To perform double deceleration, the coordinate data (target value of each joint angle) of each joint at point B in Figure 1 is set in advance in the control circuit installed for each joint (.

これらの各関節の制御回路は、上記各関節の目標角度(
目標位置)を原点とする減速曲線を発生し、各関節の回
転速度をこの減速曲線に従って減速しながらロボットハ
ンドを目標角度に導き、そこに位置決めする様構成する
The control circuit for each of these joints is configured to control the target angle (
A deceleration curve is generated with the origin at the target position), and the robot hand is guided to the target angle and positioned there while decelerating the rotational speed of each joint according to this deceleration curve.

しかしながらこ\でまた新たな問題が出てくる。However, a new problem arises here.

これを、最も簡単な2自由度極座標型ロボットで、R軸
とθ軸を操作してA点からB点へ直線状に動かず例によ
り説明するに、第3図は該ロボットを示し、ARは伸縮
及び回動が可能な該ロボットの腕、Lは該腕の先端軌跡
である。ここでは腕ARの先端をB点に位置決めしたい
のであらかじめB点におけるR軸とθ軸の目標位置をそ
れぞれのサーボ制御回路にセントしておき、A点から出
発する。図面から明らかなように出発点AにおけるR2
Oは目標点Bにおけるそれとは異なる(Rは大、θも水
平軸からの角で言って大)なので、差を0にする運動が
開始し、この結果腕ARの先端は直線りに沿ってBへ向
かうが、途中の0点でR軸の長さがB点でのそれと同じ
になる。この結果θ軸についてはA点からB点まで動き
続けるのに、R軸は0点で位置決め完了となってしまう
(各関節独立制御であるから)。そこでA点から0点ま
では各軸の指示速度をうまく稠整するので腕先端は直線
状に動いてい(が、0点からB点まではR軸の動きが止
まってしまったので第3図破線の様に円弧状に動くこと
になり、軌道は正しくない。
This will be explained using an example using the simplest two-degree-of-freedom polar coordinate robot, which does not move in a straight line from point A to point B by manipulating the R and θ axes. is an arm of the robot that can extend, contract, and rotate, and L is a locus of the tip of the arm. Here, we want to position the tip of the arm AR at point B, so we set the target positions of the R-axis and θ-axis at point B in advance to the respective servo control circuits, and start from point A. As is clear from the drawing, R2 at the starting point A
Since O is different from that at target point B (R is large and θ is also large in terms of angle from the horizontal axis), a movement is started to reduce the difference to 0, and as a result, the tip of arm AR moves along a straight line. It heads towards B, but at point 0 on the way, the length of the R axis becomes the same as that at point B. As a result, although the θ-axis continues to move from point A to point B, positioning for the R-axis is completed at point 0 (because each joint is controlled independently). Therefore, from point A to point 0, the indicated speed of each axis is carefully adjusted, so the tip of the arm moves in a straight line (but from point 0 to point B, the movement of the R axis stops, so see Figure 3). It moves in an arc as shown by the broken line, and the trajectory is incorrect.

発明の目的 本発明はか\る点を改善し、ロボットハンドは予定軌跡
を通って目標位置へ迅速に、振動など生じることなく正
確に、到達するように制御するロボット制御法を提供し
ようとするものである。
OBJECTS OF THE INVENTION The present invention aims to improve the above points and provide a robot control method that controls the robot hand to quickly and accurately reach a target position along a predetermined trajectory without causing any vibrations. It is something.

発明の構成 本発明の多関節ロボットの制御装置は多関節ロボットの
構造から定まる関節座標系とは異なる座標系で表わされ
たロボット目標位置データ及び移動前位置データを取込
んで、所定の加減速度で時間変化する指示速度データを
各サンプリングタイミング毎に出力する第1の装置と、
該指示速度データを入力されてそれを関節座標系の指示
速度データに変換し、更に各関節の許容加減速で時間変
化する指示速度に変更してロボット各関節駆動部へ出力
し、かつ前記目標位置データを関節座標系に変換して得
たロボット目標角度では角速度が零になる減速曲線を各
関節毎に内蔵する第2の装置と、ロボットが目標位置に
接近したとき、各関節駆動部を一斉に速度制御から前記
減速曲線に従う位置制御に切換える信号を出力する切換
判定装置とを備えることを特徴とするが、次に実施例を
参照しながらこれを詳細に説明する。
Composition of the Invention The control device for an articulated robot of the present invention takes in robot target position data and pre-movement position data expressed in a coordinate system different from the joint coordinate system determined from the structure of the articulated robot, and performs predetermined adjustment. a first device that outputs instruction speed data that changes over time according to the speed at each sampling timing;
The commanded speed data is inputted, converted to commanded speed data in the joint coordinate system, further changed to a commanded speed that changes over time according to the permissible acceleration/deceleration of each joint, and outputted to each joint drive unit of the robot, and A second device has a built-in deceleration curve for each joint in which the angular velocity becomes zero at the robot target angle obtained by converting the position data to the joint coordinate system, and a second device that controls each joint drive unit when the robot approaches the target position. The present invention is characterized by comprising a switching determination device that outputs a signal for switching all at once from speed control to position control according to the deceleration curve, which will be described in detail below with reference to embodiments.

発明の実施例 第3図で述べたように直角座標では単純な直線軌跡でも
関節座標では、R軸が出発長から目標長に減少し、更に
それ以下に減少し、次いで増大して目標長になって始め
て目標点に達するということが生じ、このようなことは
関節ロボットでは頻繁に発生する。か−る問題に対して
はR軸に対して第3図C点では位置決め完了とさせない
のがよく、このためにはA点を出発してC点を通過する
まではR9θ各軸における減速−位置決め機能を殺して
おくとよい。そして第3図B点に接近して真に位置決め
動作が必要になってきた時に初めて各軸の減速−位置決
め機能を生がし、B点に正確に位置決めさせるようにす
る。後者B点附近での制御を位置決め制御モードと呼び
、前者A = Crjl等での制御を速度制御モードと
呼ぶ。
Embodiment of the Invention As described in FIG. 3, even if the trajectory is a simple straight line in Cartesian coordinates, in joint coordinates, the R axis decreases from the starting length to the target length, further decreases below that, and then increases to reach the target length. The goal point is reached only when the object reaches the target point, and this happens frequently with articulated robots. To solve this problem, it is best not to complete positioning at point C in Figure 3 with respect to the R axis, and for this purpose, deceleration on each axis of R9θ should be done until starting from point A and passing through point C. It is better to kill the positioning function. Then, only when the positioning operation becomes truly necessary as the positioning operation approaches point B in FIG. 3, the deceleration and positioning functions of each axis are activated to accurately position the position at point B. The latter control near point B is called a positioning control mode, and the former control at A = Crjl etc. is called a speed control mode.

第3図B点への接近を判定する方法として次の2通りが
考えられる。そして、この判定が成立した時、全軸に速
度制御モードから位置決め制御モードへの切り替えを指
令する。■直角座標系上で、第3図のB点を中心とする
半nrの円(より多関節のロボットでは球)を設定して
、この円(球)の内部に入ったことを判定する。■関節
座標系上で、各軸に予め設定されている目標位置に対し
て、各軸の全てがそれぞれの目標位置に一定の値dまご
接近したことを判定する。
The following two methods can be considered for determining the approach to point B in FIG. When this determination is established, all axes are instructed to switch from the speed control mode to the positioning control mode. (2) On the Cartesian coordinate system, set a half-nr circle (or sphere for a robot with more joints) centered on point B in Figure 3, and determine whether the robot is inside this circle (or sphere). (2) Determine whether all axes have approached their respective target positions by a certain value d on the joint coordinate system with respect to target positions preset for each axis.

ごごで、半径r又は値dを十分小さく選べば第3図でC
点からB点まで円弧を描いて運動することがなくなる。
If you choose the radius r or the value d sufficiently small, you can see C in Figure 3.
There is no longer a need to move in an arc from point to point B.

また、C点とB点が第4図のように接近する場合にはそ
の恐れはあるが、短がい円弧なのでほぼ直線に近似する
ことができるため、実用上問題はない。
Furthermore, if point C and point B are close to each other as shown in FIG. 4, there is a risk of this happening, but since it is a short circular arc and can be approximated to a straight line, there is no problem in practice.

しかし、r又はdをいくらでも小さくできるがと言うと
そうではない。上記■の場合にdを0とした時には第5
図のように、減速されてはいるがまだ成る値V20なる
速度を持っている状態でロボットハンドはすでに目標位
置B上に来ている時、これからその目標位置に位置決め
しようと言うこ”°とになるから、移動速度v2が0で
ない以上目標位置Bを行きすぎ、後戻りしなければなら
なくなる。そこで、r又はdの与え方としては第6図の
ように移動速度が減速曲線りを越えない様なdとすれば
、(目標位置−d)の位置までロボットハンドが到達し
たとき位置決め制御モードに切換え、減速曲線りに従っ
て目標位置まで減速して高精度かつ迅速な位置決めがで
きる。
However, it is not true that r or d can be made as small as desired. In the case of ■ above, if d is set to 0, the fifth
As shown in the figure, when the robot hand is already at target position B in a state where it has been decelerated but still has a speed of V20, it is said that the robot hand is about to position at that target position. Therefore, as long as the moving speed v2 is not 0, the target position B will be exceeded and you will have to go back.Therefore, the way to give r or d is to ensure that the moving speed does not exceed the deceleration curve as shown in Figure 6. If d is set as such, when the robot hand reaches the position (target position - d), it switches to the positioning control mode, decelerates to the target position according to the deceleration curve, and performs highly accurate and quick positioning.

以上では第3図の2自由度の極座標型ロボットの簡単な
例を想定しているが、より自由度の高い一般の多関節型
ロボットについても同じことが言える。
The above assumes a simple example of a polar coordinate robot with two degrees of freedom shown in FIG. 3, but the same can be said of general articulated robots with higher degrees of freedom.

ここでまだ、問題が残っている。第5図のように1度目
標位置Bをオーバシュートして目標位置に位置決めする
場合と、第6図のようにオーバシュートなしにスムーズ
に目標位置に位置決めする場合の2つがあるが、後者の
方が望ましいことは明らかである。そこで、第6図の様
な状態にするには■r又はdを十分大きくとる、■直角
座標系上で計画される線速度について、B点への接近に
つれて精密に減速する、をしなければならないが、■に
ついてはr又はdを大きく取りすぎると第3図のように
C点とB点の間で円弧状に動くことが多くなるので限度
がある。■については、線速度の減速制御を精密に行な
えばr又はdが小さくても第6図の如き円滑な位置決め
を期待できるが、多関節ロボットの場合には前述のよう
に特異点が存在するので、B点が特異点の真上かその近
傍である場合には■の方法でいくら線速度を小さくして
いってもある軸に対する指示速度は無限大に近い値とな
ることがあり、このような場合には振動状態になること
は避けられない。本発明はこのような場合でも1回のオ
ーバシュートを許すのみで確実な位置決めができるよう
にするものであり、速度制御から位置制御への切換えは
各関節駆動部で個々に行なうのではなく、前記rまたは
d以下になったとき全関節駆動部で同時に行なうように
する。実施例を第7図および第8図に示す。
There still remains a problem here. There are two cases: one is to overshoot the target position B once as shown in Figure 5 and then to be positioned to the target position, and the other is to be positioned to the target position smoothly without overshooting as shown in Figure 6. It is clear that this is preferable. Therefore, in order to achieve the state shown in Figure 6, it is necessary to: ■ make r or d sufficiently large, and ■ accurately decelerate the linear velocity planned on the rectangular coordinate system as it approaches point B. However, regarding (2), there is a limit because if r or d is set too large, it will often move in an arc shape between points C and B as shown in FIG. Regarding (2), if the linear velocity deceleration control is performed precisely, smooth positioning as shown in Figure 6 can be expected even if r or d is small, but in the case of articulated robots, there is a singularity as mentioned above. Therefore, if point B is directly above or near the singular point, no matter how much you reduce the linear velocity using method (■), the indicated velocity for a certain axis may become a value close to infinity. In such cases, a state of vibration is unavoidable. The present invention enables reliable positioning even in such a case by allowing only one overshoot, and the switching from speed control to position control is not performed individually in each joint drive unit. When it becomes below r or d, all the joint drive parts are operated at the same time. Examples are shown in FIGS. 7 and 8.

第7図は速度制御モードから位置決め制御モードへの切
り替え判定を直角座標系上で、目標位置XBを中心とし
た半径rの内側に入ったことにより行なう例を示し、第
8図は関節座標系上で、各軸に予め設定しておいた目標
角度θBに対して全軸がすべてθB−dまでの距離まで
接近したことにより行なう例を示す。
Figure 7 shows an example in which the switching from the speed control mode to the positioning control mode is determined by entering the radius r centered on the target position XB on the Cartesian coordinate system, and Figure 8 shows the joint coordinate system. In the above, an example is shown in which this is performed when all the axes approach the target angle θB set in advance for each axis to a distance of θB−d.

ロボットば6自由度の多関節型ロボットとすると、直角
座標系でのロボットハンドの位置ベクトルXは X−(x、y、z、α、β、γ) で表わされる。即ちロボットを取り付けた台に原点と座
標軸を設定し、ハンドの位置をx、y、zでまた向きを
α、β、γ(オイラー角)で表わす。
Assuming that the robot is an articulated robot with six degrees of freedom, the position vector X of the robot hand in the Cartesian coordinate system is expressed as X-(x, y, z, α, β, γ). That is, the origin and coordinate axes are set on the table on which the robot is attached, and the position of the hand is expressed by x, y, and z, and the direction is expressed by α, β, and γ (Euler angles).

そして、xAは移動前のハンドの座標、XBは次の移動
により位置決めすべきハンドの目標位置、X(1)は移
動途中の離散時間関数としてのハンドの座標、X(il
l)はそれから61秒後のハンドの座標である。なおベ
クトル記号・はこ−では適宜省略する。一方、関節座標
系でのロボットハンドの位置ベクトルθは θ=(θ1.θ2.θ3.θ4.θ5.θ6)で表わさ
れ、θ■〜θ6はロボットの各関節の回転角である。こ
−ではロボットの各腕は伸縮しないとしている。そして
、θAは移動開始前のハンドの回転角度、θBは次の移
動により位置決めすべき目標角度、θ(1)は移動途中
の離散時間関数としての角度、θ(ill)はその61
秒後に位置すべき角度、θ′(1)は実際の回転角を実
測した角度、θft+は連続時間関数としてロボットに
指令する角度である。
Then, xA is the coordinate of the hand before movement, XB is the target position of the hand to be positioned by the next movement, X(1) is the coordinate of the hand as a function of discrete time during movement, and X(il
l) is the coordinate of the hand 61 seconds after that. Note that vector symbols and symbols will be omitted as appropriate. On the other hand, the position vector θ of the robot hand in the joint coordinate system is expressed as θ=(θ1.θ2.θ3.θ4.θ5.θ6), where θ■ to θ6 are rotation angles of each joint of the robot. In this case, it is assumed that the robot's arms do not extend or contract. Then, θA is the rotation angle of the hand before starting the movement, θB is the target angle to be positioned by the next movement, θ(1) is the angle as a discrete time function during the movement, and θ(ill) is the 61
The angle at which the robot should be positioned after seconds, θ'(1) is the angle at which the actual rotation angle was actually measured, and θft+ is the angle commanded to the robot as a continuous time function.

各ブロックの説明をすると、11は移動長演算部で移動
前後のハンドの座標XA、XBより移動長(点A、B間
の直線距離)SBを算出する。SR”’ l XB X
p、 lは として計算する。ここで、ハンドの向きを表わすtr、
β、Tは単位がラジアン(rad )であるので、’l
’iM 1 mを掛けて長さとする。なお一般的には任
意の半径が設定できるが、ここでは簡単のため1mとし
た。12は単位方向ベクトルeの演算部で(XB XA
)/ l XB XA lとしTA点よりB点へ向うベ
クトルの単位ベクトルeを算出する。
To explain each block, numeral 11 is a movement length calculation unit which calculates the movement length (straight line distance between points A and B) SB from the coordinates XA and XB of the hand before and after movement. SR"' l XB X
p and l are calculated as. Here, tr representing the direction of the hand,
Since β and T are in radians (rad), 'l
'iM Multiply by 1 m to get the length. Generally, any radius can be set, but here it is set to 1 m for simplicity. 12 is a calculation unit for unit direction vector e (XB XA
)/l XB

13は座標変換部で、直角座標での目標位置ベクトルx
Bを関節座標での目標位置ベクトルθBに変換する。1
4は線速制御部で、横軸に移動距離、縦軸に線速度をと
って最大値をsMに制限した例えば図示の如き台形の移
動距離−線速度特性を持つ線速度&(1)を出力する。
13 is a coordinate conversion unit, which converts the target position vector x in rectangular coordinates.
Convert B into a target position vector θB in joint coordinates. 1
4 is a linear velocity control unit that controls the linear velocity &(1) having a trapezoidal moving distance-linear velocity characteristic, for example, as shown in the figure, where the horizontal axis is the moving distance and the vertical axis is the linear velocity, and the maximum value is limited to sM. Output.

&(1)は移動途中のハンド特にその先端部の線速度の
大きさを指令する。
&(1) commands the magnitude of the linear velocity of the hand, especially its tip, while it is moving.

この値は、もしハンドの向きに変化がない時にはハンド
それ自体の移動速度を示し、ハンドの位fiffi(回
動軸)が固定され向きのみが変わる時にはそのハンド位
置からハンドの向きに1m延ばした点の周速度の大きさ
を示す。ハンドの位置と方向(向き)が同時に変わる時
はこれらの合成速度である。15は移動途中のハンドの
線速度ベクトルX filをe −S(すとして算出す
る演算部である。なお単位ベクトルeは、直線運動では
、その1回の移動の間は一定値である。16は61秒後
のハンド座標ベクトルX(ill)をX (11十交(
11・ΔTとしてめる演算部、17は直角座標χ(1+
すを関節座標θ(ill)に変換する座標変換部、18
は指示(角)速度演算部で前記式(2)より指示速度会
(1)を算出する。19はサーボ制御回路で詳細は後述
するが、要はδ(11を受けてロボットRBに指令角度
θ(1)を与える。
This value indicates the moving speed of the hand itself if there is no change in the direction of the hand, and if the hand position fiffi (rotation axis) is fixed and only the direction changes, this value is extended by 1 m from the hand position in the direction of the hand. Indicates the magnitude of the circumferential velocity of a point. When the position and direction of the hand change at the same time, this is the combined speed. 15 is a calculation unit that calculates the linear velocity vector X fil of the hand during movement as e − S (. Note that the unit vector e is a constant value during one movement in linear movement. 16 is the hand coordinate vector X(ill) after 61 seconds as
11・ΔT is the arithmetic unit, 17 is the rectangular coordinate χ(1+
a coordinate conversion unit 18 that converts the
The commanded (angular) velocity calculating section calculates the commanded speed (1) from the above equation (2). Reference numeral 19 denotes a servo control circuit, which will be described in detail later, but the point is that it receives δ(11) and gives a command angle θ(1) to the robot RB.

20は速度制御モードから位置決め制御モードへの切換
えタイミングの判定回路、そして21はこの判定のため
の一方の入力である現時点までの移動距離S (11を
計算する演算回路である。
20 is a circuit for determining the switching timing from the speed control mode to the positioning control mode, and 21 is an arithmetic circuit for calculating the travel distance S (11) up to the present time, which is one input for this determination.

動作を説明するに、目標位置xBが入力されると演算部
11で次の移動の総線長SBをまた演算部12で移動の
方向ベクトルeを計算する。また変換部13では座標変
換ベクトルAにより〆BをθBに変換し、θBを各軸の
サーボ制御回路19に目標角度として設定する。移動開
始は、目標位置XBが入力して、総線長SBおよび現時
点までの移動距m S filにより制御部14が線速
度5(O)を0でない小さな値として出力することによ
り開始され、この5(0)即ちi=0のときのζ(11
(−々説明しないが他も同様)は演算部15により速度
ベクトルX(0)に分解され、演算部16で61秒後の
座標X(1)をX (0) +X (0) ・ΔTとし
て計算する。ここで、X(0)は移動前の座標XAとす
る。その次の変換部7では座標変換ベクトルAによりや
はり61秒後に位置すべき関節座標としてθ(1)を計
算する。さらに演算部18では現時点での各関節の角度
センサによる実測値θ’(0)(これも移動前だからθ
Aと等しい)を用いてΔT秒間の各関節角の平均角速度
θ (0)を計算して制御回路19に出力する。なお変
換部17と演算部18との間には特願昭56−1018
52で説明しているように軌跡補間部を設けることがあ
る。これは、直角座標から関節座標への変換には長い演
算時間を必要とし、このため直角座標系での指示値X(
n+)は飛び飛びの値でしか出せない(サンプリングタ
イムが大)が、これではロボットの運動が円滑を欠く。
To explain the operation, when the target position xB is input, the calculation section 11 calculates the total line length SB of the next movement, and the calculation section 12 calculates the direction vector e of the movement. In addition, the converting unit 13 converts 〆B into θB using the coordinate transformation vector A, and sets θB as a target angle in the servo control circuit 19 of each axis. The movement starts when the target position XB is input, and the control unit 14 outputs the linear velocity 5(O) as a small value other than 0 based on the total line length SB and the movement distance up to the current point m S fil. 5(0), that is, ζ(11
(- and others are not explained, but the same is true) is decomposed into a velocity vector calculate. Here, X(0) is the coordinate XA before movement. The next conversion unit 7 uses the coordinate conversion vector A to calculate θ(1) as the joint coordinates to be located 61 seconds later. Furthermore, the calculation unit 18 calculates the actual measurement value θ'(0) from the angle sensor of each joint at the current moment (this is also before movement, so θ
A) is used to calculate the average angular velocity θ (0) of each joint angle for ΔT seconds and output it to the control circuit 19. Note that there is a connection between the conversion section 17 and the calculation section 18 according to the patent application No. 56-1018.
A trajectory interpolation unit may be provided as described in 52. This requires a long calculation time to convert from Cartesian coordinates to joint coordinates, and therefore the indicated value X (
n+) can only be obtained in discrete values (sampling time is large), but this makes the robot's motion less smooth.

そこで補間して飛び飛びの指示値X(i+1)の間に更
に多数の指示値を発生するとロボットの運動を円滑化す
ることができる。制御回路19ではθ(0)まで第2図
の■2のように滑らかに加速しながらロボットの各関節
を駆動するための連続な関数θ(tlを生成し、これを
ロボットRBに加える。iを61秒ごとに1づつ増しな
がら、演算部14からの指令’S (11を最大値sM
になるまで増大させて行くと、前記と同様な手順で各演
算部等は出力を生じロボットの各関節の回転が制御され
、ロボットハンドの動きがこれに従って加速されていく
。そして’s o+がsMに達すると以降はゐ(11=
 S Mとなり、各演算部等はこれに準じた動作を行な
う。
Therefore, by interpolating and generating a larger number of instruction values between the discrete instruction values X(i+1), the movement of the robot can be made smoother. The control circuit 19 generates a continuous function θ(tl) for driving each joint of the robot while smoothly accelerating until θ(0) as shown in (2) in FIG. 2, and applies this to the robot RB.i While increasing by 1 every 61 seconds, the command 'S (11 is set to the maximum value sM) from the calculation unit 14
When the number of rotations is increased until , each calculation section generates an output in the same manner as described above, the rotation of each joint of the robot is controlled, and the movement of the robot hand is accelerated accordingly. Then, when 's o+ reaches sM, from then on, ゐ(11=
SM, and each arithmetic unit etc. performs an operation corresponding to this.

演算部14においてはS (If = S Bのとき&
(1)#0となるような減速曲線部f (SB−3(1
1) (第7図の台形の下降部分)を備えており、ハン
ドの位置がxBに近づいてso)とt (SB−3(1
1) が等しくなると、それ以降はf (SB−3(1
1)を邑(11とし、減速指示に移る。そして、さらに
xBに接近して5B−3(11が位置決め制御モードへ
の切り替え判定値rよりも小さくなると判定回路20は
制御回路19に対して速度制御モードから位置決め制御
モードへの切り替え指令Swを出力する。
In the arithmetic unit 14, S (If = S B &
(1) Deceleration curve part f (SB-3(1
1) (the descending part of the trapezoid in Figure 7), and when the hand position approaches xB, so) and t (SB-3 (1
1) become equal, from then on, f (SB-3(1
1) is set to 11, and the command is given to decelerate.Then, when the value of 5B-3 (11) becomes smaller than the switching judgment value r for switching to the positioning control mode, the judgment circuit 20 sends a command to the control circuit 19 as it further approaches xB. A switching command Sw from speed control mode to positioning control mode is output.

すると制御回路19では各軸それぞれについて第6図の
ような減速曲線りを設定(有効に)し、各関節の速度が
この減速曲線に出会った時、以降、この減速曲線に従が
って減速して行き、θBに到i!すると、これでA点か
らB点への位置決め動作が完rする。
Then, the control circuit 19 sets (enables) a deceleration curve as shown in FIG. Then I reached θB! Then, the positioning operation from point A to point B is completed.

サーボ制御回路19は1軸分を示すと第9図の如くなっ
ている。これは特開昭56’−22106で詳述されて
いるが、概要は次の如(である。45はロボットの1軸
を駆動するモータ、44はその駆動用の増幅器である。
The servo control circuit 19 is shown in FIG. 9 for one axis. This is described in detail in Japanese Patent Application Laid-Open No. 56'-22106, and the outline is as follows. 45 is a motor that drives one axis of the robot, and 44 is an amplifier for driving the motor.

目標角度θ8が与えられまた前述の演算器18から速度
指令θiが与えられると、カウンタ34の計数値θjは
この時点では0であるので比較器31はθi〉θjに従
ってスイッチ33を接点a側に切換え、カウンタ34は
発振器32の出力パルスをカウントアツプする。発振器
32の発振周波数はサーボ系がとり得る最大加速度に対
応する値を持ち、゛従ってこれを計数するカウンタ34
の出力θjは該最大加速度で加速したときの速度時間関
数を示す。勿論、最大加速度以下なら支障はないから発
振周波数はそれ以下でもよ(、また制御部14が出力す
る速度指令に対応できるよう該制御部14が制限する加
減速度以上の値にする。カウンタ41の出力θrは現時
点では前記θ八と等しく、1θB−θA1がROM36
に加わる。ROM36は前述の減速曲線1〕を出力する
もので、1θB−θr1をアトトスとしてその平方根を
出力する。現時点ではこの出力θSは大きいから、比較
器37はθB〉θjに従ってスイッチ38をa側に切換
える。従ってカウンタ34の出力θjがD/A変換器3
9に入力し、アナログに変換され、これは電圧−周波数
変換器40に入力して周波数にされ、該周波数はカウン
タ41で計数されて位置指令θrとなる。
When the target angle θ8 is given and the speed command θi is given from the above-mentioned calculator 18, the count value θj of the counter 34 is 0 at this point, so the comparator 31 changes the switch 33 to the contact a side according to θi>θj. After switching, the counter 34 counts up the output pulses of the oscillator 32. The oscillation frequency of the oscillator 32 has a value corresponding to the maximum acceleration that the servo system can take, and therefore the counter 34 that counts this
The output θj represents a velocity time function when the vehicle is accelerated at the maximum acceleration. Of course, there is no problem if the acceleration is below the maximum acceleration, so the oscillation frequency can be lower than that (also, the oscillation frequency should be set to a value higher than the acceleration/deceleration rate limited by the control unit 14 in order to correspond to the speed command output by the control unit 14. The output θr is currently equal to θ8, and 1θB-θA1 is the ROM36
join. The ROM 36 outputs the aforementioned deceleration curve 1], and outputs the square root of 1θB-θr1 as an attos. Since this output θS is large at this moment, the comparator 37 switches the switch 38 to the a side according to θB>θj. Therefore, the output θj of the counter 34 is
9 and converted to analog, this is input to a voltage-frequency converter 40 and converted into a frequency, and the frequency is counted by a counter 41 and becomes the position command θr.

一方、モータ45の回転軸にはエンコーダ46が連結さ
れており、カウンタ47は該エンコーダ46の出力パル
スを計数して現在位置を示す出力θ′iを生じる。加減
算器48はθr、θ′1を受けてその差へ〇を出力し、
これはD/A変換器49によりアナログに変換される。
On the other hand, an encoder 46 is connected to the rotating shaft of the motor 45, and a counter 47 counts the output pulses of the encoder 46 to produce an output θ'i indicating the current position. The adder/subtractor 48 receives θr and θ'1 and outputs 0 for the difference.
This is converted into analog by a D/A converter 49.

D/A変換器49の出力は位置誤差を示しており、これ
は閉ループ制御回路51に入力すると共に速度偏差推定
回路50にも入力し、こ〜で微分されて速度偏差となり
該制御回路51に入力する。閉ループ制御回路51は速
度制御モードでも位置制御モードでも位置偏差θrに追
従させる出力を生じ、加算器43を通してこれを増幅器
44に加えてモータ45を駆動させる。該加算器43へ
はD/A変換器39の出力を微分回路42で微分した加
速度成分も入力しており、モータ45はこの加速度成分
によって指令された加速電流を供給される。
The output of the D/A converter 49 indicates the position error, which is input to the closed loop control circuit 51 and also to the speed deviation estimating circuit 50, where it is differentiated and becomes the speed deviation. input. The closed loop control circuit 51 generates an output that follows the positional deviation θr in both the speed control mode and the position control mode, and adds this to the amplifier 44 through the adder 43 to drive the motor 45. An acceleration component obtained by differentiating the output of the D/A converter 39 by a differentiating circuit 42 is also input to the adder 43, and the motor 45 is supplied with an acceleration current commanded by this acceleration component.

カウンタ31が計数を続けてやがてθi=θjになると
比較器31はスイッチ33を接点すに切換え、カウンタ
34は計数を停止する。従ってθjは一定となり、モー
タ45は定速制御される。θiは第2WJで言えばV+
に相当し、ステップ的に変化する。この変化に応じて比
較器31はスイッチ33をθl〉θjならaへ、θi=
θjならbへ、そしてθiくθjならCへ切換え、C位
置ではカウンタ34はカウントダウンする。第2図では
ステップ的に変化するvlが指令速度としたが、第9図
の回路ではカウンタ34等の働きによりこれを最大加減
速度で補正した(角をとった)ものが指令速度となり、
モータ45は滑らかな加減速を行なうことができる。
The counter 31 continues counting, and when θi=θj, the comparator 31 switches the switch 33 to a contact state, and the counter 34 stops counting. Therefore, θj remains constant, and the motor 45 is controlled at a constant speed. θi is V+ in the second WJ
corresponds to , and changes in steps. In response to this change, the comparator 31 switches the switch 33 to a if θl>θj, and θi=
If θj, the switch is switched to b, and if θi is less than θj, the switch is switched to C, and at the C position, the counter 34 counts down. In Fig. 2, vl, which changes stepwise, is the command speed, but in the circuit of Fig. 9, the command speed is corrected by the maximum acceleration/deceleration (taking an angle) by the function of the counter 34, etc.
The motor 45 can perform smooth acceleration and deceleration.

やがてカウンタ41の出力θrが目標位置θBに近ずい
てくると差10B−θr1が小になり、ROM36の出
力θSは減少を始める。比較器37は第7図の場合は判
定回路20よりまた第8図の場合は判定回路23より切
換指令Swが入るときスイッチ38を接点す側に切換え
、ROM36の出力θSをD/A変換器39へ導く。従
ってモータ45はROM36が出力する減速曲線に従う
位置制御を受け、目標位置へ確実に停止する。
As the output θr of the counter 41 approaches the target position θB, the difference 10B-θr1 becomes small, and the output θS of the ROM 36 begins to decrease. The comparator 37 switches the switch 38 to the contact side when the switching command Sw is input from the judgment circuit 20 in the case of FIG. 7 or from the judgment circuit 23 in the case of FIG. Leads to 39. Therefore, the motor 45 is subjected to position control according to the deceleration curve output by the ROM 36, and is reliably stopped at the target position.

第8図はθB−〇(tlが前記d以下になったときこれ
を判定回路23で判定して切換信号SWを出力する点を
除いては第7図と同様である。
FIG. 8 is the same as FIG. 7 except that when θB-0(tl becomes less than the above d, the determination circuit 23 determines this and outputs the switching signal SW.

発明の詳細 な説明したことから明らかなように本発明によれば、関
節座標型ロボットを座標変換により見かけと直角座標型
ロボットのように動かす場合においても、各関節に対す
る目標角度(θB)にそれぞれ、減速しながら位置決め
させることにより、迅速でかつ高精度な位置決めが可能
になる。また、関節座標系と直角座標系それぞれに加減
速制御機構を設けたことにより、各関節の駆動部の出力
トルクが有限であることによる閉ループサーボ系の飽和
等による暴走の心配がなくなり、かつ、目標位置近傍で
全関節駆動部−斉に速度制御から位置制御に切換えるよ
うにしたので軌道精度の高い運動制御が可能になる。
As is clear from the detailed description of the invention, according to the present invention, even when moving a joint coordinate robot by coordinate transformation so that it appears to be a Cartesian coordinate robot, the target angle (θB) for each joint can be adjusted. By performing positioning while decelerating, rapid and highly accurate positioning becomes possible. In addition, by providing acceleration/deceleration control mechanisms in each of the joint coordinate system and Cartesian coordinate system, there is no need to worry about runaway due to saturation of the closed-loop servo system due to the finite output torque of the drive unit of each joint, and Since all joint drive units simultaneously switch from speed control to position control near the target position, motion control with high trajectory accuracy is possible.

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

第1図〜第6図は関節型ロボットの動作説明図、第7図
及び第8図は本発明の実施例を示すブロック図、第9図
は第7図および第8図の一部の詳細を示すブロック図で
ある。 図面で11.12.14〜16,21.22は第1の装
置、13.17〜19は第2の装置、20.23は切換
判定装置である。 出願人 富士通株式会社 代理人弁理士 青 柳 稔 第1図 B 第2図 一△T− 第4図 第5図 第6図
Figures 1 to 6 are explanatory diagrams of the operation of the articulated robot, Figures 7 and 8 are block diagrams showing embodiments of the present invention, and Figure 9 is a partial detail of Figures 7 and 8. FIG. In the drawings, 11.12.14 to 16 and 21.22 are first devices, 13.17 to 19 are second devices, and 20.23 is a switching determination device. Applicant Fujitsu Ltd. Representative Patent Attorney Minoru Aoyagi Figure 1 B Figure 2 1△T- Figure 4 Figure 5 Figure 6

Claims (1)

【特許請求の範囲】 (11多関節ロボットの構造から定まる関節座標系とは
異なる座標系で表わされたロボット目標位置データ及び
移動前位置データを取込んで、所定の加減速度で時間変
化する指示速度データを各サンプリングタイミング毎に
出力する第1の装置と、該指示速度データを入力されて
それを関節座標系の指示速度データに変換し、更に各関
節の許容加減速度で時間変化する指示速度に変更してロ
ボット各関節駆動部へ出力し、かつ前記目標位置データ
を関節座標系に変換して得たロボット目標角度では角速
度が零になる減速曲線を各関節毎に内蔵する第2の装置
と、 ロボットが目標位置に接近したとき、各関節駆動部を一
斉に速度制御から前記減速曲線に従う位置制御に切換え
る信号を出力する切換判定装置とを備えることを特徴と
する多関節ロボットの制御装置。 (2)切換判定装置が、関節座標系とは異なる座標系で
のロボット現在位置を取り込み、それが目標位置を中心
とする所定半径の球内に入ったとき切換信号を出力する
ようにされてなることを特徴とする特許請求の範囲第1
項記載の多関節ロボットの制御装置。 (3)切換判定装置が、関節座標系でのロボット現在位
置を取り込み、それが目標位置に対し所定値内に入った
とき切換信号を出力するようにされてなることを特徴と
する特許請求の範囲第1項記載の多関節ロボットの制御
装置。
[Claims] (11. Robot target position data and pre-movement position data expressed in a coordinate system different from the joint coordinate system determined by the structure of the articulated robot are taken in and changed over time at a predetermined acceleration/deceleration rate. a first device that outputs instruction speed data at each sampling timing; a first device that receives the instruction speed data and converts it into instruction speed data in a joint coordinate system; and an instruction that changes over time according to the allowable acceleration/deceleration of each joint; A second curve that includes a deceleration curve for each joint in which the angular velocity becomes zero at the robot target angle obtained by converting the target position data into the joint coordinate system and converting the target position data into the joint coordinate system. Control of an articulated robot characterized by comprising: a device; and a switching determination device that outputs a signal for switching all joint drive units from speed control to position control according to the deceleration curve when the robot approaches a target position. (2) The switching determination device captures the robot's current position in a coordinate system different from the joint coordinate system, and outputs a switching signal when it enters a sphere with a predetermined radius centered on the target position. The first claim characterized in that
A control device for the articulated robot described in Section 1. (3) The switching determination device captures the current position of the robot in the joint coordinate system, and outputs a switching signal when the current position of the robot is within a predetermined value with respect to the target position. A control device for an articulated robot according to scope 1.
JP58146251A 1983-08-10 1983-08-10 Controller of articulated robot Granted JPS6037009A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58146251A JPS6037009A (en) 1983-08-10 1983-08-10 Controller of articulated robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58146251A JPS6037009A (en) 1983-08-10 1983-08-10 Controller of articulated robot

Publications (2)

Publication Number Publication Date
JPS6037009A true JPS6037009A (en) 1985-02-26
JPH0256681B2 JPH0256681B2 (en) 1990-11-30

Family

ID=15403511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58146251A Granted JPS6037009A (en) 1983-08-10 1983-08-10 Controller of articulated robot

Country Status (1)

Country Link
JP (1) JPS6037009A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62221704A (en) * 1986-03-24 1987-09-29 San Esu Shoko Co Ltd Numerical control method
JPS62237509A (en) * 1986-04-09 1987-10-17 San Esu Shoko Co Ltd Forming method for control command data for numerical control
WO1991003009A1 (en) * 1989-08-22 1991-03-07 Fanuc Ltd Acceleration/deceleration control method of numeric controller

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62221704A (en) * 1986-03-24 1987-09-29 San Esu Shoko Co Ltd Numerical control method
JPS62237509A (en) * 1986-04-09 1987-10-17 San Esu Shoko Co Ltd Forming method for control command data for numerical control
WO1991003009A1 (en) * 1989-08-22 1991-03-07 Fanuc Ltd Acceleration/deceleration control method of numeric controller

Also Published As

Publication number Publication date
JPH0256681B2 (en) 1990-11-30

Similar Documents

Publication Publication Date Title
US4698777A (en) Industrial robot circular arc control method for controlling the angle of a tool
EP0055915A2 (en) Arm locus control method and apparatus
KR910009266B1 (en) Speed control method for industrial robot
US5373221A (en) Method and system for estimating robot tool center point speed
JPWO2002066210A1 (en) Robot controller
JPH03263208A (en) Servo motor controller
US4685067A (en) Control system for program controlled manipulator having multiple triggered functions between programmed points
JPH0254566B2 (en)
JPS6037009A (en) Controller of articulated robot
EP0483756B1 (en) Robot controlling method and apparatus
JPS6246003B2 (en)
JPH01140310A (en) Robot control method
JP2688372B2 (en) Robot trajectory control device
JPH05324044A (en) Locus control system for robot
JP2740691B2 (en) Control method
JP2688491B2 (en) Industrial robot speed control method and apparatus
JPH0830978B2 (en) Teaching / reproducing method for industrial robots
JP3121920B2 (en) Acceleration / deceleration control device
JPH11345018A (en) Robot controller
JP7182952B2 (en) CONTROL METHOD, CONTROL PROGRAM, RECORDING MEDIUM, CONTROL DEVICE, ROBOT SYSTEM, AND PRODUCT MANUFACTURING METHOD
JPH1055207A (en) Robot controller
JP2509581B2 (en) Manipulator control method
JPH10301616A (en) Teaching device for robot
JP3194829B2 (en) Robot motion program generation device
JP2601433B2 (en) Interpolation control method and apparatus for industrial robot