KR20120089383A - Method for generating velocity profile - Google Patents

Method for generating velocity profile Download PDF

Info

Publication number
KR20120089383A
KR20120089383A KR1020100110345A KR20100110345A KR20120089383A KR 20120089383 A KR20120089383 A KR 20120089383A KR 1020100110345 A KR1020100110345 A KR 1020100110345A KR 20100110345 A KR20100110345 A KR 20100110345A KR 20120089383 A KR20120089383 A KR 20120089383A
Authority
KR
South Korea
Prior art keywords
motor
amount
speed profile
speed
profile
Prior art date
Application number
KR1020100110345A
Other languages
Korean (ko)
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 KR1020100110345A priority Critical patent/KR20120089383A/en
Publication of KR20120089383A publication Critical patent/KR20120089383A/en

Links

Images

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/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators

Abstract

PURPOSE: A method for producing a speed profile is provided to reduce a cycle time of a process by early starting the overlapping. CONSTITUTION: A method for producing a speed profile is as follows. If a joint is operated by a plurality of motions, the amount of the overlapping to overlap the plurality of motions is set(200). The speed profile of a motor is produced according to information on the speed profile inputted from users(202,204). The movement amount of the motor is obtained from the speed profile(206). The movement amount of the motor is compared with the amount of the overlapping(208). The degree of the speed profile is determined(210).

Description

속도 프로파일 생성 방법{METHOD FOR GENERATING VELOCITY PROFILE}How to create a velocity profile {METHOD FOR GENERATING VELOCITY PROFILE}

로봇의 관절을 구동하기 위한 모터의 속도 프로파일을 생성하는 속도 프로파일 생성 방법에 관한 것이다.A speed profile generation method for generating a speed profile of a motor for driving a joint of a robot.

일반적으로, 전기적 또는 자기적인 작용을 이용하여 인간의 동작과 닮은 운동을 행하는 기계장치를 로봇이라고 한다. 최근 들어 로봇은 제어기술의 발달로 다양한 분야에서 활용되고 있으며, 그 예로는 가정에서의 가사 도우미 로봇, 공공장소용 서비스 로봇, 생산 현장에서의 반송 로봇, 작업자 지원 로봇 등이 있다. 이러한 로봇은 전기적ㆍ기계적 메카니즘에 의해서 인간의 팔이나 손의 동작에 가깝게 운동할 수 있도록 만들어진 머니퓰레이터(manipulator)를 이용하여 작업을 수행한다.In general, a machine that uses electric or magnetic action to perform a motion similar to a human's motion is called a robot. Recently, robots have been used in various fields due to the development of control technology. Examples of the robots include a domestic helper robot, a service robot for a public place, a transport robot at a production site, and a worker support robot. Such a robot performs work by using a manipulator which is made to move close to the motion of a human arm or a hand by an electrical and mechanical mechanism.

현재 사용되고 있는 대부분의 머니퓰레이터는 여러 개의 링크(link)들이 서로 연결되어 구성된다. 각 링크들의 연결 부위를 관절(joint)이라 하며, 각각의 관절에는 관절을 구동하기 위한 모터가 장착된다.Most manipulators in use today are composed of several links connected to each other. The connection part of each link is called a joint, and each joint is equipped with a motor for driving the joint.

이러한 로봇의 관절이 다수의 모션으로 구동하는 경우, 공정의 사이클 타임(Cycle Time)의 단축을 위하여 각 모션의 처음 일부분을 이전 모션과 중첩하거나 끝 일부분을 다음 모션과 중첩하여 이동한다. 이때 모션을 중첩하기 위한 중첩량은 사용자에 의해 임의로 설정된다.When the joints of the robot are driven in multiple motions, the first part of each motion overlaps with the previous motion or the end part overlaps with the next motion in order to shorten the cycle time of the process. At this time, the overlap amount for overlapping the motion is arbitrarily set by the user.

예를 들어, 관절이 Z축과 θ축의 모션으로 이동하는 경우, 중첩 모션을 사용하지 않으면 하나의 모션(Z축)이 끝난 후 다음 모션(θ축)이 수행되지만, 중첩 모션을 사용하게 되면 하나의 모션(Z축)이 완전히 끝나기 전에 다음 모션(θ축)으로 이동하기 때문에 사이클 타임(Cycle Time)을 단축할 수 있다.For example, if a joint moves in the Z-axis and θ-axis motions, if the superimposed motion is not used, the next motion (θ-axis) will be performed after one motion (Z-axis), but if the superimposed motion is used, The cycle time can be shortened by moving to the next motion (θ axis) before the motion (Z axis) is completely finished.

그러나, 중첩 모션을 사용하여 관절을 구동하는 종래의 경우 중첩 모션의 시작시점이 설정된 중첩량에 의해 일정하게 적용되기 때문에 사이클 타임(Cycle Time)을 단축하기 위해서는 보다 효율적인 중첩 모션 알고리즘이 필요하다.However, in the conventional case of driving joints using overlapping motion, a more efficient overlapping motion algorithm is required to shorten the cycle time since the starting point of the overlapping motion is constantly applied by the set overlapping amount.

로봇의 관절이 다수의 모션으로 구동하는 경우, 사이클 타임(Cycle Time)을 단축하기 위하여 사용하는 중첩 모션을 보다 효율적으로 사용하기 위한 속도 프로파일을 생성하는 방법을 제안하고자 한다.When the joints of a robot are driven by a plurality of motions, a method of generating a velocity profile for more efficiently using an overlapping motion used to shorten a cycle time is proposed.

이를 위해 본 발명의 일 측면은 로봇의 관절을 구동하기 위한 모터의 속도 프로파일을 생성하는 방법에 있어서, 관절이 다수의 모션으로 구동하는 경우, 다수의 모션을 중첩하기 위한 중첩량을 설정하고; 사용자로부터 입력받은 속도 프로파일 생성 정보에 따라 모터의 속도 프로파일을 생성하고; 생성된 속도 프로파일에서 모터의 이동량을 구하고; 모터의 이동량을 설정된 중첩량과 비교하여 속도 프로파일의 차수를 결정하는 것을 포함한다.To this end, an aspect of the present invention provides a method of generating a speed profile of a motor for driving a joint of a robot, comprising: setting an overlapping amount for overlapping a plurality of motions when the joint is driven with a plurality of motions; Generating a speed profile of the motor according to the speed profile generation information received from the user; Determine the amount of movement of the motor in the generated speed profile; And comparing the movement amount of the motor with the set overlap amount to determine the degree of the speed profile.

생성된 속도 프로파일은 관절의 모션 전체를 가속구간, 등속구간, 감속구간으로 구분하여 다항식으로 정의된다.The generated velocity profile is defined as a polynomial by dividing the entire joint motion into an acceleration section, a constant velocity section, and a deceleration section.

모터의 이동량을 구하는 것은, 생성된 속도 프로파일의 감속구간에서 감속시간/2 동안 이동하는 모터의 이동량을 구하는 것이다.To calculate the amount of movement of the motor is to obtain the amount of movement of the motor moving for the deceleration time / 2 in the deceleration section of the generated speed profile.

속도 프로파일의 차수를 결정하는 것은, 설정된 중첩량이 모터의 이동량보다 작은 경우, 높은 차수의 속도 프로파일을 사용하여 모션의 중첩 시작시점을 빠르게 하는 것이다.Determining the order of the speed profile is to use the higher order speed profile to speed up the start of motion overlap when the set amount of overlap is less than the amount of movement of the motor.

속도 프로파일의 차수를 결정하는 것은, 설정된 중첩량이 모터의 이동량보다 큰 경우 낮은 차수의 속도 프로파일을 사용하여 모션의 중첩 시작시점을 빠르게 하는 것이다.Determining the order of the speed profile is to use the lower order speed profile to speed up the start of motion overlap when the set amount of overlap is greater than the amount of movement of the motor.

그리고, 본 발명의 일 측면에 의한 속도 프로파일 생성 방법은, 속도 프로파일의 차수를 결정하기 위한 기준량을 아래의 [수학식 1]을 이용하여 구하고; 기준량을 설정된 중첩량과 비교하여 속도 프로파일의 차수를 결정하는 것을 더 포함한다.And, the velocity profile generation method according to an aspect of the present invention, to obtain a reference amount for determining the order of the velocity profile using the following [Equation 1]; And comparing the reference amount with the set overlap amount to determine the degree of the velocity profile.

[수학식 1][Equation 1]

Figure pat00001
Figure pat00001

[수학식 1]에서, △std는 속도 프로파일 차수 결정을 위한 기준량이고, Tacc는 가속시간이고, V는 속도이다.In Equation 1, Δ std is a reference amount for determining the velocity profile order, T acc is an acceleration time, and V is a speed.

속도 프로파일의 차수를 결정하는 것은, 기준량이 설정된 중첩량보다 작은 경우, 낮은 차수의 속도 프로파일을 사용하여 모션의 중첩 시작시점을 빠르게 하는 것이다.Determining the order of the velocity profile is to use the lower order velocity profile to speed up the start of motion overlap when the reference amount is less than the set overlap amount.

속도 프로파일의 차수를 결정하는 것은, 기준량이 설정된 중첩량보다 큰 경우, 높은 차수의 속도 프로파일을 사용하여 모션의 중첩 시작시점을 빠르게 하는 것이다.Determining the degree of the velocity profile is to use a higher degree velocity profile to speed up the start of motion overlap when the reference amount is greater than the set overlap amount.

제안된 속도 프로파일 생성 방법에 의하면, 중첩 모션을 사용하여 로봇의 관절을 구동하는 경우, 속도 프로파일의 차수(polynomial order)에 따라 중첩 시작시점이 달라진다는 점을 이용하여 설정된 중첩량에 따라 속도 프로파일의 차수를 결정함으로써 중첩 시작시점을 앞당겨 공정의 사이클 타임(Cycle Time)을 단축할 수 있다. 이에 따라 산업용 로봇의 경우 동일한 동작을 반복하여 긴 시간 구동되더라도 중첩량에 따라 결정된 속도 프로파일의 차수로 다수의 모션이 중첩되어 중첩 모션을 보다 효율적으로 사용할 수 있다.According to the proposed speed profile generation method, when driving the robot joint using the superimposed motion, the starting point of the superimposition depends on the polynomial order of the speed profile. By determining the order, the cycle time of the process can be shortened by advancing the start of the overlap. Accordingly, in the case of an industrial robot, even if the same operation is repeated for a long time, a plurality of motions are superimposed on the order of the speed profile determined according to the overlapping amount, so that the overlapping motion can be used more efficiently.

도 1은 본 발명의 실시예에 의한 로봇의 머니퓰레이터를 나타낸 개략도이다.
도 2는 본 발명의 실시예에 의한 모터의 속도 프로파일을 생성하기 위한 모터 속도 제어 장치의 블록 구성도이다.
도 3은 본 발명의 실시예에 의한 모터 속도 제어 장치에서 사용자로부터 입력된 정보에 따라 생성된 속도 프로파일을 나타낸 도면이다.
도 4는 본 발명의 실시예에 의한 모터 속도 제어 장치에서 설정된 중첩량에 따라 생성된 중첩 모션의 일례를 나타낸 도면이다.
도 5는 본 발명의 실시예에 의한 모터 속도 제어 장치에서 중첩 모션의 시작시점을 앞당기기 위한 속도 프로파일의 생성 방법을 나타낸 동작 순서도이다.
도 6은 본 발명의 실시예에 의한 모터 속도 제어 장치에서 속도 프로파일의 다항식 차수에 따른 중첩 모션 시작시점의 차이를 나타낸 제1도면이다.
도 7은 본 발명의 실시예에 의한 모터 속도 제어 장치에서 속도 프로파일의 다항식 차수에 따른 중첩 모션 시작시점의 차이를 나타낸 제2도면이다.
도 8은 본 발명의 실시예에 의한 모터 속도 제어 장치에서 저차 다항식의 속도 프로파일에 의해 모션이 중첩되는 경우를 나타낸 도면이다.
도 9는 본 발명의 실시예에 의한 모터 속도 제어 장치에서 고차 다항식의 속도 프로파일에 의해 모션이 중첩되는 경우를 나타낸 도면이다.
1 is a schematic view showing a manipulator of a robot according to an embodiment of the present invention.
2 is a block diagram of a motor speed control apparatus for generating a speed profile of a motor according to an embodiment of the present invention.
3 is a view showing a speed profile generated according to the information input from the user in the motor speed control apparatus according to an embodiment of the present invention.
4 is a view showing an example of the overlapping motion generated according to the overlapping amount set in the motor speed control apparatus according to the embodiment of the present invention.
FIG. 5 is a flowchart illustrating a method of generating a speed profile for advancing a start time of an overlapping motion in a motor speed control apparatus according to an exemplary embodiment of the present invention.
FIG. 6 is a first diagram illustrating a difference in superimposed motion start time according to a polynomial order of a speed profile in a motor speed control apparatus according to an exemplary embodiment of the present invention.
FIG. 7 is a second diagram illustrating a difference between overlapping motion start points according to a polynomial order of a speed profile in a motor speed control apparatus according to an exemplary embodiment of the present invention.
8 is a diagram illustrating a case where motion is superimposed by a speed profile of a lower polynomial in the motor speed control apparatus according to an exemplary embodiment of the present invention.
FIG. 9 is a diagram illustrating a case where motion is superimposed by a speed profile of a higher order polynomial in a motor speed control apparatus according to an exemplary embodiment of the present invention.

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

도 1은 본 발명의 실시예에 의한 로봇의 머니퓰레이터를 나타낸 개략도이다.1 is a schematic view showing a manipulator of a robot according to an embodiment of the present invention.

도 1에서, 본 발명의 실시예에 의한 로봇의 머니퓰레이터(10)는 작업 대상물을 3차원 공간에서 이동시키거나 요구되는 작업을 수행하는 기계적인 부분으로, 머니퓰레이터(10)을 지탱하기 위한 중심대인 베이스(12)와, 관절(14; joint)로 연결되는 여러 개의 링크(16; link)와, 각 관절(14)에 설치되고 감속기를 이용하여 관절(14)에 접속되는 모터(20)를 구비한다.In FIG. 1, the robot manipulator 10 according to an embodiment of the present invention is a mechanical part for moving a work object in a three-dimensional space or performing a required task, and is a base for supporting the manipulator 10. 12, a plurality of links 16 connected by joints 14, and a motor 20 installed at each joint 14 and connected to the joint 14 by using a reducer. .

모터(20)는 속도 프로파일(velocity profile)에 따라 각각의 축이 적절한 속도 및 가감속도로 구동된다.The motor 20 drives each axis at an appropriate speed and acceleration / deceleration according to the velocity profile.

속도 프로파일이란 모터(20)를 구동하기 위하여 매 제어주기마다 이동해야 하는 모터(20)의 이동량을 나타내는 것으로, 모터(20)는 이 값을 적분하여 매 제어주기마다 자신의 이동 위치를 지령받아 구동된다.The speed profile represents the amount of movement of the motor 20 that must move every control cycle in order to drive the motor 20. The motor 20 integrates this value and drives its own movement position for every control cycle. do.

또한, 머니퓰레이터(10)의 선단에는 작업 대상물을 잡는 그리퍼, 작업 대상물을 도장하는데 사용하는 스프레이 건, 스폿 용접의 전극 접점, 용접의 용접 토치, 드릴, 그라인더, 절단용 워터 제트 등 인간의 손에 해당하는 엔드 이펙터(18; end effector)가 마련되어 있다.In addition, the tip of the manipulator 10 corresponds to a human hand such as a gripper for holding a work object, a spray gun for painting a work object, an electrode contact for spot welding, a welding torch for welding, a drill, a grinder, and a water jet for cutting. An end effector 18 is provided.

한편, 본 발명의 실시예에서는 로봇의 머니퓰레이터(10)를 예로 들어 설명하였으나, 본 발명은 이에 한정되지 않고 복수의 관절(14)을 가지는 모든 로봇에 적용 가능하며, 로봇 이외에도 모터(20)에 의해 구동되는 모든 기계 장치에서 적용 가능함은 물론이다.Meanwhile, in the embodiment of the present invention, the robot manipulator 10 is described as an example. However, the present invention is not limited thereto, and the present invention is applicable to all robots having a plurality of joints 14, and by the motor 20 in addition to the robot. Of course, it is applicable to all driven machinery.

도 2는 본 발명의 실시예에 의한 모터의 속도 프로파일을 생성하기 위한 모터 속도 제어 장치의 블록 구성도이다.2 is a block diagram of a motor speed control apparatus for generating a speed profile of a motor according to an embodiment of the present invention.

도 2에서, 본 발명의 실시예에 의한 모터 속도 제어 장치(100)는 입력부(110), 모터 제어부(120), 속도 프로파일 생성부(130), 이동량 계산부(140), 모터 구동부(150)를 포함한다.In FIG. 2, the motor speed control apparatus 100 according to the embodiment of the present invention includes an input unit 110, a motor control unit 120, a speed profile generation unit 130, a movement amount calculation unit 140, and a motor driving unit 150. It includes.

모터(20)의 속도 프로파일을 생성하기 위해 전반적인 제어를 수행하는 모터 제어부(120)에는 입력부(110)가 전기적으로 연결된다.The input unit 110 is electrically connected to the motor controller 120 which performs overall control to generate the speed profile of the motor 20.

입력부(110)는 사용자로부터 속도 프로파일의 생성을 위한 속도 프로파일 생성 정보를 입력받는다.The input unit 110 receives speed profile generation information for generating a speed profile from a user.

속도 프로파일 생성 정보는 모터(20)의 위치, 속도, 가속시간 및 감속시간을 포함한다. 또한, 속도 프로파일 생성 정보는 가속시간과 감속시간 대신에 가속도와 감속도를 포함할 수도 있다.The speed profile generation information includes the position, speed, acceleration time and deceleration time of the motor 20. In addition, the speed profile generation information may include acceleration and deceleration instead of acceleration time and deceleration time.

또한, 관절(14)이 다수의 모션으로 구동하는 경우, 입력부(110)는 사용자로부터 다수의 모션을 중첩하기 위한 중첩량을 설정받는다.In addition, when the joint 14 drives in a plurality of motions, the input unit 110 receives a superposition amount for overlapping a plurality of motions from a user.

또한, 모터 제어부(120)에는 속도 프로파일 생성부(130), 이동량 계산부(140) 및 모터 구동부(150)가 전기적으로 연결된다. In addition, the motor controller 120 is electrically connected to the speed profile generator 130, the movement amount calculator 140, and the motor driver 150.

속도 프로파일 생성부(130)는 모터 제어부(120)의 제어신호에 따라 입력부(110)를 통해 입력된 모터(20)의 위치, 속도, 가속시간, 감속시간 등으로부터 사다리꼴의 속도 프로파일을 생성한다.The speed profile generator 130 generates a trapezoidal speed profile from the position, speed, acceleration time, deceleration time, etc. of the motor 20 input through the input unit 110 according to the control signal of the motor controller 120.

속도 프로파일은 로봇의 관절(12)이 시작 위치에서 목표 위치까지 이동하기 위한 모터(20)의 일련의 시간별 속도 값을 나타내는 것으로, 모터(20)는 이렇게 생성된 속도 프로파일을 추종하여 구동된다. 속도 프로파일을 생성하는 방법은 도 3을 참조하여 이후에 설명하기로 한다.The speed profile represents a series of hourly speed values of the motor 20 for moving the joint 12 of the robot from the starting position to the target position, and the motor 20 is driven following the speed profile thus generated. A method of generating a velocity profile will be described later with reference to FIG. 3.

이동량 계산부(140)는 초기 생성된 사다리꼴의 속도 프로파일을 기준으로 하여 모터(20)의 이동량을 계산하는 것으로, 생성된 속도 프로파일의 감속구간에서 감속시간/2 동안 이동하는 모터(20)의 이동량을 구한다.The movement amount calculating unit 140 calculates the movement amount of the motor 20 based on the initially generated trapezoidal speed profile, and the movement amount of the motor 20 moving for the deceleration time / 2 in the deceleration section of the generated speed profile. Obtain

모터 구동부(150)는 모터 제어부(120)의 제어신호에 따라 생성된 속도 프로파일을 이용하여 모터(20)를 구동한다. 이에 따라, 모터(20)는 한 제어주기 동안 생성된 속도 프로파일에 추종하여 구동된다.The motor driver 150 drives the motor 20 by using the speed profile generated according to the control signal of the motor controller 120. Accordingly, the motor 20 is driven following the speed profile generated during one control period.

즉, 모터(20)의 속도가 현재 제어주기에 대응하는 속도 프로파일상의 속도 값에 도달하도록 모터(20)를 구동시킨다.That is, the motor 20 is driven so that the speed of the motor 20 reaches the speed value on the speed profile corresponding to the current control period.

모터 제어부(120)는 입력부(110)를 통해 입력된 위치, 속도, 가속시간, 감속시간 등의 속도 프로파일 생성 정보를 속도 프로파일 생성부(130)에 제공하고, 속도 프로파일 생성부(130)를 통해 속도 프로파일을 생성한다.The motor controller 120 provides speed profile generation information, such as position, speed, acceleration time, and deceleration time, input through the input unit 110 to the speed profile generator 130, and through the speed profile generator 130. Create a velocity profile.

이때, 생성된 속도 프로파일은 입력부(110)을 통해 입력된 목표 위치, 목표 속도, 목표 가속시간, 목표 감속시간을 만족하는 구간별 속도 값들을 나타낸다.In this case, the generated speed profile indicates speed values for each section satisfying a target position, a target speed, a target acceleration time, and a target deceleration time input through the input unit 110.

또한, 모터 제어부(120)는 중첩 모션을 사용하여 관절(14)을 구동하는 경우, 속도 프로파일의 차수(polynomial order)에 따라 중첩 시작시점이 달라진다는 점을 이용하여 설정된 중첩량에 따라 중첩 시작시점을 앞당기도록 속도 프로파일의 차수를 결정한다.In addition, when the motor controller 120 drives the joint 14 using the superimposed motion, the superimposition start time is changed according to the superimposition amount set using the superimposition start point according to the polynomial order of the speed profile. Determine the order of the velocity profile to advance.

이를 위해, 모터 제어부(120)는 매 제어주기마다 이동량 계산부(140)를 통해 구한 모터(20)의 이동량을 사용자에 의해 설정된 중첩량과 비교하여 그 비교 결과에 따라 속도 프로파일의 차수를 결정한다.To this end, the motor controller 120 compares the movement amount of the motor 20 obtained through the movement amount calculation unit 140 with the overlap amount set by the user at every control cycle, and determines the order of the speed profile according to the comparison result. .

즉, 모터 제어부(120)는 초기 생성된 속도 프로파일에서 중첩량을 이용하여 속도 프로파일의 차수를 가변적으로 변경하여 중첩 모션을 보다 효율적으로 사용할 수 있도록 한다.That is, the motor controller 120 may change the order of the speed profile variably by using the overlap amount in the initially generated speed profile to more efficiently use the overlap motion.

또한, 모터 제어부(120)는 변경된 속도 프로파일의 차수에 따라 중첩 시작시점을 앞당겨 모터(20)가 구동되도록 모터 구동부(150)를 제어한다. 즉, 모터(20)의 속도가 변경된 차수의 속도 프로파일에서 현재 제어주기에 해당하는 속도 값에 도달하도록 모터(20)를 구동시킨다.In addition, the motor controller 120 controls the motor driver 150 to drive the motor 20 in advance of the overlap start time according to the order of the changed speed profile. That is, the motor 20 is driven such that the speed of the motor 20 reaches a speed value corresponding to the current control period in the speed profile of the changed order.

도 3은 본 발명의 실시예에 의한 모터 속도 제어 장치에서 사용자로부터 입력된 정보에 따라 생성된 속도 프로파일을 나타낸 도면이다.3 is a view showing a speed profile generated according to the information input from the user in the motor speed control apparatus according to an embodiment of the present invention.

도 3에서, 사용자로부터 입력받은 모터(20)의 위치, 속도, 가속시간 및 감속시간 등의 속도 프로파일 생성 정보에 따라 생성된 사다리꼴의 속도 프로파일은 가?감속 시 일정한 전류를 필요로 하고, 목표위치에 도달하는 시간이 짧아 통상 주로 사용된다.In FIG. 3, the trapezoidal speed profile generated according to the speed profile generation information such as the position, speed, acceleration time and deceleration time of the motor 20 input from the user requires a constant current during acceleration and deceleration, and a target position. Shortly the time to reach is usually used.

생성된 속도 프로파일은 모터(20)의 위치, 속도, 가속시간 및 감속시간에 따라 관절(14)의 모션 전체를 가속구간(Tacc), 등속구간(Tcon), 감속구간(Tdec)으로 구분하여 다항식으로 정의된다.The generated velocity profile divides the entire motion of the joint 14 into an acceleration section (Tacc), a constant velocity section (Tcon), and a deceleration section (Tdec) according to the position, speed, acceleration time, and deceleration time of the motor 20. Is defined.

가속구간(Tacc)과 감속구간(Tdec)를 설정하는 것은, 최고 속도의 값에 따라 모터(20)의 회전이 탈조되지 않도록 하기 위해서 설정하는 것으로 설정값이 매우 중요하다. 가속시간이 너무 길게 되면 정속 운전시간이 짧아지는데 이러한 운전의 경우 모터(20)의 속도가 느리게 된다. 모터(20)의 위치는 면적으로 나타나며, 일반적으로 가?감속시간을 동일하게 설정한다.It is important to set the acceleration section Tacc and the deceleration section Tdec so that the rotation of the motor 20 does not fall out according to the value of the highest speed. If the acceleration time is too long, the constant speed operation time is shortened, but in this case, the speed of the motor 20 becomes slow. The position of the motor 20 is represented by the area, and generally sets the acceleration and deceleration time in the same manner.

모터(20) 운전의 가장 중요한 사항은 모터(20)의 운전 시, 탈조 현상이 생기지 않도록 설정하는 것이 매우 중요하다.The most important matter of the motor 20 operation is very important to set so that no outage phenomenon occurs during the operation of the motor 20.

도 4는 본 발명의 실시예에 의한 모터 속도 제어 장치에서 설정된 중첩량에 따라 생성된 중첩 모션의 일례를 나타낸 도면이다.4 is a view showing an example of the overlapping motion generated according to the overlapping amount set in the motor speed control apparatus according to the embodiment of the present invention.

도 4에서, 관절(14)이 Z축과 θ축의 모션으로 이동하는 경우, 사용자에 의해 설정된 중첩량에 따라 하나의 모션(예를 들어, Z축 또는 θ축의 속도 프로파일)이 완전히 끝나기 전에 다음 모션(예를 들어, θ축 또는 Z축의 속도 프로파일)으로 이동한다.In FIG. 4, when the joint 14 moves in the motion of the Z axis and the θ axis, the next motion is completed before one motion (for example, the velocity profile of the Z axis or the θ axis) is completely finished according to the overlap amount set by the user. (For example, the velocity profile on the θ axis or the Z axis).

이에 따라, 산업용 로봇의 경우 동일한 동작을 반복하여 긴 시간 구동되더라도 중첩량에 따라 다수의 모션(Z축 또는 θ축의 속도 프로파일)이 중첩되어 이동하므로 전체 이동시간이 단축되고, 공정의 사이클 타임(Cycle Time)을 단축할 수 있게 된다.Accordingly, in the case of industrial robots, even though the same operation is repeated for a long time, a plurality of motions (velocity profiles on the Z-axis or θ-axis) overlap and move according to the overlapping amount, thereby shortening the overall moving time and reducing the cycle time of the process (Cycle). Time can be shortened.

도 5는 본 발명의 실시예에 의한 모터 속도 제어 장치에서 중첩 모션의 시작시점을 앞당기기 위한 속도 프로파일의 생성 방법을 나타낸 동작 순서도이고, 도 6은 본 발명의 실시예에 의한 모터 속도 제어 장치에서 속도 프로파일의 다항식 차수에 따른 중첩 모션 시작시점의 차이를 나타낸 제1도면이며, 도 7은 본 발명의 실시예에 의한 모터 속도 제어 장치에서 속도 프로파일의 다항식 차수에 따른 중첩 모션 시작시점의 차이를 나타낸 제2도면이다.FIG. 5 is a flowchart illustrating a method of generating a speed profile for advancing a start point of an overlapping motion in a motor speed control apparatus according to an embodiment of the present invention, and FIG. 6 is a motor speed control apparatus according to an embodiment of the present invention. FIG. 7 is a first view illustrating a difference in overlapping motion starting time according to a polynomial order of a speed profile, and FIG. 7 illustrates a difference in overlapping motion starting time according to a polynomial order of a speed profile in a motor speed control apparatus according to an exemplary embodiment of the present invention. 2nd drawing.

도 5에서, 먼저, 모터 제어부(120)는 입력부(110)를 통해 사용자로부터 모션을 중첩하기 위한 중첩량을 설정받는다(200). 중첩량이란 도 4에 도시한 바와 같이, 하나의 모션이 완전히 끝나기 전에 다음 모션이 수행되도록 중첩 모션의 시작시점을 설정한 양이다. 중첩 시작시점을 앞당길수록 공정의 사이클 타임(Cycle Time)을 단축할 수 있지만, 이 경우 관절(14)의 모션 전체가 안정되게 유지될 수 있는 범위에서 중첩량을 설정해야 한다.In FIG. 5, first, the motor controller 120 receives an overlap amount for overlapping motion from a user through the input unit 110 (200). As shown in FIG. 4, the overlapping amount is a quantity that sets the start point of the overlapping motion so that the next motion is performed before one motion is completely finished. Although the cycle time of the process can be shortened as the overlap start point is advanced, in this case, the overlap amount should be set in a range in which the entire motion of the joint 14 can be kept stable.

또한, 모터 제어부(120)는 사용자로부터 모터(20)의 위치, 속도, 가속시간 및 감속시간 등의 속도 프로파일 생성 정보를 입력받는다(202).In addition, the motor controller 120 receives speed profile generation information such as the position, speed, acceleration time, and deceleration time of the motor 20 from the user (202).

사용자로부터 모터(20)의 위치, 속도, 가속시간, 감속시간 등의 속도 프로파일 생성 정보가 입력되면, 모터 제어부(120)는 속도 프로파일 생성부(130)를 제어하여 모터(20)의 위치, 속도, 가속시간, 감속시간으로부터 사다리꼴의 속도 프로파일을 생성한다(204).When the speed profile generation information such as the position, speed, acceleration time, deceleration time, etc. of the motor 20 is input from the user, the motor controller 120 controls the speed profile generator 130 to control the position, speed of the motor 20. From the acceleration time and the deceleration time, a trapezoidal speed profile is generated (204).

사용자로부터 입력받은 속도 프로파일 생성 정보에 따라 사다리꼴의 속도 프로파일이 생성되면, 이동량 계산부(140)는 생성된 사다리꼴의 속도 프로파일을 기준으로 하여 모터(20)의 이동량을 계산한다(206).When the trapezoidal speed profile is generated according to the speed profile generation information input from the user, the movement amount calculator 140 calculates the movement amount of the motor 20 based on the generated trapezoidal speed profile (206).

모터(20)의 이동량을 계산하는 방법은, 생성된 속도 프로파일의 감속구간에서 감속시간/2 동안 이동하는 모터(20)의 이동량을 구한다.The method of calculating the movement amount of the motor 20 calculates the movement amount of the motor 20 moving for the deceleration time / 2 in the deceleration section of the generated speed profile.

따라서, 모터 제어부(120)는 매 제어주기마다 이동량 계산부(140)를 통해 구한 모터(20)의 이동량을 사용자에 의해 설정된 중첩량과 비교하여, 설정된 중첩량이 모터(20)의 이동량보다 작은가를 판단한다(208).Therefore, the motor controller 120 compares the movement amount of the motor 20 obtained through the movement amount calculation unit 140 with the overlap amount set by the user at every control cycle, and determines whether the set overlap amount is smaller than the movement amount of the motor 20. Determine (208).

단계 208의 판단 결과, 설정된 중첩량이 모터(20)의 이동량보다 작으면 도 6에 도시한 바와 같이, 저차 다항식에 비해 고차 다항식으로 갈수록 중첩 시작시점이 빨라지므로 모터 제어부(120)는 높은 차수의 속도 프로파일을 결정한다(210).As a result of the determination in step 208, if the set overlap amount is smaller than the movement amount of the motor 20, as shown in FIG. 6, the superimposition start point becomes faster as the higher order polynomial becomes higher than the low order polynomial, and thus the motor controller 120 has a higher degree of speed. Determine the profile (210).

한편, 단계 208의 판단 결과, 설정된 중첩량이 모터(20)의 이동량보다 작지 않으면 도 7에 도시한 바와 같이, 고차 다항식에 비해 저차 다항식으로 갈수록 중첩 시작시점이 빨라지므로 모터 제어부(120)는 낮은 차수의 속도 프로파일을 결정한다(212).On the other hand, as a result of the determination in step 208, if the set overlap amount is not smaller than the movement amount of the motor 20, as shown in Figure 7, the superimposition start point is faster toward the lower polynomial than the higher order polynomial, so the motor controller 120 has a lower order Determine the velocity profile of 212.

따라서, 모터 제어부(120)는 변경된 속도 프로파일의 차수에 따라 중첩 시작시점을 앞당겨 모터(20)가 구동되도록 모터 구동부(150)를 제어한다. 모터 구동부(150)는 결정된 차수의 속도 프로파일을 이용하여 모터(20)를 구동시킨다(214).Accordingly, the motor controller 120 controls the motor driver 150 to drive the motor 20 in advance of the overlap start time according to the order of the changed speed profile. The motor driver 150 drives the motor 20 using the determined speed profile (214).

이와 같이, 사용자에 의해 설정된 중첩량과 감속시간 동안 모터(20)의 이동량을 비교하여 속도 프로파일의 차수를 결정함으로써 모든 종류의 모션에 대해서 가장 빠른 중첩 시작시점을 얻어 공정의 사이클 타임을 단축할 수 있게 된다.As such, by comparing the moving amount set by the user with the moving amount of the motor 20 during the deceleration time, the order of the speed profile is determined to obtain the fastest overlap start point for all kinds of motions, thereby reducing the cycle time of the process. Will be.

이외에도, 모터 제어부(120)는 속도 프로파일의 차수를 높일 것인지 낮출 것인지 결정하기 위해 속도 프로파일의 차수를 결정하기 위한 기준량을 아래의 [수학식 1]을 이용하여 구한다.In addition, the motor controller 120 obtains a reference amount for determining the order of the speed profile by using Equation 1 below to determine whether to increase or decrease the order of the speed profile.

[수학식 1][Equation 1]

Figure pat00002
Figure pat00002

[수학식 1]에서, △std는 속도 프로파일 차수 결정을 위한 기준량이고, Tacc는 가속시간이고, V는 속도이다.In Equation 1, Δ std is a reference amount for determining the velocity profile order, T acc is an acceleration time, and V is a speed.

그리고, 모터 제어부(120)는 [수학식 1]을 이용하여 기준량을 설정된 중첩량과 비교하여, 기준량이 설정된 중첩량보다 크면 도 6에 도시한 바와 같이, 저차 다항식에 비해 고차 다항식으로 갈수록 중첩 시작시점이 빨라지므로 모터 제어부(120)는 높은 차수의 속도 프로파일을 결정한다.In addition, the motor controller 120 compares the reference amount with the set overlap amount by using [Equation 1], and when the reference amount is larger than the set overlap amount, as shown in FIG. 6, the superimposition starts as the higher order polynomial becomes higher than the lower polynomial. Since the viewpoint becomes faster, the motor controller 120 determines a higher degree speed profile.

한편, 기준량이 설정된 중첩량보다 작으면 도 7에 도시한 바와 같이, 고차 다항식에 비해 저차 다항식으로 갈수록 중첩 시작시점이 빨라지므로 모터 제어부(120)는 낮은 차수의 속도 프로파일을 결정한다.On the other hand, when the reference amount is smaller than the set overlap amount, as shown in FIG. 7, since the start point of overlap becomes faster as the lower order polynomial becomes higher than the higher order polynomial, the motor controller 120 determines a low order speed profile.

도 8은 본 발명의 실시예에 의한 모터 속도 제어 장치에서 저차 다항식의 속도 프로파일에 의해 모션이 중첩되는 경우를 나타낸 도면이고, 도 9는 본 발명의 실시예에 의한 모터 속도 제어 장치에서 고차 다항식의 속도 프로파일에 의해 모션이 중첩되는 경우를 나타낸 도면이다.FIG. 8 is a view illustrating a case where motion is superimposed by a speed profile of a lower polynomial in the motor speed control apparatus according to an embodiment of the present invention, and FIG. 9 is a diagram of a high order polynomial in the motor speed control apparatus according to an embodiment of the present invention. It is a figure which shows the case where a motion overlaps with a velocity profile.

도 8 및 도 9에서 보듯이, 저차 다항식의 속도 프로파일과 고차 다항식의 속도 프로파일은 전체 이동시간에 큰 차이가 발생함을 알 수 있다.As shown in FIG. 8 and FIG. 9, it can be seen that a large difference occurs in the overall travel time between the velocity profile of the lower order polynomial and the velocity profile of the higher order polynomial.

10 : 로봇 머니퓰레이터 14 : 관절
16 : 링크 18 : 엔드 이펙터
20 : 모터 100 : 모터 속도 제어 장치
110 : 입력부 120 : 모터 제어부
130 : 속도 프로파일 생성부 140 : 이동량 계산부
150 : 모터 구동부
10: robot manipulator 14: joint
16: Link 18: End Effector
20: motor 100: motor speed control device
110: input unit 120: motor control unit
130: speed profile generation unit 140: movement amount calculation unit
150: motor drive unit

Claims (8)

로봇의 관절을 구동하기 위한 모터의 속도 프로파일을 생성하는 방법에 있어서,
상기 관절이 다수의 모션으로 구동하는 경우, 상기 다수의 모션을 중첩하기 위한 중첩량을 설정하고;
사용자로부터 입력받은 속도 프로파일 생성 정보에 따라 상기 모터의 속도 프로파일을 생성하고;
상기 생성된 속도 프로파일에서 상기 모터의 이동량을 구하고;
상기 모터의 이동량을 상기 설정된 중첩량과 비교하여 상기 속도 프로파일의 차수를 결정하는 속도 프로파일 생성 방법.
In the method for generating a speed profile of a motor for driving a joint of a robot,
When the joint is driven in multiple motions, setting an overlapping amount for overlapping the multiple motions;
Generating a speed profile of the motor according to the speed profile generation information received from a user;
Obtaining a movement amount of the motor from the generated speed profile;
And determining the degree of the speed profile by comparing the amount of movement of the motor with the set overlap amount.
제1항에 있어서,
상기 생성된 속도 프로파일은 상기 관절의 모션 전체를 가속구간, 등속구간, 감속구간으로 구분하여 다항식으로 정의된 속도 프로파일 생성 방법.
The method of claim 1,
The generated velocity profile is a velocity profile generation method defined by a polynomial by dividing the entire motion of the joint into an acceleration section, a constant velocity section, and a deceleration section.
제2항에 있어서,
상기 모터의 이동량을 구하는 것은,
상기 생성된 속도 프로파일의 감속구간에서 감속시간/2 동안 이동하는 상기 모터의 이동량을 구하는 속도 프로파일 생성 방법.
The method of claim 2,
Obtaining the movement amount of the motor,
And a speed profile generation method for obtaining a movement amount of the motor moving for the deceleration time / 2 in the deceleration section of the generated speed profile.
제3항에 있어서,
상기 속도 프로파일의 차수를 결정하는 것은,
상기 설정된 중첩량이 상기 모터의 이동량보다 작은 경우, 높은 차수의 속도 프로파일을 사용하여 상기 모션의 중첩 시작시점을 빠르게 하는 속도 프로파일 생성 방법.
The method of claim 3,
Determining the order of the speed profile,
And when the set amount of overlap is smaller than the amount of movement of the motor, using a high degree speed profile to speed up the start of the overlap of the motion.
제3항에 있어서,
상기 속도 프로파일의 차수를 결정하는 것은,
상기 설정된 중첩량이 상기 모터의 이동량보다 큰 경우 낮은 차수의 속도 프로파일을 사용하여 상기 모션의 중첩 시작시점을 빠르게 하는 속도 프로파일 생성 방법.
The method of claim 3,
Determining the order of the speed profile,
If the set amount of overlap is greater than the amount of movement of the motor speed profile generation method to accelerate the start of the overlap of the motion using a low-order speed profile.
제1항에 있어서,
상기 속도 프로파일의 차수를 결정하기 위한 기준량을 아래의 [수학식 1]을 이용하여 구하고;
상기 기준량을 상기 설정된 중첩량과 비교하여 상기 속도 프로파일의 차수를 결정하는 것을 더 포함하는 속도 프로파일 생성 방법.
[수학식 1]
Figure pat00003

[수학식 1]에서, △std는 속도 프로파일 차수 결정을 위한 기준량이고, Tacc는 가속시간이고, V는 속도이다.
The method of claim 1,
A reference amount for determining the order of the velocity profile is obtained using Equation 1 below;
And comparing the reference amount with the set overlap amount to determine the order of the speed profile.
[Equation 1]
Figure pat00003

In Equation 1, Δ std is a reference amount for determining the velocity profile order, T acc is an acceleration time, and V is a speed.
제6항에 있어서,
상기 속도 프로파일의 차수를 결정하는 것은,
상기 기준량이 상기 설정된 중첩량보다 작은 경우, 낮은 차수의 속도 프로파일을 사용하여 상기 모션의 중첩 시작시점을 빠르게 하는 속도 프로파일 생성 방법.
The method of claim 6,
Determining the order of the speed profile,
And when the reference amount is smaller than the set overlap amount, using the low order velocity profile to speed up the start of the overlap of the motion.
제6항에 있어서,
상기 속도 프로파일의 차수를 결정하는 것은,
상기 기준량이 상기 설정된 중첩량보다 큰 경우, 높은 차수의 속도 프로파일을 사용하여 상기 모션의 중첩 시작시점을 빠르게 하는 속도 프로파일 생성 방법.
The method of claim 6,
Determining the order of the speed profile,
If the reference amount is larger than the set overlap amount, the velocity profile generation method for using the higher-order velocity profile to accelerate the start of the overlap of the motion.
KR1020100110345A 2010-11-08 2010-11-08 Method for generating velocity profile KR20120089383A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100110345A KR20120089383A (en) 2010-11-08 2010-11-08 Method for generating velocity profile

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100110345A KR20120089383A (en) 2010-11-08 2010-11-08 Method for generating velocity profile

Publications (1)

Publication Number Publication Date
KR20120089383A true KR20120089383A (en) 2012-08-10

Family

ID=46874163

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100110345A KR20120089383A (en) 2010-11-08 2010-11-08 Method for generating velocity profile

Country Status (1)

Country Link
KR (1) KR20120089383A (en)

Similar Documents

Publication Publication Date Title
JP6285403B2 (en) Cell control device and production system for predicting failure of manufacturing machine
KR100342255B1 (en) motor speed control method for robot
JP2001225288A (en) Method of correcting teaching position of welding robot
KR101749515B1 (en) Apparatus for controlling velocity of motor and method thereof
CN105382840A (en) Method and apparatus for controlling operations of robot
EP3801967A1 (en) Systems for additive manufacturing in a controlled short circuit welding system
JP2017127964A (en) Robot apparatus having learning function
JP2022519185A (en) Industrial robotic equipment with improved touring path generation, and how to operate industrial robotic equipment according to improved touring path
EP2810732B2 (en) Arc welding apparatus, arc welding system, and arc welding method
CN107718017A (en) Method for displaying parameters, medium, control parts of motion and the robot of moving component
EP2810731A2 (en) ARC welding apparatus, ARC welding system, and ARC welding method
JP4498061B2 (en) Welding robot controller
JP2020157402A5 (en)
KR20170084149A (en) Method for weaving welding
EP3628430B1 (en) Welding apparatus and welding method
KR20120089383A (en) Method for generating velocity profile
JP6476635B2 (en) Robot control apparatus and control method
JP2014174842A (en) S-shaped acceleration/deceleration control program, operation control program, recording medium, controller, s-shaped acceleration/deceleration control calculation method, and work operation control system
JP2011212788A (en) Tapping device executing tapping work
JP2011161453A (en) Arc welding method
KR20090107864A (en) Apparatus for generating Velocity Profile, Apparatus for Controlling Motor and Method thereof
JP7162178B2 (en) ARC WELDING METHOD, ARC WELDING SYSTEM AND WELDING POWER SUPPLY CONTROL DEVICE
JP2018120481A (en) Numerical control device
KR100762364B1 (en) Method for Optimizing Weld Robot Path for Continuous Welding
JP2007286727A (en) Motor control device

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination