KR20180082115A - S-커브를 이용한 모션 프로파일 생성 방법 및 컴퓨팅 장치 - Google Patents
S-커브를 이용한 모션 프로파일 생성 방법 및 컴퓨팅 장치 Download PDFInfo
- Publication number
- KR20180082115A KR20180082115A KR1020170003404A KR20170003404A KR20180082115A KR 20180082115 A KR20180082115 A KR 20180082115A KR 1020170003404 A KR1020170003404 A KR 1020170003404A KR 20170003404 A KR20170003404 A KR 20170003404A KR 20180082115 A KR20180082115 A KR 20180082115A
- Authority
- KR
- South Korea
- Prior art keywords
- section
- motion
- time
- velocity
- motion profile
- Prior art date
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 112
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000001133 acceleration Effects 0.000 claims abstract description 61
- 230000036461 convulsion Effects 0.000 claims abstract description 32
- 238000007781 pre-processing Methods 0.000 claims description 15
- 238000005457 optimization Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/19—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
-
- 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
-
- 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/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P31/00—Arrangements for regulating or controlling electric motors not provided for in groups H02P1/00 - H02P5/00, H02P7/00 or H02P21/00 - H02P29/00
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34095—Look ahead segment calculation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35585—Motion command profile
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40395—Compose movement with primitive movement segments from database
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Power Engineering (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
본 실시예는 S-커브를 이용한 모션 프로파일 생성 방법 및 이를 위한 컴퓨팅 장치를 개시한다.
본 발명의 일 실시예에 따른 S-커브를 이용한 모션 프로파일 생성 방법은, 하나 이상의 제한 조건 하에서, 가속구간, 최대 가속구간, 최대 속도구간, 감속구간 및 최대 감속구간 각각의 시간을 산출하는 단계; 상기 산출된 시간 및 저크를 구간별 정의된 다항식에 적용하여 모션 프로파일을 생성하는 단계; 및 이전 모션의 최종 속도를 다음 모션의 초기속도로 하는 둘 이상의 모션 프로파일이 연속된 중첩 모션 프로파일을 생성하는 단계;를 포함한다.
본 발명의 일 실시예에 따른 S-커브를 이용한 모션 프로파일 생성 방법은, 하나 이상의 제한 조건 하에서, 가속구간, 최대 가속구간, 최대 속도구간, 감속구간 및 최대 감속구간 각각의 시간을 산출하는 단계; 상기 산출된 시간 및 저크를 구간별 정의된 다항식에 적용하여 모션 프로파일을 생성하는 단계; 및 이전 모션의 최종 속도를 다음 모션의 초기속도로 하는 둘 이상의 모션 프로파일이 연속된 중첩 모션 프로파일을 생성하는 단계;를 포함한다.
Description
본 실시예는 S-커브를 이용한 모션 프로파일 생성 방법 및 이를 위한 컴퓨팅 장치에 관한 것이다.
최근 자동차, 반도체 산업을 중심으로 소형, 정밀조립 및 가공공정분야에 제조용 로봇의 도입이 활발하게 이루어지고 있다. 로봇의 관절에 장착되는 들어가는 모터 제어에서는 point to point 모션을 생성하기 위해서 사다리꼴 혹은 저크(jerk) 값을 제한하는 S-커브 속도 프로파일을 기준 신호(reference signal)로 사용한다. 생성되는 프로파일에 따라 로봇의 이동 시간 및 움직이는 패턴이 결정되므로 고속 저 진동 모션을 위한 프로파일 생성이 중요하다.
본 발명의 실시예는 임의의 제한된 저크 값을 가지며, 임의의 상수를 초기 속도 및 종료 속도로 하는 비대칭의 속도 프로파일 생성하고, 2개 이상의 모션을 중첩시키는 모션 프로파일 생성 방법을 제공한다.
본 발명의 일 실시예에 따른 S-커브를 이용한 모션 프로파일 생성 방법은, 하나 이상의 제한 조건 하에서, 가속구간, 최대 가속구간, 최대 속도구간, 감속구간 및 최대 감속구간 각각의 시간을 산출하는 단계; 상기 산출된 시간 및 저크를 구간별 정의된 다항식에 적용하여 모션 프로파일을 생성하는 단계; 및 이전 모션의 최종 속도를 다음 모션의 초기속도로 하는 둘 이상의 모션 프로파일이 연속된 중첩 모션 프로파일을 생성하는 단계;를 포함한다.
상기 초기속도 및 상기 최종 속도는 임의의 상수일 수 있다.
상기 시간 산출 단계는, 목표위치까지의 이동거리와 제1 임계거리 및 상기 제1 임계거리보다 긴 제2 임계거리와 비교 결과에 따라 대응하는 다항식에 의해 각 구간의 시간을 산출하는 단계;를 포함할 수 있다.
상기 시간 산출 단계는, 상기 각 구간의 시간을 파라미터로 하는 목적함수를 최소로 하는 해를 찾는 비선형 프로그램 기법에 의해 각 구간의 시간을 산출하는 단계;를 포함할 수 있다.
본 발명의 일 실시예에 따른 컴퓨팅 장치는, 하나 이상의 제한 조건 하에서, 가속구간, 최대 가속구간, 최대 속도구간, 감속구간 및 최대 감속구간 각각의 시간을 산출하는 전처리부; 및 상기 산출된 시간 및 저크를 구간별 정의된 다항식에 적용하여 모션 프로파일을 생성하고, 이전 모션의 최종 속도를 다음 모션의 초기속도로 하는 둘 이상의 모션 프로파일이 연속된 중첩 모션 프로파일을 생성하는 프로파일 생성부;를 포함한다.
상기 초기속도 및 상기 최종 속도는 임의의 상수일 수 있다.
본 실시예에 의해 제한 조건을 만족하면서 최적 시간으로 이동할 수 있는 모션 프로파일을 생성할 수 있다.
도 1은 본 발명의 일 실시예에 따른 모션 프로파일을 생성하는 컴퓨팅 장치를 도시한다.
도 2는 본 발명의 일 실시예에 따라 생성된 위치 프로파일(a), 속도 프로파일(b) 및 가속도 프로파일(c)의 예이다.
도 3은 본 발명의 일 실시예에 따른 임계거리와 목표위치의 비교에 의한 구간별 시간 산출에 의해 모션 프로파일을 생성한 예이다.
도 4는 본 발명의 일 실시예에 따른 비선형 프로그래밍에 의한 구간별 시간 산출에 의해 모션 프로파일을 생성한 예이다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 모션 프로파일 생성 방법을 개략적으로 설명하는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 2개의 모션 프로파일을 중첩한 중첩 모션 프로파일의 예이다.
도 2는 본 발명의 일 실시예에 따라 생성된 위치 프로파일(a), 속도 프로파일(b) 및 가속도 프로파일(c)의 예이다.
도 3은 본 발명의 일 실시예에 따른 임계거리와 목표위치의 비교에 의한 구간별 시간 산출에 의해 모션 프로파일을 생성한 예이다.
도 4는 본 발명의 일 실시예에 따른 비선형 프로그래밍에 의한 구간별 시간 산출에 의해 모션 프로파일을 생성한 예이다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 모션 프로파일 생성 방법을 개략적으로 설명하는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 2개의 모션 프로파일을 중첩한 중첩 모션 프로파일의 예이다.
이하, 첨부된 도면을 참조하여 바람직한 실시예에 따른 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 모션 프로파일을 생성하는 컴퓨팅 장치를 도시한다.
도 1을 참조하면, 컴퓨팅 장치(10)는 모터 등을 제어하기 위한 모션 프로파일을 생성할 수 있다. 컴퓨팅 장치(10)는 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 컴퓨팅 장치(10)는 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다.
컴퓨팅 장치(10)는 전처리부(20) 및 프로파일 생성부(40)를 포함할 수 있다. 컴퓨팅 장치(10)는 디스플레이(60) 및 입력장치(80)와 유선 또는 무선으로 연결될 수 있다.
전처리부(20)는 모션 프로파일의 구간별 최적 시간을 산출할 수 있다. 구간별 시간 산출 방법의 상세한 설명은 후술한다. 최적 시간은 구간의 이동거리를 최소로 하는 최소 시간일 수 있다.
프로파일 생성부(40)는 구간별로 정의된 다항식을 이용하여 모션 프로파일을 생성할 수 있다. 모션 프로파일은 위치 프로파일, 속도 프로파일 및 가속도 프로파일을 포함할 수 있다.
프로파일 생성부(40)는 각 구간의 최적 시간이 산출되면, 각 구간에 정의된 다항식에 시간 및 저크를 적용하여 각 구간의 가속도, 속도 및 위치를 산출할 수 있다. 일 실시예에서 프로파일 생성부(40)는 저크를 적분하여 가속도를 산출하고, 가속도를 적분하여 속도를 산출하고, 속도를 적분하여 위치를 산출할 수 있다.
프로파일 생성부(40)는 둘 이상의 모션을 잇는 중첩 모션 프로파일을 생성할 수 있다. 프로파일 생성부(40)는 중첩 모션 프로파일을 생성하기 위해 이전 모션의 최종 속도(Vf)를 다음 모션의 초기 속도(Vi)로 설정한다. 최종 속도(Vf) 및 초기 속도(Vi)는 임의의 상수일 수 있다. 상수는 0을 포함할 수 있다.
기존의 사다리꼴 혹은 S-커브 속도 프로파일은 가속시간과 감속시간이 상이한 비대칭 속도프로파일을 생성할 수 있지만, 출발지점과 도착지점의 속도를 0으로 제한하기 때문에 연속된 모션을 만들기 위해서 이전 모션의 종료(속도: 0) 이후에 다음 모션을 생성해야 한다.
본 발명의 실시예는 초기 속도와 종료 속도를 임의의 상수로 제한하는 구속 조건을 포함한 모션 프로파일을 생성하고, 정지 모션 없이 두 개의 모션 프로파일을 중첩시킴으로써 오퍼레이션 시간을 단축시키고 생산성을 높일 수 있다.
디스플레이(60)는 컴퓨팅 장치(10)와 유선 또는 무선으로 연결되어 컴퓨팅 장치(10)로부터 출력되는 영상을 신호 처리하여 사용자에게 제공할 수 있다. 디스플레이(50)는 액정 디스플레이 패널(LCD), 유기 발광 디스플레이 패널(OLED), 전기 영동 디스플레이 패널(EPD) 등으로 이루어질 수 있다. 디스플레이(60)는 사용자의 터치를 통하여 입력을 받을 수 있도록 터치스크린 형태로 구비되어, 사용자 입력 인터페이스로서 동작할 수 있다.
입력장치(80)는 컴퓨팅 장치(10)와 유선 또는 무선으로 연결되어 컴퓨팅 장치(10)의 제어를 위한 입력 데이터를 발생시킨다. 입력장치(80)는 키 패드(key pad), 돔 스위치(dome switch), 터치 패드, 마우스, 리모컨, 조그 휠, 조그 스위치 등으로 구성될 수 있다.
도 2는 본 발명의 일 실시예에 따라 생성된 위치 프로파일(a), 속도 프로파일(b) 및 가속도 프로파일(c)의 예이다.
본 발명의 일 실시예에 따른 모션 프로파일은 임의의 초기 속도로부터 최대 속도까지 가속하는 가속단계, 가속단계와 연속하여 이어지는 등속단계, 등속단계와 연속하여 임의의 최종 속도까지 감속하는 감속단계를 포함할 수 있다.
모션 프로파일의 시작부터 종료까지 전 구간을 T0~T7의 7개의 구간으로 구분할 수 있다. 여기서, T0~T3 구간은 가속단계에 대응하고, T3~T4 구간은 등속단계에 대응하고, T4~T7 구간은 감속단계에 대응한다.
가속단계는 T0~T1 및 T2~T3 구간을 포함하는 가속구간과 최대 가속도로 동작하는 T1~T2 구간인 최대 가속구간으로 구분할 수 있다. 등속단계는 최대 속도로 등속 동작하는 T3~T4 구간인 최대 속도구간을 포함할 수 있다. 감속단계는 T4~T5 및 T6~T7 구간을 포함하는 감속구간과 최대 감속도로 동작하는 T5~T6 구간인 최대 감속구간으로 구분할 수 있다. 속도 프로파일(b)에서 볼 수 있듯이, 초기 속도(v(T0)) 및 최종 속도(v(T7))는 0이 아닌 값일 수 있다.
속도 프로파일(b)에서 가속구간의 초기 속도 및 기울기는 감속구간의 최종 속도 및 기울기와 상이할 수 있고, 따라서 비대칭 S-커브 속도 프로파일이 생성될 수 있다.
이하, 전처리부(20)의 구간별 시간 산출 방법을 설명한다.
본 발명의 일 실시예에 따른 모션 프로파일의 시간을 산출하기 위한 제한 조건은 하기와 같다.
C1:
P(T0)=0, P(T7)=Pf
V(T0)=Vi, V(T7)=Vf
A(T0)=0, A(T7)=0
제한조건 C1은 출발 위치와 종료 위치의 등가 제약(equality constraints)으로서, 출발 위치는 원점(0)이고, 종료 위치는 목표 위치(Pf)이다. 이동거리는 원점부터 목표 위치까지이므로, 목표 위치가 이동거리가 된다. 출발 위치에서의 초기 속도(Vi)와 종료 위치에서의 최종 속도(Vf)는 각각 임의의 상수일 수 있다. 임의의 상수는 0을 포함할 수 있다. 출발 위치와 종료 위치에서의 가속도는 0이다.
C2:
sign(Pf)=sign(Vi)=sign(Vf)
sign(a)=1, a>1
sign(a)=0, a=0
sign(a)=-1 a<0
제한조건 C2는 속도 값은 속도 0을 교차(cross-over)하지 않는다는 제약이다. 즉, 가속구간 및 감속구간 각각에서 속도는 음의 값에서 양의 값으로 또는 양의 값에서 음의 값으로 변하지 않고, 음의 값 또는 양의 값을 갖는다.
C3:
│j(t=T0~T3)│≤Ja
│j(t=T4~T7)│≤Jd
│a(t=T0~T3)│≤Am
│a(t=T4~T7)│≤Dm
│v(t=T0~T7)│≤Vm
제한조건 C3은 임의의 시점(T0≤t≤T7)에서 저크(j, jerk), 가속도(a), 속도(v)가 임의의 한계 값 이내에 있다는 제약이다. 가속단계에서 저크는 제1 저크 한계값(Ja) 이하이고, 가속도는 최대 가속도(Am) 이하이다. 감속단계에서 저크는 제2 한계값(Jd) 이하이고, 감속도는 최대 감속도(Dm) 이하이다. 전 구간에서 속도는 최대 속도(Vm) 이하이다.
제1 저크 한계값(Ja) 및 제2 저크 한계값(Jd)은 각각 하기 식 (1) 및 식 (2)에 의해 결정될 수 있다.
여기서, β는 사용자에 의해 설정된 상수로서, 모션 프로파일의 스무스한 정도(smoothness)를 나타낼 수 있으며, 0보다 크고 1 이하의 값으로 설정될 수 있다. β에 의해 가속구간과 감속구간의 시간이 비대칭인 S-커브 속도 프로파일을 생성할 수 있다.
제1 저크 한계값(Ja)은 최대 가속도(Am), 최대 속도(Vm), 최종 속도(Vf) 및 βa에 의해 산출될 수 있다. 제2 저크 한계값(Jd)은 최대 감속도(Dm), 최대 속도(Vm), 최종 속도(Vf) 및 βd에 의해 산출될 수 있다.
모션 프로파일은 시간 및 이동거리에 의존하므로, 본 발명의 실시예에 따른 모션 프로파일 생성 방법은 이동거리에 따라 크게 단거리(short distance), 중거리(medium distace), 장거리(long distance)의 3가지 케이스로 구분한다.
단거리는 이동거리(Pf)가 짧아 가속도(│a(t)│)와 속도(│v(t)│)는 최대 가속도(Am), 최대 감속도(Dm), 최대 속도(Vm)에 도달하지 못하는 특징이 있다. 중거리의 이동거리(Pf)는 가속도(│a(t)│)가 최대 가속도(Am)와 최대 감속도(Dm)에 도달할 정도이나, 속도(│v(t)│)가 최대 속도(Vm)에 도달하지 못하는 특징이 있다. 장거리의 이동거리(Pf)는 충분히 길어 가속도(│a(t)│)와 속도(│v(t)│)는 최대 가속도(Am), 최대 감속도(Dm), 최대 속도(Vm)에 도달하는 특징이 있다.
전처리부(20)는 이동거리(즉, 목표위치(Pf))를 제1 임계값(Pshort) 및 제2 임계값(Pmedium)과 비교하여, 단거리, 중거리, 장거리 중 이동거리(Pf)가 해당하는 케이스에 따라 정의된 다항식을 이용하여 구간별 시간을 산출할 수 있다.
전처리부(20)는 제1 임계값(Pshort) 및 제2 임계값(Pmedium)을 각각 하기 식 (3) 및 식 (4)에 의해 산출할 수 있다.
전처리부(20)는 이동거리(Pf)가 하기 식 (5)의 조건을 만족하면, 즉, 이동거리(Pf)가 제1 임계값(Pshort) 이하이면(Pf≤Pshort), 이동거리(Pf)가 단거리에 속하는 경우로 판단할 수 있다.
전처리부(20)는 이동거리(Pf)가 식 (5)를 만족하면, 하기 식 (6)과 같이 구간별로 시간을 산출할 수 있다.
... (6)
여기서, Ta는 T1~T2 구간의 시간, Tv는 T3~T4 구간의 시간, Td는 T5~T6 구간의 시간, Tja는 T0~T1 및 T2~T3 구간 각각의 시간, Tjd는 T4~T5 및 T6~T7 구간 각각의 시간을 나타낸다.
단거리 케이스에서, T1~T2 구간, T3~T4 구간 및 T5~T6 구간은 생략되고, T0~T1 구간 및 T2~T3 구간 각각의 시간(Tja)과 T4~T5 구간 및 T6~T7 구간 각각의 시간(Tjd)은 비선형 방정식의 수치해법을 이용하여 산출할 수 있다. 이때 방정식(f1, f2)에 뉴턴법(Newton's Method)을 적용하여 Tja 및 Tjd를 해로서 산출할 수 있다. 비선형 방정식의 수치해법 및 뉴턴법에 의해 해를 구하는 방법은 공지의 방법이므로 상세한 설명은 생략한다.
전처리부(20)는 이동거리(Pf)가 식 (7)을 만족하면, 즉, 이동거리(Pf)가 제1 임계값(Pshort)과 제2 임계값 사이이면(Pshort<Pf≤Pmedium), 이동거리(Pf)가 중거리에 속하는 경우로 판단할 수 있다.
전처리부(20)는 이동거리(Pf)가 식 (7)을 만족하면, 하기 식 (8)과 같이 구간별로 시간을 산출할 수 있다.
... (8)
중거리 케이스에서, T3~T4 구간은 생략되고, T0~T1 구간 및 T2~T3 구간에서 각각 제1 저크 한계값(Ja)의 기울기로 가속하여 최대 가속도(Am)에 도달하는 시간이 산출되고, T4~T5 구간 및 T6~T7 구간에서 각각 제2 저크 한계값(Jd)의 기울기로 가속하여 최대 감속도(Dm)에 도달하는 시간이 산출된다. 이 경우, T0~T1 구간 및 T2~T3 구간 동안의 저크의 면적은 각각 최대 가속도(Am)와 같고, T4~T5 구간 및 T6~T7 구간 동안의 저크의 면적은 각각 최대 감속도(Dm)와 같다. C3의 제한조건에서 |a(t=Tja)| = Am을 만족하는 Tja를 Tja*, 그리고 |a(t=Tjd)| = Dm을 만족하는 Tjd를 Tjd*로 표시한다.
T1~T2 구간 및 T5~T6 구간 각각의 시간은 비선형 방정식의 수치해법을 이용하여 산출할 수 있다. 이때 방정식(f1, f2)에 뉴턴법(Newton's Method)을 적용하여 Ta 및 Td를 해로서 산출할 수 있다.
전처리부(20)는 이동거리(Pf)가 식 (9)를 만족하면, 즉, 제2 임계값(Pmedium)보다 크면(Pf>Pmedium), 이동거리(Pf)가 장거리에 속하는 경우로 판단할 수 있다.
전처리부(20)는 이동거리(Pf)가 식 (9)를 만족하면, 하기 식 (10)과 같이 구간별로 시간을 산출할 수 있다.
... (10)
가속 단계는 최대 가속도까지 가속 구간 및 최대 가속도로 등가속하는 구간, 감속 단계는 최대 감속도로 감속하는 구간 및 최대 감속도로 등감속하는 구간을 포함한다.
장거리 케이스의 경우, 중거리 케이스와 마찬가지로 T0~T1 구간 및 T2~T3 구간에서 각각 제1 저크 한계값(Ja)의 기울기로 가속하여 최대 가속도(Am)에 도달하는 시간이 산출되고, T4~T5 구간 및 T6~T7 구간에서 각각 제2 저크 한계값(Jd)의 기울기로 가속하여 최대 감속도(Dm)에 도달하는 시간이 산출된다. 이 경우, T0~T1 구간 및 T2~T3 구간 동안의 저크의 면적은 각각 최대 가속도(Am)와 같고, T4~T5 구간 및 T6~T7 구간 동안의 저크의 면적은 각각 최대 감속도(Dm)와 같다. C3의 제한조건에서 |a(t=Tja)| = Am을 만족하는 Tja를 Tja*, 그리고 |a(t=Tjd)| = Dm을 만족하는 Tjd를 Tjd*로 표시한다.
그리고, 가속단계의 시간(T0~T3) 및 감속단계의 시간(T4~T7) 동안 가속도 면적은 최대속도와 같다. C3의 제한조건에서 |v(t = Tja + Ta + Tja)| = Vm 을 만족하는 Ta를 Ta*, |v(t = Tjd + Td + Tjd)| = Vm을 만족하는 Td를 Td*로 표시한다.
전처리부(20)는 전술한 바와 같이, 임계거리를 결정하여 목표 위치에 따른 이동거리와 비교하고, 비교 결과에 따라 결정된 케이스에 대응하는 다항식에 의해 구간별로 최적 시간을 산출할 수 있다.
다른 실시예에서, 전처리부(20)는 비선형 프로그래밍(nonlinear programming) 기법을 사용하여 구간별 최적 시간을 산출할 수 있다. 비선형 프로그래밍기법은 식 (11)과 같이 제한된(constrained) 최적화 기법을 이용한다. 제한된 최적화 기법을 이용한 비선형 프로그래밍기법은 공지이므로 상세한 설명은 생략한다.
시간을 최소로 하는 목적함수(f(Tn))는 식 (12)와 같이 integral time-squared를 이용한다.
부등식 제한조건 h(Tn)은 C3와 같이 임의의 한계 값 이내에 있다는 조건이고, 등식 제한조건 g(Tn)은 C1과 같이 각 시간구간의 종료 시점에서 g함수가 0임을 나타내는 조건이다. 최적화 변수의 하계 조건(l)은 0으로 하고, 상계 조건(u)은 전술된 이동거리가 장거리인 경우 산출된 을 사용한다.
전처리부(20)는 소정의 제한 조건 하에서 미리 설정된 목적함수를 최소화하는 해를 찾음으로써 구간별 최적 시간을 산출할 수 있다.
도 3은 본 발명의 일 실시예에 따른 임계거리와 목표위치의 비교에 의한 구간별 시간 산출에 의해 모션 프로파일을 생성한 예이다. 도 4는 본 발명의 일 실시예에 따른 nonlinear programming에 의한 구간별 시간 산출에 의해 모션 프로파일을 생성한 예이다. 도 3 및 도 4는 0이 아닌 임의의 초기속도 및 최종 속도에 대한 모션 프로파일이다. (a)는 위치 프로파일, (b)는 속도 프로파일, (c)는 가속도 프로파일이다. 도 3 및 도 4를 참조하면, 두 가지 방법에 의한 모션 프로파일이 유사한 결과를 도출하고 있음을 알 수 있다.
도 5는 본 발명의 일 실시예에 따른 모션 프로파일 생성 방법을 개략적으로 설명하는 흐름도이다. 본 발명의 일 실시예에 따른 모션 프로파일 생성 방법은 도 1에 도시된 컴퓨팅 장치(10)에 의해 수행될 수 있다. 이하에서 전술된 내용과 중복하는 내용의 상세한 설명은 생략한다.
도 5를 참조하면, 컴퓨팅 장치(10)는 본 발명의 일 실시예에 따른 모션 프로파일 생성을 위한 제한조건을 수신할 수 있다(S31). 컴퓨팅 장치(10)는 최적 시간을 산출하는 방법에 따라 정해진 제한 조건을 수신할 수 있다.
컴퓨팅 장치(10)는 제한 조건 하에서 모션 프로파일의 구간별 최적 시간을 산출할 수 있다(S33). 컴퓨팅 장치(10)는 임계거리와 이동거리의 비교 결과에 따라 결정된 케이스에 대응하는 다항식에 의해 구간별로 최적 시간을 산출할 수 있다. 또는 컴퓨팅 장치(10)는 비선형 프로그래밍(nonlinear programming) 기법을 사용하여 구간별 최적 시간을 산출할 수 있다.
컴퓨팅 장치(10)는 각 구간의 최적 시간 및 저크를 기초로 모션 프로파일을 생성할 수 있다(S35). 컴퓨팅 장치(10)는 각 구간의 저크(j(t))를 적분하여 가속도(a(t))를 산출하고, 가속도(a(t))를 적분하여 속도(v(t))를 산출하고, 속도(v(t))를 적분하여 위치(p(t))를 산출할 수 있다.
컴퓨팅 장치(10)는 둘 이상의 모션 프로파일을 중첩한 중첩 모션 프로파일을 생성할 수 있다. 컴퓨팅 장치(10)는 중첩 모션 프로파일을 생성하기 위해 이전 모션의 최종 속도(Vf)를 다음 모션의 초기 속도(Vi)로 설정할 수 있다.
도 6은 도 5의 구간별 최적 시간 산출 방법을 개략적으로 설명하는 흐름도이다. 도 6의 실시예는 임계거리와 이동거리의 비교 결과에 따라 결정된 케이스에 대응하는 다항식에 의해 구간별로 최적 시간을 산출하는 예이다.
도 6을 참조하면, 컴퓨팅 장치(10)는 본 발명의 일 실시예에 따른 모션 프로파일 생성을 위한 제한조건(C1 내지 C3)을 수신하여 제한 조건 하에서, 모션 프로파일의 구간별 최적 시간을 산출할 수 있다.
제한조건 C1은 출발 위치와 종료 위치의 등가 제약이다. 제한조건 C2는 속도 값은 속도 0을 교차하지 않는다는 제약이다. 제한조건 C3은 임의의 시점(T0≤t≤T7)에서 저크(j), 가속도(a), 속도(v)가 임의의 한계 값(Ja, Jd, Am, Dm, Vm) 이내에 있다는 제약이다.
컴퓨팅 장치(10)는 식 (1) 및 식 (2)에 의해 가속구간에서의 저크의 한계 값(Ja) 및 감속구간에서의 저크의 한계 값(Jd)을 산출할 수 있다(S331).
컴퓨팅 장치(10)는 식 (3) 및 식 (4)와 같이 제1 임계값(Pshort)과 제2 임계값(Pmedium)을 산출하고, 목표 위치(Pf)를 제1 임계값(Pshort) 및 제2 임계값(Pmedium)과 비교할 수 있다(S332, S334).
컴퓨팅 장치(10)는 목표 위치(Pf)가 제1 임계값(Pshort) 이하이면(S332), 원점에서 목표 위치까지의 이동거리(Pf)가 단거리에 속한다고 판단하고, 식 (6)의 비선형 방정식의 수치해법을 이용하여 구간별 시간을 산출할 수 있다(S333). 여기서 구간은 가속구간, 최대 가속구간, 최대 속도구간, 감속구간 및 최대 감속구간을 포함할 수 있다.
컴퓨팅 장치(10)는 목표 위치(Pf)가 제1 임계값(Pshort)보다 크고 제2 임계값(Pmedium) 이하이면(S334), 원점에서 목표 위치까지의 이동거리(Pf)가 중거리에 속한다고 판단하고, 식 (8)의 비선형 방정식의 수치해법을 이용하여 구간별 시간을 산출할 수 있다(S335).
컴퓨팅 장치(10)는 목표 위치(Pf)가 제2 임계값(Pmedium)보다 크면(S334), 원점에서 목표 위치까지의 이동거리(Pf)가 장거리에 속한다고 판단하고, 식 (10)과 같이 구간별 시간을 산출할 수 있다(S336).
컴퓨팅 장치(10)는 가속구간의 시간(Tja)에 의해 T0~T1 및 T2~T3 구간의 시간을 결정하고, 최대 가속구간(Ta)의 시간에 의해 T1~T2 구간의 시간을 결정하고, 최대 속도구간의 시간(Tv)에 의해 T3~T4 구간의 시간을 결정하고, 감속구간의 시간(Tjd)에 의해 T4~T5 및 T6~T7 구간의 시간을 결정하고, 최대 감속구간의 시간(Td)에 의해 T5~T6 구간의 시간을 결정할 수 있다(S337).
컴퓨팅 장치(10)는 도 5에 도시된 바와 같이 각 구간의 최적 시간 및 저크를 기초로 모션 프로파일 및 중첩 모션 프로파일을 생성할 수 있다.
도 7은 본 발명의 일 실시예에 따른 2개의 모션 프로파일을 중첩한 중첩 모션 프로파일의 예이다. (a)는 위치 프로파일, (b)는 속도 프로파일, (c)는 가속도 프로파일이다.
도 7을 참조하면, 모션 1이 종료될 때의 최종 속도는 0이 아닌 값이고, 모션 1에 연속하는 모션 2가 모션 1의 최종 속도를 초기 속도로 한다. 따라서, 모션 1이 0의 최종 속도까지 감속하고, 모션 2가 0부터 가속할 필요가 없어 시간을 단축할 수 있다.
즉, 본 발명의 실시예는 이전 모션의 최종 속도(Vf)를 다음 모션의 초기 속도(Vi)로 설정하여, 둘 이상의 연속된 모션 프로파일을 정지 없이 중첩시킴으로써 동작 시간을 단축시킬 수 있어 최적화된 시간으로 이동이 가능하므로 생산성을 높일 수 있다.
또한, 본 발명의 실시예는 모션 프로파일의 최종 속도(Vf) 및 초기 속도(Vi)는 0이 아닌 임의의 상수로 설정할 수 있어, 최종 속도(Vf)를 0까지 감속할 필요가 없기 때문에 시간을 줄일 수 있다.
또한, 본 발명의 실시예는 가속구간의 초기속도 및 기울기가 감속구간의 최종속도 및 기울기와 상이한 값을 가질 수 있어 비대칭 S-커브 프로파일을 생성할 수 있고, 따라서 모션 중첩에서도 진동 저감에 효과적이다.
본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 진정한 보호 범위는 첨부된 청구 범위에 의해서만 정해져야 할 것이다.
Claims (6)
- 하나 이상의 제한 조건 하에서, 가속구간, 최대 가속구간, 최대 속도구간, 감속구간 및 최대 감속구간 각각의 시간을 산출하는 단계;
상기 산출된 시간 및 저크를 구간별 정의된 다항식에 적용하여 모션 프로파일을 생성하는 단계; 및
이전 모션의 최종 속도를 다음 모션의 초기속도로 하는 둘 이상의 모션 프로파일이 연속된 중첩 모션 프로파일을 생성하는 단계;를 포함하는 S-커브를 이용한 모션 프로파일 생성 방법. - 제1항에 있어서,
상기 초기속도 및 상기 최종 속도는 임의의 상수인, S-커브를 이용한 모션 프로파일 생성 방법. - 제1항에 있어서, 상기 시간 산출 단계는,
목표위치까지의 이동거리와 제1 임계거리 및 상기 제1 임계거리보다 긴 제2 임계거리와 비교 결과에 따라 대응하는 다항식에 의해 각 구간의 시간을 산출하는 단계;를 포함하는, S-커브를 이용한 모션 프로파일 생성 방법. - 제1항에 있어서, 상기 시간 산출 단계는,
상기 각 구간의 시간을 파라미터로 하는 목적함수를 최소로 하는 해를 찾는 비선형 프로그램 기법에 의해 각 구간의 시간을 산출하는 단계;를 포함하는, S-커브를 이용한 모션 프로파일 생성 방법. - 하나 이상의 제한 조건 하에서, 가속구간, 최대 가속구간, 최대 속도구간, 감속구간 및 최대 감속구간 각각의 시간을 산출하는 전처리부; 및
상기 산출된 시간 및 저크를 구간별 정의된 다항식에 적용하여 모션 프로파일을 생성하고, 이전 모션의 최종 속도를 다음 모션의 초기속도로 하는 둘 이상의 모션 프로파일이 연속된 중첩 모션 프로파일을 생성하는 프로파일 생성부;를 포함하는 S-커브를 이용한 모션 프로파일 생성을 위한 컴퓨팅 장치. - 제5항에 있어서,
상기 초기속도 및 상기 최종 속도는 임의의 상수인, S-커브를 이용한 모션 프로파일 생성을 위한 컴퓨팅 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170003404A KR20180082115A (ko) | 2017-01-10 | 2017-01-10 | S-커브를 이용한 모션 프로파일 생성 방법 및 컴퓨팅 장치 |
PCT/KR2017/012030 WO2018131778A1 (ko) | 2017-01-10 | 2017-10-27 | S-커브를 이용한 모션 프로파일 생성 방법 및 컴퓨팅 장치 |
CN201780064913.1A CN110023856B (zh) | 2017-01-10 | 2017-10-27 | 通过使用s型曲线生成运动轮廓的方法及计算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170003404A KR20180082115A (ko) | 2017-01-10 | 2017-01-10 | S-커브를 이용한 모션 프로파일 생성 방법 및 컴퓨팅 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180082115A true KR20180082115A (ko) | 2018-07-18 |
Family
ID=62840210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170003404A KR20180082115A (ko) | 2017-01-10 | 2017-01-10 | S-커브를 이용한 모션 프로파일 생성 방법 및 컴퓨팅 장치 |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR20180082115A (ko) |
CN (1) | CN110023856B (ko) |
WO (1) | WO2018131778A1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113156891A (zh) * | 2021-04-26 | 2021-07-23 | 北京航空航天大学 | 一种基于弓高误差限制和加加速度连续的进给率规划方法 |
KR20230021323A (ko) * | 2021-08-05 | 2023-02-14 | 한국생산기술연구원 | 파라볼릭 모션 프로파일 생성 장치 및 그 방법 |
KR102553301B1 (ko) * | 2022-01-17 | 2023-07-10 | 김종은 | 저크를 일정하게 유지하는 모터의 모션 제어 장치 |
KR102652609B1 (ko) | 2023-12-20 | 2024-04-01 | 한국건설기술연구원 | 과적단속구간에서 비정상 가감속 형태로 주행하는 과적혐의차량의 식별을 위한 화물차량의 속도 프로파일 산출방법 및 산출장치 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110450166B (zh) * | 2019-08-22 | 2022-10-14 | 上海新时达机器人有限公司 | 基于s形曲线机器人过渡轨迹规划的拐角加速度优化方法及装置 |
CN113253772B (zh) * | 2021-07-02 | 2021-10-12 | 武汉市正弦电气技术有限公司 | 一种基于误差预估及补偿的伺服定位系统及方法 |
CN114131613B (zh) * | 2021-12-21 | 2023-05-26 | 伯朗特机器人股份有限公司 | 一种基于s曲线的点动操作控制方法 |
CN114578809A (zh) * | 2022-01-13 | 2022-06-03 | 达闼机器人股份有限公司 | 可移动设备的速度控制方法、装置及可移动设备 |
CN115922687B (zh) * | 2022-05-23 | 2023-11-17 | 以诺康医疗科技(苏州)有限公司 | 一种基于s形速度曲线的运动轨迹规划方法及装置 |
CN115542732B (zh) * | 2022-09-15 | 2024-06-18 | 中国北方车辆研究所 | 一种伺服运动控制系统加减速轨迹规划方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418332B2 (en) * | 2005-05-03 | 2008-08-26 | Xerox Corporation | Dynamic S curve stepper motor profile |
TWI302234B (en) * | 2005-08-10 | 2008-10-21 | Delta Electronics Inc | Motion command reshaping method with analog input for position s curve |
US7979158B2 (en) * | 2007-07-31 | 2011-07-12 | Rockwell Automation Technologies, Inc. | Blending algorithm for trajectory planning |
US7919940B2 (en) * | 2007-10-21 | 2011-04-05 | Ge Intelligent Platforms, Inc. | System and method for jerk limited trajectory planning for a path planner |
US9041337B2 (en) * | 2012-05-18 | 2015-05-26 | Linestream Technologies | Motion profile generator |
US8710777B2 (en) * | 2012-04-20 | 2014-04-29 | Linestream Technologies | Method for automatically estimating inertia in a mechanical system |
KR102128568B1 (ko) * | 2013-05-27 | 2020-07-01 | 한국과학기술원 | 잔류진동을 강인하게 저감하기 위한 최적 s-커브 모션 프로파일 설계 방법 |
CN106168790B (zh) * | 2016-02-29 | 2020-08-18 | 华南理工大学 | 一种在线改变目标速度和位置的s形加减速控制方法 |
-
2017
- 2017-01-10 KR KR1020170003404A patent/KR20180082115A/ko not_active Application Discontinuation
- 2017-10-27 WO PCT/KR2017/012030 patent/WO2018131778A1/ko active Application Filing
- 2017-10-27 CN CN201780064913.1A patent/CN110023856B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113156891A (zh) * | 2021-04-26 | 2021-07-23 | 北京航空航天大学 | 一种基于弓高误差限制和加加速度连续的进给率规划方法 |
CN113156891B (zh) * | 2021-04-26 | 2023-02-17 | 北京航空航天大学 | 一种基于弓高误差限制和加加速度连续的进给率规划方法 |
KR20230021323A (ko) * | 2021-08-05 | 2023-02-14 | 한국생산기술연구원 | 파라볼릭 모션 프로파일 생성 장치 및 그 방법 |
KR102553301B1 (ko) * | 2022-01-17 | 2023-07-10 | 김종은 | 저크를 일정하게 유지하는 모터의 모션 제어 장치 |
KR102652609B1 (ko) | 2023-12-20 | 2024-04-01 | 한국건설기술연구원 | 과적단속구간에서 비정상 가감속 형태로 주행하는 과적혐의차량의 식별을 위한 화물차량의 속도 프로파일 산출방법 및 산출장치 |
Also Published As
Publication number | Publication date |
---|---|
CN110023856B (zh) | 2022-12-13 |
CN110023856A (zh) | 2019-07-16 |
WO2018131778A1 (ko) | 2018-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180082115A (ko) | S-커브를 이용한 모션 프로파일 생성 방법 및 컴퓨팅 장치 | |
Yu et al. | Continuous finite-time control for robotic manipulators with terminal sliding mode | |
Yan et al. | On the output motion characteristics of variable input speed servo-controlled slider-crank mechanisms | |
KR20210089116A (ko) | 종방향 동역학 모델의 트레이닝 방법, 장치 및 기기 | |
US7818087B2 (en) | Method and control device for guiding the movement of a movable machine element of a machine | |
US9651939B2 (en) | Numerical controller having display function of physical data of machine tool | |
US10031514B2 (en) | Method for servo locking control and servo | |
CN107160396A (zh) | 一种基于轨迹优化的机器人振动控制器及方法 | |
CN110398993B (zh) | 速度控制方法、装置及计算机可读存储介质 | |
US8024061B2 (en) | Method and device to generate position profile in motion controller | |
CN116069041B (zh) | 轨迹规划方法、装置、车辆及介质 | |
CN112720463A (zh) | 控制机器人的方法、装置及终端设备 | |
JP2008289312A (ja) | 複数軸同期制御システムおよび複数軸同期制御方法 | |
CN108665518B (zh) | 一种调节动画速度的控制方法及系统 | |
JP2017049766A (ja) | 位置による最大速度制御機能を具備した数値制御装置 | |
JP2020057088A (ja) | 数値制御装置 | |
JP2007052590A (ja) | 数値制御装置と数値制御方法 | |
KR100540588B1 (ko) | 모션 제어의 실시간 응답을 위한 궤적발생방법 및 시스템 | |
KR101368847B1 (ko) | 모션 프로파일 생성방법 | |
JP2017102730A (ja) | 同期運転教示データ作成時の確認手段を備える制御装置 | |
US10058954B2 (en) | Laser processing device having gap control function and controller thereof | |
KR102132689B1 (ko) | 1차형 구동기에 대한 선형기반의 강건 입력성형기 | |
JP2009116880A (ja) | 機械部材の運動経過を制御する方法及び装置 | |
Caporali | Classical and Quantum Kalman Filter: an application to an Under-actuated Nonlinear System as a Gantry crane | |
RU2451593C2 (ru) | Автоматическая система управления движением мобильного объекта и способ автоматического управления движением мобильного объекта |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |