KR101390819B1 - 컨볼루션 연산을 이용한 로봇의 궤적 생성 시스템 및 방법 - Google Patents

컨볼루션 연산을 이용한 로봇의 궤적 생성 시스템 및 방법 Download PDF

Info

Publication number
KR101390819B1
KR101390819B1 KR1020130046608A KR20130046608A KR101390819B1 KR 101390819 B1 KR101390819 B1 KR 101390819B1 KR 1020130046608 A KR1020130046608 A KR 1020130046608A KR 20130046608 A KR20130046608 A KR 20130046608A KR 101390819 B1 KR101390819 B1 KR 101390819B1
Authority
KR
South Korea
Prior art keywords
trajectory
robot
convolution
target
follow
Prior art date
Application number
KR1020130046608A
Other languages
English (en)
Inventor
김도익
이건
Original Assignee
한국과학기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술연구원 filed Critical 한국과학기술연구원
Priority to KR1020130046608A priority Critical patent/KR101390819B1/ko
Application granted granted Critical
Publication of KR101390819B1 publication Critical patent/KR101390819B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices

Abstract

목표 궤적을 로봇이 실제 추종할 수 있는 추종 궤적으로 변환하는 궤적 생성 시스템으로서, 사용자의 동작 입력에 대응하여 상기 로봇의 목표 궤적을 생성하는 목표 궤적 생성 모듈과, 단위 면적 사각파를 그에 입력된 궤적에 컨볼루션하여 추종 궤적으로 변환하는 추종 궤적 생성 모듈을 포함하고, 상기 로봇이, 사용자의 제1 동작 입력에 의한 제1 목표 궤적을 변환하여 생성한 제1 추종 궤적을 추종하여 동작하는 도중, 사용자의 제2 동작 입력이 입력되면, 상기 목표 궤적 생성 모듈은 제2 동작 입력에 대응한 제2 목표 궤적을 생성하고, 상기 추종 궤적 생성 모듈은, 상기 제1 목표 궤적과 상기 제2 목표 궤적을 각각 컨볼루션하여 제1 컨볼루션 궤적 및 제2 컨볼루션 궤적을 생성하고, 상기 제2 동작 입력이 입력된 시점에서의 상기 제1 컨볼루션 궤적의 종료점과 상기 제2 컨볼루션 궤적의 시작점을 연결하여 신규 추종 궤적을 생성하는 궤적 생성 시스템이 제공된다. 또한, 상기 궤적 시스템을 이용한 궤적 생성 방법이 제공된다.

Description

컨볼루션 연산을 이용한 로봇의 궤적 생성 시스템 및 방법{system and method for generating trajectory of robot using convolution operation}
본 발명은 로봇의 궤적 생성 시스템 및 방법에 관한 것으로, 더욱 상세하게는 컨볼루션 연산을 이용해 목표 궤적을 로봇이 실제 추종할 수 있는 추종 궤적으로 변환하는 로봇의 궤적 생성 시스템 및 방법에 관한 것이다.
로봇 산업의 초점이 산업용에서 서비스용 로봇으로 전환되어감에 따라 외부 환경에 따라 즉각 반응할 수 있는 로봇의 궤적 생성 방법이 필요하다.
기존의 궤적 생성 방법들은 일반적으로 산업용 로봇에 초점을 맞추어 개발된 것으로, 외부 환경에 적절히 반응하기 위한 실시간 입력에 대한 궤적 생성 방법으로는 적합하지 않다.
외부 환경에 즉각 반응하기 위해서는 실시간 입력에 대응하는 궤적 생성이 필요하며, 종래 방법들은 많은 계산량이 필요하다는 문제점이 있다.
계산량이 감소시키기 위한 궤적 생성 방법들이 제안되고 있으나, 이러한 방법들도 로봇이 기입력된 궤적을 완료하기 전에 새로운 궤적이 입력되는 경우, 이를 적절히 반영할 수 있는 방법을 제안하고 있지 못하다.
또한, 시스템(로봇)이 실제 구동할 수 있는 한계량인 최대 속도, 가속도 등의 반영이 어렵기 때문에 로봇의 구동기의 한계 내에서의 궤적 생성을 위해서는 복잡한 수식 변화가 필요하다는 문제점이 있다.
대한민국 특허공보 제1994-0002206호
본 발명은 입력된 목표 궤적을 로봇이 추종할 수 있는 추종 궤적으로 변환함에 있어, 불연속적인 입력에 대응하여 실시간으로 미분 가능한 연속적인 추종 궤적을 생성할 수 있고, 추종 궤적 생성시 로봇의 구동기의 한계를 적절히 반영할 수 있는 로봇의 궤적 생성 시스템 및 방법을 제공하는 것을 목적으로 한다.
상술한 목적을 달성하기 위하여, 본 발명이 일 측면에 따르면, 목표 궤적을 로봇이 실제 추종할 수 있는 추종 궤적으로 변환하는 궤적 생성 시스템으로서, 사용자의 동작 입력에 대응하여 상기 로봇의 목표 궤적을 생성하는 목표 궤적 생성 모듈과, 단위 면적 사각파를 그에 입력된 궤적에 컨볼루션하여 추종 궤적으로 변환하는 추종 궤적 생성 모듈을 포함하고, 상기 로봇이, 사용자의 제1 동작 입력에 의한 제1 목표 궤적을 변환하여 생성한 제1 추종 궤적을 추종하여 동작하는 도중, 사용자의 제2 동작 입력이 입력되면, 상기 목표 궤적 생성 모듈은 제2 동작 입력에 대응한 제2 목표 궤적을 생성하고, 상기 추종 궤적 생성 모듈은, 상기 제1 목표 궤적과 상기 제2 목표 궤적을 각각 컨볼루션하여 제1 컨볼루션 궤적 및 제2 컨볼루션 궤적을 생성하고, 상기 제2 동작 입력이 입력된 시점에서의 상기 제1 컨볼루션 궤적의 종료점과 상기 제2 컨볼루션 궤적의 시작점을 연결하여 신규 추종 궤적을 생성하는 궤적 생성 시스템이 제공된다.
일 실시예에 따르면, 상기 추종 궤적 생성 모듈은, 상기 신규 추종 궤적을 재차 컨볼루션 연산하여 제2 추종 궤적을 생성한다.
또한, 상기 추종 궤적 생성 모듈은, 상기 신규 추종 궤적을 다시 서로 다른 n개(n은 2보다 크거나 같은 자연수)의 단위 면적 사각파를 이용해 n회 컨볼루션하여 상기 제2 추종 궤적을 생성할 수도 있다.
일 실시예에 따르면, 상기 목표 궤적 및 추종 궤적은 시간 대 위치의 함수로 표현될 수 있다.
이때, 상기 n개의 단위 면적 사각파는 시간(tk) 대 시간의 역수(1/tk)의 함수이고, 여기서, k= 1,..., n일 수 있다.
또한, 상기 tk는 상기 로봇이 구동할 수 있는 물리적 한계값을 고려하여 선정될 수 있다.
또한, 상기 제1 목표 궤적과 상기 제2 목표 궤적은 각각 시간(t0) 대 시간의 역수(1/t0)의 함수인 단위 면적 사각파에 의해 컨볼루션되고, 상기 t0는 상기 로봇이 구동할 수 있는 속도의 물리적 한계값을 고려하여 선정될 수 있다.
다른 실시예에 따르면, 상기 목표 궤적 및 추종 궤적은 시간 대 속도의 함수로 표현된다.
또한, 상기 제2 동작 입력이 입력되면, 상기 제1 추종 궤적을 추종하여 동작하던 상기 로봇은 상기 제2 추종 궤적 중 상기 제2 동작 입력이 입력된 시점 이후의 궤적을 추종하여 계속 동작하도록 할 수 있다.
본 발명의 다른 측면에 따르면, 목표 궤적을 로봇이 실제 추종할 수 있는 추종 궤적으로 변환하는 궤적 생성 방법으로서, 상기 로봇을 사용자의 제1 동작 입력에 의한 제1 목표 궤적을 변환하여 생성한 제1 추종 궤적을 추종하여 동작하는 단계와, 상기 로봇이 제1 추종 궤적을 추종하여 동작하는 도중, 사용자의 제2 동작 입력이 입력되는 단계와, 상기 제2 동작 입력에 대응하는 제2 목표 궤적을 생성하는 단계와, 상기 제1 목표 궤적과 상기 제2 목표 궤적을 각각 컨볼루션하여 제1 컨볼루션 궤적 및 제2 컨볼루션 궤적을 생성하는 단계 및 상기 제2 동작 입력이 입력된 시점에서의 상기 제1 컨볼루션 궤적의 종점과 상기 제2 컨볼루션 궤적의 시점을 연결하여 신규 추종 궤적을 생성하는 단계를 포함하는 궤적 생성 방법이 제공된다.
도 1은 본 발명의 일 실시예에 따른 로봇의 궤적 생성 시스템의 블록도이다.
도 2 및 도 3은 시간 대 거리의 함수 형태로 생성된 목표 궤적을 이용해 추종 궤적을 생성하는 과정 및 추종 궤적의 상위 미분 함수의 한계값이 생성되는 과정을 도시한 것이다.
도 4a 및 도 4b는 시간 대 거리의 영역에서 기존 목표 궤적에 더해 새로운 목표 궤적이 입력된 경우 추종 궤적을 생성하는 과정을 도시한 것이다.
도 5 및 도 6은 시간 대 속도의 함수 형태로 생성된 목표 궤적을 이용해 추종 궤적을 생성하는 과정 및 추종 궤적의 상위 미분 함수의 한계값이 생성되는 과정을 도시한 것이다.
도 7a 및 도 7b는 시간 대 거리의 영역에서 기존 목표 궤적에 더해 새로운 목표 궤적이 입력된 경우 추종 궤적을 생성하는 과정을 도시한 것이다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 하나의 실시예로서 설명되는 것이며, 이것에 의해 본 발명의 기술적 사상과 그 핵심 구성 및 작용은 제한되지 않는다.
도 1은 본 발명의 일 실시예에 따른 로봇의 궤적 생성 시스템(1)의 블록도이다.
본 실시예에 따른 궤적 생성 시스템(1)은 사용자의 동작 입력에 대응하는 목표 궤적을 생성하고 이를 로봇(30)이 실제 추종할 수 있는 추종 궤적으로 변환하는 궤적 생성 시스템으로서, 사용자의 동작 입력에 대응하여 로봇(30)의 목표 궤적을 생성하는 목표 궤적 생성 모듈(10)과, 그에 입력되는 궤적에 단위 면적 사각파 함수를 컨볼루션(convolution) 연산하여 추종 궤적으로 변환하는 추종 궤적 생성 모듈(20)을 포함한다. 추종 궤적 생성 모듈(20)에서 생성된 추종 궤적은 로봇(30)을 동작시키기 위한 구동기로 보내져, 로봇(30)이 그를 추종하여 동작하도록 한다.
이하, 궤적 생성 시스템(1)을 이용해 추종 궤적을 생성하는 방법에 대해 설명한다.
<제1실시예>
본 실시예에 따르면, 사용자는 특정 거리(S)를 지정하여 로봇을 목표 지점으로 이동시키기 위한 동작 입력을 입력하고, 목표 궤적 생성 모듈(10)은 로봇을 목표 지점으로 이동시키기 위한 시간 대 거리의 함수 형태로 목표 궤적을 생성한다.
도 2(a)를 참조하면, 목표 궤적 생성 모듈(10)은 사용자의 목표 지점 입력에 대응하여 목표 궤적 P0(t)를 생성한다. 이러한 목표 궤적 P0(t)는 시차 없이 로봇이 거리(S)를 이동하여 목표 지점에 도달하도록 하는 것으로 이상적인 형태의 궤적이지만, 실제 로봇이 그대로 추종할 수는 없는 궤적이다.
따라서, 목표 궤적 P0(t)는 추종 궤적 생성 모듈(20)에 의해 로봇이 실제 추종할 수 있는 추종 궤적으로 변환된다.
다시 도 1을 참조하면, 추종 궤적 생성 모듈(20)은 입력된 궤적을 컨볼루션 연산하는 컨볼루션 연산모듈(21)과, 컨볼루션 연산된 궤적이 로봇이 실제 구동하기 적합한 궤적인 경우 그를 최종 추종 궤적으로 생성하는 궤적 판정 모듈(22)을 포함한다.
도 2(a)에 도시된 바와 같이, 컨볼루션 연산모듈(21)은 목표 궤적 P0(t)에 단위 면적의 사각파 함수인 컨볼루션 함수 h0(t)를 컨볼루션하여 궤적 P1(t)를 생성한다. 궤적 판정 모듈(22)은 궤적 P1(t)가 로봇이 추종하기 적합한 궤적인지 여부를 판정하기 위하여, 궤적 P1(t)의 미분함수들을 고려한다.
도 2(b)에 도시된 바와 같이, 궤적 P1'(t)는 속도 함수로서, 목표 궤적 P0(t)를 미분한 궤적 P0'(t)에 컨볼루션 함수 h0(t)를 컨볼루션한 궤적에 해당한다.
궤적 P1'(t)는 t가 0일 때, 속도가 즉시 V1에 이르는 것을 나타내는 것으로, 로봇이 실제 구동되기 힘든 궤적이다. 따라서, 궤적 판정 모듈(22)은 궤적(P1(t))을 최종 궤적으로 하기에는 부적합한 것으로 판정하고, 구동 가능한 선형적인 속도 프로파일(profile)을 반영한 추종 궤적을 생성하기 위해 궤적 P1(t)를 컨볼루션 연산모듈(21)에 보내 다시 2차 컨볼루션 연산한다.
도 3에 도시된 바와 같이, 2차 컨볼루션에 사용되는 컨볼루션 함수는 단위 면적의 사각파 함수인 컨볼루션 함수 h1(t)이다.
2차 컨볼루션에 의해 궤적 P1(t)는 궤적 P2(t)로 변환된다. 도 3에 도시되 바와 같이, 궤적 P2(t)는 궤적 P1(t)에 비해 부드러운 형태로 생성된다. 구동 가능한 속도 프로파일이 반영된 결과이다.
궤적 판정 모듈(22)은 궤적 P2(t)가 로봇이 추종하기 적합한 궤적인지 여부를 판정하기 위하여, 궤적 P2(t)의 미분함수들을 고려한다. 도 3(b)에 도시된 바와 같이, 궤적 P2'(t)는 궤적 P2(t)의 1차 미분함수로서 속도 함수에 해당하고, 궤적 P2"(t)는 궤적 P2(t)의 2차 미분함수로서 가속도 함수에 해당한다.
궤적 P2'(t)와 궤적 P2"(t)에 의하면, 로봇의 구동기가 추종 가능하지만, 가속도 성분의 불연속성에 의해 로봇 구동기에 심한 떨림이 발생할 수 있다.
이러한 떨림 현상이 로봇이 구동되는 환경에 부적합한 경우, 궤적 판정 모듈(22)은 궤적 P2(t)가 적절한 가속도 특성을 반영한 추종 궤적을 생성하기 위해 궤적 P3(t)를 컨볼루션 연산모듈(21)에 보내 다시 3차 컨볼루션 연산을 수행하여 새로운 궤적을 생성할 수도 있다.
컨볼루션 연산모듈(21)로 되돌려져 수행되는 컨볼루션의 회수에는 제한이 없으며, 컨볼루션 연산을 통해 생성된 궤적을 로봇이 그대로 추종하는 것이 불가능하거나 부적절한 경우, 또는 유저가 생성된 추종 궤적의 더 상위 미분 함수의 한계값을 반영하고 싶은 경우, 이를 해소하기 위해 컨볼루션 연산을 계속적으로 수행할 수 있다.
도 2 및 도 3에 도시된 바와 같이, 컨볼루션 연산의 횟수가 증가함에 따라서, 생성되는 궤적은 최종값은 목표 궤적의 타겟에 수렴하지만, 도달 시간은 조금씩 지연되는 특성을 가진다.
한편, 궤적 판정 모듈(22)은 컨볼루션 연산 모듈(21)에서 반복적인 컨볼루션 연산시 사용되는 컨볼루션 함수를 결정하게 되는데, 로봇의 구동기가 가지는 물리적 한계값도 고려한다.
구체적으로, 도 2를 참조하면, 1차 컨볼루션을 통해 궤적 P1(t)를 생성하는 경우, 시간(t0)은 S/V1이 되며, V1이 로봇의 구동기가 낼 수 있는 속도의 최대값 Vmax를 넘지 않기 위해서는, 시간(t0)은 S/Vmax 보다 작은 값으로 선정된다.
또한, 도 3을 참조하면, 2차 컨볼루션을 통해 궤적 P2(t)를 생성하는 경우, t1의 시간 동안 로봇이 V1에 도달하기 때문에, 그 가속도는 V1/t1이 된다. 가속도가 로봇의 구동기가 낼 수 있는 최대 가속도 Amax를 넘지 않기 위해서는 시간(t1)은 Vmax/Amax보다 작은 값으로 선정된다.
즉, 반복적으로 컨볼루션되는 단위 면적의 사각파형 함수의 크기 조절을 통해 로봇의 속도, 가속도 및 저크 등의 로봇이 가질 수 있는 물리적 한계값을 반영한 궤적을 생성할 수 있다.
위와 같은 컨볼루션 연산을 통한 추종 궤적 생성 원리를 이용하면, 하나의 추종 궤적을 추종하여 동작하는 로봇이 해당 추종 궤적을 완료하기 전에, 새로운 목표 궤적이 입력된 경우에도 로봇의 구동 한계 및 특성을 고려한 새로운 추종 궤적을 실시간으로 생성할 수 있게 된다.
이하, 도 4(a) 및 4(b)를 참조하여 설명한다.
도 4(a)에 도시된 바와 같이, 사용자가 로봇을 특정 거리(Pi)만큼 이동시키기 위한 제1 동작 입력을 입력하면, 목표 궤적 생성 모듈(10)은 로봇을 목표 지점으로 이동시키기 위한 제1 목표 궤적(111)을 생성한다. 상술한 방식으로, 추종 궤적 생성 모듈(20)은 목표 궤적(111)을 복수회 컨볼루션하여 로봇의 구동 한계값을 반영한 제1 추종 궤적(미도시)를 생성한다. 로봇은 제1 추종 궤적을 추종하여 동작한다.
본 실시예에 따르면, 도시하지 않은 측정 장치에 의해, 로봇이 제1 추종 궤적을 추종하여 동작하는 동안 로봇의 위치를 실시간으로 검측한다.
로봇이 제1 추종 궤적을 추종하여 위치(Pc)에 위치하였을 때(즉, 제1 추종 궤적을 완료하지 못한 때), 사용자가 로봇을 특정 거리(Pi +1)만큼 이동시키기 위한 새로운 제2 동작 입력을 입력할 수 있다.
목표 궤적 생성 모듈(10)은 상기 측정 장치에 의해 측정된 로봇의 위치(Pc)를 반영하여 제2 목표 궤적(121)을 생성한다.
추종 궤적 생성 모듈(20)은 당초 생성되어 있던 제1 목표 궤적(111)과 새로 생성된 제2 목표 궤적(121)을 각각 시간(t0) 대 시간의 역수(1/t0)의 함수인 단위 면적 사각파의 컨볼루션 함수에 의해 컨볼루션하여, 제1 컨볼루션 궤적(112)과 제2 컨볼루션 궤적(122)를 생성한다.
이때, 상기 t0는 하기 [수학식 1]을 만족하는 값으로 선정된다.
[수학식 1]
Figure 112013036997710-pat00001
여기서, vmax는 상기 로봇을 구동하는 구동기가 낼 수 있는 속도의 물리적 한계값(최대값)이다. 본 실시예에서는 제1 컨볼루션 궤적(112)과 제2 컨볼루션 궤적(122)이 동일한 컨볼루션 함수에 의해 생성되는 것으로 설명하였지만, 반드시 이에 한정되지 않는다.
나아가, 추종 궤적 생성 모듈(20)은 제2 컨볼루션 궤적(122)을 평행이동시켜, 상기 제2 동작 입력이 입력된 시점(tc)에서의 제1 컨볼루션 궤적(112)의 종료점(113)과 제2 컨볼루션 궤적(122)의 시작점(123)을 연결하여 새로운 신규 추종 궤적(131)을 생성한다.
한편, 도 4(b)에 도시된 바와 같이, 로봇의 구동 한계값을 반영하기 위하여, 신규 추종 궤적(131)을 다시 n회 컨볼루션한다. 이때, n회의 컨볼루션 연산에는 서로 다른 n개(n은 2보다 크거나 같은 자연수)의 단위 면적 사각파를 이용한다.
상기 서로 다른 n개의 단위 면적 사각파는 시간(tk) 대 시간의 역수(1/tk)의 함수이고, 여기서, k= 1,..., n이다.
앞서 설명한 바와 같이, 단위 면적 사각파의 크기를 결정하는 tk는 로봇을 구동시키는 구동기의 물리적 한계값을 고려하여 선정되며, 구체적으로 하기 [수학식 2]을 만족한다.
[수학식 2]
Figure 112013036997710-pat00002
여기서, v(k) max는 속도 함수를 k번 미분한 함수값 중 상기 로봇을 구동시키는 구동기의 물리적 한계값이다. 예를 들어, v(0) max는 속도의 최대값이고, v(1) max는 가속도의 최대값이며, v(2) max는 저크의 최대값이다.
로봇의 속도, 가속도 및 저크의 한계값을 고려하기 위하여 신규 추종 궤적(131)에 대해 최소 3회 컨볼루션을 수행하는 것이 바람직하다.
컨볼루션 회수가 증가할수록 생성되는 궤적은 부드러운 형태를 가지는 반면, 수렴 위치에 도달하기까지 시간이 점차 지연되는 특성이 있으므로, 컨볼루션 회수의 증가에 따른 지나친 반응 딜레이(delay)를 막기 위해 추종 궤적 생성 모듈(20)의 궤적 판정 모듈(22)을 이용해 1회 컨볼루션 시마다 생성되는 궤적의 적합성을 먼저 판정하도록 할 수도 있다.
n회의 컨볼루션을 통해 최종적으로 로봇이 추종하기 위한 제2 추종 궤적(132)이 생성된다.
제2 추종 궤적이 생성되면, 상기 제1 추종 궤적을 추종하여 동작하던 로봇은 제1 추종 궤적(132) 중 제2 동작 입력이 입력된 시점(tc) 이후의 궤적을 추종하여 계속 동작하게 된다.
본 실시예에 따르면, 로봇을 구동시키는 구동기의 최대 속도, 가속도 및 저크 등의 물리적 한계값을 반영하여 추종 궤적을 생성할 수 있고, 동작 도중 새로운 입력이 입력되더라도 이를 실시간으로 반영하여 새로운 추종 궤적을 간단히 생성할 수 있게 된다.
또한, 기존의 목표 궤적과 새로 입력된 목표 궤적을 각각 먼저 1회 컨볼루션하여 이를 합성하고 다시 n회 컨볼루션하는 과정으로 인해, 두 궤적의 합성 과정에서 가속도의 불연속점 등이 발생하는 것을 방지할 수 있으며, 컨볼루션 수식의 간결성으로 인해 궤적 생성에 필요한 계산량을 현저히 줄일 수 있다.
<제2실시예>
제2실시예에 따르면, 목표 궤적 생성 모듈(10)은 시간 대 속도의 함수 형태로 목표 궤적을 생성한다.
도 5(a)를 참조하면, 목표 궤적 생성 모듈(10)은 사용자의 목표 지점 입력에 대응하여 목표 궤적 y0(t)를 생성한다. 구체적으로 목표 궤적 생성 모듈(10)은 로봇이 거리(S)를 이동하여 목표 지점에 도달할 수 있도록 시간(t0)과 속도(V1)를 가지는 사각파형 함수 형태의 목표 궤적 y0(t)를 생성한다. V1은 로봇의 구동기가 낼 수 있는 속도의 최대값 Vmax를 넘지 않도록 선정된다.
목표 궤적 y0(t)는 실제 로봇이 그대로 추종할 수는 없는 궤적이다. 따라서, 목표 궤적 y0(t)는 추종 궤적 생성 모듈(20)에 의해 로봇이 실제 추종할 수 있는 추종 궤적으로 변환된다.
도 5(a)에 도시된 바와 같이, 컨볼루션 연산모듈(21)은 목표 궤적 y0(t)에 단위 면적의 사각파 함수인 컨볼루션 함수 h1(t)를 컨볼루션하여 궤적 y1(t)를 생성한다. 궤적 판정 모듈(22)은 궤적 y1(t)가 로봇이 추종하기 적합한 궤적인지 여부를 판정하기 위하여, 궤적 y1(t)의 미분함수들을 고려한다.
도 5(b)에 도시된 바와 같이, 궤적 y1'(t)는 가속도 함수로서, 목표 궤적 y0(t)를 미분한 궤적 y0'(t)에 컨볼루션 함수 h1(t)를 컨볼루션한 궤적에 해당한다.
궤적 y1(t)는 로봇의 구동기가 추종 가능하지만, 가속도 성분의 불연속성에 의해 로봇 구동기에 심한 떨림이 발생할 수 있다.
궤적 판정 모듈(22)은 궤적 y1(t)를 최종 추종 궤적으로 하기에는 부적합한 것으로 판정하고, 가속도 특성을 반영한 추종 궤적을 생성하기 위해 궤적 y1(t)를 컨볼루션 연산모듈(21)에 보내 다시 2차 컨볼루션 연산한다.
도 6에 도시된 바와 같이, 2차 컨볼루션에 사용되는 컨볼루션 함수는 단위 면적의 사각파 함수인 컨볼루션 함수 h2(t)이다.
2차 컨볼루션에 의해 궤적 y1(t)는 궤적 y2(t)로 변환된다. 도 6에 도시되 바와 같이, 궤적 y2(t)는 궤적 y1(t)에 비해 부드러운 형태로 생성된다.
궤적 판정 모듈(22)은 궤적 y2(t)가 로봇의 구동 특성에 적합한 궤적인지 여부를 판정하기 위하여, 궤적 y2(t)의 미분함수들을 고려한다. 도 6(b)에 도시된 바와 같이, 궤적 y2'(t)는 궤적 y2(t)의 1차 미분함수로서 가속도 함수에 해당하고, 궤적 y2"(t)는 궤적 y2(t)의 2차 미분함수로서 저크 함수에 해당한다.
미분함수들을 고려할 때 필요한 경우 궤적 y2(t)를 컨볼루션 연산모듈(21)에 보내 다시 3차 컨볼루션 연산을 수행할 수도 있다.
본 실시예에서도 역시 수행되는 컨볼루션의 회수에는 제한이 없으며, 컨볼루션 연산을 통해 생성된 궤적이 로봇이 추종 불가하거나 적절하지 않다면, 또는 유저가 생성된 추종 궤적의 더 상위 미분 함수의 한계값을 반영하고 싶은 경우, 이를 해소하기 위해 컨볼루션 연산을 계속적으로 수행할 수 있다.
또한, 컨볼루션 연산 모듈(21)은 반복적인 컨볼루션 연산시 사용되는 컨볼루션 함수를 결정하게 되는데, 결정시 로봇의 구동기가 가지는 물리적 한계값을 고려한다.
상술한 바와 같이, 1차 컨볼루션을 통해 궤적 P1(t)를 생성하는 경우, t1의 시간 동안 로봇이 V1에 도달하기 때문에, 그 가속도는 V1/t1이 된다. 가속도가 로봇의 구동기가 낼 수 있는 최대 가속도 Amax를 넘지 않기 위해서는 시간(t1)은 Vmax/Amax보다 작은 값으로 선정된다.
또한, 도 6(c)를 참조하면, t2의 시간 동안 로봇이 A2에 도달하기 때문에, 그 저크는 A2/t2이 된다. 저크가 로봇의 구동기가 가질 수 있는 최대 저크 Jmax를 넘지 않기 위해서는 시간(t2)은 Amax/Jmax보다 작은 값으로 선정된다.
본 실시예에서도, 하나의 추종 궤적을 추종하여 동작하는 로봇이 해당 추종 궤적을 완료하기 전에, 새로운 목표 궤적이 입력된 경우에도 로봇의 구동 한계 및 특성을 고려한 새로운 추종 궤적을 실시간으로 생성할 수 있게 된다.
이하, 도 7(a) 및 7(b)를 참조하여 설명한다.
사용자가 특정 거리를 이동하도록 제1 동작 명령을 입력하면, 목표 궤적 생성 모듈(10)은 로봇이 해당 거리를 이동하여 목표 지점에 도달할 수 있도록 시간과 속도를 가지는 사각파형 함수 형태의 제1 목표 궤적(미도시)을 생성한다. 상술한 방식으로, 추종 궤적 생성 모듈(20)은 제1 목표 궤적을 복수회 컨볼루션하여 로봇의 구동 한계값을 반영한 제1 추종 궤적(미도시)을 생성한다. 로봇은 제1 추종 궤적을 추종하여 동작한다.
본 실시예에 따르면, 도시하지 않은 측정 장치에 의해, 로봇이 제1 추종 궤적을 추종하여 동작하는 동안 로봇의 위치 및 속도를 실시간으로 검측한다.
로봇이 제1 추종 궤적을 완료하지 못한 때, 사용자가 새로운 제2 동작 입력을 입력할 수 있다.
목표 궤적 생성 모듈(10)은 제2 동작 입력이 입력된 시간(tc)에서의 상기 측정 장치에 의해 측정된 로봇의 속도(Vc)를 반영하여 제2 목표 궤적(미도시)을 생성한다.
추종 궤적 생성 모듈(20)은 당초 생성되어 있던 제1 목표 궤적과 새로 생성된 제2 목표 궤적을 각각 시간(t1) 대 시간의 역수(1/t1)의 함수인 단위 면적 사각파의 컨볼루션에 의해 컨볼루션하여, 제1 컨볼루션 궤적(112')과 제2 컨볼루션 궤적(122')를 생성한다.
이때, 상기 t1은 하기 [수학식 3]을 만족하는 값으로 선정된다.
[수학식 3]
Figure 112013036997710-pat00003
여기서, vmax와 v(1) max는 각각 상기 로봇을 구동하는 구동기가 낼 수 있는 속도와 가속도의 물리적 한계값이다.
나아가, 추종 궤적 생성 모듈(20)은 그 시작 속도가 Vc로 입력된 제2 컨볼루션 궤적(122')을 평행이동시켜, 상기 제2 동작 입력이 입력된 시점(tc)에서의 제1 컨볼루션 궤적(112')의 종료점(113')과 제2 컨볼루션 궤적(122')의 시작점(123')을 연결하여 새로운 신규 추종 궤적(131')을 생성한다.
한편, 도 7(b)에 도시된 바와 같이, 로봇의 구동 한계값을 반영하기 위하여, 신규 추종 궤적(131')을 다시 n회 컨볼루션한다. 이때, n회의 컨볼루션 연산에는 서로 다른 n개(n은 2보다 크거나 같은 자연수)의 단위 면적 사각파를 이용한다.
상기 서로 다른 n개의 단위 면적 사각파는 시간(tk) 대 시간의 역수(1/tk)의 함수이고, 여기서, k= 2,..., n이다.
앞서 설명한 바와 같이, 단위 면적 사각파의 크기를 결정하는 tk는 로봇을 구동시키는 구동기의 물리적 한계값을 반영하도록 선정되며, 앞선 실시예와 마찬가지로 상기 [수학식 2]를 만족한다.
n회의 컨볼루션을 통해 최종적으로 로봇이 추종하기 위한 제2 추종 궤적(132')이 생성된다.
제2 추종 궤적이 생성되며, 상기 제1 추종 궤적을 추종하여 동작하던 로봇은 제1 추종 궤적(132') 중 제2 동작 입력이 입력된 시점(tc) 이후의 궤적을 추종하여 계속 동작하게 된다.

Claims (15)

  1. 목표 궤적을 로봇이 실제 추종할 수 있는 추종 궤적으로 변환하는 궤적 생성 시스템으로서,
    사용자의 동작 입력에 대응하여 상기 로봇의 목표 궤적을 생성하는 목표 궤적 생성 모듈;
    단위 면적 사각파를 그에 입력된 궤적에 컨볼루션하여 추종 궤적으로 변환하는 추종 궤적 생성 모듈을 포함하고,
    상기 로봇이, 사용자의 제1 동작 입력에 의한 제1 목표 궤적을 변환하여 생성한 제1 추종 궤적을 추종하여 동작하는 도중, 사용자의 제2 동작 입력이 입력되면,
    상기 목표 궤적 생성 모듈은 제2 동작 입력에 대응한 제2 목표 궤적을 생성하고,
    상기 추종 궤적 생성 모듈은, 상기 제1 목표 궤적과 상기 제2 목표 궤적을 각각 컨볼루션하여 제1 컨볼루션 궤적 및 제2 컨볼루션 궤적을 생성하고,
    상기 제2 동작 입력이 입력된 시점에서의 상기 제1 컨볼루션 궤적의 종료점과 상기 제2 컨볼루션 궤적의 시작점을 연결하여 신규 추종 궤적을 생성하는 것을 특징으로 하는 궤적 생성 시스템.
  2. 제1항에 있어서,
    상기 추종 궤적 생성 모듈은,
    상기 신규 추종 궤적을 재차 컨볼루션 연산하여 제2 추종 궤적을 생성하는 것을 특징으로 하는 궤적 생성 시스템.
  3. 제2항에 있어서,
    상기 추종 궤적 생성 모듈은,
    상기 신규 추종 궤적을 다시 서로 다른 n개(n은 2보다 크거나 같은 자연수)의 단위 면적 사각파를 이용해 n회 컨볼루션하여 상기 제2 추종 궤적을 생성하는 것을 특징으로 하는 궤적 생성 시스템.
  4. 제3항에 있어서,
    상기 목표 궤적 및 추종 궤적은 시간 대 위치의 함수로 표현되는 것을 특징으로 하는 궤적 생성 시스템.
  5. 제4항에 있어서,
    상기 n개의 단위 면적 사각파는 시간(tk) 대 시간의 역수(1/tk)의 함수이고, 여기서, k= 1,..., n인 것을 특징으로 하는 궤적 생성 시스템.
  6. 제5항에 있어서,
    상기 tk는 하기 [수학식 2]을 만족하는 것을 특징으로 하는 궤적 생성 시스템.
    [수학식 2]
    Figure 112013036997710-pat00004

    여기서, v(k) max는 속도 함수를 k번 미분한 함수값 중 상기 로봇이 구동할 수 있는 물리적 한계값임.
  7. 제6항에 있어서,
    상기 제1 목표 궤적과 상기 제2 목표 궤적은 각각 시간(t0) 대 시간의 역수(1/t0)의 함수인 단위 면적 사각파에 의해 컨볼루션되고, 상기 t0는 하기 [수학식 1]을 만족하는 것을 특징으로 하는 궤적 생성 시스템.
    [수학식 1]
    Figure 112013036997710-pat00005

    여기서, vmax는 각각 상기 로봇이 구동할 수 있는 속도의 물리적 한계값임.
  8. 제3항에 있어서,
    상기 목표 궤적 및 추종 궤적은 시간 대 속도의 함수로 표현되는 것을 특징으로 하는 궤적 생성 시스템.
  9. 제8항에 있어서,
    상기 n개의 단위 면적 사각파는 시간(tk) 대 시간의 역수(1/tk)의 함수이고, 여기서, k= 2,..., n인 것을 특징으로 하는 궤적 생성 시스템.
  10. 제9항에 있어서,
    상기 tk는 하기 [수학식 2]을 만족하는 것을 특징으로 하는 궤적 생성 시스템.
    [수학식 2]
    Figure 112013036997710-pat00006

    여기서, v(k) max는 속도 함수를 k번 미분한 함수값 중 상기 로봇을 구동시킬 수 있는 구동기의 물리적 한계값임.
  11. 제10항에 있어서,
    상기 제1 목표 궤적과 상기 제2 목표 궤적은 각각 시간(t1) 대 시간의 역수(1/t1)의 함수인 단위 면적 사각파에 의해 컨볼루션되고, 상기 t1은 하기 [수학식 3]를 만족하는 것을 특징으로 하는 궤적 생성 시스템.
    [수학식 3]
    Figure 112013036997710-pat00007

    여기서, vmax와 v(1) max는 각각 상기 로봇이 구동할 수 있는 속도와 가속도의 물리적 한계값임.
  12. 제2항에 있어서,
    상기 제2 추종 동작 입력이 입력되면,
    상기 제1 추종 궤적을 추종하여 동작하던 상기 로봇은 상기 제2 추종 궤적 중 상기 제2 동작 입력이 입력된 시점 이후의 궤적을 추종하여 계속 동작하는 것을 특징으로 하는 궤적 생성 시스템.
  13. 목표 궤적을 로봇이 실제 추종할 수 있는 추종 궤적으로 변환하는 궤적 생성 방법으로서,
    상기 로봇을 사용자의 제1 동작 입력에 의한 제1 목표 궤적을 변환하여 생성한 제1 추종 궤적을 추종하여 동작하는 단계;
    상기 로봇이 제1 추종 궤적을 추종하여 동작하는 도중, 사용자의 제2 동작 입력이 입력되는 단계;
    상기 제2 동작 입력에 대응하는 제2 목표 궤적을 생성하는 단계;
    상기 제1 목표 궤적과 상기 제2 목표 궤적을 각각 컨볼루션하여 제1 컨볼루션 궤적 및 제2 컨볼루션 궤적을 생성하는 단계; 및
    상기 제2 동작 입력이 입력된 시점에서의 상기 제1 컨볼루션 궤적의 종점과 상기 제2 컨볼루션 궤적의 시점을 연결하여 신규 추종 궤적을 생성하는 단계를 포함하는 것을 특징으로 하는 궤적 생성 방법.
  14. 제13항에 있어서,
    상기 신규 추종 궤적을 다시 서로 다른 n개(n은 2보다 크거나 같은 자연수)의 단위 면적 사각파를 이용해 n회 컨볼루션하여 제2 추종 궤적을 생성하는 단계를 더 포함하는 것을 특징으로 하는 궤적 생성 방법.
  15. 제13항에 있어서,
    상기 제2 동작 입력이 입력되면,
    상기 제1 추종 궤적을 추종하여 동작하던 상기 로봇은 상기 제2 추종 궤적 중 상기 제2 동작 명령이 입력된 시점 이후의 궤적을 추종하여 계속 동작하는 것을 특징으로 하는 궤적 생성 방법.
KR1020130046608A 2013-04-26 2013-04-26 컨볼루션 연산을 이용한 로봇의 궤적 생성 시스템 및 방법 KR101390819B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130046608A KR101390819B1 (ko) 2013-04-26 2013-04-26 컨볼루션 연산을 이용한 로봇의 궤적 생성 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130046608A KR101390819B1 (ko) 2013-04-26 2013-04-26 컨볼루션 연산을 이용한 로봇의 궤적 생성 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101390819B1 true KR101390819B1 (ko) 2014-05-07

Family

ID=50892948

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130046608A KR101390819B1 (ko) 2013-04-26 2013-04-26 컨볼루션 연산을 이용한 로봇의 궤적 생성 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101390819B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160022659A (ko) * 2014-08-20 2016-03-02 한국과학기술연구원 하드웨어 한계를 고려하는 동작 데이터의 압축 및 복원을 이용한 로봇 동작 데이터 처리 시스템
US11008039B2 (en) * 2017-04-12 2021-05-18 Toyota Jidosha Kabushiki Kaisha Lane change assist apparatus for vehicle

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100342256B1 (ko) 1999-07-24 2002-06-27 윤종용 로봇제어시스템 및 그 제어방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100342256B1 (ko) 1999-07-24 2002-06-27 윤종용 로봇제어시스템 및 그 제어방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문1.2010.10

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160022659A (ko) * 2014-08-20 2016-03-02 한국과학기술연구원 하드웨어 한계를 고려하는 동작 데이터의 압축 및 복원을 이용한 로봇 동작 데이터 처리 시스템
EP2987591A3 (en) * 2014-08-20 2016-09-14 Korea Institute of Science and Technology Robot motion data processing system using motion data reduction/restoration compatible to hardware limits
KR101661599B1 (ko) * 2014-08-20 2016-10-04 한국과학기술연구원 하드웨어 한계를 고려하는 동작 데이터의 압축 및 복원을 이용한 로봇 동작 데이터 처리 시스템
US9561591B2 (en) 2014-08-20 2017-02-07 Korea Institute Of Science And Technology Robot motion data processing system using motion data reduction/restoration compatible to hardware limits
US11008039B2 (en) * 2017-04-12 2021-05-18 Toyota Jidosha Kabushiki Kaisha Lane change assist apparatus for vehicle

Similar Documents

Publication Publication Date Title
US10406686B2 (en) Bare hand robot path teaching
CN108340351B (zh) 一种机器人示教装置、方法及示教机器人
CN110799309B (zh) 具有配置相关动力学的系统的振动控制
WO2018086226A1 (zh) 机械臂的控制方法和装置
CN109551485B (zh) 运动控制方法、装置和系统及存储介质
Luo et al. Real time human motion imitation of anthropomorphic dual arm robot based on Cartesian impedance control
KR102030141B1 (ko) 로봇의 팔꿈치 제어시스템 및 그 제어방법
US9561591B2 (en) Robot motion data processing system using motion data reduction/restoration compatible to hardware limits
JP2015160277A (ja) ロボットの動作経路を生成するロボットシミュレーション装置
KR20100081824A (ko) 로봇의 경로계획장치 및 그 방법
CN103737592A (zh) 一种机械手精确控制系统及其方法
JP2024015262A (ja) モーションキャプチャを介したロボットカメラ制御
JP2015058492A (ja) 制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム
KR101390819B1 (ko) 컨볼루션 연산을 이용한 로봇의 궤적 생성 시스템 및 방법
JP2014203463A5 (ko)
JP6217089B2 (ja) ロボット制御システム、ロボット、ロボット制御方法及びプログラム
Brecher et al. Towards anthropomorphic movements for industrial robots
CN109605378B (zh) 运动参数的处理方法、装置和系统及存储介质
CN107553485B (zh) 一种人机交互过程中动态虚拟夹具的生成方法
CN103472923B (zh) 一种三维虚拟手势选择场景物体的方法
JP5447811B2 (ja) 経路計画生成装置および該方法ならびにロボット制御装置およびロボットシステム
JP2020062741A (ja) 制御装置、作業ロボット、プログラム、及び、制御方法
JP2015058493A (ja) 制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム
JP2012051080A (ja) ロボット及びその制御方法
KR101328101B1 (ko) 로봇 제어 장치 및, 그 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170403

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180409

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190423

Year of fee payment: 6