KR102624551B1 - A method for task-space compliance control of robot manipulator without rotational displacement constraints - Google Patents

A method for task-space compliance control of robot manipulator without rotational displacement constraints Download PDF

Info

Publication number
KR102624551B1
KR102624551B1 KR1020230017315A KR20230017315A KR102624551B1 KR 102624551 B1 KR102624551 B1 KR 102624551B1 KR 1020230017315 A KR1020230017315 A KR 1020230017315A KR 20230017315 A KR20230017315 A KR 20230017315A KR 102624551 B1 KR102624551 B1 KR 102624551B1
Authority
KR
South Korea
Prior art keywords
rotation
extended
exponential
error
angle
Prior art date
Application number
KR1020230017315A
Other languages
Korean (ko)
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 KR1020230017315A priority Critical patent/KR102624551B1/en
Application granted granted Critical
Publication of KR102624551B1 publication Critical patent/KR102624551B1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • 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/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control

Abstract

본 개시의 다양한 실시예에 따른 회전 변위의 제약이 없는 다관절 로봇의 유연제어방법에 있어서, 상기 다관절 로봇은: 복수의 링크와 상기 복수의 링크를 연결하는 복수의 관절을 포함하는 로봇 암; 및 로봇 암의 최종단에 연결된 엔드 이펙터; 상기 복수의 관절 각각에 구비되고, 인코더를 포함하는 모터를 포함하고; 상기 방법은: 상기 인코더로부터 관절 각도(q)를 수신하는 동작; 상기 수신한 관절 각도(q)를 이용하여 엔드 이펙터의 회전값(R), 각속도(Ω) 및 선속도(v)를 연산하는 동작; 상기 회전값(R), 상기 각속도(Ω), 및 목표 회전값(Rd)에 기반하여 확장지수계 회전오차()를 연산하는 동작; 및 상기 확장지수계 회전오차()에 기반하여 가상의 스프링-댐퍼 모션을 위한 토크 제어 입력(τ)을 생성하는 동작; 및 상기 토크 제어 입력(τ)을 상기 모터에 전송하는 동작을 포함하되, 상기 확장지수계 회전오차()는 π rad 이상의 크기를 가질 수 있다. 그 밖의 다양한 실시예가 가능하다. In the flexible control method of an articulated robot without restrictions on rotational displacement according to various embodiments of the present disclosure, the articulated robot includes: a robot arm including a plurality of links and a plurality of joints connecting the plurality of links; and an end effector connected to the final end of the robot arm; It is provided at each of the plurality of joints and includes a motor including an encoder; The method includes: receiving a joint angle ( q ) from the encoder; An operation of calculating the rotation value (R), angular velocity (Ω), and linear velocity ( v ) of the end effector using the received joint angle ( q ); Based on the rotation value (R), the angular velocity (Ω), and the target rotation value (R d ), the extended index rotation error ( ) The operation of calculating ); And the extended exponential rotation error ( An operation of generating a torque control input (τ) for a virtual spring-damper motion based on ); And an operation of transmitting the torque control input (τ) to the motor, wherein the extended exponential rotation error ( ) may have a size of π rad or more. Various other embodiments are possible.

Description

회전 변위의 제약이 없는 다관절 로봇의 작업공간 유연제어방법{A METHOD FOR TASK-SPACE COMPLIANCE CONTROL OF ROBOT MANIPULATOR WITHOUT ROTATIONAL DISPLACEMENT CONSTRAINTS}Flexible control method for the work space of an articulated robot without restrictions on rotational displacement {A METHOD FOR TASK-SPACE COMPLIANCE CONTROL OF ROBOT MANIPULATOR WITHOUT ROTATIONAL DISPLACEMENT CONSTRAINTS}

본 개시는 회전 변위의 제약이 없는 다관절 로봇의 작업공간 유연제어방법에 관한 것이다. This disclosure relates to a method for flexible control of the work space of an articulated robot without restrictions on rotational displacement.

최근 로보틱스 분야가 4차산업의 핵심기술요소로 부상함에 따라, 다관절 로봇(또는 매니퓰레이터)을 활용한 사람-로봇의 협업(Human-robot Collaboration), 비정형화된 환경에서의 로봇 자율화 (Robot autonomy in unstructured environment)에 대한 산업/연구적 관심이 증가하고 있다. Recently, as the field of robotics has emerged as a core technology element of the 4th industry, human-robot collaboration using articulated robots (or manipulators) and robot autonomy in unstructured environments Industrial/research interest in unstructured environments is increasing.

기존의 산업용 로봇의 경우, 정형화된 작업 환경 내에서 정확한 제어 성능을 구현함으로써 성공적으로 적용될 수 있었으나, 상기 언급한 사람-로봇의 협업 또는 비정형화된 환경에서의 작업들은 측정 불확실성(sensing uncertainty), 부분적 관측가능성 (partial observability)을 내포하고 있어 기존의 비(非)적응적인 제어 방법들의 적용은 위험을 초래할 수 있다. 예컨대, 로봇이 책상에 컵을 내려놓는 작업, 사람과 같은 작업 공간을 공유하는 사람-로봇 협업 작업을 생각해보았을 때, 미리 프로그램된 규칙에 따라 로봇이 동작하는 로봇은, 다른 물체 또는 사람과 충돌하더라도 목적하는 위치로 계속 이동하기 위하여 큰 토크를 출력하기 때문에 로봇 자체가 손상되거나 사람을 다치게 할 수 있다. In the case of existing industrial robots, they could be successfully applied by implementing accurate control performance within a structured work environment, but the above-mentioned human-robot collaboration or tasks in an unstructured environment are subject to measurement uncertainty (sensing uncertainty), partial Because it involves partial observability, application of existing non-adaptive control methods may result in risk. For example, when considering a task where a robot puts down a cup on a desk or a human-robot collaborative task where the robot shares the same workspace as a human, the robot operates according to pre-programmed rules even if it collides with other objects or people. Because a large torque is output to continue moving to the desired location, the robot itself may be damaged or people may be injured.

때문에 이러한 작업에서는 외부 환경과 적응적으로 상호작용할 수 있는 제어방법인 유연제어기법(Compliance control)이 적용될 수 있다. 일반적인 유연제어기법의 예로서, 로봇의 최종단 또는 엔드 이펙터의 제어에 가상의 스프링-댐퍼 역학을 구현하는 것으로, 예상하지 못한 환경이나 외란에 대해서도 부드럽게 순응하는 로봇의 움직임을 보장할 수 있다. Therefore, compliance control, a control method that can adaptively interact with the external environment, can be applied to these tasks. As an example of a general flexible control technique, by implementing virtual spring-damper dynamics in the control of the final stage or end effector of the robot, it is possible to ensure the robot's movement to smoothly adapt even to unexpected environments or disturbances.

본 개시는, 다관절 로봇의 유연제어방법 중 하나인 작업공간 유연제어(Task-space compliance control)는 다관절 로봇의 말단(또는 엔드이펙터)의 목표 자세와 현재 자세 사이에 가상의 회전 및 병진 스프링을 제어적으로 구현하고자 한다. The present disclosure relates to task-space compliance control, which is one of the flexible control methods for an articulated robot, using virtual rotation and translation springs between the target posture and the current posture of the extremity (or end effector) of the articulated robot. We want to implement it in a controlled manner.

이를 위해서는 목표 자세와 현재 자세 사이의 병진 오차와 회전오차를 표현할 수 있어야 한다. 병진 오차는 두 자세의 위치 차이로 크기의 제약없이 표현할 수 있기 때문에 크게 문제가 되지 않는다. 하지만 회전오차의 경우 의 성질에 의해 오일러 각이나 지수좌표 등 널리 사용되는 표현 방법으로는 여러 바퀴 이상의 강체의 회전오차를 표현할 수 없다는 한계가 존재한다. 표현할 수 있는 회전오차의 크기의 제한때문에 이를 활용한 유연제어에서도 제약이 발생하며, 의도하지 않은 움직임을 생성할 수도 있다. To achieve this, it is necessary to be able to express the translation error and rotation error between the target posture and the current posture. Translation error is not a major problem because it can be expressed without size constraints as the difference in position between the two postures. However, in case of rotation error Due to the nature of , there is a limitation in that the rotation error of a rigid body of more than several turns cannot be expressed using widely used expression methods such as Euler angles or exponential coordinates. Due to limitations in the size of the rotation error that can be expressed, restrictions also occur in flexible control using this, and unintended movements may be generated.

이해를 돕기 위해 작업공간 상태가 변수 하나로 표현되는 회전 1자유도 다관절 로봇을 예시를 서술한다. 상태변수 와 지령값 사이의 실수이며, 회전방향 스프링을 구현하기 위한 회전오차 는 지령값 과 현재 관절상태 의 차이인 To aid understanding, we describe an example of a rotational 1-degree-of-freedom articulated robot in which the workspace state is expressed as a single variable. state variable and command value Is It is a real number between, and is a rotation error to implement a rotation direction spring. is the command value and current joint condition The difference between

로 표현할 수 있다. 작업공간 유연제어에서는 회전오차 와 스프링 계수 k를 이용하여 작업공간에서의 회전 스프링을 구현할 수 있다. 예시를 위해 지령을 으로 고정하여 평형점이 인 회전 스프링을 구현하고, 외부 힘을 이용해 변위를 발생시키는 경우를 가정한다. 상기 예시에서, 회전 스프링은 의 표현범위에 의해 반 바퀴 이상의 회전오차 를 표현할 수가 없다. 자연스러운 회전 스프링은 회전오차가 반 바퀴 이상 발생한 경우에도 자연스럽게 평형점으로 수렴하는 움직임을 생성해야 하나, 예시에서는 반 바퀴를 넘어가는 순간부터 자연스러운 회전 스프링의 회전 변위를 표현할 수 없게 되며, 회전오차가 반대방향으로 계산되기 때문에 되돌아가는 움직임이 아닌 반대 방향의 움직임을 통해 평형점으로 도달하려는 힘을 발생시키게 된다. It can be expressed as In work space flexible control, a rotation spring in the work space can be implemented using rotation error and spring coefficient k. For example, the command Fix the equilibrium point as Assume that an in-rotation spring is implemented and displacement is generated using an external force. In the above example, the rotation spring is Rotation error of more than half a turn due to the expression range of cannot be expressed. A natural rotation spring should naturally produce a movement that converges to the equilibrium point even when the rotation error occurs more than half a turn, but in the example, the rotation displacement of the natural rotation spring cannot be expressed from the moment it exceeds half a turn, and the rotation error is opposite. Because it is calculated in a direction, a force to reach the equilibrium point is generated through movement in the opposite direction rather than a backward movement.

상술한 1자유도 로봇 예시에서는 변수가 1개이기 때문에 모터에서와 같이 해당 변수의 순간 변위를 누적하는 방법론을 쉽게 생각할 수 있으나, 이는 다자유도 로봇의 3차원 회전을 표현해야하는 일반적인 다관절 로봇의 작업공간 제어로 쉽게 확장되기 어렵다. 상술한 문제는 한 바퀴 이상의 회전을 유발하게 되어 관절각이 제한된 다관절 로봇의 오류를 발생시키는 원인이 될 수 있으며, 관절각이 제한되지 않은 다관절 로봇이더라도 스크류의 체결과 같이 다관절 로봇이 여러 바퀴 회전하는 작업을 표현하는데 어려움이 존재한다.In the one-degree-of-freedom robot example described above, since there is only one variable, it is easy to think of a methodology for accumulating the instantaneous displacement of that variable as in a motor. It is difficult to expand easily with workspace control. The above-mentioned problem can cause rotation of more than one turn, which can cause errors in articulated robots with limited joint angles. Even in articulated robots with unrestricted joint angles, multiple joint robots, such as tightening screws, can There are difficulties in expressing the work of rotating wheels.

본 개시는 상기의 문제를 해결하기 위해 회전을 3차원 공간에서 연속적으로 표현할 수 있는 확장 지수 좌표 표현을 사용하는 작업공간 유연 방법을 제안하고자 한다. 확장 지수 좌표는 로 제한되는 기존 회전 표현방식과는 다르게 여러 바퀴의 회전을 제약없이 표현할 수 있으며 회전 각과 회전 축에 대한 정보를 포함하고 있기 때문에 여러 바퀴의 회전이 필요한 작업을 효과적으로 수행할 수 있다. 하지만, 하나의 회전이 여러 개의 회전표현으로 표현될 수 있는 특이성 또한 갖고 있기 때문에 (예) 회전 연속성이 보장되어야 하는 작업공간 제어에서 바로 활용되기 어려울 수 있다. In order to solve the above problem, the present disclosure proposes a flexible workspace method using an extended exponential coordinate representation that can continuously express rotation in three-dimensional space. The extended exponential coordinates are Unlike the existing rotation expression method, which is limited to , rotation of multiple wheels can be expressed without restrictions, and because it includes information about the rotation angle and rotation axis, tasks that require rotation of multiple wheels can be performed effectively. However, because one rotation also has the specificity of being expressed in multiple rotation expressions (e.g. ) It may be difficult to use it directly in workspace control where rotational continuity must be guaranteed.

본 개시에서는 이를 극복하기 위해 회전의 연속성을 보장하는 기술을 제안하였으며, 이를 통해 여러 바퀴의 회전오차에 대한 복원력을 구현할 수 있는 회전스프링을 작업공간 유연제어를 통해 구현하고자 한다. In order to overcome this problem, this disclosure proposes a technology that guarantees continuity of rotation, and through this, we aim to implement a rotation spring that can realize resilience against rotation errors of multiple wheels through flexible control of the work space.

본 문서에서 이루고자 하는 기술적 과제는 상술한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다. The technical problem to be achieved in this document is not limited to the above-mentioned technical problem, and other technical problems not mentioned can be clearly understood by those skilled in the art from the description below. .

본 개시의 다양한 실시예에 따른 회전 변위의 제약이 없는 다관절 로봇의 유연제어방법에 있어서, 상기 다관절 로봇은: 복수의 링크와 상기 복수의 링크를 연결하는 복수의 관절을 포함하는 로봇 암; 및 로봇 암의 최종단에 연결된 엔드 이펙터; 상기 복수의 관절 각각에 구비되고, 인코더를 포함하는 모터를 포함하고; 상기 방법은: 상기 인코더로부터 관절 각도(q)를 수신하는 동작; 상기 수신한 관절 각도(q)를 이용하여 엔드 이펙터의 회전값(R), 각속도(Ω) 및 선속도(v)를 연산하는 동작; 상기 회전값(R), 상기 각속도(Ω), 및 목표 회전값(Rd)에 기반하여 확장지수계 회전오차()를 연산하는 동작; 및 상기 확장지수계 회전오차()에 기반하여 가상의 스프링-댐퍼 모션을 위한 토크 제어 입력(τ)을 생성하는 동작; 및 상기 토크 제어 입력(τ)을 상기 모터에 전송하는 동작을 포함하되, 상기 확장지수계 회전오차()는 π rad 이상의 크기를 가질 수 있다. 그 밖의 다양한 실시예가 가능하다. In the flexible control method of an articulated robot without restrictions on rotational displacement according to various embodiments of the present disclosure, the articulated robot includes: a robot arm including a plurality of links and a plurality of joints connecting the plurality of links; and an end effector connected to the final end of the robot arm; It is provided at each of the plurality of joints and includes a motor including an encoder; The method includes: receiving a joint angle ( q ) from the encoder; An operation of calculating the rotation value (R), angular velocity (Ω), and linear velocity ( v ) of the end effector using the received joint angle ( q ); Based on the rotation value (R), the angular velocity (Ω), and the target rotation value (R d ), the extended index rotation error ( ) The operation of calculating ); And the extended exponential rotation error ( An operation of generating a torque control input (τ) for a virtual spring-damper motion based on ); And an operation of transmitting the torque control input (τ) to the motor, wherein the extended exponential rotation error ( ) may have a size of π rad or more. Various other embodiments are possible.

도 1은 본 개시의 실시예에 따른 작업공간 유연제어방법에 따라 작동하는 다관절 로봇의 사시도이다.
도 2는 본 개시의 실시예에 따른 로봇 작업공간 유연제어방법에 따라 작동하는 다관절 로봇의 제어 시스템에 대한 블록도이다.
도 3은 종래기술에서의 유연제어방법으로, 병진 오차와 회전오차를 연산하고 이를 이용하여 가상의 스프링-댐퍼 움직임을 연산하는 유연제어모듈을 도시한다.
도 4를 참조하여, 종래의 유연제어방법에서 발생하는 문제점을 구체적으로 살펴보기로 한다.
도 5는 본 개시의 다양한 실시예에 따른 유연제어방법으로, 병진 오차와 회전오차의 변위의 제약이 없는 회전오차를 연산하고, 이를 이용하여 가상의 스프링-댐퍼 움직임을 연산하는 유연제어모듈을 도시한다.
도 6은 본 개시의 일 실시예에 따라 회전오차를 확장지수좌표를 적용하여 연산하는 프로세스의 흐름도이다.
도 7은 본 개시의 다른 실시예에 따라 회전오차를 확장지수좌표를 적용하여 연산하는 프로세스의 흐름도이다.
도 8은 본 개시의 또다른 실시예에 따라 회전오차를 확장지수좌표를 적용하여 연산하는 프로세스의 흐름도이다.
도 9는 본 개시의 다양한 실시예에 따라 회전오차를 확장지수좌표를 적용하여 연산하는 전체적인 프로세스의 흐름도이다.
1 is a perspective view of an articulated robot operating according to a flexible work space control method according to an embodiment of the present disclosure.
Figure 2 is a block diagram of a control system for an articulated robot operating according to a flexible robot workspace control method according to an embodiment of the present disclosure.
Figure 3 is a flexible control method in the prior art, showing a flexible control module that calculates translation error and rotation error and uses them to calculate virtual spring-damper movement.
Referring to FIG. 4, we will look in detail at the problems occurring in the conventional flexible control method.
Figure 5 is a flexible control method according to various embodiments of the present disclosure, and shows a flexible control module that calculates rotation error without constraints on displacement of translation error and rotation error, and calculates virtual spring-damper movement using this. do.
Figure 6 is a flowchart of a process for calculating rotation error by applying extended exponential coordinates according to an embodiment of the present disclosure.
Figure 7 is a flowchart of a process for calculating rotation error by applying extended exponential coordinates according to another embodiment of the present disclosure.
Figure 8 is a flowchart of a process for calculating rotation error by applying extended exponential coordinates according to another embodiment of the present disclosure.
Figure 9 is a flowchart of the overall process of calculating rotation error by applying extended exponential coordinates according to various embodiments of the present disclosure.

이하, 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 구현예 및 실시예를 상세히 설명한다. 그러나, 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 구현예 및 실시예에 한정되지 않는다.Hereinafter, with reference to the attached drawings, implementation examples and embodiments of the present disclosure will be described in detail so that those skilled in the art can easily implement the present disclosure. However, the present application may be implemented in many different forms and is not limited to the implementation examples and examples described herein.

실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only and may be modified and implemented in various forms. Accordingly, the embodiments are not limited to the specific disclosed form, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical spirit.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but these terms should be interpreted only for the purpose of distinguishing one component from another component. For example, a first component may be named a second component, and similarly, the second component may also be named a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being “connected” to another component, it should be understood that it may be directly connected or connected to the other component, but that other components may exist in between.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as “comprise” or “have” are intended to designate the presence of the described features, numbers, steps, operations, components, parts, or combinations thereof, and are intended to indicate the presence of one or more other features or numbers, It should be understood that this does not exclude in advance the possibility of the presence or addition of steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art. Terms as defined in commonly used dictionaries should be interpreted as having meanings consistent with the meanings they have in the context of the related technology, and unless clearly defined in this specification, should not be interpreted in an idealized or overly formal sense. No.

이하, 첨부된 도면에 따라서 본 개시의 실시예를 상세히 설명하기로 한다.Hereinafter, embodiments of the present disclosure will be described in detail according to the attached drawings.

도 1은 본 개시의 실시예에 따른 작업공간 유연제어방법에 따라 작동하는 다관절 로봇의 사시도이다.1 is a perspective view of an articulated robot operating according to a flexible work space control method according to an embodiment of the present disclosure.

도 2는 본 개시의 실시예에 따른 로봇 작업공간 유연제어방법에 따라 작동하는 다관절 로봇의 제어 시스템에 대한 블록도이다.Figure 2 is a block diagram of a control system for an articulated robot operating according to a flexible robot workspace control method according to an embodiment of the present disclosure.

도 1을 참조하면, 다관절 로봇(10)은 베이스(11)에 지지되는 로봇 암(12)과 로봇 암(12)의 최종단에 장착된 엔드 이펙터(13)를 포함할 수 있다. Referring to FIG. 1, the articulated robot 10 may include a robot arm 12 supported on a base 11 and an end effector 13 mounted on the final end of the robot arm 12.

본 개시의 다양한 실시예에 있어서, 로봇 암(12)은 관절(JT1 ~ JT6)을 통해 직렬로 연결된 6개의 링크(L1 ~ L6)를 포함할 수 있다. In various embodiments of the present disclosure, the robot arm 12 may include six links (L1 to L6) connected in series through joints (JT1 to JT6).

제1 링크(L1)의 일 단부는 제1 관절(JT1)을 통해 베이스(11)에 지지될 수 있다. 제1 관절(JT1)은 베이스(11)에 대하여 제1 링크(L1)를 회전시킬 수 있다. 제1 링크(L1)의 타 단부는 제2 관절(JT2)을 통해 제2 링크(L2)의 일 단부에 연결될 수 있다. One end of the first link (L1) may be supported on the base 11 through the first joint (JT1). The first joint JT1 may rotate the first link L1 with respect to the base 11. The other end of the first link (L1) may be connected to one end of the second link (L2) through the second joint (JT2).

제2 관절(JT2)은 제1 링크(L1)에 대하여 제2 링크(L2)를 회전시킬 수 있다. 제2 링크(L2)의 타 단부는 제3 관절(JT3)을 통해 제3 링크(L3)의 일 단부에 연결될 수 있다. 제3 관절(JT3)은 제2 링크(L2)에 대하여 제3 링크(L3)를 회전시킬 수 있다. The second joint JT2 may rotate the second link L2 with respect to the first link L1. The other end of the second link (L2) may be connected to one end of the third link (L3) through the third joint (JT3). The third joint JT3 may rotate the third link L3 with respect to the second link L2.

제3 링크(L3) 내지 제6 링크(L6)와 제4 관절(JT4) 내지 제6 관절(JT6)에 대한 반복되는 설명은 생략하기로 한다. Repeated descriptions of the third link (L3) to sixth link (L6) and the fourth joint (JT4) to sixth joint (JT6) will be omitted.

로봇 암(12)의 제6 링크(L6)의 단부에는 엔드 이펙터(13)가 장착될 수 있다. 엔드 이펙터(13)는 조작 중인 환경이나 물체와 접촉하는 로봇 팔 또는 조작기를 나타낼 수 있다. 다시 말하면, 엔드 이펙터(13)는 로봇의 "손"을 나타낼 수 있으며, 다양한 작업에 맞게 다양한 방식으로 설계될 수 있다An end effector 13 may be mounted on the end of the sixth link L6 of the robot arm 12. End effector 13 may represent a robotic arm or manipulator that contacts the environment or object being manipulated. In other words, the end effector 13 can represent the “hand” of the robot and can be designed in a variety of ways to suit different tasks.

예를 들어, 엔드 이펙터(13)는 물체를 집고 이동하도록 설계된 그리퍼이거나 드릴이나 용접 토치와 같은 도구일 수 있다. 엔드 이펙터(13)는 다관절 로봇(10)이 다양한 작업을 정확하게 수행하도록 제어되며 작업환경과 상호 작용할 수 있다. For example, the end effector 13 may be a gripper designed to grab and move objects or a tool such as a drill or welding torch. The end effector 13 controls the articulated robot 10 to accurately perform various tasks and can interact with the work environment.

도 2를 참조하면, 각각의 관절(JT1 ~ JT6)은 대응하는 축 제어부(100 ~ 10n)를 구비할 수 있다. 도시된 예에서는 다관절 로봇(10)은 6개의 관절(JT1 ~ JT6)을 구비하기 때문에, 6개의 축 제어부가 각 관절에 대응할 수 있다. 다만, 다양한 실시예에서 다관절 로봇(10)은 다양한 개수의 관절을 가질 수 있어서, N번째 관절(JT"N")을 가질 수 있고, N번째 관절에 대응하는 N번째 축 제어부(10"N")를 가질 수 있다. Referring to Figure 2, each joint (JT1 to JT6) may be provided with a corresponding axis control unit (100 to 10n). In the illustrated example, since the articulated robot 10 has six joints (JT1 to JT6), six axis control units can correspond to each joint. However, in various embodiments, the articulated robot 10 may have a various number of joints, and may have an N-th joint (JT"N"), and an N-th axis control unit (10"N) corresponding to the N-th joint. ").

각각의 축 제어부에는 모터가 포함되어 있어서, 6개의 관절(JT1 ~ JT6)에서의 모터가 구동하여 다관절 로봇(10)의 6개의 링크(L1 ~ L6)가 유기적으로 작동하여, 원하는 움직임과 동작을 달성하도록 한다. Each axis control unit includes a motor, so that the motors in the six joints (JT1 to JT6) are driven so that the six links (L1 to L6) of the articulated robot 10 operate organically to achieve desired movements and actions. to achieve.

축 제어부(100 ~ 10n)는 서로 실질적으로 동일하거나 또는 대응하는 구성을 가질 수 있다. 이하에서는 제1 관절(JT1)에서의 회전을 제어하는 1번째 축 제어부(100)(이하에서는 축 제어부(100)로 칭함)를 대표로 하여 본 개시에 대하여 설명하기로 한다. The axis control units 100 to 10n may have substantially the same or corresponding configurations. Hereinafter, the present disclosure will be described using the first axis control unit 100 (hereinafter referred to as the axis control unit 100), which controls the rotation at the first joint JT1, as a representative example.

본 개시의 다양한 실시예에 따른 로봇 제어 시스템(20)은 적어도 하나의 축 제어부(100), 연산부(200) 및 사용자 명령 입력부(300)를 포함할 수 있다. The robot control system 20 according to various embodiments of the present disclosure may include at least one axis control unit 100, a calculation unit 200, and a user command input unit 300.

축 제어부(100)는 모터(120) 및 모터 제어기(110)를 포함할 수 있다. 모터 제어기(110)는 연산부(200)로부터 토크 제어 명령(τ1)을 수신할 수 있다. 모터 제어기(110)는 토크 제어 명령(τ1)에 기반하여 모터(120)를 제어하기 위한 제어 전류(I1)를 모터(120)에 전송할 수 있다. 모터(120)는 모터 제어기(110)로부터 수신한 제어 전류(I1)에 기반하여 구동할 수 있다. N번째 축 제어부(10N)은 토크 제어 명령(τn)을 연산부(200)로부터 수신하여 모터를 제어할 수 있다.The axis control unit 100 may include a motor 120 and a motor controller 110. The motor controller 110 may receive a torque control command (τ 1 ) from the calculation unit 200 . The motor controller 110 may transmit a control current (I1) to the motor 120 to control the motor 120 based on the torque control command (τ 1 ). The motor 120 may be driven based on the control current I1 received from the motor controller 110. The N-th axis control unit 10N may control the motor by receiving a torque control command (τ n ) from the calculation unit 200.

모터(120)는 인코더(121)를 포함할 수 있다. 인코더(encorder)(111)는 움직이는 물체의 위치, 속도 또는 가속도를 측정하는 데 필요한 관절 각도(q)를 측정하는 센서일 수 있다. 예를 들어, 제1 관절(JT1)에 대한 축 제어부(100)의 인코더(121)는 베이스(11)와 제1 링크(L1) 사이의 회전각도를 나타내는 관절 각도(q)를 검출할 수 있다. 인코더(121)가 검출한 관절 각도(q)는 연산부(200)에 전송될 수 있다. 관절 각도(q)는 스칼라 값일 수 있다Motor 120 may include an encoder 121. The encoder 111 may be a sensor that measures the joint angle (q) required to measure the position, speed, or acceleration of a moving object. For example, the encoder 121 of the axis control unit 100 for the first joint JT1 may detect the joint angle q indicating the rotation angle between the base 11 and the first link L1. . The joint angle (q) detected by the encoder 121 may be transmitted to the calculation unit 200. Joint angle (q) can be a scalar value

연산부(200)는 축 제어부(100)의 인코더(121)로부터 관절 각도(q)에 대한 정보를 수신 받을 수 있다. 연산부(200)는 다관절 로봇(10)의 최종단 또는 엔드 이펙터(13)(이하 엔드 이펙터(13)로 통일하여 칭함)가 원하는 움직임과 동작을 지시하기 위하여, 사용자 명령 입력부(300)를 통해 사용자가 입력한 목표 위치값(pd) 및/또는 목표 회전값(Rd)을 수신할 수 있다. The calculation unit 200 may receive information about the joint angle (q) from the encoder 121 of the axis control unit 100. The calculation unit 200 uses the user command input unit 300 to instruct the final stage or end effector 13 (hereinafter collectively referred to as the end effector 13) of the articulated robot 10 to perform desired movements and actions. The target position value (p d ) and/or target rotation value (R d ) input by the user may be received.

연산부(200)는 관절 각도(q), 목표 위치값(pd) 및 목표 회전값(Rd)을 이용하여, 적어도 하나의 축 제어부 각각에 대한 제어 신호로서 토크 제어 명령(τn)을 연산하고 이를 각각의 축 제어부에 전송할 수 있다. 예를 들어, 연산부(200)는 축 제어부(100)에 제1 토크 제어 명령(τ1)을 전송할 수 있다.The calculation unit 200 uses the joint angle (q), target position value (p d ), and target rotation value (R d ) to calculate a torque control command (τ n ) as a control signal for each of at least one axis control unit. And this can be transmitted to each axis control unit. For example, the calculation unit 200 may transmit a first torque control command (τ 1 ) to the axis control unit 100.

연산부(200)는 미리 정해진 제어주기(

Figure 112023015268089-pat00018
t)마다 축 제어부(100)에 제1 토크 제어 명령(τ1)을 전송하고, 관절 각도(q)를 수신할 수 있다. 연산부(200)는 제어주기(
Figure 112023015268089-pat00019
t) 마다 인코더(121)로부터 관절 각도(q)를 수신하고, 이에 기반하여 엔드 이펙터(13)를 포함한 다관절 로봇(10)의 각각의 구성의 위치와 각도를 측정하고, 이를 이용하여 제어 신호를 생성할 수 있다. 다시 말하면, 연산부(200)는 제어주기(
Figure 112023015268089-pat00020
t)마다 다관절 로봇(10)의 피드백 제어를 수행할 수 있다. The calculation unit 200 operates at a predetermined control cycle (
Figure 112023015268089-pat00018
A first torque control command (τ 1 ) may be transmitted to the axis control unit 100 every t), and the joint angle (q) may be received. The operation unit 200 has a control cycle (
Figure 112023015268089-pat00019
Receives the joint angle (q) from the encoder 121 every t), measures the position and angle of each component of the articulated robot 10 including the end effector 13 based on this, and uses this to generate a control signal can be created. In other words, the operation unit 200 has a control cycle (
Figure 112023015268089-pat00020
Feedback control of the articulated robot 10 can be performed every t).

한편, 본 개시의 다양한 실시예에서 모터(120)에는 토크 센서를 더 포함할 수 있다. 토크 센서는 모터(120)의 일 측에 설치되어 모터의 회전력을 측정함으로써 토크의 크기를 감지할 수 있다. 또는 토크 센서는 모터(120)에 흐르는 전류를 측정함으로써 모터(120)에 적용하는 토크의 크기를 계산할 수 있다. 토크 센서가 검출한 토크 크기는 연산부(200)에 전송되어, 인코더(121)가 검출한 관절 각도(q)와 함께 다관절 로봇(10)을 제어하기 위한 제어 신호를 연산하는데 이용될 수 있다. Meanwhile, in various embodiments of the present disclosure, the motor 120 may further include a torque sensor. The torque sensor is installed on one side of the motor 120 and can detect the amount of torque by measuring the rotational force of the motor. Alternatively, the torque sensor may calculate the amount of torque applied to the motor 120 by measuring the current flowing in the motor 120. The torque magnitude detected by the torque sensor is transmitted to the calculation unit 200 and can be used to calculate a control signal for controlling the articulated robot 10 along with the joint angle (q) detected by the encoder 121.

사용자 명령 입력부(300)는 사용자는 엔드 이펙터(13)가 원하는 동작을 하도록 목표 위치값(Pd) 및/또는 목표 회전값(Rd)을 입력시키는 수단일 수 있다. 사용자 명령 입력부(300)는 조이스틱을 포함하는 컨트롤러 또는 다관절 로봇(10)을 제어하기 위한 그래픽 유저 인터페이스(graphic user interface, GUI)가 표시되는 터치-디스플레이 패널을 포함할 수 있다. The user command input unit 300 may be a means for the user to input a target position value (P d ) and/or a target rotation value (R d ) so that the end effector 13 performs a desired operation. The user command input unit 300 may include a controller including a joystick or a touch-display panel on which a graphic user interface (GUI) for controlling the articulated robot 10 is displayed.

사용자는 사용자 명령 입력부(300)를 통하여 토크 제어 명령 및/또는 각도 명령 값을 직접 입력하거나, 원하는 위치, 자세, 동작 또는 미리 정해진 움직임을 수행하도록 조작할 수 있다. 사용자 명령 입력부(300)는 사용자의 다양한 형식의 입력을 적절한 목표 위치값(Pd) 및/또는 목표 회전값(Rd)으로 변환할 수 있다. 예를 들어, 다관절 로봇(10)은 동작 좌표계에서 위치를 나타내는 x, y 및 z축과 방향을 나타내는 롤, 피치 및 요 축을 포함하는 6개의 동작 축을 가질 수 있다. 목표 위치값(Pd) 및 목표 회전값(Rd)은 동작 좌표계에서의 위치 및 동작 축에서의 회전 방향을 나타낼 수 있다. The user can directly input a torque control command and/or angle command value through the user command input unit 300, or manipulate the torque control command and/or angle command value to perform a desired position, posture, action, or predetermined movement. The user command input unit 300 may convert various types of user input into appropriate target position values (P d ) and/or target rotation values (R d ). For example, the articulated robot 10 may have six motion axes, including x, y, and z axes representing positions in a motion coordinate system, and roll, pitch, and yaw axes representing directions. The target position value (P d ) and the target rotation value (R d ) may represent the position in the motion coordinate system and the rotation direction on the motion axis.

본 개시의 다양한 실시예에 있어서 연산부(200)는 유연제어모듈(210)을 포함할 수 있다. 유연제어모듈(210)은 예상하지 못한 환경이나 외란에 대해서도 부드럽게 순응하는 로봇의 움직임을 보장하도록 기능할 수 있다. 유연제어모듈(210)은 예상하지 못한 외력에 의해 엔드 이펙터(13)의 목표 자세와 현재 자세 사이에 차이가 발생하였을 경우, 가상의 회전 및 병진 스프링-댐퍼를 구현하여, 엔드 이펙터(13)가 목표 자세로 부드럽게 되돌아 갈수 있도록 한다. 다시 말하면, 유연제어모듈(210)은 다관절 로봇(10)의 말단 또는 엔드 이펙터(13)가 목표 자세로 되돌아 갈 수 있도록 가상의 스프링-댐퍼 움직임(virtual spring-damper motion)을 실행하는 토크 제어 입력을 생성(또는 설계)할 수 있다. In various embodiments of the present disclosure, the calculation unit 200 may include a flexible control module 210. The flexible control module 210 can function to ensure smooth, compliant robot movement even in unexpected environments or disturbances. The flexible control module 210 implements a virtual rotation and translation spring-damper when a difference occurs between the target posture and the current posture of the end effector 13 due to an unexpected external force, so that the end effector 13 Allow yourself to return smoothly to your target posture. In other words, the flexible control module 210 controls torque to execute a virtual spring-damper motion so that the end or end effector 13 of the articulated robot 10 can return to the target posture. You can create (or design) input.

이를 위해서는 다관절 로봇(10) 또는 유연제어모듈(210)은 엔드 이펙터(13)의 목표 자세와 현재 자세 사이의 병진 오차와 회전오차를 연산할 수 있다. To this end, the articulated robot 10 or the flexible control module 210 can calculate the translation error and rotation error between the target posture and the current posture of the end effector 13.

한편, 도 3은 종래기술에서의 유연제어방법으로, 병진 오차와 회전오차를 연산하고 이를 이용하여 가상의 스프링-댐퍼 움직임을 연산하는 유연제어모듈을 도시한다. 구체적으로 도 3은 종래기술에서의 유연제어모듈에서 가상의 스프링-댐퍼 움직임을 실행하는 토크 제어 입력을 설계하는 신호 흐름도를 의미할 수 있다.Meanwhile, Figure 3 shows a flexible control module in the prior art that calculates translation error and rotation error and calculates virtual spring-damper movement using this. Specifically, Figure 3 may represent a signal flow diagram for designing a torque control input that executes a virtual spring-damper movement in a flexible control module in the prior art.

도 3을 참조하면 종래기술에서의 유연제어모듈(210')은 정기구학 연산부(211'), 오차 연산부(212') 및 유연제어 신호 생성부(213')를 포함할 수 있다. Referring to FIG. 3, the flexible control module 210' in the prior art may include a forward kinematics calculation unit 211', an error calculation unit 212', and a flexible control signal generation unit 213'.

정기구학(Foward Kinematics)이란 복수의 링크의 길이(예를 들어 제1 링크(L1)의 길이), 복수의 관절에서의 관절 각도(예를 들어 제1 관절(JT1)에서의 관절 각도(q))를 이용하여 엔드 이펙터(13)의 위치를 연산하는 것을 의미할 수 있다. 정기구학을 위해서는 관절 각도나 링크의 길이뿐만 아니라 객체들 간의 관계에 대한 기하학적 정보를 포함하는 수학적 모델이 필요할 수 있다. Forward Kinematics refers to the length of a plurality of links (for example, the length of the first link (L1)), the joint angle at a plurality of joints (for example, the joint angle (q) at the first joint (JT1) ) may be used to calculate the position of the end effector 13. Forward kinematics may require a mathematical model that includes geometric information about relationships between objects as well as joint angles and link lengths.

정기구학 연산부(211')는 복수의 축 제어부의 인코더로부터 수신한 관절 각도(q)를 수신할 수 있다. 정기구학 연산부(211')는 관절 각도(q)를 이용하여, 엔드 이펙터(13)의 회전값(R), 위치값(P), 각속도(Ω) 및 선속도(v)를 연산할 수 있다. The forward kinematics calculation unit 211' may receive the joint angle q received from the encoder of the plurality of axis control units. The regular kinematics calculation unit 211' can calculate the rotation value (R), position value (P), angular velocity (Ω), and linear velocity (v) of the end effector 13 using the joint angle (q). .

오차 연산부(212')는 정기구학 연산부(211')에서 계산된 값들을 이용하여 병진오차() 및 회전오차()를 연산할 수 있다. The error calculation unit 212' uses the values calculated by the forward kinematics calculation unit 211' to obtain a translation error ( ) and rotation error ( ) can be calculated.

한편, 종래기술에서의 회전값(R) 또는 회전오차()는, 종래의 회전 표현 방법으로서, 지수 좌표를 통해 표현될 수 있다. 지수 좌표(exponential coordinates)는 3차원 회전 및 변환을 수학적으로 표현한 것이다. On the other hand, the rotation value (R) or rotation error ( ) is a conventional rotation expression method and can be expressed through exponential coordinates. Exponential coordinates are a mathematical representation of three-dimensional rotations and translations.

지수 좌표로 표현되는 회전값(R) 및 회전오차()는 3차원 벡터의 크기와 단위 벡터가 각각 회전 각도 및 회전 축을 나타낼 수 있으며, 수학적으로는 예를 들어, 3차원 행렬로 표현될 수 있다. 따라서, 회전값(R) 및 회전오차()은 각각 회전행렬(R) 및 회전오차행렬로 지칭될 수 있다. 이 때, 오차 연산부(212')로부터 수신한 회전오차()는 회전각의 물리적 크기를 나타내는 지수좌표계 회전오차()로 연산될 수 있다. Rotation value (R) and rotation error expressed in exponential coordinates ( ) is the size of a 3-dimensional vector and the unit vector can represent a rotation angle and a rotation axis, respectively, and can be expressed mathematically as, for example, a 3-dimensional matrix. Therefore, the rotation value (R) and rotation error ( ) may be referred to as a rotation matrix (R) and a rotation error matrix, respectively. At this time, the rotation error received from the error calculation unit 212' ( ) is the exponential coordinate system rotation error ( ) can be calculated.

유연제어 신호 생성부(213')는 병진오차() 및 지수좌표계 회전오차()와, 정기구학 연산부(211')로부터 직접 수신한 선속도(v) 및 각속도(Ω)를 이용하여 가상의 스프링-댐퍼 움직임(virtual spring-damper motion)을 실행하는 토크 제어 입력(τ`)을 생성할 수 있다.The flexible control signal generator 213' generates a translation error ( ) and exponential coordinate system rotation error ( ) and a torque control input (τ`) that executes a virtual spring-damper motion using the linear velocity (v) and angular velocity (Ω) directly received from the forward kinematics calculation unit 211'. can be created.

한편, 본 개시의 일 실시예에 있어서, 유연제어 신호 생성부(213')는 오차 연산부(212')로부터 병진오차() 및 지수좌표계 회전오차()(또는 회전오차())를 수신할 수 있다.Meanwhile, in one embodiment of the present disclosure, the flexible control signal generator 213' receives the translation error ( ) and exponential coordinate system rotation error ( ) (or rotation error ( )) can be received.

본 개시의 일 실시예에 있어서, 오차 연산부(212’)는 회전오차()로부터 지수좌표계 회전오차()를 연산할 수 있고, 유연제어 신호 생성부(213')는 오차 연산부(212')로부터 병진오차() 및 회전오차()를 수신할 수 있다. In one embodiment of the present disclosure, the error calculation unit 212' determines the rotation error ( ) from the exponential coordinate system rotation error ( ) can be calculated, and the flexible control signal generator 213' can calculate the translation error ( ) and rotation error ( ) can be received.

앞서 설명한, 병진오차() 및 회전오차()및 지수좌표계 회전오차()는 아래의 수학식 1을 통해 연산될 수 있다.As explained earlier, the translation error ( ) and rotation error ( ) and exponential coordinate system rotation error ( ) can be calculated through Equation 1 below.

한편, 의 물리적 의미는 아래의 수학식 2를 통해 나타낼 수 있으며, 지수좌표계 회전오차()의 크기(||)) 회전각을 의미한다. 또한, 지수좌표계 회전오차()에 지수 맵(exponential map)을 적용한 값이 회전값(R)일 수 있다. Meanwhile, The physical meaning of can be expressed through Equation 2 below, and the exponential coordinate system rotation error ( ) size (| |)) refers to the rotation angle. In addition, the exponential coordinate system rotation error ( The value obtained by applying an exponential map to ) may be the rotation value (R).

이러한 지수좌표계 회전오차()는 π = -π 이라는 라디안(radian) 성질에 의해, 회전각도(θ)의 범위가 0과 π 사이값(0 ≤ θ < π) 일 수 밖에 없어서, 1회전(=2π rad) 이상의 회전오차는 회전각도(θ)을 이용하여 표현할 수 없다는 한계가 존재한다. 이와 같은 지수좌표계 회전오차는 표현가능한 크기의 한계 때문에 이를 활용한 유연제어에서도 제약이 발생하며, 결과적으로 의도하지 않은 엔드 이펙터(31)의 움직임이 발생할 수 있다. This exponential coordinate system rotation error ( ) due to the radian property of π = -π, the range of the rotation angle (θ) must be between 0 and π (0 ≤ θ < π), so the rotation error is more than 1 rotation (=2π rad) There is a limitation in that it cannot be expressed using the rotation angle (θ). Due to the limitation of the size that can be expressed in such exponential coordinate system rotation error, there are restrictions in flexible control using it, and as a result, unintended movement of the end effector 31 may occur.

도 4를 참조하여, 종래의 유연제어방법에서 발생하는 문제점을 구체적으로 살펴보기로 한다. 도 4는 종래기술에서의 유연제어방법에서 가상의 스프링-댐퍼를 구현하는 상황을 예시한다. With reference to FIG. 4, we will look in detail at the problems occurring in the conventional flexible control method. Figure 4 illustrates a situation in which a virtual spring-damper is implemented in a flexible control method in the prior art.

도 4에서는, 설명의 편의를 위하여 작업공간 상태가 변수 하나로 표현되도록, 회전 1자유도를 가진 다관절 로봇(30)이 예시된다. 다관절 로봇(30)은 엔드 이펙터(31)가 도 4에서 엔드 이펙터(31)의 회전 축에서 들어가는 방향을 향하고, 엔드 이펙터(31)의 회전 축을 기준으로 회전가능할 수 있다. 엔드 이펙터(31)에는 핸들(32)이 설치될 수 있다. 본 예시에서 핸들(32)이를 회전가능한 회전축은 단위벡터로서 u=(0, 0, 1)로 표현될 수 있다. In Figure 4, for convenience of explanation, an articulated robot 30 with one degree of rotational freedom is illustrated so that the workspace state is expressed as one variable. The articulated robot 30 faces the direction in which the end effector 31 enters the rotation axis of the end effector 31 in FIG. 4 and may be rotatable based on the rotation axis of the end effector 31 . A handle 32 may be installed on the end effector 31. In this example, the rotation axis around which the handle 32 can be rotated can be expressed as a unit vector by u=(0, 0, 1).

본 예시에서는 작업자가 핸들(32)을 회전시켰을 때, 유연제어방법을 이용하여 다시 되돌아가는 가상의 스프링-댐퍼 모션을 적용하고자 한다.In this example, when the operator rotates the handle 32, a virtual spring-damper motion that returns back using a flexible control method is applied.

도 4의 (a)를 참조하면, 다관절 로봇(30)의 엔드 이펙터(31)에 설치된 핸들(32)은 기준 회전위치에 위치할 수 있다. 기준 회전위치는 목표 회전위치(33)를 의미할 수 있다. 기준 회전위치 또는 목표 회전위치(33)는 핸들(32)이 회전하지 않은 상태일 수 있다. 다시 말하면, 기준 위치 또는 목표 회전위치(33)는 핸들(32)이 0도 회전한 상태를 의미할 수 있다.Referring to (a) of FIG. 4, the handle 32 installed on the end effector 31 of the articulated robot 30 may be located at a reference rotation position. The reference rotation position may mean the target rotation position 33. The reference rotation position or target rotation position 33 may be a state in which the handle 32 is not rotated. In other words, the reference position or target rotation position 33 may mean a state in which the handle 32 is rotated by 0 degrees.

도 4의 (b)는 다관절 로봇(30)의 엔드 이펙터(31)에 설치된 핸들(32)을 작업자가 힘(F)을 작용하여 180도(=π rad) 보다 작은 각도로 회전시킨 상태를 도시한다. 예를 들어, 도 4의 (b)에서 핸들(32)의 회전 각도는 0.7π라고 가정하기로 한다. Figure 4 (b) shows a state in which the operator rotates the handle 32 installed on the end effector 31 of the articulated robot 30 to an angle less than 180 degrees (=π rad) by applying force F. It shows. For example, in Figure 4(b), it is assumed that the rotation angle of the handle 32 is 0.7π.

이 때, 핸들(32)의 회전 각도를 지수좌표계(3차원 벡터)로 표현하면, =(0, 0, 0.7π) 일 수 있고, 지수좌표계 회전오차()는 0.7 π의 크기를 가진 값일 수 있다. At this time, if the rotation angle of the handle 32 is expressed in an exponential coordinate system (3-dimensional vector), =(0, 0, 0.7π), and the exponential coordinate system rotation error ( ) may be a value with a magnitude of 0.7 π.

이 때, 유연 제어 기법에 따르면, 핸들(32)과 목표 회전위치(33) 사이에는 제1 가상 스프링-댐퍼(S1)가 적용되어, 핸들(32)이 목표 회전위치(33)를 향해 움직이도록 제어될 수 있다. 구체적으로 핸들(32)의 회전오차()의 0.7의 크기를 가질 수 있다. At this time, according to the flexible control technique, a first virtual spring-damper (S1) is applied between the handle 32 and the target rotation position 33 so that the handle 32 moves toward the target rotation position 33. It can be controlled. Specifically, the rotation error of the handle 32 ( ) can have a size of 0.7.

하지만, 도 4의 (c)와 같이, 다관절 로봇(30)의 엔드 이펙터(31)에 설치된 핸들(32)을 작업자가 힘(F)을 작용하여 180도보다 큰 각도로 회전시키는 경우에 종래 지수좌표계 회전오차()의 한계에 의해 문제가 발생할 수 있다. 도 4의 (c)에서 핸들(32)의 회전각도는 1.3π라고 가정하기로 한다. However, as shown in Figure 4 (c), when the operator rotates the handle 32 installed on the end effector 31 of the articulated robot 30 to an angle greater than 180 degrees by applying force F, the conventional Exponential coordinate system rotation error ( ) may cause problems due to limitations. In Figure 4(c), it is assumed that the rotation angle of the handle 32 is 1.3π.

한편, 회전오차()를 지수좌표로 나타내면 ||||=θ는 항상 180도(=π rad)보다 작아야 한다. 따라서, 실제 사람이 작용한 힘에 의해 1.3 π의 각도만큼 엔드 이펙터(31)를 회전시켰을 때, 1.3π-2π=-0.7π의 연산을 통해서, 회전 각도는 =(0, 0, -0.7π)로 표현되어야 한다. 즉, 지수좌표의 크기인 회전각에는 범위제한이 있기 때문에, 실제 엔드 이펙터(31)의 회전방향이 반대로 바뀔 수 있다. Meanwhile, rotation error ( ) is expressed as exponential coordinates || ||=θ must always be less than 180 degrees (=π rad). Therefore, when the end effector 31 is rotated by an angle of 1.3 π by the force exerted by an actual person, the rotation angle is calculated as 1.3π-2π=-0.7π. It should be expressed as =(0, 0, -0.7π). That is, because there is a range limit to the rotation angle, which is the size of the exponential coordinate, the actual rotation direction of the end effector 31 may be reversed.

이와 같이 종래기술의 유연 제어 기법에 따르면, 핸들(32)과 목표 회전위치(33) 사이에는 제2 가상 스프링-댐퍼(S2)가 적용되어, 핸들(32)이 목표 회전위치(33)를 향해, 실제 회전된 방향을 되돌아 가는 것이 아닌 반대방향으로 움직이도록 제어될 수 있다. 결과적으로 다관절 로봇(30)의 핸들(32)는 되돌아가는 움직임이 아닌 반대방향의 움직임을 통해 목표 회전위치(33)로 이동하게 된다. 이는 자연스러운 스프링-댐퍼 모션이라고 할 수 없다. According to the flexible control technique of the prior art, a second virtual spring-damper (S2) is applied between the handle 32 and the target rotation position 33, so that the handle 32 moves toward the target rotation position 33. , it can be controlled to move in the opposite direction rather than returning to the actual rotated direction. As a result, the handle 32 of the articulated robot 30 moves to the target rotation position 33 through a movement in the opposite direction rather than a backward movement. This cannot be said to be a natural spring-damper motion.

본 개시는 회전오차()를 지수좌표를 이용하여 연산함에 따른 한계를 극복하기 위하여 확장-지수좌표를 도입함으로써, 회전 변위의 제약이 없는 다관절 로봇의 작업공간 유연제어방법을 제공하고자 한다. 본 개시의 다양한 실시예에 따른 회전 변위의 제약이 없는 다관절 로봇의 작업공간 유연제어방법을 이용하면, 180도(=π rad) 이상의 각도도 연산될 수 있으므로, 도 4의 (c)에서 핸들(32)에는 제3 가상 스프링-댐퍼(S3)가 적절하게 적용될 수 있다. This disclosure is about rotation error ( In order to overcome the limitations of calculating ) using exponential coordinates, we aim to provide a flexible control method for the workspace of an articulated robot without restrictions on rotational displacement by introducing extended-exponential coordinates. By using the flexible control method of the workspace of an articulated robot without restrictions on rotational displacement according to various embodiments of the present disclosure, angles of 180 degrees (=π rad) or more can be calculated, so the handle in (c) of FIG. 4 In (32), a third virtual spring-damper (S3) can be appropriately applied.

이하에서 본 개시의 다양한 실시예에 따른 회전 변위의 제약이 없는 다관절 로봇의 작업공간 유연제어방법을 구체적으로 설명하기로 한다. Hereinafter, a method for flexible control of the work space of an articulated robot without restrictions on rotational displacement according to various embodiments of the present disclosure will be described in detail.

도 5는 본 개시의 다양한 실시예에 따른 유연제어방법으로, 병진 오차와 회전오차의 변위의 제약이 없는 회전오차를 연산하고, 이를 이용하여 가상의 스프링-댐퍼 움직임을 연산하는 유연제어모듈을 도시한다. 구체적으로 도 5는 본 개시의 다양한 실시예에 따른유연제어모듈에서 가상의 스프링-댐퍼 움직임을 실행하는 토크 제어 입력을 설계하는 신호 흐름도를 의미할 수 있다. Figure 5 is a flexible control method according to various embodiments of the present disclosure, and shows a flexible control module that calculates rotation error without restrictions on displacement of translation error and rotation error, and calculates virtual spring-damper movement using this. do. Specifically, FIG. 5 may represent a signal flow diagram for designing a torque control input that executes a virtual spring-damper movement in a flexible control module according to various embodiments of the present disclosure.

도 5를 참조하면 종래기술에서의 유연제어모듈(210)은 정기구학 연산부(211), 오차 연산부(212), 유연제어 신호 생성부(213), 확장지수좌표 변환부(214)를 포함할 수 있다. 도 3에서 설명된 종래기술에서의 정기구학 연산부(211')에서의 설명과 중복되는 설명은 생략하기로 한다. Referring to FIG. 5, the flexible control module 210 in the prior art may include a forward kinematics calculation unit 211, an error calculation unit 212, a flexible control signal generation unit 213, and an extended exponential coordinate conversion unit 214. there is. Descriptions that overlap with the description of the regular kinematics calculation unit 211' in the prior art described in FIG. 3 will be omitted.

정기구학 연산부(211)는 복수의 축 제어부의 인코더로부터 수신한 관절 각도(q)를 수신할 수 있다. 정기구학 연산부(211)는 관절 각도(q)를 이용하여, 엔드 이펙터(13)의 회전값(R), 위치값(P), 각속도(Ω) 및 선속도(v)를 연산할 수 있다. The forward kinematics calculation unit 211 may receive the joint angle (q) received from the encoder of the plurality of axis control units. The regular kinematics calculation unit 211 can calculate the rotation value (R), position value (P), angular velocity (Ω), and linear velocity (v) of the end effector 13 using the joint angle (q).

오차 연산부(212)는 정기구학 연산부(211)에서 계산된 값들을 이용하여 병진오차() 및 회전오차()를 연산할 수 있다. 오차 연산부(212)에서 연산된 회전오차()는 확장지수좌표 변환부(214)로 전달될 수 있다. The error calculation unit 212 uses the values calculated by the forward kinematics calculation unit 211 to obtain a translation error ( ) and rotation error ( ) can be calculated. The rotation error calculated in the error calculation unit 212 ( ) can be transmitted to the extended exponential coordinate conversion unit 214.

본 개시의 일 실시예에 따른 확장지수좌표 변환부(214)에서는 회전오차()를 이용하여 확장지수좌표로 표현된 확장지수계 회전오차()로 연산될 수 있다. 본 개시의 일 실시예에 따른 확장지수계 회전오차()는 변위의 제한이 없다. 확장지수계 회전오차()에는 지수좌표에서의 각도제한(0 ≤ θ < π)이 적용되지 않는다. 확장지수계 회전오차()는 π rad 이상의 크기를 가질 수 있다. In the extended exponential coordinate conversion unit 214 according to an embodiment of the present disclosure, the rotation error ( ), the extended exponential system rotation error expressed in extended exponential coordinates ( ) can be calculated. Extended exponential rotation error ( ) has no limitation on displacement. Extended exponential rotation error ( ), the angle restriction in exponential coordinates (0 ≤ θ < π) does not apply. Extended exponential rotation error ( ) may have a size of π rad or more.

유연제어 신호 생성부(213)는 병진오차() 및 확장지수계 회전오차()와, 정기구학 연산부(211')로부터 직접 수신한 선속도(v) 및 각속도(Ω)를 이용하여 가상의 스프링-댐퍼 움직임(virtual spring-damper motion)을 실행하는 토크 제어 입력(τ)을 생성할 수 있다.The flexible control signal generator 213 generates translation error ( ) and extended exponential rotation error ( ) and a torque control input (τ) that executes a virtual spring-damper motion using the linear velocity (v) and angular velocity (Ω) directly received from the forward kinematics calculation unit 211'. can be created.

본 개시의 다양한 실시예에 따르면, 확장지수계 회전오차()는 π rad 이상의 크기를 가질 수 있기 때문에 도 4의 (c)와 같은 상황에서도 적절한 제3 가상 스프링-댐퍼(S3)가 다관절 로봇(30)에 적용될 수 있다. According to various embodiments of the present disclosure, the extended exponential rotation error ( ) can have a size of π rad or more, so an appropriate third virtual spring-damper (S3) can be applied to the articulated robot 30 even in situations such as (c) of FIG. 4.

본 개시의 다양한 실시예에 따른 확장지수계 회전오차()의 물리적 의미는 아래의 수학식 3을 통해 나타낼 수 있다.Extended exponential rotation error ( The physical meaning of ) can be expressed through Equation 3 below.

이하에서는 확장지수좌표 변환부(214)가 확장지수계 회전오차()를 연산하는 방법에 대하여 설명하기로 한다. Hereinafter, the extended exponential coordinate conversion unit 214 uses the extended exponential system rotation error ( ) will be explained.

기존의 지수좌표계 회전오차()는 log라는 연산자에 의해 정의가 되지만 확 장지수계 회전오차()는 초기값()에 변화량()(여기에서 는 제어주기)을 계속 더해감으로써 계산될 수 있다. 즉, n+1번째 제어주기의 확장지수계 회전오차( n+1)는 n번째 제어주기의 확장지수계 회전오차( n ) 및 변화량()에 기반하여 갱신될 수 있다. 그렇다면, n+1번째 제어주기의 확장지수계 회전오차( n+1 )를 결정하기 위해서는 변화량 계수()를 연산하여야 한다. 이하에서 변화량 계수()를 연산하는 방법에 대하여 설명하기로 한다. Rotation error in the existing exponential coordinate system ( ) is defined by the operator log, but the extended exponential rotation error ( ) is the initial value ( ) to the amount of change ( )(From here can be calculated by continuously adding control cycles. That is, the extended exponential rotation error of the n+1th control cycle ( n+1 ) is the extended exponential rotation error of the nth control cycle ( n ) and change ( ) can be updated based on If so, the extended exponential rotation error of the n+1th control cycle ( To determine n+1 ), the change coefficient ( ) must be calculated. Hereinafter, the coefficient of change ( ) will be explained.

본 개시에서 정의되는 확장지수계 회전오차()와 확장지수계 회전값()은 지수함수 관계를 가지며, 확장지수계 회전오차()가 현재 회전값(R)을 정확하게 나타내려면 확장지수계 회전값()이 현재 회전값(R)에 수렴해야 한다. 이를 위하여, 본 개시에서는 확장지수계 회전값()에 대한 확장지수계 각속도()를 아래의 수학식 4와 같이 정의한다. 확장지수계 각속도()는 변화량 계수()를 연산하는데 사용될 수 있다.The extended exponential rotation error defined in the present disclosure ( ) and the extended exponential rotation value ( ) has an exponential function relationship, and the extended exponential system rotation error ( ) to accurately represent the current rotation value (R), the extended exponential rotation value ( ) must converge to the current rotation value (R). For this purpose, in the present disclosure, the extended exponential rotation value ( ) for the extended exponential angular velocity ( ) is defined as Equation 4 below. Extended exponential angular velocity ( ) is the coefficient of change ( ) can be used to calculate.

이와 같이 정의된 확장지수계 각속도()와 확장지수계 최소회전오차( m)와의 관계를 이용하여 변화량 계수()를 연산할 수 있다. The extended exponential angular velocity defined in this way ( ) and the minimum rotation error of the extended exponential system ( Using the relationship with m ), the coefficient of change ( ) can be calculated.

한편, 확장지수계 최소회전오차( m)는 회전을 표현하는 최소각도(θ)에 의해 정의되는 최소회전오차일 수 있다. 확장지수계 최소회전오차( m)는 아래의 수학식 5와 같이 정의될 수 있다. 한편, 최소각도(θ)는 수학식 2에서 설명된 회전각과 같은 수식기호로 표현하였다.Meanwhile, the minimum rotation error of the extended exponential system ( m ) may be the minimum rotation error defined by the minimum angle (θ) expressing rotation. Minimum rotation error of the extended exponential system ( m ) can be defined as Equation 5 below. Meanwhile, the minimum angle (θ) is expressed with the same formula as the rotation angle described in Equation 2.

회전을 표현하는 최소각도(θ)는 다시 말하면, 정회전수 외의 각도, 또는 회전최소각이라고 지칭될 수 있다. 구체적인 예로서, 확장지수계 회전각도(θ)가 745(=)도일 때, 회전을 표현하는 최소각도(θ)는 25도일 수 있다. In other words, the minimum angle (θ) expressing rotation may be referred to as an angle other than the normal rotation number, or as the minimum rotation angle. As a specific example, the extended exponential rotation angle (θ) is 745 (= ) degrees, the minimum angle (θ) expressing rotation may be 25 degrees.

확장지수계 각속도()와 확장지수계 최소회전오차( m )와의 관계는 아래의 수학식 6과 같이 정의될 수 있으며, 수학식 6은 수학식 7을 통해 연산될 수 있다. Extended exponential angular velocity ( ) and extended exponential minimum rotation error ( The relationship with m ) can be defined as Equation 6 below, and Equation 6 can be calculated through Equation 7.

수학식 7은 확장지수계 회전오차()와 확장지수계 최소회전오차( m )를 시간으로 미분한 값의 비교를 의미한다. Equation 7 is the extended exponential rotation error ( ) and extended exponential minimum rotation error ( It refers to the comparison of the value obtained by differentiating m ) with time.

한편, 수학식 6에서 변화량 계수의 미분값( m)은 아래의 수학식 8과 같이 정의될 수 있고, 단위벡터(u)의 성질()에 기반하여 변화량 계수의 미분값( m )을 행렬로 나타내면 수학식 9와 같다.Meanwhile, in Equation 6, the differential value of the change coefficient ( m ) can be defined as Equation 8 below, and the properties of the unit vector ( u ) ( ) Based on the differential value of the change coefficient ( If m ) is expressed as a matrix, it is as shown in Equation 9.

수학식 9에 기반하여, 확장지수계 각속도()와 확장지수계 최소회전오차( m )를 대응시키는 수학식 10은 아래와 같으며, 이상 설명된 수학식 3 내지 10을 통하여, n+1번째 제어주기의 확장지수계 회전오차( n+1 )는 n번째 제어주기의 확장지수계 회전오차( n ) 및 변화량()에 기반하여 갱신될 수 있다. Based on Equation 9, the extended exponential angular velocity ( ) and extended exponential minimum rotation error ( Equation 10 corresponding to m ) is as follows, and through Equations 3 to 10 described above, the extended index system rotation error ( n+1 ) is the extended exponential rotation error of the nth control cycle ( n ) and change ( ) can be updated based on

도 6은 본 개시의 다양한 실시예에 따라 회전오차를 확장지수좌표를 적용하여 연산하는 프로세스의 흐름도이다. 도 6의 프로세스(600)는 앞서 설명된 지수좌표계 회전오차()를 연산하는 방법을 데이터 신호의 관점에서 설명하는 것일 수 있다. Figure 6 is a flowchart of a process for calculating rotation error by applying extended exponential coordinates according to various embodiments of the present disclosure. The process 600 of FIG. 6 may explain the method of calculating the exponential coordinate system rotation error ( ) described above from the perspective of a data signal.

프로세스(600)는 601 동작에서, n번째 제어주기의 확장지수계 각속도()를 연산할 수 있다. 확장지수계 각속도()의 연산은 유연제어모듈(210)의 확장지수좌표 변환부(214)에서 수행될 수 있다. 603 동작에서, 확장지수계 각속도()를 이용하여 회전오차의 변화량()을 연산할 수 있다. 605 동작에서, n+1 번째 제어주기의 확장지수계 회전오차( n+1 )를 n번째 제어주기의 확장지수계 회전오차( n) 및 변화량()에 기반하여 갱신할 수 있다. In operation 601, the process 600 calculates the extended exponential angular velocity of the nth control cycle ( ) can be calculated. Extended exponential angular velocity ( ) can be performed in the extended exponential coordinate conversion unit 214 of the flexible control module 210. In motion 603, the extended exponential angular velocity ( ) using the change in rotation error ( ) can be calculated. In operation 605, the extended exponential rotation error of the n+1th control cycle ( n+1 ) is the extended exponential rotation error of the nth control cycle ( n ) and change ( ) can be updated based on.

프로세스(600)의 동작 601 내지 605는 유연제어모듈(210)의 확장지수좌표 변환부(214)에서 수행될 수 있다. 유연제어모듈(210)의 유연제어 신호 생성부(213)는 확장지수좌표 변환부(214)로부터 제어주기 마다 갱신되는 확장지수계 회전오차()를 수신할 수 있다. 유연제어 신호 생성부(213)는 확장지수계 회전오차(), 병진오차(), 선속도(v) 및 각속도(Ω)에 기반하여 제어주기마다 토크 제어 입력(τ)를 생성할 수 있다.Operations 601 to 605 of the process 600 may be performed in the extended exponential coordinate conversion unit 214 of the flexible control module 210. The flexible control signal generator 213 of the flexible control module 210 generates an extended exponential system rotation error ( ) can be received. The flexible control signal generator 213 provides an extended index rotation error ( ), translation error ( ), the torque control input (τ) can be generated for each control cycle based on the linear velocity (v) and angular velocity (Ω).

한편, 본 개시의 다양한 실시예에 있어서, 확장지수계 회전각도()가 정회전(예를 들어, (k=0, 1, 2, 3...: 회전 바퀴 수))의 주변일 때, 변화량 계수()를 연산하는 과정에서 수치적 오차가 쌓여, 확장지수계 회전오차()의 정확도가 떨어질 수 있고 이는 문제를 일으킬 수 있다. Meanwhile, in various embodiments of the present disclosure, the extended exponential rotation angle ( ) is forward rotation (e.g. (k=0, 1, 2, 3...: number of rotating wheels)), the change coefficient ( In the process of calculating ), numerical errors accumulate, and the extended exponential system rotation error ( ) may be less accurate and this may cause problems.

왜냐하면, 다관절 로봇(10)의 작업공간 제어에서는 회전 연속성이 보장되어야 자연스러운 움직임을 생성할 수 있기 때문이다. 일 예로, 회전 축이나 회전각이 갑자기 다른 값으로 점프해버리면 다관절 로봇(10)이 예측할 수 없는 모션을 발생시킬 수 있다. This is because, in the work space control of the articulated robot 10, rotational continuity must be guaranteed to create natural movement. For example, if the rotation axis or rotation angle suddenly jumps to a different value, the articulated robot 10 may generate unpredictable motion.

이를 극복하기 위해서, 본 개시의 일 실시예에서는 확장지수계 회전각도()의 주변 범위의 제한을 두어 확장지수계 회전오차()의 연산 방법을 달리하여 정확도를 높일 수 있다.In order to overcome this, in one embodiment of the present disclosure, the extended exponential rotation angle ( ) by limiting the peripheral range of the extended index system rotation error ( ) accuracy can be increased by varying the calculation method.

일 실시예에 따르면, 유연제어모듈(210)의 확장지수좌표 변환부(214)는 수학식 5에서 정의되는 회전을 표현하는 최소각도()의 크기가 제1 경계각도()의 이하일 때에는 확장지수계 회전오차의 후보를 연산한 후, 이에 기반하여 확장지수계 회전오차( )를 결정할 수 있다. According to one embodiment, the extended exponential coordinate conversion unit 214 of the flexible control module 210 converts the minimum angle representing the rotation defined in Equation 5 ( ) is the size of the first boundary angle ( ), calculate the candidate for the extended exponential system rotation error, and then based on this, the extended exponential system rotation error ( ) can be determined.

예를 들어, 확장지수계 회전오차의 후보는 n+1 번째 제어주기의 확장지수계 회전값( n+1 )는 아래의 수학식 11과 같이 지수좌표계로 나타낼 수 있다. 더하여 현재 회전 바퀴수(k)에 기반하여, 수학식 12와 같이 제1 확장지수계 회전오차 후보( 1) 및 제2 확장지수계 회전오차 후보( 2)를 연산할 수 있다. For example, a candidate for the extended exponential system rotation error is the extended exponential system rotation value of the n+1th control cycle ( n+1 ) can be expressed in an exponential coordinate system as shown in Equation 11 below. In addition, based on the current number of rotation wheels (k), the first extended index system rotation error candidate ( 1 ) and the second extended exponential rotation error candidate ( 2 ) can be calculated.

본 개시의 일 실시예에 따르면 제1 확장지수계 회전오차 후보( 1) 및 제2 확장지수계 회전오차 후보( 2) 중에서 현재 확장지수계 회전오차()와 유클리디안 거리가 가까운 후보를 다음 확장 지수좌표로 결정할 수 있다. According to an embodiment of the present disclosure, the first extended index rotation error candidate ( 1 ) and the second extended exponential rotation error candidate ( 2 ), the current extended index rotation error ( ) can be determined by using the following extended exponential coordinates.

도 7은 본 개시의 다양한 실시예에 따라 회전오차를 확장지수좌표를 적용하여 연산하는 프로세스의 흐름도이다. 도 7의 프로세스(700)는 앞서 설명된 확장지수계 회전각도()가 정회전(예를 들어, (k=0, 1, 2, 3...: 회전 바퀴 수))의 주변일 때 지수좌표계 회전오차()를 연산하는 방법을 데이터 신호의 관점에서 설명하는 것일 수 있다. Figure 7 is a flowchart of a process for calculating rotation error by applying extended exponential coordinates according to various embodiments of the present disclosure. The process 700 of FIG. 7 uses the previously described expanded exponential rotation angle ( ) is forward rotation (e.g. When around (k=0, 1, 2, 3...: number of rotation wheels)), the exponential coordinate system rotation error ( ) may be explained from the perspective of a data signal.

프로세스(700)는 701 동작에서, n번째 제어주기의 확장지수계 각속도()에 기반하여 n+1 번째 주기의 확장지수계 회전값( n+1 )을 연산할 수 있다. In operation 701, the process 700 calculates the extended exponential angular velocity of the nth control cycle ( ) Based on the extended exponential rotation value of the n+1th cycle ( n+1 ) can be calculated.

703 동작에서, n+1 번째 주기의 확장지수계 회전값( n+1 )에 기반하여,In operation 703, the extended exponential rotation value of the n+1th cycle ( n+1 ),

n+1 번째 주기의 최소회전각도( n+1 ) 및 단위 벡터(u n+1 )를 연산할 수 있다. Minimum rotation angle of the n+1th cycle ( n+1 ) and unit vectors ( u n+1 ) can be calculated.

705 동작에서 n+1 번째 주기의 최소회전각도( n+1 ) 및 단위 벡터(u n+1 )에 기반하여, 제1 및 제2 확장지수계 회전오차 후보( 1, 2)를 연산할 수 있다. In operation 705, the minimum rotation angle of the n+1th cycle ( Based on n+1 ) and unit vector ( u n+1 ), the first and second extended exponential rotation error candidates ( One , 2 ) can be calculated.

707 동작에서 제1 및 제2 확장지수계 회전오차 후보( 1, 2) 중에서 현재 확장지수계 회전오차()와 유클리디안 거리가 가까운 후보를 n+1번째 제어주기의 확장지수계 회전오차( n+1 )로 결정할 수 있다. In operation 707, the first and second extended exponential system rotation error candidates ( One , 2 ), the current extended index rotation error ( ) and the candidate whose Euclidean distance is close to the extended exponential rotation error ( n + 1 ) can be determined.

한편, 본 개시의 다양한 실시예에 있어서, 확장지수계 회전각도()가 정회전(예를 들어, (k=0, 1, 2, 3...: 회전 바퀴 수)의 근접할 때, 변화량 계수()를 연산하는 과정에서 수치적 오차가 쌓여, 확장지수계 회전오차()의 정확도가 더 떨어질 수 있다.Meanwhile, in various embodiments of the present disclosure, the extended exponential rotation angle ( ) is forward rotation (e.g. When approaching (k=0, 1, 2, 3...: number of rotating wheels), the change coefficient ( In the process of calculating ), numerical errors accumulate, and the extended exponential system rotation error ( ) may have lower accuracy.

일 실시예에 따르면, 유연제어모듈(210)의 확장지수좌표 변환부(214)는 수학식 5에서 정의되는 회전을 표현하는 최소각도()의 크기가 제1 경계각도( b1) 보다 작은 제2 경계각도( b2)의 미만일 때에는 아래의 방법에 따라 확장지수계 회전오차()를 연산할 수 있다. According to one embodiment, the extended exponential coordinate conversion unit 214 of the flexible control module 210 converts the minimum angle representing the rotation defined in Equation 5 ( ) is the size of the first boundary angle ( b1 ) the second boundary angle ( When it is less than b2 ), the extended exponential rotation error ( ) can be calculated.

일 실시예에 따르면, 유연제어모듈(210)의 확장지수좌표 변환부(214)는 수학식 5에서 정의되는 회전을 표현하는 최소각도()의 크기가 제2 경계각도( b2)의 미만일 때에는 단위벡터(u)가 큰 수치적 오차를 가질 수 있다. According to one embodiment, the extended exponential coordinate conversion unit 214 of the flexible control module 210 converts the minimum angle representing the rotation defined in Equation 5 ( ) is the size of the second boundary angle ( When it is less than b2 ), the unit vector ( u ) may have a large numerical error.

다시 말하면, 회전을 표현하는 최소각도()가 2π의 근사한 값인 경우, n+1 번째 주기의 최소회전각도( n+1 )에는 오차가 비교적 거의 없지만, n+1 번째 주기의 단위벡터(u n+1 )에는 수치적 오차가 많을 수 있다. In other words, the minimum angle expressing rotation ( ) is an approximate value of 2π, the minimum rotation angle of the n+1th cycle ( There is relatively little error in n+1 ), but there may be a lot of numerical error in the unit vector ( u n+1 ) of the n+1th cycle.

따라서 본 실시예에서는 단위벡터(u)를 확장지수좌표를 연산하는데 바로 사용하지 않고 이전 확장지수좌표들의 단위벡터(u)와 비교하여 이상치(outlier)를 찾아낸 다음 이상치를 제거한 후, 평균 값을 유효회전축(u *)으로 결정할 수 있다. 미리 정해진 범위의 이전 단위벡터들 중에서 이상치(outlier)를 제거한 단위벡터들의 집합(Smeaning)을 정의할 수 있다. 예를 들어, 단위벡터들의 집합(Smeaning)은 n-2 번째 n-1 번째, n 번째 n+1 번째 단위벡터들 중에서 이상치를 제거된 집합일 수 있다. Therefore, in this embodiment, the unit vector ( u ) is not directly used to calculate the extended exponential coordinates, but is compared with the unit vector ( u ) of the previous extended exponential coordinates to find outliers, and then the outliers are removed, and the average value is made valid. It can be determined by the rotation axis ( u * ). It is possible to define a set (S meaning ) of unit vectors from which outliers are removed among previous unit vectors in a predetermined range. For example, the set of unit vectors (S meaning ) may be a set in which outliers are removed from the n-2th, n-1th, and n+1th unit vectors.

단위벡터들의 집합(Smeaning)의 평균 값을 유효회전축(u *)으로 결정할 수 있다. The average value of the set of unit vectors (S meaning ) can be determined as the effective rotation axis ( u * ).

이후, n+1번째 제어주기의 확장지수계 회전오차( n+1 )는 유효회전축(u *)과 n+1 번째 주기의 최소회전각도( n+1 )를 이용하여 아래의 방법으로 연산될 수 있다. Afterwards, the extended exponential rotation error of the n+1th control cycle ( n+1 ) is the effective rotation axis ( u * ) and the minimum rotation angle of the n+1th cycle ( n+1 ) can be calculated using the method below.

먼저, 유효회전축(u *)과 n+1 번째 주기의 최소회전각도( n+1 )에 기반하여, 수학식 14와 같이 제1 확장지수계 회전오차 후보( 1) 및 제2 확장지수계 회전오차 후보( 2)를 연산할 수 있다. First, the effective rotation axis ( u * ) and the minimum rotation angle of the n+1th cycle ( Based on n + 1 ), the first extended exponential system rotation error candidate ( 1 ) and the second extended exponential rotation error candidate ( 2 ) can be calculated.

예를 들어, 만약, n+1 번째 주기의 단위벡터(u n+1 )가 단위벡터들의 집합(Smeaning)에 포함된다면, 제1 확장지수계 회전오차 후보( 1)가 n+1 번째 주기의 확장지수계 회전오차( n+1)로 결정될 수 있다. For example, if the unit vector ( u n+1 ) of the n+1th period is included in the set of unit vectors (S meaning ), the first extended exponential rotation error candidate ( 1 ) is the extended exponential rotation error of the n+1th cycle ( n+1 ) can be determined.

만약, n+1 번째 주기의 단위벡터의 음수(-u n+1 )가 단위벡터들의 집합(Smeaning)에 포함된다면, 제2 확장지수계 회전오차 후보( 2)가 n+1 번째 주기의 확장지수계 회전오차( n+1)로 결정될 수 있다. If the negative number (- u n+1 ) of the unit vector of the n+1th period is included in the set of unit vectors (S meaning ), the second extended exponential system rotation error candidate ( 2 ) is the extended exponential rotation error of the n+1th cycle ( n+1 ) can be determined.

또한, n+1 번째 주기의 단위벡터(u n+1 )의 오차가 너무 커서 이상치(outlier)로 판단이 되어 n+1 번째 주기의 단위벡터(u n+1 ) 및 이의 음수값이 모두 단위벡터들의 집합(Smeaning)에 포함되지 않는다면, 제1 확장지수계 회전오차 후보( 1) 및 제2 확장지수계 회전오차 후보( 2)을 모두 지수맵 취한 값의 확장지수좌표계의 회전값( 1, 2)을 연산하고, n+1 번째 제어주기의 확장지수계의 회전값( n+1)과의 프로베니우스 놈(Frobenius norm)을 연산한 후, 프로베니우스 놈이 작은 후보를 다음 확장 지수좌표로 선택할 수 있다. 이와 같은 연산은 아래 수학식 15를 통해 연산될 수 있다. In addition, the error in the unit vector ( u n+1 ) of the n+1th cycle is so large that it is judged to be an outlier, so the unit vector ( u n+1 ) of the n+1th cycle and its negative value are all units. If it is not included in the set of vectors (S meaning ), the first extended exponential rotation error candidate ( 1 ) and the second extended exponential rotation error candidate ( 2 ) The rotation value of the extended exponential coordinate system of the value taken from the exponential map ( One, 2 ) is calculated, and the rotation value of the extended exponential system of the n+1th control cycle ( After calculating the Frobenius norm with ( n+1 ), a candidate with a smaller Frobenius norm can be selected as the next extended exponential coordinate. Such an operation can be calculated using Equation 15 below.

도 8은 본 개시의 다양한 실시예에 따라 회전오차를 확장지수좌표를 적용하여 연산하는 프로세스의 흐름도이다. 도 8의 프로세스(800)는 앞서 설명된 확장지수계 회전각도()가 정회전(예를 들어, (k=0, 1, 2, 3...: 회전 바퀴 수))의 주변일 때 지수좌표계 회전오차()를 연산하는 방법을 데이터 신호의 관점에서 설명하는 것일 수 있다. Figure 8 is a flowchart of a process for calculating rotation error by applying extended exponential coordinates according to various embodiments of the present disclosure. The process 800 of FIG. 8 uses the previously described expanded exponential rotation angle ( ) is forward rotation (e.g. When around (k=0, 1, 2, 3...: number of rotation wheels)), the exponential coordinate system rotation error ( ) may be explained from the perspective of a data signal.

프로세스(800)는 801 동작에서, n번째 제어주기의 확장지수계 각속도()에 기반하여 n+1 번째 주기의 확장지수계 회전값( n+1 )을 연산할 수 있다. In operation 801, the process 800 calculates the extended exponential angular velocity of the nth control cycle ( ) Based on the extended exponential rotation value of the n+1th cycle ( n+1 ) can be calculated.

803 동작에서, n+1 번째 주기의 확장지수계 회전값( n+1 )에 기반하여,In operation 803, the extended exponential rotation value of the n+1th cycle ( n+1 ),

n+1 번째 주기의 최소회전각도( n+1 ) 및 단위 벡터(u n+1 )를 연산할 수 있다. Minimum rotation angle of the n+1th cycle ( n+1 ) and unit vectors ( u n+1 ) can be calculated.

805 동작에서, 일정 범위의 이전 단위벡터(u) 중에서 이상치가 제거된 평균값을 유효회전축(u *)으로 결정할 수 있다.In operation 805, the average value from which outliers are removed among the previous unit vectors ( u ) in a certain range can be determined as the effective rotation axis ( u * ).

807 동작에서, 유효회전축(u *)과 n+1 번째 주기의 최소회전각도( n+1 )를 이용하여 n+1번째 제어주기의 확장지수계 회전오차( n+1 )를 결정할 수 있다. In operation 807, the effective rotation axis ( u * ) and the minimum rotation angle of the n+1th cycle ( Using n+1 ), the extended exponential rotation error of the n+1th control cycle ( n+1 ) can be determined.

도 9는 본 개시의 다양한 실시예에 따라 회전오차를 확장지수좌표를 적용하여 연산하는 프로세스의 흐름도이다. 도 9의 프로세스(900)는 앞서 설명된 확장지수계 회전각도()가 정회전(예를 들어, (k=0, 1, 2, 3...: 회전 바퀴 수))의 주변일 때 지수좌표계 회전오차()를 연산하는 방법을 데이터 신호의 관점에서 설명하는 것일 수 있다. Figure 9 is a flowchart of a process for calculating rotation error by applying extended exponential coordinates according to various embodiments of the present disclosure. The process 900 of FIG. 9 uses the previously described extended exponential rotation angle ( ) is forward rotation (e.g. When around (k=0, 1, 2, 3...: number of rotation wheels)), the exponential coordinate system rotation error ( ) may be explained from the perspective of a data signal.

도9를 참조하면, 프로세스(900)는 동작 901에서 회전을 표현하는 최소각도()를 연산하는 동작에서 시작할 수 있다. Referring to Figure 9, process 900 determines the minimum angle representing the rotation in operation 901 ( ) can be started from the operation of calculating ).

동작 903에서, 회전을 표현하는 최소각도()가 제1 경계각도( b1)보다 작은 각도를 가지는지 판단할 수 있다. 동작 903에서 회전을 표현하는 최소각도()가 제1 경계각도( b1)보다 작은 각도를 가지지 않는 경우 프로세스(600)이 수행될 수 있다. 동작 903에서 회전을 표현하는 최소각도()가 제1 경계각도( b1)보다 작은 각도를 가지는 경우 동작 905로 이어질 수 있다. In operation 903, the minimum angle representing the rotation ( ) is the first boundary angle ( It can be determined whether it has an angle smaller than b1 ). In operation 903, the minimum angle representing the rotation ( ) is the first boundary angle ( Process 600 may be performed if there is no angle less than b1 ). In operation 903, the minimum angle representing the rotation ( ) is the first boundary angle ( If it has an angle smaller than b1 ), it may lead to operation 905.

동작 905에서, 회전을 표현하는 최소각도()가 제2 경계각도( b1)보다 큰 각도를 가지는지 판단할 수 있다. 동작 905에서 회전을 표현하는 최소각도()가 제2 경계각도( b1)보다 큰 각도를 가지는 경우 프로세스(700)이 수행될 수 있다. 동작 905에서 회전을 표현하는 최소각도()가 제2 경계각도( b2)각도를 가지지 않는 경우 동작 프로세스(800)이 수행될 수 있다. In operation 905, the minimum angle representing the rotation ( ) is the second boundary angle ( You can determine whether it has an angle greater than b1 ). Minimum angle representing rotation in operation 905 ( ) is the second boundary angle ( If the angle is greater than b1 ), process 700 may be performed. Minimum angle representing rotation in operation 905 ( ) is the second boundary angle ( If there is no angle b2 ), the operation process 800 may be performed.

특정 예시적 기법이 다양한 방법 및 시스템을 이용하여 여기에서 기술되고 도시되었으나, 당업자라면, 청구된 대상에서 벗어남이 없이, 다양한 기타의 수정 또는 등가물로의 치환 가능성을 이해할 수 있다. 추가적으로, 여기에 기술된 중심 개념으로부터 벗어남이 없이 특정 상황을 청구된 대상의 교시로 적응시키도록 많은 수정이 이루어질 수 있다. 따라서, 청구된 대상이 개시된 특정 예시로 제한되지 않으나, 그러한 청구된 대상은 또한 첨부된 청구범위 및 그 균등의 범위 내에 들어가는 모든 구현예를 포함할 수 있음이 의도된다.Although certain example techniques have been described and shown herein using various methods and systems, those skilled in the art will recognize that various other modifications or equivalents may be substituted without departing from the claimed subject matter. Additionally, many modifications may be made to adapt the teachings of the claimed subject matter to particular situations without departing from the central concept described herein. Accordingly, it is intended that the claimed subject matter not be limited to the specific examples disclosed, but that such claimed subject matter may also include all embodiments that fall within the scope of the appended claims and their equivalents.

본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위, 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present disclosure is indicated by the claims described below rather than the detailed description above, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present application. do.

Claims (6)

회전 변위의 제약이 없는 다관절 로봇의 유연제어방법에 있어서,
상기 다관절 로봇은:
복수의 링크와 상기 복수의 링크를 연결하는 복수의 관절을 포함하는 로봇 암; 및
로봇 암의 최종단에 연결된 엔드 이펙터;
상기 복수의 관절 각각에 구비되고, 인코더를 포함하는 모터를 포함하고;
상기 방법은:
상기 인코더로부터 관절 각도(q)를 수신하는 동작;
상기 수신한 관절 각도(q)를 이용하여 엔드 이펙터의 회전값(R), 각속도(Ω) 및 선속도(v)를 연산하는 동작;
상기 회전값(R), 상기 각속도(Ω), 및 목표 회전값(Rd)에 기반하여 확장지수계 회전오차()를 연산하는 동작; 및
상기 확장지수계 회전오차()에 기반하여 가상의 스프링-댐퍼 모션을 위한 토크 제어 입력(τ)을 생성하는 동작; 및
상기 토크 제어 입력(τ)을 상기 모터에 전송하는 동작을 포함하되,
상기 확장지수계 회전오차()는 π rad 이상의 크기를 가지며, 하기 수학식 1의 물리적 의미를 가지는 것인, 다관절 로봇의 유연제어방법.
[수학식 1]

In the flexible control method of an articulated robot without restrictions on rotational displacement,
The articulated robot:
A robot arm including a plurality of links and a plurality of joints connecting the plurality of links; and
An end effector connected to the final end of the robot arm;
It is provided at each of the plurality of joints and includes a motor including an encoder;
The above method is:
Receiving a joint angle ( q ) from the encoder;
An operation of calculating the rotation value (R), angular velocity (Ω), and linear velocity ( v ) of the end effector using the received joint angle ( q );
Based on the rotation value (R), the angular velocity (Ω), and the target rotation value (R d ), the extended index rotation error ( ) The operation of calculating ); and
The extended exponential rotation error ( An operation of generating a torque control input (τ) for a virtual spring-damper motion based on ); and
Including an operation of transmitting the torque control input (τ) to the motor,
The extended exponential rotation error ( ) has a size of π rad or more and has the physical meaning of Equation 1 below. A flexible control method for an articulated robot.
[Equation 1]

제1 항에 있어서,
상기 수신한 관절 각도(q)를 이용하여 위치값(p)을 연산하는 동작; 및
상기 목표 위치값(p d) 및 위치값(p)에 기반하여 병진오차()를 연산하는 동작을 더 포함하고,
상기 가상의 스프링-댐퍼 모션을 위한 토크 제어 입력(τ)을 생성하는 동작은 상기 병진오차() 및 상기 확장지수계 회전오차()에 기반하여 생성되는 것인,
다관절 로봇의 유연제어방법.
According to claim 1,
An operation of calculating a position value ( p ) using the received joint angle ( q ); and
Translation error ( ) and further includes an operation to calculate
The operation of generating a torque control input (τ) for the virtual spring-damper motion is the translation error ( ) and the extended exponential rotation error ( ), which is created based on
Flexible control method for articulated robots.
제2 항에 있어서,
상기 목표 위치값(p d) 및 목표 회전값(Rd)은 사용자 명령 입력부로부터 수신하는 것인
다관절 로봇의 유연제어방법.
According to clause 2,
The target position value ( p d ) and target rotation value (R d ) are received from the user command input unit.
Flexible control method for articulated robots.
제1 항에 있어서,
상기 회전값(R), 상기 각속도(Ω), 및 목표 회전값(Rd)에 기반하여 확장지수계 회전오차()를 연산하는 동작은:
(1) 상기 회전값(R) 및 각속도 각속도(Ω)에 기반하여, 확장지수계 각속도()를 연산하는 동작;
(2) 상기 확장지수계 각속도()를 이용하여 회전오차의 변화량(), 여기에서 는 제어주기)을 연산하는 동작; 및
(3) 다음 제어주기(n+1)의 확장지수계 회전오차( n+1 )를 현재 제어주기(n)의 확장지수계 회전오차( n )에 상기 변화량()을 더하여, 갱신하는 동작을 수행하는 것이며,
상기 동작 (1)의 확장지수계 각속도()의 연산은 하기 수학식 2에 기반하여 연산되고, 상기 동작 (2)의 회전오차의 변화량을 연산하기 위한 변화량 계수()는 하기 수학식 3에 의해 연산되는 것인, 다관절 로봇의 유연제어방법.
[수학식 2]

[수학식 3]
According to claim 1,
Based on the rotation value (R), the angular velocity (Ω), and the target rotation value (R d ), the extended index rotation error ( The operation to calculate ) is:
(1) Based on the rotation value (R) and angular velocity (Ω), the extended exponential angular velocity ( ) The operation of calculating );
(2) The extended exponential system angular velocity ( ) using the change in rotation error ( ), From here is the operation of calculating the control cycle); and
(3) Extended exponential rotation error of the next control cycle (n+1) ( n+1 ) is the extended exponential rotation error ( The amount of change in n ( ) is added to perform an update operation,
The extended exponential angular velocity of operation (1) above ( ) is calculated based on Equation 2 below, and the change coefficient ( ) is a flexible control method of an articulated robot, which is calculated by Equation 3 below.
[Equation 2]

[Equation 3]
제4 항에 있어서,
회전을 표현하는 최소각도()를 결정하는 동작을 더 포함하고,
상기 회전을 표현하는 최소각도()가 제1 경계각도( b1)이하 인 경우에, 상기 회전값(R), 상기 각속도(Ω), 및 상기 목표 회전값(Rd)에 기반하여 상기 확장지수계 회전오차()를 연산하는 동작은:
(4) 현재 제어주기의 확장지수계 각속도()에 기반하여 다음 제어주기의 확장지수계 회전값( n+1 )을 연산하는 동작;
(5) 다음 제어주기의 확장지수계 회전값( n+1 )에 기반하여, 다음 제어주기의 최소회전각도( n+1 ) 및 단위 벡터(u n+1 )를 연산하는 동작;
(6) 다음 제어주기의 최소회전각도( n+1 ) 및 단위 벡터(u n+1 )에 기반하여, 제1 및 제2 확장지수계 회전오차 후보( 1, 2) 를 연산하는 동작; 및
(7) 제1 및 제2 확장지수계 회전오차 후보( 1, 2) 중에서, 현재 확장지수계 회전오차( n)와 유클리디안 거리가 가까운 후보를 다음 제어주기의 확장지수계 회전오차( n+1 )로 결정하는 동작을 수행하는 것이고,
상기 동작 (4)의 제어주기의 확장지수계 회전값( n+1 )의 연산과, 상기 동작 (5)의 다음 제어주기의 최소회전각도( n+1 ) 및 단위 벡터(u n+1 )는 하기 수학식 4에 의해 연산되고, 상기 동작 (6)의 제1 및 제2 확장지수계 회전오차 후보( 1, 2)는 하기 수학식 5에 의해 연산되는 것인, 다관절 로봇의 유연제어방법.
[수학식 4]

[수학식 5]
According to clause 4,
Minimum angle representing rotation ( ), further comprising an operation to determine,
Minimum angle expressing the rotation ( ) is the first boundary angle ( In the case of b1 or less, the extended index system rotation error ( The operation to calculate ) is:
(4) Extended exponential angular velocity of the current control cycle ( ) Based on the extended exponential rotation value of the next control cycle ( operation of calculating n+1 );
(5) Extended index rotation value of the next control cycle ( Based on n+1 ), the minimum rotation angle of the next control cycle ( operations for calculating n+1 ) and unit vectors ( u n+1 );
(6) Minimum rotation angle of the next control cycle ( Based on n+1 ) and unit vector ( u n+1 ), the first and second extended exponential rotation error candidates ( One , 2 ) The operation of calculating ; and
(7) First and second extended exponential system rotation error candidates ( One , 2 ), the current extended index rotation error ( Candidates with a Euclidean distance close to n ) are selected as the extended exponential rotation error ( n+1 ) is to perform an operation determined by
The extended exponential rotation value of the control cycle of operation (4) ( n + 1 ) calculation, and the minimum rotation angle of the next control cycle of operation (5) ( n+1 ) and the unit vector ( u n+1 ) are calculated by Equation 4 below, and the first and second extended exponential system rotation error candidates of operation (6) ( One , 2 ) is a flexible control method of an articulated robot, which is calculated by Equation 5 below.
[Equation 4]

[Equation 5]
제1 항에 있어서,
상기 회전을 표현하는 최소각도가 제2 경계각도( b2)이하 인 경우에는, 상기 회전값(R), 상기 각속도(Ω), 및 상기 목표 회전값(Rd)에 기반하여 상기 확장지수계 회전오차()를 연산하는 동작은:
(8) 현재 제어주기의 확장지수계 각속도()에 기반하여 다음 제어주기의 확장지수계 회전값( n+1 )을 연산하는 동작;
(9) 다음 제어주기의 확장지수계 회전값( n+1 )에 기반하여, 다음 제어주기의 최소회전각도( n+1 ) 및 단위 벡터(u n+1 )를 연산하는 동작;
(10) 일정 범위의 이전 제어주기의 단위벡터(u) 중에서 이상치가 제거된 평균값을 유효회전축(u *)으로 결정하는 동작;
(11) 유효회전축(u *)과 다음 제어주기의 최소회전각도( n+1 )를 이용하여 다음 제어주기의 확장지수계 회전오차( n+1 )를 결정하는 동작을 포함하는 것이고,
상기 동작 (8)의 제어주기의 확장지수계 회전값( n+1 )의 연산과, 상기 동작 (9)의 다음 제어주기의 최소회전각도( n+1 ) 및 단위 벡터(u n+1 )는 하기 수학식 6에 의해 연산되고, 상기 동작 (11)의 다음 제어주기의 확장지수계 회전오차( n+1 )는 하기 수학식 7에 의해 연산되는 것인, 다관절 로봇의 유연제어방법.
[수학식 6]

[수학식 7]

여기에서, 는 n-2 번째 n-1 번째, n 번째 n+1 번째 단위벡터들 중에서 이상치(outlier)를 제거한 단위벡터들의 집합임.
According to claim 1,
The minimum angle expressing the rotation is the second boundary angle ( In the case of b2 or less, the extended index system rotation error ( The operation to calculate ) is:
(8) Extended exponential angular velocity of the current control cycle ( ) Based on the extended exponential rotation value of the next control cycle ( operation of calculating n+1 );
(9) Extended index rotation value of the next control cycle ( Based on n+1 ), the minimum rotation angle of the next control cycle ( operations for calculating n+1 ) and unit vectors ( u n+1 );
(10) An operation of determining the average value from which outliers have been removed among the unit vectors ( u ) of a certain range of previous control cycles as the effective rotation axis ( u * );
(11) Effective rotation axis ( u * ) and minimum rotation angle of the next control cycle ( Using n+1 ), the extended exponential rotation error of the next control cycle ( It includes the operation of determining n+1 ),
The extended exponential rotation value of the control cycle of operation (8) ( n + 1 ) calculation, and the minimum rotation angle of the next control cycle of operation (9) ( n+1 ) and the unit vector ( u n+1 ) are calculated by Equation 6 below, and the extended exponential system rotation error ( n+1 ) is a flexible control method of an articulated robot, which is calculated by Equation 7 below.
[Equation 6]

[Equation 7]

From here, is a set of unit vectors from which outliers are removed from the n-2th, n-1th, and nth and n+1th unit vectors.
KR1020230017315A 2023-02-09 2023-02-09 A method for task-space compliance control of robot manipulator without rotational displacement constraints KR102624551B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230017315A KR102624551B1 (en) 2023-02-09 2023-02-09 A method for task-space compliance control of robot manipulator without rotational displacement constraints

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230017315A KR102624551B1 (en) 2023-02-09 2023-02-09 A method for task-space compliance control of robot manipulator without rotational displacement constraints

Publications (1)

Publication Number Publication Date
KR102624551B1 true KR102624551B1 (en) 2024-01-12

Family

ID=89541553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230017315A KR102624551B1 (en) 2023-02-09 2023-02-09 A method for task-space compliance control of robot manipulator without rotational displacement constraints

Country Status (1)

Country Link
KR (1) KR102624551B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4022843B2 (en) * 1998-06-17 2007-12-19 株式会社安川電機 Robot control method and control apparatus
US20170014997A1 (en) * 2015-07-13 2017-01-19 Kuka Roboter Gmbh Controlling A Compliant-Controlled Robot
JP2017056558A (en) * 2017-01-06 2017-03-23 セイコーエプソン株式会社 robot
KR20200030568A (en) * 2017-08-04 2020-03-20 카와사키 주코교 카부시키 카이샤 Health monitoring system and health monitoring method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4022843B2 (en) * 1998-06-17 2007-12-19 株式会社安川電機 Robot control method and control apparatus
US20170014997A1 (en) * 2015-07-13 2017-01-19 Kuka Roboter Gmbh Controlling A Compliant-Controlled Robot
JP2017056558A (en) * 2017-01-06 2017-03-23 セイコーエプソン株式会社 robot
KR20200030568A (en) * 2017-08-04 2020-03-20 카와사키 주코교 카부시키 카이샤 Health monitoring system and health monitoring method

Similar Documents

Publication Publication Date Title
CN110035871B (en) System and method for indicating a robot
CN108883533B (en) Robot control
US10335946B2 (en) Compositional impedance programming for robots
Kim et al. A force reflected exoskeleton-type masterarm for human-robot interaction
KR20110041950A (en) Teaching and playback method using redundancy resolution control for manipulator
JP2014018912A (en) Robot control device, robot control method, robot control program and robot system
Liang et al. An augmented discrete-time approach for human-robot collaboration
Lambert et al. A novel parallel haptic device with 7 degrees of freedom
Widhiada et al. Design and control of three fingers motion for dexterous assembly of compliant elements
Bergamasco et al. Exoskeletons as man-machine interface systems for teleoperation and interaction in virtual environments
Perrusquía et al. Task space human-robot interaction using angular velocity Jacobian
CN114378809A (en) Singularity-free kinematic parameterization of soft robotic manipulators
Doll et al. The karlsruhe hand
Reis et al. Modeling and control of a multifingered robot hand for object grasping and manipulation tasks
KR102624551B1 (en) A method for task-space compliance control of robot manipulator without rotational displacement constraints
Kansal et al. Tele-operation of an industrial robot by an arm exoskeleton for peg-in-hole operation using immersive environments
Lane et al. Aspects of the design and development of a subsea dextrous grasping system
Chaudhary et al. Position analysis based approach for trajectory tracking control of scorbot-er-v plus robot manipulator
Salisbury Teleoperator hand design issues
Mima et al. Telemanipulation with a humanoid robot hand/arm between USA and Japan
Zheng et al. A mapping method of grasping posture applying to the metamorphic multi-fingered hand
Bouzgou et al. Virtual reality simulation and singularity analysis of 3-rrr translational parallel robot
Zhao et al. Human-robot kinematics mapping method based on dynamic equivalent points
Scarcia et al. Local online planning of coordinated manipulation motion
Zhong et al. Development of A master teleoperated manipulator for A hydraulic rescue robotic arm

Legal Events

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