KR20120089383A - Method for generating velocity profile - Google Patents
Method for generating velocity profile Download PDFInfo
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1651—Programme controls characterised by the control loop acceleration, rate control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
Description
로봇의 관절을 구동하기 위한 모터의 속도 프로파일을 생성하는 속도 프로파일 생성 방법에 관한 것이다.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]
[수학식 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
모터(20)는 속도 프로파일(velocity profile)에 따라 각각의 축이 적절한 속도 및 가감속도로 구동된다.The
속도 프로파일이란 모터(20)를 구동하기 위하여 매 제어주기마다 이동해야 하는 모터(20)의 이동량을 나타내는 것으로, 모터(20)는 이 값을 적분하여 매 제어주기마다 자신의 이동 위치를 지령받아 구동된다.The speed profile represents the amount of movement of the
또한, 머니퓰레이터(10)의 선단에는 작업 대상물을 잡는 그리퍼, 작업 대상물을 도장하는데 사용하는 스프레이 건, 스폿 용접의 전극 접점, 용접의 용접 토치, 드릴, 그라인더, 절단용 워터 제트 등 인간의 손에 해당하는 엔드 이펙터(18; end effector)가 마련되어 있다.In addition, the tip of the
한편, 본 발명의 실시예에서는 로봇의 머니퓰레이터(10)를 예로 들어 설명하였으나, 본 발명은 이에 한정되지 않고 복수의 관절(14)을 가지는 모든 로봇에 적용 가능하며, 로봇 이외에도 모터(20)에 의해 구동되는 모든 기계 장치에서 적용 가능함은 물론이다.Meanwhile, in the embodiment of the present invention, the
도 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
모터(20)의 속도 프로파일을 생성하기 위해 전반적인 제어를 수행하는 모터 제어부(120)에는 입력부(110)가 전기적으로 연결된다.The
입력부(110)는 사용자로부터 속도 프로파일의 생성을 위한 속도 프로파일 생성 정보를 입력받는다.The
속도 프로파일 생성 정보는 모터(20)의 위치, 속도, 가속시간 및 감속시간을 포함한다. 또한, 속도 프로파일 생성 정보는 가속시간과 감속시간 대신에 가속도와 감속도를 포함할 수도 있다.The speed profile generation information includes the position, speed, acceleration time and deceleration time of the
또한, 관절(14)이 다수의 모션으로 구동하는 경우, 입력부(110)는 사용자로부터 다수의 모션을 중첩하기 위한 중첩량을 설정받는다.In addition, when the joint 14 drives in a plurality of motions, the
또한, 모터 제어부(120)에는 속도 프로파일 생성부(130), 이동량 계산부(140) 및 모터 구동부(150)가 전기적으로 연결된다. In addition, the
속도 프로파일 생성부(130)는 모터 제어부(120)의 제어신호에 따라 입력부(110)를 통해 입력된 모터(20)의 위치, 속도, 가속시간, 감속시간 등으로부터 사다리꼴의 속도 프로파일을 생성한다.The
속도 프로파일은 로봇의 관절(12)이 시작 위치에서 목표 위치까지 이동하기 위한 모터(20)의 일련의 시간별 속도 값을 나타내는 것으로, 모터(20)는 이렇게 생성된 속도 프로파일을 추종하여 구동된다. 속도 프로파일을 생성하는 방법은 도 3을 참조하여 이후에 설명하기로 한다.The speed profile represents a series of hourly speed values of the
이동량 계산부(140)는 초기 생성된 사다리꼴의 속도 프로파일을 기준으로 하여 모터(20)의 이동량을 계산하는 것으로, 생성된 속도 프로파일의 감속구간에서 감속시간/2 동안 이동하는 모터(20)의 이동량을 구한다.The movement
모터 구동부(150)는 모터 제어부(120)의 제어신호에 따라 생성된 속도 프로파일을 이용하여 모터(20)를 구동한다. 이에 따라, 모터(20)는 한 제어주기 동안 생성된 속도 프로파일에 추종하여 구동된다.The
즉, 모터(20)의 속도가 현재 제어주기에 대응하는 속도 프로파일상의 속도 값에 도달하도록 모터(20)를 구동시킨다.That is, the
모터 제어부(120)는 입력부(110)를 통해 입력된 위치, 속도, 가속시간, 감속시간 등의 속도 프로파일 생성 정보를 속도 프로파일 생성부(130)에 제공하고, 속도 프로파일 생성부(130)를 통해 속도 프로파일을 생성한다.The
이때, 생성된 속도 프로파일은 입력부(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
또한, 모터 제어부(120)는 중첩 모션을 사용하여 관절(14)을 구동하는 경우, 속도 프로파일의 차수(polynomial order)에 따라 중첩 시작시점이 달라진다는 점을 이용하여 설정된 중첩량에 따라 중첩 시작시점을 앞당기도록 속도 프로파일의 차수를 결정한다.In addition, when the
이를 위해, 모터 제어부(120)는 매 제어주기마다 이동량 계산부(140)를 통해 구한 모터(20)의 이동량을 사용자에 의해 설정된 중첩량과 비교하여 그 비교 결과에 따라 속도 프로파일의 차수를 결정한다.To this end, the
즉, 모터 제어부(120)는 초기 생성된 속도 프로파일에서 중첩량을 이용하여 속도 프로파일의 차수를 가변적으로 변경하여 중첩 모션을 보다 효율적으로 사용할 수 있도록 한다.That is, the
또한, 모터 제어부(120)는 변경된 속도 프로파일의 차수에 따라 중첩 시작시점을 앞당겨 모터(20)가 구동되도록 모터 구동부(150)를 제어한다. 즉, 모터(20)의 속도가 변경된 차수의 속도 프로파일에서 현재 제어주기에 해당하는 속도 값에 도달하도록 모터(20)를 구동시킨다.In addition, the
도 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
생성된 속도 프로파일은 모터(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
가속구간(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
모터(20) 운전의 가장 중요한 사항은 모터(20)의 운전 시, 탈조 현상이 생기지 않도록 설정하는 것이 매우 중요하다.The most important matter of the
도 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
또한, 모터 제어부(120)는 사용자로부터 모터(20)의 위치, 속도, 가속시간 및 감속시간 등의 속도 프로파일 생성 정보를 입력받는다(202).In addition, the
사용자로부터 모터(20)의 위치, 속도, 가속시간, 감속시간 등의 속도 프로파일 생성 정보가 입력되면, 모터 제어부(120)는 속도 프로파일 생성부(130)를 제어하여 모터(20)의 위치, 속도, 가속시간, 감속시간으로부터 사다리꼴의 속도 프로파일을 생성한다(204).When the speed profile generation information such as the position, speed, acceleration time, deceleration time, etc. of the
사용자로부터 입력받은 속도 프로파일 생성 정보에 따라 사다리꼴의 속도 프로파일이 생성되면, 이동량 계산부(140)는 생성된 사다리꼴의 속도 프로파일을 기준으로 하여 모터(20)의 이동량을 계산한다(206).When the trapezoidal speed profile is generated according to the speed profile generation information input from the user, the
모터(20)의 이동량을 계산하는 방법은, 생성된 속도 프로파일의 감속구간에서 감속시간/2 동안 이동하는 모터(20)의 이동량을 구한다.The method of calculating the movement amount of the
따라서, 모터 제어부(120)는 매 제어주기마다 이동량 계산부(140)를 통해 구한 모터(20)의 이동량을 사용자에 의해 설정된 중첩량과 비교하여, 설정된 중첩량이 모터(20)의 이동량보다 작은가를 판단한다(208).Therefore, the
단계 208의 판단 결과, 설정된 중첩량이 모터(20)의 이동량보다 작으면 도 6에 도시한 바와 같이, 저차 다항식에 비해 고차 다항식으로 갈수록 중첩 시작시점이 빨라지므로 모터 제어부(120)는 높은 차수의 속도 프로파일을 결정한다(210).As a result of the determination in
한편, 단계 208의 판단 결과, 설정된 중첩량이 모터(20)의 이동량보다 작지 않으면 도 7에 도시한 바와 같이, 고차 다항식에 비해 저차 다항식으로 갈수록 중첩 시작시점이 빨라지므로 모터 제어부(120)는 낮은 차수의 속도 프로파일을 결정한다(212).On the other hand, as a result of the determination in
따라서, 모터 제어부(120)는 변경된 속도 프로파일의 차수에 따라 중첩 시작시점을 앞당겨 모터(20)가 구동되도록 모터 구동부(150)를 제어한다. 모터 구동부(150)는 결정된 차수의 속도 프로파일을 이용하여 모터(20)를 구동시킨다(214).Accordingly, the
이와 같이, 사용자에 의해 설정된 중첩량과 감속시간 동안 모터(20)의 이동량을 비교하여 속도 프로파일의 차수를 결정함으로써 모든 종류의 모션에 대해서 가장 빠른 중첩 시작시점을 얻어 공정의 사이클 타임을 단축할 수 있게 된다.As such, by comparing the moving amount set by the user with the moving amount of the
이외에도, 모터 제어부(120)는 속도 프로파일의 차수를 높일 것인지 낮출 것인지 결정하기 위해 속도 프로파일의 차수를 결정하기 위한 기준량을 아래의 [수학식 1]을 이용하여 구한다.In addition, the
[수학식 1][Equation 1]
[수학식 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
한편, 기준량이 설정된 중첩량보다 작으면 도 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
도 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.
상기 생성된 속도 프로파일은 상기 관절의 모션 전체를 가속구간, 등속구간, 감속구간으로 구분하여 다항식으로 정의된 속도 프로파일 생성 방법.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 동안 이동하는 상기 모터의 이동량을 구하는 속도 프로파일 생성 방법.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.
상기 속도 프로파일의 차수를 결정하는 것은,
상기 설정된 중첩량이 상기 모터의 이동량보다 작은 경우, 높은 차수의 속도 프로파일을 사용하여 상기 모션의 중첩 시작시점을 빠르게 하는 속도 프로파일 생성 방법.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.
상기 속도 프로파일의 차수를 결정하는 것은,
상기 설정된 중첩량이 상기 모터의 이동량보다 큰 경우 낮은 차수의 속도 프로파일을 사용하여 상기 모션의 중첩 시작시점을 빠르게 하는 속도 프로파일 생성 방법.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]에서, △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]
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.
상기 속도 프로파일의 차수를 결정하는 것은,
상기 기준량이 상기 설정된 중첩량보다 작은 경우, 낮은 차수의 속도 프로파일을 사용하여 상기 모션의 중첩 시작시점을 빠르게 하는 속도 프로파일 생성 방법.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.
상기 속도 프로파일의 차수를 결정하는 것은,
상기 기준량이 상기 설정된 중첩량보다 큰 경우, 높은 차수의 속도 프로파일을 사용하여 상기 모션의 중첩 시작시점을 빠르게 하는 속도 프로파일 생성 방법.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.
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) |
-
2010
- 2010-11-08 KR KR1020100110345A patent/KR20120089383A/en not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
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 | |
CN104227188B (en) | Arc-welding apparatus, arc welding system and arc-welding method | |
CN105382840A (en) | Method and apparatus for controlling operations of robot | |
JP2017127964A (en) | Robot apparatus having learning function | |
WO2019232308A1 (en) | Systems for additive manufacturing in a controlled short circuit welding system | |
JP2022519185A (en) | Industrial robotic equipment with improved touring path generation, and how to operate industrial robotic equipment according to improved touring path | |
JP2020157402A5 (en) | ||
EP2810732B2 (en) | Arc welding apparatus, arc welding system, and arc welding method | |
JP2009082945A (en) | Method for controlling arc welding robot system, and arc welding robot system | |
KR101949066B1 (en) | Method for weaving welding | |
EP2810731A2 (en) | ARC welding apparatus, ARC welding system, and ARC welding method | |
EP3628430B1 (en) | Welding apparatus and welding method | |
KR20120089383A (en) | Method for generating velocity profile | |
JP6476635B2 (en) | Robot control apparatus and control method | |
JP2009262275A (en) | Robot control apparatus | |
JP2011212788A (en) | Tapping device executing tapping work | |
JP2011161453A (en) | Arc welding method | |
JP6814441B2 (en) | Learning control device and learning control method for drive machines | |
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 | |
JP2010012544A (en) | Robot control method and robot control device | |
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 | |
KR100762364B1 (en) | Method for Optimizing Weld Robot Path for Continuous Welding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |