KR102225348B1 - Coordinate specification system and method based on reference point for robot's attitude definition - Google Patents

Coordinate specification system and method based on reference point for robot's attitude definition Download PDF

Info

Publication number
KR102225348B1
KR102225348B1 KR1020200131104A KR20200131104A KR102225348B1 KR 102225348 B1 KR102225348 B1 KR 102225348B1 KR 1020200131104 A KR1020200131104 A KR 1020200131104A KR 20200131104 A KR20200131104 A KR 20200131104A KR 102225348 B1 KR102225348 B1 KR 102225348B1
Authority
KR
South Korea
Prior art keywords
coordinate system
axis
robot
reference point
calculation unit
Prior art date
Application number
KR1020200131104A
Other languages
Korean (ko)
Other versions
KR102225348B9 (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
Priority claimed from KR1020190136629A external-priority patent/KR102170592B1/en
Application filed by 주식회사 뉴로메카, 포항공과대학교 산학협력단 filed Critical 주식회사 뉴로메카
Priority to KR1020200131104A priority Critical patent/KR102225348B1/en
Application granted granted Critical
Publication of KR102225348B1 publication Critical patent/KR102225348B1/en
Publication of KR102225348B9 publication Critical patent/KR102225348B9/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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • 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/1651Programme controls characterised by the control loop acceleration, rate control
    • 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

Abstract

The present invention relates to a system for specifying a coordinate system based on a reference point for defining a robot posture. The present invention can comprise: a coordinate reception unit receiving information of three three-dimensional vectors from a user; a coordinate calculation unit determining a local coordinate system through a series of calculating process based on the three three-dimensional vectors, wherein the three-dimensional vectors are a position coordinate of a reference coordinate system based on a base of a robot module; and a direction control input calculation unit converting the local coordinate system into a position vector and a direction matrix to decide a moving direction of the robot module, wherein the local coordinate system is a relative coordinate system using an end part of the robot module as the origin.

Description

로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법{Coordinate specification system and method based on reference point for robot's attitude definition}Coordinate specification system and method based on reference point for robot's attitude definition

본 발명은 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법에 관한 것으로, 더욱 구체적으로는 기준점을 기반으로 좌표계를 특정함으로써 로봇의 자세를 정의할 수 있도록 하는 좌표계 특정 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for specifying a coordinate system based on a reference point for defining a robot posture, and more particularly, to a system and method for specifying a coordinate system to define a position of a robot by specifying a coordinate system based on a reference point.

로봇에 작업을 지시하기 위해서는 로봇 말단 부의 목표 자세 (위치 및 방향)를 정의해야 한다. 이 때, 로봇 말단의 위치는 직교 좌표계 상의 좌표 값을 통해 쉽게 정의될 수 있지만, 방향을 정의하는 것은 쉽지 않다.In order to instruct the robot to work, it is necessary to define the target posture (position and orientation) at the end of the robot. In this case, the position of the end of the robot can be easily defined through coordinate values on a Cartesian coordinate system, but it is not easy to define a direction.

3차원 공간에서 강체(rigid body)의 위치와 방향은 일반적으로 좌표계의 변위와 회전을 통해서 표현된다. 이와 같이 변위와 회전은 각각 변위벡터와 회전 행렬로 표현되며, 로봇의 동작을 위한 제어 입력으로 사용될 수 있다. 변위 벡터의 경우, 보편적으로 알려진 유클리드 기하학의 3차원 좌표 값을 통해서 정의가 가능하며, 회전 행렬의 경우 그 구성요소가 9개의 변수로 정의되는데, 이러한 행렬의 각 성분에 대한 값은 강체의 회전축과 회전 각도의 복잡한 계산을 통해서 결정되기 때문에 3차원 공간에서의 실제 회전으로부터 유추하는 것은 어려운 점이 있다.The position and direction of a rigid body in a three-dimensional space is generally expressed through displacement and rotation of a coordinate system. In this way, displacement and rotation are represented by a displacement vector and a rotation matrix, respectively, and can be used as control inputs for the operation of the robot. In the case of a displacement vector, it can be defined through the commonly known three-dimensional coordinate values of Euclidean geometry, and in the case of a rotation matrix, its constituent elements are defined by nine variables, and the values for each component of this matrix are the rotation axis of the rigid body and Since it is determined through a complex calculation of the rotation angle, it is difficult to infer from the actual rotation in 3D space.

기존에 널리 통용되는 오일러 각도(Euler angle)와 쿼터니언(Quaternion)의 경우 방향을 표현하는 파라미터가 복잡한 계산을 통해 결정되기 때문에 직관적이지 못하며, 결과적으로 관련지식이 없는 비전공자가 로봇을 활용하는데 걸림돌이 된다. In the case of Euler angle and quaternion, which are widely used in the past, it is not intuitive because the parameter expressing the direction is determined through complex calculations, and as a result, it is an obstacle for non-technical people without related knowledge to use the robot. .

따라서 보다 직관적으로 로봇 말단 부의 방향을 정의할 수 있는 사용자 친화적인 좌표계 정의 방법이 필요하다.Therefore, there is a need for a user-friendly method of defining a coordinate system that can more intuitively define the direction of the robot end.

대한민국 공개특허 제10-2015-0055008호Republic of Korea Patent Publication No. 10-2015-0055008

본 발명은 상술한 바와 같은 종래 기술의 문제점을 해결하기 위한 것으로, 로봇을 사용하는 사용자가 직관적으로 로봇의 위치와 방향을 결정하는 데 그 목적이 있다.The present invention is to solve the problems of the prior art as described above, and an object of the present invention is to intuitively determine the position and direction of the robot by a user who uses the robot.

또한, 로봇의 동작을 계획하여 용이하게 로봇의 작업을 지시하는데 그 목적이 있다.In addition, there is an object of planning the operation of the robot and instructing the operation of the robot easily.

상기 목적을 달성하기 위한 본 발명에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에 관한 것으로, 사용자로부터 3개의 3차원 벡터에 대한 정보를 수신하는 좌표 수신부; 상기 3차원 벡터는 로봇 모듈의 베이스를 기준으로 한 기준 좌표계의 위치 좌표이고, 3개의 상기 3차원 벡터를 기반으로 일련의 계산과정을 통해 로컬 좌표계를 결정하는 좌표 계산부; 및 상기 로컬 좌표계는 로봇 모듈의 말단부를 원점으로 한 상대적인 좌표계이며, 상기 로컬 좌표계를 위치벡터와 방향행렬로 변환하여 로봇 모듈의 이동 방향을 결정하는 방향 제어 입력 산출부;를 포함할 수 있다.A coordinate system specific system based on a reference point for defining a robot posture according to the present invention for achieving the above object, comprising: a coordinate receiving unit for receiving information on three 3D vectors from a user; The 3D vector is a position coordinate of a reference coordinate system based on a base of the robot module, and a coordinate calculation unit determining a local coordinate system through a series of calculation processes based on the three 3D vectors; And a direction control input calculator configured to determine a moving direction of the robot module by converting the local coordinate system into a position vector and a direction matrix, wherein the local coordinate system is a relative coordinate system having an end portion of the robot module as an origin.

여기서, 상기 좌표 계산부는 상기 로컬 좌표계에서 원점 x0과 원점을 제외한 어느 하나의 좌표 x1로 이루어진 제1축의 변위를 계산하는 제1축 계산부를 포함하는 것을 특징으로 한다.Here, the coordinate calculation unit may include a first axis calculation unit that calculates a displacement of a first axis consisting of an origin x 0 and any one coordinate x 1 excluding the origin in the local coordinate system.

또한, 상기 제1축 계산부는,

Figure 112020107293255-pat00001
의 수식으로 상기 제1축의 방향
Figure 112020107293255-pat00002
을 결정하는 것을 특징으로 한다.In addition, the first axis calculation unit,
Figure 112020107293255-pat00001
The direction of the first axis by the formula of
Figure 112020107293255-pat00002
It is characterized in that to determine.

또, 상기 좌표 계산부는 상기 로컬 좌표계에서 원점 x0과 원점을 제외한 어느 하나의 좌표 x2로 이루어진 제2축의 변위를 계산하는 제2축 계산부를 포함하는 것을 특징으로 한다.In addition, the coordinate calculation unit may include a second axis calculation unit that calculates a displacement of a second axis consisting of an origin x 0 and any one coordinate x 2 excluding the origin in the local coordinate system.

또한, 상기 제2축 계산부는,

Figure 112020107293255-pat00003
일 때,
Figure 112020107293255-pat00004
의 수식으로 상기 제2축의 방향
Figure 112020107293255-pat00005
을 결정하고, 상기 제1축의 방향
Figure 112020107293255-pat00006
과 상기 제2축의 방향
Figure 112020107293255-pat00007
은 항상 수직인 것을 특징으로 한다.In addition, the second axis calculation unit,
Figure 112020107293255-pat00003
when,
Figure 112020107293255-pat00004
The direction of the second axis by the formula of
Figure 112020107293255-pat00005
And the direction of the first axis
Figure 112020107293255-pat00006
And the direction of the second axis
Figure 112020107293255-pat00007
Is characterized by being always vertical.

아울러, 상기 제3축 계산부는 상기 제1축의 방향

Figure 112020107293255-pat00008
과 상기 제2축의 방향
Figure 112020107293255-pat00009
의 외적을 통해 제3축의 방향
Figure 112020107293255-pat00010
을 결정하는 것을 특징으로 한다.In addition, the third axis calculation unit is the direction of the first axis
Figure 112020107293255-pat00008
And the direction of the second axis
Figure 112020107293255-pat00009
Direction of the 3rd axis through the cross product of
Figure 112020107293255-pat00010
It is characterized in that to determine.

또한, 상기 방향 제어 입력 산출부는 상기 제1축의 방향

Figure 112020107293255-pat00011
과 상기 제2축의 방향
Figure 112020107293255-pat00012
및 상기 제3축의 방향
Figure 112020107293255-pat00013
을 기반으로 상기 로봇 모듈의 이동방향을 결정하기 위한 위치벡터(
Figure 112020107293255-pat00014
)와 방향행렬(
Figure 112020107293255-pat00015
)로 변환하는 것을 특징으로 한다.In addition, the direction control input calculation unit
Figure 112020107293255-pat00011
And the direction of the second axis
Figure 112020107293255-pat00012
And the direction of the third axis
Figure 112020107293255-pat00013
Based on the position vector for determining the moving direction of the robot module (
Figure 112020107293255-pat00014
) And direction matrix (
Figure 112020107293255-pat00015
).

한편, 상기 목적을 달성하기 위한 본 발명에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 방법에 관한 것으로, 좌표 수신부가 사용자로부터 3개의 3차원 벡터에 대한 정보를 수신하는 단계; 상기 3차원 벡터는 로봇 모듈의 베이스를 기준으로 한 기준 좌표계의 위치 좌표이고, 좌표 계산부가 3개의 상기 3차원 벡터를 기반으로 일련의 계산과정을 통해 로컬 좌표계를 결정하는 단계; 및 상기 로컬 좌표계는 로봇 모듈의 말단부를 원점으로 한 상대적인 좌표계이며, 방향 제어 입력 산출부가 상기 로컬 좌표계를 위치벡터와 방향행렬로 변환하여 로봇 모듈의 이동 방향을 결정하는 단계;를 포함할 수 있다.Meanwhile, the present invention relates to a method for specifying a coordinate system based on a reference point for defining a robot posture according to the present invention for achieving the above object, the method comprising: receiving, by a coordinate receiving unit, information on three 3D vectors from a user; The 3D vector is a position coordinate of a reference coordinate system based on a base of the robot module, and determining a local coordinate system through a series of calculation processes based on the three 3D vectors by a coordinate calculator; And determining a moving direction of the robot module by converting the local coordinate system into a position vector and a direction matrix by a direction control input calculating unit, wherein the local coordinate system is a relative coordinate system having an end portion of the robot module as an origin.

본 발명에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법은 다음과 같은 효과가 있다.The system and method for specifying a coordinate system based on a reference point for defining a robot posture according to the present invention have the following effects.

첫째, 일반적으로 통용되는 오일러 각도나 쿼터니언에 비해 더욱 직관적으로 로봇의 위치와 방향을 정의할 수 있다. 사용자가 로봇에 행동을 입력할 때, 단순히 말단부를 특정 위치로 옮기는 명령의 경우에는 변위 벡터와 회전 행렬만을 제공하면 된다. 하지만 최종 목표 위치까지 로봇이 이동하는 과정에서 로봇이 특정 속도를 준수하며 이동하기를 바라는 경우에는 모든 순간에 로봇의 변위와 회전뿐만 아니라 속도와 회전 속도, 가속도와 회전 가속도를 정의해주어야 하는데, 이 때 회전 속도와 회전 가속도의 정의는 사용자에게 있어 앞에서의 회전의 정의보다 더욱 어려운 일이다. 따라서 본 발명에서는 기준점 기반의 좌표계를 특정하는 방법을 통해 로봇 말단부의 회전 속도와 회전 가속도를 정의함에 따라 로봇의 위치와 방향을 용이하게 정의할 수 있다.First, compared to commonly used Euler angles or quaternions, the position and direction of the robot can be more intuitively defined. When the user inputs an action to the robot, in the case of a command that simply moves the distal end to a specific position, only the displacement vector and the rotation matrix are provided. However, in the process of moving the robot to the final target position, if you want the robot to move while complying with a specific speed, you must define not only the displacement and rotation of the robot, but also the speed and rotational speed, acceleration and rotational acceleration at every moment. The definition of rotation speed and rotation acceleration is more difficult for the user than the previous definition of rotation. Accordingly, in the present invention, the position and direction of the robot can be easily defined by defining the rotational speed and rotational acceleration of the distal end of the robot through a method of specifying a reference point-based coordinate system.

둘째, 3차원 공간상에서 로봇 말단 부의 위치와 방향을 정의하기 위한 알고리즘을 사용하여 로봇을 사용하는 사용자가 직관적으로 로봇의 위치와 방향을 결정할 수 있기 때문에 용이하게 로봇의 동작을 계획하여 로봇의 작업을 지시할 수 있다.Second, by using an algorithm to define the position and direction of the end of the robot in a three-dimensional space, the user using the robot can intuitively determine the position and direction of the robot, so it is easy to plan the operation of the robot and perform the operation of the robot. I can dictate.

셋째, 파라미터로부터 로봇의 자세를 용이하게 유추할 수 있으며, 반대로 사용자가 원하는 임의의 로봇 자세를 입력하기 위해 별도의 계산과정을 생략할 수 있다.Third, the robot's posture can be easily inferred from the parameters, and on the contrary, a separate calculation process can be omitted to input an arbitrary robot posture desired by the user.

도1은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 로봇 모듈의 사시도를 개략적으로 나타낸 도면이다.
도2는 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템의 구성을 나타낸 블록도이다.
도3은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 방법의 순서도이다.
도4는 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 첫 번째 기준점 위치를 특정 또는 결정하는 것을 개략적으로 나타낸 도면이다.
도5는 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 두 번째 기준점 위치를 특정 또는 결정하는 것을 개략적으로 나타낸 도면이다.
도6은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 세 번째 기준점 위치를 특정 또는 결정하는 것을 개략적으로 나타낸 도면이다.
도7은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 연속적인 작업을 위해 로봇 모듈의 이동방향의 궤적을 형성하는 것을 개략적으로 나타낸 도면이다.
1 is a diagram schematically showing a perspective view of a robot module in a coordinate system specific system based on a reference point for defining a robot posture according to an embodiment of the present invention.
2 is a block diagram showing the configuration of a coordinate system specific system based on a reference point for defining a robot posture according to an embodiment of the present invention.
3 is a flowchart of a method for specifying a coordinate system based on a reference point for defining a robot posture according to an embodiment of the present invention.
4 is a diagram schematically illustrating specifying or determining a position of a first reference point in a coordinate system specific system based on a reference point for defining a robot posture according to an embodiment of the present invention.
5 is a diagram schematically illustrating specifying or determining a position of a second reference point in a coordinate system specific system based on a reference point for defining a robot posture according to an embodiment of the present invention.
6 is a diagram schematically illustrating specifying or determining a position of a third reference point in a coordinate system specific system based on a reference point for defining a robot posture according to an embodiment of the present invention.
7 is a diagram schematically illustrating the formation of a trajectory in a moving direction of a robot module for continuous work in a coordinate system specific system based on a reference point for defining a robot posture according to an embodiment of the present invention.

이하에서는 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 다만 발명의 요지와 무관한 일부 구성은 생략 또는 압축할 것이나, 생략된 구성이라고 하여 반드시 본 발명에서 필요가 없는 구성은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 결합되어 사용될 수 있다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. However, some configurations irrelevant to the gist of the invention will be omitted or compressed, but the omitted configuration is not necessarily a configuration that is not necessary in the present invention, and will be combined and used by a person having ordinary knowledge in the technical field to which the present invention belongs. I can.

도1은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 로봇 모듈(500)의 사시도를 개략적으로 나타낸 도면이고, 도2는 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템의 구성을 나타낸 블록도이다.1 is a diagram schematically showing a perspective view of a robot module 500 in a coordinate system specific system based on a reference point for defining a robot posture according to an embodiment of the present invention, and FIG. 2 is a diagram illustrating a robot posture definition according to an embodiment of the present invention. It is a block diagram showing the configuration of a coordinate system specific system based on a reference point.

도1 내지 도2에 도시된 바와 같이, 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템은 좌표 수신부(100), 좌표 계산부(200) 및 방향 제어 입력 산출부(300)를 포함할 수 있다.1 to 2, a coordinate system specific system based on a reference point for defining a robot posture according to an embodiment of the present invention includes a coordinate receiving unit 100, a coordinate calculating unit 200, and a direction control input calculating unit 300. ) Can be included.

좌표 수신부(100)는 사용자로부터 세 개의 기준점의 위치를 입력받는 구성이다. 즉, 좌표 수신부(100)는 사용자로부터 x0, x1, x2로 구성된 3개의 3차원 벡터에 대한 정보를 수신할 수 있다. 본 발명에서 사용자의 목적에 따라 로봇 몸체 또는 로봇 모듈(500)이 특정 자세를 취하도록 하기 위해서는 로봇 모듈(500)의 말단부(end-effector)의 위치와 방향을 특정 또는 결정하여야 한다. 일반적으로, 로봇 모듈(500)의 위치는 3차원 공간상에서 하나의 점으로 표현, 즉 로컬 좌표계로 표현될 수 있으며, 이는 직교 좌표계의 좌표값을 통하여 결정할 수 있다. 따라서 본 발명에서는 추가적으로 2개의 점에 대한 위치를 결정함으로써 로봇 모듈(500)의 말단부의 방향까지 결정할 수 있도록 한다.The coordinate receiver 100 is a component that receives the positions of three reference points from a user. That is, the coordinate receiver 100 may receive information on three 3D vectors composed of x 0, x 1, and x 2 from the user. In the present invention, in order for the robot body or the robot module 500 to take a specific posture according to the user's purpose, the position and direction of the end-effector of the robot module 500 must be specified or determined. In general, the position of the robot module 500 may be expressed as a point in a three-dimensional space, that is, a local coordinate system, which may be determined through coordinate values of a Cartesian coordinate system. Therefore, in the present invention, by determining the positions of additional two points, the direction of the distal end of the robot module 500 can be determined.

좌표 계산부(200)는 3개의 3차원 벡터를 기반으로 한 로컬 좌표계로 변위를 계산하는 구성이다. 이러한 좌표 계산부(200)는 제1축 계산부(210), 제2축 계산부(220)를 포함할 수 있다. 본 발명에서는 로봇 모듈(500)의 말단부가 하나의 로컬 좌표계로 표현될 수 있다. 이에 따라, 로봇 모듈(500)의 말단부에 대해 로컬 좌표계를 특정 또는 결정하기 위해서 앞서 사용자로부터 3개의 3차원 벡터에 대한 정보를 수신한다고 설명하였다. 각 기준점의 위치 좌표는 로봇 모듈(500)의 기준 좌표계, 즉 로봇 모듈(500)의 베이스를 기준으로 한 위치이며, 각 기준점은 순서대로 로컬 좌표계에서 로봇 모듈(500)의 말단부의 원점, 제1축 및 제2축을 결정하게 하는 요소들이다. 이 때 3개의 3차원 벡터는 일직선상에 존재하지 않는다.The coordinate calculation unit 200 is a component that calculates displacement in a local coordinate system based on three 3D vectors. The coordinate calculation unit 200 may include a first axis calculation unit 210 and a second axis calculation unit 220. In the present invention, the distal end of the robot module 500 may be expressed in one local coordinate system. Accordingly, in order to specify or determine a local coordinate system for the distal end of the robot module 500, it has been described that information on three 3D vectors is received from the user. The position coordinates of each reference point are the reference coordinate system of the robot module 500, that is, a position based on the base of the robot module 500, and each reference point is the origin of the distal end of the robot module 500 in the local coordinate system in order, and the first These are the factors that determine the axis and the second axis. At this time, three 3D vectors do not exist on a straight line.

여기서, 제1축 계산부(210)는 로컬 좌표계의 원점이 사용자로부터 수신한 x0에 일치된 상태에서 x0에서 x1 까지 제1축의 변위를 계산하여 제1축의 방향

Figure 112020107293255-pat00016
을 결정할 수 있다. 즉, 아래의 수식으로 계산될 수 있다.Here, the first axis calculation unit 210 is in a state in which the origin of the local coordinate system coincides with x 0 received from the user. at x 0 The direction of the first axis by calculating the displacement of the first axis up to x 1
Figure 112020107293255-pat00016
Can be determined. That is, it can be calculated by the following equation.

Figure 112020107293255-pat00017
Figure 112020107293255-pat00017

여기서, 제1축은 z축으로 지칭될 수 있다. Here, the first axis may be referred to as the z axis.

또한, 제2축 계산부(220)는 제1축 계산부(210)와 동일하게 로컬 좌표계의 원점이 사용자로부터 수신한 x0에 일치된 상태에서 x0에서 x2 까지 제2축의 변위를 계산하여 제2축의 방향을 결정할 수 있다. 여기서, 제2축은 x축으로 지칭될 수 있다. 아울러, 로컬 좌표계에서 z축과 x축은 항상 수직이어야 한다. 따라서 제2축 계산부(220)는 앞서 제1축 계산부(210)가 제1축의 방향

Figure 112020107293255-pat00018
을 계산한 부분에서 제1축의 방향
Figure 112020107293255-pat00019
의 수직한 성분만을 계산하여 로컬 좌표계의 제2축 방향
Figure 112020107293255-pat00020
을 계산할 수 있다. 즉, 아래의 수식으로 계산될 수 있다.In addition, the second axis calculation unit 220, in the same manner as the first axis calculation unit 210, in a state in which the origin of the local coordinate system coincides with x 0 received from the user. at x 0 By calculating the displacement of the second axis up to x 2 , the direction of the second axis can be determined. Here, the second axis may be referred to as the x axis. In addition, the z-axis and x-axis must always be vertical in the local coordinate system. Therefore, the second axis calculation unit 220 is the first axis calculation unit 210 in the direction of the first axis.
Figure 112020107293255-pat00018
The direction of the first axis in the calculated part
Figure 112020107293255-pat00019
The direction of the second axis of the local coordinate system by calculating only the vertical component of
Figure 112020107293255-pat00020
Can be calculated. That is, it can be calculated by the following equation.

Figure 112020107293255-pat00021
일 때,
Figure 112020107293255-pat00022
Figure 112020107293255-pat00021
when,
Figure 112020107293255-pat00022

제3축 계산부(230)는 제1축의 방향

Figure 112020107293255-pat00023
과 상기 제2축의 방향
Figure 112020107293255-pat00024
의 외적을 통해 제3축의 방향
Figure 112020107293255-pat00025
을 결정하는 구성이다. 즉, 제3축 계산부(230)는 제1축 계산부(210)가 계산한 변위와 제2축 계산부(220)가 계산한 변위를 기반으로 제1축의 방향
Figure 112020107293255-pat00026
과 상기 제2축의 방향
Figure 112020107293255-pat00027
의 외적, 즉
Figure 112020107293255-pat00028
을 통해 제3축의 방향
Figure 112020107293255-pat00029
를 결정할 수 있다.The third axis calculation unit 230 is the direction of the first axis
Figure 112020107293255-pat00023
And the direction of the second axis
Figure 112020107293255-pat00024
Direction of the 3rd axis through the cross product of
Figure 112020107293255-pat00025
It is the configuration that determines. That is, the third axis calculating unit 230 is based on the displacement calculated by the first axis calculating unit 210 and the displacement calculated by the second axis calculating unit 220
Figure 112020107293255-pat00026
And the direction of the second axis
Figure 112020107293255-pat00027
The external product of
Figure 112020107293255-pat00028
Direction of the 3rd axis through
Figure 112020107293255-pat00029
Can be determined.

방향 제어 입력 산출부(300)는 좌표 계산부(200)가 계산한 변위를 기반으로 위치벡터와 방향행렬로 변환하여 로봇 모듈(500) 말단부의 이동 방향을 결정하는 구성이다. 이러한 방향 제어 입력 산출부(300)는 로컬 좌표계를 로봇 모듈(500)의 말단부의 자세 및 방향을 결정하기 위해 위치벡터 t 및 방향행렬 R로 변환시킬 수 있다. 여기서, 위치벡터 t와 방향행렬 R은 아래와 같이 표현될 수 있다.The direction control input calculation unit 300 is configured to determine the moving direction of the end of the robot module 500 by converting the position vector and the direction matrix based on the displacement calculated by the coordinate calculation unit 200. The direction control input calculation unit 300 may convert the local coordinate system into a position vector t and a direction matrix R in order to determine the posture and direction of the distal end of the robot module 500. Here, the position vector t and the direction matrix R can be expressed as follows.

Figure 112020107293255-pat00030
,
Figure 112020107293255-pat00031
Figure 112020107293255-pat00030
,
Figure 112020107293255-pat00031

아울러, 도면에 도시되지는 않았으나, 추가로 제어부(미도시)가 구비될 수 있다. 이러한 제어부는 결정된 로봇 모듈(500)의 방향에 따라 로봇 모듈(500)의 행동을 제어하는 구성이다.In addition, although not shown in the drawings, a control unit (not shown) may be additionally provided. This control unit is a component that controls the behavior of the robot module 500 according to the determined direction of the robot module 500.

이하에서는 도면을 참고하여 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 방법에 관하여 구체적으로 설명하기로 한다.Hereinafter, a method for specifying a coordinate system based on a reference point for defining a robot posture will be described in detail with reference to the drawings.

도3은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 방법의 순서도이다.3 is a flowchart of a method for specifying a coordinate system based on a reference point for defining a robot posture according to an embodiment of the present invention.

도3에 도시된 바와 같이, 최초에 좌표 수신부(100)가 사용자로부터 3개의 3차원 벡터에 대한 정보를 수신한다.<S30>As shown in Fig. 3, the coordinate receiving unit 100 initially receives information on three 3D vectors from the user. <S30>

이후 좌표 계산부(200)가 3개의 상기 3차원 벡터를 기반으로 일련의 계산과정을 통해 로컬 좌표계를 결정한다.<S31>Thereafter, the coordinate calculation unit 200 determines a local coordinate system through a series of calculation processes based on the three 3D vectors.

방향 제어 입력 산출부(300)가 로컬 좌표계를 위치벡터와 방향행렬로 변환하여 로봇 모듈의 이동 방향을 결정한다.<S32>The direction control input calculation unit 300 determines the moving direction of the robot module by converting the local coordinate system into a position vector and a direction matrix.

이와 같은 단계들에 대하여 도4, 도5 및 도6을 통해 구체적으로 설명하기로 한다. 먼저 도4를 참고하여 첫 번째 기준점 위치를 특정 또는 결정하는 것을 설명하기로 한다.These steps will be described in detail with reference to FIGS. 4, 5 and 6. First, a description will be made of specifying or determining the position of the first reference point with reference to FIG. 4.

도4는 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 첫 번째 기준점 위치를 특정 또는 결정하는 것을 개략적으로 나타낸 도면이다.4 is a diagram schematically illustrating specifying or determining a position of a first reference point in a coordinate system specific system based on a reference point for defining a robot posture according to an embodiment of the present invention.

먼저 사용자의 목적에 따라 로봇 모듈(500)이 특정 자세를 취하도록 하기 위해서는 로봇 모듈(500)의 말단부의 위치와 방향을 특정 또는 결정해야 한다. 통상적으로, 로봇 모듈(500)의 위치는 3차원 공간상에서 하나의 점으로 표현될 수 있기 때문에 직교 좌표계의 좌표값을 통하여 특정 또는 결정할 수 있음을 앞서 설명하였다. 이에 따라 본 발명에서는 하나의 점의 위치에 추가로 2개의 점의 위치를 더 특정 또는 결정함으로써 로봇 모듈(500)의 말단부가 향하는 방향까지 특정할 수 있다.First, in order for the robot module 500 to take a specific posture according to the user's purpose, the position and direction of the distal end of the robot module 500 must be specified or determined. Typically, since the position of the robot module 500 can be expressed as a single point in a three-dimensional space, it has been described above that it can be specified or determined through a coordinate value of a Cartesian coordinate system. Accordingly, in the present invention, by further specifying or determining the positions of two points in addition to the position of one point, a direction toward the distal end of the robot module 500 may be specified.

도4에 도시된 바와 같이, 첫 번째 기준점의 위치를 특정 또는 결정하는 것은 사용자로부터 수신한 3개의 기준점의 위치, 즉 3개의 벡터 x0, x1, x2를 기준으로 로컬 좌표계에서 표현될 수 있다. 즉, 로봇 모듈(500)의 말단부는 하나의 로컬 좌표계로 표현될 수 있다. 이와 같이 첫 번째 기준점은 로봇 모듈(500)의 말단부에 대한 위치, 즉 로컬 좌표계의 원점을 결정하는 것이다.As shown in Fig. 4, specifying or determining the location of the first reference point is the location of 3 reference points received from the user, that is, 3 vectors x 0 , x 1 , It can be expressed in the local coordinate system based on x 2. That is, the distal end of the robot module 500 may be expressed in one local coordinate system. As such, the first reference point is to determine the position of the distal end of the robot module 500, that is, the origin of the local coordinate system.

기준점의 위치 좌표는 로봇 모듈(500)의 기준 좌표계, 즉, 로봇 모듈(500)의 베이스를 기준으로 한 위치이며, 첫 번째 기준점으로부터 z축과 x축, z축과 x축의 외적으로 이루어진 y축은 다수로 가능할 수 있다.The position coordinate of the reference point is a reference coordinate system of the robot module 500, that is, a position based on the base of the robot module 500, and the y-axis formed externally of the z-axis and x-axis, and the z-axis and x-axis from the first reference point is It can be possible in many ways.

여기서, 로컬 좌표계의 원점은 로봇 모듈(500)의 말단부의 위치를 의미하며, 사용자로부터 주어진 x0 로컬 좌표계의 원점을 일치시켜 로봇 모듈(500)의 말단부를 위치를 특정 또는 결정할 수 있다.Here, the origin of the local coordinate system refers to the position of the end of the robot module 500, and x0on By matching the origin of the local coordinate system, the position of the distal end of the robot module 500 may be specified or determined.

또한, 도5를 참고하여 두 번째 기준점 위치를 특정 또는 결정하는 것을 설명하기로 한다.In addition, specifying or determining the position of the second reference point will be described with reference to FIG. 5.

도5는 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 두 번째 기준점 위치를 특정 또는 결정하는 것을 개략적으로 나타낸 도면이다.5 is a diagram schematically illustrating specifying or determining a position of a second reference point in a coordinate system specific system based on a reference point for defining a robot posture according to an embodiment of the present invention.

도5에 도시된 바와 같이, 두 번째 기준점의 위치를 특정 또는 결정하는 것은 마찬가지로 사용자로부터 수신한 3개의 벡터를 기준으로 로컬 좌표계에서 표현될 수 있다. 즉, 두 번째 기준점인 x1은 첫 번째 기준점 x0 로부터 제1축 계산부(210)가 변위를 계산하여 로컬 좌표계의 z축 방향인

Figure 112020107293255-pat00032
을 특정 또는 결정하는데 이용될 수 있다. 이 때 제1축 계산부(210)가 변위를 계산하는 수식은 아래와 같이 수식을 이용하여 계산할 수 있다.As shown in FIG. 5, specifying or determining the position of the second reference point may likewise be expressed in a local coordinate system based on three vectors received from the user. That is, the second reference point x 1 is the first axis calculation unit 210 calculates the displacement from the first reference point x 0 , and is the z-axis direction of the local coordinate system.
Figure 112020107293255-pat00032
Can be used to specify or determine. In this case, the equation for calculating the displacement by the first axis calculator 210 may be calculated using an equation as follows.

Figure 112020107293255-pat00033
Figure 112020107293255-pat00033

z축 방향이 결정된 이후에는 z축의 방향에 따라 가능한 y축의 개수가 줄어들게 된다.After the z-axis direction is determined, the number of possible y-axis decreases according to the z-axis direction.

아울러, 도6을 참고하여 세 번째 기준점 위치를 특정 또는 결정하는 것을 설명하기로 한다.In addition, specifying or determining the position of the third reference point will be described with reference to FIG. 6.

도6은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 세 번째 기준점 위치를 특정 또는 결정하는 것을 개략적으로 나타낸 도면이다.6 is a diagram schematically illustrating specifying or determining a position of a third reference point in a coordinate system specific system based on a reference point for defining a robot posture according to an embodiment of the present invention.

도6에 도시된 바와 같이, 세 번째 기준점의 위치를 특정 또는 결정하는 것은 마찬가지로 사용자로부터 수신한 3개의 벡터를 기준으로 로컬 좌표계에서 표현될 수 있다. 즉, 세 번째 기준점인 x2는 첫 번째 기준점 x0로부터 제2축 계산부(220)가 변위를 계산하여 로컬 좌표계의 x축 방향인

Figure 112020107293255-pat00034
을 특정 또는 결정하는데 이용될 수 있다.As shown in FIG. 6, specifying or determining the position of the third reference point may be expressed in a local coordinate system based on three vectors received from the user. That is, the third reference point x 2 is the second axis calculation unit 220 calculates the displacement from the first reference point x 0 , and is the x-axis direction of the local coordinate system.
Figure 112020107293255-pat00034
Can be used to specify or determine.

x2는 x1과 같이 x0로부터 제2축 계산부(220)가 변위를 계산하기는 하나, 로컬 좌표계에서 z축과 x축이 항상 수직이어야 하기 때문에 앞서 계산된

Figure 112020107293255-pat00035
에서 수직한 성분만을 계산하여 로컬 좌표계의 x축의 방향
Figure 112020107293255-pat00036
을 계산할 수 있다.x 2 is the second axis computing section 220 from the x 0 as x 1 to calculate the shift by one, before calculation because the z axis and the x-axis in the local coordinate system to be always perpendicular
Figure 112020107293255-pat00035
The direction of the x-axis of the local coordinate system by calculating only the component perpendicular to
Figure 112020107293255-pat00036
Can be calculated.

이 때 제2축 계산부(220)가 변위를 계산하는 수식은 아래와 같이 수식을 이용하여 계산할 수 있다.In this case, the equation for calculating the displacement by the second axis calculator 220 may be calculated using an equation as follows.

Figure 112020107293255-pat00037
일 때,
Figure 112020107293255-pat00038
Figure 112020107293255-pat00037
when,
Figure 112020107293255-pat00038

이와 같이 로컬 좌표계의 x축의 방향과 z축의 방향이 결정되면, 제3축 계산부(230)가

Figure 112020107293255-pat00039
Figure 112020107293255-pat00040
의 외적을 통해 단 하나의 y축의 방향인
Figure 112020107293255-pat00041
을 결정할 수 있고, 이를 도6과 같이 도시할 수 있다. 이 때
Figure 112020107293255-pat00042
Figure 112020107293255-pat00043
의 식을 사용하여 외적이 계산될 수 있다.When the direction of the x-axis and the z-axis of the local coordinate system are determined in this way, the third axis calculation unit 230
Figure 112020107293255-pat00039
And
Figure 112020107293255-pat00040
Which is the direction of only one y-axis through the cross product of
Figure 112020107293255-pat00041
May be determined, and this may be illustrated as shown in FIG. 6. At this time
Figure 112020107293255-pat00042
silver
Figure 112020107293255-pat00043
The cross product can be calculated using the equation

앞선 과정을 통해 특정 또는 결정된 로봇 모듈(500)의 말단부에 관한 로컬 좌표계는 로봇 모듈(500)의 말단부가 자세를 특정 또는 결정하기 위해 방향 제어 입력 산출부(300)가 위치벡터 t와 방향행렬 R로 변환할 수 있으며, 이러한 위치벡터 t와 방향행렬 R이 제어부에 입력되어 로봇 모듈(500)이 해당 방향으로 이동할 수 있도록 한다. 위치벡터 t와 방향행렬 R은 아래와 같이 표현될 수 있다.In the local coordinate system for the distal end of the robot module 500 specified or determined through the preceding process, the direction control input calculation unit 300 uses the position vector t and the direction matrix R to specify or determine the posture at the distal end of the robot module 500. And the position vector t and the direction matrix R are input to the control unit so that the robot module 500 can move in the corresponding direction. The position vector t and the direction matrix R can be expressed as follows.

Figure 112020107293255-pat00044
,
Figure 112020107293255-pat00045
Figure 112020107293255-pat00044
,
Figure 112020107293255-pat00045

이하에서는 로봇 모듈(500)이 연속적인 작업을 수행하기 위해 이동방향에 대한 궤적을 형성하는 것을 도7을 통해 설명하기로 한다.Hereinafter, it will be described with reference to FIG. 7 that the robot module 500 forms a trajectory for a moving direction in order to perform a continuous operation.

도7은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 연속적인 작업을 위해 로봇 모듈(500)의 이동방향의 궤적을 형성하는 것을 개략적으로 나타낸 도면이다.7 is a diagram schematically showing the formation of a trajectory in the moving direction of the robot module 500 for continuous work in a coordinate system specific system based on a reference point for defining a robot posture according to an embodiment of the present invention.

도7에 도시된 바와 같이, 본 발명에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템은 정지된 특정 자세를 표현하는 것뿐만 아니라 기준점의 연속적인 이동방향에 대한 궤적을 통해서 로봇 모듈(500)의 연속적인 움직임을 특정 또는 결정할 수 있다.As shown in Fig. 7, the reference point-based coordinate system specific system for defining a robot posture according to the present invention not only expresses a stationary specific posture, but also provides a robot module 500 through a trajectory for a continuous moving direction of the reference point. You can specify or determine the successive movements of.

도7에서는 기준 좌표계를 기반으로 로컬 좌표계를 형성하고 있다. 로컬 좌표계는 x0, x1, x2로 형성될 수 있다. 여기서, 파라미터 s값에 따라서 각 기준점의 위치가 결정될 때, 로봇 모듈(500)의 자세는 기준점

Figure 112020107293255-pat00046
,
Figure 112020107293255-pat00047
,
Figure 112020107293255-pat00048
에 의해서 결정될 수 있다.In FIG. 7, a local coordinate system is formed based on a reference coordinate system. The local coordinate system may be formed of x 0 , x 1 , and x 2. Here, when the position of each reference point is determined according to the parameter s value, the attitude of the robot module 500 is the reference point
Figure 112020107293255-pat00046
,
Figure 112020107293255-pat00047
,
Figure 112020107293255-pat00048
Can be determined by

이 때 사용자가 이미 계획된 로봇 모듈(500)의 움직임을 수정하기를 원할 경우에는 해당 기준점의 이동방향에 대한 궤적을 직접적으로 변경하여 로봇의 궤적을 수정할 수 있다.In this case, if the user desires to correct the movement of the robot module 500 that has already been planned, the trajectory of the robot may be corrected by directly changing the trajectory of the moving direction of the reference point.

도7에서는 이러한 기준점의 이동방향에 대한 궤적이 수정된 것을 확인할 수 있다. 즉, 기존에는

Figure 112020107293255-pat00049
에 대한 궤적으로 이동방향에 결정되었으나, 차후 사용자가
Figure 112020107293255-pat00050
와 같이 변경하여 기준점의 이동방향에 대한 궤적이 수정된 것을 확인할 수 있다.In FIG. 7, it can be seen that the trajectory of the reference point in the moving direction is modified. In other words, in the past
Figure 112020107293255-pat00049
The trajectory for is determined in the direction of movement, but the user
Figure 112020107293255-pat00050
It can be confirmed that the trajectory for the moving direction of the reference point has been modified by changing it as described above.

이하에서는 로봇 모듈(500) 말단부의 회전 속도 및 회전 가속도에 대한 정의하여 계산하는 것을 설명하기로 한다.Hereinafter, the calculation of the rotational speed and rotational acceleration of the distal end of the robot module 500 will be described.

3차원 공간에서 로봇 모듈(500)의 말단부에 관한 위치와 방향은 일반적으로 좌표계의 변위와 회전을 통해서 표현된다. 즉, 변위는 변위 벡터

Figure 112020107293255-pat00051
, 회전은 회전 행렬
Figure 112020107293255-pat00052
로 표현될 수 있다. 이러한 변위 벡터와 회전 행렬은 로봇 모듈(500)의 동작을 위한 제어 입력으로 사용될 수 있다.The position and direction of the distal end of the robot module 500 in the three-dimensional space are generally expressed through displacement and rotation of the coordinate system. In other words, the displacement is the displacement vector
Figure 112020107293255-pat00051
, Rotation is a rotation matrix
Figure 112020107293255-pat00052
It can be expressed as The displacement vector and the rotation matrix may be used as control inputs for the operation of the robot module 500.

이 때 변위 벡터의 경우, 보편적으로 알려진 유클리드 기하학의 3차원 좌표 값을 통해서 정의가 가능하고, 직관적으로 이해하기 쉽다. 반면, 회전 행렬의 경우 그 구성요소가 9개의 변수로 정의되고, 특히 행렬의 각 성분 값은 로봇 모듈(500)의 말단부에 대한 회전축과 회전 각도의 복잡한 계산(삼각함수 계산)을 통해서 결정되기 때문에 그 값을 3차원 공간에서의 실제 회전으로부터 유추하기 어려운 점이 있다.In this case, the displacement vector can be defined through the universally known three-dimensional coordinate values of Euclidean geometry, and is intuitively easy to understand. On the other hand, in the case of a rotation matrix, its components are defined by nine variables, and in particular, each component value of the matrix is determined through a complex calculation (trigonometric function calculation) of the rotation axis and rotation angle for the distal end of the robot module 500. It is difficult to infer the value from the actual rotation in three-dimensional space.

또한, 로봇에 원하는 동작을 입력하기 위해 위의 회전 속도 벡터와 회전 가속도 벡터를 직접 계산하는 것은 지금까지 기술된 강체의 움직임에 대한 이해를 요구하며, 매우 번거로운 일이다. 종래의 회전 정의 방법인 Euler angle과 Quaternion을 사용하였을 때 속도에 해당하는 물리량을 따로 정의하고 함수를 작성하여 회전 속도 벡터와 회전 가속도 벡터를 계산할 수 있지만, 회전을 정의하는 것조차도 직관적이지 않은 상황에서 이의 속도와 가속도를 계산하는 것은 사용자에게 더욱 큰 부담이 된다. In addition, calculating the rotational velocity vector and rotational acceleration vector directly in order to input the desired motion into the robot requires an understanding of the motion of the rigid body described so far, and is very cumbersome. When using the conventional rotation definition methods Euler angle and Quaternion, the rotational velocity vector and rotational acceleration vector can be calculated by separately defining the physical quantity corresponding to the velocity and writing a function, but even defining the rotation is not intuitive. Calculating its speed and acceleration is an even greater burden on the user.

따라서 3차원 공간에서 로봇 모듈(500)의 말단부에 대한 회전을 정의하기 위해서 본 발명에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법은 로봇 모듈(500)의 말단부에 대한 회전과 회전 속도 및 회전 가속도를 정의하는데 매우 효과적으로 사용될 수 있다.Therefore, in order to define the rotation about the distal end of the robot module 500 in the three-dimensional space, the reference point-based coordinate system specific system and method for defining the robot posture according to the present invention is the rotation and rotation speed of the distal end of the robot module 500. And can be used very effectively to define rotational acceleration.

예를 들어, 사용자가 로봇에 행동을 입력할 때 단순히 로봇 모듈(500)의 말단부를 특정 위치로 옮기는 명령의 경우에는 변위 벡터와 회전 행렬만을 제공하면 된다. 하지만 최종 목표 위치까지 로봇이 이동하는 과정에서 로봇이 특정 속도를 준수하며 이동하기를 바라는 경우에는 모든 순간에 로봇의 변위와 회전뿐만 아니라 속도와 회전 속도, 가속도와 회전 가속도를 정의해주어야 하는데, 본 발명에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법이 효과적으로 사용될 수 있다.For example, in the case of a command for simply moving the distal end of the robot module 500 to a specific position when the user inputs an action to the robot, only the displacement vector and the rotation matrix need to be provided. However, in the process of moving the robot to the final target position, if you want the robot to move while complying with a specific speed, you must define not only the displacement and rotation of the robot, but also the speed and rotational speed, acceleration and rotational acceleration at every moment. A reference point-based coordinate system specific system and method for defining a robot posture according to the method can be effectively used.

여기서, 로봇 모듈(500)의 말단부에 대한 회전 속도 및 회전 가속도는 속도 계산부(400)가 계산할 수 있다.Here, the rotational speed and rotational acceleration of the distal end of the robot module 500 may be calculated by the speed calculation unit 400.

속도 계산부(400)는 회전 속도 및 회전 가속도를 행렬로 정의하여 계산하는 구성이다. 즉, 속도 계산부(400)는 회전속도 행렬

Figure 112020107293255-pat00053
를 아래와 같이 정의할 수 있다.The speed calculation unit 400 is a component that defines and calculates a rotation speed and a rotation acceleration as a matrix. That is, the speed calculation unit 400 is a rotation speed matrix
Figure 112020107293255-pat00053
Can be defined as follows.

Figure 112020107293255-pat00054
Figure 112020107293255-pat00054

여기서,

Figure 112020107293255-pat00055
은 회전 행렬 R의 각 성분을 미분한 값이다. 이 때
Figure 112020107293255-pat00056
은 아래와 같이 항상 반 대칭 행렬(skew-symmetric)의 형태를 갖기 때문에 행렬
Figure 112020107293255-pat00057
는 회전 속도 벡터 (
Figure 112020107293255-pat00058
)로 압축되어 표현될 수 있다. here,
Figure 112020107293255-pat00055
Is the value obtained by differentiating each component of the rotation matrix R. At this time
Figure 112020107293255-pat00056
Is always in the form of a skew-symmetric matrix as shown below.
Figure 112020107293255-pat00057
Is the rotational speed vector (
Figure 112020107293255-pat00058
) Can be compressed and expressed.

Figure 112020107293255-pat00059
,
Figure 112020107293255-pat00060
Figure 112020107293255-pat00059
,
Figure 112020107293255-pat00060

또한, 회전 가속도는 회전 속도 벡터의 미분을 통해 정의될 수 있다.Further, the rotational acceleration may be defined through the derivative of the rotational velocity vector.

Figure 112020107293255-pat00061
Figure 112020107293255-pat00061

기준점 (x0, x1, x2)으로부터 로컬 좌표계의 원점 (x0), 기준축 (

Figure 112020107293255-pat00062
)가 정의되었다고 할 때, 각 기준점의 속도 (
Figure 112020107293255-pat00063
)로부터 회전 속도 벡터를 계산할 수 있다. 아래에는 수식을 간결하게 표현하기 위해 단위 벡터의 미분을 다음과 같이 정리한다. From the reference point (x 0 , x 1 , x 2 ), the origin of the local coordinate system (x 0 ), the reference axis (
Figure 112020107293255-pat00062
) Is defined, the velocity of each reference point (
Figure 112020107293255-pat00063
), we can calculate the rotational velocity vector. Below, in order to express the formula concisely, the derivative of the unit vector is summarized as follows.

Figure 112020107293255-pat00064
Figure 112020107293255-pat00064

이를 이용하면, 로컬 좌표계의 기준축의 속도를 정의할 수 있고, 최종적으로는 회전 속도 행렬을 다음과 정의할 수 있다. Using this, it is possible to define the speed of the reference axis of the local coordinate system, and finally, the rotation speed matrix can be defined as follows.

Figure 112020107293255-pat00065
Figure 112020107293255-pat00065

Figure 112020107293255-pat00066
Figure 112020107293255-pat00066

Figure 112020107293255-pat00067
Figure 112020107293255-pat00067

Figure 112020107293255-pat00068
Figure 112020107293255-pat00068

회전 가속도 행렬의 경우 회전 속도 행렬의 경우와 비슷하게 다음과 같이 단위 벡터의 2차 미분을 통해서 계산할 수 있다. In the case of the rotational acceleration matrix, similar to the case of the rotational velocity matrix, it can be calculated through the second derivative of the unit vector as follows.

Figure 112020107293255-pat00069
Figure 112020107293255-pat00069

Figure 112020107293255-pat00070
Figure 112020107293255-pat00070

Figure 112020107293255-pat00071
Figure 112020107293255-pat00071

Figure 112020107293255-pat00072
Figure 112020107293255-pat00072

Figure 112020107293255-pat00073
Figure 112020107293255-pat00073

이와 같은 과정을 통해 본 발명에서는 로봇 모듈(500) 말단부의 회전 속도와 회전 가속도를 정의하여 계산함으로써 로봇 모듈(500) 말단부의 속도를 용이하게 파악할 수 있다.Through this process, in the present invention, by defining and calculating the rotational speed and rotational acceleration of the distal end of the robotic module 500, the speed of the distal end of the robotic module 500 can be easily determined.

이처럼 본 발명에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법은 일반적으로 통용되는 오일러 각도나 쿼터니언에 비해 더욱 직관적으로 로봇의 위치와 방향을 정의할 수 있다. 사용자가 로봇에 행동을 입력할 때, 단순히 말단부를 특정 위치로 옮기는 명령의 경우에는 변위 벡터와 회전 행렬만을 제공하면 된다. 하지만 최종 목표 위치까지 로봇이 이동하는 과정에서 로봇이 특정 속도를 준수하며 이동하기를 바라는 경우에는 모든 순간에 로봇의 변위와 회전뿐만 아니라 속도와 회전 속도, 가속도와 회전 가속도를 정의해주어야 하는데, 이 때 회전 속도와 회전 가속도의 정의는 사용자에게 있어 앞에서의 회전의 정의보다 더욱 어려운 일이다. 따라서 본 발명에서는 기준점 기반의 좌표계를 특정하는 방법을 통해 로봇 말단부의 회전 속도와 회전 가속도를 정의함에 따라 로봇의 위치와 방향을 용이하게 정의할 수 있다.As described above, the reference point-based coordinate system specific system and method for defining a robot posture according to the present invention can more intuitively define the position and direction of the robot compared to commonly used Euler angles or quaternions. When the user inputs an action to the robot, in the case of a command that simply moves the distal end to a specific position, only the displacement vector and the rotation matrix need to be provided. However, in the process of moving the robot to the final target position, if you want the robot to move while complying with a specific speed, you must define not only the displacement and rotation of the robot, but also the speed and rotational speed, acceleration and rotational acceleration at every moment. The definition of rotation speed and rotation acceleration is more difficult for the user than the previous definition of rotation. Accordingly, in the present invention, the position and direction of the robot can be easily defined by defining the rotational speed and rotational acceleration of the distal end of the robot through a method of specifying a reference point-based coordinate system.

또한, 3차원 공간상에서 로봇 말단 부의 위치와 방향을 정의하기 위한 알고리즘을 사용하여 로봇을 사용하는 사용자가 직관적으로 로봇의 위치와 방향을 결정할 수 있기 때문에 용이하게 로봇의 동작을 계획하여 로봇의 작업을 지시할 수 있다.In addition, since the user using the robot can intuitively determine the position and direction of the robot by using an algorithm to define the position and direction of the end of the robot in a three-dimensional space, it is easy to plan the operation of the robot and perform the operation of the robot. I can dictate.

아울러, 파라미터로부터 로봇의 자세를 용이하게 유추할 수 있으며, 반대로 사용자가 원하는 임의의 로봇 자세를 입력하기 위해 별도의 계산과정을 생략할 수 있다.In addition, the robot's posture can be easily inferred from the parameters, and on the contrary, a separate calculation process can be omitted in order to input an arbitrary robot posture desired by the user.

상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면, 본 발명의 사상과 범위 안에서 다양한 수정, 변경 및 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 본 발명의 특허청구 범위에 속하는 것으로 보아야 할 것이다.Preferred embodiments of the present invention described above are disclosed for the purpose of illustration, and those skilled in the art who have ordinary knowledge of the present invention will be able to make various modifications, changes and additions within the spirit and scope of the present invention. And additions should be seen as falling within the scope of the claims of the present invention.

100 : 좌표 수신부
200 : 좌표 설정부
210 : 제1축 계산부
220 : 제2축 계산부
230 : 제3축 계산부
300 : 방향 제어 입력 산출부
350 : 속도 계산부
500 : 로봇 모듈
100: coordinate receiver
200: coordinate setting unit
210: 1st axis calculation unit
220: 2nd axis calculation unit
230: 3rd axis calculation unit
300: direction control input calculation unit
350: speed calculation unit
500: robot module

Claims (9)

로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에 있어서,
사용자로부터 3개의 3차원 벡터에 대한 정보(x0, x1, x2)를 포함하는 기준점 정보를 수신하는 좌표 수신부;
상기 3차원 벡터는 로봇 모듈의 베이스를 기준으로 한 기준 좌표계의 위치 좌표이고,
3개의 상기 3차원 벡터를 기반으로 일련의 계산과정을 통해 로컬 좌표계를 결정하는 좌표 계산부; 및
상기 로컬 좌표계는 로봇 모듈의 말단부를 원점으로 한 상대적인 좌표계이며,
상기 로컬 좌표계를 위치벡터와 방향행렬로 변환하여 로봇 모듈의 이동 방향을 결정하는 방향 제어 입력 산출부;를 포함하는 것을 특징으로 하는 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템.
In a reference point-based coordinate system specific system for defining a robot posture,
A coordinate receiver for receiving reference point information including information (x0, x1, x2) on three 3D vectors from a user;
The 3D vector is the position coordinate of the reference coordinate system based on the base of the robot module,
A coordinate calculator that determines a local coordinate system through a series of calculation processes based on the three 3D vectors; And
The local coordinate system is a relative coordinate system with the distal end of the robot module as the origin,
And a direction control input calculator configured to determine a moving direction of the robot module by converting the local coordinate system into a position vector and a direction matrix.
제1항에 있어서,
상기 좌표 계산부는 상기 로컬 좌표계에서 원점 x0과 원점을 제외한 어느 하나의 좌표 x1로 이루어진 제1축의 변위를 계산하는 제1축 계산부를 포함하는 것을 특징으로 하는 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템.
The method of claim 1,
The coordinate calculation unit includes a first axis calculation unit configured to calculate a displacement of a first axis consisting of an origin x 0 and any one coordinate x 1 excluding the origin in the local coordinate system. Specific system.
제2항에 있어서,
상기 제1축 계산부는,
Figure 112020107293255-pat00074

의 수식으로 상기 제1축의 방향
Figure 112020107293255-pat00075
을 결정하는 것을 특징으로 하는 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템.
The method of claim 2,
The first axis calculation unit,
Figure 112020107293255-pat00074

The direction of the first axis by the formula of
Figure 112020107293255-pat00075
A coordinate system specific system based on a reference point for defining a robot posture, characterized in that to determine.
제3항에 있어서,
상기 좌표 계산부는 상기 로컬 좌표계에서 원점 x0과 원점을 제외한 어느 하나의 좌표 x2로 이루어진 제2축의 변위를 계산하는 제2축 계산부를 포함하는 것을 특징으로 하는 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템.
The method of claim 3,
The coordinate calculation unit comprises a second axis calculation unit that calculates a displacement of a second axis consisting of an origin x 0 and any one coordinate x 2 excluding the origin in the local coordinate system. Specific system.
제4항에 있어서,
상기 제2축 계산부는,
Figure 112020107293255-pat00076
일 때,
Figure 112020107293255-pat00077

의 수식으로 상기 제2축의 방향
Figure 112020107293255-pat00078
을 결정하고,
상기 제1축의 방향
Figure 112020107293255-pat00079
과 상기 제2축의 방향
Figure 112020107293255-pat00080
은 항상 수직인 것을 특징으로 하는 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템.
The method of claim 4,
The second axis calculation unit,
Figure 112020107293255-pat00076
when,
Figure 112020107293255-pat00077

The direction of the second axis by the formula of
Figure 112020107293255-pat00078
To determine,
Direction of the first axis
Figure 112020107293255-pat00079
And the direction of the second axis
Figure 112020107293255-pat00080
A coordinate system specific system based on a reference point for defining a robot posture, characterized in that it is always vertical.
제5항에 있어서,
제3축 계산부는 상기 제1축의 방향
Figure 112021500632856-pat00081
과 상기 제2축의 방향
Figure 112021500632856-pat00082
의 외적을 통해 제3축의 방향
Figure 112021500632856-pat00083
을 결정하는 것을 특징으로 하는 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템.
The method of claim 5,
The third axis calculation unit is the direction of the first axis
Figure 112021500632856-pat00081
And the direction of the second axis
Figure 112021500632856-pat00082
Direction of the 3rd axis through the cross product of
Figure 112021500632856-pat00083
A coordinate system specific system based on a reference point for defining a robot posture, characterized in that to determine.
제6항에 있어서,
상기 방향 제어 입력 산출부는 상기 제1축의 방향
Figure 112020107293255-pat00084
과 상기 제2축의 방향
Figure 112020107293255-pat00085
및 상기 제3축의 방향
Figure 112020107293255-pat00086
을 기반으로 상기 로봇 모듈의 이동방향을 결정하기 위한 위치벡터(
Figure 112020107293255-pat00087
)와 방향행렬(
Figure 112020107293255-pat00088
)로 변환하는 것을 특징으로 하는 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템.
The method of claim 6,
The direction control input calculation unit is the direction of the first axis
Figure 112020107293255-pat00084
And the direction of the second axis
Figure 112020107293255-pat00085
And the direction of the third axis
Figure 112020107293255-pat00086
Based on the position vector for determining the moving direction of the robot module (
Figure 112020107293255-pat00087
) And direction matrix (
Figure 112020107293255-pat00088
), a coordinate system specific system based on a reference point for defining a robot attitude, characterized in that it converts to
제1항에 있어서,
상기 로봇 모듈의 말단부의 회전 속도 및 회전 가속도를 계산하는 속도 계산부를 더 포함하고,
상기 회전 속도는,
Figure 112020107293255-pat00089

Figure 112020107293255-pat00090

Figure 112020107293255-pat00091

Figure 112020107293255-pat00092

의 수식으로 계산하고,
상기 회전 가속도는,
Figure 112020107293255-pat00093

Figure 112020107293255-pat00094

Figure 112020107293255-pat00095

Figure 112020107293255-pat00096

의 수식으로 계산하는 것을 특징으로 하는 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템.
The method of claim 1,
Further comprising a speed calculation unit for calculating the rotational speed and rotational acceleration of the distal end of the robot module,
The rotation speed is,
Figure 112020107293255-pat00089

Figure 112020107293255-pat00090

Figure 112020107293255-pat00091

Figure 112020107293255-pat00092

Is calculated by the formula of,
The rotational acceleration is,
Figure 112020107293255-pat00093

Figure 112020107293255-pat00094

Figure 112020107293255-pat00095

Figure 112020107293255-pat00096

A coordinate system specific system based on a reference point for defining a robot posture, characterized in that it is calculated by an equation of.
로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 방법에 있어서,
좌표 수신부가 사용자로부터 3개의 3차원 벡터(x0, x1, x2)에 대한 정보를 포함하는 기준점 정보를수신하는 단계;
상기 3차원 벡터는 로봇 모듈의 베이스를 기준으로 한 기준 좌표계의 위치 좌표이고,
좌표 계산부가 3개의 상기 3차원 벡터를 기반으로 일련의 계산과정을 통해 로컬 좌표계를 결정하는 단계; 및
상기 로컬 좌표계는 로봇 모듈의 말단부를 원점으로 한 상대적인 좌표계이며,
방향 제어 입력 산출부가 상기 로컬 좌표계를 위치벡터와 방향행렬로 변환하여 로봇 모듈의 이동 방향을 결정하는 단계;를 포함하는 것을 특징으로 하는 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 방법.
In a method for specifying a reference point-based coordinate system for defining a robot posture,
Receiving, by a coordinate receiving unit, reference point information including information on three 3D vectors (x0, x1, x2) from a user;
The 3D vector is the position coordinate of the reference coordinate system based on the base of the robot module,
Determining a local coordinate system through a series of calculation processes based on the three 3D vectors by a coordinate calculator; And
The local coordinate system is a relative coordinate system with the distal end of the robot module as the origin,
And determining a moving direction of the robot module by converting the local coordinate system into a position vector and a direction matrix by a direction control input calculation unit.
KR1020200131104A 2019-10-30 2020-10-12 Coordinate specification system and method based on reference point for robot's attitude definition KR102225348B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200131104A KR102225348B1 (en) 2019-10-30 2020-10-12 Coordinate specification system and method based on reference point for robot's attitude definition

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190136629A KR102170592B1 (en) 2019-10-30 2019-10-30 Coordinate specification system and method based on reference point for robot's attitude definition
KR1020200131104A KR102225348B1 (en) 2019-10-30 2020-10-12 Coordinate specification system and method based on reference point for robot's attitude definition

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190136629A Division KR102170592B1 (en) 2019-10-30 2019-10-30 Coordinate specification system and method based on reference point for robot's attitude definition

Publications (2)

Publication Number Publication Date
KR102225348B1 true KR102225348B1 (en) 2021-03-09
KR102225348B9 KR102225348B9 (en) 2022-01-17

Family

ID=80113567

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200131104A KR102225348B1 (en) 2019-10-30 2020-10-12 Coordinate specification system and method based on reference point for robot's attitude definition

Country Status (1)

Country Link
KR (1) KR102225348B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115008468A (en) * 2022-07-04 2022-09-06 中国科学院沈阳自动化研究所 Mechanical arm attitude speed planning control method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001060108A (en) * 1999-06-18 2001-03-06 Agency Of Ind Science & Technol Device and method for teaching robot action
KR100765671B1 (en) * 2005-02-25 2007-10-11 세이코 엡슨 가부시키가이샤 Robot locus control method and apparatus, and computer-readable recording medium storing program of robot locus control method
JP2010155328A (en) * 2009-01-01 2010-07-15 Sony Corp Path planning device, path planning method, and computer program
JP2011145797A (en) * 2010-01-13 2011-07-28 Muscle Corp Track generation method and track generation device
JP2011189440A (en) * 2010-03-12 2011-09-29 Fuji Electric Co Ltd Robot control device, robot system, program and robot control method
KR20110114526A (en) * 2008-12-17 2011-10-19 쿠카 레보라토리즈 게엠베하 Method for allowing a manipulator to cover a predetermined trajectory, and control device for carrying out said method
KR20150055008A (en) 2012-09-13 2015-05-20 구글 인코포레이티드 Providing radial menus with touchscreens

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001060108A (en) * 1999-06-18 2001-03-06 Agency Of Ind Science & Technol Device and method for teaching robot action
KR100765671B1 (en) * 2005-02-25 2007-10-11 세이코 엡슨 가부시키가이샤 Robot locus control method and apparatus, and computer-readable recording medium storing program of robot locus control method
KR20110114526A (en) * 2008-12-17 2011-10-19 쿠카 레보라토리즈 게엠베하 Method for allowing a manipulator to cover a predetermined trajectory, and control device for carrying out said method
JP2010155328A (en) * 2009-01-01 2010-07-15 Sony Corp Path planning device, path planning method, and computer program
JP2011145797A (en) * 2010-01-13 2011-07-28 Muscle Corp Track generation method and track generation device
JP2011189440A (en) * 2010-03-12 2011-09-29 Fuji Electric Co Ltd Robot control device, robot system, program and robot control method
KR20150055008A (en) 2012-09-13 2015-05-20 구글 인코포레이티드 Providing radial menus with touchscreens

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115008468A (en) * 2022-07-04 2022-09-06 中国科学院沈阳自动化研究所 Mechanical arm attitude speed planning control method

Also Published As

Publication number Publication date
KR102225348B9 (en) 2022-01-17

Similar Documents

Publication Publication Date Title
US10427298B2 (en) Robot system displaying information for teaching robot
US10406686B2 (en) Bare hand robot path teaching
WO2018086226A1 (en) Control method and apparatus for robotic arm
EP2835228B1 (en) Robot apparatus and robot controlling method
US20140031982A1 (en) Robotic system and robot control device
US20150273689A1 (en) Robot control device, robot, robotic system, teaching method, and program
US9300430B2 (en) Latency smoothing for teleoperation systems
US20160158936A1 (en) Collision avoidance method, control device, and program
WO2016193686A4 (en) Characterising robot environments
El-Hussieny et al. Development and evaluation of an intuitive flexible interface for teleoperating soft growing robots
US20160346921A1 (en) Portable apparatus for controlling robot and method thereof
CN109968361B (en) Variable impedance teleoperation control device and method based on real-time force feedback
CN113119098B (en) Mechanical arm control method, mechanical arm control device and terminal equipment
JP2013132731A (en) Robot control system, robot system and robot control method
JP7035309B2 (en) Master-slave system
JP2014203463A5 (en)
KR102225348B1 (en) Coordinate specification system and method based on reference point for robot&#39;s attitude definition
US10507585B2 (en) Robot system that displays speed
Waltersson et al. Planning and control for cable-routing with dual-arm robot
JPWO2009096408A1 (en) Multi-joint structure teaching device
Romadon et al. Pose estimation on soccer robot using data fusion from encoders, inertial sensor, and image data
US20220009101A1 (en) Control device, control method, and non-transitory recording medium
KR102170592B1 (en) Coordinate specification system and method based on reference point for robot&#39;s attitude definition
CN112356032B (en) Posture smooth transition method and system
US11577391B2 (en) Trajectory generation device, trajectory generation method, and robot system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]