KR102671823B1 - Apparatus and method for calibration of articulated robot using constraint condition of end effector - Google Patents

Apparatus and method for calibration of articulated robot using constraint condition of end effector Download PDF

Info

Publication number
KR102671823B1
KR102671823B1 KR1020220053960A KR20220053960A KR102671823B1 KR 102671823 B1 KR102671823 B1 KR 102671823B1 KR 1020220053960 A KR1020220053960 A KR 1020220053960A KR 20220053960 A KR20220053960 A KR 20220053960A KR 102671823 B1 KR102671823 B1 KR 102671823B1
Authority
KR
South Korea
Prior art keywords
socket
absolute
ball
articulated robot
relative
Prior art date
Application number
KR1020220053960A
Other languages
Korean (ko)
Other versions
KR20230154500A (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 KR1020220053960A priority Critical patent/KR102671823B1/en
Priority to PCT/KR2022/014680 priority patent/WO2023214625A1/en
Publication of KR20230154500A publication Critical patent/KR20230154500A/en
Application granted granted Critical
Publication of KR102671823B1 publication Critical patent/KR102671823B1/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/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
    • Z03R10/10

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

본 발명은 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법에 관한 것이다. 본 발명은 절대 소켓을 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정한다. 절대 소켓에 다관절 로봇의 엔드 이펙터에 설치된 볼을 접촉한다. 절대 소켓과 볼이 접촉된 상태를 구속하면서 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출한다. 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 볼의 위치와 절대 소켓의 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출한다. 그리고 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트한다. 또한 본 발명에 따른 로봇의 캘리브레이션 장치는 다관절 로봇의 작업 영역 내에 임의의 위치에 상대 소켓을 추가적으로 설치하고, 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼의 위치와 상대 소켓의 상대 위치 간의 상대 위치 오차를 산출하고, 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출한 후, 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트할 수 있다.The present invention relates to an apparatus and method for calibrating an articulated robot using constraints of an end effector. The present invention fixes the absolute socket at a known position with respect to the reference coordinate system of the articulated robot. Contact the ball installed on the end effector of the articulated robot with the absolute socket. By constraining the contact state between the absolute socket and the ball, the multi-joint robot is created in various postures and a set of joint angles is calculated from the encoder installed at the joint. Using each joint angle, model parameters that minimize the position error between the ball position calculated through forward kinematics and the absolute socket position are calculated. Then, the existing model parameters are updated with the calculated model parameters. In addition, the robot calibration device according to the present invention additionally installs a relative socket at a random position within the work area of the articulated robot, and uses each joint angle to determine the relative position of the relative socket and the position of the ball calculated by forward kinematics. After calculating the relative position error and calculating model parameters that simultaneously minimize the position error and relative position error, the existing model parameters can be updated with the calculated model parameters.

Description

엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법{Apparatus and method for calibration of articulated robot using constraint condition of end effector}Apparatus and method for calibration of articulated robot using constraint condition of end effector}

본 발명은 로봇의 캘리브레이션 장치 및 방법에 관한 것으로, 더욱 상세하게는 다관절 로봇의 작업 정밀도를 향상시키기 위해 캘리브레이션을 수행하는 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법에 관한 것이다.The present invention relates to a calibration device and method for a robot, and more specifically, to a calibration device and method for an articulated robot using constraints of an end effector that performs calibration to improve the work precision of the articulated robot.

산업 현장에 설치된 다관절 로봇은 노후, 부품 교체, 반복 작업 등으로 인해 모델 파라미터가 달라질 수 있다. 이에 따라 주기적인 캘리브레이션을 수행하여 다관절 로봇의 작업 정확도를 보장해야 한다.The model parameters of articulated robots installed at industrial sites may vary due to aging, replacement of parts, repetitive work, etc. Accordingly, periodic calibration must be performed to ensure the work accuracy of the articulated robot.

캘리브레이션을 위한 측정 방법은 레이저 트래커(laser tracker), 카메라 등과 같은 외부 측정 센서를 이용하여 엔드 이펙터(end effector)의 위치를 측정하는 방법과, 구속 조건을 이용하여 다관절 로봇의 관절 각도를 측정하는 방법이 있다.The measurement method for calibration is a method of measuring the position of the end effector using an external measurement sensor such as a laser tracker or camera, and a method of measuring the joint angle of an articulated robot using constraint conditions. There is a way.

레이저 트래커를 이용한 캘리브레이션 방법은, 레이저 트래커가 엔드 이펙터에 부착된 리플렉터(Reflector)를 추적하며, 엔드 이펙터의 위치를 높은 분해능으로 측정한다. 따라서 다관절 로봇의 높은 작업 정확도 보장을 위해 산업에서 많이 활용된다. 그러나 레이저 트래커는 억대를 넘는 고가의 장비이며, 측정 시스템의 부피가 크고 설치 및 측정 과정이 복잡하여 현장에서 사용하기 용이하지 않다.In the calibration method using a laser tracker, the laser tracker tracks a reflector attached to the end effector and measures the position of the end effector with high resolution. Therefore, it is widely used in industry to ensure high work accuracy of articulated robots. However, laser trackers are expensive equipment costing over hundreds of millions of won, and the measurement system is bulky and the installation and measurement process is complicated, making it difficult to use in the field.

카메라를 이용한 캘리브레이션 방법은 구성이 간단하나 요구되는 작업 정확도에 비해 대체적으로 측정 오차가 상대적으로 크므로 정확한 모델 파라미터의 추정이 어렵다.The calibration method using a camera is simple to construct, but the measurement error is generally relatively large compared to the required work accuracy, making accurate estimation of model parameters difficult.

그리고 구속 조건을 이용한 캘리브레이션 방법은 임의의 캘리브레이션용 지그를 사용하여 엔드 이펙터의 직선 경로 또는 특정 기하학적 구속 조건을 만들고 엔코더로부터 로봇 관절 각도를 측정하는 방법이다. 그러나 지그의 형상에 따라서 캘리브레이션의 정확도에 차이가 발생하기 때문에, 지그의 가공 정밀도를 위해 높은 제작비가 필요할 수 있다. 기준 좌표계에 대한 지그의 절대 위치 정보가 필요하다. 이로 인해 지그의 좌표계를 찾기 위한 별도의 캘리브레이션 과정이나, 사전에 알고 있는 기준 좌표계에 대한 절대 위치에 지그를 설치하는 등의 작업이 필요하다. 따라서 기존의 구속 조건은 다관절 로봇이 설치된 현장 조건에 크게 종속되기 때문에, 현장 조건에 따라서 적용이 제한될 수 있다.The calibration method using constraints is a method of creating a straight path or specific geometric constraints for the end effector using an arbitrary calibration jig and measuring the robot joint angles from the encoder. However, since differences in calibration accuracy occur depending on the shape of the jig, high manufacturing costs may be required for the processing precision of the jig. Absolute position information of the jig with respect to the reference coordinate system is required. As a result, tasks such as a separate calibration process to find the jig's coordinate system or installing the jig in an absolute position relative to a previously known reference coordinate system are necessary. Therefore, because the existing constraint conditions are largely dependent on the field conditions where the articulated robot is installed, their application may be limited depending on the field conditions.

등록특허공보 제10-2314092호 (2021.10.12. 등록)Registered Patent Publication No. 10-2314092 (registered on October 12, 2021)

따라서 본 발명의 목적은 다관절 로봇이 설치된 현장 조건에 크게 종속되지 않고 유연하고 빠르게 적용 가능한 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법을 제공하는 데 있다.Therefore, the purpose of the present invention is to provide a calibration device and method for an articulated robot using constraints of an end effector that can be applied flexibly and quickly without being significantly dependent on the field conditions where the articulated robot is installed.

본 발명의 다른 목적은 설치 비용을 최소화할 수 있는 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법을 제공하는 데 있다.Another object of the present invention is to provide a calibration device and method for an articulated robot using end effector constraints that can minimize installation costs.

본 발명의 또 다른 목적은 캘리브레이션의 정확도가 높은 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치 및 방법을 제공하는 데 있다.Another object of the present invention is to provide a calibration device and method for an articulated robot using end-effector constraints with high calibration accuracy.

상기 목적을 달성하기 위하여, 본 발명은 다관절 로봇의 엔드 이펙터에 설치되는 볼; 상기 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정되는 적어도 하나의 절대 소켓; 및 상기 절대 소켓에 상기 볼을 접촉시킨 후, 상기 절대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 볼의 위치와 절대 소켓의 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트하는 제어부;를 포함하는 다관절 로봇의 캘리브레이션 장치를 제공한다.In order to achieve the above object, the present invention includes a ball installed on the end effector of an articulated robot; At least one absolute socket fixed at a known position with respect to the reference coordinate system of the articulated robot; And after contacting the ball with the absolute socket, creating various postures for the articulated robot while restraining the contact state between the absolute socket and the ball, calculating a set of joint angles from an encoder installed at the joint, and calculating a set of joint angles for each joint angle. A control unit that calculates model parameters that minimize the position error between the position of the ball calculated by forward kinematics and the position of the absolute socket using a control unit that updates the existing model parameters with the calculated model parameters. A calibration device for a joint robot is provided.

본 발명은 또한, 다관절 로봇의 엔드 이펙터에 설치되는 볼; 상기 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정되는 적어도 하나의 절대 소켓; 상기 다관절 로봇의 작업 영역 내의 임의의 위치에 고정되는 적어도 하나의 상대 소켓; 및 상기 절대 및 상대 소켓에 상기 다관절 로봇의 엔드 이펙터에 설치된 볼을 접촉시킨 후, 상기 절대 및 상대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트하는 제어부;를 포함하는 다관절 로봇의 캘리브레이션 장치를 제공한다. 이때 상기 관절 각도 세트는 상기 절대 소켓에 상기 볼이 접촉된 상태에서 산출되는 절대 관절 각도 세트와, 상기 상대 소켓에 상기 볼이 접촉된 상태에서 산출되는 상대 관절 각도 세트를 포함한다. 상기 위치 오차는 상기 절대 관절 각도 세트를 이용하여 정기구학으로 산출한 볼의 위치와 절대 소켓의 절대 위치 간의 차이로 산출한다. 그리고 상기 상대 위치 오차는 상기 상대 관절 각도 세트를 이용하여 정기구학으로 산출한 볼의 위치 간의 차이로 산출한다.The present invention also includes a ball installed on the end effector of an articulated robot; At least one absolute socket fixed at a known position with respect to the reference coordinate system of the articulated robot; At least one relative socket fixed to an arbitrary position within the work area of the articulated robot; And after contacting the ball installed on the end effector of the articulated robot with the absolute and relative socket, an encoder installed on the joint creates various postures for the articulated robot while restraining the state in which the absolute and relative socket and the ball are in contact. Calculate a set of joint angles from this, calculate model parameters that simultaneously minimize the position error and relative position error calculated by forward kinematics using each joint angle, and calculate the existing model parameters with the calculated model parameters. A calibration device for an articulated robot including a control unit for updating is provided. At this time, the joint angle set includes an absolute joint angle set calculated when the ball is in contact with the absolute socket, and a relative joint angle set calculated when the ball is in contact with the relative socket. The position error is calculated as the difference between the absolute position of the ball and the absolute socket calculated by forward kinematics using the absolute joint angle set. And the relative position error is calculated as the difference between the positions of the ball calculated by forward kinematics using the relative joint angle set.

상기 절대 소켓 및 상기 상대 소켓은 각각, 상기 볼이 삽입되어 접촉되면서 회전할 수 있도록, 상부면에 상기 볼에 대응되는 곡률을 갖는 곡면 홈이 형성되어 있다.The absolute socket and the relative socket each have a curved groove having a curvature corresponding to the ball formed on the upper surface so that the ball can rotate while being inserted and contacted.

상기 볼은 상기 절대 소켓 및 상기 상대 소켓에 자력에 의해 상기 곡면 홈에 삽입되어 부착될 수 있다.The ball may be inserted into the curved groove and attached to the absolute socket and the relative socket by magnetic force.

상기 제어부는 토크 제어 모드에서 직접교시 또는 프로그래밍을 통해 상기 볼을 상기 절대 소켓 또는 상대 소켓에 접촉시킬 수 있다.The control unit may contact the ball to the absolute socket or the relative socket through direct teaching or programming in torque control mode.

상기 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치는 로봇 본체 및 상기 로봇 본체가 설치되는 베이스 지그 중에 적어도 하나이다.The known position of the reference coordinate system of the articulated robot is at least one of the robot body and the base jig on which the robot body is installed.

상기 모델 파라미터는, 절대 소켓만을 이용하는 경우, 아래의 수학식 1을 비용함수로 하는 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정할 수 있다.When using only absolute sockets, the model parameters can be estimated using the nonlinear least squares method using Equation 1 below as the cost function.

[수학식 1][Equation 1]

Figure 112022046597223-pat00002
: 정기구학(forward kinematics) 함수
Figure 112022046597223-pat00002
: forward kinematics function

Figure 112022046597223-pat00003
: 모델 파라미터 벡터
Figure 112022046597223-pat00003
: Model parameter vector

Figure 112022046597223-pat00004
: 절대 소켓의 개수
Figure 112022046597223-pat00004
: Absolute number of sockets

Figure 112022046597223-pat00005
:
Figure 112022046597223-pat00006
번째 절대 소켓에 대한 측정점 개수
Figure 112022046597223-pat00005
:
Figure 112022046597223-pat00006
Number of measuring points for the second absolute socket

Figure 112022046597223-pat00007
:
Figure 112022046597223-pat00008
번째 절대 소켓의
Figure 112022046597223-pat00009
번째 측정 관절 위치 벡터(
Figure 112022046597223-pat00010
)
Figure 112022046597223-pat00007
:
Figure 112022046597223-pat00008
of the absolute socket
Figure 112022046597223-pat00009
The measured joint position vector (
Figure 112022046597223-pat00010
)

Figure 112022046597223-pat00011
:
Figure 112022046597223-pat00012
번째 절대 소켓의 위치 벡터
Figure 112022046597223-pat00011
:
Figure 112022046597223-pat00012
Position vector of the second absolute socket

상기 모델 파라미터는, 절대 소켓과 상대 소켓을 이용하는 경우, 아래의 수학식 2를 비용함수로 하는 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정할 수 있다.When using absolute sockets and relative sockets, the model parameters can be estimated using the nonlinear least squares method using Equation 2 below as the cost function.

[수학식 2][Equation 2]

Figure 112022046597223-pat00014
: 정기구학 함수
Figure 112022046597223-pat00014
: Regular kinematics function

Figure 112022046597223-pat00015
: 모델 파라미터 벡터
Figure 112022046597223-pat00015
: Model parameter vector

Figure 112022046597223-pat00016
: 절대 소켓의 개수
Figure 112022046597223-pat00016
: Absolute number of sockets

Figure 112022046597223-pat00017
: 상대 소켓의 개수
Figure 112022046597223-pat00017
: Number of relative sockets

Figure 112022046597223-pat00018
:
Figure 112022046597223-pat00019
번째 절대 소켓에 대한 측정점 개수
Figure 112022046597223-pat00018
:
Figure 112022046597223-pat00019
Number of measuring points for the second absolute socket

Figure 112022046597223-pat00020
:
Figure 112022046597223-pat00021
번째 상대 소켓에 대한 측정점 개수
Figure 112022046597223-pat00020
:
Figure 112022046597223-pat00021
Number of measurement points for the second partner socket

Figure 112022046597223-pat00022
:
Figure 112022046597223-pat00023
번째 상대 소켓에 대한 기준 측정 관절 위치 벡터
Figure 112022046597223-pat00022
:
Figure 112022046597223-pat00023
Reference measurement joint position vector for the first relative socket

Figure 112022046597223-pat00024
:
Figure 112022046597223-pat00025
번째 절대 소켓의
Figure 112022046597223-pat00026
번째 측정 관절 위치 벡터(
Figure 112022046597223-pat00027
)
Figure 112022046597223-pat00024
:
Figure 112022046597223-pat00025
of the absolute socket
Figure 112022046597223-pat00026
The measured joint position vector (
Figure 112022046597223-pat00027
)

Figure 112022046597223-pat00028
:
Figure 112022046597223-pat00029
번째 상대 소켓의
Figure 112022046597223-pat00030
번째 측정 관절 위치 벡터(
Figure 112022046597223-pat00031
)
Figure 112022046597223-pat00028
:
Figure 112022046597223-pat00029
of the second relative socket
Figure 112022046597223-pat00030
The measured joint position vector (
Figure 112022046597223-pat00031
)

Figure 112022046597223-pat00032
:
Figure 112022046597223-pat00033
번째 절대 소켓의 위치 벡터
Figure 112022046597223-pat00032
:
Figure 112022046597223-pat00033
Position vector of the second absolute socket

상기 제어부는, 비선형 최소제곱법을 이용하여 모델 파라미터를 반복적으로 추정하는 경우, 아래의 수학식 3을 이용하여 최적 모델 파라미터를 산출할 수 있다.When repeatedly estimating model parameters using a nonlinear least squares method, the control unit can calculate optimal model parameters using Equation 3 below.

[수학식 3][Equation 3]

Figure 112022046597223-pat00035
: 모델 파라미터 업데이트 벡터(
Figure 112022046597223-pat00036
;
Figure 112022046597223-pat00037
는 반복 횟수)
Figure 112022046597223-pat00035
: Model parameter update vector (
Figure 112022046597223-pat00036
;
Figure 112022046597223-pat00037
is the number of repetitions)

Figure 112022046597223-pat00038
: 절대 소켓 측정점에 대한 자코비안(Jacobian) 행렬
Figure 112022046597223-pat00038
: Jacobian matrix for absolute socket measurement points

Figure 112022046597223-pat00039
: 상대 소켓 측정점에 대한 자코비안 행렬
Figure 112022046597223-pat00039
: Jacobian matrix for relative socket measurement points

Figure 112023140607726-pat00040
: 상대 소켓에 대한 잔차 오차 벡터,
Figure 112023140607726-pat00041
,
Figure 112023140607726-pat00040
: Residual error vector for the counterpart socket,
Figure 112023140607726-pat00041
,

Figure 112022046597223-pat00043
: 절대 소켓에 대한 잔차 오차 벡터,
Figure 112022046597223-pat00044
,
Figure 112022046597223-pat00045
Figure 112022046597223-pat00043
: Residual error vector for absolute sockets,
Figure 112022046597223-pat00044
,
Figure 112022046597223-pat00045

본 발명은 또한, 절대 소켓을 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정하는 단계; 상기 절대 소켓에 상기 다관절 로봇의 엔드 이펙터에 설치된 볼을 접촉하는 단계; 상기 절대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하는 단계; 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 볼의 위치와 절대 소켓의 절대 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출하는 단계; 및 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트하는 단계;를 포함하는 다관절 로봇의 캘리브레이션 방법을 제공한다.The present invention also includes the steps of fixing the absolute socket at a known position with respect to the reference coordinate system of the articulated robot; contacting the absolute socket with a ball installed on an end effector of the articulated robot; Calculating a set of joint angles from an encoder installed at a joint by creating various postures of the articulated robot while restraining the contact state between the absolute socket and the ball; Calculating model parameters that minimize the position error between the position of the ball calculated by forward kinematics and the absolute position of the absolute socket using each joint angle; and updating existing model parameters with the calculated model parameters. A calibration method for an articulated robot including a step is provided.

그리고 본 발명은, 절대 소켓을 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정하고, 상대 소켓을 상기 다관절 로봇의 작업 영역 내의 임의의 위치에 고정하는 단계; 상기 절대 및 상대 소켓에 상기 다관절 로봇의 엔드 이펙터에 설치된 볼을 접촉하는 단계; 상기 절대 및 상대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하는 단계; 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출하는 단계; 및 산출한 모델 파라미터로 상기 다관절 로봇의 캘리브레이션을 수행하는 단계;를 포함하는 다관절 로봇의 캘리브레이션 방법을 제공한다. 여기서 상대 위치 오차는 수학식 2의 첫째항 부분(절대값 안)이고, 위치 오차는 수학식 2의 둘째항 부분(절대값 안)이다.And the present invention includes the steps of fixing the absolute socket at a known position with respect to the reference coordinate system of the articulated robot, and fixing the relative socket at an arbitrary position within the work area of the articulated robot; contacting the absolute and relative sockets with a ball installed on an end effector of the articulated robot; Calculating a set of joint angles from an encoder installed at a joint by creating various postures of the articulated robot while restraining the contact state between the absolute and relative sockets and the ball; Calculating model parameters that simultaneously minimize the position error and relative position error calculated by forward kinematics using each joint angle; and performing calibration of the articulated robot using the calculated model parameters. Here, the relative position error is the first term part (in the absolute value) of Equation 2, and the position error is the second term part (in the absolute value) of Equation 2.

본 발명에 따르면, 다관절 로봇의 설계 단계에서 로봇 본체 또는 로봇 본체가 설치되는 베이스 지그에 절대 위치 정보를 제공하는 절대 소켓을 설치함으로써, 기존에 엔드 이펙터의 구속 조건을 만들기 위해서 별도로 지그의 좌표계를 찾기 위한 별도의 캘리브레이션 과정이나, 사전에 알고 있는 기준 좌표계에 대한 절대 위치에 지그를 설치하는 등의 작업을 생략할 수 있다. 이로 인해 본 발명에 따른 로봇의 캘리브레이션 장치는 다관절 로봇이 설치된 현장 조건에 크게 종속되지 않고 유연하고 빠르게 적용 가능하다.According to the present invention, by installing an absolute socket that provides absolute position information on the robot body or the base jig on which the robot body is installed in the design stage of the articulated robot, the coordinate system of the jig is separately established to create constraint conditions for the existing end effector. Tasks such as a separate calibration process for finding or installing a jig in an absolute position with respect to a previously known reference coordinate system can be omitted. For this reason, the robot calibration device according to the present invention is not significantly dependent on the field conditions where the articulated robot is installed and can be applied flexibly and quickly.

본 발명에 따른 로봇의 캘리브레이션 장치는 엔드 이펙터에 설치된 볼과 절대 소켓 간의 볼 조인트 메카니즘(ball joint mechanism)으로 접촉하기 때문에, 볼이 절대 소켓에 접촉된 상태에서 여러 자세를 만들어 엔코더로부터 관절 각도를 얻을 수 있기 때문에, 절대 소켓의 설치 개수를 최소화할 수 있다.Since the robot calibration device according to the present invention makes contact with a ball joint mechanism between the ball installed in the end effector and the absolute socket, the joint angle can be obtained from the encoder by creating various postures while the ball is in contact with the absolute socket. Therefore, the absolute number of installed sockets can be minimized.

본 발명에 따른 로봇의 캘리브레이션 장치는 볼과 절대 소켓이 접촉된 상태를 구속한 후, 다관절 로봇의 자세를 여러 개 만들어 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 볼의 위치와 절대 소켓의 절대 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트할 수 있다.The robot calibration device according to the present invention restrains the state in which the ball and the absolute socket are in contact, creates several postures of the articulated robot, calculates a set of joint angles from the encoder, and uses each joint angle to calculate the forward kinematics ( It is possible to calculate model parameters that minimize the position error between the position of the ball calculated using forward kinematics and the absolute position of the absolute socket, and update the existing model parameters with the calculated model parameters.

위치 오차를 기반으로 산출된 모델 파라미터만을 다관절 로봇의 캘리브레이션에 활용할 경우, 절대 소켓의 위치가 다관절 로봇의 베이스 지그 근방의 영역에만 존재하기 때문에 암(arm) 길이, 툴(tool) 길이, 관절 각도의 제한, 간섭 등으로 인해 조인트 공간(Joint space) 상에서 넓은 배치(configuration)를 얻지 못할 수 있다. 이것은 모델 파라미터의 관측성을 저하시킬 수 있다.When only the model parameters calculated based on the position error are used for the calibration of an articulated robot, the absolute socket position exists only in the area near the base jig of the articulated robot, so the arm length, tool length, and joint It may not be possible to obtain a wide configuration in the joint space due to angle limitations, interference, etc. This may reduce the observability of model parameters.

이러한 약점을 보완하기 위해서, 본 발명에 따른 로봇의 캘리브레이션 장치는 다관절 로봇의 작업 영역 내에 임의의 위치에 상대 소켓을 추가적으로 설치하고, 볼과 상대 소켓이 볼 조인트 메카니즘으로 접촉된 상태를 구속한 후, 다관절 로봇의 자세를 여러 개 만들어 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼의 위치와 상대 소켓의 상대 위치 간의 상대 위치 오차를 산출한다. 그리고 본 발명에 따른 로봇의 캘리브레이션 장치는 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트할 수 있다.In order to compensate for this weakness, the robot calibration device according to the present invention additionally installs a relative socket at a random location within the work area of the articulated robot, and restrains the state in which the ball and the relative socket are in contact with a ball joint mechanism. , create several poses of the articulated robot, calculate a set of joint angles from the encoder, and use each joint angle to calculate the relative position error between the position of the ball calculated by forward kinematics and the relative position of the relative socket. And the robot calibration device according to the present invention can calculate model parameters that simultaneously minimize the position error and relative position error, and update existing model parameters with the calculated model parameters.

이와 같이 위치 오차와 상대 위치 오차를 기반으로 산출된 모델 파라미터를 다관절 로봇의 캘리브레이션에 활용할 경우, 넓은 배치(configuration)를 얻을 수 있기 때문에, 모델 파라미터의 관측성을 향상시킬 수 있다. 즉 캘리브레이션의 정확도를 높일 수 있다.In this way, when model parameters calculated based on position error and relative position error are used for calibration of an articulated robot, a wide configuration can be obtained, thereby improving the observability of model parameters. In other words, the accuracy of calibration can be improved.

본 발명에 따른 로봇의 캘리브레이션 장치는 볼, 절대 소켓 및 상대 소켓의 설치를 통해서 다관절 로봇의 캘리브레이션을 수행할 수 있고, 더욱이 상대 소켓은 로봇 작업 영역 내 임의의 위치에 배치할 수 있으므로 별도의 위치 결정 작업이 필요하지 않기 때문에, 설치 비용을 최소화할 수 있는 이점이 있다.The robot calibration device according to the present invention can calibrate an articulated robot through the installation of a ball, an absolute socket, and a relative socket. Furthermore, the relative socket can be placed anywhere within the robot work area, so it can be installed in a separate location. Since no decision work is required, there is an advantage in minimizing installation costs.

도 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은 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 상대 위치 오차를 보여주는 그래프이다.
Figure 1 is a diagram showing a calibration device for an articulated robot using constraint conditions of an end effector according to a first embodiment of the present invention.
Figure 2 is a perspective view showing the ball tool of Figure 1.
Figure 3 is a perspective view showing the socket of Figure 1.
Figure 4 is a partial cross-sectional view showing a state in which the light of a ball tool is in contact with a socket.
Figure 5 is a diagram showing the state in which the robot is transformed into various postures while the ball is in contact with the absolute socket.
Figure 6 is a flowchart showing a calibration method of an articulated robot using constraint conditions of an end effector according to the first embodiment of the present invention.
Figures 7 and 8 are diagrams showing a simulation process to confirm the accuracy of calibration according to the method of Figure 5,
Figure 7 is a graph showing the position error results before and after calibration for calibration data,
Figure 8 is a graph showing the position error results before and after calibration for calibration verification data.
Figure 9 is a diagram showing a calibration device for an articulated robot using constraint conditions of an end effector according to a second embodiment of the present invention.
Figure 10 is a diagram showing a calibration device for an articulated robot using the constraint conditions of the end effector according to a third embodiment of the present invention.
Figure 11 is a flowchart showing a calibration method of an articulated robot using the constraint conditions of the end effector according to the third embodiment of the present invention.
Figures 12 to 16 are diagrams showing simulation results to confirm the accuracy of calibration according to the method of Figure 11,
Figure 12 is a photograph showing the articulated robot and calibration device used in the experiment,
Figure 13 is a graph showing the position error before and after calibration for calibration measurement data,
Figure 14 is a graph showing the relative position error before and after calibration for calibration measurement data,
Figure 15 is a graph showing the position error before and after calibration for calibration verification data;
Figure 16 is a graph showing the relative position error before and after calibration for calibration verification data.
Figures 17 to 20 are diagrams showing the results of calibration algorithm experiments to confirm the accuracy of calibration according to the method of Figure 11,
Figure 18 is a graph showing the position error before and after calibration,
Figure 18 is a graph showing the relative position error before and after calibration,
Figure 19 is a graph showing the position error before and after calibration for calibration verification data;
Figure 20 is a graph showing the relative position error before and after calibration for calibration verification data.

하기의 설명에서는 본 발명의 실시예를 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 벗어나지 않는 범위에서 생략될 것이라는 것을 유의하여야 한다.It should be noted that in the following description, only the parts necessary to understand the embodiments of the present invention will be described, and descriptions of other parts will be omitted without departing from the gist of the present invention.

이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 바람직한 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.The terms or words used in the specification and claims described below should not be construed as limited to their usual or dictionary meanings, and the inventor should use the concept of terminology appropriately to explain his/her invention in the best way. It must be interpreted as meaning and concept consistent with the technical idea of the present invention based on the principle that it can be defined clearly. Therefore, the embodiments described in this specification and the configurations shown in the drawings are only preferred embodiments of the present invention, and do not represent the entire technical idea of the present invention, and therefore, various equivalents can be substituted for them at the time of filing the present application. It should be understood that there may be variations.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명하고자 한다.Hereinafter, embodiments of the present invention will be described in more detail with reference to the attached drawings.

[제1 실시예][First Example]

도 1은 본 발명의 제1 실시예에 따른 엔드 이펙터의 구속 조건을 이용한 다관절 로봇의 캘리브레이션 장치를 보여주는 도면이다. 도 2는 도 1의 볼 툴을 보여주는 사시도이다. 도 3은 도 1의 소켓을 보여주는 사시도이다. 도 4는 소켓에 볼 툴의 불이 접촉된 상태를 보여주는 부분 단면도이다. 그리고 도 5는 절대 소켓에 볼이 접촉된 상태에서 로봇이 여러 자세로 변형된 상태를 보여주는 도면이다.Figure 1 is a diagram showing a calibration device for an articulated robot using constraint conditions of an end effector according to a first embodiment of the present invention. Figure 2 is a perspective view showing the ball tool of Figure 1. Figure 3 is a perspective view showing the socket of Figure 1. Figure 4 is a partial cross-sectional view showing a state in which the light of a ball tool is in contact with a socket. And Figure 5 is a diagram showing the state in which the robot is transformed into various postures while the ball is in contact with the absolute socket.

도 1 내지 도 5를 참조하면, 제1 실시예에 따른 캘리브레이션 장치(200)는 엔드 이펙터(30)의 구속 조건을 이용하여 다관절 로봇(100)의 캘리브레이션을 수행하는 장치이다.Referring to FIGS. 1 to 5 , the calibration device 200 according to the first embodiment is a device that performs calibration of the articulated robot 100 using the constraint conditions of the end effector 30.

이러한 제1 실시예에 따른 캘리브레이션 장치(200)는 볼(43), 절대 소켓(50) 및 제어부(90)를 포함한다. 볼(43)은 다관절 로봇(100)의 엔드 이펙터(30)에 설치된다. 절대 소켓(50)은 적어도 하나가 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치에 고정된다. 그리고 제어부(90)는 절대 소켓(50)에 볼(43)을 접촉시킨다. 제어부(90)는 절대 소켓(50)과 볼(43)이 접촉된 상태를 구속하면서 다관절 로봇(100)을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출한다. 제어부(90)는 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 볼(43)의 위치와 절대 소켓(50)의 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출한다. 그리고 제어부(90)는 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트한다.The calibration device 200 according to this first embodiment includes a ball 43, an absolute socket 50, and a control unit 90. The ball 43 is installed in the end effector 30 of the articulated robot 100. At least one of the absolute sockets 50 is fixed at a known position with respect to the reference coordinate system of the articulated robot 100. And the control unit 90 brings the ball 43 into contact with the absolute socket 50. The control unit 90 creates various postures for the articulated robot 100 while restraining the contact state between the absolute socket 50 and the ball 43 and calculates a set of joint angles from the encoder installed at the joint. The control unit 90 uses each joint angle to calculate model parameters that minimize the position error between the position of the ball 43 calculated through forward kinematics and the position of the absolute socket 50. Then, the control unit 90 updates the existing model parameters with the calculated model parameters.

제1 실시예에 따른 캘리브레이션 장치(200)는 저장부(70)를 더 포함할 수 있다.The calibration device 200 according to the first embodiment may further include a storage unit 70.

다관절 로봇(100)은 베이스 지그(80) 위에 설치된다. 다관절 로봇(100)은 베이스 지그(80) 위에 고정 설치되는 로봇 본체(10)와, 로봇 본체(10)에 연결되는 다관절을 구비하는 로봇 암(20)과, 로봇 암(20)의 말단에 설치된 엔드 이펙터(30)를 포함한다. 도시하진 않았지만 로봇 암(20)에 포함되는 다수의 관절에는 각각 엔코더가 설치되어 있다. 엔코더 신호로부터 해당 관절의 각도를 산출할 수 있다.The articulated robot 100 is installed on the base jig 80. The articulated robot 100 includes a robot body 10 fixedly installed on the base jig 80, a robot arm 20 having multiple joints connected to the robot body 10, and an end of the robot arm 20. It includes an end effector (30) installed in. Although not shown, encoders are installed at each of the plurality of joints included in the robot arm 20. The angle of the joint can be calculated from the encoder signal.

볼(43)은 엔드 이펙터(30)에 설치된다. 볼(43)은 볼 툴(40)에 구비된 형태로 엔드 이펙터(30)에 설치된다. 볼 툴(40)은 툴 몸체(41)와 볼(43)을 포함한다. 툴 몸체(41)는 한 쪽이 엔드 이펙터(30)에 설치되고 다른 쪽에 볼(43)이 설치된다.The ball 43 is installed in the end effector 30. The ball 43 is installed in the end effector 30 in the form of a ball tool 40. The ball tool 40 includes a tool body 41 and a ball 43. One side of the tool body 41 is installed on the end effector 30, and a ball 43 is installed on the other side.

절대 소켓(50)은 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치에 설치되어 기준 좌표계의 절대 위치 정보를 제공한다. 여기서 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치는 로봇 본체(10)를 포함한다. 이러한 절대 소켓(50)의 설치 위치는 다관절 로봇(100)의 설계 단계 또는 설치 단계에서 결정된다. 절대 소켓(50)은 다관절 로봇(100)을 베이스 지그(80)에 설치할 때 함께 설치될 수 있다. 예컨대 절대 소켓(50)의 설치 위치가 로봇 본체(10)에 있는 경우, 절대 소켓(50)의 설치 위치는 다관절 로봇(100)의 설계 단계에서 결정될 수 있다. 절대 소켓(50)의 설치 위치가 베이스 지그(80)에 있는 경우, 절대 소켓(50)의 설치 위치는 다관절 로봇(100)의 설치 단계에서 결정될 수 있다. The absolute socket 50 is installed at a known position with respect to the reference coordinate system of the articulated robot 100 and provides absolute position information of the reference coordinate system. Here, the known position with respect to the reference coordinate system of the articulated robot 100 includes the robot body 10. The installation position of the absolute socket 50 is determined at the design or installation stage of the articulated robot 100. The absolute socket 50 can be installed together when installing the articulated robot 100 on the base jig 80. For example, when the installation position of the absolute socket 50 is in the robot body 10, the installation position of the absolute socket 50 may be determined at the design stage of the articulated robot 100. When the installation position of the absolute socket 50 is in the base jig 80, the installation position of the absolute socket 50 may be determined in the installation step of the articulated robot 100.

이와 같이 다관절 로봇(100)의 설계 단계에서 로봇 본체(10) 또는 베이스 지그(80)에 절대 위치 정보를 제공하는 절대 소켓(50)을 설치함으로써, 기존에 엔드 이펙터(30)의 구속 조건을 만들기 위해서 별도로 지그의 좌표계를 찾기 위한 별도의 캘리브레이션 과정이나, 사전에 알고 있는 기준 좌표계에 대한 절대 위치에 지그를 설치하는 등의 작업을 생략할 수 있다. 이로 인해 제1 실시예에 따른 캘리브레이션 장치(200)는 다관절 로봇(100)이 설치된 현장 조건에 크게 종속되지 않고 유연하고 빠르게 적용 가능하다.In this way, by installing the absolute socket 50 that provides absolute position information to the robot body 10 or the base jig 80 in the design stage of the articulated robot 100, the existing constraints of the end effector 30 are eliminated. In order to do this, tasks such as a separate calibration process to find the coordinate system of the jig or installing the jig in an absolute position with respect to a previously known reference coordinate system can be omitted. For this reason, the calibration device 200 according to the first embodiment is not significantly dependent on field conditions where the articulated robot 100 is installed and can be applied flexibly and quickly.

엔드 이펙터(30)의 볼(43)이 절대 소켓(50)에 접촉된 후, 접촉된 상태를 구속하면서 다관절 로봇(100)이 여러 자세를 만들 수 있도록, 절대 소켓(50)은 볼(43)이 삽입되어 접촉되면서 회전할 수 있도록, 상부면에 볼(43)에 대응되는 곡률을 갖는 곡면 홈(51)이 형성되어 있다. 즉 엔드 이펙터(30)에 설치된 볼(43)과 절대 소켓(50) 간의 볼 조인트 메카니즘(ball joint mechanism)으로 접촉한다.After the ball 43 of the end effector 30 is in contact with the absolute socket 50, the absolute socket 50 is connected to the ball 43 so that the articulated robot 100 can create various postures while restraining the contact state. ) A curved groove 51 having a curvature corresponding to the ball 43 is formed on the upper surface so that it can rotate while being inserted and contacted. That is, contact is made between the ball 43 installed on the end effector 30 and the absolute socket 50 using a ball joint mechanism.

일반적인 다관절 로봇(100)의 캘리브레이션에서는 절대 위치 측정점이 로봇 파라미터 개수보다 더 많은 조건식을 제공할 수 있도록 충분히 많아야 한다. 하지만 제1 실시예에 따른 절대 소켓(50)은 다관절 로봇(100)이 볼(43)을 매개로 접촉한 상태에서 다양한 자세를 만들 수 있고, 이로부터 관절 각도 세트를 산출할 수 있기 때문에, 기존 보다 설치되는 절대 소켓(50)의 수를 줄일 수 있다.In the calibration of a general articulated robot 100, the number of absolute position measurement points must be sufficiently large to provide more conditional expressions than the number of robot parameters. However, since the absolute socket 50 according to the first embodiment can create various postures while the articulated robot 100 is in contact with the ball 43 and calculate a set of joint angles from this, The number of absolute sockets (50) installed can be reduced compared to before.

볼(43)과 절대 소켓(50)은 측정 정확도를 향상할 수 있도록 정밀한 공차로 설계하는 것이 바람직하다. 예컨대 볼(43)의 중심과 절대 소켓(50)의 곡면 홈(51)의 중심은 각각의 기준 좌표계에 대해 정밀한 위치도 내에 존재해야 한다. 볼(43)의 중심과 절대 소켓(50)의 곡면 홈(51)을 포함하는 구의 중심 사이가 정밀한 위치도 내에 존재해야 한다. 그리고 볼(43)과 곡면 홈(51)은 정밀한 진구도를 갖도록 가공되어야 한다. 즉 볼(43)과 곡면 홈(51)이 형성하는 구가 실질적으로 동일한 크기를 갖도록 형성하는 것이다.It is desirable to design the ball 43 and absolute socket 50 with precise tolerances to improve measurement accuracy. For example, the center of the ball 43 and the center of the curved groove 51 of the absolute socket 50 must exist within a precise position with respect to each reference coordinate system. There must be a precise position between the center of the ball 43 and the center of the sphere including the curved groove 51 of the absolute socket 50. And the ball 43 and the curved groove 51 must be processed to have precise sphericity. That is, the sphere formed by the ball 43 and the curved groove 51 is formed to have substantially the same size.

절대 소켓(50)에 볼(43)이 안정적으로 삽입될 수 있도록, 곡면 홈(51)은 반구 보다는 작게 형성된다.In order for the ball 43 to be stably inserted into the absolute socket 50, the curved groove 51 is formed smaller than the hemisphere.

또한 절대 소켓(50)에 볼(43)이 안정적으로 삽입될 수 있도록, 볼(43)이 절대 소켓(50)에 자력에 의해 곡면 홈(51)에 삽입되어 부착되는 마그네틱 볼 조인트 메카니즘(Magnetic Ball Joint Mechanism)으로 구현될 수 있다.In addition, in order for the ball 43 to be stably inserted into the absolute socket 50, a magnetic ball joint mechanism (Magnetic Ball) is installed in which the ball 43 is inserted and attached to the curved groove 51 by magnetic force in the absolute socket 50. Joint Mechanism).

저장부(70)는 캘리브레이션 장치(200)의 동작 제어시 필요한 프로그램과, 그 프로그램 수행 중에 발생되는 정보를 저장한다. 저장부(70)는 캘리브레이션을 수행하는 실행 프로그램을 저장한다. 즉 실행 프로그램은 엔코더 신호로부터 관절 각도를 산출하고, 산출한 관절 각도를 이용한 정기구학(forward kinematics)으로 산출한 볼(43)의 위치와 절대 소켓(50)의 절대 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 다관절 로봇(100)의 캘리브레이션을 수행한다.The storage unit 70 stores a program necessary for controlling the operation of the calibration device 200 and information generated during execution of the program. The storage unit 70 stores an executable program that performs calibration. In other words, the execution program calculates the joint angle from the encoder signal and is a model that minimizes the position error between the position of the ball 43 calculated through forward kinematics using the calculated joint angle and the absolute position of the absolute socket 50. Parameters are calculated, and calibration of the articulated robot 100 is performed using the calculated model parameters.

그리고 제어부(90)는 다관절 로봇(100)의 전반적인 제어 동작을 수행하는 마이크로프로세서(microprocessor)이다. 특히 제어부(90)는 캘리브레이션 장치(200)의 전반적인 제어 동작을 수행한다.And the control unit 90 is a microprocessor that performs overall control operations of the articulated robot 100. In particular, the control unit 90 performs overall control operations of the calibration device 200.

제어부(90)는 볼(43)과 절대 소켓(50)을 이용하여 다음과 같이 다관절 로봇(100)의 캘리브레이션을 수행할 수 있다. 먼저 제어부(90)는 로봇 암(20)을 구동시켜 볼(43)을 절대 소켓(50)의 곡면 홈(51)에 접촉시킨다. 다음으로 제어부(90)는 절대 소켓(50)과 볼(43)이 접촉된 상태를 구속하면서 다관절 로봇(100)을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출한다. 이어서 제어부(90)는 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼(43)의 위치와 절대 소켓(50)의 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출한다. 그리고 제어부(90)는 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트한다.The control unit 90 can perform calibration of the articulated robot 100 using the ball 43 and the absolute socket 50 as follows. First, the control unit 90 drives the robot arm 20 to bring the ball 43 into contact with the curved groove 51 of the absolute socket 50. Next, the control unit 90 creates several postures for the articulated robot 100 while constraining the contact state between the absolute socket 50 and the ball 43 and calculates a set of joint angles from the encoder installed at the joint. Next, the control unit 90 calculates model parameters that minimize the position error between the position of the ball 43 calculated by forward kinematics and the position of the absolute socket 50 using each joint angle. Then, the control unit 90 updates the existing model parameters with the calculated model parameters.

제어부(90)는, 도 4에 도시된 바와 같이, 다관절 로봇(100)을 교시(teaching)하여 볼(43)을 절대 소켓(50)에 접촉시킬 수 있다. 교시는 토크 제어 모드에서 직접교시(direct teaching) 또는 프로그래밍을 통해 수행될 수 있다.As shown in FIG. 4, the control unit 90 can teach the articulated robot 100 to bring the ball 43 into contact with the absolute socket 50. Teaching can be performed through direct teaching or programming in torque control mode.

볼(43)과 절대 소켓(50)의 접촉 시, 볼(43)의 중심과 절대 소켓(50) 중심만이 구속되기 때문에, 엔드 이펙터(30) 또는 볼(43)의 오리엔테이션(Orientation)은 구속되지 않는다. 이러한 볼(43)과 절대 소켓(50) 간의 구속 조건을 활용하여, 도 5에 도시된 바와 같이, 접촉된 볼(43)과 절대 소켓(50)은 동일한 위치를 유지하면서 로봇 암(20)은 여러 자세를 만들 수 있다. 제어부(90)는 로봇 암(20)의 여러 자세에 대한 엔코더 신호를 읽고, 읽은 엔코더 신호들에 대한 관절 각도 세트를 산출하여 저장부(70)에 저장할 수 있다.When the ball 43 and the absolute socket 50 contact each other, only the center of the ball 43 and the center of the absolute socket 50 are constrained, so the orientation of the end effector 30 or the ball 43 is constrained. It doesn't work. By utilizing the constraint condition between the ball 43 and the absolute socket 50, as shown in FIG. 5, the contacted ball 43 and the absolute socket 50 maintain the same position while the robot arm 20 Several postures can be created. The control unit 90 may read encoder signals for various postures of the robot arm 20, calculate a set of joint angles for the read encoder signals, and store them in the storage unit 70.

제어부(90)는 각각의 관절 각도로 계산된 TCP(Tool center point)의 위치, 즉 볼(43)의 중심은 모두 같기 때문에, 아래의 수학식 1과 같은 최적화 문제를 풀어 모델 파라미터를 산출할 수 있다. 즉 제어부(90)는 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼(43)의 위치()와 절대 소켓(50)의 위치(

Figure 112022046597223-pat00047
) 간의 위치 오차를 최소화하는 모델 파라미터를 산출한다. 여기서 수학식 1은 모델 파라미터를 추정하기 위해 사용되는 비용함수이다. 모델 파라미터는, 절대 소켓(50)만을 이용하는 경우, 수학식 1에 따른 비용함수로 산출한 값을 이용한 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정할 수 있다.Since the positions of TCP (Tool center point) calculated by each joint angle, that is, the center of the ball 43, are all the same, the control unit 90 can calculate model parameters by solving an optimization problem such as Equation 1 below. there is. That is, the control unit 90 calculates the position of the ball 43 using regular kinematics using each joint angle ( ) and the position of the absolute socket 50 (
Figure 112022046597223-pat00047
) Calculate model parameters that minimize the position error between Here, Equation 1 is the cost function used to estimate model parameters. When using only the absolute socket 50, model parameters can be estimated using the nonlinear least squares method using the value calculated by the cost function according to Equation 1.

Figure 112022046597223-pat00049
: 정기구학(forward kinematics) 함수
Figure 112022046597223-pat00049
: forward kinematics function

Figure 112022046597223-pat00050
: 모델 파라미터 벡터
Figure 112022046597223-pat00050
: Model parameter vector

Figure 112022046597223-pat00051
: 절대 소켓의 개수
Figure 112022046597223-pat00051
: Absolute number of sockets

Figure 112022046597223-pat00052
:
Figure 112022046597223-pat00053
번째 절대 소켓에 대한 측정점 개수
Figure 112022046597223-pat00052
:
Figure 112022046597223-pat00053
Number of measuring points for the second absolute socket

Figure 112022046597223-pat00054
:
Figure 112022046597223-pat00055
번째 절대 소켓의
Figure 112022046597223-pat00056
번째 측정 관절 위치 벡터(
Figure 112022046597223-pat00057
)
Figure 112022046597223-pat00054
:
Figure 112022046597223-pat00055
of the absolute socket
Figure 112022046597223-pat00056
The measured joint position vector (
Figure 112022046597223-pat00057
)

Figure 112022046597223-pat00058
:
Figure 112022046597223-pat00059
번째 절대 소켓의 위치 벡터
Figure 112022046597223-pat00058
:
Figure 112022046597223-pat00059
Position vector of the second absolute socket

그리고 제어부(90)는 산출한 모델 파라미터로 다관절 로봇(100)의 캘리브레이션을 수행함으로써, 다관절 로봇(100)의 작업 정밀도를 향상시킬 수 있다.Additionally, the control unit 90 can improve the work precision of the articulated robot 100 by performing calibration of the articulated robot 100 using the calculated model parameters.

이와 같은 제1 실시예에 따른 캘리브레이션 장치(200)를 이용한 다관절 로봇(100)의 캘리브레이션 방법을 도 1 내지 도 6을 참조하여 설명하면 다음과 같다. 여기서 도 6은 본 발명의 제1 실시예에 따른 엔드 이펙터(30)의 구속 조건을 이용한 다관절 로봇(100)의 캘리브레이션 방법을 보여주는 흐름도이다.The calibration method of the articulated robot 100 using the calibration device 200 according to the first embodiment will be described with reference to FIGS. 1 to 6 as follows. Here, FIG. 6 is a flowchart showing a calibration method of the articulated robot 100 using the constraint conditions of the end effector 30 according to the first embodiment of the present invention.

먼저 S10단계에서 절대 소켓(50)을 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치에 고정한다. 이때 절대 소켓(50)은 현장에 다관절 로봇(100)을 설치하는 단계에서 미리 설치될 수 있다.First, in step S10, the absolute socket 50 is fixed at a known position with respect to the reference coordinate system of the articulated robot 100. At this time, the absolute socket 50 may be installed in advance at the stage of installing the articulated robot 100 in the field.

다음으로 S20단계에서 제어부(90)는 절대 소켓(50)에 다관절 로봇(100)의 엔드 이펙터(30)에 설치된 볼(43)을 접촉시킨다.Next, in step S20, the control unit 90 contacts the ball 43 installed on the end effector 30 of the articulated robot 100 with the absolute socket 50.

다음으로 S30단계에서 절대 소켓(50)과 볼(43)이 접촉된 상태를 구속하면서 다관절 로봇(100)을 여러 자세를 만들어, 제어부(90)는 관절에 설치된 엔코더로부터 관절 각도 세트를 산출한다.Next, in step S30, the articulated robot 100 is created in various postures while restraining the contact state between the absolute socket 50 and the ball 43, and the control unit 90 calculates a set of joint angles from the encoder installed at the joint. .

이어서 S40단계에서 제어부(90)는 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼(43)의 위치와 절대 소켓(50)의 절대 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출한다. 즉 모델 파라미터는 수학식 1로 산출할 수 있다.Subsequently, in step S40, the control unit 90 calculates model parameters that minimize the position error between the position of the ball 43 calculated by forward kinematics and the absolute position of the absolute socket 50 using each joint angle. That is, the model parameters can be calculated using Equation 1.

그리고 S50단계에서 제어부(90)는 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트한다.And in step S50, the control unit 90 updates the existing model parameters with the calculated model parameters.

이와 같은 제1 실시예에 따른 캘리브레이션 방법의 정확도를 확인하기 위해서, 도 7 및 도 8에 도시된 바와 같이 시뮬레이션을 수행하였다. 여기서 도 7 및 도 8은 도 5의 방법에 따른 캘리브레이션의 정확도를 확인하기 위한 시뮬레이션 과정을 보여주는 도면들로서, 도 7은 캘리브레이션 데이터에 대한 캘리브레이션 전후의 위치 오차 결과를 보여주는 그래프이고, 도 8은 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 위치 오차 결과를 보여주는 그래프이다.In order to confirm the accuracy of the calibration method according to the first embodiment, a simulation was performed as shown in FIGS. 7 and 8. Here, FIGS. 7 and 8 are diagrams showing a simulation process for confirming the accuracy of calibration according to the method of FIG. 5. FIG. 7 is a graph showing the position error results before and after calibration for calibration data, and FIG. 8 is a calibration verification diagram. This is a graph showing the position error results before and after calibration of the data.

시뮬레이션 진행 과정은 다음과 같다. 본 시뮬레이션에서 다관절 로봇으로, 도 9에 도시된 바와 같은, 로보스타 RA004를 이용하였다. 모델 파라미터에 대한 가상의 다관절 로봇(100)을 생성한다. 그 후 주어진 포인트에 대해 몇 가지 오리엔테이션을 추가한 포즈 벡터 세트(pose vector set)를 생성한다. 생성한 포즈 벡터 세트 중에서, 약 80%는 캘리브레이션을 위해 약 20%는 검증(Verification)을 위해 사용한다. 포즈 벡터 세트에 대한 관절 각도를 역기구학(Inverse Kinematics)으로 산출한다. 이것은 실제 상황에서 엔코더에서 읽은 관절 각도에 대응한다.The simulation progress is as follows. In this simulation, Robostar RA004, as shown in Figure 9, was used as an articulated robot. A virtual articulated robot 100 is created based on the model parameters. Afterwards, a pose vector set is created with several orientations added for a given point. Among the generated pose vector sets, approximately 80% are used for calibration and approximately 20% are used for verification. The joint angles for the pose vector set are calculated using inverse kinematics. This corresponds to the joint angle read from the encoder in real life situations.

주어진 절대 위치 데이터와 관절 각도에 대응하는 Nominal 모델의 TCP 위치와의 에러(위치 오차)를 최소화하는 방향으로 비선형 최소제곱법(nonlinear least squares method)을 풀어 모델 파라미터를 추정하였다.Model parameters were estimated by solving the nonlinear least squares method in the direction of minimizing the error (position error) between the given absolute position data and the TCP position of the nominal model corresponding to the joint angle.

추정 모델 파라미터에 대한 검증(Verificataion)을 위해 절대 소켓 1개의 포인트에 대한 위치 오차를 계산하였다.To verify the estimated model parameters, the position error for one absolute socket point was calculated.

표1은 캘리브레이션 전의 에러를 나타내고, 표2는 캘리브레이션 후의 에러를 나타낸다. 표1 및 표2에서 mean은 평균, min는 최소값, max는 최대값을 나타낸다.Table 1 shows the errors before calibration, and Table 2 shows the errors after calibration. In Tables 1 and 2, mean represents the average, min represents the minimum value, and max represents the maximum value.

도 7, 표1 및 표2에 도시된 바와 같이, 제1 실시예에 따른 캘리브레이션 방법에 따르면 절대 소켓에 대한 위치 오차가 확연하게 감소한 것을 확인할 수 있다. 즉 제1 실시예에 따른 캘리브레이션 방법은 높은 작업 정확도를 얻을 수 있음을 확인할 수 있다.As shown in FIG. 7 and Table 1 and Table 2, it can be seen that the position error for the absolute socket is significantly reduced according to the calibration method according to the first embodiment. That is, it can be confirmed that the calibration method according to the first embodiment can achieve high work accuracy.

표3은 캘리브레이션 전의 검증결과를 나타내고, 표4는 캘리브레이션 후의 검증결과를 나타낸다.Table 3 shows the verification results before calibration, and Table 4 shows the verification results after calibration.

도 8, 표3 및 표4에 따르면, 제1 실시예에 따른 캘리브레이션 방법은 절대 소켓에 대한 검증에서도, 위치 오차가 확연하게 감소한 것을 확인할 수 있다. 즉 제1 실시예에 따른 캘리브레이션 방법은 높은 작업 정확도를 얻을 수 있음을 확인할 수 있다.According to FIG. 8 and Tables 3 and 4, it can be seen that the calibration method according to the first embodiment significantly reduces the position error even when verifying an absolute socket. That is, it can be confirmed that the calibration method according to the first embodiment can achieve high work accuracy.

이와 같이 제1 실시예에 따른 로봇의 캘리브레이션 장치(200)는 엔드 이펙터(30)에 설치된 볼(43)과 절대 소켓(50) 간의 볼 조인트 메카니즘(ball joint mechanism)으로 접촉하기 때문에, 볼(43)이 절대 소켓(50)에 접촉된 상태에서 여러 자세를 만들어 엔코더로부터 관절 각도를 얻을 수 있기 때문에, 절대 소켓(50)의 설치 개수를 최소화할 수 있다.In this way, since the robot calibration device 200 according to the first embodiment contacts the ball 43 installed on the end effector 30 and the absolute socket 50 with a ball joint mechanism, the ball 43 ) Since the joint angle can be obtained from the encoder by creating various postures while in contact with the absolute socket 50, the number of installed absolute sockets 50 can be minimized.

제1 실시예에 따른 캘리브레이션 장치(200)는 볼(43)과 절대 소켓(50)이 접촉된 상태를 구속한 후, 로봇의 자세를 여러 개 만들어 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼(43)의 위치와 절대 소켓(50)의 절대 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 다관절 로봇(100)의 캘리브레이션을 수행할 수 있다.The calibration device 200 according to the first embodiment restrains the state in which the ball 43 and the absolute socket 50 are in contact, creates several postures of the robot, calculates a set of joint angles from the encoder, and calculates a set of joint angles from the encoder. Using the angle, model parameters that minimize the position error between the position of the ball 43 calculated by forward kinematics and the absolute position of the absolute socket 50 are calculated, and the articulated robot 100 is calibrated using the calculated model parameters. It can be done.

제1 실시예에 따른 캘리브레이션 장치(200)는 다관절 로봇(100)을 해체하지 않고도 캘리브레이션을 수행할 수 있다.The calibration device 200 according to the first embodiment can perform calibration without disassembling the articulated robot 100.

제1 실시예에 따른 캘리브레이션 장치(200)는 볼(43)과 절대 소켓(50)의 구속 조건을 이용하여 캘리브레이션을 수행하고 설치 공간 또한 크지 않기 때문에, 협소한 작업 공간에서도 적용이 가능하여 다관절 로봇(100)이 설치된 현장 조건에 크게 종속되지 않고 유연하고 빠르게 적용할 수 있고, 기존의 캘리브레이션 장치와 비교해서 저비용으로 구현이 가능하다.The calibration device 200 according to the first embodiment performs calibration using the constraint conditions of the ball 43 and the absolute socket 50, and the installation space is not large, so it can be applied even in a narrow work space and is a multi-joint It can be applied flexibly and quickly without being greatly dependent on the field conditions where the robot 100 is installed, and can be implemented at low cost compared to existing calibration devices.

제1 실시예에 따른 캘리브레이션 장치(200)는 작업자의 숙련도와 무관하게 캘리브레이션을 쉽게 수행할 수 있다.The calibration device 200 according to the first embodiment can easily perform calibration regardless of the operator's skill level.

제1 실시예에 따른 캘리브레이션 장치(200)는 별도의 센서를 사용하지 않기 때문에, 센서 오차를 차단할 수 있다.Since the calibration device 200 according to the first embodiment does not use a separate sensor, sensor error can be blocked.

그리고 제1 실시예에 따른 캘리브레이션 장치(200)는 주기적인 캘리브레이션의 자동화가 가능하다.And the calibration device 200 according to the first embodiment is capable of automating periodic calibration.

[제2 실시예][Second Embodiment]

한편 제1 실시예에서는 절대 소켓(50)이 베이스 지그(80)에 설치된 예를 개시하였지만 이것에 한정되는 것은 아니다. 예컨대 도 9에 도시된 바와 같이, 절대 소켓(50)은 로봇 본체(10)에 설치될 수 있다.Meanwhile, in the first embodiment, an example in which the absolute socket 50 is installed on the base jig 80 is disclosed, but it is not limited to this. For example, as shown in FIG. 9, the absolute socket 50 may be installed on the robot body 10.

도 9는 본 발명의 제2 실시예에 따른 엔드 이펙터(30)의 구속 조건을 이용한 다관절 로봇(100)의 캘리브레이션 장치(300)를 보여주는 도면이다.Figure 9 is a diagram showing the calibration device 300 of the articulated robot 100 using the constraint conditions of the end effector 30 according to the second embodiment of the present invention.

도 9를 참조하면, 제2 실시에에 따른 캘리브레이션 장치(300)는 볼(43), 절대 소켓(50) 및 제어부(90)를 포함한다. 볼(43)은 다관절 로봇(100)의 엔드 이펙터(30)에 설치된다. 절대 소켓(50)은 적어도 하나가 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치에 고정된다. 그리고 제어부(90)는 절대 소켓(50)에 볼(43)을 접촉시킨다. 제어부(90)는 절대 소켓(50)과 볼(43)이 접촉된 상태를 구속하면서 다관절 로봇(100)을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출한다. 제어부(90)는 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼(43)의 위치와 절대 소켓(50)의 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출한다. 그리고 제어부(90)는 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트한다.Referring to FIG. 9, the calibration device 300 according to the second embodiment includes a ball 43, an absolute socket 50, and a control unit 90. The ball 43 is installed on the end effector 30 of the articulated robot 100. At least one of the absolute sockets 50 is fixed at a known position with respect to the reference coordinate system of the articulated robot 100. And the control unit 90 brings the ball 43 into contact with the absolute socket 50. The control unit 90 creates various postures for the articulated robot 100 while restraining the contact state between the absolute socket 50 and the ball 43 and calculates a set of joint angles from the encoder installed at the joint. The control unit 90 uses each joint angle to calculate model parameters that minimize the position error between the position of the ball 43 calculated by forward kinematics and the position of the absolute socket 50. Then, the control unit 90 updates the existing model parameters with the calculated model parameters.

제2 실시예에 따른 캘리브레이션 장치(300)는 저장부(70)를 더 포함할 수 있다.The calibration device 300 according to the second embodiment may further include a storage unit 70.

여기서 절대 소켓(50)은 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치에 설치되어 기준 좌표계의 절대 위치 정보를 제공한다. 여기서 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치는 로봇 본체(10)이다. 절대 소켓(50)은 로봇 본체(10)에 복수 개가 설치된 예를 개시하였다.Here, the absolute socket 50 is installed at a known position with respect to the reference coordinate system of the articulated robot 100 and provides absolute position information of the reference coordinate system. Here, the known position in the reference coordinate system of the articulated robot 100 is the robot body 10. An example in which a plurality of absolute sockets 50 are installed in the robot body 10 is disclosed.

이와 같이 제2 실시예에 따른 캘리브레이션 장치(300)는 절대 소켓(50)이 로봇 본체(10)에 설치되는 것을 제외하고, 제1 실시예에 따른 캘리브레이션 장치(200)와 동일한 구조를 갖는다.As such, the calibration device 300 according to the second embodiment has the same structure as the calibration device 200 according to the first embodiment, except that the absolute socket 50 is installed on the robot body 10.

제2 실시예에 따른 캘리브레이션 장치(300)는 제1 실시예에 따른 캘리브레이션 장치(100)와 실질적으로 동일한 구조를 갖기 때문에, 제1 실시예에 따른 캘리브레이션 장치(100)와 동일하게 효과를 기대할 수 있다.Since the calibration device 300 according to the second embodiment has substantially the same structure as the calibration device 100 according to the first embodiment, the same effect as the calibration device 100 according to the first embodiment can be expected. there is.

[제3 실시예][Third Embodiment]

한편 제1 및 제2 실시예에 따른 캘리브레이션 장치(200,300)는 볼(43)과 절대 소켓(50)을 이용하여 캘리브레이션을 수행하는 예를 개시하였지만 이것에 한정되는 것은 아니다. 예컨대 도 10에 도시된 바와 같이, 다관절 로봇(100)의 작업 영역 내의 임의의 위치에 적어도 하나의 상대 소켓(60)을 추가적으로 고정하여, 볼(43), 절대 소켓(50) 및 상대 소켓(60)을 이용하여 다관절 로봇(100)에 대한 캘리브레이션을 수행할 수 있다.Meanwhile, the calibration devices 200 and 300 according to the first and second embodiments disclose an example of performing calibration using the ball 43 and the absolute socket 50, but are not limited to this. For example, as shown in FIG. 10, at least one relative socket 60 is additionally fixed to an arbitrary position within the work area of the articulated robot 100, so that the ball 43, the absolute socket 50, and the relative socket ( Calibration of the articulated robot 100 can be performed using 60).

도 10은 본 발명의 제3 실시예에 따른 엔드 이펙터(30)의 구속 조건을 이용한 다관절 로봇(100)의 캘리브레이션 장치(400)를 보여주는 도면이다.Figure 10 is a diagram showing the calibration device 400 of the articulated robot 100 using the constraint conditions of the end effector 30 according to the third embodiment of the present invention.

도 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)의 캘리브레이션을 수행한다.Referring to FIG. 10, the calibration device 400 according to the third embodiment includes a ball 43, an absolute socket 50, a relative socket 60, and a control unit 90. The ball 43 is installed in the end effector 30 of the articulated robot 100. At least one of the absolute sockets 50 is fixed at a known position with respect to the reference coordinate system of the articulated robot 100. At least one of the relative sockets 60 is fixed to an arbitrary position within the work area of the articulated robot 100. The control unit 90 contacts the ball 43 installed on the end effector 30 of the articulated robot 100 with the absolute and relative sockets 60. The control unit 90 creates several postures for the articulated robot 100 while restraining the contact state between the absolute and relative sockets 60 and the ball 43 and calculates a set of joint angles from encoders installed at the joints. The control unit 90 calculates model parameters that simultaneously minimize the position error and relative position error calculated by forward kinematics using each joint angle. Then, the control unit 90 performs calibration of the articulated robot 100 using the calculated model parameters.

이때 관절 각도 세트는 절대 소켓(50)에 볼(43)이 접촉된 상태에서 산출되는 절대 관절 각도 세트와, 상대 소켓(60)에 볼(43)이 접촉된 상태에서 산출되는 상대 관절 각도 세트를 포함한다.At this time, the joint angle set includes an absolute joint angle set calculated when the ball 43 is in contact with the absolute socket 50 and a relative joint angle set calculated when the ball 43 is in contact with the relative socket 60. Includes.

위치 오차는 절대 관절 각도 세트를 이용하여 정기구학으로 볼(43)의 위치와 절대 소켓(50)의 위치 간의 차이로 산출한다.The position error is calculated as the difference between the position of the ball 43 and the absolute socket 50 using regular kinematics using a set of absolute joint angles.

그리고 상대 위치 오차는 관절 각도 세트를 이용하여 산출한 각각의 위치 간의 차이로 산출한다. 예를 들어 첫 번째 측정 관절 각도로 계산한 볼(43)의 위치를 기준으로 하고, 나머지 각각의 관절 각도로 계산한 볼(43)의 위치 간의 오차로 산출할 수 있다.And the relative position error is calculated as the difference between each position calculated using the joint angle set. For example, it can be calculated as an error between the position of the ball 43 calculated using the first measured joint angle and the position of the ball 43 calculated using the remaining joint angles.

제3 실시예에 따른 캘리브레이션 장치(400)는 저장부(70)를 더 포함할 수 있다.The calibration device 400 according to the third embodiment may further include a storage unit 70.

여기서 상대 소켓(60)은 설치되는 장소만 상이할 뿐, 절대 소켓(50)과 유사한 구조를 갖는다. 즉 상대 소켓(60)은 볼(43)이 삽입되어 접촉될 수 있도록, 상부면에 볼(43)에 대응되는 곡률을 갖는 곡면 홈(61)이 형성되어 있다.Here, the relative socket 60 has a similar structure to the absolute socket 50, except that the installation location is different. That is, a curved groove 61 having a curvature corresponding to the ball 43 is formed on the upper surface of the mating socket 60 so that the ball 43 can be inserted and contacted.

상대 소켓(60)은 캘리브레이션 수행 시 모델 파라미터 식별을 위한 관측성 지표를 향상시키고, 지정된 작업 영역에서 위치정확도를 향상시키기 위한 정보를 제공한다. 상대 소켓(60)은 기준 좌표계에 대한 절대 위치 정보가 필요하지 않기 때문에, 다관절 로봇(100)의 작업 영역 내에 임의의 위치에 놓여질 수 있다.The relative socket 60 improves the observability index for identifying model parameters when performing calibration and provides information to improve location accuracy in a designated work area. Since the relative socket 60 does not require absolute position information about the reference coordinate system, it can be placed at any position within the work area of the articulated robot 100.

상대 소켓(60)은 직접 다관절 로봇(100)의 작업 영역 내의 임의의 위치에 고정될 수 있지만, 고정 지그(63)와 설치대(65)를 이용하여 고정된다. 즉 고정 지그(63)가 다관절 로봇(100)의 작업 영역에 고정된다. 고정 지그(63) 위에 일정 높이를 갖는 설치대(65)가 설치된다. 그리고 상대 소켓(60)은 설치대(65)의 상단에 설치된다. 물론 상대 소켓(60)의 곡면 홈(61)이 상부를 향하도록 설치된다.The relative socket 60 can be directly fixed to any position within the work area of the articulated robot 100, but is fixed using a fixing jig 63 and an installation stand 65. That is, the fixing jig 63 is fixed to the work area of the articulated robot 100. An installation stand 65 having a certain height is installed on the fixing jig 63. And the counterpart socket 60 is installed at the top of the installation stand 65. Of course, the curved groove 61 of the counterpart socket 60 is installed so that it faces upward.

상대 소켓(60)은 설치대(65)의 길이 조절을 통하여 다양한 높이로 설치될 수 있다. 상대 소켓(60)은 다관절 로봇(100)의 작업 영역 내의 임의의 위치에 고정되기 때문에, 절대 소켓(50) 보다는 로봇 본체(10)에서 먼 위치에 설치된다.The counterpart socket 60 can be installed at various heights by adjusting the length of the installation stand 65. Since the relative socket 60 is fixed to an arbitrary position within the work area of the articulated robot 100, it is installed in a position farther from the robot body 10 than the absolute socket 50.

상대 소켓(60)에 볼(43)이 안정적으로 삽입될 수 있도록, 볼(43)이 상대 소켓(60)에 자력에 의해 곡면 홈(61)에 삽입되어 부착되는 마그네틱 볼 조인트 메카니즘으로 구현될 수 있다.In order for the ball 43 to be stably inserted into the mating socket 60, the ball 43 can be implemented as a magnetic ball joint mechanism in which the ball 43 is inserted and attached to the curved groove 61 by magnetic force to the mating socket 60. there is.

제어부(90)는 모델 파라미터를 아래의 수학식 2를 비용함수로 하는 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정할 수 있다.The control unit 90 can estimate model parameters using a nonlinear least squares method using Equation 2 below as a cost function.

Figure 112022046597223-pat00065
: 정기구학 함수
Figure 112022046597223-pat00065
: Regular kinematics function

Figure 112022046597223-pat00066
: 모델 파라미터 벡터
Figure 112022046597223-pat00066
: Model parameter vector

Figure 112022046597223-pat00067
: 절대 소켓의 개수
Figure 112022046597223-pat00067
: Absolute number of sockets

Figure 112022046597223-pat00068
: 상대 소켓의 개수
Figure 112022046597223-pat00068
: Number of relative sockets

Figure 112022046597223-pat00069
:
Figure 112022046597223-pat00070
번째 절대 소켓에 대한 측정점 개수
Figure 112022046597223-pat00069
:
Figure 112022046597223-pat00070
Number of measuring points for the second absolute socket

Figure 112022046597223-pat00071
:
Figure 112022046597223-pat00072
번째 상대 소켓에 대한 측정점 개수
Figure 112022046597223-pat00071
:
Figure 112022046597223-pat00072
Number of measurement points for the second partner socket

Figure 112022046597223-pat00073
:
Figure 112022046597223-pat00074
번째 상대 소켓에 대한 기준 측정 관절 위치 벡터
Figure 112022046597223-pat00073
:
Figure 112022046597223-pat00074
Reference measurement joint position vector for the first relative socket

Figure 112022046597223-pat00075
:
Figure 112022046597223-pat00076
번째 절대 소켓의
Figure 112022046597223-pat00077
번째 측정 관절 위치 벡터(
Figure 112022046597223-pat00078
)
Figure 112022046597223-pat00075
:
Figure 112022046597223-pat00076
of the absolute socket
Figure 112022046597223-pat00077
The measured joint position vector (
Figure 112022046597223-pat00078
)

Figure 112022046597223-pat00079
:
Figure 112022046597223-pat00080
번째 상대 소켓의
Figure 112022046597223-pat00081
번째 측정 관절 위치 벡터(
Figure 112022046597223-pat00082
)
Figure 112022046597223-pat00079
:
Figure 112022046597223-pat00080
of the second relative socket
Figure 112022046597223-pat00081
The measured joint position vector (
Figure 112022046597223-pat00082
)

Figure 112022046597223-pat00083
:
Figure 112022046597223-pat00084
번째 절대 소켓의 위치 벡터
Figure 112022046597223-pat00083
:
Figure 112022046597223-pat00084
Position vector of the second absolute socket

전술된 바와 같이, 제어부(90)는 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출하게 된다. 수학식 2에서 오른쪽 항목은 위치 오차에 해당하고, 왼쪽 항목은 상대 위치 오차에 해당한다.As described above, the control unit 90 calculates model parameters that simultaneously minimize the position error and the relative position error. In Equation 2, the right item corresponds to the position error, and the left item corresponds to the relative position error.

위치 오차는, 수학식 2에서, 절대 관절 각도 세트를 이용하여 정기구학으로 볼(43)의 위치()와 절대 소켓(50)의 절대 위치(

Figure 112022046597223-pat00086
) 간의 차이로 산출한다.The position error is, in Equation 2, the position of the ball 43 in forward kinematics using an absolute joint angle set ( ) and the absolute position of the absolute socket 50 (
Figure 112022046597223-pat00086
) is calculated as the difference between

그리고 상대 위치 오차는 관절 각도 세트를 이용하여 산출한 각각의 위치 간의 차이로 산출한다. 예를 들어 상대 위치 오차는 상대 소켓에 대응하는 관절 각도세트를 이용하여 정기 구학으로 산출한 볼(43)의 위치 중 기준 위치() 와 나머지 각각의 관절 각도에 대한 위치와의 차이로 산출한다.And the relative position error is calculated as the difference between each position calculated using the joint angle set. For example, the relative position error is the reference position ( ) and the position of each remaining joint angle.

이와 같이 제3 실시예에 따른 캘리브레이션 장치(400)가 절대 소켓(50)과 상대 소켓(60)을 이용하여 캘리브레이션을 수행하는 이유는 다음과 같다. The reason why the calibration device 400 according to the third embodiment performs calibration using the absolute socket 50 and the relative socket 60 is as follows.

제1 및 제2 실시예와 같이, 위치 오차를 기반으로 산출된 모델 파라미터만을 로봇의 캘리브레이션에 활용할 경우, 절대 소켓(50)의 위치가 로봇의 베이스 지그(80) 근방의 영역에만 존재하기 때문에, 다관절 로봇(100)의 작업 영역이 크지 않은 경우 유효하게 사용될 수 있다.As in the first and second embodiments, when only the model parameters calculated based on the position error are used for robot calibration, the position of the absolute socket 50 exists only in the area near the base jig 80 of the robot, It can be effectively used when the work area of the articulated robot 100 is not large.

하지만 제1 및 제2 실시예의 경우, 절대 소켓(50)의 위치가 로봇의 베이스 지그(80) 근방의 영역에만 존재하기 때문에, 암(arm) 길이, 툴(tool) 길이, 관절 각도의 제한, 간섭 등으로 인해 조인트 공간(Joint space) 상에서 넓은 배치(configuration)를 얻지 못할 수 있다. 이것은 모델 파라미터의 관측성을 저하시킬 수 있기 때문이다.However, in the case of the first and second embodiments, since the position of the absolute socket 50 exists only in the area near the base jig 80 of the robot, there are limitations on the arm length, tool length, and joint angle, Due to interference, etc., it may not be possible to obtain a wide configuration in the joint space. This is because it can reduce the observability of model parameters.

따라서 제3 실시예에 따른 캘리브레이션 장치(400)는 다관절 로봇(100)의 작업 영역 내에 임의의 위치에 상대 소켓(60)을 추가적으로 설치하고, 볼(43)과 상대 소켓(60)이 볼 조인트 메카니즘으로 접촉된 상태를 구속한 후, 다관절 로봇(100)의 자세를 여러 개 만들어 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학으로 산출한 볼(43)의 위치와 상대 소켓(60)의 상대 위치 간의 상대 위치 오차를 산출한다. 그리고 제3 실시예에 따른 캘리브레이션 장치(400)는 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 로봇의 캘리브레이션을 수행한다.Therefore, the calibration device 400 according to the third embodiment additionally installs a relative socket 60 at an arbitrary position within the work area of the articulated robot 100, and the ball 43 and the relative socket 60 are ball joints. After restraining the contact state with a mechanism, several postures of the articulated robot 100 are created, a set of joint angles is calculated from the encoder, and the position of the ball 43 calculated by forward kinematics using each joint angle is calculated. The relative position error between the relative positions of the relative sockets 60 is calculated. And the calibration device 400 according to the third embodiment calculates model parameters that simultaneously minimize the position error and relative position error, and performs calibration of the robot with the calculated model parameters.

한편으로 상대 소켓(60)만을 사용하여 상대 위치 오차를 최소화하는 모델 파라미터를 산출하여 로봇의 캘리브레이션을 수행하는 방안을 고려할 수 있다.On the other hand, it is possible to consider a method of calibrating the robot by calculating model parameters that minimize the relative position error using only the relative socket 60.

하지만 상대 소켓(60)만을 사용하면 안되는 이유는 다음과 같다. 상대 소켓(60)에서 측정된 정보로 모델 파라미터를 산출할 경우, 모델 파라미터에 대한 다중해가 존재하기 때문이다.However, the reason why only the counterpart socket 60 should not be used is as follows. This is because when calculating model parameters using information measured at the counterpart socket 60, there are multiple solutions to the model parameters.

따라서 모델 파라미터의 유일성(uniqueness)를 위해 절대 소켓(50)이 필요하다. 즉 절대 소켓(50)은 모델 파라미터의 유일성을 위한 절대 위치 정보를 제공하고, 상대 소켓(60)은 작업영역 전체 혹은 그 중 관심영역에서의 최적의 모델 파라미터를 구하고 관측성 지표를 향상시킨다Therefore, an absolute socket 50 is required for uniqueness of model parameters. In other words, the absolute socket 50 provides absolute position information for uniqueness of model parameters, and the relative socket 60 obtains optimal model parameters in the entire work area or in the area of interest among them and improves the observability index.

그리고 제어부(90)는 모델 파라미터를 산출하는 과정을 반복 수행하여 캘리브레이션의 정확도는 높일 수 있다. 이때 제어부(90)는 비선형 최소제곱법을 이용하여 모델 파라미터를 반복적으로 추정하는 경우, 아래의 수학식 3을 이용하여 최적 모델 파라미터를 산출할 수 있다.And the control unit 90 can increase the accuracy of calibration by repeatedly performing the process of calculating model parameters. At this time, when the control unit 90 repeatedly estimates model parameters using the nonlinear least squares method, it can calculate optimal model parameters using Equation 3 below.

Figure 112022046597223-pat00089
: 모델 파라미터 업데이트 벡터(
Figure 112022046597223-pat00090
;
Figure 112022046597223-pat00091
는 반복 횟수)
Figure 112022046597223-pat00089
: Model parameter update vector (
Figure 112022046597223-pat00090
;
Figure 112022046597223-pat00091
is the number of repetitions)

Figure 112022046597223-pat00092
: 절대 소켓 측정점에 대한 자코비안(Jacobian) 행렬
Figure 112022046597223-pat00092
: Jacobian matrix for absolute socket measurement points

Figure 112022046597223-pat00093
: 상대 소켓 측정점에 대한 자코비안 행렬
Figure 112022046597223-pat00093
: Jacobian matrix for relative socket measurement points

Figure 112023140607726-pat00094
: 상대 소켓에 대한 잔차 오차 벡터,
Figure 112023140607726-pat00095
,
Figure 112023140607726-pat00094
: Residual error vector for the counterpart socket,
Figure 112023140607726-pat00095
,

Figure 112022046597223-pat00097
: 절대 소켓에 대한 잔차 오차 벡터,
Figure 112022046597223-pat00098
,
Figure 112022046597223-pat00099
Figure 112022046597223-pat00097
: Residual error vector for absolute sockets,
Figure 112022046597223-pat00098
,
Figure 112022046597223-pat00099

이와 같은 제3 실시예에 따른 캘리브레이션 장치(400)를 이용한 다관절 로봇(100)의 캘리브레이션 방법을 도 10 및 도 11을 참조하여 설명하면 다음과 같다. 여기서 도 11은 본 발명의 제3 실시예에 따른 엔드 이펙터(30)의 구속 조건을 이용한 다관절 로봇(100)의 캘리브레이션 방법을 보여주는 흐름도이다.The calibration method of the articulated robot 100 using the calibration device 400 according to the third embodiment will be described with reference to FIGS. 10 and 11 as follows. Here, FIG. 11 is a flowchart showing a calibration method of the articulated robot 100 using the constraint conditions of the end effector 30 according to the third embodiment of the present invention.

먼저 S110단계에서 절대 소켓(50)을 다관절 로봇(100)의 기준 좌표계에 대해 알고 있는 위치에 고정하고, 상대 소켓(60)을 다관절 로봇(100)의 작업 영역 내의 임의의 위치에 고정한다. 이때 절대 소켓(50)은 현장에 다관절 로봇(100)을 설치하는 단계에서 미리 설치될 수 있다. 상대 소켓(60)은 캘리브레이션을 수행할 때 다관절 로봇(100)의 작업 영역 내에 고정할 수 있다.First, in step S110, the absolute socket 50 is fixed at a known position with respect to the reference coordinate system of the articulated robot 100, and the relative socket 60 is fixed at a random position within the work area of the articulated robot 100. . At this time, the absolute socket 50 may be installed in advance at the stage of installing the articulated robot 100 in the field. The relative socket 60 can be fixed within the work area of the articulated robot 100 when performing calibration.

다음으로 S120단계에서 제어부(90)는 절대 및 상대 소켓(60)에 다관절 로봇(100)의 엔드 이펙터(30)에 설치된 볼(43)을 접촉시킨다.Next, in step S120, the control unit 90 contacts the ball 43 installed on the end effector 30 of the articulated robot 100 with the absolute and relative sockets 60.

다음으로 S130단계에서 제어부(90)는 절대 및 상대 소켓(60)과 볼(43)이 접촉된 상태를 구속하면서 다관절 로봇(100)을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출한다.Next, in step S130, the control unit 90 creates several postures for the articulated robot 100 while restraining the contact state between the absolute and relative sockets 60 and the ball 43 and calculates a set of joint angles from the encoder installed at the joint. do.

이때 절대 소켓(50) 및 상대 소켓(60) 중에 하나에 볼(43)을 접촉시킨 상태에서 관절 각도 세트를 산출한다.At this time, the joint angle set is calculated while the ball 43 is in contact with one of the absolute socket 50 and the relative socket 60.

따라서 S120단계 및 S130단계를 수행할 때, 절대 관절 각도 세트를 먼저 산출한 이후에 상대 관절 각도 세트를 산출할 수 있다.Therefore, when performing steps S120 and S130, the absolute joint angle set can be calculated first and then the relative joint angle set can be calculated.

반대로 상대 관절 각도 세트를 먼저 산출한 이후에 절대 관절 각도 세트를 산출할 수 있다.Conversely, the relative joint angle set can be calculated first and then the absolute joint angle set can be calculated.

이어서 S140단계에서 제어부(90)는 각각의 관절 각도를 이용하여 정기구학으로 산출한 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 수학식 2로 산출한다.Next, in step S140, the control unit 90 calculates model parameters that simultaneously minimize the position error and relative position error calculated by forward kinematics using each joint angle using Equation 2.

그리고 S150단계에서 제어부(90)는 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트한다.And in step S150, the control unit 90 updates the existing model parameters with the calculated model parameters.

한편 제어부(90)는 모델 파라미터를 산출하는 S120 내지 S140단계를 반복 수행할 수 있으며, 이 경우 수학식 3으로 최적 모델 파라미터를 산출할 수 있다.Meanwhile, the control unit 90 may repeatedly perform steps S120 to S140 for calculating model parameters, and in this case, optimal model parameters can be calculated using Equation 3.

이와 같은 제3 실시예에 따른 캘리브레이션 방법의 정확도를 확인하기 위해서, 도 12 내지 도 16에 도시된 바와 같이 시뮬레이션을 수행하였다. 여기서 도 12는 실험에 사용된 다관절 로봇과 캘리브레이션 장치를 보여주는 사진이다. 도 13은 캘리브레이션 측정 데이터에 대한 캘리브레이션 전후의 위치 오차를 보여주는 그래프이다. 도 14는 캘리브레이션 측정 데이터에 대한 캘리브레이션 전후의 상대 위치 오차를 보여주는 그래프이다. 도 15는 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 위치 오차를 보여주는 그래프이다. 그리고 도 16은 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 상대 위치 오차를 보여주는 그래프이다.In order to confirm the accuracy of the calibration method according to the third embodiment, simulations were performed as shown in FIGS. 12 to 16. Here, Figure 12 is a photograph showing the articulated robot and calibration device used in the experiment. Figure 13 is a graph showing the position error before and after calibration for calibration measurement data. Figure 14 is a graph showing the relative position error before and after calibration for calibration measurement data. Figure 15 is a graph showing the position error before and after calibration for calibration verification data. And Figure 16 is a graph showing the relative position error before and after calibration for the calibration verification data.

제3 실시예에 따른 캘리브레이션 알고리즘 시뮬레이션에는 다관절 로봇으로 로보스타 RA004를 이용하였다. 캘리브레이션 알고리즘 실험에는 다관절 로봇으로는 뉴로메카 Indy7을 이용하였다. 직접교시를 통하여 볼(43)을 절대 소켓(50) 또는 상대 소켓(60)에 접촉시켰다. 볼(43)이 소켓에 접촉된 상태를 구속하면서 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하였다. 산출한 관절 각도 세트를 이용하여 산출한 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 수학식 2로 산출하였다.In the calibration algorithm simulation according to the third embodiment, Robostar RA004 was used as an articulated robot. In the calibration algorithm experiment, Neuromeca Indy7 was used as an articulated robot. The ball 43 was brought into contact with the absolute socket 50 or the relative socket 60 through direct teaching. While restraining the ball 43 in contact with the socket, the multi-joint robot was created in various postures and the joint angle set was calculated from the encoder installed at the joint. The model parameters that simultaneously minimize the position error and relative position error calculated using the calculated joint angle set were calculated using Equation 2.

시뮬레이션 진행 과정은 다음과 같다. 모델 파라미터에 가상의 다관절 로봇(100)을 생성한다. 그 후 주어진 절대 소켓 포인트 및 상대 소켓 포인트에 대해 몇 가지 오리엔테이션을 추가한 포즈 벡터 세트를 생성한다. 생성한 포즈 벡터 세트 중에서, 약 80%는 캘리브레이션을 위해 약 20%는 검증을 위해 사용한다. 포즈 벡터 세트에 대한 관절 각도를 역기구학으로 산출한다. 이것은 실제 상황에서 엔코더에서 읽은 관절 각도에 대응한다.The simulation progress is as follows. A virtual articulated robot 100 is created based on the model parameters. Then, for the given absolute and relative socket points, a set of pose vectors is generated with some added orientations. Of the generated pose vector set, approximately 80% are used for calibration and approximately 20% are used for verification. The joint angles for the pose vector set are calculated using inverse kinematics. This corresponds to the joint angle read from the encoder in real life situations.

주어진 절대 소켓 위치 데이터와 관절 각도에 대응하는 Nominal 모델의 TCP 위치와의 차이를 절대 소켓 에러(위치 오차)로 정의하고, 상대 소켓은 측정점 중 가장 첫번째를 기준으로 계산한 위치와 나머지 관절 각도에 대응하는 TCP 위치와의 에러를 상대 소켓 에러(상대 위치 오차)로 정의한다The difference between the given absolute socket position data and the TCP position of the nominal model corresponding to the joint angle is defined as the absolute socket error (position error), and the relative socket corresponds to the position calculated based on the first measurement point and the remaining joint angle. The error with the TCP position is defined as a relative socket error (relative position error).

표5는 캘리브레이션 전의 에러를 나타내고, 표6은 캘리브레이션 후의 에러를 나타낸다.Table 5 shows the errors before calibration, and Table 6 shows the errors after calibration.

도 13, 도 14, 표5 및 표6에 도시된 바와 같이, 제3 실시예에 따른 캘리브레이션 방법에 따르면 절대 소켓, 상대 소켓, 및 양쪽 소켓에 대한 오차가 확연하게 감소한 것을 확인할 수 있다. 즉 제3 실시예에 따른 캘리브레이션 방법은 높은 작업 정확도를 얻을 수 있음을 확인할 수 있다.As shown in Figures 13, 14, Table 5, and Table 6, it can be seen that errors for the absolute socket, relative socket, and both sockets are significantly reduced according to the calibration method according to the third embodiment. That is, it can be confirmed that the calibration method according to the third embodiment can achieve high work accuracy.

표7은 캘리브레이션 전의 검증결과를 나타내고, 표8은 캘리브레이션 후의 검증결과를 나타낸다.Table 7 shows the verification results before calibration, and Table 8 shows the verification results after calibration.

도 15, 도 16, 표7 및 표8에 도시된 바와 같이, 제3 실시예에 따른 캘리브레이션 방법에 따르면 절대 소켓, 상대 소켓, 및 양쪽 소켓에 대한 검증에서도, 오차가 확연하게 감소한 것을 확인할 수 있다. 즉 제3 실시예에 따른 캘리브레이션 방법은 높은 작업 정확도를 얻을 수 있음을 확인할 수 있다.As shown in Figures 15, 16, Table 7, and Table 8, according to the calibration method according to the third embodiment, it can be seen that the error is significantly reduced in the verification of the absolute socket, relative socket, and both sockets. . In other words, it can be confirmed that the calibration method according to the third embodiment can achieve high work accuracy.

도 17 내지 도 20은 도 11의 방법에 따른 캘리브레이션의 정확도를 확인하기 위한 캘리브레이션 알고리즘 실험 결과를 보여주는 도면들이다. 도 18은 캘리브레이션 전후의 위치 오차를 보여주는 그래프이다. 도 18은 캘리브레이션 전후의 상대 위치 오차를 보여주는 그래프이다. 도 19는 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 위치 오차를 보여주는 그래프이다. 그리고 도 20은 캘리브레이션 검증 데이터에 대한 캘리브레이션 전후의 상대 위치 오차를 보여주는 그래프이다.Figures 17 to 20 are diagrams showing the results of a calibration algorithm experiment to confirm the accuracy of calibration according to the method of Figure 11. Figure 18 is a graph showing the position error before and after calibration. Figure 18 is a graph showing the relative position error before and after calibration. Figure 19 is a graph showing the position error before and after calibration for calibration verification data. And Figure 20 is a graph showing the relative position error before and after calibration for the calibration verification data.

표5는 캘리브레이션 전의 에러를 나타내고, 표6은 캘리브레이션 후의 에러를 나타낸다.Table 5 shows the errors before calibration, and Table 6 shows the errors after calibration.

도 17, 도 18, 표9 및 표10에 도시된 바와 같이, 제3 실시예에 따른 캘리브레이션 방법에 따르면 절대 소켓, 상대 소켓, 및 양쪽 소켓에 대한 오차가 확연하게 감소한 것을 확인할 수 있다. 즉 제3 실시예에 따른 캘리브레이션 방법은 높은 작업 정확도를 얻을 수 있음을 확인할 수 있다.As shown in Figures 17, 18, Table 9, and Table 10, it can be seen that errors for the absolute socket, relative socket, and both sockets are significantly reduced according to the calibration method according to the third embodiment. That is, it can be confirmed that the calibration method according to the third embodiment can achieve high work accuracy.

표11은 캘리브레이션 전의 검증결과를 나타내고, 표12는 캘리브레이션 후의 검증결과를 나타낸다.Table 11 shows the verification results before calibration, and Table 12 shows the verification results after calibration.

도 19, 도 20, 표11 및 표12에 도시된 바와 같이, 제3 실시예에 따른 캘리브레이션 방법에 따르면 절대 소켓, 상대 소켓, 및 양쪽 소켓에 대한 검증에서도, 오차가 확연하게 감소한 것을 확인할 수 있다. 즉 제3 실시예에 따른 캘리브레이션 방법은 높은 작업 정확도를 얻을 수 있음을 확인할 수 있다.As shown in Figures 19, 20, Table 11, and Table 12, according to the calibration method according to the third embodiment, it can be confirmed that the error is significantly reduced in the verification of the absolute socket, relative socket, and both sockets. . That is, it can be confirmed that the calibration method according to the third embodiment can achieve high work accuracy.

한편, 본 명세서와 도면에 개시된 실시예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게는 자명한 것이다.Meanwhile, the embodiments disclosed in the specification and drawings are merely provided as specific examples to aid understanding, and are not intended to limit the scope of the present invention. It is obvious to those skilled in the art that in addition to the embodiments disclosed herein, other modifications based on the technical idea of the present invention can be implemented.

100 : 다관절 로봇
10 : 로봇 본체
20 : 로봇 암
30 : 엔드 이펙터
80 : 베이스 지그
200, 300, 400 : 캘리브레이션 장치
40 : 볼 툴
41 : 툴 몸체
43 : 볼
50 : 절대 소켓
51, 61 : 곡면 홈
60 : 상대 소켓
63 : 고정 지그
65 : 설치대
70 : 저장부
90 : 제어부
100: Articulated robot
10: Robot body
20: Robot arm
30: End effector
80: Base jig
200, 300, 400: Calibration device
40: Ball tool
41: tool body
43: ball
50: absolute socket
51, 61: curved groove
60: relative socket
63: Fixed jig
65: Installation stand
70: storage unit
90: control unit

Claims (13)

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

: 정기구학(forward kinematics) 함수
: 모델 파라미터 벡터
: 절대 소켓의 개수
: 번째 절대 소켓에 대한 측정점 개수
: 번째 절대 소켓의 번째 측정 관절 위치 벡터()
: 번째 절대 소켓의 위치 벡터
A ball installed in the end effector of an articulated robot;
At least one absolute socket fixed at a known position with respect to the reference coordinate system of the articulated robot; and
After contacting the ball with the absolute socket, the articulated robot is created in various postures while restraining the state in which the absolute socket and the ball are in contact, and a set of joint angles is calculated from an encoder installed at the joint, and each joint angle is calculated. A control unit that calculates model parameters that minimize the position error between the position of the ball calculated by forward kinematics and the position of the absolute socket, and updates the existing model parameters with the calculated model parameters,
The model parameters are estimated using a nonlinear least squares method using Equation 1 below as a cost function when only an absolute socket is used.
[Equation 1]

: forward kinematics function
: Model parameter vector
: Absolute number of sockets
: Number of measuring points for the second absolute socket
: of the absolute socket The measured joint position vector ( )
: Position vector of the second absolute socket
다관절 로봇의 엔드 이펙터에 설치되는 볼;
상기 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정되는 적어도 하나의 절대 소켓;
상기 다관절 로봇의 작업 영역 내의 임의의 위치에 고정되는 적어도 하나의 상대 소켓; 및
상기 절대 및 상대 소켓에 상기 다관절 로봇의 엔드 이펙터에 설치된 볼을 접촉시킨 후, 상기 절대 및 상대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하고, 각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출하고, 산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트하는 제어부;를 포함하고,
상기 관절 각도 세트는 상기 절대 소켓에 상기 볼이 접촉된 상태에서 산출되는 절대 관절 각도 세트와, 상기 상대 소켓에 상기 볼이 접촉된 상태에서 산출되는 상대 관절 각도 세트를 포함하고,
상기 위치 오차는 상기 절대 관절 각도 세트를 이용하여 정기구학으로 산출한 볼의 위치와 절대 소켓의 절대 위치 간의 차이로 산출하고,
상기 상대 위치 오차는 상기 상대 관절 각도 세트를 이용하여 정기구학으로 산출한 볼의 위치 간의 차이로 산출하는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
A ball installed in the end effector of an articulated robot;
At least one absolute socket fixed at a known position with respect to the reference coordinate system of the articulated robot;
At least one relative socket fixed to an arbitrary position within the work area of the articulated robot; and
After contacting the ball installed on the end effector of the articulated robot with the absolute and relative socket, the articulated robot is created in various postures while restraining the state in which the absolute and relative socket and the ball are in contact, from the encoder installed on the joint. Calculate a set of joint angles, calculate model parameters that simultaneously minimize the position error and relative position error calculated by forward kinematics using each joint angle, and update existing model parameters with the calculated model parameters. It includes a control unit that does,
The joint angle set includes an absolute joint angle set calculated when the ball is in contact with the absolute socket, and a relative joint angle set calculated when the ball is in contact with the relative socket,
The position error is calculated as the difference between the absolute position of the ball and the absolute socket calculated by forward kinematics using the absolute joint angle set,
The relative position error is calculated as a difference between the positions of the balls calculated by forward kinematics using the relative joint angle set.
제2항에 있어서,
상기 절대 소켓 및 상기 상대 소켓은 각각,
상기 볼이 삽입되어 접촉되면서 회전할 수 있도록, 상부면에 상기 볼에 대응되는 곡률을 갖는 곡면 홈이 형성되어 있는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
According to paragraph 2,
The absolute socket and the relative socket are each,
A calibration device for an articulated robot, characterized in that a curved groove having a curvature corresponding to the ball is formed on the upper surface so that the ball can rotate while being inserted and contacted.
제3항에 있어서,
상기 볼은 상기 절대 소켓 및 상기 상대 소켓에 자력에 의해 상기 곡면 홈에 삽입되어 부착되는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
According to paragraph 3,
A calibration device for an articulated robot, characterized in that the ball is inserted into the curved groove and attached to the absolute socket and the relative socket by magnetic force.
제4항에 있어서,
상기 제어부는 토크 제어 모드에서 직접교시 또는 프로그래밍을 통해 상기 볼을 상기 절대 소켓 또는 상대 소켓에 접촉시키는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
According to clause 4,
The control unit is a calibration device for an articulated robot, characterized in that the control unit contacts the ball with the absolute socket or the relative socket through direct teaching or programming in torque control mode.
제1항 또는 제2항에 있어서,
상기 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치는 로봇 본체 및 상기 로봇 본체가 설치되는 베이스 지그 중에 적어도 하나인 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
According to claim 1 or 2,
A calibration device for an articulated robot, characterized in that the known position regarding the reference coordinate system of the articulated robot is at least one of the robot main body and the base jig on which the robot main body is installed.
제1항에 있어서,
상기 절대 소켓은,
상기 볼이 삽입되어 접촉되면서 회전할 수 있도록, 상부면에 상기 볼에 대응되는 곡률을 갖는 곡면 홈이 형성되어 있는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
According to paragraph 1,
The absolute socket is,
A calibration device for an articulated robot, characterized in that a curved groove having a curvature corresponding to the ball is formed on the upper surface so that the ball can rotate while being inserted and contacted.
제2항에 있어서,
상기 모델 파라미터는, 절대 소켓과 상대 소켓을 이용하는 경우, 아래의 수학식 2를 비용함수로 하는 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정하는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
[수학식 2]

Figure 112023140607726-pat00121
: 정기구학 함수
Figure 112023140607726-pat00122
: 모델 파라미터 벡터
Figure 112023140607726-pat00123
: 절대 소켓의 개수
Figure 112023140607726-pat00124
: 상대 소켓의 개수
Figure 112023140607726-pat00125
:
Figure 112023140607726-pat00126
번째 절대 소켓에 대한 측정점 개수
Figure 112023140607726-pat00127
:
Figure 112023140607726-pat00128
번째 상대 소켓에 대한 측정점 개수
Figure 112023140607726-pat00129
:
Figure 112023140607726-pat00130
번째 상대 소켓에 대한 기준 측정 관절 위치 벡터
Figure 112023140607726-pat00131
:
Figure 112023140607726-pat00132
번째 절대 소켓의
Figure 112023140607726-pat00133
번째 측정 관절 위치 벡터(
Figure 112023140607726-pat00134
)
Figure 112023140607726-pat00135
:
Figure 112023140607726-pat00136
번째 상대 소켓의
Figure 112023140607726-pat00137
번째 측정 관절 위치 벡터(
Figure 112023140607726-pat00138
)
Figure 112023140607726-pat00139
:
Figure 112023140607726-pat00140
번째 절대 소켓의 위치 벡터
According to paragraph 2,
The model parameters are estimated using a nonlinear least squares method using Equation 2 below as the cost function when using an absolute socket and a relative socket. Calibration device for an articulated robot.
[Equation 2]

Figure 112023140607726-pat00121
: Regular kinematics function
Figure 112023140607726-pat00122
: Model parameter vector
Figure 112023140607726-pat00123
: Absolute number of sockets
Figure 112023140607726-pat00124
: Number of relative sockets
Figure 112023140607726-pat00125
:
Figure 112023140607726-pat00126
Number of measuring points for the second absolute socket
Figure 112023140607726-pat00127
:
Figure 112023140607726-pat00128
Number of measurement points for the second partner socket
Figure 112023140607726-pat00129
:
Figure 112023140607726-pat00130
Reference measurement joint position vector for the first relative socket
Figure 112023140607726-pat00131
:
Figure 112023140607726-pat00132
of the absolute socket
Figure 112023140607726-pat00133
The measured joint position vector (
Figure 112023140607726-pat00134
)
Figure 112023140607726-pat00135
:
Figure 112023140607726-pat00136
of the second relative socket
Figure 112023140607726-pat00137
The measured joint position vector (
Figure 112023140607726-pat00138
)
Figure 112023140607726-pat00139
:
Figure 112023140607726-pat00140
Position vector of the second absolute socket
제8항에 있어서,
상기 제어부는, 비선형 최소제곱법을 이용하여 모델 파라미터를 반복적으로 추정하는 경우, 아래의 수학식 3을 이용하여 최적 모델 파라미터를 산출하는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 장치.
[수학식 3]

Figure 112023140607726-pat00142
: 모델 파라미터 업데이트 벡터(
Figure 112023140607726-pat00143
;
Figure 112023140607726-pat00144
는 반복 횟수)
Figure 112023140607726-pat00145
: 절대 소켓 측정점에 대한 자코비안(Jacobian) 행렬
Figure 112023140607726-pat00146
: 상대 소켓 측정점에 대한 자코비안 행렬
Figure 112023140607726-pat00147
: 상대 소켓에 대한 잔차 오차 벡터,
Figure 112023140607726-pat00148
,
Figure 112023140607726-pat00150
: 절대 소켓에 대한 잔차 오차 벡터,
Figure 112023140607726-pat00151
,
Figure 112023140607726-pat00152
According to clause 8,
The control unit is a calibration device for an articulated robot, wherein when model parameters are repeatedly estimated using a non-linear least squares method, the control unit calculates optimal model parameters using Equation 3 below.
[Equation 3]

Figure 112023140607726-pat00142
: Model parameter update vector (
Figure 112023140607726-pat00143
;
Figure 112023140607726-pat00144
is the number of repetitions)
Figure 112023140607726-pat00145
: Jacobian matrix for absolute socket measurement points
Figure 112023140607726-pat00146
: Jacobian matrix for relative socket measurement points
Figure 112023140607726-pat00147
: Residual error vector for the counterpart socket,
Figure 112023140607726-pat00148
,
Figure 112023140607726-pat00150
: Residual error vector for absolute sockets,
Figure 112023140607726-pat00151
,
Figure 112023140607726-pat00152
절대 소켓을 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정하는 단계;
상기 절대 소켓에 상기 다관절 로봇의 엔드 이펙터에 설치된 볼을 접촉하는 단계;
상기 절대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하는 단계;
각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 볼의 위치와 절대 소켓의 위치 간의 위치 오차를 최소화하는 모델 파라미터를 산출하는 단계; 및
산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트하는 단계;를 포함하고,
상기 모델 파라미터는, 절대 소켓만을 이용하는 경우, 아래의 수학식 1을 비용함수로 하는 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정하는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 방법.
[수학식 1]

Figure 112023140607726-pat00154
: 정기구학(forward kinematics) 함수
Figure 112023140607726-pat00155
: 모델 파라미터 벡터
Figure 112023140607726-pat00156
: 절대 소켓의 개수
Figure 112023140607726-pat00157
:
Figure 112023140607726-pat00158
번째 절대 소켓에 대한 측정점 개수
Figure 112023140607726-pat00159
:
Figure 112023140607726-pat00160
번째 절대 소켓의
Figure 112023140607726-pat00161
번째 측정 관절 위치 벡터(
Figure 112023140607726-pat00162
)
Figure 112023140607726-pat00163
:
Figure 112023140607726-pat00164
번째 절대 소켓의 위치 벡터
fixing the absolute socket at a known position with respect to the reference coordinate system of the articulated robot;
contacting the absolute socket with a ball installed on an end effector of the articulated robot;
Calculating a set of joint angles from an encoder installed at a joint by creating various postures of the articulated robot while restraining the contact state between the absolute socket and the ball;
Calculating model parameters that minimize the position error between the ball position calculated by forward kinematics and the absolute socket position using each joint angle; and
Comprising: updating existing model parameters with the calculated model parameters,
The model parameters are estimated using a nonlinear least squares method using Equation 1 below as the cost function when only an absolute socket is used.
[Equation 1]

Figure 112023140607726-pat00154
: forward kinematics function
Figure 112023140607726-pat00155
: Model parameter vector
Figure 112023140607726-pat00156
: Absolute number of sockets
Figure 112023140607726-pat00157
:
Figure 112023140607726-pat00158
Number of measuring points for the second absolute socket
Figure 112023140607726-pat00159
:
Figure 112023140607726-pat00160
of the absolute socket
Figure 112023140607726-pat00161
The measured joint position vector (
Figure 112023140607726-pat00162
)
Figure 112023140607726-pat00163
:
Figure 112023140607726-pat00164
Position vector of the second absolute socket
삭제delete 절대 소켓을 다관절 로봇의 기준 좌표계에 대해 알고 있는 위치에 고정하고, 상대 소켓을 상기 다관절 로봇의 작업 영역 내의 임의의 위치에 고정하는 단계;
상기 절대 및 상대 소켓에 상기 다관절 로봇의 엔드 이펙터에 설치된 볼을 접촉하는 단계;
상기 절대 및 상대 소켓과 상기 볼이 접촉된 상태를 구속하면서 상기 다관절 로봇을 여러 자세를 만들어 관절에 설치된 엔코더로부터 관절 각도 세트를 산출하는 단계;
각각의 관절 각도를 이용하여 정기구학(forward kinematics)으로 산출한 위치 오차와 상대 위치 오차를 동시에 최소화하는 모델 파라미터를 산출하는 단계; 및
산출한 모델 파라미터로 기존의 모델 파라미터를 업데이트하는 단계;를 포함하고,
상기 관절 각도 세트는 상기 절대 소켓에 상기 볼이 접촉된 상태에서 산출되는 절대 관절 각도 세트와, 상기 상대 소켓에 상기 볼이 접촉된 상태에서 산출되는 상대 관절 각도 세트를 포함하고,
상기 위치 오차는 상기 절대 관절 각도 세트를 이용하여 정기구학으로 산출한 볼의 위치와 절대 소켓의 절대 위치 간의 차이로 산출하고,
상기 상대 위치 오차는 상기 상대 관절 각도 세트를 이용하여 정기구학으로 산출한 볼의 위치 간의 차이로 산출하는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 방법.
fixing the absolute socket at a known position with respect to the reference coordinate system of the articulated robot, and fixing the relative socket at a random position within the work area of the articulated robot;
contacting the absolute and relative sockets with a ball installed on an end effector of the articulated robot;
Calculating a set of joint angles from an encoder installed at a joint by creating various postures of the articulated robot while restraining the contact state between the absolute and relative sockets and the ball;
Calculating model parameters that simultaneously minimize the position error and relative position error calculated by forward kinematics using each joint angle; and
Comprising: updating existing model parameters with the calculated model parameters,
The joint angle set includes an absolute joint angle set calculated when the ball is in contact with the absolute socket, and a relative joint angle set calculated when the ball is in contact with the relative socket,
The position error is calculated as the difference between the absolute position of the ball and the absolute socket calculated by forward kinematics using the absolute joint angle set,
The relative position error is calculated as a difference between the positions of the balls calculated by forward kinematics using the relative joint angle set.
제12항에 있어서,
상기 모델 파라미터는, 절대 소켓과 상대 소켓을 이용하는 경우, 아래의 수학식 2를 비용함수로 하는 비선형 최소제곱법(nonlinear least squares method)을 사용하여 추정하는 것을 특징으로 하는 다관절 로봇의 캘리브레이션 방법.
[수학식 2]

Figure 112023140607726-pat00166
: 정기구학 함수
Figure 112023140607726-pat00167
: 모델 파라미터 벡터
Figure 112023140607726-pat00168
: 절대 소켓의 개수
Figure 112023140607726-pat00169
: 상대 소켓의 개수
Figure 112023140607726-pat00170
:
Figure 112023140607726-pat00171
번째 절대 소켓에 대한 측정점 개수
Figure 112023140607726-pat00172
:
Figure 112023140607726-pat00173
번째 상대 소켓에 대한 측정점 개수
Figure 112023140607726-pat00174
:
Figure 112023140607726-pat00175
번째 상대 소켓에 대한 기준 측정 관절 위치 벡터
Figure 112023140607726-pat00176
:
Figure 112023140607726-pat00177
번째 절대 소켓의
Figure 112023140607726-pat00178
번째 측정 관절 위치 벡터(
Figure 112023140607726-pat00179
)
Figure 112023140607726-pat00180
:
Figure 112023140607726-pat00181
번째 상대 소켓의
Figure 112023140607726-pat00182
번째 측정 관절 위치 벡터(
Figure 112023140607726-pat00183
)
Figure 112023140607726-pat00184
:
Figure 112023140607726-pat00185
번째 절대 소켓의 위치 벡터
According to clause 12,
The model parameters are estimated using a nonlinear least squares method using Equation 2 below as the cost function when using an absolute socket and a relative socket. A calibration method for an articulated robot.
[Equation 2]

Figure 112023140607726-pat00166
: Regular kinematics function
Figure 112023140607726-pat00167
: Model parameter vector
Figure 112023140607726-pat00168
: Absolute number of sockets
Figure 112023140607726-pat00169
: Number of relative sockets
Figure 112023140607726-pat00170
:
Figure 112023140607726-pat00171
Number of measuring points for the second absolute socket
Figure 112023140607726-pat00172
:
Figure 112023140607726-pat00173
Number of measurement points for the second partner socket
Figure 112023140607726-pat00174
:
Figure 112023140607726-pat00175
Reference measurement joint position vector for the first relative socket
Figure 112023140607726-pat00176
:
Figure 112023140607726-pat00177
of the absolute socket
Figure 112023140607726-pat00178
The measured joint position vector (
Figure 112023140607726-pat00179
)
Figure 112023140607726-pat00180
:
Figure 112023140607726-pat00181
of the second relative socket
Figure 112023140607726-pat00182
The measured joint position vector (
Figure 112023140607726-pat00183
)
Figure 112023140607726-pat00184
:
Figure 112023140607726-pat00185
Position vector of the second absolute socket
KR1020220053960A 2022-05-02 2022-05-02 Apparatus and method for calibration of articulated robot using constraint condition of end effector KR102671823B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220053960A KR102671823B1 (en) 2022-05-02 2022-05-02 Apparatus and method for calibration of articulated robot using constraint condition of end effector
PCT/KR2022/014680 WO2023214625A1 (en) 2022-05-02 2022-09-29 Device and method for calibrating articulated robot by using constraints on end effector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220053960A KR102671823B1 (en) 2022-05-02 2022-05-02 Apparatus and method for calibration of articulated robot using constraint condition of end effector

Publications (2)

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

Family

ID=88646540

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220053960A KR102671823B1 (en) 2022-05-02 2022-05-02 Apparatus and method for calibration of articulated robot using constraint condition of end effector

Country Status (2)

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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000033586A (en) * 1998-07-16 2000-02-02 Toshiba Corp Error compensation method of robot and device thereof
JP5914831B2 (en) 2012-04-25 2016-05-11 パナソニックIpマネジメント株式会社 Correction method of mechanism error of articulated robot

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5914831B2 (en) * 1980-02-19 1984-04-06 富士通株式会社 ROM writing/reading method
JPH0691566A (en) * 1992-09-10 1994-04-05 Fanuc Ltd Method and apparatus for calibrating origin attitude position of articulated arm robot
KR100416224B1 (en) * 2001-05-03 2004-01-31 광주과학기술원 A calibration device and the method for robot manipulators
KR102314092B1 (en) 2016-01-21 2021-10-19 현대중공업지주 주식회사 Calibration apparatus and the method for robot
EP3531062A1 (en) * 2018-02-26 2019-08-28 Renishaw PLC Coordinate positioning machine

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000033586A (en) * 1998-07-16 2000-02-02 Toshiba Corp Error compensation method of robot and device thereof
JP5914831B2 (en) 2012-04-25 2016-05-11 パナソニックIpマネジメント株式会社 Correction method of mechanism error of articulated robot

Also Published As

Publication number Publication date
WO2023214625A1 (en) 2023-11-09
KR20230154500A (en) 2023-11-09

Similar Documents

Publication Publication Date Title
EP2993002B1 (en) Robot apparatus and method for controlling robot apparatus
CN108453701B (en) Method for controlling robot, method for teaching robot, and robot system
US10618166B2 (en) Teaching position correction device and teaching position correction method
US5297238A (en) Robot end-effector terminal control frame (TCF) calibration method and device
US20200023521A1 (en) Method and device of controlling robot system
US9221176B2 (en) Robot system and method for controlling the same
JP6429473B2 (en) Robot system, robot system calibration method, program, and computer-readable recording medium
CN107225569B (en) Positioning device
JP6611888B2 (en) Robot device, control method of robot device, program, and recording medium
CA1331795C (en) Device and method for correction of robot inaccuracy
EP3531062A1 (en) Coordinate positioning machine
CN111590566B (en) On-orbit calibration method for kinematic parameters of fully-configured space manipulator
CN104608129A (en) Planar constraint based robot calibration method
JP2018039099A (en) Workpiece contact state estimating device and contact state estimation method
US20220105640A1 (en) Method Of Calibrating A Tool Of An Industrial Robot, Control System And Industrial Robot
KR20080088165A (en) Robot calibration method
CN111203861A (en) Calibration method and calibration system for robot tool coordinate system
JP2024512827A (en) System and method for adaptive compliance-based robot assembly
JP2011235400A (en) Calibration method of manipulator and robot control system
CN115446847A (en) System and method for improving 3D eye-hand coordination accuracy of a robotic system
CN114012724B (en) Automatic calibration method for industrial robot coordinate system based on probe
KR102671823B1 (en) Apparatus and method for calibration of articulated robot using constraint condition of end effector
KR100301231B1 (en) The automatic compensation method for robot working path
JP7097722B2 (en) How to restore the location information of the robot
Khusainov et al. Humanoid robot kinematic calibration using industrial manipulator

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