KR20230154500A - 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법 - Google Patents

엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법 Download PDF

Info

Publication number
KR20230154500A
KR20230154500A KR1020220053960A KR20220053960A KR20230154500A KR 20230154500 A KR20230154500 A KR 20230154500A KR 1020220053960 A KR1020220053960 A KR 1020220053960A KR 20220053960 A KR20220053960 A KR 20220053960A KR 20230154500 A KR20230154500 A KR 20230154500A
Authority
KR
South Korea
Prior art keywords
socket
absolute
ball
articulated robot
relative
Prior art date
Application number
KR1020220053960A
Other languages
English (en)
Other versions
KR102671823B1 (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 KR1020220053960A priority Critical patent/KR102671823B1/ko
Priority to PCT/KR2022/014680 priority patent/WO2023214625A1/ko
Publication of KR20230154500A publication Critical patent/KR20230154500A/ko
Application granted granted Critical
Publication of KR102671823B1 publication Critical patent/KR102671823B1/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/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/06Programme-controlled manipulators characterised by multi-articulated arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

본 발명은 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법에 관한 것이다. 본 발명은 절대 소켓을 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정한다. 절대 소켓에 다관절 로봇의 엔드 이펙터에 설치된 볼을 접촉한다. 절대 소켓과 볼이 접촉된 상태를 구속하면서 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출한다. 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 볼의 위치와 절대 소켓의 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출한다. 그리고 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트한다. 또한 본 발명에 따른 로봇의 캘리브레이션 장치는 다관절 로봇의 작업 영역 내에 임의의 위치에 상대 소켓을 추가적으로 설치하고, 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼의 위치와 상대 소켓의 상대 위치 간의 상대 위치 오차를 산출하고, 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출한 후, 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트할 수 있다.

Description

엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법{Apparatus and method for calibration of articulated robot using constraint condition of end effector}
본 발명은 로봇의 캘리브레이션 장치 및 방법에 관한 것으로, 더욱 상세하게는 다관절 로봇의 작업 정밀도를 향상시키기 위해 캘리브레이션을 수행하는 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법에 관한 것이다.
산업 현장에 설치된 다관절 로봇은 노후, 부품 교체, 반복 작업 등으로 인해 모델 파라미터가 달라질 수 있다. 이에 따라 주기적인 캘리브레이션을 수행하여 다관절 로봇의 작업 정확도를 보장해야 한다.
캘리브레이션을 위한 측정 방법은 레이저 트래커(laser tracker), 카메라 등과 같은 외부 측정 센서를 이용하여 엔드 이펙터(end effector)의 위치를 측정하는 방법과, 구속 조건을 이용하여 다관절 로봇의 관절 각도를 측정하는 방법이 있다.
레이저 트래커를 이용한 캘리브레이션 방법은, 레이저 트래커가 엔드 이펙터에 부착된 리플렉터(Reflector)를 추적하며, 엔드 이펙터의 위치를 높은 분해능으로 측정한다. 따라서 다관절 로봇의 높은 작업 정확도 보장을 위해 산업에서 많이 활용된다. 그러나 레이저 트래커는 억대를 넘는 고가의 장비이며, 측정 시스템의 부피가 크고 설치 및 측정 과정이 복잡하여 현장에서 사용하기 용이하지 않다.
카메라를 이용한 캘리브레이션 방법은 구성이 간단하나 요구되는 작업 정확도에 비해 대체적으로 측정 오차가 상대적으로 크므로 정확한 모델 파라미터의 추정이 어렵다.
그리고 구속 조건을 이용한 캘리브레이션 방법은 임의의 캘리브레이션용 지그를 사용하여 엔드 이펙터의 직선 경로 또는 특정 기하학적 구속 조건을 만들고 엔코더로부터 로봇 관절 각도를 측정하는 방법이다. 그러나 지그의 형상에 따라서 캘리브레이션의 정확도에 차이가 발생하기 때문에, 지그의 가공 정밀도를 위해 높은 제작비가 필요할 수 있다. 기준 좌표계에 대한 지그의 절대 위치 정보가 필요하다. 이로 인해 지그의 좌표계를 찾기 위한 별도의 캘리브레이션 과정이나, 사전에 알고 있는 기준 좌표계에 대한 절대 위치에 지그를 설치하는 등의 작업이 필요하다. 따라서 기존의 구속 조건은 다관절 로봇이 설치된 현장 조건에 크게 종속되기 때문에, 현장 조건에 따라서 적용이 제한될 수 있다.
등록특허공보 제10-2314092호 (2021.10.12. 등록)
따라서 본 발명의 목적은 다관절 로봇이 설치된 현장 조건에 크게 종속되지 않고 유연하고 빠르게 적용 가능한 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법을 제공하는 데 있다.
본 발명의 다른 목적은 설치 비용을 최소화할 수 있는 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 캘리브레이션의 정확도가 높은 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법을 제공하는 데 있다.
상기 목적을 달성하기 위하여, 본 발명은 다관절 로봇의 엔드 이펙터에 설치되는 볼; 상기 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정되는 적어도 하나의 절대 소켓; 및 상기 절대 소켓에 상기 볼을 접촉시킨 후, 상기 절대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 볼의 위치와 절대 소켓의 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트하는 제어부;를 포함하는 다관절 로봇의 캘리브레이션 장치를 제공한다.
본 발명은 또한, 다관절 로봇의 엔드 이펙터에 설치되는 볼; 상기 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정되는 적어도 하나의 절대 소켓; 상기 다관절 로봇의 작업 영역 내의 임의의 위치에 고정되는 적어도 하나의 상대 소켓; 및 상기 절대 및 상대 소켓에 상기 다관절 로봇의 엔드 이펙터에 설치된 볼을 접촉시킨 후, 상기 절대 및 상대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트하는 제어부;를 포함하는 다관절 로봇의 캘리브레이션 장치를 제공한다. 이때 상기 관절 각도 세트는 상기 절대 소켓에 상기 볼이 접촉된 상태에서 산출되는 절대 관절 각도 세트와, 상기 상대 소켓에 상기 볼이 접촉된 상태에서 산출되는 상대 관절 각도 세트를 포함한다. 상기 위치 오차는 상기 절대 관절 각도 세트를 이용하여 정기구학으로 볼의 위치와 절대 소켓의 절대 위치 간의 차이로 산출한다. 그리고 상기 상대 위치 오차는 상기 상대 관절 각도 세트를 이용하여 정기구학으로 산출한 볼의 위치 간의 차이로 산출한다.
상기 절대 소켓 및 상기 상대 소켓은 각각, 상기 볼이 삽입되어 접촉되면서 회전할 수 있도록, 상부면에 상기 볼에 대응되는 곡률을 갖는 곡면 홈이 형성되어 있다.
상기 볼은 상기 절대 소켓 및 상기 상대 소켓에 자력에 의해 상기 곡면 홈에 삽입되어 부착될 수 있다.
상기 제어부는 토크 제어 모드에서 직접교시 또는 프로그래밍을 통해 상기 볼을 상기 절대 소켓 또는 상대 소켓에 접촉시킬 수 있다.
상기 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치는 로봇 본체 및 상기 로봇 본체가 설치되는 베이스 지그 중에 적어도 하나이다.
상기 모델 파라미터는, 절대 소켓만을 이용하는 경우, 아래의 수학식 1을 비용함수로 하는 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정할 수 있다.
[수학식 1]
Figure pat00002
: 정기구학(forward kinematics) 함수
Figure pat00003
: 모델 파라미터 벡터
Figure pat00004
: 절대 소켓의 개수
Figure pat00005
:
Figure pat00006
번째 절대 소켓에 대한 측정점 개수
Figure pat00007
:
Figure pat00008
번째 절대 소켓의
Figure pat00009
번째 측정 관절 위치 벡터(
Figure pat00010
)
Figure pat00011
:
Figure pat00012
번째 절대 소켓의 위치 벡터
상기 모델 파라미터는, 절대 소켓과 상대 소켓을 이용하는 경우, 아래의 수학식 2를 비용함수로 하는 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정할 수 있다.
[수학식 2]
Figure pat00014
: 정기구학 함수
Figure pat00015
: 모델 파라미터 벡터
Figure pat00016
: 절대 소켓의 개수
Figure pat00017
: 상대 소켓의 개수
Figure pat00018
:
Figure pat00019
번째 절대 소켓에 대한 측정점 개수
Figure pat00020
:
Figure pat00021
번째 상대 소켓에 대한 측정점 개수
Figure pat00022
:
Figure pat00023
번째 상대 소켓에 대한 기준 측정 관절 위치 벡터
Figure pat00024
:
Figure pat00025
번째 절대 소켓의
Figure pat00026
번째 측정 관절 위치 벡터(
Figure pat00027
)
Figure pat00028
:
Figure pat00029
번째 상대 소켓의
Figure pat00030
번째 측정 관절 위치 벡터(
Figure pat00031
)
Figure pat00032
:
Figure pat00033
번째 절대 소켓의 위치 벡터
상기 제어부는, 비선형 최소제곱법을 이용하여 모델 파라미터를 반복적으로 추정하는 경우, 아래의 수학식 3을 이용하여 최적 모델 파라미터를 산출할 수 있다.
[수학식 3]
Figure pat00035
: 모델 파라미터 업데이트 벡터(
Figure pat00036
;
Figure pat00037
는 반복 횟수)
Figure pat00038
: 절대 소켓 측정점에 대한 자코비안(Jacobian) 행렬
Figure pat00039
: 상대 소켓 측정점에 대한 자코비안 행렬
Figure pat00040
: 상대 소켓에 대한 잔차 오차 벡터,
Figure pat00041
,
Figure pat00042
Figure pat00043
: 절대 소켓에 대한 잔차 오차 벡터,
Figure pat00044
,
Figure pat00045
본 발명은 또한, 절대 소켓을 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정하는 단계; 상기 절대 소켓에 상기 다관절 로봇의 엔드 이펙터에 설치된 볼을 접촉하는 단계; 상기 절대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하는 단계; 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 볼의 위치와 절대 소켓의 절대 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출하는 단계; 및 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트하는 단계;를 포함하는 다관절 로봇의 캘리브레이션 방법을 제공한다.
그리고 본 발명은, 절대 소켓을 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정하고, 상대 소켓을 상기 다관절 로봇의 작업 영역 내의 임의의 위치에 고정하는 단계; 상기 절대 및 상대 소켓에 상기 다관절 로봇의 엔드 이펙터에 설치된 볼을 접촉하는 단계; 상기 절대 및 상대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하는 단계; 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출하는 단계; 및 산출한 모델 파라미터로 상기 다관절 로봇의 캘리브레이션을 수행하는 단계;를 포함하는 다관절 로봇의 캘리브레이션 방법을 제공한다. 여기서 상대 위치 오차는 수학식 2의 첫째항 부분(절대값 안)이고, 위치 오차는 수학식 2의 둘째항 부분(절대값 안)이다.
본 발명에 따르면, 다관절 로봇의 설계 단계에서 로봇 본체 또는 로봇 본체가 설치되는 베이스 지그에 절대 위치 정보를 제공하는 절대 소켓을 설치함으로써, 기존에 엔드 이펙터의 구속 조건을 만들기 위해서 별도로 지그의 좌표계를 찾기 위한 별도의 캘리브레이션 과정이나, 사전에 알고 있는 기준 좌표계에 대한 절대 위치에 지그를 설치하는 등의 작업을 생략할 수 있다. 이로 인해 본 발명에 따른 로봇의 캘리브레이션 장치는 다관절 로봇이 설치된 현장 조건에 크게 종속되지 않고 유연하고 빠르게 적용 가능하다.
본 발명에 따른 로봇의 캘리브레이션 장치는 엔드 이펙터에 설치된 볼과 절대 소켓 간의 볼 조인트 메카니즘(ball joint mechanism)으로 접촉하기 때문에, 볼이 절대 소켓에 접촉된 상태에서 여러 자세를 만들어 엔코더로부터 관절 각도를 얻을 수 있기 때문에, 절대 소켓의 설치 개수를 최소화할 수 있다.
본 발명에 따른 로봇의 캘리브레이션 장치는 볼과 절대 소켓이 접촉된 상태를 구속한 후, 다관절 로봇의 자세를 여러 개 만들어 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 볼의 위치와 절대 소켓의 절대 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트할 수 있다.
위치 오차를 기반으로 산출된 모델 파라미터만을 다관절 로봇의 캘리브레이션에 활용할 경우, 절대 소켓의 위치가 다관절 로봇의 베이스 지그 근방의 영역에만 존재하기 때문에 암(arm) 길이, 툴(tool) 길이, 관절 각도의 제한, 간섭 등으로 인해 조인트 공간(Joint space) 상에서 넓은 배치(configuration)를 얻지 못할 수 있다. 이것은 모델 파라미터의 관측성을 저하시킬 수 있다.
이러한 약점을 보완하기 위해서, 본 발명에 따른 로봇의 캘리브레이션 장치는 다관절 로봇의 작업 영역 내에 임의의 위치에 상대 소켓을 추가적으로 설치하고, 볼과 상대 소켓이 볼 조인트 메카니즘으로 접촉된 상태를 구속한 후, 다관절 로봇의 자세를 여러 개 만들어 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼의 위치와 상대 소켓의 상대 위치 간의 상대 위치 오차를 산출한다. 그리고 본 발명에 따른 로봇의 캘리브레이션 장치는 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트할 수 있다.
이와 같이 위치 오차와 상대 위치 오차를 기반으로 산출된 모델 파라미터를 다관절 로봇의 캘리브레이션에 활용할 경우, 넓은 배치(configuration)를 얻을 수 있기 때문에, 모델 파라미터의 관측성을 향상시킬 수 있다. 즉 캘리브레이션의 정확도를 높일 수 있다.
본 발명에 따른 로봇의 캘리브레이션 장치는 볼, 절대 소켓 및 상대 소켓의 설치를 통해서 다관절 로봇의 캘리브레이션을 수행할 수 있고, 더욱이 상대 소켓은 로봇 작업 영역 내 임의의 위치에 배치할 수 있으므로 별도의 위치 결정 작업이 필요하지 않기 때문에, 설치 비용을 최소화할 수 있는 이점이 있다.
도 1은 본 발명의 제1 실시예에 따른 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치를 보여주는 도면이다.
도 2는 도 1의 볼 툴을 보여주는 사시도이다.
도 3은 도 1의 소켓을 보여주는 사시도이다.
도 4는 소켓에 볼 툴의 불이 접촉된 상태를 보여주는 부분 단면도이다.
도 5는 절대 소켓에 볼이 접촉된 상태에서 로봇이 여러 자세로 변형된 상태를 보여주는 도면이다.
도 6은 본 발명의 제1 실시예에 따른 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 방법을 보여주는 흐름도이다.
도 7 및 도 8은 도 5의 방법에 따른 캘리브레이션의 정확도를 확인하기 위한 시뮬레이션 과정을 보여주는 도면들로서,
도 7은 캘리브레이션 데이터에 대한 캘리브레이션 전후의 위치 오차 결과를 보여주는 그래프이고,
도 8은 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 위치 오차 결과를 보여주는 그래프이다.
도 9는 본 발명의 제2 실시예에 따른 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치를 보여주는 도면이다.
도 10은 본 발명의 제3 실시예에 따른 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치를 보여주는 도면이다.
도 11은 본 발명의 제3 실시예에 따른 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 방법을 보여주는 흐름도이다.
도 12 내지 도 16은 도 11의 방법에 따른 캘리브레이션의 정확도를 확인하기 위한 시뮬레이션 결과를 보여주는 도면들로서,
도 12는 실험에 사용된 다관절 로봇과 캘리브레이션 장치를 보여주는 사진이고,
도 13은 캘리브레이션 측정 데이터에 대한 캘리브레이션 전후의 위치 오차를 보여주는 그래프이고,
도 14는 캘리브레이션 측정 데이터에 대한 캘리브레이션 전후의 상대 위치 오차를 보여주는 그래프이고,
도 15는 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 위치 오차를 보여주는 그래프이고,
도 16은 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 상대 위치 오차를 보여주는 그래프이다.
도 17 내지 도 20은 도 11의 방법에 따른 캘리브레이션의 정확도를 확인하기 위한 캘리브레이션 알고리즘 실험 결과를 보여주는 도면들로서,
도 18은 캘리브레이션 전후의 위치 오차를 보여주는 그래프이고,
도 18은 캘리브레이션 전후의 상대 위치 오차를 보여주는 그래프이고,
도 19는 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 위치 오차를 보여주는 그래프이고,
도 20은 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 상대 위치 오차를 보여주는 그래프이다.
하기의 설명에서는 본 발명의 실시예를 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 벗어나지 않는 범위에서 생략될 것이라는 것을 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 바람직한 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명하고자 한다.
[제1 실시예]
도 1은 본 발명의 제1 실시예에 따른 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치를 보여주는 도면이다. 도 2는 도 1의 볼 툴을 보여주는 사시도이다. 도 3은 도 1의 소켓을 보여주는 사시도이다. 도 4는 소켓에 볼 툴의 불이 접촉된 상태를 보여주는 부분 단면도이다. 그리고 도 5는 절대 소켓에 볼이 접촉된 상태에서 로봇이 여러 자세로 변형된 상태를 보여주는 도면이다.
도 1 내지 도 5를 참조하면, 제1 실시예에 따른 캘리브레이션 장치(200)는 엔드 이펙터(30)의 구속 조건을 이용하여 다관절 로봇(100)의 캘리브레이션을 수행하는 장치이다.
이러한 제1 실시예에 따른 캘리브레이션 장치(200)는 볼(43), 절대 소켓(50) 및 제어부(90)를 포함한다. 볼(43)은 다관절 로봇(100)의 엔드 이펙터(30)에 설치된다. 절대 소켓(50)은 적어도 하나가 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치에 고정된다. 그리고 제어부(90)는 절대 소켓(50)에 볼(43)을 접촉시킨다. 제어부(90)는 절대 소켓(50)과 볼(43)이 접촉된 상태를 구속하면서 다관절 로봇(100)을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출한다. 제어부(90)는 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 볼(43)의 위치와 절대 소켓(50)의 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출한다. 그리고 제어부(90)는 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트한다.
제1 실시예에 따른 캘리브레이션 장치(200)는 저장부(70)를 더 포함할 수 있다.
다관절 로봇(100)은 베이스 지그(80) 위에 설치된다. 다관절 로봇(100)은 베이스 지그(80) 위에 고정 설치되는 로봇 본체(10)와, 로봇 본체(10)에 연결되는 다관절을 구비하는 로봇 암(20)과, 로봇 암(20)의 말단에 설치된 엔드 이펙터(30)를 포함한다. 도시하진 않았지만 로봇 암(20)에 포함되는 다수의 관절에는 각각 엔코더가 설치되어 있다. 엔코더 신호로부터 해당 관절의 각도를 산출할 수 있다.
볼(43)은 엔드 이펙터(30)에 설치된다. 볼(43)은 볼 툴(40)에 구비된 형태로 엔드 이펙터(30)에 설치된다. 볼 툴(40)은 툴 몸체(41)와 볼(43)을 포함한다. 툴 몸체(41)는 한 쪽이 엔드 이펙터(30)에 설치되고 다른 쪽에 볼(43)이 설치된다.
절대 소켓(50)은 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치에 설치되어 기준 좌표계의 절대 위치 정보를 제공한다. 여기서 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치는 로봇 본체(10)를 포함한다. 이러한 절대 소켓(50)의 설치 위치는 다관절 로봇(100)의 설계 단계 또는 설치 단계에서 결정된다. 절대 소켓(50)은 다관절 로봇(100)을 베이스 지그(80)에 설치할 때 함께 설치될 수 있다. 예컨대 절대 소켓(50)의 설치 위치가 로봇 본체(10)에 있는 경우, 절대 소켓(50)의 설치 위치는 다관절 로봇(100)의 설계 단계에서 결정될 수 있다. 절대 소켓(50)의 설치 위치가 베이스 지그(80)에 있는 경우, 절대 소켓(50)의 설치 위치는 다관절 로봇(100)의 설치 단계에서 결정될 수 있다.
이와 같이 다관절 로봇(100)의 설계 단계에서 로봇 본체(10) 또는 베이스 지그(80)에 절대 위치 정보를 제공하는 절대 소켓(50)을 설치함으로써, 기존에 엔드 이펙터(30)의 구속 조건을 만들기 위해서 별도로 지그의 좌표계를 찾기 위한 별도의 캘리브레이션 과정이나, 사전에 알고 있는 기준 좌표계에 대한 절대 위치에 지그를 설치하는 등의 작업을 생략할 수 있다. 이로 인해 제1 실시예에 따른 캘리브레이션 장치(200)는 다관절 로봇(100)이 설치된 현장 조건에 크게 종속되지 않고 유연하고 빠르게 적용 가능하다.
엔드 이펙터(30)의 볼(43)이 절대 소켓(50)에 접촉된 후, 접촉된 상태를 구속하면서 다관절 로봇(100)이 여러 자세를 만들 수 있도록, 절대 소켓(50)은 볼(43)이 삽입되어 접촉되면서 회전할 수 있도록, 상부면에 볼(43)에 대응되는 곡률을 갖는 곡면 홈(51)이 형성되어 있다. 즉 엔드 이펙터(30)에 설치된 볼(43)과 절대 소켓(50) 간의 볼 조인트 메카니즘(ball joint mechanism)으로 접촉한다.
일반적인 다관절 로봇(100)의 캘리브레이션에서는 절대 위치 측정점이 로봇 파라미터 개수보다 더 많은 조건식을 제공할 수 있도록 충분히 많아야 한다. 하지만 제1 실시예에 따른 절대 소켓(50)은 다관절 로봇(100)이 볼(43)을 매개로 접촉한 상태에서 다양한 자세를 만들 수 있고, 이로부터 관절 각도 세트를 산출할 수 있기 때문에, 기존 보다 설치되는 절대 소켓(50)의 수를 줄일 수 있다.
볼(43)과 절대 소켓(50)은 측정 정확도를 향상할 수 있도록 정밀한 공차로 설계하는 것이 바람직하다. 예컨대 볼(43)의 중심과 절대 소켓(50)의 곡면 홈(51)의 중심은 각각의 기준 좌표계에 대해 정밀한 위치도 내에 존재해야 한다. 볼(43)의 중심과 절대 소켓(50)의 곡면 홈(51)을 포함하는 구의 중심 사이가 정밀한 위치도 내에 존재해야 한다. 그리고 볼(43)과 곡면 홈(51)은 정밀한 진구도를 갖도록 가공되어야 한다. 즉 볼(43)과 곡면 홈(51)이 형성하는 구가 실질적으로 동일한 크기를 갖도록 형성하는 것이다.
절대 소켓(50)에 볼(43)이 안정적으로 삽입될 수 있도록, 곡면 홈(51)은 반구 보다는 작게 형성된다.
또한 절대 소켓(50)에 볼(43)이 안정적으로 삽입될 수 있도록, 볼(43)이 절대 소켓(50)에 자력에 의해 곡면 홈(51)에 삽입되어 부착되는 마그네틱 볼 조인트 메카니즘(Magnetic Ball Joint Mechanism)으로 구현될 수 있다.
저장부(70)는 캘리브레이션 장치(200)의 동작 제어시 필요한 프로그램과, 그 프로그램 수행 중에 발생되는 정보를 저장한다. 저장부(70)는 캘리브레이션을 수행하는 실행 프로그램을 저장한다. 즉 실행 프로그램은 엔코더 신호로부터 관절 각도를 산출하고, 산출한 관절 각도를 이용한 정기구학(forward kinematics)으로 산출한 볼(43)의 위치와 절대 소켓(50)의 절대 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 다관절 로봇(100)의 캘리브레이션을 수행한다.
그리고 제어부(90)는 다관절 로봇(100)의 전반적인 제어 동작을 수행하는 마이크로프로세서(microprocessor)이다. 특히 제어부(90)는 캘리브레이션 장치(200)의 전반적인 제어 동작을 수행한다.
제어부(90)는 볼(43)과 절대 소켓(50)을 이용하여 다음과 같이 다관절 로봇(100)의 캘리브레이션을 수행할 수 있다. 먼저 제어부(90)는 로봇 암(20)을 구동시켜 볼(43)을 절대 소켓(50)의 곡면 홈(51)에 접촉시킨다. 다음으로 제어부(90)는 절대 소켓(50)과 볼(43)이 접촉된 상태를 구속하면서 다관절 로봇(100)을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출한다. 이어서 제어부(90)는 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼(43)의 위치와 절대 소켓(50)의 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출한다. 그리고 제어부(90)는 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트한다.
제어부(90)는, 도 4에 도시된 바와 같이, 다관절 로봇(100)을 교시(teaching)하여 볼(43)을 절대 소켓(50)에 접촉시킬 수 있다. 교시는 토크 제어 모드에서 직접교시(direct teaching) 또는 프로그래밍을 통해 수행될 수 있다.
볼(43)과 절대 소켓(50)의 접촉 시, 볼(43)의 중심과 절대 소켓(50) 중심만이 구속되기 때문에, 엔드 이펙터(30) 또는 볼(43)의 오리엔테이션(Orientation)은 구속되지 않는다. 이러한 볼(43)과 절대 소켓(50) 간의 구속 조건을 활용하여, 도 5에 도시된 바와 같이, 접촉된 볼(43)과 절대 소켓(50)은 동일한 위치를 유지하면서 로봇 암(20)은 여러 자세를 만들 수 있다. 제어부(90)는 로봇 암(20)의 여러 자세에 대한 엔코더 신호를 읽고, 읽은 엔코더 신호들에 대한 관절 각도 세트를 산출하여 저장부(70)에 저장할 수 있다.
제어부(90)는 각각의 관절 각도로 계산된 TCP(Tool center point)의 위치, 즉 볼(43)의 중심은 모두 같기 때문에, 아래의 수학식 1과 같은 최적화 문제를 풀어 모델 파라미터를 산출할 수 있다. 즉 제어부(90)는 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼(43)의 위치()와 절대 소켓(50)의 위치(
Figure pat00047
) 간의 위치 오차를 최소화하는 모델 파라미터를 산출한다. 여기서 수학식 1은 모델 파라미터를 추정하기 위해 사용되는 비용함수이다. 모델 파라미터는, 절대 소켓(50)만을 이용하는 경우, 수학식 1에 따른 비용함수로 산출한 값을 이용한 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정할 수 있다.
Figure pat00049
: 정기구학(forward kinematics) 함수
Figure pat00050
: 모델 파라미터 벡터
Figure pat00051
: 절대 소켓의 개수
Figure pat00052
:
Figure pat00053
번째 절대 소켓에 대한 측정점 개수
Figure pat00054
:
Figure pat00055
번째 절대 소켓의
Figure pat00056
번째 측정 관절 위치 벡터(
Figure pat00057
)
Figure pat00058
:
Figure pat00059
번째 절대 소켓의 위치 벡터
그리고 제어부(90)는 산출한 모델 파라미터로 다관절 로봇(100)의 캘리브레이션을 수행함으로써, 다관절 로봇(100)의 작업 정밀도를 향상시킬 수 있다.
이와 같은 제1 실시예에 따른 캘리브레이션 장치(200)를 이용한 다관절 로봇(100)의 캘리브레이션 방법을 도 1 내지 도 6을 참조하여 설명하면 다음과 같다. 여기서 도 6은 본 발명의 제1 실시예에 따른 엔드 이펙터(30)의 구속 조건을 이용한 다관절 로봇(100)의 캘리브레이션 방법을 보여주는 흐름도이다.
먼저 S10단계에서 절대 소켓(50)을 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치에 고정한다. 이때 절대 소켓(50)은 현장에 다관절 로봇(100)을 설치하는 단계에서 미리 설치될 수 있다.
다음으로 S20단계에서 제어부(90)는 절대 소켓(50)에 다관절 로봇(100)의 엔드 이펙터(30)에 설치된 볼(43)을 접촉시킨다.
다음으로 S30단계에서 절대 소켓(50)과 볼(43)이 접촉된 상태를 구속하면서 다관절 로봇(100)을 여러 자세를 만들어, 제어부(90)는 관절에 설치된 엔코더로부터 관절 각도 세트를 산출한다.
이어서 S40단계에서 제어부(90)는 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼(43)의 위치와 절대 소켓(50)의 절대 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출한다. 즉 모델 파라미터는 수학식 1로 산출할 수 있다.
그리고 S50단계에서 제어부(90)는 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트한다.
이와 같은 제1 실시예에 따른 캘리브레이션 방법의 정확도를 확인하기 위해서, 도 7 및 도 8에 도시된 바와 같이 시뮬레이션을 수행하였다. 여기서 도 7 및 도 8은 도 5의 방법에 따른 캘리브레이션의 정확도를 확인하기 위한 시뮬레이션 과정을 보여주는 도면들로서, 도 7은 캘리브레이션 데이터에 대한 캘리브레이션 전후의 위치 오차 결과를 보여주는 그래프이고, 도 8은 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 위치 오차 결과를 보여주는 그래프이다.
시뮬레이션 진행 과정은 다음과 같다. 본 시뮬레이션에서 다관절 로봇으로, 도 9에 도시된 바와 같은, 로보스타 RA004를 이용하였다. 모델 파라미터에 대한 가상의 다관절 로봇(100)을 생성한다. 그 후 주어진 포인트에 대해 몇 가지 오리엔테이션을 추가한 포즈 벡터 세트(pose vector set)를 생성한다. 생성한 포즈 벡터 세트 중에서, 약 80%는 캘리브레이션을 위해 약 20%는 검증(Verification)을 위해 사용한다. 포즈 벡터 세트에 대한 관절 각도를 역기구학(Inverse Kinematics)으로 산출한다. 이것은 실제 상황에서 엔코더에서 읽은 관절 각도에 대응한다.
주어진 절대 위치 데이터와 관절 각도에 대응하는 Nominal 모델의 TCP 위치와의 에러(위치 오차)를 최소화하는 방향으로 비선형 최소제곱법(nonlinear least squares method)을 풀어 모델 파라미터를 추정하였다.
추정 모델 파라미터에 대한 검증(Verificataion)을 위해 절대 소켓 1개의 포인트에 대한 위치 오차를 계산하였다.
표1은 캘리브레이션 전의 에러를 나타내고, 표2는 캘리브레이션 후의 에러를 나타낸다. 표1 및 표2에서 mean은 평균, min는 최소값, max는 최대값을 나타낸다.
도 7, 표1 및 표2에 도시된 바와 같이, 제1 실시예에 따른 캘리브레이션 방법에 따르면 절대 소켓에 대한 위치 오차가 확연하게 감소한 것을 확인할 수 있다. 즉 제1 실시예에 따른 캘리브레이션 방법은 높은 작업 정확도를 얻을 수 있음을 확인할 수 있다.
표3은 캘리브레이션 전의 검증결과를 나타내고, 표4는 캘리브레이션 후의 검증결과를 나타낸다.
도 8, 표3 및 표4에 따르면, 제1 실시예에 따른 캘리브레이션 방법은 절대 소켓에 대한 검증에서도, 위치 오차가 확연하게 감소한 것을 확인할 수 있다. 즉 제1 실시예에 따른 캘리브레이션 방법은 높은 작업 정확도를 얻을 수 있음을 확인할 수 있다.
이와 같이 제1 실시예에 따른 로봇의 캘리브레이션 장치(200)는 엔드 이펙터(30)에 설치된 볼(43)과 절대 소켓(50) 간의 볼 조인트 메카니즘(ball joint mechanism)으로 접촉하기 때문에, 볼(43)이 절대 소켓(50)에 접촉된 상태에서 여러 자세를 만들어 엔코더로부터 관절 각도를 얻을 수 있기 때문에, 절대 소켓(50)의 설치 개수를 최소화할 수 있다.
제1 실시예에 따른 캘리브레이션 장치(200)는 볼(43)과 절대 소켓(50)이 접촉된 상태를 구속한 후, 로봇의 자세를 여러 개 만들어 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼(43)의 위치와 절대 소켓(50)의 절대 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 다관절 로봇(100)의 캘리브레이션을 수행할 수 있다.
제1 실시예에 따른 캘리브레이션 장치(200)는 다관절 로봇(100)을 해체하지 않고도 캘리브레이션을 수행할 수 있다.
제1 실시예에 따른 캘리브레이션 장치(200)는 볼(43)과 절대 소켓(50)의 구속 조건을 이용하여 캘리브레이션을 수행하고 설치 공간 또한 크지 않기 때문에, 협소한 작업 공간에서도 적용이 가능하여 다관절 로봇(100)이 설치된 현장 조건에 크게 종속되지 않고 유연하고 빠르게 적용할 수 있고, 기존의 캘리브레이션 장치와 비교해서 저비용으로 구현이 가능하다.
제1 실시예에 따른 캘리브레이션 장치(200)는 작업자의 숙련도와 무관하게 캘리브레이션을 쉽게 수행할 수 있다.
제1 실시예에 따른 캘리브레이션 장치(200)는 별도의 센서를 사용하지 않기 때문에, 센서 오차를 차단할 수 있다.
그리고 제1 실시예에 따른 캘리브레이션 장치(200)는 주기적인 캘리브레이션의 자동화가 가능하다.
[제2 실시예]
한편 제1 실시예에서는 절대 소켓(50)이 베이스 지그(80)에 설치된 예를 개시하였지만 이것에 한정되는 것은 아니다. 예컨대 도 9에 도시된 바와 같이, 절대 소켓(50)은 로봇 본체(10)에 설치될 수 있다.
도 9는 본 발명의 제2 실시예에 따른 엔드 이펙터(30)의 구속 조건을 이용한 다관절 로봇(100)의 캘리브레이션 장치(300)를 보여주는 도면이다.
도 9를 참조하면, 제2 실시에에 따른 캘리브레이션 장치(300)는 볼(43), 절대 소켓(50) 및 제어부(90)를 포함한다. 볼(43)은 다관절 로봇(100)의 엔드 이펙터(30)에 설치된다. 절대 소켓(50)은 적어도 하나가 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치에 고정된다. 그리고 제어부(90)는 절대 소켓(50)에 볼(43)을 접촉시킨다. 제어부(90)는 절대 소켓(50)과 볼(43)이 접촉된 상태를 구속하면서 다관절 로봇(100)을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출한다. 제어부(90)는 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼(43)의 위치와 절대 소켓(50)의 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출한다. 그리고 제어부(90)는 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트한다.
제2 실시예에 따른 캘리브레이션 장치(300)는 저장부(70)를 더 포함할 수 있다.
여기서 절대 소켓(50)은 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치에 설치되어 기준 좌표계의 절대 위치 정보를 제공한다. 여기서 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치는 로봇 본체(10)이다. 절대 소켓(50)은 로봇 본체(10)에 복수 개가 설치된 예를 개시하였다.
이와 같이 제2 실시예에 따른 캘리브레이션 장치(300)는 절대 소켓(50)이 로봇 본체(10)에 설치되는 것을 제외하고, 제1 실시예에 따른 캘리브레이션 장치(200)와 동일한 구조를 갖는다.
제2 실시예에 따른 캘리브레이션 장치(300)는 제1 실시예에 따른 캘리브레이션 장치(100)와 실질적으로 동일한 구조를 갖기 때문에, 제1 실시예에 따른 캘리브레이션 장치(100)와 동일하게 효과를 기대할 수 있다.
[제3 실시예]
한편 제1 및 제2 실시예에 따른 캘리브레이션 장치(200,300)는 볼(43)과 절대 소켓(50)을 이용하여 캘리브레이션을 수행하는 예를 개시하였지만 이것에 한정되는 것은 아니다. 예컨대 도 10에 도시된 바와 같이, 다관절 로봇(100)의 작업 영역 내의 임의의 위치에 적어도 하나의 상대 소켓(60)을 추가적으로 고정하여, 볼(43), 절대 소켓(50) 및 상대 소켓(60)을 이용하여 다관절 로봇(100)에 대한 캘리브레이션을 수행할 수 있다.
도 10은 본 발명의 제3 실시예에 따른 엔드 이펙터(30)의 구속 조건을 이용한 다관절 로봇(100)의 캘리브레이션 장치(400)를 보여주는 도면이다.
도 10을 참조하면, 제3 실시예에 따른 캘리브레이션 장치(400)는 볼(43), 절대 소켓(50), 상대 소켓(60) 및 제어부(90)를 포함한다. 볼(43)은 다관절 로봇(100)의 엔드 이펙터(30)에 설치된다. 절대 소켓(50)은 적어도 하나가 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치에 고정된다. 상대 소켓(60)은 적어도 하나가 다관절 로봇(100)의 작업 영역 내의 임의의 위치에 고정된다. 제어부(90)는 절대 및 상대 소켓(60)에 다관절 로봇(100)의 엔드 이펙터(30)에 설치된 볼(43)을 접촉시킨다. 제어부(90)는 절대 및 상대 소켓(60)과 볼(43)이 접촉된 상태를 구속하면서 다관절 로봇(100)을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출한다. 제어부(90)는 각각의 관절 각도를 이용하여 정기구학으로 산출한 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출한다. 그리고 제어부(90)는 산출한 모델 파라미터로 다관절 로봇(100)의 캘리브레이션을 수행한다.
이때 관절 각도 세트는 절대 소켓(50)에 볼(43)이 접촉된 상태에서 산출되는 절대 관절 각도 세트와, 상대 소켓(60)에 볼(43)이 접촉된 상태에서 산출되는 상대 관절 각도 세트를 포함한다.
위치 오차는 절대 관절 각도 세트를 이용하여 정기구학으로 볼(43)의 위치와 절대 소켓(50)의 위치 간의 차이로 산출한다.
그리고 상대 위치 오차는 관절 각도 세트를 이용하여 산출한 각각의 위치 간의 차이로 산출한다. 예를 들어 첫 번째 측정 관절 각도로 계산한 볼(43)의 위치를 기준으로 하고, 나머지 각각의 관절 각도로 계산한 볼(43)의 위치 간의 오차로 산출할 수 있다.
제3 실시예에 따른 캘리브레이션 장치(400)는 저장부(70)를 더 포함할 수 있다.
여기서 상대 소켓(60)은 설치되는 장소만 상이할 뿐, 절대 소켓(50)과 유사한 구조를 갖는다. 즉 상대 소켓(60)은 볼(43)이 삽입되어 접촉될 수 있도록, 상부면에 볼(43)에 대응되는 곡률을 갖는 곡면 홈(61)이 형성되어 있다.
상대 소켓(60)은 캘리브레이션 수행 시 모델 파라미터 식별을 위한 관측성 지표를 향상시키고, 지정된 작업 영역에서 위치정확도를 향상시키기 위한 정보를 제공한다. 상대 소켓(60)은 기준 좌표계에 대한 절대 위치 정보가 필요하지 않기 때문에, 다관절 로봇(100)의 작업 영역 내에 임의의 위치에 놓여질 수 있다.
상대 소켓(60)은 직접 다관절 로봇(100)의 작업 영역 내의 임의의 위치에 고정될 수 있지만, 고정 지그(63)와 설치대(65)를 이용하여 고정된다. 즉 고정 지그(63)가 다관절 로봇(100)의 작업 영역에 고정된다. 고정 지그(63) 위에 일정 높이를 갖는 설치대(65)가 설치된다. 그리고 상대 소켓(60)은 설치대(65)의 상단에 설치된다. 물론 상대 소켓(60)의 곡면 홈(61)이 상부를 향하도록 설치된다.
상대 소켓(60)은 설치대(65)의 길이 조절을 통하여 다양한 높이로 설치될 수 있다. 상대 소켓(60)은 다관절 로봇(100)의 작업 영역 내의 임의의 위치에 고정되기 때문에, 절대 소켓(50) 보다는 로봇 본체(10)에서 먼 위치에 설치된다.
상대 소켓(60)에 볼(43)이 안정적으로 삽입될 수 있도록, 볼(43)이 상대 소켓(60)에 자력에 의해 곡면 홈(61)에 삽입되어 부착되는 마그네틱 볼 조인트 메카니즘으로 구현될 수 있다.
제어부(90)는 모델 파라미터를 아래의 수학식 2를 비용함수로 하는 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정할 수 있다.
Figure pat00065
: 정기구학 함수
Figure pat00066
: 모델 파라미터 벡터
Figure pat00067
: 절대 소켓의 개수
Figure pat00068
: 상대 소켓의 개수
Figure pat00069
:
Figure pat00070
번째 절대 소켓에 대한 측정점 개수
Figure pat00071
:
Figure pat00072
번째 상대 소켓에 대한 측정점 개수
Figure pat00073
:
Figure pat00074
번째 상대 소켓에 대한 기준 측정 관절 위치 벡터
Figure pat00075
:
Figure pat00076
번째 절대 소켓의
Figure pat00077
번째 측정 관절 위치 벡터(
Figure pat00078
)
Figure pat00079
:
Figure pat00080
번째 상대 소켓의
Figure pat00081
번째 측정 관절 위치 벡터(
Figure pat00082
)
Figure pat00083
:
Figure pat00084
번째 절대 소켓의 위치 벡터
전술된 바와 같이, 제어부(90)는 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출하게 된다. 수학식 2에서 오른쪽 항목은 위치 오차에 해당하고, 왼쪽 항목은 상대 위치 오차에 해당한다.
위치 오차는, 수학식 2에서, 절대 관절 각도 세트를 이용하여 정기구학으로 볼(43)의 위치()와 절대 소켓(50)의 절대 위치(
Figure pat00086
) 간의 차이로 산출한다.
그리고 상대 위치 오차는 관절 각도 세트를 이용하여 산출한 각각의 위치 간의 차이로 산출한다. 예를 들어 상대 위치 오차는 상대 소켓에 대응하는 관절 각도세트를 이용하여 정기 구학으로 산출한 볼(43)의 위치 중 기준 위치() 와 나머지 각각의 관절 각도에 대한 위치와의 차이로 산출한다.
이와 같이 제3 실시예에 따른 캘리브레이션 장치(400)가 절대 소켓(50)과 상대 소켓(60)을 이용하여 캘리브레이션을 수행하는 이유는 다음과 같다.
제1 및 제2 실시예와 같이, 위치 오차를 기반으로 산출된 모델 파라미터만을 로봇의 캘리브레이션에 활용할 경우, 절대 소켓(50)의 위치가 로봇의 베이스 지그(80) 근방의 영역에만 존재하기 때문에, 다관절 로봇(100)의 작업 영역이 크지 않은 경우 유효하게 사용될 수 있다.
하지만 제1 및 제2 실시예의 경우, 절대 소켓(50)의 위치가 로봇의 베이스 지그(80) 근방의 영역에만 존재하기 때문에, 암(arm) 길이, 툴(tool) 길이, 관절 각도의 제한, 간섭 등으로 인해 조인트 공간(Joint space) 상에서 넓은 배치(configuration)를 얻지 못할 수 있다. 이것은 모델 파라미터의 관측성을 저하시킬 수 있기 때문이다.
따라서 제3 실시예에 따른 캘리브레이션 장치(400)는 다관절 로봇(100)의 작업 영역 내에 임의의 위치에 상대 소켓(60)을 추가적으로 설치하고, 볼(43)과 상대 소켓(60)이 볼 조인트 메카니즘으로 접촉된 상태를 구속한 후, 다관절 로봇(100)의 자세를 여러 개 만들어 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼(43)의 위치와 상대 소켓(60)의 상대 위치 간의 상대 위치 오차를 산출한다. 그리고 제3 실시예에 따른 캘리브레이션 장치(400)는 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 로봇의 캘리브레이션을 수행한다.
한편으로 상대 소켓(60)만을 사용하여 상대 위치 오차를 최소화하는 모델 파라미터를 산출하여 로봇의 캘리브레이션을 수행하는 방안을 고려할 수 있다.
하지만 상대 소켓(60)만을 사용하면 안되는 이유는 다음과 같다. 상대 소켓(60)에서 측정된 정보로 모델 파라미터를 산출할 경우, 모델 파라미터에 대한 다중해가 존재하기 때문이다.
따라서 모델 파라미터의 유일성(uniqueness)를 위해 절대 소켓(50)이 필요하다. 즉 절대 소켓(50)은 모델 파라미터의 유일성을 위한 절대 위치 정보를 제공하고, 상대 소켓(60)은 작업영역 전체 혹은 그 중 관심영역에서의 최적의 모델 파라미터를 구하고 관측성 지표를 향상시킨다
그리고 제어부(90)는 모델 파라미터를 산출하는 과정을 반복 수행하여 캘리브레이션의 정확도는 높일 수 있다. 이때 제어부(90)는 비선형 최소제곱법을 이용하여 모델 파라미터를 반복적으로 추정하는 경우, 아래의 수학식 3을 이용하여 최적 모델 파라미터를 산출할 수 있다.
Figure pat00089
: 모델 파라미터 업데이트 벡터(
Figure pat00090
;
Figure pat00091
는 반복 횟수)
Figure pat00092
: 절대 소켓 측정점에 대한 자코비안(Jacobian) 행렬
Figure pat00093
: 상대 소켓 측정점에 대한 자코비안 행렬
Figure pat00094
: 상대 소켓에 대한 잔차 오차 벡터,
Figure pat00095
,
Figure pat00096
Figure pat00097
: 절대 소켓에 대한 잔차 오차 벡터,
Figure pat00098
,
Figure pat00099
이와 같은 제3 실시예에 따른 캘리브레이션 장치(400)를 이용한 다관절 로봇(100)의 캘리브레이션 방법을 도 10 및 도 11을 참조하여 설명하면 다음과 같다. 여기서 도 11은 본 발명의 제3 실시예에 따른 엔드 이펙터(30)의 구속 조건을 이용한 다관절 로봇(100)의 캘리브레이션 방법을 보여주는 흐름도이다.
먼저 S110단계에서 절대 소켓(50)을 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치에 고정하고, 상대 소켓(60)을 다관절 로봇(100)의 작업 영역 내의 임의의 위치에 고정한다. 이때 절대 소켓(50)은 현장에 다관절 로봇(100)을 설치하는 단계에서 미리 설치될 수 있다. 상대 소켓(60)은 캘리브레이션을 수행할 때 다관절 로봇(100)의 작업 영역 내에 고정할 수 있다.
다음으로 S120단계에서 제어부(90)는 절대 및 상대 소켓(60)에 다관절 로봇(100)의 엔드 이펙터(30)에 설치된 볼(43)을 접촉시킨다.
다음으로 S130단계에서 제어부(90)는 절대 및 상대 소켓(60)과 볼(43)이 접촉된 상태를 구속하면서 다관절 로봇(100)을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출한다.
이때 절대 소켓(50) 및 상대 소켓(60) 중에 하나에 볼(43)을 접촉시킨 상태에서 관절 각도 세트를 산출한다.
따라서 S120단계 및 S130단계를 수행할 때, 절대 관절 각도 세트를 먼저 산출한 이후에 상대 관절 각도 세트를 산출할 수 있다.
반대로 상대 관절 각도 세트를 먼저 산출한 이후에 절대 관절 각도 세트를 산출할 수 있다.
이어서 S140단계에서 제어부(90)는 각각의 관절 각도를 이용하여 정기구학으로 산출한 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 수학식 2로 산출한다.
그리고 S150단계에서 제어부(90)는 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트한다.
한편 제어부(90)는 모델 파라미터를 산출하는 S120 내지 S140단계를 반복 수행할 수 있으며, 이 경우 수학식 3으로 최적 모델 파라미터를 산출할 수 있다.
이와 같은 제3 실시예에 따른 캘리브레이션 방법의 정확도를 확인하기 위해서, 도 12 내지 도 16에 도시된 바와 같이 시뮬레이션을 수행하였다. 여기서 도 12는 실험에 사용된 다관절 로봇과 캘리브레이션 장치를 보여주는 사진이다. 도 13은 캘리브레이션 측정 데이터에 대한 캘리브레이션 전후의 위치 오차를 보여주는 그래프이다. 도 14는 캘리브레이션 측정 데이터에 대한 캘리브레이션 전후의 상대 위치 오차를 보여주는 그래프이다. 도 15는 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 위치 오차를 보여주는 그래프이다. 그리고 도 16은 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 상대 위치 오차를 보여주는 그래프이다.
제3 실시예에 따른 캘리브레이션 알고리즘 시뮬레이션에는 다관절 로봇으로 로보스타 RA004를 이용하였다. 캘리브레이션 알고리즘 실험에는 다관절 로봇으로는 뉴로메카 Indy7을 이용하였다. 직접교시를 통하여 볼(43)을 절대 소켓(50) 또는 상대 소켓(60)에 접촉시켰다. 볼(43)이 소켓에 접촉된 상태를 구속하면서 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하였다. 산출한 관절 각도 세트를 이용하여 산출한 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 수학식 2로 산출하였다.
시뮬레이션 진행 과정은 다음과 같다. 모델 파라미터에 가상의 다관절 로봇(100)을 생성한다. 그 후 주어진 절대 소켓 포인트 및 상대 소켓 포인트에 대해 몇 가지 오리엔테이션을 추가한 포즈 벡터 세트를 생성한다. 생성한 포즈 벡터 세트 중에서, 약 80%는 캘리브레이션을 위해 약 20%는 검증을 위해 사용한다. 포즈 벡터 세트에 대한 관절 각도를 역기구학으로 산출한다. 이것은 실제 상황에서 엔코더에서 읽은 관절 각도에 대응한다.
주어진 절대 소켓 위치 데이터와 관절 각도에 대응하는 Nominal 모델의 TCP 위치와의 차이를 절대 소켓 에러(위치 오차)로 정의하고, 상대 소켓은 측정점 중 가장 첫번째를 기준으로 계산한 위치와 나머지 관절 각도에 대응하는 TCP 위치와의 에러를 상대 소켓 에러(상대 위치 오차)로 정의한다
표5는 캘리브레이션 전의 에러를 나타내고, 표6은 캘리브레이션 후의 에러를 나타낸다.
도 13, 도 14, 표5 및 표6에 도시된 바와 같이, 제3 실시예에 따른 캘리브레이션 방법에 따르면 절대 소켓, 상대 소켓, 및 양쪽 소켓에 대한 오차가 확연하게 감소한 것을 확인할 수 있다. 즉 제3 실시예에 따른 캘리브레이션 방법은 높은 작업 정확도를 얻을 수 있음을 확인할 수 있다.
표7은 캘리브레이션 전의 검증결과를 나타내고, 표8은 캘리브레이션 후의 검증결과를 나타낸다.
도 15, 도 16, 표7 및 표8에 도시된 바와 같이, 제3 실시예에 따른 캘리브레이션 방법에 따르면 절대 소켓, 상대 소켓, 및 양쪽 소켓에 대한 검증에서도, 오차가 확연하게 감소한 것을 확인할 수 있다. 즉 제3 실시예에 따른 캘리브레이션 방법은 높은 작업 정확도를 얻을 수 있음을 확인할 수 있다.
도 17 내지 도 20은 도 11의 방법에 따른 캘리브레이션의 정확도를 확인하기 위한 캘리브레이션 알고리즘 실험 결과를 보여주는 도면들이다. 도 18은 캘리브레이션 전후의 위치 오차를 보여주는 그래프이다. 도 18은 캘리브레이션 전후의 상대 위치 오차를 보여주는 그래프이다. 도 19는 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 위치 오차를 보여주는 그래프이다. 그리고 도 20은 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 상대 위치 오차를 보여주는 그래프이다.
표5는 캘리브레이션 전의 에러를 나타내고, 표6은 캘리브레이션 후의 에러를 나타낸다.
도 17, 도 18, 표9 및 표10에 도시된 바와 같이, 제3 실시예에 따른 캘리브레이션 방법에 따르면 절대 소켓, 상대 소켓, 및 양쪽 소켓에 대한 오차가 확연하게 감소한 것을 확인할 수 있다. 즉 제3 실시예에 따른 캘리브레이션 방법은 높은 작업 정확도를 얻을 수 있음을 확인할 수 있다.
표11은 캘리브레이션 전의 검증결과를 나타내고, 표12는 캘리브레이션 후의 검증결과를 나타낸다.
도 19, 도 20, 표11 및 표12에 도시된 바와 같이, 제3 실시예에 따른 캘리브레이션 방법에 따르면 절대 소켓, 상대 소켓, 및 양쪽 소켓에 대한 검증에서도, 오차가 확연하게 감소한 것을 확인할 수 있다. 즉 제3 실시예에 따른 캘리브레이션 방법은 높은 작업 정확도를 얻을 수 있음을 확인할 수 있다.
한편, 본 명세서와 도면에 개시된 실시예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게는 자명한 것이다.
100 : 다관절 로봇
10 : 로봇 본체
20 : 로봇 암
30 : 엔드 이펙터
80 : 베이스 지그
200, 300, 400 : 캘리브레이션 장치
40 : 볼 툴
41 : 툴 몸체
43 : 볼
50 : 절대 소켓
51, 61 : 곡면 홈
60 : 상대 소켓
63 : 고정 지그
65 : 설치대
70 : 저장부
90 : 제어부

Claims (13)

  1. 다관절 로봇의 엔드 이펙터에 설치되는 볼;
    상기 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정되는 적어도 하나의 절대 소켓; 및
    상기 절대 소켓에 상기 볼을 접촉시킨 후, 상기 절대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 볼의 위치와 절대 소켓의 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트하는 제어부;
    를 포함하는 다관절 로봇의 캘리브레이션 장치.
  2. 다관절 로봇의 엔드 이펙터에 설치되는 볼;
    상기 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정되는 적어도 하나의 절대 소켓;
    상기 다관절 로봇의 작업 영역 내의 임의의 위치에 고정되는 적어도 하나의 상대 소켓; 및
    상기 절대 및 상대 소켓에 상기 다관절 로봇의 엔드 이펙터에 설치된 볼을 접촉시킨 후, 상기 절대 및 상대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트하는 제어부;를 포함하고,
    상기 관절 각도 세트는 상기 절대 소켓에 상기 볼이 접촉된 상태에서 산출되는 절대 관절 각도 세트와, 상기 상대 소켓에 상기 볼이 접촉된 상태에서 산출되는 상대 관절 각도 세트를 포함하고,
    상기 위치 오차는 상기 절대 관절 각도 세트를 이용하여 정기구학으로 볼의 위치와 절대 소켓의 절대 위치 간의 차이로 산출하고,
    상기 상대 위치 오차는 상기 상대 관절 각도 세트를 이용하여 정기구학으로 산출한 볼의 위치 간의 차이로 산출하는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 절대 소켓 및 상기 상대 소켓은 각각,
    상기 볼이 삽입되어 접촉되면서 회전할 수 있도록, 상부면에 상기 볼에 대응되는 곡률을 갖는 곡면 홈이 형성되어 있는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
  4. 제3항에 있어서,
    상기 볼은 상기 절대 소켓 및 상기 상대 소켓에 자력에 의해 상기 곡면 홈에 삽입되어 부착되는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
  5. 제4항에 있어서,
    상기 제어부는 토크 제어 모드에서 직접교시 또는 프로그래밍을 통해 상기 볼을 상기 절대 소켓 또는 상대 소켓에 접촉시키는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
  6. 제1항 또는 제2항에 있어서,
    상기 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치는 로봇 본체 및 상기 로봇 본체가 설치되는 베이스 지그 중에 적어도 하나인 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
  7. 제1항에 있어서,
    상기 모델 파라미터는, 절대 소켓만을 이용하는 경우, 아래의 수학식 1을 비용함수로 하는 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정하는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
    [수학식 1]

    Figure pat00109
    : 정기구학(forward kinematics) 함수
    Figure pat00110
    : 모델 파라미터 벡터
    Figure pat00111
    : 절대 소켓의 개수
    Figure pat00112
    :
    Figure pat00113
    번째 절대 소켓에 대한 측정점 개수
    Figure pat00114
    :
    Figure pat00115
    번째 절대 소켓의
    Figure pat00116
    번째 측정 관절 위치 벡터(
    Figure pat00117
    )
    Figure pat00118
    :
    Figure pat00119
    번째 절대 소켓의 위치 벡터
  8. 제2항에 있어서,
    상기 모델 파라미터, 절대 소켓과 상대 소켓을 이용하는 경우, 아래의 수학식 2를 비용함수로 하는 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정하는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
    [수학식 2]

    Figure pat00121
    : 정기구학 함수
    Figure pat00122
    : 모델 파라미터 벡터
    Figure pat00123
    : 절대 소켓의 개수
    Figure pat00124
    : 상대 소켓의 개수
    Figure pat00125
    :
    Figure pat00126
    번째 절대 소켓에 대한 측정점 개수
    Figure pat00127
    :
    Figure pat00128
    번째 상대 소켓에 대한 측정점 개수
    Figure pat00129
    :
    Figure pat00130
    번째 상대 소켓에 대한 기준 측정 관절 위치 벡터
    Figure pat00131
    :
    Figure pat00132
    번째 절대 소켓의
    Figure pat00133
    번째 측정 관절 위치 벡터(
    Figure pat00134
    )
    Figure pat00135
    :
    Figure pat00136
    번째 상대 소켓의
    Figure pat00137
    번째 측정 관절 위치 벡터(
    Figure pat00138
    )
    Figure pat00139
    :
    Figure pat00140
    번째 절대 소켓의 위치 벡터
  9. 제8항에 있어서,
    상기 제어부는, 비선형 최소제곱법을 이용하여 모델 파라미터를 반복적으로 추정하는 경우, 아래의 수학식 3을 이용하여 최적 모델 파라미터를 산출하는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
    [수학식 3]

    Figure pat00142
    : 모델 파라미터 업데이트 벡터(
    Figure pat00143
    ;
    Figure pat00144
    는 반복 횟수)
    Figure pat00145
    : 절대 소켓 측정점에 대한 자코비안(Jacobian) 행렬
    Figure pat00146
    : 상대 소켓 측정점에 대한 자코비안 행렬
    Figure pat00147
    : 상대 소켓에 대한 잔차 오차 벡터,
    Figure pat00148
    ,
    Figure pat00149

    Figure pat00150
    : 절대 소켓에 대한 잔차 오차 벡터,
    Figure pat00151
    ,
    Figure pat00152
  10. 절대 소켓을 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정하는 단계;
    상기 절대 소켓에 상기 다관절 로봇의 엔드 이펙터에 설치된 볼을 접촉하는 단계;
    상기 절대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하는 단계;
    각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 볼의 위치와 절대 소켓의 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출하는 단계; 및
    산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트하는 단계;
    를 포함하는 다관절 로봇의 캘리브레이션 방법.
  11. 제10항에 있어서,
    상기 모델 파라미터는, 절대 소켓만을 이용하는 경우, 아래의 수학식 1을 비용함수로 하는 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정하는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 방법.
    [수학식 1]

    Figure pat00154
    : 정기구학(forward kinematics) 함수
    Figure pat00155
    : 모델 파라미터 벡터
    Figure pat00156
    : 절대 소켓의 개수
    Figure pat00157
    :
    Figure pat00158
    번째 절대 소켓에 대한 측정점 개수
    Figure pat00159
    :
    Figure pat00160
    번째 절대 소켓의
    Figure pat00161
    번째 측정 관절 위치 벡터(
    Figure pat00162
    )
    Figure pat00163
    :
    Figure pat00164
    번째 절대 소켓의 위치 벡터
  12. 절대 소켓을 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정하고, 상대 소켓을 상기 다관절 로봇의 작업 영역 내의 임의의 위치에 고정하는 단계;
    상기 절대 및 상대 소켓에 상기 다관절 로봇의 엔드 이펙터에 설치된 볼을 접촉하는 단계;
    상기 절대 및 상대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하는 단계;
    각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출하는 단계; 및
    산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트하는 단계;를 포함하고,
    상기 관절 각도 세트는 상기 절대 소켓에 상기 볼이 접촉된 상태에서 산출되는 절대 관절 각도 세트와, 상기 상대 소켓에 상기 볼이 접촉된 상태에서 산출되는 상대 관절 각도 세트를 포함하고,
    상기 위치 오차는 상기 절대 관절 각도 세트를 이용하여 정기구학으로 볼의 위치와 절대 소켓의 절대 위치 간의 차이로 산출하고,
    상기 상대 위치 오차는 상기 상대 관절 각도 세트를 이용하여 정기구학으로 산출한 볼의 위치 간의 차이로 산출하는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 방법.
  13. 제12항에 있어서,
    상기 모델 파라미터, 절대 소켓과 상대 소켓을 이용하는 경우, 아래의 수학식 2를 비용함수로 하는 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정하는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 방법.
    [수학식 2]

    Figure pat00166
    : 정기구학 함수
    Figure pat00167
    : 모델 파라미터 벡터
    Figure pat00168
    : 절대 소켓의 개수
    Figure pat00169
    : 상대 소켓의 개수
    Figure pat00170
    :
    Figure pat00171
    번째 절대 소켓에 대한 측정점 개수
    Figure pat00172
    :
    Figure pat00173
    번째 상대 소켓에 대한 측정점 개수
    Figure pat00174
    :
    Figure pat00175
    번째 상대 소켓에 대한 기준 측정 관절 위치 벡터
    Figure pat00176
    :
    Figure pat00177
    번째 절대 소켓의
    Figure pat00178
    번째 측정 관절 위치 벡터(
    Figure pat00179
    )
    Figure pat00180
    :
    Figure pat00181
    번째 상대 소켓의
    Figure pat00182
    번째 측정 관절 위치 벡터(
    Figure pat00183
    )
    Figure pat00184
    :
    Figure pat00185
    번째 절대 소켓의 위치 벡터
KR1020220053960A 2022-05-02 2022-05-02 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법 KR102671823B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220053960A KR102671823B1 (ko) 2022-05-02 2022-05-02 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법
PCT/KR2022/014680 WO2023214625A1 (ko) 2022-05-02 2022-09-29 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220053960A KR102671823B1 (ko) 2022-05-02 2022-05-02 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20230154500A true KR20230154500A (ko) 2023-11-09
KR102671823B1 KR102671823B1 (ko) 2024-06-03

Family

ID=88646540

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220053960A KR102671823B1 (ko) 2022-05-02 2022-05-02 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법

Country Status (2)

Country Link
KR (1) KR102671823B1 (ko)
WO (1) WO2023214625A1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5914831B2 (ja) * 1980-02-19 1984-04-06 富士通株式会社 Rom書込・読出方式
JPH0691566A (ja) * 1992-09-10 1994-04-05 Fanuc Ltd 多関節腕型ロボットの原点姿勢位置の較正方法と装置
JP2000033586A (ja) * 1998-07-16 2000-02-02 Toshiba Corp ロボットの誤差補正方法及びその装置
KR20020084979A (ko) * 2001-05-03 2002-11-16 광주과학기술원 로봇의 캘리브레이션 장치 및 그 방법
EP3875890A1 (en) * 2018-02-26 2021-09-08 Renishaw PLC Coordinate positioning machine
KR102314092B1 (ko) 2016-01-21 2021-10-19 현대중공업지주 주식회사 로봇의 캘리브레이션 장치 및 그 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5914831B2 (ja) 2012-04-25 2016-05-11 パナソニックIpマネジメント株式会社 多関節ロボットの機構誤差の補正方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5914831B2 (ja) * 1980-02-19 1984-04-06 富士通株式会社 Rom書込・読出方式
JPH0691566A (ja) * 1992-09-10 1994-04-05 Fanuc Ltd 多関節腕型ロボットの原点姿勢位置の較正方法と装置
JP2000033586A (ja) * 1998-07-16 2000-02-02 Toshiba Corp ロボットの誤差補正方法及びその装置
KR20020084979A (ko) * 2001-05-03 2002-11-16 광주과학기술원 로봇의 캘리브레이션 장치 및 그 방법
KR102314092B1 (ko) 2016-01-21 2021-10-19 현대중공업지주 주식회사 로봇의 캘리브레이션 장치 및 그 방법
EP3875890A1 (en) * 2018-02-26 2021-09-08 Renishaw PLC Coordinate positioning machine

Also Published As

Publication number Publication date
KR102671823B1 (ko) 2024-06-03
WO2023214625A1 (ko) 2023-11-09

Similar Documents

Publication Publication Date Title
EP2993002B1 (en) Robot apparatus and method for controlling robot apparatus
JP7207851B2 (ja) 制御方法、ロボットシステム、物品の製造方法、プログラム及び記録媒体
US9221176B2 (en) Robot system and method for controlling the same
CN107225569B (zh) 定位装置
US5297238A (en) Robot end-effector terminal control frame (TCF) calibration method and device
JP6611888B2 (ja) ロボット装置、ロボット装置の制御方法、プログラムおよび記録媒体
CA1331795C (en) Device and method for correction of robot inaccuracy
US20180345493A1 (en) Teaching position correction device and teaching position correction method
JP2021515215A (ja) 座標位置決め機械
JP2015182144A (ja) ロボットシステムおよびロボットシステムの校正方法
CN104608129A (zh) 基于平面约束的机器人标定方法
JP5618770B2 (ja) ロボットの校正装置および校正方法
CN111590566B (zh) 一种适用于全构型的空间机械臂运动学参数在轨标定方法
US20220105640A1 (en) Method Of Calibrating A Tool Of An Industrial Robot, Control System And Industrial Robot
CN111203861A (zh) 一种机器人工具坐标系的标定方法及标定系统
KR20080088165A (ko) 로봇 캘리브레이션 방법
JP2024512827A (ja) 適応コンプライアンスに基づいたロボット組立のためのシステムおよび方法
CN114012724B (zh) 一种基于探针的工业机器人坐标系自动标定方法
CN115446847A (zh) 用于提高机器人系统的3d眼手协调准确度的系统和方法
JP7097722B2 (ja) ロボットの位置情報復元方法
KR102671823B1 (ko) 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법
KR100301231B1 (ko) 로봇의작업경로자동보정방법
Khusainov et al. Humanoid robot kinematic calibration using industrial manipulator
US20230191611A1 (en) Robot system
KR102262235B1 (ko) Olp에서 생성된 실제로봇 작업프로그램의 보정방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant