KR20220155921A - 로봇 디바이스를 제어하기 위한 방법 - Google Patents
로봇 디바이스를 제어하기 위한 방법 Download PDFInfo
- Publication number
- KR20220155921A KR20220155921A KR1020220059921A KR20220059921A KR20220155921A KR 20220155921 A KR20220155921 A KR 20220155921A KR 1020220059921 A KR1020220059921 A KR 1020220059921A KR 20220059921 A KR20220059921 A KR 20220059921A KR 20220155921 A KR20220155921 A KR 20220155921A
- Authority
- KR
- South Korea
- Prior art keywords
- weights
- trajectory
- vector
- manifold
- demonstrated
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- 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/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert 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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- 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
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- 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/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
- G05B19/423—Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
-
- 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/36—Nc in input of data, input key till input tape
- G05B2219/36401—Record play back, teach position and record it then play back
-
- 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/39—Robotics, robotics to robotics hand
- G05B2219/39001—Robot, manipulator control
-
- 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/39—Robotics, robotics to robotics hand
- G05B2219/39298—Trajectory learning
-
- 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/40519—Motion, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
Abstract
다양한 실시예들에 따르면, 로봇 디바이스를 제어하기 위한 방법이 설명되며, 방법은 로봇 스킬에 대한 시연들을 제공하는 단계 - 각각의 시연은 로봇 구성들의 시퀀스를 포함하는 궤적을 시연하고, 각각의 로봇 구성은 리만 매니폴드의 구조를 갖는 미리 결정된 구성 공간의 요소에 의해 기술됨 -; 로봇 디바이스의 미리 결정된 기본 이동들의 가중치들의 벡터로서의 각각의 궤적의 표현을, 시연된 궤적과, 가중치들의 벡터에 따른 기본 이동들의 조합 사이의 거리 측정을 최소화하는 가중치들의 벡터를 검색함으로써 결정하는 단계 - 조합은 매니폴드에 매핑됨 -; 시연된 궤적들에 대해 결정된 가중치들의 벡터에 확률 분포를 피팅함으로써 가중치들의 벡터의 확률 분포를 결정하는 단계; 및 결정된 가중치들의 벡터들의 확률 분포에 따른 기본 이동들을 수행함으로써 로봇 디바이스를 제어하는 단계를 포함한다.
Description
본 개시내용은 로봇 디바이스를 제어하기 위한 방법들에 관한 것이다.
많은 응용들에서, 로봇들은 가능하게는 동적이고 구조화되지 않은 환경들에서 자율적으로 수행할 수 있는 것이 바람직하다. 이를 위해, 로봇들은 그들의 주변 환경들로 이동하고 이와 상호 작용하는 방법을 배워야 한다. 그렇게 하기 위해, 로봇들은 간단한 모션들을 실행하거나 또는 복잡한 태스크들을 여러 스킬(skill)들의 조성으로서 수행하는 데 사용될 수 있는 스킬들의 라이브러리에 의존할 수 있다. 모션 스킬들을 배우는 방법은 시연 학습(learning from demonstrations)(LfD)으로서 알려진 인간 예들에 의해서이다. 이것은 (일반적으로 인간) 전문가가 로봇에 의해 모방될 특정 모션을 한 번 또는 여러 번 보여주는 것을 수반한다.
Autonomous Robots(42:529-551, 2018)에서의 A. Paraschos 등에 의한 간행물 "Using probabilistic movement primitives in robotics"은 로봇 모션 스킬들을 학습하고 이들을 합성하기 위한 확률적 프레임워크인 ProMP(Probabilistic Movement Primitives)를 기술한다. ProMP는 간결한 기저-함수(basis-function)들의 표현에 기초하는 궤적 분포를 표현한다. 그것의 확률적 공식은 이동 변조, 병렬 이동 활성화, 및 제어에서의 분산 정보(variance information)의 활용을 가능하게 한다.
ProMP가 데카르트 이동(Cartesian movement)들을 학습하는 데 사용되었지만, 그 공식은 쿼터니언 궤적(quaternion trajectory)들의 형태로 방향 이동(orientation movement)들을 핸들링하는 것을 허용하지 않는다. 그러나, 쿼터니언들은, 예를 들어, 그것들이 폐-루프 방향 제어에서 거의 최소 표현과 강력한 안정성을 제공하는 것과 같이 로봇 제어에 유리한 특성들을 갖는다. 따라서, 로봇이 쿼터니언 궤적들을 포함하는 시연 학습을 제어할 수 있게 하는 접근법들이 바람직하다.
다양한 실시예들에 따르면, 로봇 디바이스를 제어하기 위한 방법이 제공되며, 방법은 로봇 스킬(robot skill)에 대한 시연(demonstration)들을 제공하는 단계 - 각각의 시연은 로봇 구성들의 시퀀스를 포함하는 궤적을 시연하고(demonstrate), 각각의 로봇 구성은 리만 매니폴드(Riemannian manifold)의 구조를 갖는 미리 결정된 구성 공간의 요소에 의해 기술됨 - 를 포함한다. 방법은, 각각의 시연된 궤적에 대해, 로봇 디바이스의 미리 결정된 기본 이동들의 가중치들의 벡터로서의 궤적의 표현을, 시연된 궤적과, 가중치들의 벡터에 따른 기본 이동들의 조합 사이의 거리 측정을 최소화하는 가중치들의 벡터를 검색함으로써 결정하는 단계 - 조합은 매니폴드에 매핑됨 - 를 추가로 포함한다. 방법은 시연된 궤적들에 대해 결정된 가중치들의 벡터에 확률 분포를 피팅(fitting)함으로써 가중치들의 벡터의 확률 분포를 결정하는 단계; 및 결정된 가중치들의 벡터들의 확률 분포에 따른 기본 이동들을 수행함으로써 로봇 디바이스를 제어하는 단계를 추가로 포함한다.
다양한 실시예들에 따르면, 위에서 설명된 방법은 (아래에서 더 상세하게 설명되는 다변량 측지선 회귀(multivariate geodesic regression)를 사용하여) 확률적 이동 프리미티브(probabilistic movement primitive)들을 인코딩하고, 재현하고(reproduce), 적응시키기 위해 리만 매니폴드(Riemannian manifold) 접근법을 사용하는 로봇 제어를 제공한다. 구체적으로 다양한 실시예들에 따르면, 쿼터니언 궤적들의 공간은 리만 매니폴드로 간주된다. (클래식 ProMP와 같은) 지오메트리-비인식 접근법들과 비교하여, 이 접근법은 부정확한 데이터를 인코딩하거나 왜곡된 궤적들을 재현하는 경향이 적으면서, 로봇에 의한 스킬의 학습 및 재현을 가능하게 할 수 있다. 이것은 대략적인 근사들에 의존하지 않기 때문에, 모델은 설명하기에도 더 쉽다. 또한, 이 접근법은 궤적 분포들의 변조, 및 이동 프리미티브 블렌딩과 같은 추가 적응 능력들을 제공한다.
다양한 실시예들에 따르면, 시연된 궤적들은 측지선 회귀인 가중치 벡터들로서 표현된다. 이것은 측지선이 각각의 시연된 궤적에 피팅되는 것으로 보일 수 있음을 의미한다.
다양한 예들이 다음에서 제공된다.
예 1은 위에서 설명된 바와 같은 로봇 디바이스를 제어하기 위한 방법이다.
예 2는 예 1에 있어서, 가중치들의 벡터의 확률 분포는 시연된 궤적들에 대해 결정된 가중치들의 벡터에 가우시안 분포(Gaussian distribution)를 피팅함으로써 결정되는, 방법이다.
훈련 및 재현을 위해 가우시안 분포를 사용하면 시연들에서 보여지지 않은 제어 시나리오들에 대한 안정적인 제어를 제공한다.
예 3은 예 1 또는 예 2에 있어서, 각각의 시연된 궤적은 미리 결정된 시퀀스의 시점들의 각각의 시간에 대한 로봇 구성을 포함하고, 가중치들의 벡터에 따른 기본 이동들의 각각의 조합은 미리 결정된 시퀀스의 시점들의 각각의 시간에 대한 로봇 구성을 지정하고, 각각의 시연된 궤적에 대해, 가중치들의 벡터는, 가능한 가중치들의 벡터들의 세트로부터, 시연된 궤적, 및 가중치들의 벡터에 따른 기본 이동들의 조합이 가능한 가중치들의 벡터들의 세트 중 최소인 가중치들의 벡터를 결정함으로써 결정되고 - 조합은 매니폴드에 매핑됨 -, 시연된 궤적과, 매니폴드에 매핑된 기본 이동들의 조합 사이의 거리는, 시퀀스의 시점들의 시점들에 걸쳐, 시연된 궤적과, 매니폴드에 매핑된 때의 시점에 기본 이동들의 조합에 의해 제공되는 매니폴드의 요소 사이의 매니폴드의 메트릭의 값 또는 값의 거듭제곱(power)을 포함하는 각각의 시점에 대한 항을 포함하는 항들을 누적 합계(sum over)함으로써 제공되는, 방법이다.
이것은 시연된 궤적에 가중치 벡터를 피팅함으로써 가중치 벡터에 의해 시연된 궤적을 표현하는 효율적인 방법을 제공한다. 매니폴드 상의 포인트를 선택하고 선택된 포인트에서 매니폴드의 접선 공간(tangent space)의 지수 함수에 의해 매니폴드에 조합을 매핑함으로써 조합이 매니폴드에 매핑될 수 있다.
예 4는 예 1 내지 예 3 중 어느 하나에 있어서, 시연된 궤적들 중 하나에 대해, 매니폴드의 포인트 및 가중치들의 벡터를 검색하되, 포인트 및 가중치들의 벡터가 시연된 궤적과, 가중치들의 벡터에 따른 기본 이동들의 조합 사이의 거리 측정을 최소화하도록 검색하는 단계를 포함하고, 조합은 포인트에서의 접선 공간으로부터 매니폴드에 매핑되고, 각각의 시연된 궤적에 대해, 매니폴드에 대한 개개의 조합의 매핑은 선택된 포인트에서의 접선 공간으로부터 조합을 매핑함으로써 수행되는, 방법이다.
즉, 접선 공간(즉, 접선 공간이 취해지는 매니폴드의 포인트)은 하나의 시연된 궤적에 대해 가중치들 및 포인트에 대해 최적화를 수행함으로써 결정된다. 그런 다음, 접선 공간은 검색 동안 이것이 필요한 조합들 또는 임의의 조합을 모든 시연된 궤적들에 대한 매니폴드에 매핑하는 데 사용된다. 즉, 모든 시연된 궤적들에 동일한 접선 공간, 및 따라서 동일한 지수 맵이 사용된다. 이것은 매우 다양한 접선 가중치 벡터들을 생성할 수 있는 상이한 궤적들에 대한 상이한 접선 공간의 사용 문제를 극복하는 효과적인 방법을 제공한다.
예 5는 예 1 내지 예 4 중 어느 하나의 예에 있어서, 궤적은 방향 궤적(orientation trajectory)이고, 각각의 시연은 포지션 궤적을 추가로 시연하고, 각각의 로봇 구성은 3차원 공간에서 벡터에 의해 기술되는 포즈, 및 미리 결정된 구성 공간의 요소에 의해 기술되는 방향을 포함하는, 방법이다.
따라서, 스킬들은 로봇 포즈들의 시퀀스, 예를 들어, 엔드-이펙터(end-effector)의 포지션들 및 방향들을 시연함으로써 학습될 수 있으며, 여기서, 방향들을 위한 모델은 리만 매니폴드-기반 접근법을 사용하여 학습된다.
예 6은 예 1 내지 예 5 중 어느 하나의 예에 있어서, 로봇 스킬들 초과의 시연들을 제공하고, 각각의 스킬에 대해, 궤적들의 표현들 및 가중치들의 벡터들 및 가중치들의 벡터들의 확률 분포들을 결정하고, 각각의 스킬에 대해, 가중치들의 벡터들의 확률 분포로부터, (시점당) 매니폴드 포인트들의 리만 가우시안 분포(Riemannian Gaussian distribution)를 결정하고 스킬들의 리만 가우시안 분포들의 곱 분포(product distribution)를 결정하고 (시점당) 결정된 곱 확률 분포로부터 샘플링하여 로봇 디바이스를 제어함으로써 로봇 디바이스를 제어하는 단계를 포함하는, 방법이다.
이를 통해 리만 매니폴드들에 대한 시연들로부터 학습된 스킬들에 대해 스킬들을 블렌딩하게 할 수 있다.
예 7은 예 1 내지 예 6 중 어느 하나의 예의 방법을 수행하도록 구성되는 로봇 디바이스 제어기이다.
예 8은, 프로세서에 의해 실행될 때, 프로세서가 예 1 내지 예 6 중 어느 하나의 예에 따른 방법을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램이다.
예 9는, 프로세서에 의해 실행될 때, 프로세서가 예 1 내지 예 6 중 어느 하나의 예에 따른 방법을 수행하게 하는 명령어들을 저장하는 컴퓨터 판독 가능 매체이다.
도면들에서, 유사한 참조 부호들은 일반적으로 상이한 도면들 전체에 걸쳐 동일한 부분들을 지칭한다. 도면들은 반드시 축척에 맞춰진 것은 아니며, 대신 일반적으로 본 발명의 원리들을 예시하는 데 중점을 둔다. 다음 설명에서, 다양한 양태들이 다음 도면들을 참조하여 설명된다.
도 1은 로봇을 도시한다.
도 2는 포인트들이, 예를 들어, 각각 로봇 엔드-이펙터의 가능한 방향을 표현할 수 있는 구 매니폴드(sphere manifold) 의 예를 도시한다.
도 3은 실시예에 따른 구 매니폴드 에 대한 다변량 일반 선형 회귀를 예시한다.
도 4는 예시 목적들을 위해 구 상의 글자들에 대한 실시예의 적용의 예를 도시한다.
도 5는 예시 목적들을 위해 구 상의 글자들에 대한 실시예에 따른 블렌딩 프로세스를 예시한다.
도 6은 로봇 디바이스를 제어하기 위한 방법을 예시하는 흐름도를 도시한다.
도 1은 로봇을 도시한다.
도 2는 포인트들이, 예를 들어, 각각 로봇 엔드-이펙터의 가능한 방향을 표현할 수 있는 구 매니폴드(sphere manifold) 의 예를 도시한다.
도 3은 실시예에 따른 구 매니폴드 에 대한 다변량 일반 선형 회귀를 예시한다.
도 4는 예시 목적들을 위해 구 상의 글자들에 대한 실시예의 적용의 예를 도시한다.
도 5는 예시 목적들을 위해 구 상의 글자들에 대한 실시예에 따른 블렌딩 프로세스를 예시한다.
도 6은 로봇 디바이스를 제어하기 위한 방법을 예시하는 흐름도를 도시한다.
다음의 상세한 설명은 본 발명이 실시될 수 있는 본 개시내용의 특정 세부 사항들 및 양태들을 예로서 보여주는 첨부 도면들을 참조한다. 다른 양태들이 활용될 수 있으며, 본 발명의 범위를 벗어나지 않으면서 구조적, 논리적, 및 전기적 변경들이 이루어질 수 있다. 본 개시내용의 일부 양태들은 새로운 양태들을 형성하기 위해 본 개시내용의 하나 이상의 다른 양태와 조합될 수 있기 때문에, 본 개시내용의 다양한 양태들은 반드시 상호 배타적일 필요는 없다.
다음에서, 다양한 예들이 더 상세하게 설명될 것이다.
도 1은 로봇(100)을 도시한다.
로봇(100)은 로봇 팔(101), 예를 들어, 워크피스(work piece)(또는 하나 이상의 다른 물체)를 핸들링하거나 또는 어셈블링하기 위한 산업용 로봇 팔을 포함한다. 로봇 팔(101)은 매니퓰레이터(manipulator)들(102, 103, 104) 및 매니퓰레이터들(102, 103, 104)이 지지되는 베이스(또는 지지부)(105)를 포함한다. "매니퓰레이터(manipulator)"라는 용어는 로봇 팔(101)의 이동 가능한 부재들을 지칭하며, 이를 액추에이팅시키면, 예를 들어, 태스크를 수행하기 위해 환경과 물리적 상호 작용을 가능하게 한다. 제어를 위해, 로봇(100)은 제어 프로그램에 따라 환경과의 상호 작용을 구현하도록 구성되는 (로봇) 제어기(106)를 포함한다. 매니퓰레이터들(102, 103, 104)의 마지막 부재(104)(지지부(105)로부터 가장 멀리 떨어져 있음)는 엔드-이펙터(104)라고도 지칭되며, 용접 토치(welding torch), 그리핑 기구(gripping instrument), 페인팅 장비 등과 같은 하나 이상의 도구를 포함할 수 있다.
다른 매니퓰레이터들(102, 103)(지지부(105)에 더 가까움)은, 엔드-이펙터(104)와 함께, 그 단부에 엔드-이펙터(104)가 있는 로봇 팔(101)이 제공되도록 포지셔닝 디바이스를 형성할 수 있다. 로봇 팔(101)은 인간 팔과 유사한 기능들을 제공할 수 있는 기계 팔이다(가능하게는 그 단부에 도구가 있을 수 있음).
로봇 팔(101)은 매니퓰레이터(102, 103, 104)들을 서로 그리고 지지부(105)와 상호 연결하는 관절 요소들(107, 108, 109)을 포함할 수 있다. 관절 요소(107, 108, 109)는 하나 이상의 관절을 가질 수 있으며, 이들 각각은 서로에 대해 연관된 매니퓰레이터들에 회전 가능한 모션(즉, 회전 모션) 및/또는 병진 모션(즉, 변위)을 제공할 수 있다. 매니퓰레이터들(102, 103, 104)의 이동은 제어기(106)에 의해 제어되는 액추에이터들에 의해 개시될 수 있다.
"액추에이터(actuator)"라는 용어는 구동되는 것에 응답하여 메커니즘 또는 프로세스에 영향을 미치도록 구성되는 컴포넌트로서 이해될 수 있다. 액추에이터는 제어기(106)에 의해 발행된 명령들(소위 말하는 활성화)을 기계적 이동들로 구현할 수 있다. 액추에이터, 예를 들어, 전기 기계 컨버터는 구동에 응답하여 전기 에너지를 기계 에너지로 컨버팅하도록 구성될 수 있다.
"제어기(controller)"라는 용어는, 예를 들어, 스토리지 매체, 펌웨어, 또는 이들의 조합에 저장되는 소프트웨어를 실행할 수 있는 회로 및/또는 프로세서를 포함할 수 있으며, 본 예에서는, 예를 들어, 액추에이터에 명령들을 발행할 수 있는 임의의 타입의 로직 구현 엔티티로서 이해될 수 있다. 제어기는, 예를 들어, 프로그램 코드(예를 들어, 소프트웨어)에 의해 시스템, 본 예에서는 로봇의 동작을 제어하도록 구성될 수 있다.
본 예에서, 제어기(106)는 하나 이상의 프로세서(110) 및 프로세서(110)가 로봇 팔(101)을 제어하는 데 기초하는 코드 및 데이터를 저장하는 메모리(111)를 포함한다. 다양한 실시예들에 따르면, 제어기(106)는 메모리(111)에 저장된 머신 학습 모델(112)에 기초하여 로봇 팔(101)을 제어한다.
다양한 실시예들에 따르면, ProMP를 사용하여 방향 모션 프리미티브(orientation motion primitive)들을 학습하는 데 리만 매니폴드 접근법이 사용되며, 즉, 리만 매니폴드 공식을 사용하여, "Orientation ProMP"로서 표시되는 클래식 ProMP의 확장이 제공된다.
오리지널(즉, 클래식) ProMP(probabilistic movement primitives) 접근법은 유클리드 공간(Euclidean space)들에서 로봇 스킬들을 핸들링하여, 쿼터니언 궤적들(로봇 방향을 표현함)의 학습 및 재현을 실현 불가능하게 한다.
다음에서 설명되는 ProMP의 리만 공식은 쿼터니언 데이터의 학습 및 재현을 가능하게 한다. 또한, 본 명세서에서 제공되는 일반 처리로 인해, 일반 리만 매니폴드들에 대한 사용이 가능하다.
다음에서는, 유클리드 공간들에서 로봇 스킬들을 핸들링하기 위한 ProMP의 도입이 제공된다.
다음 표기법들이 아래에서 사용된다.
일반적으로, 단일 이동 실행의 경우, 특정 궤적 가 변수 의 시계열들로서 표시된다. 여기서, 시간 에 대한 로봇 구성이라고도 지칭되는 는 시간 단계 에서의 태스크 공간에서 관절 각도들 또는 데카르트 포지션(Cartesian position) 중 어느 것을 표현할 수 있다(의 추가 시간 도함수들도 고려될 수 있다). 클래식 ProMP 표기법에 따라, 는 자유도(degrees of freedom)(DoF)의 시스템, 예를 들어, 7 자유도를 갖는 로봇 팔(101)에 대한 측정을 표현하는 -차원 벡터이다.
여기서, 는 -차원 가중치 벡터이고, 는 각각의 DoF에 대한 시간-의존 기저 함수들 를 포함하는 -차원 블록-대각 행렬이고(하나의 DoF에 대한 기저 함수는 기본 이동(예를 들어, 특정 방향으로 이동, 특정 축 중심으로 회전)이라고도 지칭됨), 은 기저 함수들의 수를 나타내고, 는 불확실성 를 갖는 제로 평균 i.i.d. 가우시안 노이즈이다.
ProMP들은 각각의 시연이 가중치 벡터 의 상이한 값들에 의해 특성화되어, 분포 로 이어질 수 있다고 가정한다. 그런 다음, 전체 궤적은 로부터 가져온 가중치 와 함께 각각의 에서 기저 함수들의 조성으로서 모델링될 수 있다. 결과적으로, 시간 에 대한 상태의 분포 는 다음과 같이 계산될 수 있으며,
시연들로부터 학습할 때, 예시적인 궤적들은 종종 시간 길이가 상이하다. ProMP는 위상 변수를 도입하여 시간 인스턴스들로부터 데이터를 디커플링하여, 차례로 시간 변조를 허용함으로써 이 이슈를 극복한다. 이 경우, 시연 범위는 내지 이며, 시연된 궤적을 로서 재정의한다. 를 형성하는 기저 함수들은 위상 변수 에도 의존한다. 구체적으로, ProMP는 로서 정의되는, 스트로크-기반 이동들에 대한 가우시안 기저 함수들을 사용하며, 폭 및 중심 는 종종 실험적으로 설계된다. 그런 다음, 이들 가우시안 기저 함수들은 정규화되어, 로 이어진다.
일반적으로 말하자면, ProMP의 학습 프로세스는 주로 가중치 분포 를 추정하는 것으로 구성된다. 그렇게 하기 위해, 최대 우도(maximum likelihood) 추정에 의해 (1)에서와 같이 제i 시연을 표현하는 가중치 벡터 가 추정된다. 이것은 다음의 형태의 선형 능형 회귀(linear ridge regression) 솔루션으로 이어지며,
여기서, 는 모든 관측된 궤적 포인트들을 연쇄(concatenate)시키고, 는 기저 함수들의 행렬 에 대한 모든 시간 인스턴스들로 구성된다. 그런 다음, N개 시연의 세트가 주어지면, 가중치 분포 파라미터들 이 최대 우도에 의해 추정될 수 있다.
새로운 상황들에 적응하기 위해, ProMP는 연관된 공분산 을 갖는 원하는 궤적 포인트 에 도달하도록 모션을 컨디셔닝함으로써 비아-포인트들 또는 타깃 포지션들에 대한 궤적 변조를 허용한다. 이것은 조건부 확률 로 귀결되며, 그 파라미터들은 다음과 같이 계산될 수 있다(가우시안 분포 가정).
궤적 분포들의 곱을 계산함으로써, 상이한 이동 프리미티브들이 단일 모션으로 블렌딩될 수 있다. 구체적으로, 각각의 시간 단계 에서 블렌딩된 궤적은, 개의 상이한 ProMP들의 세트 에 대해, 분포 를 따르며, 최종 모션에 대한 그것의 영향은 블렌딩 가중치 에 따라 달라진다. 그런 다음, 의 파라미터들은 가우시안 분포들의 가중치 곱으로부터 쉽게 추정된다.
태스크 파라미터들은 태스크들에 도달하기 위해 로봇 모션을, 예를 들어, 타깃 객체들에 대해 적응시키도록 허용한다. 이러한 정보는 종종 시연들 동안 이용 가능하며, ProMP 공식에 통합될 수 있다. 공식적으로, ProMP는 외부 상태 를 고려하고, 로부터 평균 가중치 벡터 로의 아핀 매핑(affine mapping)을 학습하여, 다음과 같은 결합 확률 분포로 이어지며,
위에서 언급된 바와 같이, 쿼터니언들은 로봇 제어에 유리한 특성들을 가지고 있다. 그러나, (로봇 제어에 사용되는) 쿼터니언들은 단위-노름(unit-norm) 제약 조건을 만족시키기 때문에, 그것들은 벡터 공간을 형성하지 않으므로, (단위 노름을 갖는) 쿼터니언 값들을 갖는 변수들을 처리하고 분석하기 위한 전통적인 유클리드 공간 방법들의 사용은 부적절하다. 다양한 실시예들에 따르면, 쿼터니언 공간 상에서 ProMP들을 공식화하기 위해 리만 지오메트리(Riemannian geometry)가 활용된다.
리만 매니폴드 은 -차원 토폴리지 공간이며, 여기서, 각각의 포인트는 국부적으로 유클리드 공간 과 유사하고, 전역적으로 정의된 미분 구조(differential structure)를 갖는다. 각각의 포인트 에 대해, 를 통과하는 모든 가능한 부드러운 곡선들의 접선 벡터들로 구성되는 벡터 공간인 접선 공간 이 존재한다. 리만 매니폴드에는 에서 곡선 길이들을 정의할 수 있도록 허용하는, 리만 메트릭이라고 하는 부드럽게-변하는 양의 정부호 내적(positive definite inner product)이 장착된다. 측지선들이라고 하는 이들 곡선들은 의 두 포인트 사이의 최소 길이 곡선들을 표현하기 때문에, 이들은 유클리드 공간 상의 직선들을 리만 매니폴드들로 일반화한 것이다.
로봇 엔드-이펙터(104)의 2개의 상이한 방향을 표현하기 위해 제어기(106)에 의해 사용될 수 있는 2개의 포인트 x 및 y가 구 상에 표시된다.
주변 공간에서 두 포인트 사이의 최단 거리는 직선(201)일 것이고, 매니폴드 상의 최단 경로는 측지선(202)이다.
지수 맵 은 x의 접선 공간에 있는 포인트 u를 매니폴드 상의 포인트 y에 x에서 시작하여 방향 u에 있는 측지선 상에 있도록 매핑하여, x와 y 사이의 측지선 거리 dM이 x와 u 사이의 거리의 노름과 동일하도록 한다. 역 연산은 로그 맵 , 즉, 라고 한다.
다양한 실시예들에 따르면, 선형 회귀를 리만나인 매니폴드 설정으로 일반화하는 측지선 회귀가 사용된다(예를 들어, 제어기(106)). 측지선 회귀 모델은 다음과 같이 정의되며,
여기서, 및 는 각각 출력 및 입력 변수들이고, 는 매니폴드 상의 기점이고, 는 에서의 접선 공간에서의 벡터이고, 오차항 은 에서의 접선 공간에서의 값들을 취하는 확률 변수이다. 선형 회귀와 유사하게, 를 절편 및 기울기 로서 해석할 수 있다.
이제, 포인트들의 세트 및 를 고려하도록 한다. 측지선 회귀의 목표는 모든 개의 쌍 사이의 관계를 가장 잘 모델링하는 측지선 곡선 을 찾는 것이다. 이를 달성하기 위해, 모델 추정치들과 관측치들 사이의 제곱합(sum-of-squared) 리만 거리들(즉, 오차들)이 최소화되고, 즉, 이며, 여기서, 는 매니폴드 상의 모델 추정치들이고, 는 리만 오차이고, 쌍 는 접선 번들 의 요소이다. 측지선 모델의 최소-제곱법(least-squares) 추정기는 상기 제곱합 리만 거리의 최소화기(minimizer)로서 공식화될 수 있으며, 즉, 다음과 같다.
그러나, (9)는 (3)과 같은 분석적 솔루션(analytical solution)을 제공하지 않는다. 솔루션은 경사 하강법(gradient descent)을 통해 획득될 수 있으며, 이는 리만 거리 함수의 도함수와 지수 맵의 도함수를 계산하는 것을 필요로 한다. 후자는 초기 포인트 와 초기 속도 에 대한 도함수들로 나눠진다. 이들 경사들은 야코비 필드(Jacobi field)들의 항들로 계산될 수 있다(즉, 리만 곡률 텐서(Riemannian curvature tensor) 하에서 특정 초기 조건들이 적용되는 2차 방정식에 대한 솔루션들).
상기 측지선 모델은 스칼라 독립 변수 를 전적으로 고려한다는 점에 유의해야 하며, 이는 단일 접선 벡터 에 의해 파라미터화된 단일 측지선 곡선을 따라 야코비 필드들에 의해 도함수들이 획득됨을 의미한다. 야코비 필드들의 계산은 측지선 회귀 오차항들에서 실제로 병렬 전송의 역할을 하는 소위 말하는 수반 연산자(adjoint operator)들에 의존한다. 다변량 사례들(여기서, )로 확장하려면 (유클리드 공간에서 "기저(basis)" 벡터들로서 보일 수 있는) 다수의 측지선 곡선들을 식별하는 데 수반되는 약간 상이한 접근법을 필요로 한다. 리만 매니폴드들 상의 다변량 일반 선형 모델들(Multivariate general linear models on Riemannian manifolds)(MGLM)이 이 문제에 대한 솔루션을 제공한다.
여기서, 이다. (10)을 해결하기 위해, 수반 연산자들이 병렬 전송 연산들과 유사하다는 통찰력을 활용함으로써 대응하는 경사들이 계산될 수 있다. 이러한 방식으로, 다변량 사례에 대한 특수 수반 연산자들을 설계하는 장애물이 극복될 수 있으며, 대신에, 필요한 경사들을 근사하기 위해 병렬 전송 연산들이 수행될 수 있다. 이 다변량 프레임워크는 리만 매니폴드 에 있는 각각의 시연에 대해, (3)과 유사한 가중치 벡터를 계산하는 목적을 제공한다.
인간 시연들이 (운동 감각적 교육 또는 원격 조작을 통해) 데카르트 모션 패턴들에 의해 특징지어질 때, 로봇 엔드-이펙터의 병진 및 회전 이동들 둘 다를 캡슐화하는 학습 모델(112)을 가질 필요가 있다. 이는 특정 시연 궤적 이 이제 데이터 포인트들 로 구성되어, 시간 단계 에서 엔드-이펙터의 전체 데카르트 포즈(Cartesian pose)를 표현하는 것을 의미한다. 이 경우, 의 유클리드 사례는 클래식 ProMP를 따르기 때문에, 과제는 방향 공간에서 ProMP를 학습하는 것이다.
이다.
이 동등성은 ProMP들의 클래식 공식과 방향 궤적들에 대해 제안된 우리의 접근법 사이에 유추들을 확립할 때 유용한 것으로 판명된다.
여기서, 는 상의 고정된 기점이고, 는 개의 가중치 벡터 를 연쇄시키는 대형 가중치 벡터이고, 는 (1)에서와 동일한 시간-의존 기저 함수들의 행렬이고, 는 에 대한 불확실성을 인코딩하는 공분산 행렬이다. 이 공식에 대한 두 가지 특정 양태들에 특별한 주의를 기울일 필요가 있는데, 즉, (i) (12)에서의 리만 가우시안 분포의 평균, 즉, 은 MGLM의 전술한 등가 공식을 활용하고, (ii) (12)에서 를 형성하는 가중치 벡터들은 MGLM의 측지선 기저를 조성하는 벡터에 대응한다.
모든 시연은 상이한 가중치 벡터들 에 의해 특징지어지므로, 다시 분포 가 획득될 수 있다. 따라서, 의 한계 분포(marginal distribution)는 다음과 같이 계산될 수 있으며,
여기서, 한계 분포는 상이한 매니폴드들에 있는 2개의 확률 분포에 의존한다(단순화를 위해 시간 인덱스는 여기와 다음에서 생략됨). 그러나, 평균 는 단일 고정된 포인트 에 의존하고, 이다. 이들 두 관측치들은 다음과 같이 접선 공간 상의 한계(13)를 풀기 위해 활용되며,
여기서, 는 로부터 로 병렬-전송된 공분산 이다. 이 한계 분포는 여전히 접선 공간 상에 있다는 점에 유의하고, 따라서, 이것은 지수 맵을 사용하여 에 다시 매핑되어, 다음과 같은 최종 한계로 이어지며,
위에서 설명된 바와 같이, ProMP의 학습 프로세스는 가중치 분포 를 추정하는 것으로 요약된다. 그렇게 하기 위해, 각각의 시연 에 대해, 제어기(106)는 MGLM을 사용하여 가중치 벡터 를 추정한다. 시작하기 위해, 이전에 도입된 에 대한 동등한 표현식이 사용되며, 여기서, 이며, 이고, 은 기저 함수들의 수이다. 또한, 시연된 쿼터니언 궤적 ()를 고려하도록 한다. 그러면, 유클리드 공간에서 (3)과 유사하게, 가중치 추정이 여기서 (10)을 활용함으로써 획득되며, 이는 다음과 같이 이어지고,
도 3은 Orientation ProMP의 가중치들을 학습하는 데 사용되는 구 매니폴드 에 대한 다변량 일반 선형 회귀를 예시한다. 궤적 가 주어지면, 접선 공간 의 원점 , 및 접선 가중치 벡터들 이 (15)를 통해 추정된다.
(15)를 풀기 위해, 및 각각의 에 대한 의 경사들이 계산된다. 위에서 설명된 바와 같이, 이들 경사들은 소위 말하는 수반 연산자들에 의존하며, 이는 대체적으로 말하자면, 각각의 오차항 를 으로부터 로 가져오며, 여기서, 이다. 따라서, 이러한 수반 연산자들은 병렬 전송 연산들로서 근사될 수 있다. 이는 다음과 같은 (15)의 오차 함수의 재공식화로 이어진다.
에 대응한다.
상기 경사들에 의하면, 제어기(106)는 각각의 시연 에 대해, 벡터 , 및 개의 벡터 에 의해 형성된, 가중치 행렬 둘 다를 추정할 수 있다. 각각의 시연은 각각의 접선 가중치 벡터 를 추정하는 데 사용되는 매니폴드 의 원점을 정의하는 의 상이한 추정치들로 이어질 수 있다는 점에 유의해야 한다. 이는 시연들에 걸쳐 상이한 접선 공간들을 생성할 수 있으므로, 따라서, 매우 다양한 접선 가중치 벡터들을 생성할 수 있다. 이 문제를 극복하는 효과적인 방법은 모든 시연들이 동일한 접선 공간 원점 를 공유한다고 가정하는 것이며, 이는 측지선 기저 함수 모델 (12)를 정의할 때 이루어진 것과 동일한 가정이다. 따라서, 다양한 실시예들에 따르면, 제어기(106)는 단일 시연에 대해 를 추정하고, 전체 시연들의 세트에 대한 모든 접선 가중치 벡터들을 추정하는 데 이를 사용한다. 그런 다음, 개 시연의 세트가 주어지면, 가중치 분포 파라미터들 이 로서 표준 최대 우도에 의해 추정될 수 있다. 제어기(106)가 N개 시연의 세트(예를 들어, 사용자에 의해 로봇 팔(101)을 손으로 이동시킴으로써 제공)가 제공된 후에 수행할 수 있는 Orientation ProMP에 의해 로봇 제어 모델(112)을 학습하기 위한 알고리즘의 예가 다음과 같다.
클래식 ProMP에서와 같이, 제어기(106)는 연관된 공분산 을 갖는 원하는 궤적 포인트 에 도달하도록 모션을 컨디셔닝함으로써 (즉, 새로운 상황들에 적응하기 위해, 즉, 시나리오들을 제어하기 위해) 궤적 변조를 수행할 수 있다. 이것은 조건부 확률 로 귀결되며, 이는 (13)과 유사하게, 상이한 매니폴드들에 있는 2개의 확률 분포에 의존한다. 여기서, 다시, 평균 는 단일 및 고정된 에 의존하고, 이는 차례로 가중치 분포가 있는 접선 공간 의 기저라는 사실이 활용된다. 이를 통해 다음과 같이 조건부 분포를 재작성할 수 있으며,
여기서, , 및 는 결과적인 조건부 분포에 대해 추정할 파라미터들이다. 두 분포가 이제 유클리드 공간에 임베딩되는 상에 있기 때문에, 공분산 행렬들을 병렬-전송하는 데 특별한 주의를 기울이면, 새로운 분포 파라미터들이 클래식 ProMP 컨디셔닝 절차와 유사하게 추정될 수 있다. 그러면, 새로운 가중치 분포 파라미터들은
이다.
블렌딩과 관련하여, 클래식 ProMP는 가우시안 분포들의 곱을 사용함으로써 이동 프리미티브들의 세트를 블렌딩한다. 에서 프리미티브들을 블렌딩할 때, 각각의 궤적 분포는 상이한 접선 공간들 에 있는 가중치 벡터들의 세트에 의해 파라미터화된다는 점을 고려해야 한다. 따라서, 가우시안 분포의 가중치 곱이 재공식화될 필요가 있다. 그렇게 하기 위해, 다양한 실시예들에 따르면, 리만 매니폴드들에 대한 가우시안 곱 공식이 사용되며, 여기서, 곱의 로그-우도(log-likelihood)는 경사-기반 접근법을 사용하여 반복적으로 최대화된다.
공식적으로, 리만 가우시안 분포들의 곱의 로그-우도는 다음과 같이 주어지며(상수 항들 제외),
여기서, 및 는 스킬 에 대한 한계 분포 의 파라미터들이다. (20)의 로그 맵들은 상이한 접선 공간들 ()에 작용한다는 점에 유의하도록 한다. 로그-우도 최대화를 수행하기 위해, 원래의 로그-우도 함수가 변경되지 않은 상태로 유지되는 것을 보장하면서, 맵들의 기본 및 인수가 스위칭된다. 그렇게 하기 위해, 병렬 전송 연산들뿐만 아니라 관계 가 이 문제를 극복하기 위해 활용될 수 있고, 이는 다음과 같이 이어질 수 있으며,
식 (21)은 벡터 및 블록 대각 행렬 를 정의함으로써 재작성될 수 있다. 이는 리만 매니폴드 상의 가우시안 분포의 경험적 평균(empirical mean) 를 계산하는 데 사용되는 목적 함수(objective function)의 형태를 갖는 를 생성하며,
이로부터 평균을 다음과 같이 반복적으로 계산하는 것이 가능하며,
위에서 설명된 바와 같이, 클래식 ProMP는 가중치 분포 를 외부 태스크 파라미터들 의 함수로서 적응시킬 수 있으며, 여기서 각각의 시연에 대해 의 값들에 액세스할 수 있는 것으로 가정된다. 태스크 파라미터화는 가중치 벡터들 로서 Orientation ProMP에 유사하게 적용되므로, 따라서, 태스크 파라미터들 가 유클리드인 한, (6)이 직접적으로 적용될 수 있다. 그러나, 가 리만 매니폴드에 속하는 경우, 더 일반적인 접근이 필요하다.
그것이 태스크 파라미터가 인 것을 유지할 때, 제어기(106)는 리만 매니폴드들에 대한 가우시안 혼합 모델을 사용하여 결합 확률 분포 를 학습할 수 있다. 이어서, 제어기(106)는 새로운 태스크 파라미터 가 제공될 때 재현 동안 를 계산하기 위해 가우시안 혼합 회귀를 채택할 수 있다.
Orientation ProMP에서 모델 학습, 궤적 재현, 비아-포인트 적응, 및 스킬들의 블렌딩이 어떻게 작동하는지 더 잘 예시하기 위해, 손으로 쓴 글자들의 데이터세트가 사용되었다. 원래 궤적들은 에서 발생되었고, 후속적으로 단위-노름 벡터들에 대한 간단한 매핑에 의해 로 투영되었다. 데이터 세트의 각각의 문자는 N=8회 시연되었으며, 주로, 시각화 목적들을 위해 각각의 궤적에 간단한 평활화 필터가 적용되었다. 세트 의 각각의 문자에 대해 하나씩, 4개의 ProMP 모델이 훈련되었다. 및 에 대해 훈련된 모델들은 중심들이 균일하게 분포된 개의 기저 함수를 사용했으며, 문자들 및 에 대해서는, 개의 기저 함수가 사용되었다. Orientation ProMP 모델들은 초기 학습률 및 대응하는 상한 을 갖고 위에서 주어진 알고리즘에 따라 훈련되었다.
도 4는 문자들 및 에 대해 훈련된 모델들에 대응하여, 시연 데이터, (13)을 통해 계산된 한계 분포 및 (18) 및 (19)로부터 획득된 비아-포인트 적응을 도시한다. 한계 분포의 평균은 시연 패턴을 따르고, 대응하는 공분산 프로파일은 에서 시연들의 변동성을 포착한다. 실제 로봇 설정들에서 관측되는 것들보다 더 복잡할 수 있는 매우 정교한 "모션" 패턴들을 디스플레이하는, 문자들 및 의 궤적들의 복잡성에 주목할 가치가 있다. 비아-포인트 적응과 관련하여, 연관된 공분산 을 갖는 랜덤 포인트 가 사용되었다(즉, 를 통과하는 동안, 높은-정밀도가 필요하였다).
도 4에 도시된 바와 같이, Orientation ProMP는 주어진 비아-포인트를 정확하게 통과하면서, 궤적 및 연관된 공분산 프로파일 둘 다를 부드럽게 적응시킬 수 있다.
목표는 세트의 첫 번째 문자의 프로파일을 따라 시작한 다음, 두 번째 문자의 궤적 분포 중간에 부드럽게 스위칭하는 궤적을 발생시키는 것이었다. 도 5에는, 2개의 전술한 사례에 대한 결과적인 블렌딩된 궤적들이 도시되어 있으며, 여기서 Orientation ProMP는 위에서 도입되어 설명된 Orientation ProMP에 대한 블렌딩 절차를 따름으로써 2개의 주어진 궤적 분포를 부드럽게 블렌딩한다. 블렌딩 거동은 각각의 스킬 와 연관된 가중치들 의 시간적 진화에 크게 의존한다는 점에 유의하도록 한다. 이 실험들의 세트에서, 가중치들 및 에 대한 시그모이드-유사 함수(sigmoid-like function)가 사용되었고, 이고, 이다. 앞의 결과들은 Orientation ProMP가 에서 궤적 분포들을 성공적으로 학습 및 재현하고, 전체 비아-포인트 적응 및 블렌딩 능력들을 제공한다는 것을 보여준다.
실험들은 이것이 로봇 설정, 예를 들어, 이전에 잡은 물체를 들어올리는 것, 엔드-이펙터(104)를 회전시키는 것, 및 방향이 수정되었지만 그것의 원래 위치로 물체를 다시 놓는 것에 대응하는 방향-조정(re-orientation) 스킬에서 유사하게 유지된다는 것을 보여준다. 이 로봇 스킬은 상당한 포지션 및 방향 변경들의 피처를 가지므로, orientation ProMP의 기능성들을 보여주기에 적절하다.
방향-조정 스킬과 같은 로봇 스킬 훈련의 경우, 각각의 시연은, 예를 들어, 전체-포즈 로봇의 엔드-이펙터 궤적 을 제공한다. 여기서, 는 시간 단계 에서의 엔드-이펙터 포즈를 표현한다. 따라서, 각각의 시연은 포지션 궤적(의 요소에 의해 각각 기술된 포지션들의 시간 시퀀스를 포함함) 및 방향 궤적(의 요소에 의해 각각 기술된 방향들의 시간 시퀀스를 포함함)을 시연한다. 궤적들로부터의 원시 데이터는 포지션에 대한 서브-모델 및 방향에 대한 서브-모델을 포함하여 상에서 ProMP 모델(112)을 훈련하는 데 사용될 수 있으며, 여기서, 포지션 모델은 클래식 ProMP를 사용하여 학습되고, 방향 모델은 Orientation ProMP 접근법(예를 들어, 위에서 설명된 알고리즘)을 사용하여 학습된다. 두 서브-모델에 대해, 동일한 세트의 (예를 들어, 개의) 기저 함수들이 사용될 수 있지만, 상이한 컴포넌트들에 대해(포지션 서브-모델의 각각의 포지션 컴포넌트 및 방향 서브-모델의 각각의 방향 컴포넌트에 대해) 사용될 수 있다.
요약하면, 다양한 실시예들에 따르면, 도 6에 예시된 바와 같은 방법이 제공된다.
도 6은 로봇 디바이스를 제어하기 위한 방법을 예시하는 흐름도(600)를 도시한다.
단계(601)에서, 로봇 스킬에 대한 시연들이 제공되며, 여기서, 각각의 시연은 로봇 구성들의 시퀀스를 포함하는 궤적을 시연하고, 각각의 로봇 구성은 리만 매니폴드의 구조를 갖는 미리 결정된 구성 공간의 요소에 의해 기술된다.
단계(602)에서, 각각의 시연된 궤적에 대해, 로봇 디바이스의 미리 결정된 기본 이동들의 가중치들의 벡터로서의 궤적의 표현이 시연된 궤적과, 가중치들의 벡터에 따른 기본 이동들의 조합 사이의 거리 측정을 최소화하는 가중치들의 벡터를 검색함으로써 결정되며, 여기서, 조합은 매니폴드에 매핑된다.
단계(603)에서, 시연된 궤적들에 대해 결정된 가중치들의 벡터에 확률 분포를 피팅함으로써 가중치들의 벡터의 확률 분포가 결정된다.
단계(604)에서, 로봇 디바이스는 결정된 가중치들의 벡터의 확률 분포에 따른 기본 이동들을 수행함으로써 제어된다.
이것은 가중치들의 벡터의 확률 분포로부터 샘플링하고 (식 (1)에 따른) 샘플 벡터에 따라 기본 이동들을 수행하는 것을 포함할 수 있다. 또한, 제어하기 위해 샘플링할 수 있고 위에서 설명된 궤적들의 블렌딩과 같은 고급 제어에 사용될 수 있는 (식 (14)에 따른) 궤적들의 확률 분포를 도출하는 것도 가능하다.
도 6의 방법은 하나 이상의 데이터 프로세싱 유닛을 포함하는 하나 이상의 컴퓨터에 의해 수행될 수 있다. "데이터 프로세싱 유닛(data processing unit)"이라는 용어는 데이터 또는 신호들의 프로세싱을 허용하는 임의의 타입의 엔티티로서 이해될 수 있다. 예를 들어, 데이터 또는 신호들은 데이터 프로세싱 유닛에 의해 수행되는 적어도 하나(즉, 하나 또는 하나 초과)의 특정 기능에 따라 처리될 수 있다. 데이터 프로세싱 유닛은 아날로그 회로, 디지털 회로, 합성 신호 회로, 로직 회로, 마이크로프로세서, 마이크로 제어기, 중앙 프로세싱 유닛(central processing unit)(CPU), 그래픽 프로세싱 유닛(graphics processing unit)(GPU), 디지털 신호 프로세서(digital signal processor)(DSP), 프로그래머블 게이트 어레이(programmable gate array)(FPGA) 집적 회로 또는 이들의 임의의 조합을 포함할 수도 있고, 또는 이로부터 형성될 수도 있다. 개개의 기능들을 구현하는 임의의 다른 방식은 데이터 프로세싱 유닛 또는 로직 회로망으로서 이해될 수도 있다. 본 명세서에서 상세하게 설명된 방법 단계들 중 하나 이상이 데이터 프로세싱 유닛에 의해 수행되는 하나 이상의 특정 기능을 통해 데이터 프로세싱 유닛에 의해 실행(예를 들어, 구현)될 수 있다는 점이 이해될 것이다.
다양한 실시예들은, 예를 들어, 시연들의 데이터를 획득하기 위해 비디오, 레이더, LiDAR, 초음파, 열화상(thermal imaging), 소나 등과 같은 다양한 시각 센서들(카메라)로부터 이미지 데이터를 수신하고 사용할 수 있다.
도 6의 접근법은 로봇, 차량, 가정용 기기(domestic applicance), 전력 도구, 제작 머신, 퍼스널 어시스턴트 또는 액세스 제어 시스템과 같은, 예를 들어, 컴퓨터-제어되는 머신과 같은 물리적 시스템을 제어하기 위한 제어 신호를 계산하는 데 사용될 수 있다. 다양한 실시예들에 따르면, 물리적 시스템을 제어하기 위한 정책이 학습될 수 있고, 그런 다음, 물리적 시스템이 그에 따라 운영될 수 있다.
하나의 실시예에 따르면, 방법은 컴퓨터-구현된다.
특정 실시예들이 본 명세서에서 예시되고 설명되었지만, 다양한 대안 및/또는 등가의 구현들이 본 발명의 범위를 벗어나지 않고 도시되고 설명된 특정 실시예들에 대해 대체될 수 있다는 것이 본 기술분야의 통상의 기술자에 의해 이해될 것이다. 본 출원은 본 명세서에서 논의된 특정 실시예들의 임의의 적응들 또는 변형들을 포함하도록 의도된다. 따라서, 본 발명은 청구범위 및 그 균등물들에 의해서만 제한되는 것으로 의도된다.
Claims (9)
- 로봇 디바이스를 제어하기 위한 방법으로서,
로봇 스킬(robot skill)에 대한 시연(demonstration)들을 제공하는 단계 - 각각의 시연은 로봇 구성들의 시퀀스를 포함하는 궤적을 시연하고(demonstrate), 각각의 로봇 구성은 리만 매니폴드(Riemannian manifold)의 구조를 갖는 미리 결정된 구성 공간의 요소에 의해 기술됨 -;
각각의 시연된 궤적에 대해, 상기 로봇 디바이스의 미리 결정된 기본 이동들의 가중치들의 벡터로서의 상기 궤적의 표현을, 상기 시연된 궤적과, 상기 가중치들의 벡터에 따른 기본 이동들의 조합 사이의 거리 측정을 최소화하는 가중치들의 벡터를 검색함으로써 결정하는 단계 - 상기 조합은 상기 매니폴드에 매핑됨 -;
상기 시연된 궤적들에 대해 결정된 가중치들의 벡터에 확률 분포를 피팅(fitting)함으로써 상기 가중치들의 벡터의 확률 분포를 결정하는 단계; 및
상기 결정된 가중치들의 벡터들의 확률 분포에 따른 기본 이동들을 수행함으로써 상기 로봇 디바이스를 제어하는 단계
를 포함하는, 방법. - 제1항에 있어서, 상기 가중치들의 벡터의 확률 분포는 상기 시연된 궤적들에 대해 결정된 가중치들의 벡터에 가우시안 분포(Gaussian distribution)를 피팅함으로써 결정되는, 방법.
- 제1항 또는 제2항에 있어서, 각각의 시연된 궤적은 미리 결정된 시퀀스의 시점들의 각각의 시간에 대한 로봇 구성을 포함하고, 상기 가중치들의 벡터에 따른 기본 이동들의 각각의 조합은 상기 미리 결정된 시퀀스의 시점들의 각각의 시간에 대한 로봇 구성을 지정하고, 각각의 시연된 궤적에 대해, 상기 가중치들의 벡터는, 가능한 가중치들의 벡터들의 세트로부터, 상기 시연된 궤적, 및 상기 가중치들의 벡터에 따른 기본 이동들의 조합이 상기 가능한 가중치들의 벡터들의 세트 중 최소인 가중치들의 벡터를 결정함으로써 결정되고 - 상기 조합은 상기 매니폴드에 매핑됨 -, 상기 시연된 궤적과, 상기 매니폴드에 매핑된 기본 이동들의 조합 사이의 거리는, 상기 시퀀스의 시점들의 시점들에 걸쳐, 상기 시연된 궤적과, 상기 매니폴드에 매핑된 때의 시점에 상기 기본 이동들의 조합에 의해 제공되는 매니폴드의 요소 사이의 매니폴드의 메트릭의 값 또는 값의 거듭제곱(power)을 포함하는 각각의 시점에 대한 항을 포함하는 항들을 누적 합계(sum over)함으로써 제공되는, 방법.
- 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 시연된 궤적들 중 하나에 대해, 상기 매니폴드의 포인트 및 가중치들의 벡터를 검색하되, 상기 포인트 및 상기 가중치들의 벡터가 상기 시연된 궤적과, 상기 가중치들의 벡터에 따른 기본 이동들의 조합 사이의 거리 측정을 최소화하도록 검색하는 단계를 포함하고, 상기 조합은 상기 포인트에서의 접선 공간(tangent space)으로부터 상기 매니폴드에 매핑되고, 각각의 시연된 궤적에 대해, 상기 매니폴드에 대한 개개의 조합의 매핑은 선택된 포인트에서의 접선 공간으로부터 상기 조합을 매핑함으로써 수행되는, 방법.
- 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 궤적은 방향 궤적(orientation trajectory)이고, 각각의 시연은 포지션 궤적을 추가로 시연하고, 각각의 로봇 구성은 3차원 공간에서 벡터에 의해 기술되는 포즈, 및 상기 미리 결정된 구성 공간의 요소에 의해 기술되는 방향을 포함하는, 방법.
- 제1항 내지 제5항 중 어느 한 항에 있어서, 로봇 스킬들 초과의 시연들을 제공하고, 각각의 스킬에 대해, 궤적들의 표현들 및 가중치들의 벡터들 및 상기 가중치들의 벡터들의 확률 분포들을 결정하고, 각각의 스킬에 대해, 가중치들의 벡터들의 확률 분포로부터, 매니폴드 포인트들의 리만 가우시안 분포(Riemannian Gaussian distribution)를 결정하고 상기 스킬들의 리만 가우시안 분포들의 곱 분포(product distribution)를 결정하고 상기 결정된 곱 확률 분포로부터 샘플링하여 상기 로봇 디바이스를 제어함으로써 상기 로봇 디바이스를 제어하는 단계를 포함하는, 방법.
- 제1항 내지 제6항 중 어느 한 항의 방법을 수행하도록 구성되는 로봇 디바이스 제어기.
- 컴퓨터 프로그램으로서,
프로세서에 의해 실행될 때, 상기 프로세서가 제1항 내지 제6항 중 어느 한 항에 따른 방법을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램. - 컴퓨터 판독 가능 매체로서,
프로세서에 의해 실행될 때, 상기 프로세서가 제1항 내지 제6항 중 어느 한 항에 따른 방법을 수행하게 하는 명령어들을 저장하는 컴퓨터 판독 가능 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021204961.3A DE102021204961B4 (de) | 2021-05-17 | 2021-05-17 | Verfahren zur Steuerung einer Robotervorrichtung |
DE102021204961.3 | 2021-05-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220155921A true KR20220155921A (ko) | 2022-11-24 |
Family
ID=83806295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220059921A KR20220155921A (ko) | 2021-05-17 | 2022-05-17 | 로봇 디바이스를 제어하기 위한 방법 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP2022176917A (ko) |
KR (1) | KR20220155921A (ko) |
CN (1) | CN115351780A (ko) |
DE (1) | DE102021204961B4 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102022206381A1 (de) | 2022-06-24 | 2024-01-04 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Steuern einer Robotervorrichtung |
DE102022212638B3 (de) | 2022-11-25 | 2024-03-14 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zum Steuern eines Roboters |
DE102023200231A1 (de) | 2023-01-12 | 2024-07-18 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Evaluieren einer Steuerung einer Robotervorrichtung |
CN115946130B (zh) * | 2023-03-13 | 2023-05-23 | 中国人民解放军国防科技大学 | 基于黎曼流形的人机协同方法 |
CN116922391A (zh) * | 2023-08-24 | 2023-10-24 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于多层条件概率运动原语的空间机械臂技能自主学习与优化方法 |
CN116985144A (zh) * | 2023-09-26 | 2023-11-03 | 珞石(北京)科技有限公司 | 一种具有c2连续的机器人末端姿态规划方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9403273B2 (en) | 2014-05-23 | 2016-08-02 | GM Global Technology Operations LLC | Rapid robotic imitation learning of force-torque tasks |
WO2017129200A1 (en) | 2016-01-28 | 2017-08-03 | MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. | A system for real-world continuous motion optimization and control |
KR102211012B1 (ko) | 2016-09-15 | 2021-02-03 | 구글 엘엘씨 | 로봇 조작을 위한 심층 강화 학습 |
EP3753684B1 (en) | 2019-06-21 | 2022-08-10 | Robert Bosch GmbH | Method and system for robot manipulation planning |
DE102019209616A1 (de) | 2019-07-01 | 2021-01-07 | Kuka Deutschland Gmbh | Durchführen einer vorgegebenen Aufgabe mithilfe wenigstens eines Roboters |
DE102019216229B4 (de) | 2019-10-07 | 2022-11-10 | Robert Bosch Gmbh | Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung |
EP3812972A1 (en) | 2019-10-25 | 2021-04-28 | Robert Bosch GmbH | Method for controlling a robot and robot controller |
DE102019216560B4 (de) | 2019-10-28 | 2022-01-13 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Trainieren von Manipulationsfertigkeiten eines Robotersystems |
EP3838503B1 (en) | 2019-12-16 | 2024-05-01 | Robert Bosch GmbH | Method for controlling a robot and robot controller |
DE102020207085A1 (de) | 2020-06-05 | 2021-12-09 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum steuern eines roboters und robotersteuereinheit |
-
2021
- 2021-05-17 DE DE102021204961.3A patent/DE102021204961B4/de active Active
-
2022
- 2022-05-16 JP JP2022080087A patent/JP2022176917A/ja active Pending
- 2022-05-16 CN CN202210527848.4A patent/CN115351780A/zh active Pending
- 2022-05-17 KR KR1020220059921A patent/KR20220155921A/ko unknown
Also Published As
Publication number | Publication date |
---|---|
DE102021204961A1 (de) | 2022-11-17 |
CN115351780A (zh) | 2022-11-18 |
JP2022176917A (ja) | 2022-11-30 |
DE102021204961B4 (de) | 2023-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20220155921A (ko) | 로봇 디바이스를 제어하기 위한 방법 | |
CN111360827B (zh) | 一种视觉伺服切换控制方法及*** | |
Schegg et al. | Review on generic methods for mechanical modeling, simulation and control of soft robots | |
JP5210883B2 (ja) | 物理的な多関節システムの部位の動作を制御する、コンピュータを使用する方法、物理的な多関節システムの部位の動作を制御するシステム、人間とは別体の物理的多関節システムに前記人間の動作を追従させる、コンピュータを用いた方法、人間とは別体の物理的多関節システムによって前記人間の動作を追従させるシステム、及び、ソースシステムとは別体の物理的多関節システムの部位の動きを制御する、コンピュータを用いた方法 | |
US8924021B2 (en) | Control of robots from human motion descriptors | |
Wang et al. | Robot manipulator calibration using neural network and a camera-based measurement system | |
JP7387920B2 (ja) | ロボットを制御するための方法及びロボットコントローラ | |
JP2017520415A (ja) | ロボットをプログラムする方法およびシステム | |
JP2008238396A (ja) | ロボットのモーションの発生及び制御のための装置ならびに方法 | |
KR20210049689A (ko) | 로봇을 제어하기 위한 방법 및 로봇 제어기 | |
CN114516060A (zh) | 用于控制机器人装置的设备和方法 | |
Vochten et al. | Generalizing demonstrated motion trajectories using coordinate-free shape descriptors | |
Shukla et al. | Robotic grasp manipulation using evolutionary computing and deep reinforcement learning | |
Colomé et al. | Reinforcement learning of bimanual robot skills | |
CN114474106A (zh) | 用于控制机器人装置的方法和机器人控制装置 | |
CN113103262A (zh) | 机器人控制装置和用于控制机器人的方法 | |
JP2023113133A (ja) | ロボット装置を制御する方法 | |
CN117377560A (zh) | 在使用互补性约束进行避碰的情况下的物体操纵 | |
Ma et al. | Shape control of elastic objects based on implicit sensorimotor models and data-driven geometric features | |
Xiao et al. | One-shot sim-to-real transfer policy for robotic assembly via reinforcement learning with visual demonstration | |
Mandić et al. | An application example of Webots in solving control tasks of robotic system | |
US11921492B2 (en) | Transfer between tasks in different domains | |
CN117260701A (zh) | 训练机器学习模型以实现控制规则的方法 | |
Mitrovic | Learning motor control for simulated robot arms | |
Luz et al. | Model Predictive Control for Assistive Robotics Manipulation |