KR102300752B1 - Method and Apparatus for Collision-Free Trajectory Optimization of Redundant Manipulator given an End-Effector Path - Google Patents

Method and Apparatus for Collision-Free Trajectory Optimization of Redundant Manipulator given an End-Effector Path Download PDF

Info

Publication number
KR102300752B1
KR102300752B1 KR1020200010369A KR20200010369A KR102300752B1 KR 102300752 B1 KR102300752 B1 KR 102300752B1 KR 1020200010369 A KR1020200010369 A KR 1020200010369A KR 20200010369 A KR20200010369 A KR 20200010369A KR 102300752 B1 KR102300752 B1 KR 102300752B1
Authority
KR
South Korea
Prior art keywords
trajectory
effector
objective function
pose
optimization
Prior art date
Application number
KR1020200010369A
Other languages
Korean (ko)
Other versions
KR20210096842A (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 KR1020200010369A priority Critical patent/KR102300752B1/en
Publication of KR20210096842A publication Critical patent/KR20210096842A/en
Application granted granted Critical
Publication of KR102300752B1 publication Critical patent/KR102300752B1/en

Links

Images

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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator

Abstract

주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 방법 및 장치가 제시된다. 본 발명에서 제안하는 주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 방법은 대상과 현재 엔드-이펙터 포즈 사이의 포즈 오류를 최소화하기 위한 매칭, 궤적의 매끄러움을 보장하기 위한 조건, 충돌을 피하기 위해 장애물에 대한 근접도의 정량적 측정의 세 가지 특성으로 목적 함수를 모델링 하는 단계, 세 가지 특성을 갖는 목적 함수의 코스트를 최소화하기 위해 궤적을 반복적으로 업데이트하고, 업데이트 동안 세 가지 특성들 사이의 잠재적 경쟁을 줄이기 위해 2단계 경사 하강을 이용하여 궤적을 최적화하는 단계, 엔드-이펙터 포즈의 최적의 조인트 구성을 선택하기 위해 목적 함수를 최소화하는 것을 초기 궤적으로 선택하는 단계, 국소 최소치에 빠지지 않도록 하기 위해 초기 궤적의 조인트 구성을 반복적으로 랜덤화하는 양자 어닐링을 적용하는 단계 및 목적 함수를 통합한 최적화 프로세스를 통해 원하는 궤적을 합성하고, 양자 어닐링을 적용한 궤적의 충돌을 확인하여 궤적을 업데이트하는 단계를 포함한다. A collision-free trajectory optimization method and apparatus of a redundant manipulator for accurately following a given end-effector path is presented. The collision-free trajectory optimization method of the redundant manipulator for accurately following a given end-effector path proposed in the present invention includes matching to minimize the pose error between the target and the current end-effector pose, conditions to ensure smoothness of the trajectory, Modeling the objective function with three characteristics of a quantitative measure of proximity to an obstacle to avoid collision, updating the trajectory iteratively to minimize the cost of the objective function with the three characteristics, and updating the three characteristics during the update Optimizing the trajectory using two-step gradient descent to reduce potential competition between In order to prevent this from happening, the desired trajectory is synthesized through an optimization process that incorporates the step of applying quantum annealing, which repeatedly randomizes the joint configuration of the initial trajectory, and the trajectory is updated by checking the collision of the trajectories applied with quantum annealing. includes steps.

Description

주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 방법 및 장치{Method and Apparatus for Collision-Free Trajectory Optimization of Redundant Manipulator given an End-Effector Path}Method and Apparatus for Collision-Free Trajectory Optimization of Redundant Manipulator given an End-Effector Path

본 발명은 주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 방법 및 장치에 관한 것이다. The present invention relates to a collision-free trajectory optimization method and apparatus of a redundant manipulator for accurately following a given end-effector path.

다양한 로봇의 원격 제어는 로봇공학에서 주요 과제 중 하나였으며, 일반적으로 인간이 작업을 수행하는 것이 어렵거나 위험한 경우에 사용된다. 이 원격 제어 시나리오에서 로봇은 주변 환경과 로봇 자체의 제약조건을 고려하면서 작업 명령을 정확히 따라야 한다. Remote control of various robots has been one of the major challenges in robotics, and is typically used when it is difficult or dangerous for humans to perform tasks. In this remote control scenario, the robot must precisely follow the work order, taking into account its surroundings and the constraints of the robot itself.

리던던트 매니퓰레이터(redundant manipulator)의 경우, 카테시안(Cartesian) 공간의 엔드-이펙터(end-effector) 경로를 정확히 따르기 위해 정밀하게 지정된 일련의 조인트 구성이 요구된다. 전통적으로 IK(Inverse Kinematics)는 엔드-이펙터 포즈가 주어진 조인트 구성을 결정하는 데 사용되어 왔다. 그러나 기존의 IK는 엔드-이펙터 경로를 따를 때 발생하는 구성, 충돌 회피 및 키테마틱(kinematic) 특이성의 연속성을 고려할 수 없다.In the case of a redundant manipulator, a precisely specified set of joint configurations is required to precisely follow the end-effector path of Cartesian space. Traditionally, Inverse Kinematics (IK) has been used to determine the joint configuration given an end-effector pose. However, conventional IK cannot take into account the continuity of composition, collision avoidance, and kinematic specificity that occurs when following the end-effector path.

이전 접근방식은 이러한 제약조건을 고려하여 비선형 최적화를 이용하여 이 문제를 해결한다. 이러한 접근방식은 신경망을 이용한 자체 충돌도 회피하지만 외부 장애물에 대한 충돌은 다루지 않는다. The previous approach solves this problem by using non-linear optimization taking these constraints into account. This approach also avoids self-collision using neural networks, but does not deal with collisions against external obstacles.

IK(Inverse Kinematics)는 엔드-이펙터 포즈에서 조인트 구성을 찾기 위해 광범위하게 연구되어 왔다. 대상 로봇이 속한 리던던트 매니퓰레이터의 경우, 단일 엔드-이펙터 포즈에서 다양한 조인트 구성이 있을 수 있다. 이 문제를 위해, 신속하게 해결책을 찾기 위한 몇 가지 기법이 제안되었다. 특히 과제 우선순위 IK 알고리즘은 각각의 목적에 대한 목적 함수에 근거하여 솔루션의 우선순위를 정한다.Inverse Kinematics (IK) has been extensively studied to find joint configurations in end-effector poses. For the redundant manipulator to which the target robot belongs, there can be multiple joint configurations in a single end-effector pose. For this problem, several techniques have been proposed to quickly find a solution. In particular, the task priority IK algorithm prioritizes solutions based on the objective function for each objective.

엔드-이펙터 포즈를 위해 기하학적으로 제약되는 궤적을 합성하는 대부분의 방법은 다양한 솔루션 후보자들 사이에서 실현 가능한 해결책을 찾기 위해 IK 대신 자코비안(Jacobian) 매트릭스에 기초한다. 불행히도, 자코비안 매트릭스는 복수의 변수를 가진 벡터 값 함수의 첫 번째 파생물로, 따라서 조인트 각도 한계로 인한 국소 최소치 또는 수렴 실패에 고착되어 페일-네거티브(false-negative) 실패의 원인이 될 수 있다.Most methods of synthesizing geometrically constrained trajectories for end-effector poses are based on Jacobian matrices instead of IK to find feasible solutions among various solution candidates. Unfortunately, Jacobian matrices are the first derivatives of multivariate vector-valued functions, and thus can stick to local minima or convergence failure due to joint angle limits, leading to false-negative failures.

Trac-IK은 랜덤으로 선택한 조인트 구성과 순차적 2차 프로그래밍을 사용하여 문제를 지적하고 성공률을 향상시킨다. 그럼에도 불구하고, 그 솔루션은 실현 가능한 궤적을 만들기 위한 일련의 조인트 구성의 연속성을 보장하지 않는다. 요약하면, 기존의 IK 접근방식은 주어진 엔드-이펙트 경로를 따라 실현 가능한 궤적을 합성하기 위한 서로 다른 장단점을 가지고 있다. Trac-IK uses a randomly selected joint configuration and sequential quadratic programming to pinpoint problems and improve success rates. Nevertheless, the solution does not guarantee the continuity of a series of joint configurations to create a feasible trajectory. In summary, the existing IK approaches have different advantages and disadvantages for synthesizing feasible trajectories along a given end-effect path.

완화된 솔루션을 얻기 위해, 많은 연구들은 매칭되는 엔드-이펙트 포즈로 실현 가능한 궤적을 합성하는 목적 함수를 가진 최적화 기법을 제시한다. Luo와 Hauser는 기하학적 및 시간적 최적화를 사용하여 스케치 입력으로부터 동적으로 가능한 궤적을 생성한다. 최근 Rakita는 RelaxedIK라고 하는 가중합 비선형 최적화를 이용한 실시간 접근법을 제안하여 일련의 모션 입력에 대한 IK 문제를 해결한다. 충돌 확인은 비교적 큰 계산 오버헤드를 가지므로, RelaxedIK는 빠른 자기 충돌 회피에 신경망을 사용한다.To obtain a relaxed solution, many studies present optimization techniques with an objective function to synthesize feasible trajectories with matching end-effect poses. Luo and Hauser use geometric and temporal optimizations to dynamically generate possible trajectories from sketch inputs. Recently, Rakita proposed a real-time approach using weighted sum nonlinear optimization called RelaxedIK to solve the IK problem for a set of motion inputs. Since collision checking has a relatively large computational overhead, RelaxedIK uses neural networks for fast self-collision avoidance.

RelaxedIK에 기반하여, 2개의 연구가 오프라인에서 높은 정확도의 궤적을 합성하기 위해 제안된다. 그 중 하나는 Stampede로, IK 솔루션 샘플에 의해 구축된 이산 공간그래프에서 동적 프로그래밍 알고리즘을 사용하여 최적의 궤적을 찾아낸다. 다른 연구는 다중 시작 구성에서 후보 궤적을 여러 개 생성한 다음 자기 충돌 또는 키네마틱(kinematic) 특이성의 위험이 있는 경우 편차를 허용하여 사용자 가이드로 최적의 궤적을 선택한다. Based on RelaxedIK, two studies are proposed to synthesize trajectories with high accuracy offline. One of them is Stampede, which uses a dynamic programming algorithm to find the optimal trajectory on a discrete spatial graph built by samples of IK solutions. Other studies generate multiple candidate trajectories in a multi-start configuration and then select the optimal trajectory as a user guide, allowing for deviations in case of risk of self-collision or kinematic singularity.

한국 등록특허공보 제10-1748632호(2017.06.13)Korean Patent Publication No. 10-1748632 (2017.06.13)

본 발명이 이루고자 하는 기술적 과제는 주어진 엔드-이펙터 경로를 정확히 따르는 궤적을 정밀하게 합성하는 동시에 매끄럽고 충돌 없는 매니퓰레이터를 달성하는 TORM(Trajectory Optimization of Redundant Manipulator)의 궤적 최적화 방법 및 장치를 제공하는데 있다.An object of the present invention is to provide a trajectory optimization method and apparatus for TORM (Trajectory Optimization of Redundant Manipulator) that precisely synthesizes a trajectory exactly following a given end-effector path and simultaneously achieves a smooth and collision-free manipulator.

일 측면에 있어서, 본 발명에서 제안하는 주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 방법은 대상과 현재 엔드-이펙터 포즈 사이의 포즈 오류를 최소화하기 위한 매칭, 궤적의 매끄러움을 보장하기 위한 조건, 충돌을 피하기 위해 장애물에 대한 근접도의 정량적 측정의 세 가지 특성으로 목적 함수를 모델링 하는 단계, 세 가지 특성을 갖는 목적 함수의 코스트를 최소화하기 위해 궤적을 반복적으로 업데이트하고, 업데이트 동안 세 가지 특성들 사이의 잠재적 경쟁을 줄이기 위해 2단계 경사 하강을 이용하여 궤적을 최적화하는 단계, 엔드-이펙터 포즈의 최적의 조인트 구성을 선택하기 위해 목적 함수를 최소화하는 것을 초기 궤적으로 선택하는 단계, 국소 최소치에 빠지지 않도록 하기 위해 초기 궤적의 조인트 구성을 반복적으로 랜덤화하는 양자 어닐링을 적용하는 단계 및 목적 함수를 통합한 최적화 프로세스를 통해 원하는 궤적을 합성하고, 양자 어닐링을 적용한 궤적의 충돌을 확인하여 궤적을 업데이트하는 단계를 포함한다. In one aspect, the collision-free trajectory optimization method of the redundant manipulator for accurately following a given end-effector path proposed in the present invention provides matching and smoothness of the trajectory to minimize the pose error between the object and the current end-effector pose. Conditions to ensure, modeling the objective function with three characteristics of a quantitative measure of proximity to obstacles to avoid collisions, iteratively updating the trajectory to minimize the cost of the objective function with the three characteristics, and updating optimizing the trajectory using two-step gradient descent to reduce potential competition between the three features during , to synthesize the desired trajectory through an optimization process that incorporates the step of applying quantum annealing, which repeatedly randomizes the joint configuration of the initial trajectory to avoid falling into a local minimum, and an objective function, and check the collision of the trajectories applied with quantum annealing. to update the trajectory.

세 가지 특성을 갖는 목적 함수의 코스트를 최소화하기 위해 궤적을 반복적으로 업데이트하고, 업데이트 동안 세 가지 특성들 사이의 잠재적 경쟁을 줄이기 위해 2단계 경사 하강을 이용하여 궤적을 최적화하는 단계는 2단계 경사 하강은 각각의 홀수 반복이 목적 함수의 세 가지 특성 중 궤적의 매끄러움을 보장하기 위한 조건, 충돌을 피하기 위해 장애물에 대한 근접도의 정량적 측정을 사용하여 궤적을 업데이트하고, 대상과 현재 엔드-이펙터 포즈 사이의 포즈 오류를 최소화하기 위한 매칭을 사용하여 궤적을 반복 업데이트한다. Updating the trajectory iteratively to minimize the cost of the objective function with three features, and optimizing the trajectory using two-step gradient descent to reduce potential competition between the three features during the update is a two-step gradient descent update the trajectory using quantitative measures of proximity to obstacles to avoid collisions, conditions for each odd iteration to ensure smoothness of the trajectory among the three properties of the objective function, and between the target and the current end-effector pose. The trajectory is updated iteratively using matching to minimize the pose error of

엔드-이펙터 포즈의 최적의 조인트 구성을 선택하기 위해 목적 함수를 최소화하는 것을 초기 궤적으로 선택하는 단계는 엔드-이펙터의 경로를 복수의 포즈로 모자이크식 형태로 나타내고, 엔드-이펙터의 복수의 포즈를 단순화하고, 단순화된 엔드-이펙터의 복수의 포즈에서 목적 함수를 최소화하는 조인트 구성을 찾고, 선형 보간법을 통해 초기 궤적을 계산하기 위한 선택된 조인트 구성을 서로 연결한다. In order to select the optimal joint configuration of the end-effector pose, the step of selecting as the initial trajectory to minimize the objective function is to tessellate the path of the end-effector into a plurality of poses, and Find the joint configuration that minimizes the objective function in multiple poses of the simplified, simplified end-effector, and interconnect the selected joint configuration to calculate the initial trajectory through linear interpolation.

국소 최소치에 빠지지 않도록 하기 위해 초기 궤적의 조인트 구성을 반복적으로 랜덤화하는 양자 어닐링을 적용하는 단계는 양자 전환을 활용한 랜덤화 매개변수를 준비하고, 국소 최적화를 실시하며, 양자 전환은 매개변수에 의해 제어되는 랜덤 탐색에 의해 더 낮은 코스트를 검색하고, 매개변수는 코스트 함수에 따라 랜덤성의 강도를 제어한다. 양자 변환을 반복하여 탐색 부분에 더 비중을 두는 순차 탐색(Sequential Exploring; SE)을 사용한다. The step of applying quantum annealing, which repeatedly randomizes the joint configuration of the initial trajectory in order not to fall into a local minimum, prepares randomized parameters using quantum transitions, performs local optimization, and quantum transitions The lower cost is searched for by a random search controlled by Sequential Exploring (SE), which repeats quantum transformations and places more weight on the search part, is used.

또 다른 일 측면에 있어서, 본 발명에서 제안하는 주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 장치는 대상과 현재 엔드-이펙터 포즈 사이의 포즈 오류를 최소화하기 위한 매칭, 궤적의 매끄러움을 보장하기 위한 조건, 충돌을 피하기 위해 장애물에 대한 근접도의 정량적 측정의 세 가지 특성으로 목적 함수를 모델링 하는 목적 함수 모델링부, 세 가지 특성을 갖는 목적 함수의 코스트를 최소화하기 위해 궤적을 반복적으로 업데이트하고, 업데이트 동안 세 가지 특성들 사이의 잠재적 경쟁을 줄이기 위해 2단계 경사 하강을 이용하여 궤적을 최적화하는 궤적 최적화부, 엔드-이펙터 포즈의 최적의 조인트 구성을 선택하기 위해 목적 함수를 최소화하는 것을 초기 궤적으로 선택하는 초기 궤적 선택부, 국소 최소치에 빠지지 않도록 하기 위해 초기 궤적의 조인트 구성을 반복적으로 랜덤화하는 양자 어닐링을 적용하는 양자 어닐링부 및 목적 함수를 통합한 최적화 프로세스를 통해 원하는 궤적을 합성하고, 양자 어닐링을 적용한 궤적의 충돌을 확인하여 궤적을 업데이트하는 궤적 업데이트부를 포함한다.In another aspect, the collision-free trajectory optimization apparatus of a redundant manipulator for accurately following a given end-effector path proposed in the present invention is a matching, trajectory to minimize the pose error between the target and the current end-effector pose. An objective function modeling unit that models the objective function with three characteristics: a condition to ensure smoothness, a quantitative measurement of proximity to an obstacle to avoid collision, and iteratively repeats the trajectory to minimize the cost of the objective function with three characteristics. , a trajectory optimizer that optimizes the trajectory using two-step gradient descent to reduce potential competition between the three features during the update, and minimizes the objective function to select the optimal joint configuration of the end-effector pose. The initial trajectory selector that selects the first trajectory as the initial trajectory, the quantum annealing unit that repeatedly randomizes the joint configuration of the initial trajectory in order not to fall into a local minimum, and an optimization process that integrates the objective function to select the desired trajectory and a trajectory updater for updating trajectories by checking collisions of trajectories to which the trajectories are synthesized and to which quantum annealing is applied.

본 발명의 실시예들에 따르면 업데이트 중 서로 다른 특성들 사이의 잠재적 경쟁을 줄이기 위해 2단계 경사 하강을 이용하여 궤적을 최적화하고, 성능을 더욱 향상시키고 국소 최소치에 빠지지 않도록 하기 위해, 궤적의 다양한 구성을 반복적으로 무작위로 랜덤화하는 양자 어닐링을 적용하고, 그 다음에 궤적을 업데이트할 수 있다. 제안하는 방법 및 장치는 다양한 바람직한 특성을 만족시키면서 점진적인 방식으로 포즈 오류를 강력하게 최소화할 수 있다.According to embodiments of the present invention, the trajectory is optimized using two-step gradient descent to reduce potential competition between different features during update, and various configurations of the trajectory are used to further improve performance and avoid falling into local minima. We can apply quantum annealing to iteratively randomly randomize , and then update the trajectory. The proposed method and apparatus can strongly minimize pose errors in a gradual manner while satisfying various desirable characteristics.

도 1은 본 발명의 일 실시예에 따른 주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 주어진 엔드-이펙터 포즈의 조인트 구성을 계산하는 과정을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 엔드-이펙터의 복수의 포즈를 단순화하는 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 선형 보간법을 통해 초기 궤적을 계산하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 양자 어닐링을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 장치의 구성을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 장애물이 있는 환경과 제안한 방법에 대한 분석 결과를 나타내는 도면이다.
도 8은 본 발명의 일 실시예에 따른 장애물이 없는 환경과 최신 방법과의 비교 결과를 나타내는 도면이다.
1 is a flowchart illustrating a collision-free trajectory optimization method of a redundant manipulator for accurately following a given end-effector path according to an embodiment of the present invention.
2 is a diagram for explaining a process of calculating a joint configuration of a given end-effector pose according to an embodiment of the present invention.
3 is a view for explaining a process of simplifying a plurality of poses of the end-effector according to an embodiment of the present invention.
4 is a diagram for explaining a process of calculating an initial trajectory through linear interpolation according to an embodiment of the present invention.
5 is a view for explaining quantum annealing according to an embodiment of the present invention.
6 is a diagram illustrating a configuration of a collision-free trajectory optimization apparatus of a redundant manipulator for accurately following an end-effector path according to an embodiment of the present invention.
7 is a diagram illustrating an analysis result of an environment with obstacles and a proposed method according to an embodiment of the present invention.
8 is a diagram illustrating a comparison result between an obstacle-free environment and a state-of-the-art method according to an embodiment of the present invention.

제안하는 방법은 또한 자기 충돌을 피하면서 리던던트 매니퓰레이터(redundant manipulator)를 위한 매우 정확한 해결책을 찾으려고 한다. 게다가 외부 장애물에 대한 충돌 회피도 추가로 검토한다. 장애물뿐만 아니라 로봇 자체에 대한 충돌 없이 정확하고 실현 가능한 궤적을 합성하기 위해, 리던던트 매니퓰레이터를 사용한 문제에 대한 가장 두드러진 최적화 기반 모션 계획 접근법 중 하나인 CHOMP를 확장하는 TORM의 궤적 최적화를 제안한다. The proposed method also tries to find a very accurate solution for the redundant manipulator while avoiding self-collision. In addition, collision avoidance with external obstacles is further considered. To synthesize accurate and feasible trajectories without collisions with the robot itself as well as obstacles, we propose trajectory optimization of TORM, which extends CHOMP, one of the most prominent optimization-based motion planning approaches to problems using redundant manipulators.

최적화 기반 모션 계획 접근방식은 효율적인 충돌 회피 방법을 최적화 기법에 통합하여 충돌 없는 궤적을 신속하게 찾는다. 잘 알려진 기법으로는 공변형 경사 알고리즘(CHOMP), 경사 정보가 없는 확률적 최적화(STOMP), 순차적 convex(볼록) 최적화(Trajopt) 등이 있다. 고품질의 궤적 덕분에 이러한 기법은 다른 방향(예를 들어, 제약된 모션 계획)으로 확장되었다. The optimization-based motion planning approach integrates efficient collision avoidance methods into optimization techniques to quickly find collision-free trajectories. Well-known techniques include the covariant gradient algorithm (CHOMP), stochastic optimization without gradient information (STOMP), and sequential convex optimization (Trajopt). Thanks to the high-quality trajectory, these techniques have been extended in other directions (eg, constrained motion planning).

제안하는 방법은 CHOMP에 기반을 두고 있지만 주어진 엔드-이펙트 경로를 고려하기 위해 추가적인 목적 조건을 추가하여 확장한다. 원래 CHOMP에 대한 주요 차이점은 CHOMP가 기본적으로 시작부터 목표 구성까지 충돌 없는 궤적을 찾지만, 본 발명의 과제는 주어진 엔드-이펙트 경로를 따르는 실현 가능하고 정확한 궤적을 합성하는 것이다. 또한 경사 하강에 기초한 CHOMP는 국소 최적화로서, 따라서 최적 이하의 궤적을 산출할 수 있다. 따라서, 제안하는 방법의 검색 공간은 다양한 목적 조건을 고려함으로써 많은 국소 최소치를 가지고 있다. 본 발명에서는 국소 최소치를 피하기 위해 랜덤화 기술인 양자 어닐링을 채택하고 있다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.The proposed method is based on CHOMP, but is extended by adding additional objective conditions to consider a given end-effect path. The main difference to the original CHOMP is that CHOMP basically finds a collision-free trajectory from the start to the target configuration, but the task of the present invention is to synthesize a feasible and accurate trajectory along a given end-effect path. Also, CHOMP based on gradient descent is a local optimization and thus can yield suboptimal trajectories. Therefore, the search space of the proposed method has many local minima by considering various objective conditions. In the present invention, quantum annealing, a randomization technique, is employed to avoid local minima. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 방법을 설명하기 위한 흐름도이다. 1 is a flowchart illustrating a collision-free trajectory optimization method of a redundant manipulator for accurately following a given end-effector path according to an embodiment of the present invention.

제안하는 주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 방법은 대상과 현재 엔드-이펙터 포즈 사이의 포즈 오류를 최소화하기 위한 매칭, 궤적의 매끄러움을 보장하기 위한 조건, 충돌을 피하기 위해 장애물에 대한 근접도의 정량적 측정의 세 가지 특성으로 목적 함수를 모델링 하는 단계(110), 세 가지 특성을 갖는 목적 함수의 코스트를 최소화하기 위해 궤적을 반복적으로 업데이트하고, 업데이트 동안 세 가지 특성들 사이의 잠재적 경쟁을 줄이기 위해 2단계 경사 하강을 이용하여 궤적을 최적화하는 단계(120), 엔드-이펙터 포즈의 최적의 조인트 구성을 선택하기 위해 목적 함수를 최소화하는 것을 초기 궤적으로 선택하는 단계(130), 국소 최소치에 빠지지 않도록 하기 위해 초기 궤적의 조인트 구성을 반복적으로 랜덤화하는 양자 어닐링을 적용하는 단계(140) 및 목적 함수를 통합한 최적화 프로세스를 통해 원하는 궤적을 합성하고, 양자 어닐링을 적용한 궤적의 충돌을 확인하여 궤적을 업데이트하는 단계(150)를 포함한다. The proposed collision-free trajectory optimization method of redundant manipulators to accurately follow a given end-effector path includes matching to minimize pose errors between the target and the current end-effector pose, conditions to ensure smoothness of the trajectory, and avoidance of collisions. Modeling the objective function with three characteristics of the quantitative measure of proximity to the obstacle for risk (110), iteratively updating the trajectory to minimize the cost of the objective function with the three characteristics, and updating the three characteristics during the update optimizing the trajectory using two-step gradient descent to reduce potential competition between 120 , selecting an initial trajectory that minimizes the objective function to select the optimal joint configuration of the end-effector pose 130 . ), applying quantum annealing to iteratively randomize the joint configuration of the initial trajectory in order not to fall into the local minimum (140) and synthesizing the desired trajectory through an optimization process that integrates the objective function, and the trajectory to which quantum annealing is applied and a step 150 of updating the trajectory by checking the collision of .

도 2는 본 발명의 일 실시예에 따른 주어진 엔드-이펙터 포즈의 조인트 구성을 계산하는 과정을 설명하기 위한 도면이다. 2 is a diagram for explaining a process of calculating a joint configuration of a given end-effector pose according to an embodiment of the present invention.

목표는 주어진 엔드-이펙터 경로인 X에 대한 리던던트 매니퓰레이터(redundant manipulator)의 궤적

Figure 112020009417625-pat00001
를 찾는 것이다. 궤적
Figure 112020009417625-pat00002
는 조인트 구성의 시퀀스이며, 엔드-이펙터 경로인
Figure 112020009417625-pat00003
은 6차원 카테시안(Cartesian) 공간에 정의되어 있다. The goal is the trajectory of the redundant manipulator for a given end-effector path, X.
Figure 112020009417625-pat00001
will be looking for trajectory
Figure 112020009417625-pat00002
is the sequence of joint constructions, the end-effector path,
Figure 112020009417625-pat00003
is defined in a six-dimensional Cartesian space.

주어진 엔드-이펙터 경로를 미세하게 분할하는 경로인

Figure 112020009417625-pat00004
의 경유지 매개변수화로 문제를 해결한다. x는 엔드-이펙터 포즈이다. 그런 다음 엔드-이펙터 포즈
Figure 112020009417625-pat00005
의 조인트 구성을 계산한다. 그 결과, 궤적은
Figure 112020009417625-pat00006
와 같다. 여기서 d는 매니퓰레이터의 자유도(DoF)이며, q0은 시작 구성이고 qn은 조인트 구성의 계산 궤적에 대한 목표 구성이다. 주요 표기법은 표 I에 요약되어 있다. A path that subdivides a given end-effector path
Figure 112020009417625-pat00004
Solve the problem by parameterizing the waypoints of x is the end-effector pose. Then end-effector pose
Figure 112020009417625-pat00005
Calculate the joint configuration of As a result, the trajectory is
Figure 112020009417625-pat00006
same as where d is the degree of freedom (DoF) of the manipulator, q0 is the starting configuration and qn is the target configuration for the computational trajectory of the joint configuration. The main notations are summarized in Table I.

대상 로봇은 엔드-이펙터 포즈를 취하는 다중 조인트 구성을 가진 리던던트 매니퓰레이터이다. 만약 d > 6이면, 그것은 무한히 많은 유효한 솔루션을 가지고 있다. 많은 후보들 중에서 주어진 엔드-이펙터 경로에 대해 충돌 없이 부드럽고 정확한 궤적을 생성하기 위한 적절한 조인트 구성을 찾는다. The target robot is a redundant manipulator with a multi-joint configuration taking an end-effector pose. If d > 6, it has infinitely many valid solutions. Among the many candidates, we find a suitable joint configuration to generate a smooth and accurate trajectory without collision for a given end-effector path.

목표를 달성하기 위해, 최적화 기반 모션 계획 접근방식, 특히 CHOMP를 채택하여 처음부터 목표 구성까지 충돌 없는 궤적을 찾아내는 TORM의 궤적 최적화를 제시한다. CHOMP는 경사 하강을 이용하여 궤적을 신속하게 최적화할 뿐만 아니라 목적 함수를 통합하여 충돌을 효율적으로 방지하므로, 접근방식의 기본 궤적 최적화 방법으로 CHOMP를 선택한다. To achieve the goal, we present the trajectory optimization of TORM, which adopts an optimization-based motion planning approach, especially CHOMP, to find a collision-free trajectory from the beginning to the target construction. We choose CHOMP as the default trajectory optimization method of our approach because CHOMP not only uses gradient descent to quickly optimize the trajectory, but also efficiently avoids collisions by integrating the objective function.

이하, 목적 함수를 최적화하는 방법과 국소 최소치에 빠지거나 제약조건을 위반하지 않도록 하는 방법을 설명한다. 그러기 위해서는 우선 목적 함수에 따라 새로운 경로를 갖는 목적 함수를 정의한다. 그런 다음 2단계 경사 강하를 기반으로 목표를 업데이트하고, 그 다음 초기 궤적으로 시작하는 양자 어닐링을 업데이트한다.Hereinafter, a method of optimizing the objective function and a method of not falling into a local minimum or violating a constraint are described. To do this, first define an objective function with a new path according to the objective function. Then we update the target based on the two-step gradient descent, then we update the quantum annealing starting with the initial trajectory.

다시 도 1을 참조하면, 단계(110)에서 대상과 현재 엔드-이펙터 포즈 사이의 포즈 오류를 최소화하기 위한 매칭, 궤적의 매끄러움을 보장하기 위한 조건, 충돌을 피하기 위해 장애물에 대한 근접도의 정량적 측정의 세 가지 특성으로 목적 함수를 모델링 한다. Referring back to FIG. 1 , in step 110 , matching to minimize pose error between the object and the current end-effector pose, conditions to ensure smoothness of the trajectory, and quantitative measurement of proximity to obstacles to avoid collisions Model the objective function with the three characteristics of .

1) 엔드-이펙터 포즈와 매칭 2) 매끄러움, 3) 충돌을 피하는 세 가지 속성으로 목적 함수를 모델링하여 문제를 해결한다.We solve the problem by modeling the objective function with three properties: 1) matching end-effector poses, 2) smoothness, and 3) collision avoidance.

Figure 112020009417625-pat00007
(1)
Figure 112020009417625-pat00007
(One)

여기서

Figure 112020009417625-pat00008
는 정규화 상수이다. Fpose는 대상과 현재 엔드-이펙터 포즈 사이의 포즈 오류를 최소화하기 위해 도입되며, 유클리디안 거리를 사용하여 정의된다.here
Figure 112020009417625-pat00008
is the normalization constant. Fpose is introduced to minimize the pose error between the target and the current end-effector pose, and is defined using Euclidean distances.

Figure 112020009417625-pat00009
(2)
Figure 112020009417625-pat00009
(2)

여기서 FK(qi)는 FK(forward kinematics)를 사용하여 조인트 구성 qi에서 엔드-이펙터를 계산한다.where FK ( qi ) computes the end-effector from the joint configuration qi using forward kinematics (FK).

매끄러움(smooth) 조건 Fsmooth와 장애물 조건 Fobs에 대해 CHOMP에 제시된 정의를 따른다. Fsmooth는 동적 양을 측정한다. 즉, 매끄러움을 보장하기 위해 파생물의 제곱합을 측정한다.The definition given in CHOMP for the smooth condition Fsmooth and the obstacle condition Fobs is followed. Fsmooth measures dynamic quantities. That is, the sum of squares of the derivative is measured to ensure smoothness.

Figure 112020009417625-pat00010
(3)
Figure 112020009417625-pat00010
(3)

Fobs는 충돌을 피하기 위해 장애물에 대한 근접도를 정량적으로 측정한다. Fobs quantitatively measures proximity to obstacles to avoid collisions.

Figure 112020009417625-pat00011
(4)
Figure 112020009417625-pat00011
(4)

여기서 x(ki,b)는 부분 FK, 즉 구성 qi의 작업 공간에서 본체 지점

Figure 112020009417625-pat00012
의 위치이고,
Figure 112020009417625-pat00013
는 작업 공간 장애물 기하학에서 분석적으로 계산할 수 있는 부호화(signed) 거리 필드에서 계산한 장애물 코스트(cost)이다. 높은 수준에서 로봇 본체와 장애물 사이의 침투 깊이의 합계를 대략적으로 측정한다. where x ( ki,b ) is the partial FK, i.e. the body point in the working space of construction qi .
Figure 112020009417625-pat00012
is the location of
Figure 112020009417625-pat00013
is the obstacle cost calculated from the signed distance field that can be analytically calculated in the workspace obstacle geometry. At a high level, it roughly measures the sum of the penetration depths between the robot body and the obstacle.

단계(120)에서, 세 가지 특성을 갖는 목적 함수의 코스트를 최소화하기 위해 궤적을 반복적으로 업데이트하고, 업데이트 동안 세 가지 특성들 사이의 잠재적 경쟁을 줄이기 위해 2단계 경사 하강을 이용하여 궤적을 최적화한다. In step 120, the trajectory is iteratively updated to minimize the cost of the objective function with three features, and the trajectory is optimized using two-step gradient descent to reduce potential competition between the three features during the update. .

2단계 경사 하강은 각각의 홀수 반복이 목적 함수의 세 가지 특성 중 궤적의 매끄러움을 보장하기 위한 조건, 충돌을 피하기 위해 장애물에 대한 근접도의 정량적 측정을 사용하여 궤적을 업데이트하고, 대상과 현재 엔드-이펙터 포즈 사이의 포즈 오류를 최소화하기 위한 매칭을 사용하여 궤적을 반복 업데이트 한다. Two-step gradient descent updates the trajectory using quantitative measures of proximity to obstacles to avoid collisions, the condition for each odd iteration to ensure smoothness of the trajectory among the three properties of the objective function, and the target and current end. -Iteratively updates the trajectory using matching to minimize pose errors between effector poses.

세 가지 특성을 가진 목적 함수의 코스트를 최소화하기 위해 궤적을 반복적으로 갱신한다. 코스트를 최소화하기 위해, 업데이트 규칙은 많은 최적화 방법에서 채택된 경사 강하 기법에 기초한다. 장애물 조건기능 경사인

Figure 112020009417625-pat00014
는 로봇을 장애물 밖으로 밀어내고, 매끄러움 조건의 기능 구배인
Figure 112020009417625-pat00015
는 조인트 구성 사이의 연속성을 유지한다.The trajectory is iteratively updated to minimize the cost of the objective function with three characteristics. To minimize the cost, the update rule is based on the gradient descent technique employed in many optimization methods. Obstacle condition function incline
Figure 112020009417625-pat00014
pushes the robot out of the obstacle and is the functional gradient of the smoothness condition.
Figure 112020009417625-pat00015
maintains continuity between joint configurations.

Figure 112020009417625-pat00016
Figure 112020009417625-pat00017
는 모두 실현 가능한 궤적을 합성하는 역할을 하는 반면, 포즈 조건인
Figure 112020009417625-pat00018
의 기능 경사는 엔드-이펙터 포즈
Figure 112020009417625-pat00019
를 매칭하는 역할을 한다. 세 가지 기능 경사를 동시에 고려함으로써 궤적을 갱신할 수 있지만, 각 기능 경사 간의 충돌을 초래할 수 있다는 것을 알게 되었다.
Figure 112020009417625-pat00016
Wow
Figure 112020009417625-pat00017
are all responsible for synthesizing feasible trajectories, while the pose condition
Figure 112020009417625-pat00018
The feature slope of the end-effector pose
Figure 112020009417625-pat00019
plays a role in matching We found that although we could update the trajectory by considering the three functional gradients simultaneously, it could lead to conflicts between each functional gradient.

이 문제를 완화하기 위해, 실현 가능한 궤적을 만들기 위해 갱신하고 X에 더 가깝게 일치시키기 위해 궤도를 업데이트하는 것으로 구성된 2단계 경사 강하(Two-Stage Dradient Descent; TSGD)를 제시한다. TSGD는 각각의 홀수 반복이

Figure 112020009417625-pat00020
Figure 112020009417625-pat00021
를 사용하여 궤적을 업데이트하고,
Figure 112020009417625-pat00022
를 사용하여 궤적을 반복 업데이트한다.To alleviate this problem, we present Two-Stage Dradient Descent (TSGD), which consists of updating to make a feasible trajectory and updating the trajectory to more closely match X. TSGD indicates that each odd iteration
Figure 112020009417625-pat00020
Wow
Figure 112020009417625-pat00021
to update the trajectory,
Figure 112020009417625-pat00022
to iteratively update the trajectory.

Figure 112020009417625-pat00023
(5)
Figure 112020009417625-pat00023
(5)

여기서

Figure 112020009417625-pat00024
는 러닝 레이트(learning rate)이고, A는 매끄러움 조건의 동등하게 변형된 표현 Fsmooth =
Figure 112020009417625-pat00025
로부터 나온 것이다. A-1은 전체 궤적에 작은 영향을 미침으로써 매끄러움을 유지하고 최적화를 가속화시키는 작용을 한다. FsmoothFobs는 연속적인 조인트 구성 사이에 상관관계가 있으므로 A-1을 이용하여 공변적 경사 강하로 궤적을 갱신하는 데 효과적이다. 반면 Fpose는 연속적인 조인트 구성을 고려하지 않으므로 A-1을 사용하지 않는다.here
Figure 112020009417625-pat00024
is the learning rate, and A is an equally modified expression of the smoothness condition Fsmooth =
Figure 112020009417625-pat00025
it comes from A -1 acts to maintain smoothness and accelerate optimization by having a small effect on the overall trajectory. Since Fsmooth and Fobs have a correlation between successive joint configurations, it is effective to update the trajectory with covariant gradient descent using A -1. On the other hand, Fpose does not use A -1 because it does not consider continuous joint construction.

문제는 충돌을 피하고 카테시안(Cartesian) 작업 공간에서 주어진 엔드-이펙트 경로를 따르는 반면, 구성 공간(C-space)에서 조인트 구성의 순차적 이동을 통해 문제를 해결해야 하는 것이다. FPoseFobs는 FK를 사용하여 작업 공간에서 계산되지만, C-space에서

Figure 112020009417625-pat00026
Figure 112020009417625-pat00027
를 정의하여 조인트 구성의 변경을 계산해야 한다.The problem is to avoid collisions and follow a given end-effect path in the Cartesian workspace, while solving the problem through sequential movement of the joint configuration in C-space. FPose and Fobs are computed in workspace using FK, but in C-space
Figure 112020009417625-pat00026
Wow
Figure 112020009417625-pat00027
should be defined to account for changes in the joint configuration.

식(2)의

Figure 112020009417625-pat00028
Figure 112020009417625-pat00029
로 나타낼 수 있기 때문에, 포즈 조건
Figure 112020009417625-pat00030
의 기능 경사를 다음과 같이 도출할 수 있다.of formula (2)
Figure 112020009417625-pat00028
Is
Figure 112020009417625-pat00029
Since it can be expressed as , the pose condition
Figure 112020009417625-pat00030
We can derive the functional gradient of

Figure 112020009417625-pat00031
(6)
Figure 112020009417625-pat00031
(6)

여기서

Figure 112020009417625-pat00032
는 자코비안 매트릭스이다. 자코비안 기반 접근방식은 페일-네거티브(false-negative) 실패로 이어질 수 있다. 그러나, 제안하는 TSGD 방법이 반복적으로 기능 경사를 바꾸는 탐구적인 방법 덕분에 실제로 문제를 개선한다는 것을 발견했다.here
Figure 112020009417625-pat00032
is the Jacobian matrix. A Jacobian-based approach can lead to false-negative failures. However, we found that the proposed TSGD method actually improves the problem thanks to the exploratory method of iteratively changing the functional gradient.

Figure 112020009417625-pat00033
는 아래와 같이 도출될 수 있다.
Figure 112020009417625-pat00033
can be derived as follows.

Figure 112020009417625-pat00034
(7)
Figure 112020009417625-pat00034
(7)

여기서 x i,b x(q i,b )와, c i,b c(x i,b )와 같고,

Figure 112020009417625-pat00035
는 정규화 속도 벡터이며
Figure 112020009417625-pat00036
는 곡률 벡터이다. Fsmooth는 이미 C-space에 표현되어 있기 때문에,
Figure 112020009417625-pat00037
는 간단히
Figure 112020009417625-pat00038
로 표현된다. where x i,b is equal to x (q i,b ), c i,b equals c ( x i,b ),
Figure 112020009417625-pat00035
is the normalization rate vector
Figure 112020009417625-pat00036
is the curvature vector. Since Fsmooth is already expressed in C-space,
Figure 112020009417625-pat00037
is simply
Figure 112020009417625-pat00038
is expressed as

일단 시작 구성 q0이 주어지면, TSGD를 기반으로 다음 구성 q1에서 목표 구성 qn으로 반복적으로 업데이트한다. 그러나 엔드-이펙트 포즈가 주어지는 동안 시작 구성이 주어지지 않을 수 있다. Once a starting configuration q0 is given, iteratively updates from the next configuration q1 to the target configuration qn based on TSGD. However, the start configuration may not be given while the end-effect pose is given.

단계(130)에서, 엔드-이펙터 포즈의 최적의 조인트 구성을 선택하기 위해 목적 함수를 최소화하는 것을 초기 궤적으로 선택한다. In step 130, an initial trajectory is selected that minimizes the objective function to select an optimal joint configuration of the end-effector pose.

엔드-이펙터의 경로를 복수의 포즈로 모자이크식 형태로 나타내고, 엔드-이펙터의 복수의 포즈를 단순화한다. 단순화된 엔드-이펙터의 복수의 포즈에서 목적 함수를 최소화하는 조인트 구성을 찾고, 선형 보간법을 통해 초기 궤적을 계산하기 위한 선택된 조인트 구성을 서로 연결한다. The path of the end-effector is represented in a tessellated form in a plurality of poses, and the plurality of poses of the end-effector is simplified. Find the joint configuration that minimizes the objective function in multiple poses of the simplified end-effector, and connect the selected joint configuration to calculate the initial trajectory through linear interpolation.

도 3은 본 발명의 일 실시예에 따른 엔드-이펙터의 복수의 포즈를 단순화하는 과정을 설명하기 위한 도면이다. 3 is a view for explaining a process of simplifying a plurality of poses of the end-effector according to an embodiment of the present invention.

업데이트 규칙에 따라 궤적을 최적화할 수 있지만, 엔드-이펙터 경로만 제공되므로 과제에 대한 초기 궤적을 얻는 것은 간단하지 않다. 본 섹션에서는 초기 궤적을 구성하는 단순하고 휴리스틱한 방법을 소개하며, 이는 양자 어닐링에서 업데이트된다.It is possible to optimize the trajectory according to the update rule, but it is not straightforward to obtain the initial trajectory for the task as only the end-effector path is provided. This section introduces a simple and heuristic method of constructing the initial trajectory, which is updated in quantum annealing.

좋은 초기 궤적을 만드는 것이 목표이며, 매끄러움, 장애물 회피, 그리고 주어진 경로를 따르는 것을 고려해야 하는 주요 도전에 직면한다. 엔드-이펙터 포즈에는 여러 개 또는 무한대의 조인트 구성이 있을 수 있다. 따라서 각 엔드-이펙터 포즈에서 IK와 선형 보간법을 사용하여 조인트 구성을 단순히 얻을 수는 있으나 일부는 초기 궤적을 계산하는 좋은 방법이 아니다.The goal is to create a good initial trajectory, and it faces major challenges to consider including smoothness, obstacle avoidance, and following a given path. End-effector poses can have multiple or infinite joint configurations. So you can simply get the joint configuration using IK and linear interpolation at each end-effector pose, but some are not a good way to calculate the initial trajectory.

첫 번째 단계로서, 대상 엔드-이펙터 경로를 많은 포즈로 정교하게 모자이크식 형태로 나타낼 수 있고, 더 많은 포즈로 작업하면 합리적으로 초기 궤적(310)을 생성하는 복잡성을 증가시킬 수 있기 때문에 주어진 엔드-이펙터 포즈를 간단한 포즈 S ∈ {s0, ...,sn}으로 단순화한다(320). 구체적으로, Ramer-Douglas-Peucker 알고리즘을 선택한다. As a first step, given end-effector paths can be elaborately tessellated in many poses, and working with more poses can increase the complexity of generating a reasonably initial trajectory 310 . The effector pose is simplified to a simple pose S ∈ {s0, ..., sn} (320). Specifically, we choose the Ramer-Douglas-Peucker algorithm.

도 4는 본 발명의 일 실시예에 따른 선형 보간법을 통해 초기 궤적을 계산하는 과정을 설명하기 위한 도면이다. 4 is a diagram for explaining a process of calculating an initial trajectory through linear interpolation according to an embodiment of the present invention.

첫 번째 단순화 포즈부터 시작하여 포즈에서 적절한 조인트 구성을 찾고, 다음 포즈에서 구성 중 하나를 다른 포즈와 연결한다. 조인트 구성을 선택하기 위해, 목적 함수를 최소화하는 것을 선택한다. 마지막으로, 선형 보간법을 통해 초기 궤적을 계산하기 위해 선택된 조인트 구성을 연결한다.Start with the first simplified pose, find a suitable joint configuration in the pose, and then connect one of the configurations to the other pose in the next pose. To choose the joint configuration, choose the one that minimizes the objective function. Finally, we connect the selected joint configurations to compute the initial trajectory via linear interpolation.

단계(140)에서, 국소 최소치에 빠지지 않도록 하기 위해 초기 궤적의 조인트 구성을 반복적으로 랜덤화하는 양자 어닐링을 적용한다. 양자 전환을 활용한 랜덤화 매개변수를 준비하고, 국소 최적화를 실시한다. 양자 전환은 매개변수에 의해 제어되는 랜덤 탐색에 의해 더 낮은 코스트를 검색하고, 매개변수는 코스트 함수에 따라 랜덤성의 강도를 제어한다. 이때, 양자 변환을 반복하여 탐색 부분에 더 비중을 두는 순차 탐색(Sequential Exploring; SE)을 사용한다. In step 140, quantum annealing is applied to iteratively randomize the joint configuration of the initial trajectory in order not to fall into a local minimum. Prepare randomization parameters using quantum conversion and perform local optimization. Quantum conversion searches for a lower cost by a random search controlled by a parameter, and the parameter controls the strength of the randomness according to the cost function. In this case, Sequential Exploring (SE) is used which places more weight on the search part by repeating the quantum transformation.

도 5는 본 발명의 일 실시예에 따른 양자 어닐링을 설명하기 위한 도면이다. 5 is a view for explaining quantum annealing according to an embodiment of the present invention.

초기 궤적을 얻은 반면, 업데이트 방법의 국소 특성과 초기 궤적 구축 방법의 특성상 궤적이 최적 이하일 가능성이 높다. 더욱이, 세 가지 다른 제약의 속성을 목적 함수에 통합하기 때문에 최적화 검색 공간의 측면에서 많은 주변 국소 최소치가 있을 수 있다.While the initial trajectory is obtained, it is highly likely that the trajectory is less than optimal due to the local characteristics of the update method and the initial trajectory construction method. Moreover, since we incorporate the properties of three different constraints into the objective function, there can be many surrounding local minima in terms of the optimization search space.

국소 최소치에 빠지지 않도록 하기 위해 많은 사전 접근방식은 일종의 글로벌 최적화 즉, 시뮬레이션 어닐링 또는 확률적 방법을 채택한다. 본 연구에서는, 시뮬레이션 어닐링보다, 본 발명의 주요 특징인, 주변의 많은 국소 최소치에서 벗어나는데 더 효과적인 양자 어닐링(Quantum Annealing; QA)을 적용한다. To avoid falling into local minima, many proactive approaches employ some kind of global optimization, i.e. simulation annealing or probabilistic methods. In this study, rather than simulation annealing, quantum annealing (QA), which is a key feature of the present invention, is applied, which is more effective in deviating from many local minima around it.

QA는 일종의 랜덤화 알고리즘으로 양자 전환을 활용한 랜덤화 매개변수를 준비하고, 국소 최적화를 실시한다. 양자 전환은 매개변수

Figure 112020009417625-pat00039
에 의해 제어되는 랜덤 탐색에 의해 더 낮은 코스트를 검색한다. 매개변수
Figure 112020009417625-pat00040
는 코스트 함수에 따라 랜덤성의 강도를 제어한다.QA is a kind of randomization algorithm that prepares randomization parameters using quantum conversion and performs local optimization. Quantum conversion is a parameter
Figure 112020009417625-pat00039
A lower cost is searched for by a random search controlled by . parameter
Figure 112020009417625-pat00040
controls the strength of randomness according to the cost function.

QA를 채택하면, 제안하는 알고리즘은 반복적으로 2개의 파트를 수행하는데, 이는 Algorithm. 1의 더 나은 궤적(4-7행)과 궤적 업데이트(3행)이다. Adopting QA, the proposed algorithm iteratively performs two parts, which is described in Algorithm. A better trajectory of 1 (lines 4-7) and a trajectory update (lines 3).

Figure 112020009417625-pat00041
Figure 112020009417625-pat00041

원래의 QA와 달리, 본 발명의 실시예에 따른 양자 변환을 b번 반복하여 탐색 부분에 더 비중을 두는 순차 탐색(SE)을 사용한다. SE는 랜덤화된 알고리즘을 통해 고품질 솔루션을 확실하게 식별하기 위해 선택되었다.Unlike the original QA, the quantum transformation according to the embodiment of the present invention is repeated b times to use a sequential search (SE) that places more weight on the search part. SE was chosen to reliably identify high-quality solutions through a randomized algorithm.

탐색 부분은 양자 전환을 이용하여 새로운 궤적

Figure 112020009417625-pat00042
를 찾은 다음 2단계 경사 강하로 새로운 궤적
Figure 112020009417625-pat00043
를 다시 다듬는다. 본 발명의 실시예에 따른 경우, 양자 전환은 목적 함수(Alg. 1의 5행)를 이용하여 랜덤으로 생성된 궤적을 추정함으로써 잠재적으로 좋은 해결책을 탐색한다. 궤적은 IK를 사용하여 단순화된 포즈로 얻은 랜덤 조인트 구성을 연결하여 계산한다.The search part uses quantum transitions to create new trajectories
Figure 112020009417625-pat00042
, then a new trajectory with a two-step gradient descent
Figure 112020009417625-pat00043
re-trim In the case of an embodiment of the present invention, quantum transformation searches for a potentially good solution by estimating a randomly generated trajectory using an objective function (line 5 of Alg. 1). The trajectory is calculated by concatenating random joint configurations obtained with simplified poses using IK.

탐색 중 구한 새로운 궤적

Figure 112020009417625-pat00044
의 코스트가 더 낮을 때, 그것을 현재의 궤적(Alg. 1의 7행)까지 사용한다. 단, 새로운 궤적
Figure 112020009417625-pat00045
가 제약조건을 위반하는 경우에는 현재 궤적에 사용하지 않는다. 업데이트 부분은 2단계 경사 강하를 사용하여 궤적을 국소적으로 다듬는다. 이 과정은 특정 조건(예를 들어, 가동 시간 또는 코스트)을 충족할 때까지 계속된다. New trajectories found during exploration
Figure 112020009417625-pat00044
When the cost of is lower, it is used up to the current trajectory (line 7 of Alg. 1). However, a new trajectory
Figure 112020009417625-pat00045
In case of violates the constraint, it is not used for the current trajectory. The update part uses two-step gradient descent to locally refine the trajectory. This process continues until certain conditions (eg uptime or cost) are met.

단계(150)에서, 목적 함수를 통합한 최적화 프로세스를 통해 원하는 궤적을 합성하고, 양자 어닐링을 적용한 궤적의 충돌을 확인하여 궤적을 업데이트한다. In step 150, a desired trajectory is synthesized through an optimization process that integrates the objective function, and the trajectory is updated by checking the collision of the trajectory to which quantum annealing is applied.

목적 함수를 통합한 최적화 프로세스를 통해 낮은 코스트를 찾아내어 원하는 궤적을 합성한다. 최적화 프로세스는 저코스트 솔루션을 찾지만, 몇 가지 제약을 위반할 수 있다. 예를 들어 궤적이 주어진 엔드-이펙터 포즈를 정확히 따르더라도 궤적은 장애물이나 자기 충돌과 충돌할 수 있다. 따라서, 양자 어닐링 과정에서 더 나은 궤적을 찾을 때마다 충돌을 확인한다.Through an optimization process that integrates the objective function, the desired trajectory is synthesized by finding the low cost. The optimization process looks for a low-cost solution, but may violate some constraints. For example, even if the trajectory exactly follows a given end-effector pose, the trajectory can collide with an obstacle or magnetic collision. Therefore, whenever we find a better trajectory in the quantum annealing process, we check for collisions.

매니퓰레이터는 충돌 확인 외에도 일반적으로 조인트의 하한과 상한, 속도 한계 및 조인트의 키네마틱 특이성을 만족하는 몇 가지 제약조건을 가지고 있다. 조인트의 하한과 상한의 경우, 전통적으로 위반 조인트 값을 한계값으로 재설정하는 L1 투영을 수행하여 취급한다. 매끄러움을 유지하기 위해 업데이트 프로세스 동안 CHOMP에서 사용하는 부드러운 투영을 사용한다. 매끄러운 투영은

Figure 112020009417625-pat00046
로 쓸 수 있는 Riemannian 메트릭 A-1을 사용한다. 여기서 v는 조인트 값의 벡터이고 α는 스케일 상수이다. 이 과정은 위반이 없을 때까지 반복된다.In addition to collision checking, the manipulator has some constraints that generally satisfy the joint's lower and upper limits, velocity limits, and the kinematic singularity of the joint. For the lower and upper bounds of the joint, they are traditionally handled by performing an L1 projection that resets the offending joint value to the limit value. To maintain smoothness, we use the smooth projection used by CHOMP during the update process. a smooth projection
Figure 112020009417625-pat00046
We use the Riemannian metric A -1 , which can be written as where v is the vector of joint values and α is the scale constant. This process is repeated until there are no violations.

속도 제한과 같은 다른 제약조건에 대해서는 충돌을 확인하면서 함께 확인한다. 조인트 속도 제한은 주어진 시간 간격

Figure 112020009417625-pat00047
동안 qi-1과 qi 사이의 조인트 속도를 계산하여 확인한다. 또 다른 제약조건은 로봇이 불안정한 지점인 키네마틱 특이점이며, 자코비안 매트릭스가 전체 순위를 잃을 때 발생할 수 있다. 키네마틱 특이점을 확인하기 위해, Relaxed-IK에서 사용하는 조작성 측정치를 사용한다. 높은 수준에서는 랜덤 샘플로 계산되는 특정 값보다 작은 조작성 측정을 피한다. 제안하는 방법은 실현 가능한 궤적을 구성하기 위한 제약조건을 확인함으로써 보장된 최저 코스트 궤적을 보상한다는 점에 주목하라.Other constraints, such as speed limits, are checked together while checking for collisions. The joint speed limit is set at a given time interval
Figure 112020009417625-pat00047
Calculate and check the joint velocity between qi -1 and qi during Another constraint is the kinematic singularity, the point at which the robot is unstable, which can occur when the Jacobian matrix loses its overall rank. To identify kinematic singularities, we use the manipulative measures used by Relaxed-IK. At a high level, avoid measures of manipulability that are smaller than a certain value calculated from random samples. Note that the proposed method compensates for the guaranteed lowest cost trajectory by checking the constraints for constructing a feasible trajectory.

도 6은 본 발명의 일 실시예에 따른 주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 장치의 구성을 나타내는 도면이다. 6 is a diagram illustrating a configuration of a collision-free trajectory optimization apparatus of a redundant manipulator for accurately following a given end-effector path according to an embodiment of the present invention.

제안하는 주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 장치(600)는 목적 함수 모델링부(610), 궤적 최적화부(620), 초기 궤적 선택부(630), 양자 어닐링부(640) 및 궤적 업데이트부(650)를 포함한다. 목적 함수 모델링부(610), 궤적 최적화부(620), 초기 궤적 선택부(630), 양자 어닐링부(640) 및 궤적 업데이트부(650)는 도 1의 단계들(110~150)을 수행하기 위해 구성될 수 있다. The collision-free trajectory optimization apparatus 600 of the redundant manipulator for accurately following the proposed given end-effector path includes an objective function modeling unit 610 , a trajectory optimization unit 620 , an initial trajectory selection unit 630 , and a quantum annealing unit. 640 and a trajectory updater 650 . The objective function modeling unit 610 , the trajectory optimization unit 620 , the initial trajectory selection unit 630 , the quantum annealing unit 640 , and the trajectory update unit 650 perform steps 110 to 150 of FIG. 1 . can be configured for

목적 함수 모델링부(610)는 대상과 현재 엔드-이펙터 포즈 사이의 포즈 오류를 최소화하기 위한 매칭, 궤적의 매끄러움을 보장하기 위한 조건, 충돌을 피하기 위해 장애물에 대한 근접도의 정량적 측정의 세 가지 특성으로 목적 함수를 모델링 한다. The objective function modeling unit 610 has three characteristics: matching to minimize pose errors between the target and the current end-effector pose, conditions for ensuring smoothness of the trajectory, and quantitative measurement of proximity to obstacles to avoid collisions. to model the objective function.

궤적 최적화부(620)는 세 가지 특성을 갖는 목적 함수의 비용을 최소화하기 위해 궤적을 반복적으로 업데이트하고, 업데이트 동안 세 가지 특성들 사이의 잠재적 경쟁을 줄이기 위해 2단계 경사 하강을 이용하여 궤적을 최적화한다. 궤적 최적화부(620)는 2단계 경사 하강은 각각의 홀수 반복이 목적 함수의 세 가지 특성 중 궤적의 매끄러움을 보장하기 위한 조건, 충돌을 피하기 위해 장애물에 대한 근접도의 정량적 측정을 사용하여 궤적을 업데이트하고, 대상과 현재 엔드-이펙터 포즈 사이의 포즈 오류를 최소화하기 위한 매칭을 사용하여 궤적을 반복 업데이트한다. The trajectory optimizer 620 iteratively updates the trajectory to minimize the cost of the objective function having three features, and optimizes the trajectory using two-step gradient descent to reduce potential competition between the three features during the update. do. The trajectory optimizer 620 uses a quantitative measurement of proximity to obstacles to avoid collisions, and the condition for ensuring smoothness of the trajectory among the three characteristics of the objective function for each odd repetition of the two-step gradient descent. update and iteratively update the trajectory using matching to minimize pose errors between the object and the current end-effector pose.

초기 궤적 선택부(630)는 엔드-이펙터 포즈의 최적의 조인트 구성을 선택하기 위해 목적 함수를 최소화하는 것을 초기 궤적으로 선택한다. 초기 궤적 선택부(630)는 엔드-이펙터의 경로를 복수의 포즈로 모자이크식 형태로 나타내고, 엔드-이펙터의 복수의 포즈를 단순화한다. 단순화된 엔드-이펙터의 복수의 포즈에서 목적 함수를 최소화하는 조인트 구성을 찾고, 선형 보간법을 통해 초기 궤적을 계산하기 위한 선택된 조인트 구성을 서로 연결한다. The initial trajectory selection unit 630 selects an initial trajectory that minimizes the objective function in order to select an optimal joint configuration of the end-effector pose. The initial trajectory selector 630 represents the path of the end-effector in a tessellated form in a plurality of poses, and simplifies the plurality of poses of the end-effector. Find the joint configuration that minimizes the objective function in multiple poses of the simplified end-effector, and connect the selected joint configuration to calculate the initial trajectory through linear interpolation.

양자 어닐링부(640)는 국소 최소치에 빠지지 않도록 하기 위해 초기 궤적의 조인트 구성을 반복적으로 랜덤화하는 양자 어닐링을 적용한다. 양자 어닐링부(640)는 양자 전환을 활용한 랜덤화 매개변수를 준비하고, 국소 최적화를 실시한다. 양자 전환은 매개변수에 의해 제어되는 랜덤 탐색에 의해 더 낮은 비용을 검색하고, 매개변수는 비용 함수에 따라 랜덤성의 강도를 제어한다. 양자 변환을 반복하여 탐색 부분에 더 비중을 두는 순차 탐색(Sequential Exploring; SE)을 사용한다. The quantum annealing unit 640 applies quantum annealing that repeatedly randomizes the joint configuration of the initial trajectory in order not to fall into a local minimum. The quantum annealing unit 640 prepares randomization parameters using quantum conversion and performs local optimization. Quantum conversion searches for a lower cost by random search controlled by a parameter, and the parameter controls the strength of randomness according to a cost function. Sequential Exploring (SE), which repeats quantum transformations and places more weight on the search part, is used.

궤적 업데이트부(650)는 목적 함수를 통합한 최적화 프로세스를 통해 원하는 궤적을 합성하고, 양자 어닐링을 적용한 궤적의 충돌을 확인하여 궤적을 업데이트한다. The trajectory updater 650 synthesizes a desired trajectory through an optimization process integrating the objective function, and updates the trajectory by checking collisions of the trajectories to which quantum annealing is applied.

도 7은 본 발명의 일 실시예에 따른 장애물이 있는 환경과 제안한 방법에 대한 분석 결과를 나타내는 도면이다. 7 is a diagram illustrating an analysis result of an environment with obstacles and a proposed method according to an embodiment of the present invention.

제안한 방법을 평가하기 위해, 외부 장애물을 포함한 문제에서 제안한 방법을 하나씩 제거하여 실험하였다. 제안한 방법은 2단계 경사 하강법(TSGD), 양자 어닐링(QA), 연속적인 탐색(SE)이며, 장애물과 가까운 시작 조인트 구성으로 고정하여 실험하였다. 제안한 방법을 모두 사용했을 때, 가장 좋은 결과를 보였다. In order to evaluate the proposed method, the proposed method was removed one by one from the problem including external obstacles and tested. The proposed methods are two-step gradient descent (TSGD), quantum annealing (QA), and continuous search (SE). When all of the proposed methods were used, the best results were obtained.

도 8은 본 발명의 일 실시예에 따른 장애물이 없는 환경과 최신 방법과의 비교 결과를 나타내는 도면이다.8 is a diagram illustrating a comparison result between an obstacle-free environment and a state-of-the-art method according to an embodiment of the present invention.

최신 방법과의 비교를 위해 외부 장애물이 없는 그들의 문제에서 실험하였다. RelaxedIK는 실시간 방법이지만, 자세 오차가 컸다. Stampede는 정확한 궤적을 찾지만, 최초 궤적을 찾는데 시간이 오래 걸렸다. 제안한 방법은 점진적으로 자세 에러를 빠르게 줄여 시간 대비 최신 방법보다 좋은 성능을 보였다. 실험 결과는 20번의 평균치로 실행 가능한 궤적을 기준으로 측정하였다.For comparison with state-of-the-art methods, experiments were performed on their problems without external obstacles. RelaxedIK is a real-time method, but the posture error was large. Stampede finds the correct trajectory, but it takes a long time to find the original trajectory. The proposed method showed better performance than the latest method compared to the time by rapidly reducing the posture error gradually. The experimental results were measured based on the trajectory that was feasible with the average value of 20 times.

본 연구에서는 로봇 자체 및 외부 장애물에 대한 부드럽고 충돌 없는 궤적을 정확하게 따라가는 궤적을 합성하기 위한 TORM(Trajectory Optimization of Redundant Manipulator)의 궤적 최적화를 제시한다. In this study, we present the trajectory optimization of TORM (Trajectory Optimization of Redundant Manipulator) for synthesizing the trajectory that accurately follows the smooth and collision-free trajectory of the robot itself and external obstacles.

제안하는 방법은 CHOMP에서 영감을 받은 2단계 경사 하강을 기반으로 하며, 앞에서 언급한 특성을 제안하는 궤적 최적화 프로세스에 통합한다. 목적 함수의 하강에 기초하여, 2단계 업데이트 방식을 통해 궤적을 반복적으로 업데이트하여, 주어진 엔드-이펙터 경로(Sec. III-B)를 정확히 따르면서 실현 가능한 궤적을 만든다. 이 최적화 프로세스는 국소 업데이트를 기반으로 하기 때문에 국소 최소치에 고착될 수 있다. 국소 최소치를 피하기 위해, 보다 나은 궤적을 점진적으로 식별하기 위해 효과적인 랜덤화 기술인 양자 어닐링을 제안하는 방법에 채택한다(Sec. III-D). The proposed method is based on CHOMP-inspired two-step gradient descent and integrates the aforementioned properties into the trajectory optimization process. Based on the descent of the objective function, the trajectory is iteratively updated through a two-step update method to create a feasible trajectory while accurately following the given end-effector path (Sec. III-B). Since this optimization process is based on local updates, it can stick to local minima. To avoid local minima, we adopt quantum annealing, an effective randomization technique, in our method to gradually identify better trajectories (Sec. III-D).

방법의 각 구성요소의 장점을 보기 위해, 외부 장애물(Sec. IV-A)을 포함하는 두 가지 다른 시나리오에서 축소한 방법으로 시험한다. 제안하는 방법을 최첨단 방법과 비교하기 위해, RelaxedIK와 Stampede, 장애물이 없는 세 가지 시나리오를 시험한다(Sec. IV-B). 전반적으로, 제안하는 방법이 장애물과 비 장애물 환경 모두에서 상당히 빠른 포즈 오류를 강력하게 최소화하는 것을 관찰할 수 있다.To see the merits of each component of the method, the reduced method is tested in two different scenarios involving external obstacles (Sec. IV-A). To compare the proposed method with the state-of-the-art method, we test three scenarios without obstacles, RelaxedIK and Stampede (Sec. IV-B). Overall, it can be observed that the proposed method strongly minimizes fairly fast pose errors in both obstacle and non-obstacle environments.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.  또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다.  이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다.  예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다.  또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.  소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다.  소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. may be embodied in The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.  상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.  상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.  컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.  프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.  The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible from the above description by those skilled in the art. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (10)

대상과 현재 엔드-이펙터 포즈 사이의 포즈 오류를 최소화하기 위한 매칭, 궤적의 매끄러움을 보장하기 위한 조건, 충돌을 피하기 위해 장애물에 대한 근접도의 정량적 측정의 세 가지 특성으로 목적 함수를 모델링 하는 단계;
세 가지 특성을 갖는 목적 함수의 코스트를 최소화하기 위해 궤적을 반복적으로 업데이트하고, 업데이트 동안 세 가지 특성들 사이의 잠재적 경쟁을 줄이기 위해 2단계 경사 하강을 이용하여 궤적을 최적화하는 단계;
엔드-이펙터 포즈의 최적의 조인트 구성을 선택하기 위해 목적 함수를 최소화하는 것을 초기 궤적으로 선택하는 단계;
국소 최소치에 빠지지 않도록 하기 위해 초기 궤적의 조인트 구성을 반복적으로 랜덤화하는 양자 어닐링을 적용하는 단계; 및
목적 함수를 통합한 최적화 프로세스를 통해 원하는 궤적을 합성하고, 양자 어닐링을 적용한 궤적의 충돌을 확인하여 궤적을 업데이트하는 단계
를 포함하는 궤적 최적화 방법.
modeling the objective function with three characteristics: matching to minimize pose errors between the target and the current end-effector pose, conditions to ensure smoothness of the trajectory, and quantitative measurements of proximity to obstacles to avoid collisions;
iteratively updating the trajectory to minimize the cost of the objective function with three features, and optimizing the trajectory using two-step gradient descent to reduce potential competition between the three features during the update;
selecting an initial trajectory that minimizes the objective function to select an optimal joint configuration of the end-effector pose;
applying quantum annealing to iteratively randomize the joint configuration of the initial trajectory to avoid falling into a local minimum; and
A step of synthesizing a desired trajectory through an optimization process that integrates an objective function, and updating the trajectory by checking the collision of the trajectories to which quantum annealing is applied.
A trajectory optimization method comprising
제1항에 있어서,
세 가지 특성을 갖는 목적 함수의 코스트를 최소화하기 위해 궤적을 반복적으로 업데이트하고, 업데이트 동안 세 가지 특성들 사이의 잠재적 경쟁을 줄이기 위해 2단계 경사 하강을 이용하여 궤적을 최적화하는 단계는,
2단계 경사 하강은 각각의 홀수 반복이 목적 함수의 세 가지 특성 중 궤적의 매끄러움을 보장하기 위한 조건, 충돌을 피하기 위해 장애물에 대한 근접도의 정량적 측정을 사용하여 궤적을 업데이트하고, 대상과 현재 엔드-이펙터 포즈 사이의 포즈 오류를 최소화하기 위한 매칭을 사용하여 궤적을 반복 업데이트 하는
궤적 최적화 방법.
According to claim 1,
Iteratively updating the trajectory to minimize the cost of the objective function with three features, and optimizing the trajectory using two-step gradient descent to reduce potential competition between the three features during the update,
Two-step gradient descent updates the trajectory using quantitative measurements of proximity to obstacles to avoid collisions, the condition for each odd iteration to ensure smoothness of the trajectory among the three properties of the objective function, and the target and current end Iteratively updates the trajectory using matching to minimize pose errors between effector poses.
Trajectory optimization method.
제1항에 있어서,
엔드-이펙터 포즈의 최적의 조인트 구성을 선택하기 위해 목적 함수를 최소화하는 것을 초기 궤적으로 선택하는 단계는,
엔드-이펙터의 경로를 복수의 포즈로 모자이크식 형태로 나타내고, 엔드-이펙터의 복수의 포즈를 단순화하고, 단순화된 엔드-이펙터의 복수의 포즈에서 목적 함수를 최소화하는 조인트 구성을 찾고, 선형 보간법을 통해 초기 궤적을 계산하기 위한 선택된 조인트 구성을 서로 연결하는
궤적 최적화 방법.
According to claim 1,
In order to select the optimal joint configuration of the end-effector pose, the step of selecting as the initial trajectory that minimizes the objective function is:
Represent the path of the end-effector in a tessellated form in multiple poses, simplify the multiple poses of the end-effector, find a joint configuration that minimizes the objective function in the multiple poses of the simplified end-effector, and perform linear interpolation. to interconnect the selected joint configurations for calculating the initial trajectory through
Trajectory optimization method.
제1항에 있어서,
국소 최소치에 빠지지 않도록 하기 위해 초기 궤적의 조인트 구성을 반복적으로 랜덤화하는 양자 어닐링을 적용하는 단계는,
양자 전환을 활용한 랜덤화 매개변수를 준비하고, 국소 최적화를 실시하며, 양자 전환은 매개변수에 의해 제어되는 랜덤 탐색에 의해 더 낮은 코스트를 검색하고, 매개변수는 코스트 함수에 따라 랜덤성의 강도를 제어하는
궤적 최적화 방법.
According to claim 1,
Applying quantum annealing to iteratively randomize the joint configuration of the initial trajectory in order not to fall into a local minimum,
Prepare randomization parameters using quantum transformation, perform local optimization, quantum transformation searches for lower cost by random search controlled by the parameter, and the parameter determines the strength of randomness according to the cost function to control
Trajectory optimization method.
제4항에 있어서,
양자 변환을 반복하여 탐색 부분에 더 비중을 두는 순차 탐색(Sequential Exploring; SE)을 사용하는
궤적 최적화 방법.
5. The method of claim 4,
Using Sequential Exploring (SE), which repeats quantum transformations and places more weight on the search part,
Trajectory optimization method.
대상과 현재 엔드-이펙터 포즈 사이의 포즈 오류를 최소화하기 위한 매칭, 궤적의 매끄러움을 보장하기 위한 조건, 충돌을 피하기 위해 장애물에 대한 근접도의 정량적 측정의 세 가지 특성으로 목적 함수를 모델링 하는 목적 함수 모델링부;
세 가지 특성을 갖는 목적 함수의 코스트를 최소화하기 위해 궤적을 반복적으로 업데이트하고, 업데이트 동안 세 가지 특성들 사이의 잠재적 경쟁을 줄이기 위해 2단계 경사 하강을 이용하여 궤적을 최적화하는 궤적 최적화부;
엔드-이펙터 포즈의 최적의 조인트 구성을 선택하기 위해 목적 함수를 최소화하는 것을 초기 궤적으로 선택하는 초기 궤적 선택부;
국소 최소치에 빠지지 않도록 하기 위해 초기 궤적의 조인트 구성을 반복적으로 랜덤화하는 양자 어닐링을 적용하는 양자 어닐링부; 및
목적 함수를 통합한 최적화 프로세스를 통해 원하는 궤적을 합성하고, 양자 어닐링을 적용한 궤적의 충돌을 확인하여 궤적을 업데이트하는 궤적 업데이트부
를 포함하는 궤적 최적화 장치.
An objective function that models the objective function with three characteristics: matching to minimize pose error between the target and the current end-effector pose, conditions to ensure smoothness of the trajectory, and quantitative measurement of proximity to obstacles to avoid collisions. modeling department;
a trajectory optimizer that iteratively updates the trajectory to minimize the cost of the objective function with three features, and optimizes the trajectory using two-step gradient descent to reduce potential competition between the three features during the update;
an initial trajectory selection unit that selects an initial trajectory that minimizes the objective function in order to select an optimal joint configuration of the end-effector pose;
a quantum annealing unit that applies quantum annealing to repeatedly randomize the joint configuration of the initial trajectory in order not to fall into a local minimum; and
A trajectory update unit that synthesizes a desired trajectory through an optimization process that integrates an objective function and updates the trajectory by checking collisions of trajectories to which quantum annealing is applied.
A trajectory optimization device comprising a.
제6항에 있어서,
궤적 최적화부는,
2단계 경사 하강은 각각의 홀수 반복이 목적 함수의 세 가지 특성 중 궤적의 매끄러움을 보장하기 위한 조건, 충돌을 피하기 위해 장애물에 대한 근접도의 정량적 측정을 사용하여 궤적을 업데이트하고, 대상과 현재 엔드-이펙터 포즈 사이의 포즈 오류를 최소화하기 위한 매칭을 사용하여 궤적을 반복 업데이트 하는
궤적 최적화 장치.
7. The method of claim 6,
The trajectory optimization unit,
Two-step gradient descent updates the trajectory using quantitative measurements of proximity to obstacles to avoid collisions, the condition for each odd iteration to ensure smoothness of the trajectory among the three properties of the objective function, and the target and current end Iteratively updates the trajectory using matching to minimize pose errors between effector poses.
Trajectory Optimizer.
제6항에 있어서,
초기 궤적 선택부는,
엔드-이펙터의 경로를 복수의 포즈로 모자이크식 형태로 나타내고, 엔드-이펙터의 복수의 포즈를 단순화하고, 단순화된 엔드-이펙터의 복수의 포즈에서 목적 함수를 최소화하는 조인트 구성을 찾고, 선형 보간법을 통해 초기 궤적을 계산하기 위한 선택된 조인트 구성을 서로 연결하는
궤적 최적화 장치.
7. The method of claim 6,
The initial trajectory selection unit,
Represent the path of the end-effector in a tessellated form in multiple poses, simplify the multiple poses of the end-effector, find a joint configuration that minimizes the objective function in the multiple poses of the simplified end-effector, and perform linear interpolation. connecting the selected joint configurations to calculate the initial trajectory through
Trajectory Optimizer.
제6항에 있어서,
양자 어닐링부는,
양자 전환을 활용한 랜덤화 매개변수를 준비하고, 국소 최적화를 실시하며, 양자 전환은 매개변수에 의해 제어되는 랜덤 탐색에 의해 더 낮은 코스트를 검색하고, 매개변수는 코스트 함수에 따라 랜덤성의 강도를 제어하는
궤적 최적화 장치.
7. The method of claim 6,
Quantum annealing unit,
Prepare randomization parameters using quantum transformation, perform local optimization, quantum transformation searches for lower cost by random search controlled by the parameter, and the parameter determines the strength of randomness according to the cost function to control
Trajectory Optimizer.
제9항에 있어서,
양자 변환을 반복하여 탐색 부분에 더 비중을 두는 순차 탐색(Sequential Exploring; SE)을 사용하는
궤적 최적화 장치.
10. The method of claim 9,
Using Sequential Exploring (SE), which repeats quantum transformations and places more weight on the search part,
Trajectory Optimizer.
KR1020200010369A 2020-01-29 2020-01-29 Method and Apparatus for Collision-Free Trajectory Optimization of Redundant Manipulator given an End-Effector Path KR102300752B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200010369A KR102300752B1 (en) 2020-01-29 2020-01-29 Method and Apparatus for Collision-Free Trajectory Optimization of Redundant Manipulator given an End-Effector Path

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200010369A KR102300752B1 (en) 2020-01-29 2020-01-29 Method and Apparatus for Collision-Free Trajectory Optimization of Redundant Manipulator given an End-Effector Path

Publications (2)

Publication Number Publication Date
KR20210096842A KR20210096842A (en) 2021-08-06
KR102300752B1 true KR102300752B1 (en) 2021-09-10

Family

ID=77315304

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200010369A KR102300752B1 (en) 2020-01-29 2020-01-29 Method and Apparatus for Collision-Free Trajectory Optimization of Redundant Manipulator given an End-Effector Path

Country Status (1)

Country Link
KR (1) KR102300752B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114211495B (en) * 2021-12-29 2024-04-02 泓浒(苏州)半导体科技有限公司 Self-adaptive track optimization method and system for semiconductor wafer conveying mechanical arm
CN114654467A (en) * 2022-04-08 2022-06-24 中国电子科技集团公司第十四研究所 Motion control method of heavy-load parallel mechanism based on visual positioning technology
CN114939872B (en) * 2022-06-13 2023-08-25 合肥工业大学 MIRRT-Connect algorithm-based intelligent storage redundant mechanical arm dynamic obstacle avoidance motion planning method
CN116595869B (en) * 2023-05-11 2023-11-24 哈尔滨工业大学(深圳) Data driving control strategy for collision-allowed rope traction parallel robot
CN117162103B (en) * 2023-11-01 2024-02-09 中山大学 Redundant robot self-collision avoidance control method
CN117182932B (en) * 2023-11-08 2024-01-30 湖南视比特机器人有限公司 Method and device for planning obstacle avoidance action of mechanical arm and computer equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018505788A (en) 2015-01-26 2018-03-01 デューク・ユニバーシティDuke University Hardware for planning the operation of a dedicated robot, and its production and use
JP2018069428A (en) 2016-11-04 2018-05-10 トヨタ自動車株式会社 Operation path planning method
JP2019025618A (en) 2017-08-01 2019-02-21 オムロン株式会社 Robot control apparatus, robot control method, and robot control program
JP2019155501A (en) 2018-03-09 2019-09-19 株式会社日立製作所 Track planning device, track planning method, and production system
KR102062691B1 (en) 2018-04-24 2020-01-06 국방과학연구소 Method for generating an optimal path for an unmanned ground vehicle and apparatus therefor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101748632B1 (en) 2015-10-29 2017-06-20 한국과학기술연구원 Robot control system and method for planning driving path of robot

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018505788A (en) 2015-01-26 2018-03-01 デューク・ユニバーシティDuke University Hardware for planning the operation of a dedicated robot, and its production and use
JP2018069428A (en) 2016-11-04 2018-05-10 トヨタ自動車株式会社 Operation path planning method
JP2019025618A (en) 2017-08-01 2019-02-21 オムロン株式会社 Robot control apparatus, robot control method, and robot control program
JP2019155501A (en) 2018-03-09 2019-09-19 株式会社日立製作所 Track planning device, track planning method, and production system
KR102062691B1 (en) 2018-04-24 2020-01-06 국방과학연구소 Method for generating an optimal path for an unmanned ground vehicle and apparatus therefor

Also Published As

Publication number Publication date
KR20210096842A (en) 2021-08-06

Similar Documents

Publication Publication Date Title
KR102300752B1 (en) Method and Apparatus for Collision-Free Trajectory Optimization of Redundant Manipulator given an End-Effector Path
Qureshi et al. Motion planning networks
Das et al. Learning-based proxy collision detection for robot motion planning applications
CN107234617B (en) Obstacle avoidance path planning method guided by artificial potential field irrelevant to obstacle avoidance task
US8290620B2 (en) Route creation method and route creation device
JP6727744B2 (en) Model predictive control system and method for controlling machine operation
Zito et al. Two-level RRT planning for robotic push manipulation
US10913152B2 (en) Robot device controller, robot device arrangement and method for controlling a robot device
US20100204828A1 (en) Movement path generation device for robot
JP5044991B2 (en) Route creation apparatus and route creation method
Zhao et al. Efficient trajectory optimization for robot motion planning
CN115605326A (en) Method for controlling a robot and robot controller
Kang et al. TORM: Fast and accurate trajectory optimization of redundant manipulator given an end-effector path
JP2009134352A (en) Robot motion path creating device, and robot motion path creating method
JP4760732B2 (en) Route creation device
Park et al. High-dof robots in dynamic environments using incremental trajectory optimization
US11673271B2 (en) Trajectory generation apparatus, multi-link system, and trajectory generation method
Park et al. Parallel cartesian planning in dynamic environments using constrained trajectory planning
Oguz et al. Progressive stochastic motion planning for human-robot interaction
Maderna et al. Real-time monitoring of human task advancement
JP2009274180A (en) Robot movement plan method and device using the same
JP4304512B2 (en) Path planning device
JP2023113133A (en) Method for controlling robot device
Kiemel et al. TrueRMA: Learning fast and smooth robot trajectories with recursive midpoint adaptations in cartesian space
Ding et al. Online computation of safety-relevant regions for human robot interaction

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant