KR100336459B1 - 로봇의 오프-라인 제어 방법 - Google Patents

로봇의 오프-라인 제어 방법 Download PDF

Info

Publication number
KR100336459B1
KR100336459B1 KR1019990053482A KR19990053482A KR100336459B1 KR 100336459 B1 KR100336459 B1 KR 100336459B1 KR 1019990053482 A KR1019990053482 A KR 1019990053482A KR 19990053482 A KR19990053482 A KR 19990053482A KR 100336459 B1 KR100336459 B1 KR 100336459B1
Authority
KR
South Korea
Prior art keywords
robot
calibration
data
work program
program
Prior art date
Application number
KR1019990053482A
Other languages
English (en)
Other versions
KR20010048691A (ko
Inventor
홍석관
신동준
Original Assignee
김덕중
사단법인 고등기술연구원 연구조합
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김덕중, 사단법인 고등기술연구원 연구조합 filed Critical 김덕중
Priority to KR1019990053482A priority Critical patent/KR100336459B1/ko
Publication of KR20010048691A publication Critical patent/KR20010048691A/ko
Application granted granted Critical
Publication of KR100336459B1 publication Critical patent/KR100336459B1/ko

Links

Classifications

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

Landscapes

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

Abstract

본 발명은 차체 생산 라인에서 사용되는 핸들링(Handling) 로봇의 작업 프로그램을 오프-라인으로 생성하기 위하여 사용되는 로봇의 오프-라인 제어 방법에 관한 것으로서, 로봇의 캘리브레이션을 위한 데이터를 수집하는 단계; 수집된 데이터를 이용하여 상기 로봇의 조인트 캘리브레이션을 수행하는 단계; 조인트 캘리브레이션 수행 결과를 바탕으로 로봇을 모델링하여 작업 프로그램을 작성하는 단계; 수집된 데이터를 이용하여 로봇의 전체 캘리브레이션을 수행하는 단계; 및 기작성된 작업 프로그램에 상기 전체 캘리브레이션 수행 결과를 반영하여 상기 작업 프로그램을 수정하는 단계를 포함한다.
따라서, 본 발명에서는 핸들링 용도로 사용되는 핸들링 로봇 자체에 대한 캘리브레이션 작업뿐만 아니라 로봇과 연계된 작업을 수행하는 주변 장치에 대한 캘리브레이션 작업을 동시에 수행하므로써 핸들링 로봇에 대한 오프-라인 프로그램을 적용할 수 있다는 효과가 있다.

Description

로봇의 오프-라인 제어 방법{METHOD FOR OFF-LINE CONTROL OF ROBOT}
본 발명은 로봇의 캘리브레이션 방법에 관한 것으로서, 더욱 상세하게는 차체 생산 라인에서 사용되는 핸들링(Handling) 로봇의 작업 프로그램을 오프-라인으로 생성하기 위하여 사용되는 로봇의 오프-라인 제어 방법에 관한 것이다.
최근 산업 현장에서 작업 환경 개선 및 생산성 향상을 목적으로 로봇을 사용하는 경향이 증가하고 있으며, 특히 단순 반복 작업이거나 인간이 직접 수행하기가 힘들고 위험한 작업에 로봇을 사용하는 경우가 급격히 증가하고 있다.
일반적으로 로봇은 주로 3차원 공간상에서 손목 끝단부(End Effector)를 희망하는 위치 및 자세로 유지시키면서 규정된 위치 혹은 궤적(Trajectory)을 따라 움직이는 것이 주요 기능중의 하나로 되어 있다.
현재까지 산업 현장에서는 로봇을 대부분 온-라인 프로그램(On-Line Program) 방법으로 사용하고 있다. 이 방법은 로봇으로 어떤 작업을 실행시키기 이전에 교시 조작기(Teach Pendant)를 이용하여 작업 위치를 사전에 교시시킨 다음 이에 상응하는 로봇의 관절각(Joint Angle)을 계산하여 원하는 작업을 수행시키는 방식이다.
따라서 온-라인 프로그램 방법에서는 로봇이 본래 가지고 있는 반복 오차와 교시 작업할 때의 오차만을 포함하므로 통상적으로 만족할만한 위치 정밀도를 갖게 된다. 단, 온-라인 프로그램 방법으로 로봇 시스템을 사용하더라도 사용중에 어떤 이유로 로봇이 외부와 심하게 충돌하였거나 오랜 시간 사용으로 기구적인 변화가 생길 경우 로봇의 위치 정밀도는 상당히 떨어진다.
그러나, 공장 자동화, 특히 CAD/CAM 시스템(System)이 도입된 상태에서는 로봇의 작업 위치를 설계 도면 혹은 CAD 시스템으로부터 사전에 알 수 있으므로 생산 라인에서 직접 교시 작업을 하지 않고 별도의 스테이지(Stage)에서 교시 작업을 하거나 혹은 컴퓨터상에서 시뮬레이션(Simulation)을 한 다음 이 과정에서 얻어진 로봇 작업 프로그램으로 로봇 시스템을 운영하는 것이 효율적인데, 이와 같이 오프-라인 프로그램(Off-Line Program) 방법을 사용할 경우 로봇의 위치 정밀도는 온-라인 프로그램 방법에 비교하여 많이 떨어진다. 왜냐하면 오프-라인 프로그램 방법에서 사용된 공칭 기구학 방정식(Normal Kinematics Equation)이 실제 로봇의 움직임을 정확히 표현할 수 없기 때문이다. 그 이유는 실제 로봇을 제작하는 과정에서 발생하는 기하학적 오차, 로봇의 동작 제어시 동적 오차(Dynamic Error), 백-래쉬(Backlash), 로봇 구조물의 처짐, 관절부에서의 컴플라이언스(Compliance) 등이 불가피하게 발생하여 로봇의 움직임을 정확히 표현하는데 장애가 되기 때문이다.
따라서, 오프-라인 프로그램 방법을 사용하거나 혹은 로봇 자체의 정밀도를 향상시키기 위해서는 반드시 이를 위한 적절한 '로봇 캘리브레이션'기술이 개발되어야 한다. 여기서 '로봇 캘리브레이션'이란 로봇 손끝의 위치, 방위와 조인트(joint) 변수 사이의 정확한 함수 관계를 찾아 로봇 제어 소프트웨어(control S/W)를 수정해 주므로써 매니퓰레이터(Manipulator)의 정밀도를 점진적으로 향상시키는 일련의 과정을 의미한다.
한편, 차체 생산 라인에서는 일반적으로 점 용접용 로봇, 패인팅 로봇, 핸들링용 로봇등이 사용되며, 이들중 핸들링 로봇의 경우에는 오프-라인 프로그램 방식을 현재까지 사용하지 못하고 있다. 핸들링 로봇은 자동차 차체를 작업대 또는 용접기로 이동시키기 위한 로봇으로서, 핸들링 로봇의 작업 범위는 다른 로봇의 작업 형태에 비하여 넓은 상태이며 주변 장치와 연계된 작업을 수행하기 때문에 로봇의캘리브레이션 작업이 어렵기 때문이다. 즉, 로봇이 주변 장치와 연계된 작업을 수행하는 경우에는 로봇 자체에 대한 캘리브레이션과 주변 장치의 캘리브레이션을 모두 수행해 주어야 하며, 로봇 자체에 대한 캘리브레이션은 종래의 방법을 사용하여 수행할 수 있으나, 주변 장치와 연계된 캘리브레이션은 현재로는 제안되고 있지 않다. 또한, 핸들링 로봇은 용접 로봇, 페인팅 로봇 등에 비하여 상대적으로 높은 오프-라인 교시 정밀도를 요구하므로 로봇 자체에 대한 캘리브레이션 작업과 작업 프로그램의 생성 방법은 다른 종류의 로봇보다 어렵다는 문제가 있다. 따라서, 핸들링 로봇에 오프-라인 프로그램 방식을 채용하기 위해서는 핸들링 로봇의 절대 위치 오차를 최소화할 수 있는 캘리브레이션 측정 방법과, 오프-라인 프로그램 방식에 의해 생성된 작업 프로그램의 신뢰도를 확보할 수 있는 캘리브레이션 데이타를 이용한 작업 프로그램의 생성 방법을 필요로 한다.
본 발명은 이러한 필요성에 부응하여 안출한 것으로서, 본 발명의 목적은 핸들링 로봇에 오프-라인 프로그램 방식을 채용할 수 있도록 캘리브레이션을 수행하며, 캘리브레이션 데이터를 이용하여 정확한 작업 프로그램을 생성하는 로봇의 오프-라인 제어 방법을 제공하는데 있다.
도 1은 본 발명에 따른 로봇의 오프-라인 제어 방법을 행하기 위한 데이타 수집 시스템을 도시한 도면,
도 2는 본 발명에 따른 로봇의 오프-라인 제어 방법중 데이타 수집 과정을 도시한 도면,
도 3은 본 발명에 따른 로봇의 오프-라인 제어 방법중 로봇 작업 프로그램 생성 과정을 도시한 도면.
<도면의 주요부분에 대한 부호의 설명>
100 : 핸들링 로봇 200, 300 : 로봇 작업대
400 : 용접기 500 : 센서
이러한 목적을 달성하기 위하여 본 발명은, 로봇을 모델링한 결과 생성된 작업 프로그램을 이용하여 로봇의 작동을 제어하는 로봇의 오프-라인 제어 방법에 있어서, 로봇의 캘리브레이션을 위한 데이터를 수집하는 단계; 수집된 데이터를 이용하여 상기 로봇의 조인트 캘리브레이션을 수행하는 단계; 조인트 캘리브레이션 수행 결과를 바탕으로 로봇을 모델링하여 작업 프로그램을 작성하는 단계; 수집된 데이터를 이용하여 로봇의 전체 캘리브레이션을 수행하는 단계; 및 기작성된 작업 프로그램에 상기 전체 캘리브레이션 수행 결과를 반영하여 상기 작업 프로그램을 수정하는 단계를 포함하여 구성된다.
이하, 본 발명의 일 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
먼저, 본 발명은 크게 두가지 과정으로 분류된다. 하나는 캘리브레이션을 위한 데이타 측정 과정으로, 이 과정에서는 오프-라인 프로그램에서 신뢰도의 판단 기준이 되는 로봇의 절대 위치 오차를 최소화하기 위한 캘리브레이션을 수행하는데 필요한 데이타를 측정하는 과정이고, 다른 하나는 이와 같이 측정된 데이터를 이용하여 캘리브레션을 수행하여 정확한 작업 프로그램을 생성하는 과정이다.
도 1에는 캘리브레이션을 수행하는데 필요한 데이타를 측정하는 시스템의 상태도가 도시되어 있다. 도면에서 부호(100)는 핸들링용 로봇을 의미하며, 부호(200), (300)는 작업 라인에 형성된 작업대 1 및 2를 각각 의미하며, 부호(400)는 점 용접기(Stationary Spot Welding)를 각각 의미한다. 핸들링용 로봇(100)은 차체를 작업대 1, 2(100, 200) 및 접 용접기(400)로 이동시키는 작업을 행한다.
후술하는 설명으로부터 알 수 있는 바와 같이 도1에서의 < >는 좌표계 데이타를 의미하며, [ ]는 위치 데이타를 의미한다. 여기서, 위치 데이터라 함은 후술하는 바와 같이 위치 벡터만을 갖는 데이터를 의미하며, 좌표계 데이터라 함은 위치 벡터와 방향 벡터를 포함하는 데이터를 의미한다.
상술한 구성에서 캘리브레이션용 데이타를 측정하기 위해서는 다음과 같은 작업이 선행되어야 한다. 먼저, 핸들링용 로봇(100)과 작업대 1, 2(200), (300) 그리고 점 용접기(400)들에 대한 절대 위치를 측정하기 위하여 차체를 기준으로 하는 차체 기준 좌표계<ST1>를 정의할 필요가 있다. 이를 위하여 본 발명에서는 측정이 편리한 위치상에 별도의 센서(500)를 설치한다. 작업대 1(200)에는 핀(pin)을 설치되어 있으며, 이와 같이 작업대상에 설치되는 핀을 주 제어 포인트(Master Control Point : 이하, MCP라함)라 한다. 그리고, 상술한 센서(500)를 이용하여 작업대 1(200)상의 MCP 위치[P1],[P2]와, 차체 패널 고정을 위한 클램프 유니트의 위치[P3]를 각각 측정한다. 즉, 작업대 1(200)상에는 차체 패널을 위치시키기 위한 다수개의 MCP 및 차체를 고정하기 위한 클램프 유니트들이 구성되는 바, 이들의 위치[P1],[P2],[P3]를 센서(500)로 측정하는 것이다. 이와 같이 센서(500)로서 3개의 위치[P1, P2, P3]를 측정하는 이유는 하나의 좌표계를 정의하기 위해서는 최소한 3개의 점데이타가 필요하기 때문이다. 즉, 측정된 위치[P1, P2, P3]들은 x, y, z축에 대한 위치 벡터만을 표시하고 있으며, 하나의 좌표계를 정의하기 위해서는 위치 벡터와 방향 벡터 모두가 필요하다. 3개의 위치[P1, P2, P3]가 측정되면, 이들에 대한 방향 벡터는 위치[P1, P2, P3]들의 거리 데이타를 공칭 데이타와 비교하여 정의할 수 있으며, 여기서 사용되는 수식적 방법은 최소 자승법(Least Square Method)과 같은 필터법이 사용된다.
상술한 방법에 의하여 차체 기준 좌표계<ST1>가 정의되며, 이후 측정되는 모든 데이터 및 좌표계는 차체 기준 좌표계<ST1>를 기준으로 정의된다. 예컨데,센서(500)의 좌표계는 차체 기준 좌표계<ST1>에 대한 위치와 방향< St1TS으로 정의된다.
차체 기준 좌표계(ST1)가 형성되면, 작업대 1(200)상에 놓여있는 차체 패널의 홀(H) 위치< St1TH를 측정한다. 즉, 핸들링 로봇(100)의 작업 목적은 작업대 1(200)에 놓이는 차체의 패널(panel)에 존재하는 홀(H)에 로봇(100)의 행거(hanger)내 MCP(T)(로봇 행거의 MCP 역시 행거의 주요 위치에 설치되는 핀(pin)을 의미한다.)를 수직 방향으로 삽입하고, 행거의 클램프 유니트를 이용하여 패널을 잡아 작업대 2(300)로 패널을 이동시키는 것이다. 한편, 차체의 패널의 경우, 패널 자체에 대한 설계와 실제 패널의 오차가 미소하나, 작업대 1(200)에 차체 패널이 위치하면 작업대 1(200)의 지그 유니트(MCP, 클램프 유니트 등)상에 존재하는 오차로 인하여 패널의 홀(H) 위치와 설계상의 위치에는 오차가 있으므로 결과적으로 오프-라인 프로그램이 설치된 컴퓨터상에 모델링된 위치와 오차가 있게 된다. 이러한 문제를 해결하기 위하여 센서(500)를 이용하여 차체 기준 좌표계(ST1)상에서의 홀(H)의 중심점을 측정하고 기준 좌표계<ST1>에 대한 홀 위치< St1TH를 정의 한다. 이 데이타는 후술하는 바와 같이 오프-라인 프로그램에 반영되어 작업 프로그램 생성시에 참조된다.
작업대 1(200)과는 달리 작업대 2(300)상에서 핸들링 로봇(100)의 가장 중요한 작업은 행거에 부착된 차체 패널의 홀(H)을 패널이 놓이게 되는 작업대 2(300)의 MCP[P4, P5, P6]에 삽입하는 작업이다. 작업대 2(300)상의 MCP 또한 작업대 상에 설치되는 핀(pin)을 의미한다. 이러한 작업에서 문제는 작업대 2(300)상의 MCP[P4, P5 P6]위치에 대한 오차이다. 특히, 작업대 1과 2(200, 300)는 서로 상이한 공정 라인이기 때문에 MCP(P4, P5, P6)의 위치는 도면상의 위치와 많은 차이를 보이므로 도면상의 공칭 데이타(Normal Data)를 이용하여 오프-라인 프로그램 생성 작업을 수행하기는 불가능하다. 따라서, 차체 기준 좌표계<ST1>를 기준으로 작업대 2(300)의 MCP[P4, P5, P6] 위치를 측정하여 이를 오프-라인 프로그램 상에 반영해 주어야 한다.
한편, 작업대 1(200)과 2(300)는 서로 다른 작업 라인에 해당되므로 설계상의 위치와 비교하여 많은 오차가 발생한다. 특히, 기준이 되는 작업대 1(200)에 대한 작업대 2(300)의 위치와 방향은 매우 중요하다. 이 이유는 단순히 작업대 2(300)의 MCP[4, P5, P6]만을 측정하면 MCP의 위치는 정의할 수 있지만, 작업대 2(300) 전체의 위치와 방향은 정의할 수 없어 행거에 부착된 차체 패널과 작업대 2(300)상에 부착된 각종 지그 유니트들 예를 들어 MCP, 클램프 유니트 등들과의 간섭이 발생할 수 있다. 이러한 문제를 해결하기 위해서는 작업대 2(300)상의 MCP 위치 측정 데이타를 이용하여 차체 기준 좌표계<ST1>에 대한 작업대 2(300)의 위치와 방향 즉, < St1TSt2를 정의할 필요가 있다.
다음으로 용접기(400)의 팁(Tip)에 대한 위치를 측정하여야 한다. 즉, 핸들링 로봇(100)의 작업중에는 행거에 부착된 차체 패널을 용접기(400)의 팁(Tip)으로용접하는 작업을 수행하는 경우가 있다. 이러한 경우 차체 기준 좌표계<ST1>에 대한 용접 팁(Tip)의 위치< St1TTip를 정확하게 알고 있어야 용접 작업을 수행할 수 있기 때문에 센서(500)를 이용하여 차체 기준 좌표계<ST1>에 대한 용접 팁(Tip)의 위치< St1TTip를 측정하고 측정된 데이타를 오프-라인 프로그램에 반영하여야 한다. 다음으로 핸들링 로봇(100) 자체에 대한 캘리브레이션을 수행하기 위한 데이터 측정 과정을 설명한다.
핸들링 로봇(100)의 행거에는 1개 이상의 주 제어 포인트(MCP)가 장착되어 있으므로 기준이 되는 즉, 툴 중심 포인트가 되는 MCP(P)에 반사경(Reflector) 고정용 지그를 설치하고, 이 지그에 반사경을 설치한다. 그리고, 로봇(100)을 작업 범위내에서 이동시키면서 반사경의 위치를 센서(500)로 측정하여 차체 기준 좌표계<ST1>로부터 툴 중심 포인트(Tool Center Point : TCP) (T)에 대한 위치 및 방향<St1TT을 정의한다. 이러한 측정 작업은 반사경의 초기 위치 및 로봇 작업시의 반사경 위치에 대해서 각각 수행된다. 반사경의 위치는 센서(500)로부터 반사경으로 레이저 빔을 발사하고, 레이저 빔이 반사경으로부터 반사되어 귀환되는 시간을 측정하므로써 구할 수 있다. 반사경의 초기 위치를 측정하는 이유는 로봇(100)의 캘리브레이션을 수행하는데 있어서 입력되는 측정점의 위치와 방향이 모두 중요한 영향을 주기 때문이다. 이 데이타는 반사경 초기 방향 데이타로 오프-라인 프로그램에 입력된다. 다음으로 로봇(100)을 작업 범위내에서 이동시키면서 행거에 설치된 반사경의 위치 즉, 공구 중심점을 측정하여 캘리브레이션 수행에 필요한 데이타를 생성하여야 한다. 즉, 작업시 로봇(100)의 이동 방향을 측정하는 것이다. 핸들링 로봇(100)의 경우에는 작업 범위가 넓기 때문에 오프-라인 교시점의 절대 위치 오차를 줄이기 위해서는 30점 이상의 위치를 측정하여야 한다. 특히, 행거의 MCP가 작업대 1(200)의 차체 패널에 접근하는 작업과 패널을 작업대 2(300)에 놓는 작업을 수행하는 경로 내에서 가능한 많은 측정을 수행하여야 한다. 반사경의 위치가 측정되고, 각 측정점에서의 로봇(100)의 위치가 측정되면 로봇(100)의 로봇 측정 작업 프로그램을 생성할 수 있다. 로봇 측정 작업 프로그램은 로봇 캘리브레이션을 위한 로봇의 임의 경로 지정 프로그램을 의미하는 것으로서, 로봇의 캘리브레이션은 로봇 측정 작업 프로그램에 따라 이동하는 로봇의 위치 데이터를 바탕으로 수행된다.
상술한 과정으로 로봇의 절대 위치 오차를 최소화하기 위한 캘리브레이션을 수행하는데 필요한 데이타를 측정하는 과정이 종료되면, 측정된 캘리브레이션 데이타를 이용하여 로봇의 캘래브레이션을 수행하고 작업 프로그램을 생성하는 과정이 개시된다.
먼저, 측정된 캘리브레이션 데이타를 이용하여 캘리브레이션 작업을 행하여야 한다. 캘리브레이션 작업은 조인트 각만을 변수로 하고 나머지 파라메터는 공칭 데이터를 이용하는 조인트 오프셋 캘리브레이션(Joint Offset Calibration) 그리고 조인트 각, 링크 길이 등의 모든 파라메터들을 변수로 하는 전체 캘리브레이션 두가지로 구분될 수 있으며, 본 발명에서는 이들 두가지 모두가 사용된다.
오프-라인 프로그램 방법을 이용하여 로봇의 작업 프로그램을 형성하는 경우에 가장 큰 문제점은 오프-라인 프로그램 상에서 교시(teaching)한 데이타와 실제 현장에서 교시된 데이타와의 오차이다. 이러한 오차를 최소화하기 위해서 설계상의 공칭 파라메터(조인트 각, 링크 길이 등)와 실제 파라메터를 일치시키기 위한 캘리브레이션 작업을 행하게 되고, 이러한 캘리브레이션 방법중 오차를 최소화하는 방법은 전체 캘리브레이션 방법이다. 그러나, 전체 캘리브레이션 방법을 행하기 위하여는 도 1에 도시된 < St1TT즉, 차체 기준 좌표계<ST1>으로부터 툴 중심 포인트(TCP)에 대한 데이타를 최소한 60개 정도는 측정하여야 한다. 만약, 현장에서 60개 정도의 데이타를 측정한다면 상당히 오랜 시간(약 1시간 정도)이 소요된다. 이렇게 많은 시간이 소요되면 로봇 한 대에 대한 캘리브레이션 시간이 길어지므로 현장에 설치된 많은 로봇(한 차종당 약 200대)들에 대해서 캘리브레이션 작업을 수행하기 위해서는 상당히 많은 시간을 필요로 하므로 결국 온-라인 프로그램 방법보다 경제성이 떨어진다. 이러한 문제를 최소화하기 위해서는 < St1TT에 대한 측정수를 최소화하여야 한다. 이러한 이유 때문에 일단 가장 가변적인 조인트 각만을 이용하는 조인트 오프셋 캘리브레이션 방법을 사용한다. 이 방법을 사용하면 10∼15개 정도의 데이타만을 가지고 캘리브레이션을 수행할 수 있다. 그러나, 전체 캘리브레이션 방법에 비해서 오차가 크게 발생한다. 따라서, 이러한 오차를 줄이기 위한 방법이 필요하다. 조인트 오프셋 캘리브레이션의 오차를 줄이는 방법으로는조인트 오프셋 캘리브레이션의 수행 결과 얻어진 데이타를 전체 캘리브레이션 프로그램에 입력하여 캘리브레이션을 수행하는 것이다. 이러한 과정을 수행하면 조인트 오프셋 캘리브레이션 방법보다 오차를 약 20%∼50%까지 줄일 수 있다. 이 이유는 조인트 오프셋 캘리브레이션에서 얻어진 데이타를 이용하여 전체 캘리브레이션을 수행하면 원하는 오차 범위에 빠르게 수렴하기 때문이다. 이러한 과정을 이하에서 설명한다.
먼저, 상술한 데이타 측정 과정을 통하여 얻어진 측정 데이타를 이용하여 차체 기준 좌표계<ST1>로부터 로봇 베이스(base)(R)까지의 위치와 방향인 < St1TR과 로봇(100)의 조인트의 오프셋량 그리고 로봇(100)의 마운트(mount) 좌표계<M>로부터 툴 중심 포인트(TCP)(T)까지의 위치 및 방향< MTT을 정의하여 조인트 캘리브레이션을 수행한다.
그리고, 로봇 베이스의 상대 좌표계< St1TR및 로봇 마운트에 대한 공구 중심점의 상대 좌표< MTT를 참조하여 전체 캘리브레이션을 수행하므로써 로봇(100)의 위치와 방향, 로봇의 링크 파라미터(Link Parameter) 값 즉, 로봇의 베이스 좌표계(R)로부터 로봇의 마운트 좌표계(M)까지의 위치와 방향인 < RTM그리고 툴 중심 포인트(T)의 위치를 정의한다.
이 후, 조인트 오프셋 캘리브레이션을 통하여 파라메터 값이 수정된 데이타를 오프-라인 프로그램에 입력하여 로봇의 작업 프로그램을 생성한다. 시뮬레이션 작업을 통해 로봇의 작업 프로그램을 생성하는 경우에 로봇의 역 기구학 방정식을 사용하는데, 여기서 캘리브레이션된 역 기구학(Calibrated Inverse Kinematics) 방정식(로봇의 위치로부터 역으로 각 파라메터(조인트 각, 링크 길이 등)값을 추정하는 방정식이다.)을 사용하면 계산량이 증가하여 시뮬레이션 작업에 문제가 발생하므로 일단, 조인트 오프셋이 입력되어 모델링된 로봇을 이용하여 로봇의 작업 프로그램을 생성한다. 여기서, 조인트 캘리브레이션을 이용하여 생성된 작업 프로그램의 신뢰도는 전체 캘리브레이션을 이용한 작업 프로그램의 신뢰도보다 낮기 때문에 신뢰도 즉, 절대 위치 오차를 줄이기 위해서는 전체 캘리브레이션된 역 기구학 방정식을 이용하여 작업 프로그램을 수정할 필요가 있다. 즉, 캘리브레이션용 데이터를 전체 캘리브레이션된 역 기구학 방정식에 입력하여 조인트 오프셋 캘리브레이션 데이타에 의한 작업 프로그램을 수정하여 작업 프로그램의 절대 위치 오차를 줄이므로써 프로그램의 신뢰도를 증가시키는 것이다.
도 2에는 상술한 데이타 측정 과정의 개략적 흐름도가 도시되어 있다. 도시된 바와 같이 단계(S1)에서 차체 기준 좌표계 정의 과정 즉, 작업대 1(200)의 포인트(P1, P2 ,P3)를 측정하여 기준 좌표계<ST1>를 정의한다.
단계(S1)의 수행 후에는 단계(S2, S3, S4) 즉, 차체 패널의 홀 측정 과정(S2), 작업대 2(300)의 위치 및 방향 정의 과정(S3) 및 용접기(400)의 팁 측정 과정(S4)을 수행한다. 차체 패널의 홀 측정 과정(S2)에서는 차체 홀의 중심점을 측정하고, 이에 따라 기준 좌표계<ST1>에 대한 홀 위치< St1TH를 정의한다. 작업대 2 위치 및 방향 정의 과정(S3)에서는 차체 기준 좌표계<ST1>를 기준으로하여 작업대 2(300)의 MCP(P4, P5, P6)를 측정하고, 차체 기준 좌표계<ST1>에 대한 작업대 2(300)의 위치와 방향 즉, < St1TSt2를 정의한다. 용접기(400)의 팁 측정 과정(S4)에서는 차체 기준 좌표계<ST1>에 대한 용접 팁(Tip)에 대한 위치< St1TTip를 정의 한다.
상술한 과정(S2, S3, S4)의 수행후에는 핸들링 로봇(100)의 반사경 위치 측정 과정(S5)을 수행한다. 반사경 위치 측정 과정(S5)은 도시된 바와 같이 핸들링 로봇(100)의 기준이 되는 MCP에 설치된 반사경의 위치를 측정하고, 다음으로 로봇(100)을 작업 범위내에서 이동시키면서 행거에 설치된 반사경의 위치를 측정하여 캘리브레이션 수행에 필요한 데이타를 생성한다. 초기 반사경의 위치 및 로봇(100)의 작업시 반사경 위치가 측정되면 로봇의 측정 작업 프로그램이 생성하는 과정을 수행한다.
도 3에는 상술한 측정 데이타를 이용하여 로봇 작업 프로그램을 생성하는 과정이 도시되어 있다. 도시된 바와 같이 과정(S11)에서는 측정 데이타를 이용하여 조인트 오프셋 캘리브레이션 과정을 수행하고, 과정(S12)에서은 조인트 오프셋 캘리브레이션 결과를 이용하여 전체 캘리브레이션 과정을 행한다. 그리고, 과정(S13)에서는 조인트 오프셋 캘리브레이션 데이타를 이용하여 로봇(100)을 시뮬레이션하여 로봇 작업 프로그램을 생성한다(S14). 그러나, 상술한 바와 같이 단계(S14)에서의 작업 프로그램은 신뢰도보다 낮기 때문에 신뢰도를 높이기 위하여 전체 캘리브레이션 데이타를 이용하여 캘리브레이션된 역 기구학 방정식을 설정하고(S15), 이 방정식을 이용하여 조인트 오프셋 캘리브레이션 데이타에 의한 작업 프로그램을 수정하므로써 작업 프로그램의 절대 위치 오차를 줄여 프로그램의 신뢰도를 증가시키는 것이다.
상술한 구성을 갖는 본 발명에서는 핸들링 용도로 사용되는 핸들링 로봇 자체에 대한 캘리브레이션 작업뿐만 아니라 로봇과 연계된 작업을 수행하는 주변 장치에 대한 캘리브레이션 작업을 동시에 수행하므로써 핸들링 로봇에 오프-라인 프로그램을 적용할 수 있다는 효과가 있다.
이러한 오프-라인 프로그램의 적용에 의하여 온-라인 프로그램 방식에 비하여 로봇의 작업 프로그램 생성 시간을 50%이상 줄일 수 있으며, 캘리브레이션의 수행 후 로봇의 오프-라인 교시점의 절대 위치 오차가 2mm이하가 되기 때문에 시뮬레이션 작업 결과에 대한 신뢰도를 향상시킬 수 있는 효과가 있다.

Claims (3)

  1. 로봇을 모델링한 결과 생성된 작업 프로그램을 이용하여 상기 로봇의 작동을 제어하는 로봇의 오프-라인 제어 방법에 있어서,
    상기 로봇의 캘리브레이션을 위한 데이터를 수집하는 단계;
    상기 수집된 데이터를 이용하여 상기 로봇의 조인트 캘리브레이션을 수행하는 단계;
    상기 조인트 캘리브레이션 수행 결과를 바탕으로 상기 로봇을 모델링하여 상기 작업 프로그램을 작성하는 단계;
    상기 수집된 데이터를 이용하여 상기 로봇의 전체 캘리브레이션을 수행하는 단계; 및
    상기 기작성된 작업 프로그램에 상기 전체 캘리브레이션 수행 결과를 반영하여 상기 작업 프로그램을 수정하는 단계를 포함하여 구성되는 것을 특징으로 하는 로봇의 오프-라인 제어 방법.
  2. 제 1 항에 있어서,
    상기 캘리브레이션을 위한 데이터 수집 단계는,
    상기 로봇의 각 목적지에 대하여 적어도 3점 이상의 위치 좌표를 측정하는 단계;
    상기 측정된 위치 좌표를 이용하여 각 목적지의 좌표계를 정의하고, 각 목적지에 대하여 상기 좌표계 중 임의의 좌표계를 기준으로 한 상대 좌표계를 정의하는 단계;
    상기 로봇의 작동 중 상기 로봇의 공구 중심점이 이동하는 위치를 표본 추출하여 측정하는 단계; 및
    상기 정의된 각각의 좌표계에 근거하여 상기 측정된 각각의 공구 중심점의 상대 위치를 정의하는 단계를 포함하여 구성되는 것을 특징으로 하는 로봇의 오프-라인 제어 방법.
  3. 제 2 항에 있어서,
    상기 로봇의 작동에 따른 공구 중심점 이동 위치 측정 단계는,
    상기 로봇의 공구 중심점에 반사경을 설치하는 단계;
    측정 기준 위치에 광센서를 설치하는 단계; 및
    상기 광센서에서 발사된 빛이 상기 반사경으로부터 반사되어 되돌아오는데 걸리는 시간을 계산하여 상기 기준 위치로부터 상기 반사경까지의 거리를 구하는 단계를 포함하여 구성되는 것을 특징으로하는 로봇의 오프-라인 제어 방법.
KR1019990053482A 1999-11-29 1999-11-29 로봇의 오프-라인 제어 방법 KR100336459B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990053482A KR100336459B1 (ko) 1999-11-29 1999-11-29 로봇의 오프-라인 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990053482A KR100336459B1 (ko) 1999-11-29 1999-11-29 로봇의 오프-라인 제어 방법

Publications (2)

Publication Number Publication Date
KR20010048691A KR20010048691A (ko) 2001-06-15
KR100336459B1 true KR100336459B1 (ko) 2002-05-15

Family

ID=19622403

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990053482A KR100336459B1 (ko) 1999-11-29 1999-11-29 로봇의 오프-라인 제어 방법

Country Status (1)

Country Link
KR (1) KR100336459B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100758978B1 (ko) * 2003-06-26 2007-09-14 현대중공업 주식회사 로봇 시스템의 주행축 캘리브레이션 방법
KR101048467B1 (ko) * 2008-12-04 2011-07-11 현대중공업 주식회사 컨베이어 기반 차체의 위치 계측 방법
KR102161821B1 (ko) 2014-08-26 2020-10-06 삼성전자주식회사 클록 모니터 및 이를 포함하는 시스템 온 칩

Also Published As

Publication number Publication date
KR20010048691A (ko) 2001-06-15

Similar Documents

Publication Publication Date Title
KR100345150B1 (ko) 레이저 측정기를 이용한 로봇 위치 보정 방법
JP4171488B2 (ja) オフラインプログラミング装置
Abderrahim et al. Accuracy and calibration issues of industrial manipulators
KR101797122B1 (ko) 이동형 3차원 좌표 측정기(cmm)의 에러 측정 및 보상 방법
KR102311293B1 (ko) 캘리브레이션 장치 및 캘리브레이션 방법
US9114534B2 (en) Robot calibration systems
KR20080088165A (ko) 로봇 캘리브레이션 방법
US9713869B2 (en) Calibration of robot work paths
US20220105640A1 (en) Method Of Calibrating A Tool Of An Industrial Robot, Control System And Industrial Robot
US20140365006A1 (en) Visual Datum Reference Tool
Cheng Calibration of robot reference frames for enhanced robot positioning accuracy
Santolaria et al. Self-alignment of on-board measurement sensors for robot kinematic calibration
US20140365007A1 (en) Visual Datum Reference Tool
KR100301231B1 (ko) 로봇의작업경로자동보정방법
Gümbel et al. Precision optimized pose and trajectory planning for vertically articulated robot arms
KR100336459B1 (ko) 로봇의 오프-라인 제어 방법
WO2023170166A1 (en) System and method for calibration of an articulated robot arm
JP2021186929A (ja) 多軸ロボットの制御方法
Sawyer et al. Improving robotic accuracy through iterative teaching
KR100214675B1 (ko) 산업용 로봇의 기준 자세 및 위치 교정 장치 및 그 방법
KR20030069381A (ko) 로봇의 툴 캘리브레이션 방법
US20230031819A1 (en) Positioning method and positioning device
KR100244758B1 (ko) 수직 다관절 용접 로봇의 캘리브레이션 방법 및 그 장치
US20150306769A1 (en) Calibration for robotic systems
KR100214678B1 (ko) 산업용 로봇의 기준 자세 교정 장치 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070406

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee