KR930007776B1 - Linear interpolating method of robot - Google Patents

Linear interpolating method of robot Download PDF

Info

Publication number
KR930007776B1
KR930007776B1 KR1019900022321A KR900022321A KR930007776B1 KR 930007776 B1 KR930007776 B1 KR 930007776B1 KR 1019900022321 A KR1019900022321 A KR 1019900022321A KR 900022321 A KR900022321 A KR 900022321A KR 930007776 B1 KR930007776 B1 KR 930007776B1
Authority
KR
South Korea
Prior art keywords
robot
straight line
calculating
plane
axis
Prior art date
Application number
KR1019900022321A
Other languages
Korean (ko)
Other versions
KR920011656A (en
Inventor
송진일
Original Assignee
삼성전자 주식회사
강진구
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 삼성전자 주식회사, 강진구 filed Critical 삼성전자 주식회사
Priority to KR1019900022321A priority Critical patent/KR930007776B1/en
Publication of KR920011656A publication Critical patent/KR920011656A/en
Application granted granted Critical
Publication of KR930007776B1 publication Critical patent/KR930007776B1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D3/00Control of position or direction

Abstract

A linear interpolation method for robot comprises several steps including obtaining the positions of the robot on X-Y plain, obtaining the object positions on X-Y plain, calculating the deviations of respective shafts, calculating the distances to move at every sampling time and the length of linear lines, calculating the linear motion velocities to get the velocity field of exponential function and moving distances of X and Y shafts, calculating position increments on joint coordinate and the object positions of respective shafts, and calculating the positional deviations of the shafts at an instance and controlling them in proportional integration or defferentiation to use as a signal for motor driving.

Description

로보트의 직선 보간방법Linear interpolation method of robot

제1도는 수평다관절 로보트의 X-Y평면에서의 로보트의 엔드이펙터의 직선이송 개념도.1 is a conceptual diagram of linear transfer of the end effector of a robot in the X-Y plane of a horizontal articulated robot.

제2도는 직각좌표상의 X-Y평면에서의 직선이송시 직선의 이송속도를 일정하게 한 경우의 그래프.2 is a graph of a case in which the feed speed of a straight line is constant during a straight line transfer in the X-Y plane on a rectangular coordinate.

제3도는 직각좌표상의 X-Y평면에서의 직선이송시 직선의 이송속도를 지수함수적으로 한 경우의 그래프.3 is a graph in which the feedrate of a straight line is exponentially calculated during the straight line transfer in the X-Y plane on the rectangular coordinates.

제4도는 가감속이 없는 경우의 매 샘플링 시간마다 이송해야할 직선의 증분량을 도시한 그래프.4 is a graph showing the increment of the straight line to be transferred at every sampling time in the absence of acceleration and deceleration.

제5도는 직선이송시 지수함수 속도분포도.5 is an exponential velocity distribution diagram during linear transfer.

제6도는 본 발명의 로보트의 직선보간방법을 실현하기 위한 블록도.6 is a block diagram for realizing the linear interpolation method of the robot of the present invention.

제7도는 본 발명의 동작순서를 도시한 플로우챠트.7 is a flowchart showing the operation procedure of the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

1 : 마이크로 프로세서 2 : 디지털/아날로그 변환기1: microprocessor 2: digital-to-analog converter

3 : 서보제어부 4 : 서보모터3: Servo controller 4: Servo motor

5 : 타코제너레이터 6 : 엔코더5: taco generator 6: encoder

7 : 업/다운 카운터 8 : 타이머7: up / down counter 8: timer

본 발명은 다관절로보트의 아암의 엔드이팩터(End-Effector)를 직각좌표계의 X-Y 평면에서 직선 이송시키기 위한 방법에 관한 것으로써, 특히 직선이송시의 속도분포를 지수함수적으로 함으로써 로보트의 구동 개시점과 종료점에서 정밀도를 향상시킴과 동시에 지수함수 가감속을 이산시간 상태방정식에 의해 실현함으로써 샘플링시간을 단축시키고 직선의 정밀도를 향상시킬 뿐만아니라 고속이동이 가능한 로보트의 직선보간 방법에 관한 것이다.The present invention relates to a method for linearly transporting the end-effector of the arm of an articulated robot in the XY plane of the Cartesian coordinate system. The present invention relates to a linear interpolation method of a robot capable of high-speed movement as well as shortening the sampling time by improving exponential function acceleration and deceleration by the discrete time state equation.

일반적으로 로보트의 직선보간시 직선을 일정거리로 분해하여 직선의 미소거리에 의해 포인트 투 포인트(PTP:point -to-point)를 동작을 하여 로보트를 상기 분할되는 직선의 경로로 구동케하는 방법이 있었으나 이와같은 방법은 로보트의 구동개시와 구동종료시 직선이동의 정밀도가 저하된다는 문제점이 있었다.In general, when a robot interpolates a straight line to a certain distance, and operates a point-to-point (PTP) by the minute distance of the straight line to drive the robot in the path of the divided straight line However, this method has a problem in that the accuracy of linear movement is lowered when the robot starts and ends the drive.

또한, 로보트를 이용하여 용접 또는 페인팅 작업등을 하거나 로보트의 이동경로내에 장애물이 존재하는 경우 따위의 극히 제한된 작업환경 내에서는 주어진 경로를 따라가야만 한다는 문제점이 있었다.In addition, the welding or painting work using the robot or when there is an obstacle in the movement path of the robot, there is a problem that must follow a given path in an extremely limited working environment.

따라서, 본 발명은 상기와 문제점을 감안해서 이루어진 것으로써, 본 발명의 목적은 로보트의 직선 이송시 속도분포를 지수함수로 가감속 함으로써 로보트의 구동개시와 구동종료시 직선이동의 정밀도를 향상시키는 로보트의 직선보간방법을 제공하는데 있다.Accordingly, the present invention has been made in view of the above and the above problems, and an object of the present invention is to accelerate and decelerate the speed distribution by an exponential function during linear transfer of the robot, thereby improving the accuracy of the linear movement at the start and end of the robot. To provide a linear interpolation method.

본 발명의 다른 목적은, 지수함수 가감속을 이산시간 상태방정식에 의해 실현함으로써 샘플링시간이 단축되므로 직선의 정밀도를 향상시킴과 동시에 고속의 직선이송이 가능한 로보트의 직선보간방법을 제공하는데 있다.Another object of the present invention is to provide a linear interpolation method of a robot which can improve the accuracy of a straight line and at the same time can perform a high speed straight line transfer by realizing the exponential function acceleration / deceleration by a discrete time state equation.

상기 목적을 달성하기 위하여 본 발명에 의한 로보트의 직선보간방법은, 수평다관절 로보트의 관절좌표에서의 현재값을 읽고 X-Y 평면에서의 위치를 구하는 스텝과, 관절좌표에서의 최종목표값을 읽고, X-Y 평면에서의 목표위치값을 구하는 스텝과, X-Y 평면에서의 각축의 위치편차를 구하는 스텝과, 직선의 길이 및 가감속이 없는 경우 매 샘플링 시간마다 이동해야할 직선의 길이를 구하는 스텝과, 지수함수적인 속도분포가 되도록 직선이동시의 속도를 구하고, X,Y축의 이동거리를 구하는 스텝과, 관절좌표계에서의 위치증분량을 구하고 일정 싯점에서의 각축의 목표위치를 구하는 스텝과, 일정싯점에서의 각축의 위치편차를 구하고 이를 비례적분미분 제어하여 모터구동신호로 사용하는 스텝으로 이루어진 것을 특징으로 한다.In order to achieve the above object, the linear interpolation method of the robot according to the present invention includes reading a current value in the joint coordinates of a horizontal articulated robot and obtaining a position in the XY plane, and reading a final target value in the joint coordinates. A step for obtaining a target position value in the XY plane, a step for calculating a position deviation of each axis in the XY plane, a step for finding the length of the straight line to be moved at every sampling time in the absence of the length and acceleration / deceleration, and an exponential function Steps to find the velocity at the time of linear movement to obtain velocity distribution, to calculate the moving distance of X and Y axes, to obtain the position increment amount in joint coordinate system, to find the target position of each axis at a certain point, and to It is characterized by consisting of the steps to obtain the position deviation and control the proportional integral derivative to use as a motor drive signal.

이하, 본 발명의 일실시예를 도면을 참조하여 상세히 설명한다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

제1도는 수평다관절 로보트의 X-Y 평면에서의 로보트의 엔드이펙터의 직선이송 개념도이고, 제2도는 직각좌표상의 X-Y 평면에서의 직선이송시 직선의 이송속도를 일정하게 한 경우의 그래프이고, 제3도는 직각좌표상의 X-Y 평면에서의 직선이송시 직선의 이송속도를 지수함수적으로 한 경우의 그래프이며, 제4도는 가감속이 없는 경우의 매 샘플링 시간마다 이송해야할 직선의 증분량을 도시한 그래프이며, 제5도는 직선이송시 지수함수 속도분포도이다. 또한, 제6도는 본 발명의 로보트의 직선보간방법을 실현하기 위한 블록도이고, 제7도는 본 발명의 동작순서를 도시한 플로우챠트이다.1 is a conceptual diagram of the linear transfer of the end effector of the robot in the XY plane of the horizontal articulated robot, and FIG. 2 is a graph of the case where the linear feedrate is uniform during the linear transfer in the XY plane of the rectangular coordinates. Fig. 1 is a graph in which the feedrate of a straight line is exponential in the straight line transfer in the XY plane on the rectangular coordinate, and Fig. 4 is a graph showing the increment of the straight line to be transferred at every sampling time in the absence of acceleration and deceleration. 5 is an exponential velocity distribution diagram for linear transfer. 6 is a block diagram for realizing the linear interpolation method of the robot of the present invention, and FIG. 7 is a flowchart showing the operation procedure of the present invention.

제1도는 2개의 아암(a1,a2)을 가진 로보트가 직각좌표의 X-Y 평면에서 현재위치(C1(xi,yi))로 부터 목표위치(C2(xf,yf))까지 직선을 그리면서 이송하는 경우를 도시한 것으로써, 각각의 아암(a1,a2)을 구동하기 위한 서보모터(4)과 점(A)과 점(B)에 부착되어 있다.1 shows a robot with two arms (a 1 , a 2 ) drawing a straight line from the current position (C1 (xi, yi)) to the target position (C 2 (xf, yf)) in the XY plane of the rectangular coordinates. as written by showing the case of transfer, it is attached to the servomotor 4 and the point (a) with point (B) for driving each arm (a 1, a 2).

또한, 제2도는 직각좌표상의 X-Y 평면에서 직선이송시 직선의 이송속도를 일정하게 한 경우에 매 샘플링 시간마다 이송해야될 직선의 길이를 도시한 것으로써, 직선이송시 직선의 증분량 사이는 포인트 투 포인트 동작이 이루어진다.Also, FIG. 2 shows the lengths of the straight lines to be transferred at every sampling time when the feed speed of the straight lines is constant in the XY plane on the rectangular coordinates. Two point operation is achieved.

또한, 제3도는 직각좌표상의 X-Y 평면에서 직선이송시 직선의 이송속도를 지수함수적으로 한 경우에 매 샘플링 시간마다 이송해야될 직선의 길이를 도시한 것이다.3 shows the length of the straight line to be transported every sampling time when the feed rate of the straight line is exponentially transferred in the X-Y plane on the rectangular coordinate.

이어서, 제6도를 설명한다.Next, FIG. 6 is explained.

제6도에 있어서, (1)은 서보모터(4)의 속도명령을 출력하는 마이크로 프로세서이고, (2)는 상기 마이크로 프로세서(1)에서 출력된 디지털값의 속도명령을 아날로그 값으로 변환하는 디지털/아날로그 변환기(Digital/Analog converter)로써, 상기 변환된 아날로그값을 도시하지 않은 서보 드라이버에 입력하여 서보모터(4)의 정방향 및 역방향으로 구동하는 명령신호와 구동속도의 신호를 출력한다.In Fig. 6, reference numeral 1 denotes a microprocessor for outputting a speed command of the servomotor 4, and reference numeral 2 denotes a digital for converting a speed command of a digital value output from the microprocessor 1 into an analog value. As a digital / analog converter, the converted analog value is inputted to a servo driver (not shown) to output a command signal and a drive speed signal for driving the servomotor 4 in the forward and reverse directions.

또한, (3)은 서보모터(4)의 전류궤환신호(Ix)와 타코제너레이터(5)가 상기 서보모터(4)의 구동속도에 따라 검출한 속도궤환신호(Vax)가 궤환되면 이 궤환신호를 토대로 서보모터(4)를 서보제어하는 서보제어부이며, (7)은 엔코더(6)로부터 출력된 상기 서보모터(4)의 회전량에 해당하는 펄스신호를 업카운트 또는 다운 카운트하여 로보트의 현재위치를 상기 마이크로 프로세서(1)에 입력하는 업/다운 카운터이고, (8)은 일정한 주기마다 상기 로보트의 현재위치를 판단토록 상기 마이크로 프로세서(1)에 인터럽트를 걸어주기 위한 타이머로써 한 축에 대해서만 설명한 것이다.Further, (3) indicates that the feedback signal is returned when the current feedback signal Ix of the servomotor 4 and the speed feedback signal Vax detected by the taco generator 5 in accordance with the driving speed of the servomotor 4 are fed back. Is a servo control unit for servo control of the servo motor 4, and (7) up or down counts a pulse signal corresponding to the rotation amount of the servo motor 4 output from the encoder 6, thereby An up / down counter for inputting a position to the microprocessor 1, and (8) is a timer for interrupting the microprocessor 1 to determine the current position of the robot at regular intervals only for one axis. It is explained.

다음에, 제7도를 제1도 내지 제6도와 연관하여 설명한다.Next, FIG. 7 will be described with reference to FIGS. 1 to 6.

본 발명에 의한 로보트의 직선보간방법이 개시되면, 먼저 스텝 S1에서 제1도에 도시한 바와같이 수평다관절 로보트의 관절좌표에서의 현재값(θ12)을 업/다운 카운터(7)에 의해 읽어들이고, 스텝 S2에서는 X-Y 평면에서의 위치(xi,yi)를 다음과 같은 식을 이용하여 구한다.즉,When the linear interpolation method of the robot according to the present invention is started, first, in step S1, as shown in FIG. 1, the present value (θ 1 , θ 2 ) in the joint coordinates of the horizontal articulated robot is determined by the up / down counter (7). ), And at step S2, the position (xi, yi) in the XY plane is obtained using the following equation.

xi=a1cosθ1+a2cos(θ12)''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(1)xi = a 1 cosθ 1 + a 2 cos (θ 1 + θ 2 ) ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(One)

yi=a1sinθ1+a2sin(θ12)''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(2)yi = a 1 sinθ 1 + a 2 sin (θ 1 + θ 2 ) ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(2)

이다.to be.

여기서 a1: 로보트의 제1암의 길이, a2:로보트의 제2암의 길이이다.Where a 1: length of the first arm of the robot, a 2: the length of the second arm of the robot.

상기 X-Y 평면에서의 위치(xi,yj)가 구해지면 스텝 S3로 나아가서는 로보트의 관절좌표에서의 최종목표값(θ34)을 읽고 스텝 S4에서는 상기 스텝 S3에서 읽은 최종목표값(θ34)을 참고로 하여 X-Y 평면에서의 목표위치값(xf,yf)을 구한다.즉,When the position (xi, yj) in the XY plane is obtained, the process proceeds to step S3 to read the final target values θ 3 and θ 4 in the joint coordinates of the robot, and in step S4 the final target values θ read in the step S3. 3 , θ 4 ) to obtain the target position values (xf, yf) in the XY plane.

xf=a1cosθ3+a2cos(θ34)''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(3)xf = a 1 cosθ 3 + a 2 cos (θ 3 + θ 4 ) ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(3)

yf=a1sinθ3+a2sin(θ34)''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(4)yf = a 1 sinθ 3 + a 2 sin (θ 3 + θ 4 )''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(4)

이에따라, 제2도에 도시한 바와같이 X-Y 평면에서의 각축의 위치편차를 스텝 S5에서 구하되, x축 방향의 이동량(xp)은Accordingly, as shown in FIG. 2, the positional deviation of each axis in the X-Y plane is obtained in step S5, and the amount of movement xp in the x-axis direction is

xp=xf-xi'''''''''''''''''''''''''''''''''''(5)xp = xf-xi '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '(5)

에 의해서 구하고, y축 방향의 이동량(yp)은Obtained by, and the movement amount yp in the y-axis direction

yp=yf-yi'''''''''''''''''''''''''''''''''(6)yp = yf-yi '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '(6)

에 의해서 구한다.Obtained by

상기 스텝 S5에서 X-Y 평면에서의 각축의 위치편차(xp,yp)가 구해졌으므로 스텝 S6에서는 직선의 길이(Sp)는Since the positional deviation (xp, yp) of each axis in the X-Y plane is obtained at step S5, the length Sp of the straight line is determined at step S6.

(여기서 I : 정수부분, R1: 소수부분)Where I is the integer part and R 1 is the fractional part

에 의해 직선의 길이를 구하고, 스텝 S7에서는 제4도에 도시한 바와같이 가감속이 없는 경우 매 샘플링 시간마다 이동해야할 직선의 길이(Sp)를 구한다.The length of the straight line to be moved at every sampling time when there is no acceleration / deceleration as shown in FIG. Sp) is obtained.

즉, 직선의 속도를 V[mm/sec]라 하고, 타이머(8)에 의해 마이크로 프로세서(1)에 주기적으로 인터럽트하는 시간 즉, 샘플링시간을 Ts[sec]로 하는 경우 상기 가감속이 없는 경우에 매 샘플링 시간마다 이동해야할 직선의 길이(Sp)는Sp=V×Ts로 나타낼 수 있다.In other words, when the speed of the straight line is called V [mm / sec] and the time for periodically interrupting the microprocessor 1 by the timer 8, that is, when the sampling time is Ts [sec], The length of the straight line to be moved at every sampling time ( Sp) It can be represented by Sp = V × Ts.

이에따라 최종 직선위치까지 상기Sp로 이동해야할 횟수(N)는에 의해 스텝 S8에서 구해진다(여기서는 몫이고, R2는 나머지이다).예를들어서, 직선의 길이(Sp)가 300.5[mm]이고, 직선의 이송속도(V)가 100[mm/sec]이며, 샘플링시간(Ts)이 4[msec]인 경우 상기 가감속이 없는 경우에 매 샘플링 시간마다 이동해야할 직선의 길이(Sp)는Sp=V+Ts=100×10-3=0.4[mm]이므로Sp로 이동해야 할 횟수(N)는이다.Accordingly until the final straight position The number of times to go to Sp (N) Is obtained in step S8 (where Is a quotient, R2 is the remainder). For example, the straight line length Sp is 300.5 [mm], the straight line feed rate V is 100 [mm / sec], and the sampling time Ts is 4 In the case of [msec], the length of the straight line to be moved at every sampling time in the absence of the acceleration / deceleration ( Sp) Sp = V + Ts = 100 × 10 -3 = 0.4 [mm] The number of times to go to Sp (N) to be.

즉, 0.4mm씩 751번 이동해야 하고 752번째는 0.1mm만 이동하면 되는 것이다.In other words, it has to be moved 751 times by 0.4mm, and only 75mm needs to be moved for the 752th time.

따라서 스탭 S10에서는 직선 이송시의 속도를 구하며, 매 샘플링 시간마다 계산하면 직선이송시의 속도 분포가 지수함수적으로 된다.Therefore, in step S10, the speed at the time of linear transfer is calculated, and when it is calculated for every sampling time, the speed distribution at the time of linear transfer becomes exponential.

즉, 제3도에 도시한 바와같이 직선이송시의 속도(Vsp(k))는That is, as shown in FIG. 3, the speed Vsp (k) during linear transfer is

Vsp(k)=Vsp(k-1)+[Sp(k)-Vsp(k-1)]/A''''''''''''''''''''(8)Vsp (k) = Vsp (k-1) + [ Sp (k) -Vsp (k-1)] / A '''''''''''''''''''' (8)

(여기서 Vsp(0)=0, K=0,1,2,3……이다)(Where Vsp (0) = 0, K = 0,1,2,3 ……)

상기 식(8)에서Sp(k)는 K가 75번째 까지는 0.4mm이고 751번째는 0.1mm이며 753번째 이후는 제로이다.In the above formula (8) Sp (k) is 0.4 mm for the 75th time, 0.1 mm for the 751th time, and zero after the 753th time.

또한, 상수 A는 지수함수의 시정수를 나타내는 상수로써, A가 너무 작으면 급속한 가감속이 되고, A가 너무 크면 위치결정 시간이 길어지게 되므로 상기 상수 A의 값은 기계의 특성에 따라 적절하게 결정해야 한다.In addition, the constant A is a constant representing the time constant of the exponential function. If A is too small, rapid acceleration and deceleration are required, and if A is too large, the positioning time becomes long, so the value of the constant A is appropriately determined according to the characteristics of the machine. Should be.

한편, 상기 스텝 S10에서 구해진 직선이송시의 속도(Vsp)는 나눗셈항이 있으므로 정확히 직선의 끝에 도달할 수 있도록 상기 나눗셈항에 대항 보상을 스텝 S11에서 수행한다.On the other hand, since the velocity Vsp at the straight line transfer obtained in step S10 has a division term, compensation is made in step S11 so as to reach the end of the straight line exactly.

즉, 임의의 K시점에서 [Sp(k)-Vsp(k-1)]/A의 나머지를 R(k)라 하면 k+1번째에Sp(k+1) 대신에Sp(k+1)+R(k)로 한 후 K+1번째에 상기 식(8)을 계산하는 것이다.That is, at any K point [ If the remainder of Sp (k) -Vsp (k-1)] / A is R (k), Instead of Sp (k + 1) After formulating Sp (k + 1) + R (k), the above formula (8) is calculated at the K + 1th time.

스텝 S11에서의 나눗셈항에 대한 보상후에는 스텝 S12로 나아가서 x축 및 y축의 이동거리를 구한다.After the compensation for the division term in step S11, the flow advances to step S12 to determine the moving distances of the x-axis and the y-axis.

즉, X축의 이동거리(Xsp(k))는That is, the moving distance of the X axis (Xsp (k))

y축의 이동거리(Ysp(K))는The travel distance of the y axis (Ysp (K))

이다.to be.

이어서, 스텝 S13에서는 각 관절좌표계에서의 위치증분량(pulse)를 다음과 같이 구한다.Next, in step S13, the positional increment pulse in each joint coordinate system is calculated | required as follows.

이에따라, 스텝 S14에서 임의의 K시점에서의 각축마다의 목표위치가Accordingly, in step S14, the target position for each axis at an arbitrary K time point is

에 의해 구해진다.Obtained by

상기 스텝 S14에서 임의의 K시점에서의 각축마다의 목표위치가 구해졌으므로 스텝 S15에서는 임의의 K시점에서의 각축의 위치편차를 구한다. 즉,Since the target position for each axis at an arbitrary K point is obtained in step S14, the positional deviation of each axis at any K point is determined in step S15. In other words,

Px(k)=Pxθ(k)-Cxθ(k)P x (k) = Pxθ (k) -Cxθ (k)

Py(k)=Pyθ(k)-Cyθ(k)P y (k) = Pyθ (k) -Cyθ (k)

(여기서 Cxθ(k),Cyθ(k)는 임의의 K시점에서의 각축마다 업/다운 카운터(7)에 읽은 로보트의 현재위치 값이다)에 의해 구하는 것이다.(Where Cxθ (k) and Cyθ (k) are the current position values of the robot read by the up / down counter 7 for each axis at an arbitrary K time point).

그러면, 상기 각축의 위치편차량에 대해 스텝 S16에서는 비례적분미분(PID:Proportional Integral Differential)제어를 행한다.Then, in step S16, Proportional Integral Differential (PID) control is performed on the positional deviation amount of each axis.

여기서 T는 샘플링 시간이고, Dx out와 Dy out은 각축의 디지털/아날로그 변환기(7)로 입력되는 값이고, Kpx와 Kdy는 각축의 비례게인이며, Kix와 Kiy는 각축의 적분게인이다.Where T is the sampling time, Dx out and Dy out are the values input to the digital-to-analog converter 7 of each axis, Kpx and Kdy are the proportional gains of each axis, and Kix and Kiy are the integral gains of each axis.

또한 Kdx와 Kdy는 각축의 미분게인이다.Kdx and Kdy are derivative gains of each axis.

따라서 상기의 Dx out(k), Dy out(k)을 디지털/아날로그 변환기(2)에 출력하고 디지털/아날로그 변환기(2)에 의해 아날로그 값으로 변환된 값이 서보제어부(3)에 입력되어 모터(4)를 구동하는 것이다.Therefore, the above-mentioned Dx out (k) and Dy out (k) are output to the digital / analog converter 2, and the values converted into analog values by the digital / analog converter 2 are input to the servo controller 3 to supply the motor. (4) to drive.

이어서, 스텝 S17에서는 K+1값을 K에 대입한 후 스텝 S18로 나아가 K의 값이 가감속이 없을 경우의 매 샘플링 시간마다의 직선의 길이(Sp)의 횟수(N)와 동일한가의 여부를 판단한다.이 판단결과 동일할 경우(Yes일 경우)에는 스텝 S19에서 가속이 없는 경우의 매 샘플링 시간마다의 직선의 길이(Sp)의 횟수(N)를 구함으로써 얻어진 나머지(R2)값을 구하고, 스텝 S20에서는 K의 값이 매 샘플링 시간마다의 직선의 길이(Sp)의 횟수(N)보다큰가를 판단한다. 이 판단결과 클경우(Yes일 경우)에는 스텝 S21로 나아가서 직선의 길이(△Sp)에 제로를 대입하여 계산하고 스텝 S22에서 최종목표위치인가를 판단한다.Subsequently, in step S17, the value of K + 1 is substituted into K, and the flow proceeds to step S18, where the length of the straight line for each sampling time when the value of K has no acceleration / deceleration ( It is judged whether or not the number N of Sp) is equal. If the result of the determination is the same (Yes), the length of the straight line for each sampling time when there is no acceleration in step S19 is determined. The remaining (R2) value obtained by obtaining the number N of Sp) is obtained. In step S20, the value of K is the length of the straight line for each sampling time ( It is determined whether it is greater than the number N of Sp). If the determination result is large (Yes), the flow advances to step S21 to calculate the value by substituting zero to the length of the straight line? Sp and determines whether or not it is the final target position in step S22.

상기 스텝 S22에서 최종목표위치라고 판단되었을 경우(Yes일 경우)에는 로보트의 구동이 종료되는 것이며, 최종목표위치가 아닐 경우(No일 경우)에는 스텝 S10으로 복귀하여 차후의 동작을 반복한다.If it is determined in step S22 that the final target position is satisfied (Yes), the robot is terminated. If the target position is not the final target position (No), the robot returns to step S10 and the subsequent operation is repeated.

한편, 상기 스텝 S18에서 K의 값이 매 샘플링 시간마다의 직선의 길이(Sp)의 횟수(N)와 동일하지 않을 경우(K≠N, No일 경우)에는 직접 스텝 S20으로 나아가서 차후의 동작을 수행하며, 상기 스텝 S20에서 K의 값이 매 샘플링 시간마다의 직선의 길이(Sp)의 횟수(N)보다 크지 않을 경우(No일 경우)에는 역시 스텝 S22로 나아가서 로보트의 최종목표위치인가를 판단한다.On the other hand, in step S18, the value of K is the length of the straight line for each sampling time ( If it is not equal to the number N of Sp) (if K ≠ N or No), the process proceeds directly to step S20 to perform a subsequent operation, where the value of K is the length of the straight line for each sampling time. ( If it is not greater than the number N of Sp) (No), the flow advances to step S22 to determine whether the robot is the final target position.

한편, 상기 실시예는 수평다관절 로보트에 대한 것이지만, 본 발명은 직교로보트, 수직다관절 로보트에도 적용이 가능함은 물론이다.On the other hand, the embodiment is for a horizontal articulated robot, but the present invention can be applied to the orthogonal robot, vertical articulated robot, of course.

이와같이 본 발명의 로보트의 직선보간방법에 의하면, 직각좌표의 X-Y 평면에서 로보트의 아암종단부 즉 엔드이펙터가 직선을 따라 움직이면서 직선의 속도분포를 이산시간상태 방정식에 의해 지수함수 가감속으로 실행하므로 샘플링 시간을 단축하고 직선정밀도가 향상될 뿐만아니라 고속으로 직선이동이 가능하다는 뛰어난 효과가 있다.As described above, according to the linear interpolation method of the robot, the arm end of the robot, that is, the end effector, moves along the straight line in the XY plane of the rectangular coordinate, so that the velocity distribution of the straight line is executed by the exponential function acceleration / deceleration by the discrete time state equation. It not only shortens the time and improves linear accuracy, but also has the excellent effect of linear movement at high speed.

Claims (1)

수평다관절 로보트의 관절좌표에서의 현재값을 읽고 X-Y 평면에서의 위치를 구하는 스텝과, 관절좌표에서의 최종목표값을 읽고, X-Y 평면에서의 목표위치값을 구하는 스텝과, X-Y 평면에서의 각축의 위치편차를 구하는 스텝과, 직선의 길이 및 가감속이 없는 경우 매 샘플링 시간마다 이동해야할 직선의 길이를 구하는 스텝과, 지수함수적인 속도분포가 되도록 직선이동시의 속도를 구하고 X,Y축의 이동거리를 구하는 스텝과, 관절좌표계에서의 위치중분량을 구하고 일정 싯점에서의 각축의 목표위치를 구하는 스텝과, 일정싯점에서의 각축의 위치 편차를 구하고 비례적분미분 제어하여 모터구동신호로 사용하는 스텝으로 이루어진 것을 특징으로 하는 로보트의 직선보간방법.Reading the current value in the joint coordinates of the horizontal articulated robot and finding the position in the XY plane, reading the final target value in the joint coordinates, and calculating the target position value in the XY plane, and the angular axis in the XY plane. Steps to find the positional deviation of, step to find the length of the straight line to be moved at every sampling time if there is no length and acceleration / deceleration, Comprising the following steps: finding the weight of the position in the joint coordinate system and finding the target position of each axis at a certain point; and calculating the positional deviation of each axis at the fixed point, controlling the proportional integral, and using it as a motor drive signal. Linear interpolation method of the robot.
KR1019900022321A 1990-12-28 1990-12-28 Linear interpolating method of robot KR930007776B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019900022321A KR930007776B1 (en) 1990-12-28 1990-12-28 Linear interpolating method of robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019900022321A KR930007776B1 (en) 1990-12-28 1990-12-28 Linear interpolating method of robot

Publications (2)

Publication Number Publication Date
KR920011656A KR920011656A (en) 1992-07-24
KR930007776B1 true KR930007776B1 (en) 1993-08-19

Family

ID=19308843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900022321A KR930007776B1 (en) 1990-12-28 1990-12-28 Linear interpolating method of robot

Country Status (1)

Country Link
KR (1) KR930007776B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100573462B1 (en) * 1998-12-31 2007-11-12 주식회사 로보테크 Method for controlling movement of an industrial robot

Also Published As

Publication number Publication date
KR920011656A (en) 1992-07-24

Similar Documents

Publication Publication Date Title
KR930007775B1 (en) Linear interpolating method of robot
EP0130570B1 (en) Method and apparatus for controlling a robot hand along a predetermined path
US4945493A (en) Method and system for correcting a robot path
JP2728399B2 (en) Robot control method
US5194790A (en) Control device for controlling a servo motor
EP0062075B1 (en) Numerical control system
EP0227842A1 (en) Digitizing method
KR930007776B1 (en) Linear interpolating method of robot
KR940001204B1 (en) Method of compensating linear movement of robot
JPH04352012A (en) Robot-position controlling method
KR940002207B1 (en) Linear compensating method of robot
KR0160699B1 (en) Method for circular error compensation of robot
KR0160999B1 (en) Error compensation method for the circular trajectory of robot
JPS61190604A (en) Position control method for feedback control
KR0161002B1 (en) Circular interpolation method of robot
JPH0623928B2 (en) Robot hand trajectory correction method
Bahr et al. Sensory guidance of seam tracking robots
KR0154433B1 (en) Method for circular error compensation of robot
JPS6111815A (en) Compensating system of positional shift of robot
JP2686293B2 (en) Three-dimensional laser processing method
JPS60215216A (en) Controller of robot
JP2723570B2 (en) Three-dimensional laser nozzle control method
JPH0625928B2 (en) Robot circular arc orbit controller
JPH01224194A (en) Position control method for cnc laser beam machine
KR930007781B1 (en) Position control method of robot

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 19970829

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee