KR20030055719A - Asymmetric acceleration and deceleration profile producing method and a acceleration and deceleration controlling method using the same for multi-joint robot - Google Patents

Asymmetric acceleration and deceleration profile producing method and a acceleration and deceleration controlling method using the same for multi-joint robot Download PDF

Info

Publication number
KR20030055719A
KR20030055719A KR1020010085786A KR20010085786A KR20030055719A KR 20030055719 A KR20030055719 A KR 20030055719A KR 1020010085786 A KR1020010085786 A KR 1020010085786A KR 20010085786 A KR20010085786 A KR 20010085786A KR 20030055719 A KR20030055719 A KR 20030055719A
Authority
KR
South Korea
Prior art keywords
acceleration
section
sampling
deceleration
velocity
Prior art date
Application number
KR1020010085786A
Other languages
Korean (ko)
Other versions
KR100454341B1 (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 KR10-2001-0085786A priority Critical patent/KR100454341B1/en
Publication of KR20030055719A publication Critical patent/KR20030055719A/en
Application granted granted Critical
Publication of KR100454341B1 publication Critical patent/KR100454341B1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/06Programme-controlled manipulators characterised by multi-articulated arms

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PURPOSE: A method for generating the asymmetric accelerated/decelerated velocity profile of an articulated robot and a method for controlling accelerated/decelerated velocity are provided to simplify the processes of generating the velocity profile and to shorten calculating hours by using an asymmetric smooth-curve and tabulating the variation of the velocity of a motor. CONSTITUTION: A method for generating the asymmetric accelerated/decelerated velocity profile of an articulated robot comprises the steps of: asymmetrically setting the pattern of accelerated velocity in an accelerating section; and using a variation value of the velocity on each sampling section, and calculating the position of each articulation shaft on each sampling section of the accelerating section. The variation value of the velocity is calculated in advance, and is stored in a table.

Description

다관절 로봇의 비대칭 가감속 속도 프로파일 생성방법 및 이를 이용한 가감속 제어방법{Asymmetric acceleration and deceleration profile producing method and a acceleration and deceleration controlling method using the same for multi-joint robot}Asymmetric acceleration and deceleration profile producing method and a acceleration and deceleration controlling method using the same for multi-joint robot}

본 발명은 다관절 로봇의 가감속 제어를 위한 가감속 속도 프로파일을 생성하는 방법에 관한 것으로서, 보다 상세하게는 비대칭 곡선을 이용하여 매 샘플링마다의 모터 속도의 변화를 테이블화함으로써 속도 프로파일 생성 과정을 간략화하여 계산시간을 단축할 수 있는 가감속 속도 프로파일 생성방법에 관한 것이다.The present invention relates to a method for generating an acceleration / deceleration speed profile for acceleration / deceleration control of an articulated robot. More specifically, the speed profile generation process is performed by tabulating changes in motor speed for each sampling using an asymmetric curve. The present invention relates to a method for generating an acceleration / deceleration speed profile that can simplify the calculation time.

일반적으로 산업용 다관절 로봇은 각 관절을 회전 이동시킴으로써 엔드이펙터(end-effector)를 목표 위치로 이동시키며, 이와 같이 각 관절을 회동시키는 구동원으로서 각 관절마다 서보모터를 구비하고 있다. 고속·고정밀 로봇의 신뢰성 및 내구성의 문제는 로봇의 각 관절축이 움직이므로써 발생되는 소음 및 진동을 얼마나 감소시킬 수 있느냐에 따라 좌우된다. 따라서, 다관절 로봇의 서보모터를 제어함에 있어서, 각 관절의 이동을 부드럽게 함으로써 진동 및 소음을 최소화하는 것이 중요하다.In general, an industrial articulated robot moves an end-effector to a target position by rotating each joint. Thus, a servo motor is provided for each joint as a driving source for rotating each joint. The reliability and durability of high-speed and high-precision robots depends on how much the noise and vibration generated by each joint axis of the robot can be reduced. Therefore, in controlling the servomotor of the articulated robot, it is important to minimize vibration and noise by smoothing the movement of each joint.

도 1에는 일반적인 산업용 로봇의 제어장치가 도시되어 있다. 도 1에 도시된바와 같이, 로봇 제어장치는, 주제어기(10)와, 명령입력기(20)와, 모션제어기(30)와, 관절위치제어기(40: Joint Position Controller)와, 서보구동부(50) 및 I/O 입출력기(60)를 구비한다.1 shows a control device of a general industrial robot. As shown in FIG. 1, the robot control apparatus includes a main controller 10, a command inputter 20, a motion controller 30, a joint position controller 40, and a servo driver 50. ) And an I / O input / output unit 60.

주제어기(10)는 명령입력기(20)로부터 입력된 각 관절의 현재위치, 목표위치, 속도지령 등의 명령을 처리하여 모션제어기(30)에 지령한다. 모션제어기(30)는 주제어기(1)로부터 입력된 명령을 이용하여 가속 및 감속시간, 등속운동시간, 속도 프로파일을 생성하여 매 샘플링 주기마다 위치 테이터를 관절위치제어기(40)에 전달한다. 관절위치제어기(40)는 전달된 위치 데이터에 기초하여 각 관절축의 서보구동부(50)를 제어하여 각 관절축이 명령받은 위치로 이동할 수 있게 한다. 한편, I/O 입출력기(60)는 내부 및 외부에서 사용하는 I/O 신호를 처리하여 주제어기(10)에 전달하며, 주제어기(10)는 인터럽트 순서에 따라 신호를 처리한다.The main controller 10 processes the commands such as the current position, the target position, and the speed command of each joint input from the command inputter 20 and instructs the motion controller 30. The motion controller 30 generates the acceleration and deceleration time, the constant velocity motion time, and the velocity profile by using the command input from the main controller 1 to transmit the position data to the joint position controller 40 at every sampling period. The joint position controller 40 controls the servo driver 50 of each joint axis based on the transmitted position data so that each joint axis can be moved to the commanded position. Meanwhile, the I / O input / output unit 60 processes the I / O signals used internally and externally to the main controller 10, and the main controller 10 processes the signals according to the interrupt order.

이하, 이상과 같이 구성된 제어장치에 의한, 종래의 가감속 속도 프로파일 생성방법을 설명한다.Hereinafter, the conventional acceleration / deceleration velocity profile generation method by the control apparatus comprised as mentioned above is demonstrated.

종래에는 모션제어기(30)에서 매 샘플링 주기마다 가속도, 속도, 위치 등의 데이터를 계산하고, 이에 기초하여 생성된 속도 프로파일을 관절위치제어기(40)에 전달하였다. 이러한 가속도, 속도, 위치를 계산하는 방법은 다음과 같다.Conventionally, the motion controller 30 calculates data such as acceleration, velocity, position, and the like every sampling period, and transfers the generated velocity profile to the joint position controller 40. How to calculate the acceleration, velocity, and position is as follows.

먼저, 가속구간에서의 가속도는 다음의 수학식1a 및 수학식1b에 의해 계산된다. 수학식1a는 기울기가 양인 경우, 즉 시간에 따라 가속도가 증가하는 경우의 각 샘플링 구간마다의 가속도 계산식이다. 수학식1b는 기울기가 음인 경우, 즉 시간에 따라 가속도가 증가하는 경우의 각 샘플링 주기마다의 가속도 계산식이다.First, the acceleration in the acceleration section is calculated by the following equations 1a and 1b. Equation 1a is an acceleration calculation formula for each sampling section when the slope is positive, that is, when the acceleration increases with time. Equation 1b is an acceleration calculation for each sampling period when the slope is negative, that is, when the acceleration increases with time.

이상의 수학식1a 및 1b에서, a[k]는 각 샘플링 구간(k=1,2,‥‥,n)마다의 가속도를, Amax는 최대 가속도를, Trf는 가속시간을, RST는 샘플링 주기를 각각 나타낸다.In Equations 1a and 1b, a [k] represents acceleration for each sampling period (k = 1, 2, ..., n), Amax represents maximum acceleration, Trf represents acceleration time, and RST represents sampling period. Represent each.

다음으로, 가속구간에서의 각 샘플링 구간마다의 속도는 상기 수학식1a 및 수학식1b의 결과를 이용하여 다음의 수학식 2에 의해 계산된다.Next, the speed for each sampling section in the acceleration section is calculated by the following equation (2) using the results of the above equations (1a) and (1b).

여기서, Vr(k)는 해당 샘플링 구간에서의 속도를, Vr(k-1)은 해당 샘플링 구간의 바로 앞 구간에서의 속도를 나타낸다. 마찬가지로, a(k)는 해당 샘플링 구간에서의 가속도를, a(k-1)은 해당 샘플링 구간의 바로 앞 구간에서의 가속도를 의미한다.Here, Vr (k) represents the speed in the sampling interval, and Vr (k-1) represents the speed in the immediately preceding section of the sampling interval. Similarly, a (k) means acceleration in the sampling interval and a (k-1) means acceleration in the immediately preceding section of the sampling interval.

마지막으로, 가속구간에서의 각 샘플링 구간마다의 위치 데이터는 상기 수학식2의 결과를 이용하여 다음의 수학식3에 의해 계산된다.Finally, the position data for each sampling section in the acceleration section is calculated by the following equation (3) using the result of equation (2).

여기서, Dr(k)는 해당 샘플링 구간에서의 위치 데이터를, Dr(k-1)은 해당 샘플링 구간의 바로 앞 구간에서의 위치 데이터를 나타낸다.Here, Dr (k) represents position data in the sampling interval, and Dr (k-1) represents position data in the immediately preceding section of the sampling interval.

한편, 감속구간에서의 가속도, 속도 및 위치 데이터는 상술한 가속구간에서의 계산방법과 동일한 방법으로 계산된다. 따라서, 가속구간과 감속구간에서의 가속도 및 속도 프로파일은 대칭적으로 이루어진다.On the other hand, the acceleration, speed, and position data in the deceleration section are calculated in the same manner as the calculation method in the above-mentioned acceleration section. Therefore, acceleration and velocity profiles in the acceleration section and the deceleration section are symmetrical.

도 2a 내지 도 2c는 상기 수학식들에 따라 계산된 가속도, 속도, 위치 데이터에 기초하여 생성된 가속도, 속도 및 거리 프로파일들을 나타낸 그래프로서, 도 2a는 가속도 프로파일을, 도 2b는 속도 프로파일을, 도 3은 거리 프로파일을 각각 나타낸다.2A to 2C are graphs showing acceleration, velocity, and distance profiles generated based on the acceleration, velocity, and position data calculated according to the above equations. FIG. 2A is an acceleration profile, and FIG. 2B is a velocity profile. 3 shows the distance profiles, respectively.

그런데, 이상과 같은 종래의 가감속 속도 프로파일 생성방법에 의하면, 복잡한 계산식을 사용하여 매 샘플링 주기마다 가속도, 속도, 위치의 계산을 수행하여야 하기 때문에 계산시간이 오래 걸린다는 문제점이 있었다.However, according to the conventional acceleration / deceleration velocity profile generation method as described above, there is a problem that the calculation time is long because the acceleration, velocity, and position must be calculated for each sampling period using a complex calculation equation.

또한, 종래의 가감속 속도 프로파일 생성방법에 의하면, 도 2a에 도시된 바와 같이, 가속 및 감속시의 가속도의 패턴은, 가속도 기울기가 양(+)인 경우와 음(-)인 경우의 시간비율이 대칭적으로 이루어짐으로써, 로봇의 각 관절축의 이동이 부드럽지 못하게 되며 진동 및 소음이 발생한다는 문제점이 있다.In addition, according to the conventional acceleration / deceleration velocity profile generation method, as shown in FIG. 2A, the pattern of acceleration during acceleration and deceleration has a time ratio when the acceleration gradient is positive and negative. By being symmetrical, the movement of each joint axis of the robot is not smooth and there is a problem that vibration and noise occur.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 비대칭의 부드러운 곡선(Smooth-Curve)을 이용하여 모터 속도의 변화비율을 테이블화 함으로써, 속도 프로파일의 생성과정을 간략화 하여 계산시간을 단축할 수 있는 가감속 속도 프로파일 생성방법을 제공하는 데 있다.The present invention has been made to solve the above problems, by using the asymmetric smooth curve (Smooth-Curve) to table the rate of change of the motor speed, to simplify the process of generating the speed profile to reduce the calculation time The present invention provides a method for generating an acceleration / deceleration speed profile.

또한 본 발명의 다른 목적은, 이러한 가감속 속도 프로파일 생성방법을 이용하여 로봇의 각 관절의 이동을 부드럽게 제어함으로써 진동 및 소음을 현저하게 줄일 수 있는 가감속 제어방법을 제공함을 목적으로 한다.In addition, another object of the present invention is to provide an acceleration / deceleration control method that can significantly reduce vibration and noise by smoothly controlling the movement of each joint of the robot by using the acceleration / deceleration velocity profile generation method.

도 1은 일반적인 다관절 로봇 제어장치의 블록 구성도.1 is a block diagram of a general articulated robot control device.

도 2a는 종래의 가감속 속도 프로파일 생성방법에 의한 가속도 프로파일.Figure 2a is an acceleration profile by a conventional acceleration and deceleration velocity profile generation method.

도 2b는 종래의 가감속 속도 프로파일 생성방법에 의한 속도 프로파일.Figure 2b is a velocity profile by a conventional method of generating a deceleration velocity profile.

도 2c는 종래의 가감속 속도 프로파일 생성방법에 의한 거리 프로파일.Figure 2c is a distance profile by a conventional acceleration / deceleration velocity profile generation method.

도 3은 본 발명에 따른 가감속 속도 프로파일 생성방법을 나타낸 순서도.3 is a flow chart illustrating a method of generating an acceleration / deceleration speed profile according to the present invention.

도 4는 본 발명에 따른 가감속 속도 프로파일 생성방법에 있어서 매 샘플링 주기마다의 속도변화를 미리 계산하기 위한 배경도면으로서, 시간에 따른 속도 프로파일.4 is a background diagram for pre-calculating the speed change in every sampling period in the method of generating the acceleration / deceleration speed profile according to the present invention.

도 5a는 본 발명에 따른 가감속 속도 프로파일 생성방법에 의한 가속도 프로파일.Figure 5a is an acceleration profile by the acceleration / deceleration velocity profile generation method according to the present invention.

도 5b는 본 발명에 따른 가감속 속도 프로파일 생성방법에 의한 속도 프로파일.Figure 5b is a velocity profile by the acceleration / deceleration velocity profile generation method according to the present invention.

도 5c는 본 발명에 따른 가감속 속도 프로파일 생성방법에 의한 거리 프로파일.Figure 5c is a distance profile by the acceleration / deceleration velocity profile generation method according to the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

10 : 주제어기20 : 명령입력기10: main controller 20: command input

30 : 모션제어기40 : 관절위치제어기(JPC)30: motion controller 40: joint position controller (JPC)

50 : 서보구동부60 : I/O 입출력기50: servo driver 60: I / O input / output

상기와 같은 본 발명의 목적은, 가속구간에서의 가속도 패턴을 비대칭적으로 설정하고, 상기 가속구간의 매 샘플링 구간마다의 각 관절축의 위치를 해당 샘플링 구간마다의 속도의 변화율 값을 이용하여 계산하며; 상기 속도의 변화율 값은 다음의 식, The object of the present invention as described above is to set the acceleration pattern asymmetrically in the acceleration section, calculate the position of each joint axis in every sampling section of the acceleration section using the rate of change of the velocity in each sampling section. ; The rate of change of the value is expressed by the following equation,

(여기서, S-Index-R[j][k]는 매 샘플링 구간마다의 속도 변화율이며, Vr(k)는 매 샘플링 구간에서의 속도이며, RST는 샘플링 주기이며, SR은 가속구간에서의 이동거리이며, Tint는 샘플링 개수이다.)에 의하여 미리 계산되어 테이블로 저장되어 있는 것을 특징으로 하는 다관절 로봇의 가감속 속도 프로파일 생성방법을 제공함으로써 달성된다.Where S-Index-R [j] [k] is the rate of change in each sampling interval, Vr (k) is the velocity in each sampling interval, RST is the sampling period, and S R is the acceleration interval. It is achieved by providing a method for generating an acceleration / deceleration velocity profile of an articulated robot, which is calculated in advance and stored in a table.

여기서, 상기 가속구간에서의 가속도 패턴은, 가속도의 기울기가 양(+)인 구간의 시간과 가속도의 기울기가 음(-)인 구간의 시간이 3:7이 되도록 설정된 것이바람직하다.Here, the acceleration pattern in the acceleration section is preferably set so that the time of the section of the acceleration is positive (+) and the time of the section of the acceleration is negative (−) is 3: 7.

한편, 본 발명의 다른 목적은, (a) 입력된 각 관절축의 현재위치(qoi)와, 목표위치(qfi)와, 속도(Vm) 데이터에 기초하여 최대 가속도(Amax) 및 평균 가속도(Aave)를 설정하는 단계; (b) 상기 현재위치(qoi) 및 상기 목표위치(qoi) 데이터에 기초하여 상기 관절축의 각 운동 변위 중 최대변위(Qmax)를 계산하는 단계; (c) 상기 설정된 평균 가속도(Aave)와, 상기 입력 속도(Vm)와, 상기 최대변위(Qmax)에 기초하여 전체 운동시간에 대한 등속운동시간의 비(α)를 계산하는 단계; (d) 상기 입력 속도(Vm)와 상기 최대변위(Qmax)에 대한 전체 운동시간(Td)과, 가감속시간(Trf)과, 가속에서의 등속까지의 시간(Teq)과, 가속구간에서의 샘플링 개수(Tint)를 계산하는 단계; (e) 상기 각 관절축의 등속구간에서의 속도(Vi)와, 가속구간에서의 매 샘플링 구간마다의 이동거리의 평균치(S1)와, 감속구간에서의 매 샘플링 구간마다의 이동거리의 평균치(S2)를 계산하는 단계; 및 (f) 상기 (e) 단계에서의 계산 결과 및 미리 테이블에 저장된 매 샘플링 구간마다의 속도의 변화율 값을 이용하여, 매 샘플링 구간마다의 상기 각 관절축의 가속구간 위치(POS)와, 등속구간 위치(POS')와, 감속구간 위치(POS')를 계산하는 단계를 포함하는 것을 특징으로 하는 다관절 로봇의 가감속 제어방법을 제공함으로써 달성된다.On the other hand, another object of the present invention is to (a) the maximum acceleration (Amax) and the average acceleration (based on the current position (q oi ), the target position (q fi ), the velocity (Vm) data of each joint axis input ( Aave); (b) calculating a maximum displacement (Qmax) of each movement displacement of the joint axis based on the current position (q oi ) and the target position (q oi ) data; (c) calculating a ratio (α) of the constant velocity exercise time to the total exercise time based on the set average acceleration (Aave), the input speed (Vm), and the maximum displacement (Qmax); (d) The total motion time Td for the input speed Vm and the maximum displacement Qmax, the acceleration and deceleration time Trf, the time Teq from acceleration to constant velocity, and the acceleration section. Calculating a sampling number Tint; (e) the speed Vi at the constant velocity section of each of the joint axes, the average value S 1 of the moving distances in every sampling section in the acceleration section, and the average value of the moving distances in every sampling section in the deceleration section ( Calculating S 2 ); And (f) the acceleration section position (POS) and the constant velocity section of each joint axis in each sampling section by using the calculation result in step (e) and the rate of change of the velocity in every sampling section previously stored in the table. It is achieved by providing a method for controlling the acceleration and deceleration of the articulated robot, comprising calculating the position POS 'and the position of the deceleration section POS'.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.

본 실시예에 따른 속도 프로파일의 생성은 도 1에 도시된 일반적인 로봇 제어장치에 의하여 이루어진다. 즉, 주제어기(10)가 명령입력기(20)로부터 입력된 각 관절의 현재위치, 목표위치, 속도지령 등의 명령을 처리하여 모션제어기(30)에 지령하면, 모션제어기(30)는 입력된 명령을 이용하여 가속 및 감속시간, 등속운동시간, 부드러운 곡선 속도 프로파일을 생성하여 매 샘플링 주기마다 위치 테이터를 관절위치제어기(JPC: Joint Position Controller)(40)에 전달한다. 관절위치제어기(40)는 전달된 위치 데이터에 기초하여 각 관절축의 서보구동부(50)를 제어하여 각 관절축이 명령받은 위치로 이동할 수 있게 한다. 또한, I/O 입출력기(60)는 내부 및 외부에서 사용하는 I/O 신호를 처리하여 주제어기(10)에 전달하며, 주제어기(10)는 인터럽트 순서에 따라 신호를 처리한다.The generation of the velocity profile according to the present embodiment is performed by the general robot controller shown in FIG. 1. That is, when the main controller 10 commands the motion controller 30 by processing commands such as the current position, the target position, and the speed command of each joint input from the command inputter 20, the motion controller 30 is inputted. The command generates acceleration and deceleration time, constant velocity motion time, and smooth curve velocity profile, and transmits position data to the joint position controller (JPC) 40 at every sampling period. The joint position controller 40 controls the servo driver 50 of each joint axis based on the transmitted position data so that each joint axis can be moved to the commanded position. In addition, the I / O input / output unit 60 processes the I / O signals used internally and externally to the main controller 10, and the main controller 10 processes the signals in the interrupt order.

도 3 및 도 4를 참조하여 본 실시예에 따른 속도 프로파일 생성과정을 상세하게 설명한다. 도 3은 본 실시예에 따라 모션제어기(30)에서 속도 프로파일을 생성하는 과정을 도시한 순서도이며, 도 4는 본 실시예에 따른 속도 프로파일 생성을 위한 배경도면으로서, 시간에 따른 속도 프로파일을 나타낸 것이다. 도 4의 시간 축에서 0에서 Trf까지는 가속구간이며, Trf에서 Teq까지는 등속구간이며, Teq에서 Td까지는 감속구간이다.Referring to Figures 3 and 4 will be described in detail the speed profile generation process according to this embodiment. 3 is a flowchart illustrating a process of generating a velocity profile in the motion controller 30 according to the present embodiment, and FIG. 4 is a background diagram for generating a velocity profile according to the present embodiment, and illustrates a velocity profile over time. will be. In the time axis of FIG. 4, 0 to Trf is an acceleration section, Trf to Teq is a constant velocity section, and Teq to Td is a deceleration section.

먼저, 도 3에 도시된 바와 같이, 모션제어기(30)는 주제어기(10)로부터 로봇의 각 관절축의 현재위치(qoi)와, 목표위치(qfi)와, 속도(Vm) 데이터를입력받는다(S01). 만일, 6축 로봇인 경우에 이러한 현재위치(qoi), 목표위치(qfi), 속도(Vm) 데이터는 다음의 수학식4a 내지 수학식 4c와 같은 형식으로 입력된다.First, as shown in FIG. 3, the motion controller 30 inputs the current position q oi , the target position q fi , and the speed Vm data of each joint axis of the robot from the main controller 10. Receive (S01). In the case of a six-axis robot, the current position q oi , the target position q fi , and the speed Vm data are inputted in the following equations (4a) to (4c).

다음으로, 모션제어기(30)는 입력된 현재위치(qoi), 목표위치(qfi), 속도(Vm) 데이터에 기초하여, 최대 가속도 및 평균 가속도를 설정하고, 각 축의 각(角) 변위 중 최대변위를 계산하고, 전체운동시간에 대한 등속운동시간의 비를 계산한다(S02).Next, the motion controller 30 sets the maximum acceleration and the average acceleration based on the input current position q oi , target position q fi , and velocity Vm data, and sets the angular displacement of each axis. Calculate the maximum displacement and calculate the ratio of the constant motion time to the total exercise time (S02).

최대 가속도(Amax)의 크기는 다음의 수학식5a와 같이 설정되며, 평균 가속도(Aave)는 다음의 수학식5b에 의해 계산된다.The magnitude of the maximum acceleration Amax is set as in Equation 5a below, and the average acceleration Aave is calculated by Equation 5b below.

여기서, 실제로 최대 가속도(Amax)의 크기는 서보모터의 한계치로 정해진다. 또한, 최대가속도(Amax)는, 가속구간의 시작시점으로부터 최대가속도(Amax) 도달시점까지와, 최대가속도(Amax) 도달시점으로부터 가속구간 종료시점까지의 시간비율이 비대칭적인 패턴을 갖도록 설정되는 것이 바람직하며, 본 실시예에서는 후술하는 바와 같이(도 5a 참조), 이러한 시간비율이 3:7로 이루어지도록 설정하였다.Here, the magnitude of the maximum acceleration Amax is actually determined by the limit value of the servomotor. Further, the maximum acceleration Amax is set such that the time ratio from the start of the acceleration section to the maximum acceleration Amax and the time ratio from the arrival of the maximum acceleration Amax to the end of the acceleration section have an asymmetric pattern. Preferably, in this embodiment, as will be described later (see Fig. 5a), such a time ratio is set to be 3: 7.

한편, 각 관절축(즉, 6축 로봇의 경우 1∼6축)의 각 변위 중 최대변위(Qmax)는 다음의 수학식6에 의해 계산된다.On the other hand, the maximum displacement (Qmax) of each displacement of each joint axis (that is, 1 to 6 axes in the case of a six-axis robot) is calculated by the following equation (6).

즉, 각 관절축의 목표위치(qfi)와 현재위치(qoi)의 차이의 절대값 중 가장 큰 값이 최대변위(Qmax)가 된다.In other words, the largest value of the absolute value of the difference between the target position q fi and the current position q oi of each joint axis is the maximum displacement Qmax.

또한, 전체 운동시간에 대한 등속운동 시간의 비(α)는, 상기 수학식5b와 수학식6의 결과를 이용하여 다음 수학식7a에 의해 계산된다.Further, the ratio α of the constant velocity to the total exercise time is calculated by the following equation 7a using the results of equations 5b and 6 above.

한편, 수학식 7a는, 다음의 수학식7b와 같이 주제어기(10)로부터 입력된 속도(Vm)항으로 정리할 수 있다.On the other hand, Equation 7a can be summarized into a speed Vm term input from the main controller 10 as in Equation 7b below.

한편, 수학식 7a에서의 계산결과, 전체 운동시간에 대한 등속운동 시간의 비(α)가 음수인 경우에는 S01단계에서 입력된 속도와 그에 따라 상기 수학식 5a 및 5b에서 결정된 가속도를 가지고는 원하는 속도 프로파일을 만들 수 없으므로, 서보모터를 제대로 가감속할 수 없다.On the other hand, if the ratio (α) of the constant velocity exercise time to the total exercise time is negative as a result of the calculation in Equation 7a, the desired speed is determined by the speed input in step S01 and the acceleration determined in Equations 5a and 5b accordingly. Since the speed profile cannot be made, the servomotor cannot be accelerated and decelerated properly.

따라서, α가 음수인 경우에는 α를 0으로 설정하여, 등속운동 없이 가속 후에 감속하고 사용자에게 경고메세지를 전달하여야 한다. 이와 같이 α를 0으로 설정할 경우 수학식 7b는 다음의 수학식8과 같이 정리된다.Therefore, if α is negative, α should be set to 0 to decelerate after acceleration without constant velocity motion and to send a warning message to the user. Thus, when α is set to 0, Equation 7b is summarized as in Equation 8 below.

S02단계 이후에, 모션제어기(30)는 입력된 속도(Vm)와 최대변위(Qmax)에 대한 전체 운동시간(Td)과, 가속시간(Trf)과, 가속에서 등속까지의 시간(Teq)과, 가속구간에서의 샘플링 개수(Tint)를 다음의 수학식 9a 내지 수학식 9d에 의해 계산한다(S03). 한편, 가속과 감속은 대칭적으로 이루어지므로 감속시간은 가속시간(Trf)과 동일하다.After the step S02, the motion controller 30, the total motion time (Td) for the input speed (Vm) and the maximum displacement (Qmax), the acceleration time (Trf), the time from acceleration to constant velocity (Teq) and The number Tint of the acceleration section is calculated by the following equations 9a to 9d (S03). On the other hand, since the acceleration and deceleration is made symmetrically, the deceleration time is the same as the acceleration time (Trf).

수학식 9d에서, RST는 매 샘플링 주기를 나타내는 것으로서 이는 사용자의 선택에 따라 미리 설정된 값이다. Trf와 RST가 시간만의 함수이므로, 가속구간의 샘플링 개수(Tint)는 정수로 계산된다.In Equation 9d, RST represents every sampling period, which is a preset value according to a user's selection. Since Trf and RST are functions of time only, the sampling number Tint of the acceleration section is calculated as an integer.

S03단계 이후에, 모션제어기(30)는, 각 관절축의 등속구간(도 4에서 시간 Trf에서 Teq까지의 구간)에서의 속도(Vi)와, 가속구간(도 4에서 시간 0에서 Trf까지의 구간) 및 감속구간(도 4에서 시간 Teq에서 Td까지의 구간)에서의 이동거리를 계산한다(S04).After step S03, the motion controller 30 includes the speed Vi in the constant velocity section (section Trf to Teq in FIG. 4) and the acceleration section (time 0 to Trf in FIG. 4) of each joint axis. ) And the moving distance in the deceleration section (section Teq to Td in FIG. 4) (S04).

먼저, 각 관절축의 등속구간에서의 속도(Vi)는 다음의 수학식10에 의하여 계산된다.First, the speed Vi in the constant velocity section of each joint axis is calculated by the following equation (10).

즉, 각 관절축의 등속구간에서의 속도(Vi)는 S01단계에서 입력된 속도(Vm)에 수학식6에서 계산된 최대 각변위(Qmax)에 대한 각 관절축에서의 목표위치(qfi)와 현재위치(qoi)의 차이의 절대값의 비율을 곱한 값으로 계산된다.That is, the velocity Vi in the constant velocity section of each joint axis is the target position q fi in each joint axis with respect to the maximum angular displacement Qmax calculated in Equation 6 to the velocity Vm input in step S01. It is calculated by multiplying the ratio of the absolute value of the difference between the current positions q oi .

다음으로 모션제어기(30)는, 가속 및 감속구간에서의 매 샘플링마다의 이동거리의 계산을 위하여 가속 및 감속구간에서의 매 샘플링마다의 이동거리의 평균치인 S1, S2를 계산하는데, 가속구간에서의 매 샘플링마다의 이동거리 평균치인 S1은 다음의 수학식11a에 의하여 계산되며, 감속구간에서의 매 샘플링마다의 이동거리 평균치인 S2는 다음의 수학식11b에 의하여 계산된다.Next, the motion controller 30 calculates S 1 , S 2 , which are average values of the moving distances for every sampling in the acceleration and deceleration sections, for calculating the moving distances for every sampling in the acceleration and deceleration sections. S 1, which is an average moving distance for every sampling in the interval, is calculated by Equation 11a below, and S 2, which is an average of moving distance for every sampling in the deceleration section, is calculated by Equation 11b below.

수학식11a 및 11b에서, SR은 가속구간에서의 이동거리, 즉 도 4에서 Vr 그래프의 아래 부분 면적을 나타내며, Sratio는 도 4에서 사각형 OABC의 면적(즉,Trf×Vi)에 대한 Vr 그래프의 아래 부분 면적(SR) 비율을 의미한다. 따라서, Sratio는 SR/(Trf×Vi)로 나타낼 수 있다. 한편, SR은 각 샘플링 구간에서의 이동거리들(Sr1, Sr2,‥‥,Srn)의 합과 같다. 또한, SF는 감속구간에서의 이동거리로서, 본 실시예에서 SF는 SR과 동일하다.In Equations 11a and 11b, S R represents the moving distance in the acceleration section, that is, the area of the lower portion of the Vr graph in FIG. 4, and S ratio is the Vr for the area of the rectangular OABC in FIG. 4 (ie, Trf × Vi). The bottom area (S R ) ratio of the graph. Therefore, S ratio can be represented by S R / (Trf × Vi). On the other hand, S R is equal to the sum of the moving distances S r1 , S r2 ,..., S rn in each sampling period. In addition, S F is a moving distance in the deceleration section, and S F is the same as S R in this embodiment.

S04단계 이후에, 모션제어기(30)는, 수학식11a에서 계산된 S1값을 기초로 하여 다음의 수학식12a에 의해 가속구간에서 매 샘플링 구간마다의 각 관절축의 위치(POS)를 계산한다(S05~S06).After the step S04, the motion controller 30 calculates the position POS of each joint axis in every acceleration section in the acceleration section based on the value S 1 calculated in Equation 11a by the following Equation 12a. (S05-S06).

여기서, POS[t]는 가속구간의 해당 샘플링 구간에서의 각 관절축의 위치를, POS[t-1]은 가속구간의 해당 샘플링 구간의 바로 앞 구간에서의 각 관절축의 위치를, S-Index-R[j][k]는 후술하는 것처럼 테이블화되어 저장된 가속구간의 매 샘플링 구간마다의 속도의 무차원화 된 변화율을 각각 나타낸다. 한편, 0.0001은 계산상의 편의를 위한 것으로서 생략되어도 무방하다.Here, POS [t] denotes the position of each joint axis in the corresponding sampling section of the acceleration section, and POS [t-1] denotes the position of each joint axis in the section immediately preceding the corresponding sampling section of the acceleration section, S-Index- R [j] [k] represents the dimensionless rate of change of the velocity in each sampling section of the acceleration section which is tabled and stored as described later. On the other hand, 0.0001 may be omitted for convenience of calculation.

다음으로, 모션제어기(30)는, 수학식10에서 계산된 Vi값을 기초로 하여 다음의 수학식12b에 의해 매 샘플링 구간마다의 각 관절축의 등속구간의 위치(POS')를 계산한다(S07~S08).Next, the motion controller 30 calculates the position POS 'of the constant velocity section of each joint axis in each sampling section based on the following Vi value calculated in Equation 10 (S07). ~ S08).

여기서, POS'[t]는 등속구간의 해당 샘플링 구간에서의 각 관절축의 위치를, POS'[t-1]은 등속구간의 해당 샘플링 구간의 바로 앞 구간에서의 각 관절축의 위치를 나타낸다. 또한, RST는 상술한 바와 같이 기 설정된 샘플링 주기를 나타낸다.Here, POS '[t] represents the position of each joint axis in the corresponding sampling section of the constant velocity section, and POS' [t-1] represents the position of each joint axis in the section immediately preceding the corresponding sampling section of the constant velocity section. In addition, RST represents a preset sampling period as described above.

다음으로, 모션제어기(30)는, 수학식11a에서 계산된 S2값을 기초로 하여 다음의 수학식12c에 의해 매 샘플링 구간마다의 각 관절축의 감속구간의 위치(POS")를 계산한다(S09~S10).Next, the motion controller 30 calculates the position (POS ") of the deceleration section of each joint axis for each sampling section by the following equation 12c based on the S 2 value calculated in Equation 11a ( S09-S10).

여기서, POS"[t]는 감속구간의 해당 샘플링 구간에서의 각 관절축의 위치를, POS"[t-1]은 감속구간의 해당 샘플링 구간의 바로 앞 구간에서의 각 관절축의 위치를, S-Index-F[j][k]는 후술하는 것처럼 테이블화 되어 저장된 감속구간의 매 샘플링 구간마다의 속도의 무차원화 된 변화율을 각각 나타낸다. 한편, 0.0001은 계산상의 편의를 위한 것으로서 생략되어도 무방하다.Here, POS "[t] is the position of each joint axis in the sampling section of the deceleration section, and POS" [t-1] is the position of each joint axis in the section immediately preceding the sampling section of the deceleration section, S- Index-F [j] [k] represents the dimensionless rate of change of the velocity in each sampling section of the deceleration section stored in a table as described later. On the other hand, 0.0001 may be omitted for convenience of calculation.

한편, 본 실시예에서, 수학식12a 및 수학식12c에서의 S-Index-R[j][k]와 S-Index-F[j][k]는 다음의 수학식13a 내지 수학식13d에 의하여 미리 계산되어 테이블 형태로 저장해 놓는다.On the other hand, in this embodiment, S-Index-R [j] [k] and S-Index-F [j] [k] in Equations 12a and 12c are expressed in the following Equations 13a to 13d. It is calculated in advance and stored in a table form.

S-Index-R[j][k]의 경우를 예로 들면, 먼저, 상술한 수학식2와 동일한 다음의 수학식13a에 의하여 각 샘플링 구간마다의 속도를 계산한다.Taking the case of S-Index-R [j] [k] as an example, first, the speed for each sampling section is calculated by the following equation (13a) which is the same as the above equation (2).

상술한 바와 같이, 여기서, Vr(k)는 가속구간의 해당 샘플링 구간(k: k=1, 2,‥‥, n)에서의 속도를, Vr(k-1)은 해당 샘플링 구간의 바로 앞 구간(k-1)에서의 속도를 나타낸다. 또한, a(k)는 해당 샘플링 구간에서의 가속도를, a(k-1)은 해당 샘플링 구간의 바로 앞 구간에서의 가속도를 의미한다.As described above, where Vr (k) is the speed in the corresponding sampling section k (k = k = 1, 2, ..., n) of the acceleration section, and Vr (k-1) is immediately before the sampling section. The speed in the section k-1 is shown. In addition, a (k) means the acceleration in the sampling interval, a (k-1) means the acceleration in the immediately preceding section of the sampling interval.

한편, 본 실시예에서는 가속구간에서의 가속도의 패턴을 기울기가 양(+)인 부분과 기울기가 음(-)인 부분의 시간 비율을 대략 3:7로 설정한다(도 5a 참조). 이와 같이, 가속도의 패턴을 미리 정의함으로써 수학식 13a에서의 a(k)와 a(k-1)을 별도로 계산할 필요가 없다.On the other hand, in the present embodiment, the time pattern between the portion of the acceleration in the acceleration section and the portion of the negative slope is set to approximately 3: 7 (see Fig. 5A). In this way, it is not necessary to separately calculate a (k) and a (k-1) in the equation (13a) by defining the acceleration pattern in advance.

다음으로, 수학식13a에 의해 계산된 Vr(k)에서 시간(t)을 소거하여 환산속도 Fr(k)를 얻는다. 즉 Fr(k)는 다음의 수학식 13b에 의해 계산된다.Next, the time t is erased from Vr (k) calculated by Equation 13a to obtain the conversion rate Fr (k). That is, Fr (k) is calculated by the following equation (13b).

여기서, RST는 수학식9d에서 정의된 바 있는 샘플링 주기를 나타낸다. 한편, 수학식 13b에 의하면, Fr(k)는 도 4에서, 각 샘플링 구간에서의 해당 속도 Vr(k)에 대응하는 막대 그래프 형태로 표현될 수 있음을 알 수 있다.Here, RST represents a sampling period defined by Equation 9d. On the other hand, according to Equation 13b, it can be seen that Fr (k) can be represented in the form of a bar graph corresponding to the corresponding speed Vr (k) in each sampling section in FIG. 4.

다음으로, 매 샘플링 구간에서의 속도의 변화율을 구하기 위한 전단계로서,다음의 수학식13c에 의해 무차원 값인 Gr(k)를 계산한다.Next, as a previous step for obtaining the rate of change of the velocity in each sampling section, Gr (k), which is a dimensionless value, is calculated by the following equation (13c).

여기서, Fr(k)는 수학식13b에서 계산된 각 샘플링 구간에서의 환산속도를, SR은 감속구간에서의 이동거리를, Tint는 샘플링 개수를 나타낸다.Here, Fr (k) represents a conversion speed in each sampling section calculated in Equation 13b, S R represents a moving distance in the deceleration section, and Tint represents a sampling number.

최종적으로, 수학식13c의 계산결과에 10000을 곱하여 줌으로써 매 샘플링 구간에서의 속도의 변화율에 해당하는 무차원 값을 얻을 수 있으며, 이를 테이블화 한 것이 S-Index-R[j][k]이다. 즉, S-Index-R[j][k] 다음의 수학식 13d와 같이 나타낼 수 있다.Finally, by multiplying the calculation result of Equation 13c by 10000, a dimensionless value corresponding to the rate of change of velocity in each sampling interval can be obtained, and the table is S-Index-R [j] [k]. . That is, it can be expressed as Equation 13d following S-Index-R [j] [k].

한편, 여기서 10000이라는 수치는 계산의 편의를 위해 도입한 것으로서, 이 수치는 적절한 값을 택할 수도 있으며, 생략할 수도 있다.In this case, the numeral 10000 is introduced for convenience of calculation, and the numerical value may be appropriate or may be omitted.

수학식 13d에서 10000을 생략할 경우, S-Index-R[j][k]는 Gr(k)와 같아지게 되므로, S-Index-R[j][k]는 다음의 수학식14와 같이 나타낼 수 있다.When 10000 is omitted in Equation 13d, since S-Index-R [j] [k] is equal to Gr (k), S-Index-R [j] [k] is expressed as in Equation 14 below. Can be represented.

즉, S-Index-R[j][k]는 샘플링 개수(Tint)에 따라 테이블화 하여 정리할 수있다. 아래의 표 1은, S-Index-R[j][k]를 상기 수학식13a 내지 수학식13d의 계산의 결과에 따라 테이블화 하여 정리한 일 예를 나타낸 것이다.In other words, S-Index-R [j] [k] can be arranged in a table according to the sampling number (Tint). Table 1 below shows an example in which S-Index-R [j] [k] is arranged in a table according to the results of the calculations of Equations 13a to 13d.

S-Index-R[j][k]S-Index-R [j] [k] Tint=5Tint = 5 Tint=6Tint = 6 Tint=7Tint = 7 Tint=8Tint = 8 Tint=9Tint = 9 Tint=10Tint = 10 11861186 819819 601601 461461 364364 294294 52975297 39553955 30053005 23032303 18171817 14711471 1097510975 88228822 70807080 56715671 46244624 38233823 1525415254 1312813128 1119311193 95139513 81088108 69336933 1728817288 1593615936 1432314323 1275012750 1127911279 99589958 1734017340 1638416384 1511815118 1377113771 1247912479 1741417414 1669716697 1564015640 1449614496 1748717487 1688716887 1600816008 1751017510 1701717017 1752117521

한편, 감속구간에서의 매 샘플링 구간마다의 속도의 무차원화된 변화율인 S-Index-F[j][k]는, 상기 S-Index-R[j][k]와 동일한 방식으로 계산하여 정리할 수 있다. 아래의 표 2은, S-Index-F[j][k]를 상기 수학식13a 내지 수학식13d와 동일한 방식에 의하여 계산한 결과에 따라 테이블화 한 일 예를 나타낸 것이다.On the other hand, S-Index-F [j] [k], which is a non-dimensionalized change rate of velocity in each sampling section in the deceleration section, is calculated and arranged in the same manner as S-Index-R [j] [k]. Can be. Table 2 below shows an example in which S-Index-F [j] [k] is tabled according to a result calculated in the same manner as in Equations 13a to 13d.

S-Index-F[j][k]S-Index-F [j] [k] Tint=5Tint = 5 Tint=6Tint = 6 Tint=7Tint = 7 Tint=8Tint = 8 Tint=9Tint = 9 Tint=10Tint = 10 2130421304 2193721937 2225122251 2241422414 2257122571 2269222692 1603316033 1786017860 1911819118 2001720017 2067420674 2115421154 87508750 1153211532 1380613806 1563415634 1701317013 1807718077 32613261 59335933 84458445 1063410634 1246812468 1401114011 652652 22822282 43654365 64216421 83328332 1005510055 456456 16791679 33393339 50815081 67586758 336336 12841284 26422642 41214121 257257 10161016 21432143 203203 824824 165165

이상과 같이, 테이블로 정리된 S-Index-R[j][k]와 S-Index-F[j][k]를 이용하여 수학식12a 내지 수학식12c에서 매 샘플링 구간마다의 각 관절축의 가속구간의 위치(POS)와, 등속구간의 위치(POS')와, 감속구간의 위치(POS")를 계산함으로써,종래와 같이 매 샘플링 주기(RST)마다 가속도와 속도를 계산할 필요가 없다.As described above, using S-Index-R [j] [k] and S-Index-F [j] [k] arranged in a table, each joint axis in each sampling section is expressed in Equations 12a to 12c. By calculating the position POS of the acceleration section, the position POS 'of the constant velocity section, and the position POS "of the deceleration section, it is not necessary to calculate the acceleration and the speed for every sampling period RST as conventionally.

한편, 상기 수학식13a 내지 수학식13d를 이용하여 가속구간에서의 매 샘플링 구간마다의 위치에 관한 수학식12a을 다시 정리하면 다음과 같다.Meanwhile, using Equations 13a to 13d, Equation 12a relating to the position of each sampling section in the acceleration section is rearranged as follows.

한편, S05단계 내지 S10단계 이후에, 모션제어기(30)는, 수학식12a 내지 수학식12c에 의하여 계산된 매 샘플링 구간마다의 각 관절축의 가속구간의 위치(POS)와, 등속구간의 위치(POS')와, 감속구간의 위치(POS")를 관절위치제어기(JPC)(40)에 전송한다. 이 관절위치제어기(40)는 전송된 위치 데이터에 기초하여 각 관절축의 서보구동부(50)를 제어하여 각 관절축이 명령받은 위치로 이동할 수 있게 한다.On the other hand, after step S05 to step S10, the motion controller 30, the position (POS) of the acceleration section of each joint axis for each sampling section calculated by the equation (12a) to (12c) and the position of the constant velocity section ( POS ') and the position of the deceleration section (POS ") are transmitted to the joint position controller (JPC) 40. The joint position controller 40 is the servo drive unit 50 of each joint axis based on the transmitted position data. To control each joint axis to the commanded position.

도 5a 내지 도 5c는 본 실시예에 따른 속도 프로파일 생성방법에 의하여 생성된 가속도, 속도, 거리 프로파일을 나타낸 그래프로서, 도 5a는 시간에 대한 가속도 프로파일을, 도 5b는 시간에 대한 속도 프로파일을, 도 5c는 시간에 대한 거리 프로파일을 각각 나타낸다.5A to 5C are graphs showing acceleration, velocity, and distance profiles generated by the velocity profile generation method according to the present embodiment. FIG. 5A is an acceleration profile with respect to time, and FIG. 5B is a velocity profile with respect to time. 5C shows the distance profile over time, respectively.

상술한 것처럼, 본 실시예에서는 도 5a에 도시된 바와 같이 가속구간에서의 가속도의 패턴을 기울기가 양(+)인 부분과 기울기가 음(-)인 부분의 시간 비율을3:7로 설정하였으며, 반대로 감속구간에서의 가속도 패턴은 기울기가 음(-)인 부분과 기울기가 양(+)인 부분의 시간 비율을 3:7로 설정하였다. 즉, 가속구간에서의 최대가속도(Amax)는 가속구간 시작시점과 가속구간 종료시점 사이의 3/10되는 시점에 위치하게 된다. 이와 같이 가속 및 감속시의 가속도 패턴을 비대칭적으로 구성함으로써 로봇의 각 관절의 움직임에 따른 소음 및 진동을 줄일 수 있다.As described above, in the present embodiment, as shown in FIG. 5A, the time ratio between the portion of the positive slope and the portion of the negative slope of the acceleration pattern in the acceleration section is set to 3: 7. On the contrary, in the acceleration pattern in the deceleration section, the time ratio between the negative slope and the positive slope was set to 3: 7. That is, the maximum acceleration Amax in the acceleration section is located at 3/10 time between the start point of the acceleration section and the end point of the acceleration section. In this way, by configuring the acceleration pattern asymmetrically during acceleration and deceleration, it is possible to reduce noise and vibration caused by the movement of each joint of the robot.

이상에서 설명한 바와 같이, 본 발명에 의하면, 가속 및 감속시의 가속도 패턴을 비대칭적으로 구성함으로써, 다관절 로봇의 운동시 각 관절축의 동작을 부드럽게 제어하여 진동 및 소음을 현저히 줄일 수 있다.As described above, according to the present invention, by configuring the acceleration pattern during acceleration and deceleration asymmetrically, it is possible to smoothly control the motion of each joint axis during the movement of the articulated robot, thereby significantly reducing vibration and noise.

또한, 가감속 속도 프로파일을 계산함에 있어서, 미리 테이블로 저장된 속도의 무차원화 된 변화율인 S-Index-R[j][k]와 S-Index-F[j][k]를 이용함으로써, 종래와 같이 매 샘플링 주기마다 가속도와 속도를 계산할 필요가 없으므로 계산시간을 줄일 수 있다.In addition, in calculating the acceleration / deceleration velocity profile, S-Index-R [j] [k] and S-Index-F [j] [k], which are non-dimensionalized change rates of the speed previously stored in the table, are used. As the acceleration and velocity do not need to be calculated for each sampling period, the calculation time can be reduced.

이상에서는 본 발명의 특정의 바람직한 실시예에 대하여 도시하고 또한 설명하였다. 그러나, 본 발명은 상술한 실시예에 한정되지 아니하며, 특허청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형실시가 가능할 것이다.In the above, certain preferred embodiments of the present invention have been illustrated and described. However, the present invention is not limited to the above-described embodiments, and various modifications can be made by those skilled in the art without departing from the gist of the present invention as claimed in the claims. will be.

Claims (8)

가속구간에서의 가속도 패턴을 비대칭적으로 설정하고, 상기 가속구간의 매 샘플링 구간마다의 각 관절축의 위치를 해당 샘플링 구간마다의 속도의 변화율 값을 이용하여 계산하며,Set the acceleration pattern asymmetrically in the acceleration section, calculate the position of each joint axis in each sampling section of the acceleration section by using the rate of change of velocity in the corresponding sampling section, 상기 속도의 변화율 값은 다음의 식에 의하여 미리 계산되어 테이블로 저장되어 있는 것을 특징으로 하는 다관절 로봇의 가감속 속도 프로파일 생성방법;A method for generating an acceleration / deceleration speed profile of an articulated robot, wherein the rate of change of speed is calculated in advance by the following equation; 여기서, S-Index-R[j][k]는 매 샘플링 구간마다의 속도 변화율이며, Vr(k)는 매 샘플링 구간에서의 속도이며, RST는 샘플링 주기이며, SR은 가속구간에서의 이동거리이며, Tint는 샘플링 개수이다.Here, S-Index-R [j] [k] is a rate of change in every sampling section, Vr (k) is a rate in every sampling section, RST is a sampling period, and S R is a movement in the acceleration section. Distance, and Tint is the number of samplings. 제 1 항에 있어서, 상기 가속구간에서의 가속도 패턴은, 가속도의 기울기가 양(+)인 구간의 시간과 가속도의 기울기가 음(-)인 구간의 시간이 3:7이 되도록 설정된 것을 특징으로 하는 다관절 로봇의 가감속 속도 프로파일 생성방법.The acceleration pattern of claim 1, wherein the acceleration pattern in the acceleration section is set such that the time in the section in which the acceleration is positive is positive and the time in the section in which the acceleration is negative is 3: 7. Acceleration / deceleration velocity profile generation method of a multi-joint robot. (a) 입력된 각 관절축의 현재위치(qoi)와, 목표위치(qfi)와, 속도(Vm) 데이터에 기초하여 최대 가속도(Amax) 및 평균 가속도(Aave)를 설정하는 단계;(a) setting a maximum acceleration Amax and an average acceleration Aave based on the current position q oi , the target position q fi , and the speed Vm data of each input joint axis; (b) 상기 현재위치(qoi) 및 상기 목표위치(qoi) 데이터에 기초하여 상기 관절축의 각 운동 변위 중 최대변위(Qmax)를 계산하는 단계;(b) calculating a maximum displacement (Qmax) of each movement displacement of the joint axis based on the current position (q oi ) and the target position (q oi ) data; (c) 상기 설정된 평균 가속도(Aave)와, 상기 입력 속도(Vm)와, 상기 최대변위(Qmax)에 기초하여 전체 운동시간에 대한 등속운동시간의 비(α)를 계산하는 단계;(c) calculating a ratio (α) of the constant velocity exercise time to the total exercise time based on the set average acceleration (Aave), the input speed (Vm), and the maximum displacement (Qmax); (d) 상기 입력 속도(Vm)와 상기 최대변위(Qmax)에 대한 전체 운동시간(Td)과, 가감속시간(Trf)과, 가속에서의 등속까지의 시간(Teq)과, 가속구간에서의 샘플링 개수(Tint)를 계산하는 단계;(d) The total motion time Td for the input speed Vm and the maximum displacement Qmax, the acceleration and deceleration time Trf, the time Teq from acceleration to constant velocity, and the acceleration section. Calculating a sampling number Tint; (e) 상기 각 관절축의 등속구간에서의 속도(Vi)와, 가속구간에서의 매 샘플링 구간마다의 이동거리의 평균치(S1)와, 감속구간에서의 매 샘플링 구간마다의 이동거리의 평균치(S2)를 계산하는 단계; 및(e) the speed Vi at the constant velocity section of each of the joint axes, the average value S 1 of the moving distances in every sampling section in the acceleration section, and the average value of the moving distances in every sampling section in the deceleration section ( Calculating S 2 ); And (f) 상기 (e) 단계에서의 계산 결과 및 미리 테이블에 저장된 매 샘플링 구간마다의 속도의 변화율 값을 이용하여, 매 샘플링 구간마다의 상기 각 관절축의 가속구간 위치(POS)와, 등속구간 위치(POS')와, 감속구간 위치(POS')를 계산하는 단계를 포함하는 것을 특징으로 하는 다관절 로봇의 가감속 제어방법.(f) The acceleration section position (POS) and the constant velocity section position of each joint axis in each sampling section by using the calculation result in step (e) and the rate of change of the velocity in every sampling section previously stored in the table. (POS ') and the step of calculating the deceleration section position (POS') comprising the acceleration and deceleration control method of the articulated robot. 제 3 항에 있어서, 상기 (a)단계에서의 최대가속도(Amax)는, 가속구간의 시작시점으로부터 상기 최대가속도 도달시점까지와, 상기 최대가속도 도달시점으로부터 가속구간 종료시점까지의 시간비율이 비대칭적으로 이루어지도록 설정된 것을특징으로 하는 다관절 로봇의 가감속 제어방법.4. The maximum acceleration Amax in the step (a) is an asymmetrical time ratio from the start of the acceleration section to the maximum acceleration time and from the maximum acceleration time to the end of the acceleration section. Acceleration and deceleration control method of a multi-joint robot, characterized in that it is set to be made. 제 4 항에 있어서, 상기 (e)단계에서 상기 가속구간에서의 매 샘플링 구간마다의 이동거리의 평균치(S1)는 다음의 식에 의하여 계산되는 것을 특징으로 하는 다관절 로봇의 가감속 제어방법;The method according to claim 4, wherein in step (e), the average value S 1 of the moving distances for each sampling section in the acceleration section is calculated by the following equation. ; 여기서, SR은 가속구간에서의 이동거리이며, Tint는 샘플링 개수이다.Here, S R is a moving distance in the acceleration section, and Tint is a sampling number. 제 5 항에 있어서, 상기 (f) 단계에서 매 샘플링 구간마다의 상기 각 관절축의 가속구간 위치(POS)는 다음의 식에 의하여 계산되는 것을 특징으로 하는 다관절 로봇의 가감속 제어방법;The acceleration / deceleration control method of the articulated robot according to claim 5, wherein the acceleration section position (POS) of each joint axis in each sampling section is calculated by the following equation; 여기서, POS[t]는 해당 샘플링 구간에서의 각 관절축의 위치이며, POS[t-1]은 해당 샘플링 구간의 바로 앞 구간에서의 각 관절축의 위치이며, S-Index-R[i][k]는 매 샘플링 구간마다의 속도 변화율이며, S1은 매 샘플링 구간마다의 이동거리의 평균치이다.Here, POS [t] is the position of each joint axis in the sampling section, POS [t-1] is the position of each joint axis in the section immediately preceding the sampling section, and S-Index-R [i] [k ] Is the rate of change of velocity in each sampling section, and S 1 is the average of the moving distances in each sampling section. 제 6 항에 있어서, 상기 S-Index-R[j][k]는 다음의 식에 의하여 미리 계산되어 테이블로 저장되어 있는 것을 특징으로 하는 다관절 로봇의 가감속 제어방법;7. The acceleration / deceleration control method of an articulated robot according to claim 6, wherein the S-Index-R [j] [k] is calculated in advance by the following equation and stored in a table; 여기서, Vr(k)는 매 샘플링 구간에서의 속도이며, RST는 샘플링 주기이며, SR은 가속구간에서의 이동거리이며, Tint는 샘플링 개수이다.Here, Vr (k) is a speed in every sampling section, RST is a sampling period, S R is a moving distance in an acceleration section, and Tint is a sampling number. 제 5 항에 있어서, 상기 (f) 단계에서 매 샘플링 구간마다의 상기 각 관절축의 등속구간 위치(POS')는 다음의 식에 의하여 계산되는 것을 특징으로 하는 다관절 로봇의 가감속 제어방법;6. The acceleration / deceleration control method for an articulated robot according to claim 5, wherein the position of the constant velocity section (POS ') of each joint axis in each sampling section is calculated by the following equation; 여기서, POS'[t]는 해당 샘플링 구간에서의 각 관절축의 위치이며, POS'[t-1]은 해당 샘플링 구간의 바로 앞 구간에서의 각 관절축의 위치이며, RST는 샘플링 주기를 나타낸다.Here, POS '[t] is the position of each joint axis in the sampling section, POS' [t-1] is the position of each joint axis in the section immediately preceding the sampling section, and RST represents a sampling period.
KR10-2001-0085786A 2001-12-27 2001-12-27 Asymmetric acceleration and deceleration profile producing method and a acceleration and deceleration controlling method using the same for multi-joint robot KR100454341B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0085786A KR100454341B1 (en) 2001-12-27 2001-12-27 Asymmetric acceleration and deceleration profile producing method and a acceleration and deceleration controlling method using the same for multi-joint robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0085786A KR100454341B1 (en) 2001-12-27 2001-12-27 Asymmetric acceleration and deceleration profile producing method and a acceleration and deceleration controlling method using the same for multi-joint robot

Publications (2)

Publication Number Publication Date
KR20030055719A true KR20030055719A (en) 2003-07-04
KR100454341B1 KR100454341B1 (en) 2004-10-26

Family

ID=32213977

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0085786A KR100454341B1 (en) 2001-12-27 2001-12-27 Asymmetric acceleration and deceleration profile producing method and a acceleration and deceleration controlling method using the same for multi-joint robot

Country Status (1)

Country Link
KR (1) KR100454341B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100494385B1 (en) * 2002-10-14 2005-06-13 삼성전자주식회사 system and method for speed control of motor

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101309691B1 (en) 2012-03-30 2013-11-19 대한민국(국립재활원장) Apparatus for detecting abnormal state of robot
JP7047525B2 (en) * 2018-03-26 2022-04-05 日本電産株式会社 Robot control device, robot control method, program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05150825A (en) * 1991-11-27 1993-06-18 Hitachi Ltd Controller for robot
KR0183657B1 (en) * 1996-08-31 1999-04-15 삼성항공산업주식회사 Acceleration/deceleration trace generation method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100494385B1 (en) * 2002-10-14 2005-06-13 삼성전자주식회사 system and method for speed control of motor

Also Published As

Publication number Publication date
KR100454341B1 (en) 2004-10-26

Similar Documents

Publication Publication Date Title
JP3900789B2 (en) Motor speed / acceleration determination method, acceleration / deceleration generation method, acceleration / deceleration control method, acceleration / deceleration control device, and motor control device
US6275778B1 (en) Location-force target path creator
US4727303A (en) Positional control method and system utilizing same
JP2524931B2 (en) Robot linear interpolation method
JP2001022424A (en) Speed control method of robot driving motor
JPH0969006A (en) Curve interpolating method for speed control at connecting operation of robot
EP0790543A1 (en) Method for switching a control mode of a servo control system
KR100454341B1 (en) Asymmetric acceleration and deceleration profile producing method and a acceleration and deceleration controlling method using the same for multi-joint robot
US5740327A (en) Method of and apparatus for robot tip trajectory control
JPH0916241A (en) Method for setting acceleration/deceleration operation of robot
EP4265378A1 (en) Path generation method of generating path of robot using command from external apparatus and robot control system
JP3204042B2 (en) Robot trajectory generator
KR20060035514A (en) Position profile generation device of motion controller and thereof method
JPH04352012A (en) Robot-position controlling method
JPH08123531A (en) Control method for track
JPH05297916A (en) Track control method for robot
US20230027260A1 (en) Robot controller and emergency stop method of robot
JPH068166A (en) Acceleration/deceleration controller
JP2000163114A (en) Intra-interpolation curve acceleration and deceleration processing method
KR100454342B1 (en) Velocity profile producing method for industrial robot
JPH08126980A (en) Robot control method and its device
KR940001204B1 (en) Method of compensating linear movement of robot
JPH09141581A (en) Robot control device
KR0155281B1 (en) Interpolation method of multi-robot
JP2001277160A (en) Route generating method of robot

Legal Events

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

Payment date: 20071004

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee