KR102170592B1 - 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법 - Google Patents

로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법 Download PDF

Info

Publication number
KR102170592B1
KR102170592B1 KR1020190136629A KR20190136629A KR102170592B1 KR 102170592 B1 KR102170592 B1 KR 102170592B1 KR 1020190136629 A KR1020190136629 A KR 1020190136629A KR 20190136629 A KR20190136629 A KR 20190136629A KR 102170592 B1 KR102170592 B1 KR 102170592B1
Authority
KR
South Korea
Prior art keywords
axis
coordinate system
robot
calculation unit
reference point
Prior art date
Application number
KR1020190136629A
Other languages
English (en)
Inventor
박종훈
이웅용
허영진
정완균
이동현
Original Assignee
주식회사 뉴로메카
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 뉴로메카, 포항공과대학교 산학협력단 filed Critical 주식회사 뉴로메카
Priority to KR1020190136629A priority Critical patent/KR102170592B1/ko
Priority to KR1020200131104A priority patent/KR102225348B1/ko
Application granted granted Critical
Publication of KR102170592B1 publication Critical patent/KR102170592B1/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에 관한 것으로, 사용자로부터 3개의 3차원 벡터에 대한 정보를 수신하는 좌표 수신부, 상기 3차원 벡터는 로봇 모듈의 베이스를 기준으로 한 기준 좌표계의 위치 좌표이고, 3개의 상기 3차원 벡터를 기반으로 일련의 계산과정을 통해 로컬 좌표계를 결정하는 좌표 계산부 및 상기 로컬 좌표계는 로봇 모듈의 말단부를 원점으로 한 상대적인 좌표계이며, 상기 로컬 좌표계를 기반으로 위치벡터와 방향행렬로 변환하여 로봇 모듈의 이동 방향을 결정하는 방향 제어 입력 산출부를 포함할 수 있다.

Description

로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법{Coordinate specification system and method based on reference point for robot's attitude definition}
본 발명은 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법에 관한 것으로, 더욱 구체적으로는 기준점을 기반으로 좌표계를 특정함으로써 로봇의 자세를 정의할 수 있도록 하는 좌표계 특정 시스템 및 방법에 관한 것이다.
로봇에 작업을 지시하기 위해서는 로봇 말단 부의 목표 자세 (위치 및 방향)를 정의해야 한다. 이 때, 로봇 말단의 위치는 직교 좌표계 상의 좌표 값을 통해 쉽게 정의될 수 있지만, 방향을 정의하는 것은 쉽지 않다.
3차원 공간에서 강체(rigid body)의 위치와 방향은 일반적으로 좌표계의 변위와 회전을 통해서 표현된다. 이와 같이 변위와 회전은 각각 변위벡터와 회전 행렬로 표현되며, 로봇의 동작을 위한 제어 입력으로 사용될 수 있다. 변위 벡터의 경우, 보편적으로 알려진 유클리드 기하학의 3차원 좌표 값을 통해서 정의가 가능하며, 회전 행렬의 경우 그 구성요소가 9개의 변수로 정의되는데, 이러한 행렬의 각 성분에 대한 값은 강체의 회전축과 회전 각도의 복잡한 계산을 통해서 결정되기 때문에 3차원 공간에서의 실제 회전으로부터 유추하는 것은 어려운 점이 있다.
기존에 널리 통용되는 오일러 각도(Euler angle)와 쿼터니언(Quaternion)의 경우 방향을 표현하는 파라미터가 복잡한 계산을 통해 결정되기 때문에 직관적이지 못하며, 결과적으로 관련지식이 없는 비전공자가 로봇을 활용하는데 걸림돌이 된다.
따라서 보다 직관적으로 로봇 말단 부의 방향을 정의할 수 있는 사용자 친화적인 좌표계 정의 방법이 필요하다.
대한민국 공개특허 제10-2015-0055008호
본 발명은 상술한 바와 같은 종래 기술의 문제점을 해결하기 위한 것으로, 로봇을 사용하는 사용자가 직관적으로 로봇의 위치와 방향을 결정하는 데 그 목적이 있다.
또한, 로봇의 동작을 계획하여 용이하게 로봇의 작업을 지시하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에 관한 것으로, 사용자로부터 3개의 3차원 벡터에 대한 정보를 수신하는 좌표 수신부; 상기 3차원 벡터는 로봇 모듈의 베이스를 기준으로 한 기준 좌표계의 위치 좌표이고, 3개의 상기 3차원 벡터를 기반으로 일련의 계산과정을 통해 로컬 좌표계를 결정하는 좌표 계산부; 및 상기 로컬 좌표계는 로봇 모듈의 말단부를 원점으로 한 상대적인 좌표계이며, 상기 로컬 좌표계를 위치벡터와 방향행렬로 변환하여 로봇 모듈의 이동 방향을 결정하는 방향 제어 입력 산출부;를 포함할 수 있다.
여기서, 상기 좌표 계산부는 상기 로컬 좌표계에서 원점 x0과 원점을 제외한 어느 하나의 좌표 x1로 이루어진 제1축의 변위를 계산하는 제1축 계산부를 포함하는 것을 특징으로 한다.
또한, 상기 제1축 계산부는,
Figure 112019111233667-pat00001
의 수식으로 상기 제1축의 방향
Figure 112019111233667-pat00002
을 결정하는 것을 특징으로 한다.
또, 상기 좌표 계산부는 상기 로컬 좌표계에서 원점 x0과 원점을 제외한 어느 하나의 좌표 x2로 이루어진 제2축의 변위를 계산하는 제2축 계산부를 포함하는 것을 특징으로 한다.
또한, 상기 제2축 계산부는,
Figure 112019111233667-pat00003
일 때,
Figure 112019111233667-pat00004
의 수식으로 상기 제2축의 방향
Figure 112019111233667-pat00005
을 결정하고, 상기 제1축의 방향
Figure 112019111233667-pat00006
과 상기 제2축의 방향
Figure 112019111233667-pat00007
은 항상 수직인 것을 특징으로 한다.
아울러, 제3축 계산부는 상기 제1축의 방향
Figure 112019131126053-pat00008
과 상기 제2축의 방향
Figure 112019131126053-pat00009
의 외적을 통해 제3축의 방향
Figure 112019131126053-pat00010
을 결정하는 것을 특징으로 한다.
또한, 상기 방향 제어 입력 산출부는 상기 제1축의 방향
Figure 112019111233667-pat00011
과 상기 제2축의 방향
Figure 112019111233667-pat00012
및 상기 제3축의 방향
Figure 112019111233667-pat00013
을 기반으로 상기 로봇 모듈의 이동방향을 결정하기 위한 위치벡터(
Figure 112019111233667-pat00014
)와 방향행렬(
Figure 112019111233667-pat00015
)로 변환하는 것을 특징으로 한다.
한편, 상기 목적을 달성하기 위한 본 발명에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 방법에 관한 것으로, 좌표 수신부가 사용자로부터 3개의 3차원 벡터에 대한 정보를 수신하는 단계; 상기 3차원 벡터는 로봇 모듈의 베이스를 기준으로 한 기준 좌표계의 위치 좌표이고, 좌표 계산부가 3개의 상기 3차원 벡터를 기반으로 일련의 계산과정을 통해 로컬 좌표계를 결정하는 단계; 및 상기 로컬 좌표계는 로봇 모듈의 말단부를 원점으로 한 상대적인 좌표계이며, 방향 제어 입력 산출부가 상기 로컬 좌표계를 위치벡터와 방향행렬로 변환하여 로봇 모듈의 이동 방향을 결정하는 단계;를 포함할 수 있다.
본 발명에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법은 다음과 같은 효과가 있다.
첫째, 일반적으로 통용되는 오일러 각도나 쿼터니언에 비해 더욱 직관적으로 로봇의 위치와 방향을 정의할 수 있다. 사용자가 로봇에 행동을 입력할 때, 단순히 말단부를 특정 위치로 옮기는 명령의 경우에는 변위 벡터와 회전 행렬만을 제공하면 된다. 하지만 최종 목표 위치까지 로봇이 이동하는 과정에서 로봇이 특정 속도를 준수하며 이동하기를 바라는 경우에는 모든 순간에 로봇의 변위와 회전뿐만 아니라 속도와 회전 속도, 가속도와 회전 가속도를 정의해주어야 하는데, 이 때 회전 속도와 회전 가속도의 정의는 사용자에게 있어 앞에서의 회전의 정의보다 더욱 어려운 일이다. 따라서 본 발명에서는 기준점 기반의 좌표계를 특정하는 방법을 통해 로봇 말단부의 회전 속도와 회전 가속도를 정의함에 따라 로봇의 위치와 방향을 용이하게 정의할 수 있다.
둘째, 3차원 공간상에서 로봇 말단 부의 위치와 방향을 정의하기 위한 알고리즘을 사용하여 로봇을 사용하는 사용자가 직관적으로 로봇의 위치와 방향을 결정할 수 있기 때문에 용이하게 로봇의 동작을 계획하여 로봇의 작업을 지시할 수 있다.
셋째, 파라미터로부터 로봇의 자세를 용이하게 유추할 수 있으며, 반대로 사용자가 원하는 임의의 로봇 자세를 입력하기 위해 별도의 계산과정을 생략할 수 있다.
도1은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 로봇 모듈의 사시도를 개략적으로 나타낸 도면이다.
도2는 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템의 구성을 나타낸 블록도이다.
도3은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 방법의 순서도이다.
도4는 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 첫 번째 기준점 위치를 특정 또는 결정하는 것을 개략적으로 나타낸 도면이다.
도5는 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 두 번째 기준점 위치를 특정 또는 결정하는 것을 개략적으로 나타낸 도면이다.
도6은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 세 번째 기준점 위치를 특정 또는 결정하는 것을 개략적으로 나타낸 도면이다.
도7은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 연속적인 작업을 위해 로봇 모듈의 이동방향의 궤적을 형성하는 것을 개략적으로 나타낸 도면이다.
이하에서는 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 다만 발명의 요지와 무관한 일부 구성은 생략 또는 압축할 것이나, 생략된 구성이라고 하여 반드시 본 발명에서 필요가 없는 구성은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 결합되어 사용될 수 있다.
도1은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 로봇 모듈(500)의 사시도를 개략적으로 나타낸 도면이고, 도2는 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템의 구성을 나타낸 블록도이다.
도1 내지 도2에 도시된 바와 같이, 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템은 좌표 수신부(100), 좌표 계산부(200) 및 방향 제어 입력 산출부(300)를 포함할 수 있다.
좌표 수신부(100)는 사용자로부터 세 개의 기준점의 위치를 입력받는 구성이다. 즉, 좌표 수신부(100)는 사용자로부터 x0, x1, x2로 구성된 3개의 3차원 벡터에 대한 정보를 수신할 수 있다. 본 발명에서 사용자의 목적에 따라 로봇 몸체 또는 로봇 모듈(500)이 특정 자세를 취하도록 하기 위해서는 로봇 모듈(500)의 말단부(end-effector)의 위치와 방향을 특정 또는 결정하여야 한다. 일반적으로, 로봇 모듈(500)의 위치는 3차원 공간상에서 하나의 점으로 표현, 즉 로컬 좌표계로 표현될 수 있으며, 이는 직교 좌표계의 좌표값을 통하여 결정할 수 있다. 따라서 본 발명에서는 추가적으로 2개의 점에 대한 위치를 결정함으로써 로봇 모듈(500)의 말단부의 방향까지 결정할 수 있도록 한다.
좌표 계산부(200)는 3개의 3차원 벡터를 기반으로 한 로컬 좌표계로 변위를 계산하는 구성이다. 이러한 좌표 계산부(200)는 제1축 계산부(210), 제2축 계산부(220)를 포함할 수 있다. 본 발명에서는 로봇 모듈(500)의 말단부가 하나의 로컬 좌표계로 표현될 수 있다. 이에 따라, 로봇 모듈(500)의 말단부에 대해 로컬 좌표계를 특정 또는 결정하기 위해서 앞서 사용자로부터 3개의 3차원 벡터에 대한 정보를 수신한다고 설명하였다. 각 기준점의 위치 좌표는 로봇 모듈(500)의 기준 좌표계, 즉 로봇 모듈(500)의 베이스를 기준으로 한 위치이며, 각 기준점은 순서대로 로컬 좌표계에서 로봇 모듈(500)의 말단부의 원점, 제1축 및 제2축을 결정하게 하는 요소들이다. 이 때 3개의 3차원 벡터는 일직선상에 존재하지 않는다.
여기서, 제1축 계산부(210)는 로컬 좌표계의 원점이 사용자로부터 수신한 x0에 일치된 상태에서 x0에서 x1 까지 제1축의 변위를 계산하여 제1축의 방향
Figure 112019111233667-pat00016
을 결정할 수 있다. 즉, 아래의 수식으로 계산될 수 있다.
Figure 112019111233667-pat00017
여기서, 제1축은 z축으로 지칭될 수 있다.
또한, 제2축 계산부(220)는 제1축 계산부(210)와 동일하게 로컬 좌표계의 원점이 사용자로부터 수신한 x0에 일치된 상태에서 x0에서 x2 까지 제2축의 변위를 계산하여 제2축의 방향을 결정할 수 있다. 여기서, 제2축은 x축으로 지칭될 수 있다. 아울러, 로컬 좌표계에서 z축과 x축은 항상 수직이어야 한다. 따라서 제2축 계산부(220)는 앞서 제1축 계산부(210)가 제1축의 방향
Figure 112019111233667-pat00018
을 계산한 부분에서 제1축의 방향
Figure 112019111233667-pat00019
의 수직한 성분만을 계산하여 로컬 좌표계의 제2축 방향
Figure 112019111233667-pat00020
을 계산할 수 있다. 즉, 아래의 수식으로 계산될 수 있다.
Figure 112019111233667-pat00021
일 때,
Figure 112019111233667-pat00022
제3축 계산부(230)는 제1축의 방향
Figure 112019111233667-pat00023
과 상기 제2축의 방향
Figure 112019111233667-pat00024
의 외적을 통해 제3축의 방향
Figure 112019111233667-pat00025
을 결정하는 구성이다. 즉, 제3축 계산부(230)는 제1축 계산부(210)가 계산한 변위와 제2축 계산부(220)가 계산한 변위를 기반으로 제1축의 방향
Figure 112019111233667-pat00026
과 상기 제2축의 방향
Figure 112019111233667-pat00027
의 외적, 즉
Figure 112019111233667-pat00028
을 통해 제3축의 방향
Figure 112019111233667-pat00029
를 결정할 수 있다.
방향 제어 입력 산출부(300)는 좌표 계산부(200)가 계산한 변위를 기반으로 위치벡터와 방향행렬로 변환하여 로봇 모듈(500) 말단부의 이동 방향을 결정하는 구성이다. 이러한 방향 제어 입력 산출부(300)는 로컬 좌표계를 로봇 모듈(500)의 말단부의 자세 및 방향을 결정하기 위해 위치벡터 t 및 방향행렬 R로 변환시킬 수 있다. 여기서, 위치벡터 t와 방향행렬 R은 아래와 같이 표현될 수 있다.
Figure 112019111233667-pat00030
,
Figure 112019111233667-pat00031
아울러, 도면에 도시되지는 않았으나, 추가로 제어부(미도시)가 구비될 수 있다. 이러한 제어부는 결정된 로봇 모듈(500)의 방향에 따라 로봇 모듈(500)의 행동을 제어하는 구성이다.
이하에서는 도면을 참고하여 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 방법에 관하여 구체적으로 설명하기로 한다.
도3은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 방법의 순서도이다.
도3에 도시된 바와 같이, 최초에 좌표 수신부(100)가 사용자로부터 3개의 3차원 벡터에 대한 정보를 수신한다.<S30>
이후 좌표 계산부(200)가 3개의 상기 3차원 벡터를 기반으로 일련의 계산과정을 통해 로컬 좌표계를 결정한다.<S31>
방향 제어 입력 산출부(300)가 로컬 좌표계를 위치벡터와 방향행렬로 변환하여 로봇 모듈의 이동 방향을 결정한다.<S32>
이와 같은 단계들에 대하여 도4, 도5 및 도6을 통해 구체적으로 설명하기로 한다. 먼저 도4를 참고하여 첫 번째 기준점 위치를 특정 또는 결정하는 것을 설명하기로 한다.
도4는 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 첫 번째 기준점 위치를 특정 또는 결정하는 것을 개략적으로 나타낸 도면이다.
먼저 사용자의 목적에 따라 로봇 모듈(500)이 특정 자세를 취하도록 하기 위해서는 로봇 모듈(500)의 말단부의 위치와 방향을 특정 또는 결정해야 한다. 통상적으로, 로봇 모듈(500)의 위치는 3차원 공간상에서 하나의 점으로 표현될 수 있기 때문에 직교 좌표계의 좌표값을 통하여 특정 또는 결정할 수 있음을 앞서 설명하였다. 이에 따라 본 발명에서는 하나의 점의 위치에 추가로 2개의 점의 위치를 더 특정 또는 결정함으로써 로봇 모듈(500)의 말단부가 향하는 방향까지 특정할 수 있다.
도4에 도시된 바와 같이, 첫 번째 기준점의 위치를 특정 또는 결정하는 것은 사용자로부터 수신한 3개의 기준점의 위치, 즉 3개의 벡터 x0, x1, x2를 기준으로 로컬 좌표계에서 표현될 수 있다. 즉, 로봇 모듈(500)의 말단부는 하나의 로컬 좌표계로 표현될 수 있다. 이와 같이 첫 번째 기준점은 로봇 모듈(500)의 말단부에 대한 위치, 즉 로컬 좌표계의 원점을 결정하는 것이다.
기준점의 위치 좌표는 로봇 모듈(500)의 기준 좌표계, 즉, 로봇 모듈(500)의 베이스를 기준으로 한 위치이며, 첫 번째 기준점으로부터 z축과 x축, z축과 x축의 외적으로 이루어진 y축은 다수로 가능할 수 있다.
여기서, 로컬 좌표계의 원점은 로봇 모듈(500)의 말단부의 위치를 의미하며, 사용자로부터 주어진 x0 로컬 좌표계의 원점을 일치시켜 로봇 모듈(500)의 말단부를 위치를 특정 또는 결정할 수 있다.
또한, 도5를 참고하여 두 번째 기준점 위치를 특정 또는 결정하는 것을 설명하기로 한다.
도5는 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 두 번째 기준점 위치를 특정 또는 결정하는 것을 개략적으로 나타낸 도면이다.
도5에 도시된 바와 같이, 두 번째 기준점의 위치를 특정 또는 결정하는 것은 마찬가지로 사용자로부터 수신한 3개의 벡터를 기준으로 로컬 좌표계에서 표현될 수 있다. 즉, 두 번째 기준점인 x1은 첫 번째 기준점 x0 로부터 제1축 계산부(210)가 변위를 계산하여 로컬 좌표계의 z축 방향인
Figure 112019111233667-pat00032
을 특정 또는 결정하는데 이용될 수 있다. 이 때 제1축 계산부(210)가 변위를 계산하는 수식은 아래와 같이 수식을 이용하여 계산할 수 있다.
Figure 112019111233667-pat00033
z축 방향이 결정된 이후에는 z축의 방향에 따라 가능한 y축의 개수가 줄어들게 된다.
아울러, 도6을 참고하여 세 번째 기준점 위치를 특정 또는 결정하는 것을 설명하기로 한다.
도6은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 세 번째 기준점 위치를 특정 또는 결정하는 것을 개략적으로 나타낸 도면이다.
도6에 도시된 바와 같이, 세 번째 기준점의 위치를 특정 또는 결정하는 것은 마찬가지로 사용자로부터 수신한 3개의 벡터를 기준으로 로컬 좌표계에서 표현될 수 있다. 즉, 세 번째 기준점인 x2는 첫 번째 기준점 x0로부터 제2축 계산부(220)가 변위를 계산하여 로컬 좌표계의 x축 방향인
Figure 112019111233667-pat00034
을 특정 또는 결정하는데 이용될 수 있다.
x2는 x1과 같이 x0로부터 제2축 계산부(220)가 변위를 계산하기는 하나, 로컬 좌표계에서 z축과 x축이 항상 수직이어야 하기 때문에 앞서 계산된
Figure 112019111233667-pat00035
에서 수직한 성분만을 계산하여 로컬 좌표계의 x축의 방향
Figure 112019111233667-pat00036
을 계산할 수 있다.
이 때 제2축 계산부(220)가 변위를 계산하는 수식은 아래와 같이 수식을 이용하여 계산할 수 있다.
Figure 112019111233667-pat00037
일 때,
Figure 112019111233667-pat00038
이와 같이 로컬 좌표계의 x축의 방향과 z축의 방향이 결정되면, 제3축 계산부(230)가
Figure 112019111233667-pat00039
Figure 112019111233667-pat00040
의 외적을 통해 단 하나의 y축의 방향인
Figure 112019111233667-pat00041
을 결정할 수 있고, 이를 도6과 같이 도시할 수 있다. 이 때
Figure 112019111233667-pat00042
Figure 112019111233667-pat00043
의 식을 사용하여 외적이 계산될 수 있다.
앞선 과정을 통해 특정 또는 결정된 로봇 모듈(500)의 말단부에 관한 로컬 좌표계는 로봇 모듈(500)의 말단부가 자세를 특정 또는 결정하기 위해 방향 제어 입력 산출부(300)가 위치벡터 t와 방향행렬 R로 변환할 수 있으며, 이러한 위치벡터 t와 방향행렬 R이 제어부에 입력되어 로봇 모듈(500)이 해당 방향으로 이동할 수 있도록 한다. 위치벡터 t와 방향행렬 R은 아래와 같이 표현될 수 있다.
Figure 112019111233667-pat00044
,
Figure 112019111233667-pat00045
이하에서는 로봇 모듈(500)이 연속적인 작업을 수행하기 위해 이동방향에 대한 궤적을 형성하는 것을 도7을 통해 설명하기로 한다.
도7은 본 발명의 실시예에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에서 연속적인 작업을 위해 로봇 모듈(500)의 이동방향의 궤적을 형성하는 것을 개략적으로 나타낸 도면이다.
도7에 도시된 바와 같이, 본 발명에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템은 정지된 특정 자세를 표현하는 것뿐만 아니라 기준점의 연속적인 이동방향에 대한 궤적을 통해서 로봇 모듈(500)의 연속적인 움직임을 특정 또는 결정할 수 있다.
도7에서는 기준 좌표계를 기반으로 로컬 좌표계를 형성하고 있다. 로컬 좌표계는 x0, x1, x2로 형성될 수 있다. 여기서, 파라미터 s값에 따라서 각 기준점의 위치가 결정될 때, 로봇 모듈(500)의 자세는 기준점
Figure 112019111233667-pat00046
,
Figure 112019111233667-pat00047
,
Figure 112019111233667-pat00048
에 의해서 결정될 수 있다.
이 때 사용자가 이미 계획된 로봇 모듈(500)의 움직임을 수정하기를 원할 경우에는 해당 기준점의 이동방향에 대한 궤적을 직접적으로 변경하여 로봇의 궤적을 수정할 수 있다.
도7에서는 이러한 기준점의 이동방향에 대한 궤적이 수정된 것을 확인할 수 있다. 즉, 기존에는
Figure 112019111233667-pat00049
에 대한 궤적으로 이동방향에 결정되었으나, 차후 사용자가
Figure 112019111233667-pat00050
와 같이 변경하여 기준점의 이동방향에 대한 궤적이 수정된 것을 확인할 수 있다.
이하에서는 로봇 모듈(500) 말단부의 회전 속도 및 회전 가속도에 대한 정의하여 계산하는 것을 설명하기로 한다.
3차원 공간에서 로봇 모듈(500)의 말단부에 관한 위치와 방향은 일반적으로 좌표계의 변위와 회전을 통해서 표현된다. 즉, 변위는 변위 벡터
Figure 112019111233667-pat00051
, 회전은 회전 행렬
Figure 112019111233667-pat00052
로 표현될 수 있다. 이러한 변위 벡터와 회전 행렬은 로봇 모듈(500)의 동작을 위한 제어 입력으로 사용될 수 있다.
이 때 변위 벡터의 경우, 보편적으로 알려진 유클리드 기하학의 3차원 좌표 값을 통해서 정의가 가능하고, 직관적으로 이해하기 쉽다. 반면, 회전 행렬의 경우 그 구성요소가 9개의 변수로 정의되고, 특히 행렬의 각 성분 값은 로봇 모듈(500)의 말단부에 대한 회전축과 회전 각도의 복잡한 계산(삼각함수 계산)을 통해서 결정되기 때문에 그 값을 3차원 공간에서의 실제 회전으로부터 유추하기 어려운 점이 있다.
또한, 로봇에 원하는 동작을 입력하기 위해 위의 회전 속도 벡터와 회전 가속도 벡터를 직접 계산하는 것은 지금까지 기술된 강체의 움직임에 대한 이해를 요구하며, 매우 번거로운 일이다. 종래의 회전 정의 방법인 Euler angle과 Quaternion을 사용하였을 때 속도에 해당하는 물리량을 따로 정의하고 함수를 작성하여 회전 속도 벡터와 회전 가속도 벡터를 계산할 수 있지만, 회전을 정의하는 것조차도 직관적이지 않은 상황에서 이의 속도와 가속도를 계산하는 것은 사용자에게 더욱 큰 부담이 된다.
따라서 3차원 공간에서 로봇 모듈(500)의 말단부에 대한 회전을 정의하기 위해서 본 발명에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법은 로봇 모듈(500)의 말단부에 대한 회전과 회전 속도 및 회전 가속도를 정의하는데 매우 효과적으로 사용될 수 있다.
예를 들어, 사용자가 로봇에 행동을 입력할 때 단순히 로봇 모듈(500)의 말단부를 특정 위치로 옮기는 명령의 경우에는 변위 벡터와 회전 행렬만을 제공하면 된다. 하지만 최종 목표 위치까지 로봇이 이동하는 과정에서 로봇이 특정 속도를 준수하며 이동하기를 바라는 경우에는 모든 순간에 로봇의 변위와 회전뿐만 아니라 속도와 회전 속도, 가속도와 회전 가속도를 정의해주어야 하는데, 본 발명에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법이 효과적으로 사용될 수 있다.
여기서, 로봇 모듈(500)의 말단부에 대한 회전 속도 및 회전 가속도는 속도 계산부(400)가 계산할 수 있다.
속도 계산부(400)는 회전 속도 및 회전 가속도를 행렬로 정의하여 계산하는 구성이다. 즉, 속도 계산부(400)는 회전속도 행렬
Figure 112019111233667-pat00053
를 아래와 같이 정의할 수 있다.
Figure 112019111233667-pat00054
여기서,
Figure 112019111233667-pat00055
은 회전 행렬 R의 각 성분을 미분한 값이다. 이 때
Figure 112019111233667-pat00056
은 아래와 같이 항상 반 대칭 행렬(skew-symmetric)의 형태를 갖기 때문에 행렬
Figure 112019111233667-pat00057
는 회전 속도 벡터 (
Figure 112019111233667-pat00058
)로 압축되어 표현될 수 있다.
Figure 112019111233667-pat00059
,
Figure 112019111233667-pat00060
또한, 회전 가속도는 회전 속도 벡터의 미분을 통해 정의될 수 있다.
Figure 112019111233667-pat00061
기준점 (x0, x1, x2)으로부터 로컬 좌표계의 원점 (x0), 기준축 (
Figure 112019111233667-pat00062
)가 정의되었다고 할 때, 각 기준점의 속도 (
Figure 112019111233667-pat00063
)로부터 회전 속도 벡터를 계산할 수 있다. 아래에는 수식을 간결하게 표현하기 위해 단위 벡터의 미분을 다음과 같이 정리한다.
Figure 112019111233667-pat00064
이를 이용하면, 로컬 좌표계의 기준축의 속도를 정의할 수 있고, 최종적으로는 회전 속도 행렬을 다음과 정의할 수 있다.
Figure 112019111233667-pat00065
Figure 112019111233667-pat00066
Figure 112019111233667-pat00067
Figure 112019111233667-pat00068
회전 가속도 행렬의 경우 회전 속도 행렬의 경우와 비슷하게 다음과 같이 단위 벡터의 2차 미분을 통해서 계산할 수 있다.
Figure 112019111233667-pat00069
Figure 112019111233667-pat00070
Figure 112019111233667-pat00071
Figure 112019111233667-pat00072
Figure 112019111233667-pat00073
이와 같은 과정을 통해 본 발명에서는 로봇 모듈(500) 말단부의 회전 속도와 회전 가속도를 정의하여 계산함으로써 로봇 모듈(500) 말단부의 속도를 용이하게 파악할 수 있다.
이처럼 본 발명에 따른 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법은 일반적으로 통용되는 오일러 각도나 쿼터니언에 비해 더욱 직관적으로 로봇의 위치와 방향을 정의할 수 있다. 사용자가 로봇에 행동을 입력할 때, 단순히 말단부를 특정 위치로 옮기는 명령의 경우에는 변위 벡터와 회전 행렬만을 제공하면 된다. 하지만 최종 목표 위치까지 로봇이 이동하는 과정에서 로봇이 특정 속도를 준수하며 이동하기를 바라는 경우에는 모든 순간에 로봇의 변위와 회전뿐만 아니라 속도와 회전 속도, 가속도와 회전 가속도를 정의해주어야 하는데, 이 때 회전 속도와 회전 가속도의 정의는 사용자에게 있어 앞에서의 회전의 정의보다 더욱 어려운 일이다. 따라서 본 발명에서는 기준점 기반의 좌표계를 특정하는 방법을 통해 로봇 말단부의 회전 속도와 회전 가속도를 정의함에 따라 로봇의 위치와 방향을 용이하게 정의할 수 있다.
또한, 3차원 공간상에서 로봇 말단 부의 위치와 방향을 정의하기 위한 알고리즘을 사용하여 로봇을 사용하는 사용자가 직관적으로 로봇의 위치와 방향을 결정할 수 있기 때문에 용이하게 로봇의 동작을 계획하여 로봇의 작업을 지시할 수 있다.
아울러, 파라미터로부터 로봇의 자세를 용이하게 유추할 수 있으며, 반대로 사용자가 원하는 임의의 로봇 자세를 입력하기 위해 별도의 계산과정을 생략할 수 있다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면, 본 발명의 사상과 범위 안에서 다양한 수정, 변경 및 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 본 발명의 특허청구 범위에 속하는 것으로 보아야 할 것이다.
100 : 좌표 수신부
200 : 좌표 설정부
210 : 제1축 계산부
220 : 제2축 계산부
230 : 제3축 계산부
300 : 방향 제어 입력 산출부
350 : 속도 계산부
500 : 로봇 모듈

Claims (9)

  1. 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템에 있어서,
    사용자로부터 3개의 3차원 벡터에 대한 정보(x0, x1, x2)를 포함하는 기준점 정보를 수신하는 좌표 수신부;
    상기 3차원 벡터는 로봇 모듈의 베이스를 기준으로 한 기준 좌표계의 위치 좌표이고,
    3개의 상기 3차원 벡터를 기반으로 일련의 계산과정을 통해 로컬 좌표계를 결정하는 좌표 계산부; 및
    상기 로컬 좌표계는 로봇 모듈의 말단부를 원점으로 한 상대적인 좌표계이며,
    상기 로컬 좌표계를 위치벡터와 방향행렬로 변환하여 로봇 모듈의 이동 방향을 결정하는 방향 제어 입력 산출부;를 포함하되,
    상기 좌표 계산부는 상기 로컬 좌표계에서 원점 x0과 원점을 제외한 어느 하나의 좌표 x1로 이루어진 제1축의 변위를 계산하는 제1축 계산부를 포함하고,
    상기 제1축 계산부는,
    Figure 112020063823345-pat00104

    의 수식으로 상기 제1축의 방향
    Figure 112020063823345-pat00105
    을 결정하며,
    상기 좌표 계산부는 상기 로컬 좌표계에서 원점 x0과 원점을 제외한 어느 하나의 좌표 x2로 이루어진 제2축의 변위를 계산하는 제2축 계산부를 포함하고,
    상기 제2축 계산부는,
    Figure 112020063823345-pat00106
    일 때,
    Figure 112020063823345-pat00107

    의 수식으로 상기 제2축의 방향
    Figure 112020063823345-pat00108
    을 결정하고,
    상기 제1축의 방향
    Figure 112020063823345-pat00109
    과 상기 제2축의 방향
    Figure 112020063823345-pat00110
    은 수직이며,
    제3축의 방향
    Figure 112020063823345-pat00111
    을 결정하는 제3축 계산부를 포함하고,
    상기 제3축 계산부는 상기 제1축의 방향
    Figure 112020063823345-pat00112
    과 상기 제2축의 방향
    Figure 112020063823345-pat00113
    의 외적을 통해 제3축의 방향
    Figure 112020063823345-pat00114
    을 결정하며,
    상기 방향 제어 입력 산출부는 상기 제1축의 방향
    Figure 112020063823345-pat00115
    과 상기 제2축의 방향
    Figure 112020063823345-pat00116
    및 상기 제3축의 방향
    Figure 112020063823345-pat00117
    을 기반으로 상기 로봇 모듈의 이동방향을 결정하기 위한 위치벡터
    Figure 112020063823345-pat00118
    와 방향행렬
    Figure 112020063823345-pat00119
    로 변환하는 것을 특징으로 하는 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제1항에 있어서,
    상기 로봇 모듈의 말단부의 회전 속도 및 회전 가속도를 계산하는 속도 계산부를 더 포함하고,
    상기 회전 속도는,
    Figure 112019111233667-pat00089

    Figure 112019111233667-pat00090

    Figure 112019111233667-pat00091

    Figure 112019111233667-pat00092

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

    Figure 112019111233667-pat00094

    Figure 112019111233667-pat00095

    Figure 112019111233667-pat00096

    의 수식으로 계산하는 것을 특징으로 하는 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템.
  9. 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 방법에 있어서,
    좌표 수신부가 사용자로부터 3개의 3차원 벡터에 대한 정보(x0, x1, x2)를 포함하는 기준점 정보를 수신하는 단계;
    상기 3차원 벡터는 로봇 모듈의 베이스를 기준으로 한 기준 좌표계의 위치 좌표이고,
    좌표 계산부가 3개의 상기 3차원 벡터를 기반으로 일련의 계산과정을 통해 로컬 좌표계를 결정하는 단계; 및
    상기 로컬 좌표계는 로봇 모듈의 말단부를 원점으로 한 상대적인 좌표계이며,
    방향 제어 입력 산출부가 상기 로컬 좌표계를 위치벡터와 방향행렬로 변환하여 로봇 모듈의 이동 방향을 결정하는 단계;를 포함하되,
    상기 좌표 계산부는 상기 로컬 좌표계에서 원점 x0과 원점을 제외한 어느 하나의 좌표 x1로 이루어진 제1축의 변위를 계산하는 제1축 계산부를 포함하고,
    상기 제1축 계산부는,
    Figure 112020063823345-pat00120

    의 수식으로 상기 제1축의 방향
    Figure 112020063823345-pat00121
    을 결정하며,
    상기 좌표 계산부는 상기 로컬 좌표계에서 원점 x0과 원점을 제외한 어느 하나의 좌표 x2로 이루어진 제2축의 변위를 계산하는 제2축 계산부를 포함하고,
    상기 제2축 계산부는,
    Figure 112020063823345-pat00122
    일 때,
    Figure 112020063823345-pat00123

    의 수식으로 상기 제2축의 방향
    Figure 112020063823345-pat00124
    을 결정하고,
    상기 제1축의 방향
    Figure 112020063823345-pat00125
    과 상기 제2축의 방향
    Figure 112020063823345-pat00126
    은 수직이며,
    제3축의 방향
    Figure 112020063823345-pat00127
    을 결정하는 제3축 계산부를 포함하고,
    상기 제3축 계산부는 상기 제1축의 방향
    Figure 112020063823345-pat00128
    과 상기 제2축의 방향
    Figure 112020063823345-pat00129
    의 외적을 통해 제3축의 방향
    Figure 112020063823345-pat00130
    을 결정하며,
    상기 방향 제어 입력 산출부는 상기 제1축의 방향
    Figure 112020063823345-pat00131
    과 상기 제2축의 방향
    Figure 112020063823345-pat00132
    및 상기 제3축의 방향
    Figure 112020063823345-pat00133
    을 기반으로 상기 로봇 모듈의 이동방향을 결정하기 위한 위치벡터
    Figure 112020063823345-pat00134
    와 방향행렬
    Figure 112020063823345-pat00135
    로 변환하는 것을 특징으로 하는 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 방법.
KR1020190136629A 2019-10-30 2019-10-30 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법 KR102170592B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190136629A KR102170592B1 (ko) 2019-10-30 2019-10-30 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법
KR1020200131104A KR102225348B1 (ko) 2019-10-30 2020-10-12 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190136629A KR102170592B1 (ko) 2019-10-30 2019-10-30 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200131104A Division KR102225348B1 (ko) 2019-10-30 2020-10-12 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102170592B1 true KR102170592B1 (ko) 2020-10-27

Family

ID=73136350

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190136629A KR102170592B1 (ko) 2019-10-30 2019-10-30 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102170592B1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001060108A (ja) * 1999-06-18 2001-03-06 Agency Of Ind Science & Technol ロボット動作教示装置および動作教示方法
KR100765671B1 (ko) * 2005-02-25 2007-10-11 세이코 엡슨 가부시키가이샤 로봇 궤적 제어 방법 및 장치와 로봇 궤적 제어 방법의프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JP2010155328A (ja) * 2009-01-01 2010-07-15 Sony Corp 軌道計画装置及び軌道計画方法、並びにコンピューター・プログラム
JP2011145797A (ja) * 2010-01-13 2011-07-28 Muscle Corp 軌道生成方法および軌道生成装置
JP2011189440A (ja) * 2010-03-12 2011-09-29 Fuji Electric Co Ltd ロボット制御装置、ロボットシステム、プログラムおよびロボットの制御方法
KR20110114526A (ko) * 2008-12-17 2011-10-19 쿠카 레보라토리즈 게엠베하 사전 결정된 경로를 매니퓰레이터가 주행하게 하기 위한 방법, 및 이러한 방법을 실행하기 위한 제어 장치
KR20150055008A (ko) 2012-09-13 2015-05-20 구글 인코포레이티드 터치스크린으로 방사형 메뉴 제공

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001060108A (ja) * 1999-06-18 2001-03-06 Agency Of Ind Science & Technol ロボット動作教示装置および動作教示方法
KR100765671B1 (ko) * 2005-02-25 2007-10-11 세이코 엡슨 가부시키가이샤 로봇 궤적 제어 방법 및 장치와 로봇 궤적 제어 방법의프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR20110114526A (ko) * 2008-12-17 2011-10-19 쿠카 레보라토리즈 게엠베하 사전 결정된 경로를 매니퓰레이터가 주행하게 하기 위한 방법, 및 이러한 방법을 실행하기 위한 제어 장치
JP2010155328A (ja) * 2009-01-01 2010-07-15 Sony Corp 軌道計画装置及び軌道計画方法、並びにコンピューター・プログラム
JP2011145797A (ja) * 2010-01-13 2011-07-28 Muscle Corp 軌道生成方法および軌道生成装置
JP2011189440A (ja) * 2010-03-12 2011-09-29 Fuji Electric Co Ltd ロボット制御装置、ロボットシステム、プログラムおよびロボットの制御方法
KR20150055008A (ko) 2012-09-13 2015-05-20 구글 인코포레이티드 터치스크린으로 방사형 메뉴 제공

Similar Documents

Publication Publication Date Title
US10427298B2 (en) Robot system displaying information for teaching robot
WO2018086226A1 (zh) 机械臂的控制方法和装置
US10406686B2 (en) Bare hand robot path teaching
US10166673B2 (en) Portable apparatus for controlling robot and method thereof
US20150273689A1 (en) Robot control device, robot, robotic system, teaching method, and program
US9300430B2 (en) Latency smoothing for teleoperation systems
CN113119098B (zh) 机械臂控制方法、机械臂控制装置及终端设备
CN109968361B (zh) 一种基于实时力反馈的变阻抗遥操作控制装置及方法
WO2016193686A4 (en) Characterising robot environments
US20140031982A1 (en) Robotic system and robot control device
WO2009096408A1 (ja) 多関節構造体教示装置
US11327630B1 (en) Devices, methods, systems, and media for selecting virtual objects for extended reality interaction
JP7035309B2 (ja) マスタスレーブシステム
US10507585B2 (en) Robot system that displays speed
US11577391B2 (en) Trajectory generation device, trajectory generation method, and robot system
KR102225348B1 (ko) 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법
JP6746902B2 (ja) 作業者用頭部装着型ディスプレイの情報表示システム
JP2018069361A (ja) 力制御座標軸設定装置、ロボットおよび力制御座標軸設定方法
Romadon et al. Pose estimation on soccer robot using data fusion from encoders, inertial sensor, and image data
KR102456872B1 (ko) 영상센서와 관성센서의 강결합 융합을 이용한 손동작 추적시스템 및 방법
CN105563482A (zh) 用于工业机器人的末端执行器的旋转运动规划方法
US20220009101A1 (en) Control device, control method, and non-transitory recording medium
KR102170592B1 (ko) 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법
CN113001537B (zh) 机械臂控制方法、机械臂控制装置及终端设备
Ostanin et al. Programming by Demonstration Using Two-Step Optimization for Industrial Robot.

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant