[go: up one dir, main page]

KR20240032103A - 시간-최적 궤적을 결정하기 위한 방법 및 장치 - Google Patents

시간-최적 궤적을 결정하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20240032103A
KR20240032103A KR1020247004413A KR20247004413A KR20240032103A KR 20240032103 A KR20240032103 A KR 20240032103A KR 1020247004413 A KR1020247004413 A KR 1020247004413A KR 20247004413 A KR20247004413 A KR 20247004413A KR 20240032103 A KR20240032103 A KR 20240032103A
Authority
KR
South Korea
Prior art keywords
path
partial
movement
trajectory
parameters
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
KR1020247004413A
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 스티와 에이엠에스 게엠베하
Publication of KR20240032103A publication Critical patent/KR20240032103A/ko
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40463Shortest distance in time, or metric, time optimal
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40466Plan for minimum time trajectory, at least one joint maximum torque

Landscapes

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

Abstract

본 발명은 경로에서 이동 파라미터에 의해 사전에 정의된 산업용 로봇의 이동을 위한 이동 시작 전에 시간-최적 궤적을 결정하기 위한 방법, 장치 및 컴퓨터 프로그램 제품에 관한 것이다. 상기 방법은 경로를 하나 이상의 부분 경로로 분할하는 단계 및 각각의 부분 경로에 대한 시간-최적 궤적을 계산하는 단계, 모든 부분 경로에 대한 시간-최적 궤적을 병합하는 단계, 사전에 결정된 제한이 초과되지 않고, 가장 빠른 이동이 발견되었는지 확인하는 단계 및 하나 이상의 이동 파라미터를 변경하는 단계의 사전에 결정된 반복 횟수를 수행하는 단계를 포함한다.

Description

시간-최적 궤적을 결정하기 위한 방법 및 장치
본 발명은 특정 제한을 준수하는 산업용 로봇의 시간-최적 궤적의 결정에 관한 것이다.
산업용 로봇은 직렬 및 병렬 기구학 클래스로 분류되며, 회전식 구성과 선형 구성을 갖춘 다양한 수의 액추에이터 또는 조인트와 함께 사용될 수 있다. 일반적으로, 이러한 로봇은 엔드 이펙터의 (데카르트) 공간의 특징 지점, 일반적으로 공구 중심 지점(TCP)이 특정 경로를 따르도록 이동을 수행한다. 각각의 재고에서 여러 구성요소를 수집하는 것과 같은 다양한 작업 프로세스를 수행하는 로봇과 예를 들어, 작업을 처리하는 것과 같이, 항상 동일한 이동을 수행하는 로봇이 있다.
표준 VDI 지침에 따르면, 로봇은 "이동 순서 및 루트 또는 각도에 관한 이동을 자유롭게(즉, 기계적 개입 없이) 프로그래밍할 수 있고 적용 가능한 경우 센서를 통해 안내할 수 있는 여러 차축(axle)을 갖춘 [...] 보편적으로 배치 가능한 이동 자동 장치로 정의된다. 이들에는 그래버, 공구 또는 기타 생산 수단이 장착될 수 있으며, 취급 및/또는 생산 작업을 수행할 수 있다."
일반적으로 효율성과 경제적인 이유로 가능한 가장 빠른 처리를 달성하는 것이 바람직하므로, 이들이 가능한 한 최적, 즉, 시간-최적의 경로를 따르는 것이 바람직하다.
따라갈 수 있는 경로에는 근본적으로 두 가지 유형, 기하학적으로 공간적으로 정의된 경로 및 기하학적으로 공간적으로 자유로운 경로가 있다. 일반적으로, 기하학적으로 공간적으로 정의된 경로는 시작 지점에서 끝 지점까지 이어지는 직선 또는 원형 세그먼트와 같은 경로이다. 이로써 경계 지점 외에도 경로의 기하학적 공간 형상도 사전에 정의된다. 이러한 경로는 일반적으로 연속 경로의 경우 CP 경로라고 한다.
지점 간 PTP 경로는 다른 유형의 이동을 나타내며, 일반적으로 축 좌표의 시작 및 목표 지점만 사전에 정의되고, TCP 공간 자체의 데카르트 경로는 그렇지 않다. 이 이동의 특징은 목표 지점에 최대한 빨리 도달할 수 있다는 것이다. 경계 지점 외에도 PTP 경로에는 통과해야 하는 추가 그리드 지점이 있을 수도 있다.
경로 유형 CP와 PTP 모두 일반적으로 로봇 및/또는 페이로드 또는 공구를 보호하는 역할을 하는 특정 제한과 같은 프레임워크 조건의 적용을 받는다. 한편으로는 장애물이나 다른 로봇의 이동 영역을 피해야 하기 때문에 로봇은 특정 영역에서만 이동할 수 있으며, 다른 한편으로는 로봇은 초과해서는 안되는 기계적 부하 제한을 갖는다. 프로세스 자체에도 접착이나 용접 시 일정한 속도와 같은 제한이 필요할 수 있다. 그러나, 따라야 할 경로의 정밀도(예를 들어, 밀링)는 역학의 제한을 결정한다.
속도 및 가속도 사양과 같은 이동 파라미터에 기초하여 로봇 제어부 상에서 경로를 계산하는 방법이 종래 기술에 알려져 있다. 따라서, 일반적으로 최소 이동 시간에 관한 최적의 결과를 얻는 것보다 계산 속도가 더 중요하다. 한편, CP 및 PTP 경로를 개별적으로 계산하는 방법이 알려져 있다.
일반적으로, (예를 들어, 그리드 지점에서) 경로 지점의 변화(예를 들어, 피킹할 피스의 위치가 다르기 때문에 피킹 시 변경된 위치에 대해)에 반응할 수 있도록 따라야 하는 전체 경로의 모든 샘플링 시간에서 모든 조인트 각도의 전체 목록이라는 의미에서 움짐임 시작 시 경로가 완전히 계산되지 않는다. 이는 "온라인" 계산 방법이라고도 한다. 일반적으로, 어드밴스 포인터와 프로그램 런 포인터 개념이 사용된다. 그러나, 이는 계산을 위해 매우 빠른 방법(성능 시간 측면에서)이 제공되어야 한다는 중요한 단점이 있다. 이는 지정된 계산 시간 내에 결과를 제공하기 위해 차선책 솔루션에 의존해야 함을 의미한다.
CP 경로를 결정할 때, 일반적으로 속도, 가속도 및 특수한 경우 예상되는 모터 토크(로봇의 역학 모델로 표시될 수 있음)만 최적화되므로, 수학적으로 문제는 최적화 함수 측면에서 볼록한 상태로 유지되어 계산하기가 더 쉽다. 선택적으로, 경로 파라미터 σ의 다양한 필터(평균 필터, 베셀 필터 등)를 사용하여 경로를 "평활화"할 수 있으므로, 저크(시간 후 가속도의 미분)를 어느 정도 고려하여 제한할 수 있다.
결합된 PTP 경로를 결정할 때(즉, 통과할 여러 그리드 지점이 있거나 일반적으로 CP-PTP 조합이 있는 경우), 오버레이는 일반적으로 의존된다. 그러면 모든 부분 스트레치가 개별적으로 계산되고(속도가 0이라는 경계 조건을 사용하여), 그런 다음 중간 섹션은 (예를 들어, 오버레이 구의 반경을 사용하여) 이들 서브-스트레치가 남을 수 있는 영역을 지정함으로써 삽입된다(일반적으로, 추가 PTP 경로). 따라서, 경로는 계산하기가 더 쉽지만 최적이 아니다. 플라이-바이(fly-by) 지점으로 알려진 것에 대해서도 언급되어 있다.
따라서, 당업계에 알려진 방법의 단점은 결과의 효율성이 불충분하고, 이러한 혼합 경로를 결정하기 위한 이동 시간 측면에서 시간-최적 방법이 부족하다는 것이다.
본 발명의 목적은 종래 기술의 단점을 극복하고, 개선된 또는 적어도 대안적인 경로 계획 방법을 제공하는 것이다.
이 목적은 청구항에 따른 방법 및 장치에 의해 해결된다.
본 발명의 더 나은 이해를 위해, 다음의 도면을 참조하여 더 자세히 설명된다. 이들 도면은 상당히 단순화된 도식 표현으로 도시된다.
도 1은 다양한 경로 섹션과 그리드 지점이 있는 6-축 관절식 암 로봇의 경로를 도시한다.
도 2는 다양한 경로 섹션이 있는 SCARA 로봇의 경로를 도시한다.
도 3은 7-위상 궤적을 사용하여 계산된 궤적의 예를 도시한다.
도 4는 직사각형 가속도 프로파일을 갖는 궤적에 이동 평균 필터의 적용을 도시한다.
도 5a 및 도 5b는 7-위상 궤적과 이동 평균 필터 적용의 비교를 도시한다.
도 6은 단편적으로 정의된 3차 다항식에 의해 결정되는 경로의 예시적인 표현을 도시한다.
도 7은 5차 다항식으로 정의된 경로에 의한 시작 지점과 끝 지점의 결합을 도시한다.
도 8은 7-위상 궤적과 동기화 궤적을 사용한 PTP 경로의 계산을 위한 흐름도이다.
도 9는 위치 제한이 있는 PTP 경로의 예를 도시한다.
도 10은 x 및 y 좌표의 결합된 경로를 사용한 루트 파라미터의 표현을 도시한다.
도 11은 루트 파라미터에 따라 검출된 속도, 가속도 및 저크의 표현을 도시한다.
도 12는 루트 파라미터와 시간의 상관관계를 도시한다.
도 13은 루트 파라미터 σ를 사용한 파라미터화에 의해 위상 공간에서 최적화 문제의 표현을 도시한다.
도 14는 그리드 지점이 있는 CP 및 PTP 경로의 조합을 도시한다.
도 15는 본 발명에 따른 흐름도이다.
도 16은 본 발명에 따른 흐름도이다.
도 17은 경로의 기하학적 구조를 조정하는 방법을 도시한다.
여기서, 다르게 설명된 실시예들에서 동일한 부재에는 동일한 도면부호 또는 동일한 부재 구성이 부여되었다는 점은 주목할 가치가 있지만, 전체 설명에 걸쳐 포함된 개시 내용은 동일한 도면부호 또는 동일한 부재 구성을 갖는 동일한 부재에 유사하게 적용될 수 있다. 위, 아래, 측면 등 설명에서 선택된 위치의 표시는 직접 설명 및 도시된 도면을 참조하며, 이들 위치의 표시는 위치가 변경될 경우 새로운 위치에도 동일하게 적용될 수 있다.
도 1은 다양한 경로 섹션과 그리드 지점이 있는 6-축 관절식 암 로봇(100)의 경로를 도시한다. 이로써, 로봇(100)은 TCP(110)를 시작 지점(121)에서 끝 지점(122)으로 이동시킨다. 이를 통해, 그리드 지점(131, 132, 133)을 통과하게 된다. 시작 지점과 끝 지점은 항상 그리드 지점으로 표시되고 처리될 수 있다.
경로는 그리드 지점(131, 132, 133)을 통해 부분 경로(141, 142, 143, 144)로 분할될 수 있다.
예를 들어, 분할에 의해 얻어진 부분 경로는 사용자에 의해 사전에 정의될 수 있고, 예를 들어, 2개의 그리드 지점 사이의 경로는 개별 부분 경로로 처리되어야 한다. 일반적으로, 프로세스는 다음과 같다: 연속적인 PTP 섹션을 사용하면 부분 경로가 항상 2개의 그리드 지점 사이에 생성된다. CP 섹션을 사용하면 부분 경로가 즉시 연속되고 CP 유형(예를 들어, "PTP 중단 없음")으로 선언되는 그리드 지점에 의해 정의된다.
그러나, 분할은 주변 경계와 같은 추가 조건과 함께 시작 지점 및 목표 지점을 간단히 사전에 정의함으로써 자동으로 결정될 수도 있다. 따라서, 그리드 지점은 PTP 경로의 경우처럼 부분 경로 사이의 추가 분할로 표시되거나 CP 부분 경로의 중간 지점의 경우처럼 분할에서 고려되지 않은 상태로 유지될 수 있다.
도 1은 그리드 지점이 4개의 부분 경로로 분할을 수행하는 예를 도시한다. 부분 경로는 미리 CP 유형 또는 PTP 유형으로 분류될 수 있지만, 경로를 자동으로 분석하여 각각의 부분 경로에 CP 유형 또는 PTP 유형을 할당하는 것도 가능하다. 부분 경로(141, 144)는 각각 CP 유형의 부분 경로이고, 이 특별한 경우에는 직선이며, 부분 경로(142, 143)는 각각 PTP 유형의 부분 경로이다.
도 1 및 또한 부분적으로 다른 도면에 도시된 경로는 본 발명에 따른 방법의 결과, 특히, PTP 경로의 데카르트 기하학적 구조를 나타낸다는 점에 유의해야 한다. 따라서, 로봇이 따라갈 경로는 경로 파라미터에 의해 미리 결정된다. 이들 경로 파라미터에는 그리드 지점, 즉, 시작 지점, 끝 지점 및 기타 그리드 지점에 관한 정보가 포함될 수 있다. 시작 지점 및 끝 지점은 그리드 지점 역할을 하거나 그렇게 해석될 수도 있다는 점에 유의해야 한다. 또한, 부분 경로의 경로 유형이 포함될 수 있다. 마지막으로, 경로 파라미터는 하나 이상의 부분 경로에 대해 각각의 부분 경로를 따라 이동하기 위한 최대 속도도 포함하는 것이 가능하다. 경로 파라미터 외에, 이후에 설명되는 허용된 역학의 제한 등도 알려져 있다.
도 2 다양한 경로 섹션이 있는 SCARA 로봇(200)의 경로를 도시한다. SCARA 로봇(선택적 준수 어셈블리 로봇 암)은 어셈블리가 인간 팔과 유사한 산업용 로봇의 유형이다. 여기서, 로봇(200)의 TCP(210)는 개략적으로만 도시되고 그리드 지점(231 및 232)에서 부분 경로(241, 242 및 243)로 분할될 수 있는 경로를 따라 진행한다. 이로써, 부분 경로(241, 243)는 PTP 유형이고, 부분 경로(242)는 CP 유형이다. PTP 경로(241 및 243)는 예상되는 공간 기하학적 구조의 관점에서 개략적으로만 도시된다.
또한, 도 1 및 도 2에 도시된 6-축 관절식 암 로봇과 SCARA 로봇이 모든 가능한 산업용 로봇의 예일 뿐이라는 점에 유의해야 한다. 본 발명에 따른 방법은 본원 명세서에서 논의된 경로 계획의 대상이 되는 모든 산업용 로봇에 사용될 수 있다. 다른 예로는 델타 로봇과 포털 기구학이 있다.
상기 방법의 하나의 목적은 산업용 로봇(100, 200)에 대한 시간-최적 이동 경로를 제공하는 것이다. 이는 품질 함수 J에 의한 최적화 방법으로서 수학적으로 표현된다:
t는 시간을 나타내고, TE는 시간 간격 또는 도달한 종료 시간을 나타낸다.
차축 i 당 경계 조건(역학의 제한, 최소 또는 최대로 선언됨) 및 보조 조건은 최적화 중에 준수되어야 한다:
여기서, q는 축 각도, 조인트 각도 또는 로봇 좌표나 로봇 차축 위치(회전 또는 병진 가능)를 나타내고, 는 속도를 나타내며,는 가속도를 나타내고, 는 저크를 나타내며, τ는 모터 토크 또는 일부 로봇 유형의 구동력을 나타내고, s는 경로 루트를 나타낸다.
이는 상기 방법이 위치 평면(단, PTP 경로에서만, CP 경로에서는 작업자의 입력 또는 결과 기하학적 구조가 적용됨), 속도(위치의 시간 미분), 가속도(속도의 시간 미분) 및 저크(가속도의 시간 미분)에서 로봇 차축 당 조인트 공간의 제한을 준수함을 의미한다.
필요한 경우, 경로의 다른 제한(예를 들어, 경로 가속도)과 함께 CP 경로의 경로 속도()가 추가로 제한될 수 있다. 또한 역학 모델, 즉, 로봇의 수학적 모델이 있는 경우 예상되는 모터 토크(τi)가 제한될 수 있다.
실제로, 계산 시간(즉, 결과를 제공하는 방법에 필요한 시간)도 매우 중요하다. 유리하게는, 시동 중 계산이 몇 밀리초에서 몇 초 이상 걸리지 않아야 한다는 것이다.
상기 방법은 완전히 정의된 경로의 궤적을 계산하므로, 이동 시작 시 궤적을 사용할 수 있다. 이는 "오프라인" 방법이라고도 한다. 그렇게 함으로써, 경계 및 그리드 지점, 경로 유형, 차축 제한, 경로 제한, 이동 또는 기구학적 파라미터, 샘플링 시간에 대한 정보가 입력 값으로 사용될 수 있다. 그러면, 출력 값은 시간 간격(샘플링 시간)당 조인트 각도 qi(t)가 될 수 있다.
그 결과는 산업용 로봇(100, 200)의 조인트 각도(조인트 또는 차축당)가 시간 간격당 지정된 매트릭스(또는 테이블 또는 리스트)로 표시될 수 있다. 이 정보는 로봇 제어부에 제공된다. 이동 제어를 위해, 이 테이블은 모터를 기준으로 한 주기적 목표 값으로 처리된다.
따라서, 시작 지점에서 끝 지점까지의 이동은 해당 조인트 각도와 각각의 시간이 저장되는 매트릭스에 의해 정의된다. 따라서, 이 테이블의 주기적 목표 값은 주어진 보조 조건을 준수하여 궤적을 따른 이동을 달성한다.
이동 파라미터 또는 기구학적 파라미터는 또한 암 길이, 질량, 관성, 로봇(100, 200) 기어박스 정보와 같은 데이터 및 거리, 질량 및 관성과 같은 공구 파라미터를 포함할 수 있다.
도시된 계산 방법에서는 직접 기구학이라고도 하는 순방향 변환 또는 역 기구학이라고도 하는 역방향 변환을 사용할 수 있다.
순방향 변환 p=T(q)은 조인트 각도(q)(로봇 좌표)에 따른 포즈(p)별 계산을 나타낸다. 수학적 관점에서, 상기 변환이 직렬 기구학인 경우 명백하다. 이는 평행 기구학의 일반적인 용어로 표현될 수 없다.
역방향 변환 q=T-1(p)은 세계 좌표(즉, 포즈 p)에 따른 조인트 각도(q)의 계산을 나타낸다. 수학적 관점에서, 상기 변환은 직렬 기구학에 대해 명확하지 않으며, 일반적으로 여러 솔루션에서 적용 가능한 솔루션을 결정하기 위해 추가 파라미터가 요구된다. 평행 기구학의 경우 해결하기 더 쉬운 문제가 발생하는 경우가 많다. 조인트 좌표의 결정은 삼각 함수의 도움을 받아 벡터 체인을 사용하여 수행될 수 있다.
더욱 복잡한 산업용 로봇에서는 모터 토크 제한(관성 효과로 인해: 코리올리스, 원심력, 마찰 등)이 가속 또는 감속 제한을 사용하여 충분히 표현될 수 없다. 이 요구 사항을 충족하려면 차축의 위치(q), 속도()및 가속도()에 따라 모터 토크(τ)를 계산하는 수학적인 기구학 모델이 필요하다. 일반적으로, 이러한 모델은 다음과 같은 비-선형 방식으로 표현될 수 있다(M: 질량 매트릭스, C: 코리올리 및 원심 효과에 관한 매트릭스, F: 쿨롱 마찰 매트릭스, G: 중량력 및 기타 비-선형성의 벡터):
이 모델은 모두 식별될 수 없는 복수의 파라미터(기구학적 및 역학 파라미터)에 의존한다. 이후에 식별 가능한 파라미터 및 식별 불가능한 파라미터로 분할을 수행하기 위해 기본 파라미터 표현으로 알려진 모델의 변환이 필요하며, 더 나아가 실제 파라미터를 결정하기 위해 식별 여정이 수행되어야 한다. 기본 파라미터 표현(여기서, θ는 정보 매트릭스이고 p는 파라미터 벡터임)은 다음과 같다:
이는 일반적으로 작업 부하 또는 타당성 계산을 수행할 때 예상되는 모터 토크로 사용된다.
지점 간 경로(PTP 경로)에서, 시작 위치와 끝 위치는 차축당 궤적(경로)을 통해 조인트 평면(즉, 로봇 차축 위치)에서 연결된다. 동일한 토큰으로 이는 (TCP의) 기하학적 공간 경로가 계산과 관련이 없으며, 따라서, TCP(110, 210)의 기하학적 구조가 차축의 역학(속도, 가속도 및 저크의 제한)으로 인해 암묵적으로 도출된다.
가장 느린 이동 시간에 선택적으로 동기화될 수 있는 다양한 개별 궤적(차축당)이 계산에 사용된다.
PTP 경로의 개별 궤적으로 또는 CP 경로의 루트 플래너용 궤적으로 사용될 수 있는 7-위상 궤적을 사용하면 저크에 대해 직사각형 형상이 추정된다. 다른 설명 경로 파라미터(예를 들어, 가속도, 속도 및 위치)와의 관계는 적분을 통해 제공된다. 따라서, 이러한 궤적은 "뱅-뱅" 궤적 그룹에도 속하는데, 왜냐하면 이 궤적 그룹의 저크는 3개의 값, 즉, 0, 최대값 또는 최소값만 추정할 수 있기 때문이다. 저크 값이 0인 경우, 그에 따라 가속도나 속도도 최대가 된다. 따라서, 다른 모든 경로 파라미터(예를 들어, 섹션의 지속 시간)는 저크 결정 시에 그리고 보조 조건을 고려하여 계산될 수 있다.
시간 벡터의 7-위상 궤적은 속도 제한, 가속도 제한 및 저크를 제한하기 위해 각각의 최대 값이 적용되는 7개의 가능한 위상 또는 섹션으로 구성될 수 있다. 이들 제한 사항에 의해 이 3중 구분 가능한 경로는 이동 시간(TE)을 사용하여 가능한 가장 빠른 경로이다.
도 3은 7-위상 궤적을 사용하여 계산된 궤적의 예를 도시한다. 저크와 보조 조건의 선택으로 인해, 가속도, 속도 및 위치는 적분을 통해 도출될 수 있다. 도 3에서, 축들은 루트 또는 위치를 나타내는 s, 속도를 나타내는 v, 가속도를 나타내는 a, 저크를 나타내는 j, 시간을 나타내는 t로 레이블이 지정된다. 별도로 지정하지 않는 한 이 라벨은 다른 도면에도 적용된다.
위치 진행 상황은 좌측 상단에 도시된다. 속도 진행 상황은 좌측 하단에 도시된다. 가속도 진행 상황은 우측 상단에서 볼 수 있다. 저크 진행 상황은 우측 하단에서 볼 수 있다. 시간은 수평축으로 모든 부분에 표시되며 섹션들로 구분된다. 도면에서, 이들 섹션의 크기는 동일,즉, 등거리이지만, 이는 설명을 위한 것일 뿐 일반적으로 그렇지 않다. 실제로, 시작 시간과 종료 시간이 동일하기 때문에 섹션이 표시되지 않는 경우도 있다.
따라서, 각각의 섹션에서 제한(즉, 속도, 가속도 또는 저크) 중 하나가 최대 허용 값에 도달하는 것을 볼 수 있다. 이는 각각의 이미지에서도 볼 수 있으며, vmax, amax(수직축의 양수 및 음수) 및 jmax(수직축의 양수 및 음수)로 표시된다.
시작 지점과 끝 지점 외에도, 속도(vS, vE) 및 가속도(aS, aE) 경계 조건도 고려된다. 여기서 지수(S)는 시작 지점의 조건을 나타내고, 지수(E)는 끝 지점의 조건을 나타낸다.
k>1로, 특히, 경계 조건(vS, vE, aS, aE 중 하나가 0이 아닌 경우)으로 경로 를 신장할 때, 솔루션이 존재한다는 수학적 보장이 없다. 이러한 신장을 계산하기 위한 다양한 방법이 있다.
대안적으로, 가속도에서 직사각형 경로가 추정될 수 있으며, 이어서, 필터 폭(시간과 관련된)(tfilt)을 갖는 이동 평균 필터가 중첩되어 저크 제한을 고려할 수 있다.
대안적으로, 궤적은 정현파 프로파일로 구성될 수 있다. 다른 대안도 상정 가능하다.
도 4는 직사각형 가속도에 필터의 적용을 도시한다. 도면부호 410은 필터의 임펄스 응답을 나타내며, 그 형상이 가속도에 큰 영향을 미친다. 이 경우, 단순 평균 필터의 응답으로 도시된다. 도 4에서, 축에는 시간(t)과 가속도(a)가 도시되어 있다.
7-위상 궤적과 직사각형 경로가 이동 평균 필터와 비교되는 경우에, 도 5a 및 도 5b에서 알 수 있는 바와 같이, 이들은 많은 영역에서 동일하다.
도 5a 및 도 5b는 7-위상 궤적 및 필터의 적용을 비교한 것을 도시한다. 도 5a에서는 속도 제한이 활성화된 반면, 도 5b에서는 제한에 도달하지 못한다. 또한, 도 5b에서는 7-위상 궤적이 도달되지 않은 속도 제한으로 인해 "5-위상" 궤적으로 변질되는 것에 주목해야 한다.
위치 진행 상황은 좌측 상단에 도시된다. 속도 진행 상황은 좌측 하단에 도시된다. 가속도 진행 상황은 우측 상단에서 볼 수 있다. 저크 진행 상황은 우측 하단에서 볼 수 있다.
가속도에서 직사각형을 갖는 원래 궤적은 각각의 그래프에서 볼 수 있다. 원래 궤적은 실선(―)으로 표시된다. 또한, 필터의 적용 후에 궤적이 보일 수 있다. 이는 대시와 점(-·-)이 교대로 표시되는 선으로 표시된다. 보일 수 있는 궤적은 7-위상 궤적이다. 이는 점선(·····)으로 표시된다. 특히, 위치 및 속도에 대한 그래프에서, 필터링된 궤적 및 7-위상 궤적의 선은 일치하는 진행을 갖는다. 이는 가속도 및 저크에 대해 도 5a에 도시된 그래프에서도 마찬가지이다. 가속도 및 저크에 대해 도 5b에 도시된 그래프에서만 이들 2개의 선이 적어도 부분적으로 발산되는 진행을 갖는다.
필터를 갖는 경로의 이점은 계산이 훨씬 간단하고 주어진 경계 조건(vS, vE, aS, aE)을 사용하여 소망하는 시간으로 경로를 신장하는 경우에도 보장된 결과가 제공된다는 것이다. 단점은 제한의 특정 배열(속도 제한에 도달하지 않은 경우)에서, (도 5b의 우측 하단에 도시된 바와 같이) 저크가 불충분하게 제한된다는 것이고, 즉, 요구되는 것은 두 가지이다.
대안적으로, 속도 프로파일(예를 들어, 직사각형 프로파일로 구성)을 두 번 평균 필터링하면 유사한 결과를 얻을 수 있다.
예를 들어, 7-위상이 계산될 수 없거나 또는 필터링된 가속도 직사각형 프로파일이 역학 제한에 도달하지 않는 경우 특히, 동기화를 위해 스플라인 경로가 사용될 수 있다. 스플라인 또는 다항식 섹션의 경로는 위치 평면에서 3차 다항식의 예시적인 표현을 도시한 도 6에서 알 수 있는 바와 같이, 큐빅 스플라인의 스타일로 구성되며, 3차 다항식을 갖는 4개의 부분 섹션으로 이루어진다. 위치는 시간적으로 4개의 부분으로 분할되며, 시작 지점(sS) 및 끝 지점(sE)을 갖는다.
2개의 지점을 역학적으로 연결하는 가장 간단히 생각할 수 있는 궤적은 다항식 궤적을 생성함으로써 얻어진다. 본 발명에서는 각도, 속도 및 가속도와 함께 저크도 고려되므로, 5차 다항식이 사용되되, 여기서 ai는 다항식 계수이다:
도 7은 시작 지점과 끝 지점을 5차 다항식으로 연결한 것을 도시한다. 해당 속도는 제1 미분에 의해 얻어진다. 이 다이어그램에서, 시간(t)은 우측에 도시되고, 위치(s)와 속도(v)는 위쪽을 향해 도시된다.
역학적으로 이 궤적이 가장 매끄러워도, 즉, 저크가 최소화되어도 여기서는 미리 제한이 고려될 수 없다. 따라서, 이 궤적은 특히, 동기화 부분에 사용된다. 이는 "최소 저크 궤적"이라고도 알려져 있다.
주어진 경계 조건과 제한을 사용하여 PTP 경로를 계산하는 방법이 도 8에 도시되어 있다. 경계 조건, 특히 각각의 차축의 각각의 속도와 가속도는 경로의 시작 지점 및 끝 지점에서 고려되어야 한다.
도 8에서는 단계(801)에서 데이터 입력이 시작되는데, 예를 들어, 경로는 시작 지점에서 끝 지점까지 이어져야 하고, 시작 지점 및 끝 지점에서의 경계 조건도 입력된다. 802는 차축당 최대 가속도, 최대 속도 및 최대 저크와 같은 제한을 지정한다.
둘 다 차축당 7-위상 궤적을 결정하기 위해 803에서 처리된다. 7-위상 궤적 대신에, 궤적을 계산하는 다른 접근 방식, 즉, 일반적으로 뱅-뱅 궤적, 특히, 가속도에서 평균 필터링된 직사각형 궤적을 적용할 수도 있다.
804에서는 가장 느린 차축이 검출되고, 예비 PTP 이동 시간(Tsync)이 결정된다.
단계(805)에서, 나머지 모든 차축은 Tsync에 대한 동기화(신장) 관점에서 추가 7-위상 궤적에 걸쳐 신장된다. 여기서도 위에서 설명한 대로 다른 궤적 중 하나를 사용할 수 있다.
단계(806)에서는 동기화가 성공적으로 계산될 수 있는지 확인하기 위해 검사가 수행된다. 그렇다면, 단계(808)가 진행되고, 그렇지 않은 경우, 단계(808)로 진행하기 전에 단계(807)에서 스플라인 경로가 계산된다. 또한 여기서는 임의의 동기화 궤적이 사용될 수 있다는 점에 유의해야 한다.
단계(808)는 제한이 충족되는지 여부를 확인한다. 특히, PTP 경로의 차축 위치 제한이 규정된 범위 내에서 유지되는지 여부와 차축당 가속도, 속도 및 저크가 제한 내에 있는지 여부가 확인된다.
단계(808)에서 계산된 경로가 이동 중에 그 값이 제한 내에 유지되는 것을 허용하지 않는 것으로 결정되면, 각각의 이동 파라미터를 사용하여 이 경로의 계산이 단계(809)에서 중단된다.
그런 다음, 도 8의 방법은 이동 파라미터에 대한 새로운 값을 사용하여 다시 시작될 수 있다.
단계(808)에서 제한이 도달된 것으로 결정되면, 단계(810)에서 역학의 감소가 수행될 수 있다. 역학 감소는 개별 이동(예를 들어, 가속도, 스플라인, 다항식 경로 등의 평균 필터링된 직사각형 및 차축당 위치, 속도, 가속도 및 저크의 제한이 준수될 수 있는지 여부를 반복 확인)을 교환함으로써 달성된다.
마지막으로, 단계(811)에서는 산업용 로봇(100, 200)의 모터 각각에 대한 모터 토크 제한이 준수되는지 여부에 대한 확인이 수행된다. 그렇지 않은 경우, 제한은 단계(812)에서 일시적으로 감소되고, 즉, 역학 모델로 인해 감소되어야 하는 이들 제한(vmax 및/또는 amax)이 검출되고, 상기 방법은 초기에 정의된 제한(802) 대신에 감소된 제한이 사용되는 새로운 제한을 가지고 단계(803)로 다시 점프한다.
단계(811)에서 모터 토크 제한이 도달된 것으로 결정되면, 본 발명에서 전체 경로의 부분 경로일 수 있는 PTP 경로의 계산이 단계(813)에서 종료된다.
차축 또는 조인트당 위치 제한은 역학을 감소시킴으로써 간접적으로만 고려된다는 점에 유의해야 한다. 이 방법을 사용하면, TCP는 (도 8에 도시되지 않은 공간 좌표의 확장된 확인을 통해) 특정 작업 영역에서 제한될 수도 있다.
도 9는 z에서 위치 제한(920)을 갖는 PTP 경로(910)의 포털 취급(가능한 x, y, z 이동)의 예를 도시한다. 이 위치 제한은 시작 지점 및 끝 지점의 속도와 가속도, 즉 vS, aS, vE 및 aE가 조정되는 경우에만 준수될 수 있다.
도시된 프로세스는 이러한 방식으로 부분 단계의 계산 시간으로 인해 계산 단계의 순서가 최적이기 때문에 특히 유리하다.
경계 조건이 없는 경우, 즉, 시작 지점이나 끝 지점에서 속도 및 가속도가 0(vS, vE, aS 및 aE = 0)인 경우에, 임의의 경우에도 적어도 하나의 솔루션이 있고, 중단 단계는 활성화되지 않는다(즉, 부분 단계(809)는 활성화되지 않음).
적어도 하나의 부분 경로로 이루어지고, 부분 경로가 CP 경로, PTP 경로 또는 이들의 조합인 경로에 대한 시간-최적 궤적을 결정하기 위해 사용될 수 있는 방법이 다음에 설명된다.
이들 방법에서, 중단 기준은 특정 반복 횟수에 의해 결정된다. 다음에서는 v-반복이라고도 하는 속도에 관한 반복 방법에 대해 설명되고, 여기서, 속도 어레이(viter)는 n 속도 전환으로 지정된다(예를 들어, viter = [vmax,1, …, vmax,n]/MaxIter). 이를 통해 가능한 속도가 테스트되고, 전체 경로에 걸쳐 가장 짧은 이동 시간을 생성하는 항목이 "최고" 속도로 적용된다.
예를 들어, v-반복과 같이, 적어도 하나의 전환이 있는 경우 다음 의사(pseudo)-코드가 사용될 수 있다.
for j = 1:MaxIter % maximum number of iterations
for i = 1:NumOfVelArray % maximum number of velocity
% transitions
vold = VelArray(i); % note old value
VelArray(i) = j*viter(i);
% function which analyses all partial methods CP, PTP
% and calculates the travel time J with the given
% boundary conditions (= velocity transitions)
J = SumTravelTimesOfPartialPaths()
if J <= JBest
% shorter travel time could be achieved due to
% increase and save → as best result so far
JBest = J;
else
% otherwise undo increase
VelArray(i) = vold;
end
end
end
여기서는 각각의 속도 전환이 실제로 각각의 추가 전환(즉, 가능한 모든 솔루션과 그 조합의 계산)과 결합되어야 하기 때문에 차선책 솔루션만이 발견되는 것이 전적으로 가능하다. 그러나, 속도를 점진적으로 증가시킴으로써 최적이 매우 잘 결정할 수 있다는 것이 관찰되었다.
(예를 들어, 세계 좌표에서) 기하학적으로 정의된 공간 경로, 즉, CP 경로는 직선, 원형 경로, 스플라인 경로 또는 기타 수학적 함수(예를 들어, 나선) 또는 이들의 조합일 수 있다. CP 경로를 따라 최적 이동을 계산하는 제1 단계는 루트 파라미터를 통한 파라미터화이고, 즉, 경로와 조인트 각도의 전체 역학이 루트 파라미터에 따라 공식화된다.
도 10은 2개의 직선과 스플라인 곡선으로 이루어진 세계 좌표 x와 y의 결합된 경로에 의한 루트 파라미터의 표현을 도시한다. 경로의 위치는 루트 파라미터(σ)에 의해 명확하게 정의된다. 1010은 시작 지점, 1040은 끝 지점이다.
루트 파라미터(σ)는 실질적으로 경로 루트로부터 계산된다. 직선(1020, 1030)에서, 이 루트 파라미터는 경로 루트와 정확히 동일하고; 단순화를 위해 최종 값(1040)(목표)은 1로 정의될 수 있다. 원 또는 원의 일부의 경우, 루트 파라미터는 각도이고 스플라인(1050)에서는 그리드 지점의 선형 연결(1051, 1052)에 대한 신장 섹션이다.
루트 파라미터가 정의되면, 통과되는 신장부의 전체 기하학적 구조는 도 11에서 알 수 있는 바와 같이, 위치 및 배향에서 파라미터화될 수 있다. 도 11은 루트 파라미터 위의 좌측 상단의 세계 좌표에서 x 및 y의 위치를 도시한다. 그런 다음, 루트 파라미터에 따라 반복적으로 도출함으로써 궤적의 완전한 파라미터화가 얻어진다. 우측 상단에는 루트 파라미터의 제1 미분으로 속도; 좌측 하단에는 루트 파라미터의 제2 미분으로 가속도; 및 우측 하단에는 루트 파라미터의 제3 미분으로 저크를 도시한다. 다음이 적용된다:
변환(직접 및 간접 운동학)을 사용하여, 이 관계는 추후에 확립될 수 있으며, 여기서, 포즈 p=p(σ(t)) 및 유사하게는 조인트 각도 q=q(σ(t))에 대한 종속성이 사용된다.
여기서는 조인트 속도와 포즈의 도출 사이의 관계를 설명하는 야코비 매트릭스(J)가 사용된다.
.
이 관계는 선형이므로, 일반적으로 선형 종속성이 적용되므로 로봇 공학의 핵심 구성요소를 구성한다.
이제, 조인트 각도는 루트 파라미터 및 따라서, 시간 벡터를 통해 공식화될 수 있다:
CP 경로의 경우, 한편으로는 그 자체가 반복적 방법이고 더 이상 시간 개선이 불가능할 때까지 역학 제한을 준수하는 유효한 시작 솔루션 또는 초기 경로 σStart(t)에서 속도를 점진적으로 증가시키는 시간 범위의 방법을 사용할 수 있다. 이러한 속도 증가는 특정 시간 델타만큼 단축되는 시간 간격 T(i)에 의해 생성된다.
이는 루트 파라미터 σ(t)와 시간 t의 관계를 도시한 도 12에서 볼 수 있다. 최적 경로의 목적은 제한과 같은 보조 조건을 준수하며 σ(0)=0에서 σ(tend)=1까지, 즉, 시작 지점에서 끝 지점까지 최단 시간 내에 루트 파라미터를 통과하는 것이다. 이에 따라, 1210은 그리드 지점를 나타내고, 경로(1220)는 초기에 가정된 경로인 반면, 경로(1230)는 j번째 계산 반복에서의 경로를 상징한다. 추가적으로, 루트 파라미터의 시간적 미분 은 도 12의 우측 절반에 도시되어 있다. 여기서 1250은 초기 경로이고, 1260은 j번째 반복의 경로이다.
이 계산의 순서는 다음과 같은 의사 코드로 설명될 수 있다:
1 for j = 1:MaxIter % path cycles
2 for i = 1:NumOfKnots % loops over the number % of grid points
3 Reduce T(i) and its immediate neighbours
4 if DynamikOK % are all limits adhered to?
5 Accept reduction of T(i)
6 else
7 Undo reduction of T(i)
8 end
9 end
10 end
외부 루프(라인 1-10)는 MaxIter 변수에 의해 사전에 결정된 대로 변수(j)를 통과한다. 이는 MaxIter가 최대 프로세스 반복 횟수를 결정한다는 의미이다.
따라서, 내부 루프(라인 2-9)는 경로의 그리드 지점의 수(NumOfKnots 변수)에 정의된 횟수만큼 자주 통과된다.
라인 3에서, 시간 간격 T(i)은 특정 델타만큼, 즉, 현재 i에 따라, 즉, 그리드 지점과 바로 이웃 T(i-1) 및 T(i+1)에 따라 감소된다. 예를 들어, 델타는 샘플링 시간의 일부로 정의될 수 있다. 그 후, 라인 4에서 미분 중에 모든 제한이 준수되었는지 확인하는 검사가 수행된다. 그러한 경우, 이전의 시간 간격의 감소가 라인 5에서 허용된다. 제한이 초과되거나 부족하면, 라인 9에서 내부 루프를 종료하여 다음 그리드 지점에 대한 다음 반복이 진행되기 전에 라인 7에서 감소가 취소된다.
모든 제한(조인트 평면의 속도, 가속도 및 저크 제한, 차축당 모터 토크, 경로 속도 자체)은 라인 4에서 레한 준수 확인이 수행될 때 다음과 같이 확인될 수 있다:
CP 경로를 계산하는 다른 방법은 위상 공간에서의 방법이다. 이 방법은 추가 변환을 전제로 한다:
여기서, z는 루트 파라미터(σ)의 시간 미분의 제곱으로 정의되는 속도이다.
이 변환은 명시적인 시간 종속성을 제거하여 매우 효율적인 방법을 제공한다: 이산화는 이제 비-등거리 시간 벡터가 아닌 상수 σi 단계를 기반으로 하기 때문에 모든 파라미터화가 미리 결정될 수 있다. 이는 또한 도 13에 도시되어 있으며, 지능형 변환 선택을 사용하면 문제가 새로운 변수 z(σ)를 사용하는 1차원 최적화 문제로 축소되는 것을 볼 수 있다. 여기서는 그리드 지점(1310)과 속도 파라미터의 두 번의 반복(1330 및 1340)에 대한 z(σ)의 전개를 볼 수 있다. 1350은 제한 곡선, 즉, z에 대한 제한의 진행을 나타낸다.
이 계산의 순서는 다음과 같은 의사 코드로 설명될 수 있다:
11 for j = 1:MaxIter % path cycles
12 for i = 1:NumOfKnots % loops over the number
% of grid points
13 Increase zi at the point σi
and its immediate neighbours
14 if DynamikOK % are all limits adhered to?
15 Accept z-increase
16 else
17 Undo z-increase
18 end
19 end
20 end
차례로, 외부 루프(라인 11-20)는 MaxIter 변수에 의해 사전에 결정된 대로 변수(j)를 통과한다. 이는 MaxIter가 최대 프로세스 반복 횟수를 결정한다는 의미이다.
따라서, 내부 루프(라인 12-19)는 그리드 지점의 수(NumOfKnots 변수)에 정의된 횟수만큼 자주 통과된다.
라인 13에서, zi는 σi 지점과 바로 이웃 지점에서 증가된다. 이에 따라, 이러한 증가는 바람직하게는 속도 제한의 사전에 결정된 부분이다. 그 후, 라인 14에서 미분 중에 모든 제한이 준수되는지 확인하기 위해 다른 검사가 수행된다. 그러한 경우, 라인 15에서, z-증가가 허용된다. 제한이 초과되거나 부족하면, 라인 19에서 내부 루프를 종료하여 다음 그리드 지점에 대한 다음 반복이 진행되기 전에 라인 17에서 z-감소가 취소된다.
모든 제한(조인트 평면의 속도, 가속도 및 저크 제한, 차축당 모터 토크, 경로 속도 자체)은 라인 14에서 제한 준수 확인이 수행될 때 다시 확인될 수 있다.
따라서, 위상 공간의 경로 속도는 다음과 같이 공식화된다:
이에 따라, 모터 토크는 당업계에 공지된 바와 같이 표현된다:
이는 다음 관계를 사용하여 수행된다:
이 방법의 어려움은 시작과 끝, 즉, 시작 지점과 끝 지점에서 속도가 0 값을 가정할 수 있고, 따라서, 0으로 나누기 때문에 시간 범위로 재변환한다는 것이다. 재변환은 다음 규칙에 따라 계산될 수 있다:
그러나, 이 문제는 주변에 대한 다양한 근사를 통해 해결될 수 있다.
이에 반해, 종래의 방법에서는 저크를 무시할 경우 상기 방법이 z와 z'에 대해 선형적이기 때문에 저크를 전혀 고려하지 않으며, 따라서, 벨만(Bellman) 방법 등 기존의 최적화 방법을 적용할 수 있다.
CP 경로를 결정하기 위해 여기에 설명된 방법은 단지 예로서 제공된다. 시간 범위의 루트 파라미터에 7-위상 궤적 또는 다항식 궤적을 적용하는 등 다른 방법도 사용될 수 있다. 다항식 궤적의 종료 시간과 같은 궤적 파라미터는 모든 제한이 충족될 때까지 증가된다.
바람직하게는, 전술한 두 방법 모두 항상 순수 CP 경로에 대해 계산되는데, 그 이유는 상기 방법들이 상이한 강점과 약점을 갖기 때문이다. 매우 긴 경로를 사용하면 위상 공간에서 계산하고 시간 범위보다는 상대적으로 짧은 경로를 사용하여 필요한 컴퓨팅 시간과 관련하여 리소스 친화적인 것이 유리한데, 왜냐하면 영 나눗셈을 통한 근사치는 매우 부정적인 영향을 미칠 수 있기 때문이다.
여기에 제시된 CP 경로에 대한 최상의 경로를 결정하는 방법에서, 중단 기준은 전체 CP 경로를 통과할 때 단일 속도 증가(CP의 위상 공간에서) 또는 시간 간격 감소(CP의 시간 범위에서)가 더 이상 그리드 지점에서 수행될 수 없도록 정의되고, 그렇게 하면 역학 제한이 침해되어 마지막 반복에서 궤적이 변경되지 않기 때문이다. 따라서, 최적이 결정되고 반복이 마무리될 수 있다.
그럼에도 불구하고, 역학 제한이 초과되기 때문에 그리드 지점(σi)에서 속도 증가 또는 시간 간격 감소가 취소될 수 있다는 점에 유의해야 한다. 그러나, 수정이 다른 지점(σk)에서 수행될 수 있는 경우, 전체 CP 경로를 고려할 때, CP 경로를 통한 마지막 유효 반복 동안 이동 시간이 더 줄어들 수 있다.
본 발명에 따른 방법에서, 시간 범위의 CP 방법 및 시간 범위(7-위상, 다항식 경로 등과 같은 루트 파라미터의 시간 프로파일의 표현)의 다른 방법과 결합한 전술한 PTP 방법은 전환 지점에서 가능한 최상의(이동 시간 측면에서) 속도(v)와 가속도(a)를 검출하기 위해 결합된다.
기능을 설명하기 위한 예는 CP 경로인 CP 부분 경로(1410)와 PTP 부분 경로(1420)를 조합한 단순 경로로 도 14에 도시되어 있다. 도 14는 세계 좌표 x, y, z로 표현된 경로를 도시한다. P1, P2 및 P3로 지정된 지점은 그리드 지점을 나타낸다. P1은 시작 지점, P3은 끝 지점이다. P2는 CP 경로(1410)가 PTP 경로(1420)로 전환되는 지점이다. 전환 속도(vj)와 가속도(aj)는 지점(P2)에서 결정된다.
이로써, 도 15 및 도 16에 도시된 본 발명에 따른 방법은 두 번 수행될 수 있다; 제1 시간(1500)에서는 전환 속도(vj)만 검출되며, 여기서 aj는 0으로 가정된다. 그런 다음, 제2 사이클(1600) 동안, 검출된 전환 속도(vj)는 시작 값으로 사용될 수 있고, 그 후 가속도가 변경될 수 있다. 그럼에도 불구하고, 이전에 결정된 전환 속도에 대한 최소한의 변경은 제2 사이클(1600) 동안 이루어질 수 있다.
2-위상 방법을 사용하면 두 계산을 모두 수반하는 복잡한 루프보다 더 빠른 결과를 제공하는 계산 시간을 최적화할 수 있다. 이는 전환 지점의 속도가 전체 경로에 걸쳐 빠른 이동 시간을 결정하는 결정적인 요소이기 때문이다. 따라서, 방법의 제1 사이클, 즉, 이하에서 설명되는 v-반복이 결정적이다. 이하에서 v-a-반복으로 설명되는 제2 사이클은 후속 미세 조정을 나타낸다.
v-반복은 도 15에 도시되어 있으며, 적어도 시작 지점(121, 1010)과 끝 지점(122, 1040)을 갖고 사전에 결정된 제한을 준수하여 적어도 하나의 경로 유형을 포함하는 경로 파라미터에 의해 정의된 경로에서 이동 파라미터에 의해 사전에 정의된 산업용 로봇(100, 200)의 이동에 대한 이동 시작 전에 시간-최적 궤적을 결정하기 위한 컴퓨터-구현 방법을 나타낸다.
반복은 viter = vmin … vmax를 통해 수행되되, 여기서, n은 단계의 수이다(vmin=0으로 CP에서 PTP로 전환하는 경우). 이는 프로세스의 매 사이클마다 속도가 증가한다는 것을 의미한다. PTP 부분 경로에서 다른 PTP 부분 경로로 전환이 이루어지는 경우, 속도는 허용되는 vmax까지 모든 차축에서 변경된다. 따라서, 가속도는 일정하게 유지된다(aj = 0).
더욱 구체적으로는, 단계(1510)에서, vj 및 aj는 0으로 초기화된다(즉, j=0인 경우 vj 및 aj는 0이다). 그런 다음, 단계(1520)에서, 속도는 vj(i)=j*viter(i)가 되도록 증가된다. 그런 다음, 단계(1530)에서, 전술한 방법을 사용하여 각각의 CP 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410)에 대해 각각의 최상의 결과가 검출된다. 전술한 방법은 이미 제한를 초과했는지, 부족했는지 여부의 확인을 포함한다. 이 확인이 포함되지 않은 방법을 사용하는 경우, 추후에 여기에서 수행될 수 있다. 확인 중에 각각의 반복의 적용 가능한 이동 파라미터에서 제한을 준수할 수 없다는 것이 검출되면, 변경된, 즉, 증가된 속도로 새로운 반복이 시작된다.
즉, 단계(1530)에서, 부분 경로 중 적어도 하나의 경로 유형이 기하학적으로 공간적으로 정의된 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410)인 경우에, 사전에 결정된 제한과 적용 가능한 경로 및 이동 파라미터를 고려하여 기하학적으로 공간적으로 정의된 부분 경로를 계산하는 방법 중 하나 이상에 따라 기하학적으로 공간적으로 정의된 부분 경로 각각에 대해 시간-최적 궤적이 계산되고, 각각의 부분 경로에 대해 상기 방법의 최상의 결과가 선택된다.
추후에, 단계(1540)에서, 전술한 방법을 사용하여 각각의 PTP 부분 경로(142, 143, 241, 243, 910, 1420)에 대해 각각의 최상의 결과가 검출된다. 전술한 방법은 이미 제한를 초과했는지, 부족했는지 여부의 확인을 포함한다. 이 확인이 포함되지 않은 방법을 사용하는 경우, 추후에 여기에서 수행될 수 있다. 확인 중에 각각의 반복의 적용 가능한 이동 파라미터에서 제한을 준수할 수 없다는 것이 검출되면, 속도가 변경된(예를 들어, 증가된) 새로운 반복이 시작된다.
즉, 단계(1540)에서, 부분 경로 중 적어도 하나의 경로 유형이 기하학적으로 공간적으로 자유로운 부분 경로(142, 143, 241, 243, 910, 1420, 1410)인 경우에, 사전에 결정된 제한과 적용 가능한 경로 및 이동 파라미터를 고려하여 기하학적으로 공간적으로 자유로운 부분 경로를 계산하는 방법 중 하나 이상에 따라 기하학적으로 공간적으로 자유로운 부분 경로 각각에 대해 시간-최적 궤적이 계산되고, 각각의 부분 경로에 대해 상기 방법의 최상의 결과가 선택된다.
그런 다음, 단계(1550)에서, 단계들(1530 및 1540)에서 결정된 부분 경로의 이동 시간으로 구성된 전체 경로의 이동 시간이 지금까지 가장 빠른 이동 시간인지 확인한다. 현재 이동 시간이 지금까지 가장 빠른 이동 시간이라면, 이는 경로를 따라 이동하는데 필요한 이동 파라미터 및 산업용 로봇(100, 200)에 대한 결과적인 제어 명령과 함께 단계(1560)에서 저장되거나 기록된다. 또한, 전체 경로에 대해 모든 제한을 준수하는지 여부도 결정된다. 그런 다음, 증가된 속도로 다음 반복이 시작된다.
느린 이동 시간은 폐기된 다음, 속도가 증가된 새로운 반복이 즉시 시작된다.
즉, 단계(1550)에서, 모든 부분 경로에 대해 검출된 시간-최적 궤적이 전체 궤적으로 결합되고, 전체 궤적이 사전에 결정된 제한을 초과하지 않고 경로를 따라 지금까지 가장 빠른 이동을 허용하는지 확인하기 위해 검사가 수행된다. 그런 다음, 이동 파라미터 중 하나가 변경되고, 새로운 반복이 시작된다.
어떤 단계에서든 이전에 결정된 최종 속도(vmax)에 도달하면, 이후에 더 이상 새로운 반복이 수행되지 않는다. 전술한 바와 같이, 경로를 따라 이동하는데 필요한 이동 파라미터 및 그에 따른 산업용 로봇(100, 200)의 제어 명령과 함께 가장 최근에 검출된 가장 빠른 이동 시간이 결과적으로 제2 사이클(1600)로 전달된다. 대안적으로, 결과는 산업용 로봇(100, 200)용 제어 장치로 발행되거나 전달될 수도 있다.
즉, 사전에 결정된 반복 횟수가 완료되면, 가장 빠른 전체 궤적이 경로를 따라 이동하기 위한 시간-최적 궤적으로 출력된다.
이미 언급한 바와 같이, 제2 사이클(1600), 즉, v-a-반복은 도 16에 도시되어 있으며, 적어도 시작 지점(121, 1010)과 끝 지점(122, 1040)을 갖고 사전에 결정된 제한을 준수하여 적어도 하나의 경로 유형을 포함하는 경로 파라미터에 의해 정의된 경로에서 이동 파라미터에 의해 사전에 정의된 산업용 로봇(100, 200)의 이동에 대한 이동 시작 전에 시간-최적 궤적을 결정하기 위한 컴퓨터-구현 방법을 나타낸다.
제1 사이클(1500)의 결과에 기초하여 가속도 aiter = amin… amax가 변경된다. 이에 따라, 속도(vj)도 조정될 수 있다(예를 들어, 증가 또는 감소). 여기서도 n 단계를 통해 반복이 발생한다. 이는 프로세스의 각각의 사이클마다 가속도(aj) 값이 부호 측면에서 교대로 증가한다는 것을 의미한다.
더욱 구체적으로는, 단계(1610)에서, vj는 제1 사이클(1500)의 각각의 최상의 결과에 따라 초기화되고, aj는 0으로 초기화된다. 그런 다음, 단계(1620)에서, 가속도는 aj = aiter(j)가 되도록 증가된다. 필요한 경우, vj는 특정 델타 dv(i)만큼 증가되거나 감소된다. 예를 들어, 제1 사이클에서 최상의 이동 시간에 대해 검출된 속도의 15-30% 사이의 값으로 증가 또는 감소가 이루어질 수 있다. 그런 다음, 단계(1630)에서, 전술한 방법을 사용하여 각각의 CP 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410)에 대해 각각의 최상의 결과가 검출된다. 전술한 방법은 이미 제한를 초과했는지, 부족했는지 여부의 확인을 포함한다. 이 확인이 포함되지 않은 방법을 사용하는 경우, 추후에 여기에서 수행될 수 있다. 확인 중에 각각의 반복의 적용 가능한 이동 파라미터에서 제한을 준수할 수 없다는 것이 검출되면, 변경된, 즉, 증가된 가속도 및 필요한 경우 수정된 속도로 새로운 반복이 시작된다.
즉, 단계(1630)에서, 부분 경로 중 적어도 하나의 경로 유형이 기하학적으로 공간적으로 정의된 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410)인 경우에, 사전에 결정된 제한과 적용 가능한 경로 및 이동 파라미터를 고려하여 기하학적으로 공간적으로 정의된 부분 경로를 계산하는 방법 중 하나 이상에 따라 기하학적으로 공간적으로 정의된 부분 경로 각각에 대해 시간-최적 궤적이 계산되고, 각각의 부분 경로에 대해 상기 방법의 최상의 결과가 선택된다.
추후에, 단계(1640)에서, 전술한 방법을 사용하여 각각의 PTP 부분 경로(142, 143, 241, 243, 910, 1420)에 대해 각각의 최상의 결과가 검출된다. 전술한 방법은 이미 제한를 초과했는지, 부족했는지 여부의 확인을 포함한다. 이 확인이 포함되지 않은 방법을 사용하는 경우, 추후에 여기에서 수행될 수 있다. 확인 중에 각각의 반복의 적용 가능한 이동 파라미터에서 제한을 준수할 수 없다는 것이 검출되면, 변경된, 즉, 증가된 가속도 및 필요한 경우 수정된 속도로 새로운 반복이 시작된다.
즉, 단계(1640)에서, 부분 경로 중 적어도 하나의 경로 유형이 기하학적으로 공간적으로 자유로운 부분 경로(142, 143, 241, 243, 910, 1420, 1410)인 경우에, 사전에 결정된 제한과 적용 가능한 경로 및 이동 파라미터를 고려하여 기하학적으로 공간적으로 자유로운 부분 경로를 계산하는 방법 중 하나 이상에 따라 기하학적으로 공간적으로 자유로운 부분 경로 각각에 대해 시간-최적 궤적이 계산되고, 각각의 부분 경로에 대해 상기 방법의 최상의 결과가 선택된다.
그런 다음, 단계(1650)에서, 단계들(1630 및 1640)에서 결정된 부분 경로의 이동 시간으로 구성된 전체 경로의 이동 시간이 지금까지 가장 빠른 이동 시간인지 확인한다. 현재 이동 시간이 지금까지 가장 빠른 이동 시간이라면, 이는 경로를 따라 이동하는데 필요한 이동 파라미터 및 산업용 로봇(100, 200)에 대한 결과적인 제어 명령과 함께 단계(1660)에서 저장되거나 기록된다. 또한, 전체 경로에 대해 모든 제한을 준수하는지 여부도 결정된다. 그 후에, 증가된 가속도 및 필요한 경우 수정된 속도로 다음 반복이 시작된다.
느린 이동 시간이 폐기된 다음, 증가된 가속도 및 필요한 경우 수정된 속도로 새로운 반복이 즉시 시작된다.
즉, 단계(1650)에서, 모든 부분 경로에 대해 검출된 시간-최적 궤적이 전체 궤적으로 결합되고, 전체 궤적이 사전에 결정된 제한을 초과하지 않고 경로를 따라 지금까지 가장 빠른 이동을 허용하는지 확인하기 위해 검사가 수행된다. 그런 다음, 이동 파라미터 중 하나 이상이 변경되고, 새로운 반복이 시작된다.
어떤 단계에서든 이전에 결정된 최종 가속도(amax)에 도달하면, 이후에 더 이상 새로운 반복이 수행되지 않는다. 경로를 따라 이동하는데 필요한 이동 파라미터 및 그에 따른 산업용 로봇(100, 200)의 제어 명령과 함께 가장 최근에 검출된 가장 빠른 이동 시간이 결과로서 발행되거나 또는 산업용 로봇(100, 200)용 제어 장치로 전달된다.
즉, 사전에 결정된 반복 횟수가 완료되면, 가장 빠른 전체 궤적이 경로를 따라 이동하기 위한 시간-최적 궤적으로 출력된다.
위에 설명된 각각의 사이클 유형, 즉, v-반복 및 v-a-반복에 대해 기하학적으로 공간적으로 정의된 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410)를 계산하는 방법은 이하의 그룹, 즉, 시간 범위에서 루트 파라미터를 최적화하는 방법 및 속도 범위에서 루트 파라미터를 최적화하는 방법에서 나올 수 있다.
마찬가지로, 기하학적으로 공간적으로 자유로운 부분 경로(142, 143, 241, 243, 910, 1420)를 계산하는 방법은 이하의 그룹, 즉, 뱅뱅 궤적, 특히, 7-위상 궤적 및 가속도의 평균 필터링된 직사각형 궤적, 동기화 궤적, 특히, 스플라인 경로 및 다항식 궤적으로부터 선택될 수 있다.
전술한 바와 같이, 본 발명에 따른 방법은 임의의 전체 경로에 적용될 수 있다. 이로써, 전체 경로가 적어도 하나의 기하학적으로 공간적으로 정의된 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410), 적어도 하나의 기하학적으로 공간적으로 자유로운 부분 경로(142, 143, 241, 243, 910, 1420) 및/또는 적어도 하나의 기하학적으로 공간적으로 정의된 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410) 및 하나의 기하학적으로 공간적으로 자유로운 부분 경로(142, 143, 241, 243, 910, 1420)을 갖는지 여부는 관련이 없다.
전체 경로를 정의하는 경로 파라미터는 하나 이상의 경로 내에 2개의 부분 경로 또는 지점의 연결 지점을 나타내는 그리드 지점(131, 132, 133, 213, 232, 1210, 1310)을 포함할 수 있다.
이로써, 경로에서 로봇(100, 200)의 이동을 정의하는 이동 파라미터는 속도 및/또는 가속도 값을 포함할 수 있다. 이동 파라미터는 또한 그리드 지점(131, 132, 133, 213, 232, 1210, 1310), 시작 지점(121, 1010) 및/또는 끝 지점(122, 1040)에 적용될 수 있는 값을 포함할 수 있다.
더욱이, 경로 파라미터는 추가 그리드 지점(131, 132, 133, 213, 232, 1210, 1310), 부분 경로의 추가 경로 유형, 및/또는 부분 경로의 최대 속도를 포함할 수 있다.
전술한 바와 같이, 본 발명에 따른 실시예는 방법 단계의 사전에 결정된 횟수의 반복 수행의 이중 사이클을 포함할 수 있다. 제1 사이클 동안, 하나 이상의 이동 파라미터를 변경할 때 속도 이동 파라미터만 변경될 수 있으며, 제2 사이클 동안 하나 이상의 이동 파라미터를 변경할 때 가속도 및 속도 이동 파라미터가 변경될 수 있다.
예를 들어, 제한은 산업용 로봇(100, 200)의 조인트 및/또는 구동 차축 중 하나 이상에서 초과되거나 부족해서는 안되는 물리적 제한을 나타낼 수 있다.
또한, 제한은 위치 제한, 즉, TCP(110, 210) 및/또는 로봇(100, 200)의 다른 부분이 이동 중에 허용되는 영역을 포함할 수도 있다. 제한은 또한 로봇(100, 200)의 하나 이상의 차축에 대한 가속도 값, 저크 값, 차축 속도 값 및/또는 모터 토크 값을 포함할 수 있다. 전체 경로 또는 하나 이상의 부분 경로에 대한 경로 속도도 제한으로 정의될 수 있다.
도 17은 기하학적 구조가 조정된 출력 경로(1710)를 통한 목표 수정 절차를 도시한다. '픽-앤-플레이스(pick-and-place)' 경로를 사용하면 각각의 시스템 사이클의 부분의 위치로 인해 목표 위치(1730)가 달라질 수 있는 것이 일반적이다. 이는 로봇(100, 200)이 각각의 부분을 약간 다른 위치(1730)에 배치해야 함을 의미한다. 마찬가지로, 피스를 픽업할 시작 위치도 이에 따라 변경될 수 있다. 위치의 변경을 달성하기 위해, 하나(또는 그 이상의) 출력 경로(들)(1710)가 메모리에 저장된다. 그런 다음, 조정된 경로(1720)가 생성되고 출력 경로의 시간 정보가 다시 사용되도록 기하학적 구조가 수정된다. 도 17은 2개의 조정된 경로(1720)를 도시한다. x 값을 늘려야 하는 경우와 x 값을 줄여야 하는 경우이다.
본 발명에 따른 추가 실시예는, 적어도 시작 지점(121, 1010)과 끝 지점(122, 1040)을 갖고 사전에 결정된 제한을 준수하여 적어도 하나의 경로 유형을 포함하는 경로 파라미터에 의해 정의된 경로에서 이동 파라미터에 의해 사전에 정의된 산업용 로봇(100, 200)의 이동에 대한 이동 시작 전에 시간-최적 궤적을 결정하기 위한 장치, 바람직하게는 컴퓨터이다.
이를 위해, 장치는 경로를 하나 이상의 부분 경로로 분할하도록 구성된 계산 유닛을 포함한다.
계산 유닛은 기하학적으로 공간적으로 정의된 및/또는 자유로운 부분 경로를 계산하는 방법을 사용함으로써, 사전에 결정된 제한 및 적용 가능한 경로 및 이동 파라미터를 고려하여 각각의 부분 경로에 대한 시간-최적 궤적을 계산하고, 각각의 부분 경로에 대한 최상의 결과를 선택하도록 추가로 구성된다.
계산 유닛은 모든 부분 경로에 대한 시간-최적 궤적을 전체 궤적으로 병합하도록 추가로 구성된다.
계산 유닛은 전체 궤적 또는 부분 경로의 궤적이 사전에 결정된 제한을 초과하는지 여부를 확인하고, 검출된 전체 궤적이 경로를 따라 지금까지 가장 빠른 이동을 허용하는지 여부를 검출하도록 추가로 구성된다.
계산 유닛은 하나 이상의 이동 파라미터를 변경하도록 추가로 구성된다.
계산 유닛은 경로를 따른 이동에 대한 시간-최적 궤적으로 가장 빠른 전체 궤적을 출력하도록 추가로 구성된다.
추가 실시예는 프로그램이 데이터 처리 장치에서 실행되는 경우 전술한 방법에 따른 단계를 수행하기 위한 소프트웨어 코드 섹션을 포함하는 데이터 처리 장치용 프로그램을 갖춘 컴퓨터 프로그램 제품이다. 이 컴퓨터 프로그램 제품은 소프트웨어 코드 섹션이 저장되는 컴퓨터 판독 가능 매체를 포함할 수 있으며, 프로그램은 데이터 처리 장치의 내부 메모리에 직접 로드될 수 있다.
예시적인 실시예들은 가능한 실시예 변형을 도시하지만, 여기서는 본 발명이 동일의 구체적으로 표현된 실시예 변형에 제한되지 않고 오히려 개별 실시예 변형의 서로 다양한 조합이 가능하다는 점 및 본 발명에 의해 제공되는 기술적 교시에서 이러한 변형 가능성은 해당 기술 분야의 당업자의 능력 내에 있는 점에 유의해야 한다.
보호 범위는 청구항에 의해 정해진다. 그러나, 청구범위를 해석할 때 설명과 도면을 참조해야 한다.
도시되고 설명된 바와 같은 다양한 예시적인 실시예들로부터의 개별적인 특징 또는 특징들의 조합은 별개의 독창적인 솔루션을 구성할 수 있다. 별개의 독창적인 솔루션에 의해 해결될 문제는 설명으로부터 도출될 수 있다.
현재 설명에 명시된 모든 값 범위는 이들이 임의의 및 모든 하위-범위를 포함하는 것으로 이해되어야 하고, 예를 들어, 1 내지 10은 하한 1과 상한 10으로부터 시작하는 모든 하위-범위, 즉, 예를 들어 1-1.7, 3.2-8.1 또는 5.5-10과 같이, 1 이상의 하한으로 시작하고 10 이하의 상한에서 끝나는 모든 하위-범위가 포함되는 것으로 이해되어야 한다.
형태의 문제로서 그리고 결론적으로, 구조의 이해를 돕기 위해 도면의 부재는 부분적으로 크기 및/또는 확대 및/또는 축소로 표시되지 않는다.
100, 200 로봇
110, 210 공구 중심 지점
121, 1010 시작 지점
122, 1040 끝 지점
131, 132, 133, 213, 232, 1210, 1310 그리드 지점
141, 144, 242, 1020, 1030, 1050, 1410 CP-유형 부분 경로
142, 143, 241, 243, 910, 1420 PTP-유형 부분 경로
410 임펄스 응답
801 데이터 입력
802 제한 사양
803 차축당 7-위상 궤적의 결정
804 가장 느린 차축의 검출
805 7-위상 궤적으로 신장
806 확인
807 스플라인 경로의 계산
808 제한에 도달했는지 확인
809 중단
810 역학 감소
811 모터 토크 제한에 도달했는지 확인
812 제한 감소
813 계산의 종료
920 위치 제한
1051, 1052 루트 파라미터
1220, 1230 위치 파라미터에 대한 반복
1250, 1260 속도 파라미터에 대한 반복
1330, 1340 속도 파라미터에 대한 반복
1350 속도 파라미터에 대한 제한 곡선
1500, 1600 제1 또는 제2 사이클에서 본 발명에 따른 방법
1510, 1610 시작 값의 초기화
1520, 1620 이동 파라미터의 변형
1530, 1540, 1630, 1640 CP 및 PTP 경로에 대한 시간-최적 궤적의 계산
1550, 1650 궤적 병합 및 제한 확인
1560, 1660 가장 빠른 시간 확인 및 해당되는 경우 가장 빠른 결과 저장
1710 종료 경로
1720 조정된 경로
1730 수정된 목표 위치

Claims (11)

  1. 적어도 시작 지점(121, 1010)과 끝 지점(122, 1040)을 갖고 사전에 결정된 제한을 준수하여 적어도 하나의 경로 유형을 포함하는 경로 파라미터에 의해 정의된 경로에서 이동 파라미터에 의해 사전에 정의된 산업용 로봇(100, 200)의 이동에 대한 이동 시작 전에 시간-최적 궤적을 결정하기 위한 컴퓨터-구현 방법(1500, 1600)으로,
    경로를 하나 이상의 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410; 142, 143, 241, 243, 910, 1420)로 분할하는 단계;
    부분 경로 중 적어도 하나의 경로 유형이 기하학적으로 공간적으로 정의된 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410)인 경우, 사전에 결정된 제한 및 적용 가능한 경로 및 이동 파라미터를 고려하여 기하학적으로 공간적으로 정의된 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410)를 계산하는 방법 중 하나 이상에 따라 기하학적으로 공간적으로 정의된 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410) 각각에 대한 시간-최적 궤적을 계산(1530, 1630)하는 단계 및 각각의 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410)에 대한 방법의 최상의 결과를 선택하는 단계; 부분 경로 중 적어도 하나의 경로 유형이 기하학적으로 공간적으로 자유로운 부분 경로(142, 143, 241, 243, 910, 1420)인 경우, 사전에 결정된 제한 및 적용 가능한 경로 및 이동 파라미터를 고려하여 기하학적으로 공간적으로 자유로운 부분 경로(142, 143, 241, 243, 910, 1420)를 계산하는 방법 중 하나 이상에 따라 기하학적으로 공간적으로 자유로운 부분 경로(142, 143, 241, 243, 910, 1420) 각각에 대한 시간-최적 궤적을 계산(1540, 1640)하는 단계 및 각각의 부분 경로(142, 143, 241, 243, 910, 1420)에 대한 방법의 최상의 결과를 선택하는 단계; 모든 부분 경로에 대한 시간-최적 궤적을 하나의 전체 궤적으로 병합(1550, 1650)하는 단계; 전체 궤적이 사전에 결정된 제한을 초과하지 않고 경로(1560, 1660)를 따라 지금까지 가장 빠른 이동을 허용하는지 확인(1550, 1650)하는 단계; 및 하나 이상의 이동 파라미터를 변경(1520, 1620)하는 단계의 사전에 결정된 반복 횟수를 수행하는 단계; 및
    사전에 결정된 반복 횟수가 완료된 후, 경로를 따라 이동하기 위한 시간-최적 궤적으로 가장 빠른 전체 궤적을 출력하는 단계를 포함하는 것을 특징으로 하는 컴퓨터-구현 방법.
  2. 선행하는 청구항에 있어서,
    기하학적으로 공간적으로 정의된 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410)를 계산(1530, 1630)하는 방법은 시간 범위에서 루트 파라미터(1051, 1052)를 최적화하는 방법 및 속도 범위에서 루트 파라미터(1051, 1052)를 최적화하는 방법으로부터 선택되고; 및/또는
    기하학적으로 공간적으로 자유로운 부분 경로(142, 143, 241, 243, 910, 1420)를 계산(1540, 1640)하는 방법은 뱅뱅 궤적, 특히, 7-위상 궤적 및 가속도의 평균 필터링된 직사각형 궤적 및 동기화 궤적, 특히, 스플라인 경로 및 다항식 궤적으로부터 선택되는 것을 특징으로 하는 컴퓨터-구현 방법.
  3. 선행하는 청구항들 중 어느 한 항에 있어서,
    부분 경로(141, 144, 242, 1020, 1030, 1050, 1410; 142, 143, 241, 243, 910, 1420)는,
    적어도 하나의 기하학적으로 공간적으로 정의된 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410);
    적어도 하나의 기하학적으로 공간적으로 자유로운 부분 경로(142, 143, 241, 243, 910, 1420); 및/또는
    적어도 하나의 기하학적으로 공간적으로 정의된 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410) 및 적어도 하나의 기하학적으로 공간적으로 자유로운 부분 경로(142, 143, 241, 243, 910, 1420)를 포함하는 것을 특징으로 하는 컴퓨터-구현 방법.
  4. 선행하는 청구항들 중 어느 한 항에 있어서,
    경로 파라미터는 하나 이상의 경로 내에 2개의 부분 경로 또는 지점의 연결 지점을 나타내는 그리드 지점(131, 132, 133, 213, 232, 1210, 1310)을 또한 포함하는 것을 특징으로 하는 컴퓨터-구현 방법.
  5. 선행하는 청구항들 중 어느 한 항에 있어서,
    이동 파라미터는 속도 및/또는 가속도 값을 포함하거나 및/또는 이동 파라미터는 그리드 지점(131, 132, 133, 213, 232, 1210, 1310), 시작 지점(121, 1010) 및/또는 끝 지점(122, 1040)에 적용될 수 있는 값을 포함하고; 및/또는
    경로 파라미터는 하나 이상의 그리드 지점(131, 132, 133, 213, 232, 1210, 1310), 부분 경로의 추가 경로 유형, 및 부분 경로의 최대 속도를 포함하는 것을 특징으로 하는 컴퓨터-구현 방법.
  6. 선행하는 청구항들 중 어느 한 항에 있어서,
    방법 단계의 사전에 결정된 반복 횟수의 수행의 이중 사이클을 포함하고,
    제1 사이클 동안, 이동 파라미터 중 하나 이상을 변경(1520)할 때 속도 이동 파라미터만이 변경되고,
    제2 사이클 동안, 이동 파라미터 중 하나 이상을 변경(1620)할 때 가속도 및 속도 이동 파라미터가 변경되는 것을 특징으로 하는 컴퓨터-구현 방법.
  7. 선행하는 청구항들 중 어느 한 항에 있어서,
    제한은 산업용 로봇(100, 200)의 조인트 및/또는 구동 차축 중 하나 이상에서 초과되거나 부족해서는 안되는 물리적 제한을 나타내는 것을 특징으로 하는 컴퓨터-구현 방법.
  8. 선행하는 청구항들 중 어느 한 항에 있어서,
    제한은 위치, 가속도, 저크, 차축당 차축 속도, 차축당 모터 토크 및 경로 속도 중 하나 이상의 값을 포함하는 것을 특징으로 하는 컴퓨터-구현 방법.
  9. 적어도 시작 지점(121, 1010)과 끝 지점(122, 1040)을 갖고 사전에 결정된 제한을 준수하여 적어도 하나의 경로 유형을 포함하는 경로 파라미터에 의해 정의된 경로에서 이동 파라미터에 의해 사전에 정의된 산업용 로봇(100, 200)의 이동에 대한 이동 시작 전에 시간-최적 궤적을 결정하기 위한 장치, 바람직하게는 컴퓨터로,
    상기 장치는 선행하는 청구항들 중 어느 한 항에 따른 방법을 수행하도록 구성되고, 상기 장치는 계산 유닛을 포함하며, 상기 계산 유닛은,
    경로를 하나 이상의 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410; 142, 143, 241, 243, 910, 1420)로 분할하고;
    기하학적으로 공간적으로 정의된 부분 경로(141, 144, 242, 1020, 1030, 1050, 1410) 및/또는 기하학적으로 공간적으로 자유로운 부분 경로(142, 143, 241, 243, 910, 1420)를 계산하는 방법을 사용함으로써, 사전에 결정된 제한 및 적용 가능한 경로 및 이동 파라미터를 고려하여 각각의 부분 경로에 대한 시간-최적 궤적을 계산하며;
    각각의 부분 경로에 대한 최상의 결과를 선택하고;
    모든 부분 경로에 대한 시간-최적 궤적을 전체 궤적으로 병합하며;
    전체 궤적 또는 부분 경로의 궤적이 사전에 결정된 제한을 초과하는지 여부를 확인하고;
    검출된 전체 궤적이 경로를 따라 지금까지 가장 빠른 이동을 허용하는지 여부를 검출하며;
    하나 이상의 이동 파라미터를 변경하고; 및
    경로를 따른 이동에 대한 시간-최적 궤적으로 가장 빠른 전체 궤적을 출력하도록 구성되는 것을 특징으로 하는 장치.
  10. 컴퓨터 프로그램 제품으로,
    프로그램이 데이터 처리 장치에서 실행되는 경우 제1항 내지 제8항 중 어느 한 항에 따른 단계를 수행하기 위한 소프트웨어 코드 섹션을 포함하는 데이터 처리 장치용 프로그램을 갖는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  11. 제10항에 있어서,
    컴퓨터 프로그램 제품은 소프트웨어 코드 섹션이 저장되는 컴퓨터 판독 가능 매체를 포함하고, 프로그램은 데이터 처리 장치의 내부 메모리에 직접 로딩될 수 있는 것을 특징으로 하는 컴퓨터 프로그램 제품.
KR1020247004413A 2021-07-09 2022-07-07 시간-최적 궤적을 결정하기 위한 방법 및 장치 Pending KR20240032103A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
ATA50565/2021 2021-07-09
ATA50565/2021A AT525225B1 (de) 2021-07-09 2021-07-09 Verfahren und Vorrichtung zur Bestimmung einer zeitoptimalen Trajektorie
PCT/AT2022/060244 WO2023279132A1 (de) 2021-07-09 2022-07-07 Verfahren und vorrichtung zur bestimmung einer zeitoptimalen trajektorie

Publications (1)

Publication Number Publication Date
KR20240032103A true KR20240032103A (ko) 2024-03-08

Family

ID=82748105

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247004413A Pending KR20240032103A (ko) 2021-07-09 2022-07-07 시간-최적 궤적을 결정하기 위한 방법 및 장치

Country Status (7)

Country Link
US (1) US20240238974A1 (ko)
EP (1) EP4366917A1 (ko)
JP (1) JP2024526689A (ko)
KR (1) KR20240032103A (ko)
CN (1) CN117615885A (ko)
AT (1) AT525225B1 (ko)
WO (1) WO2023279132A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116061195B (zh) * 2023-03-15 2024-06-25 杭州电子科技大学 一种新的工业机械手臂运动轨迹控制方法
CN118636162B (zh) * 2024-08-16 2024-10-18 四川轻化工大学 一种面向装配作业的机械臂关节空间轨迹优化方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216058B1 (en) * 1999-05-28 2001-04-10 Brooks Automation, Inc. System of trajectory planning for robotic manipulators based on pre-defined time-optimum trajectory shapes
EP3061576B1 (de) * 2015-02-26 2021-03-31 Siemens Aktiengesellschaft Verfahren zur optimierung eines bewegungsprofils, computerprogramm, steuereinrichtung und technisches system

Also Published As

Publication number Publication date
WO2023279132A1 (de) 2023-01-12
CN117615885A (zh) 2024-02-27
US20240238974A1 (en) 2024-07-18
EP4366917A1 (de) 2024-05-15
JP2024526689A (ja) 2024-07-19
AT525225A1 (de) 2023-01-15
AT525225B1 (de) 2023-10-15

Similar Documents

Publication Publication Date Title
JP5480198B2 (ja) 学習制御機能を備えたスポット溶接ロボット
KR20240032103A (ko) 시간-최적 궤적을 결정하기 위한 방법 및 장치
CN108422420B (zh) 具有学习控制功能的机器人系统以及学习控制方法
CN103970139B (zh) 一种机器人连续点位运动规划方法
Bosscher et al. Real‐time collision avoidance algorithm for robotic manipulators
CN114137951A (zh) 一种联机机器人运动规划的框架
US11179793B2 (en) Automated edge welding based on edge recognition using separate positioning and welding robots
Kabir et al. Generation of synchronized configuration space trajectories of multi-robot systems
CN102523737A (zh) 实现防撞机制的机器人装置和相关联的方法
EP2835228A2 (en) Robot apparatus and robot controlling method
Kroger et al. Towards on-line trajectory computation
US10513034B2 (en) Trajectory determination method for non-productive movements
CN110914020B (zh) 具有机器人的操纵装置以及方法和计算机程序
JP2009053926A (ja) 経路計画装置及び経路計画方法
JP2010076058A (ja) 多関節型マニピュレータの制御装置及び多関節型マニピュレータの手先動作軌道生成方法
Lim et al. Designing path of collision avoidance for mobile manipulator in worker safety monitoring system using reinforcement learning
CN112703090A (zh) 机器人控制装置、机器人控制方法及机器人控制程序
WO2015098085A1 (ja) 動作プログラム作成方法およびロボットの制御方法
CN117340890A (zh) 一种机器人运动轨迹控制方法
Besset et al. FIR filter-based online jerk-controlled trajectory generation
JP5904445B2 (ja) ロボット用制御装置
Lange et al. Trajectory generation for immediate path-accurate jerk-limited stopping of industrial robots
Yamakawa et al. Development of a brachiation robot with hook-shaped end effectors and realization of brachiation motion with a simple strategy
KR101981641B1 (ko) 다중 이동 로봇의 대형 제어 방법 및 시스템
Shrivastava Exploring optimal motion strategies: a comprehensive study of various trajectory planning schemes for trajectory selection of robotic manipulator

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20240206

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application