KR100246672B1 - 로보트 레이아웃 캘리브레이션 방법 - Google Patents
로보트 레이아웃 캘리브레이션 방법 Download PDFInfo
- Publication number
- KR100246672B1 KR100246672B1 KR1019970015157A KR19970015157A KR100246672B1 KR 100246672 B1 KR100246672 B1 KR 100246672B1 KR 1019970015157 A KR1019970015157 A KR 1019970015157A KR 19970015157 A KR19970015157 A KR 19970015157A KR 100246672 B1 KR100246672 B1 KR 100246672B1
- Authority
- KR
- South Korea
- Prior art keywords
- coordinate system
- robot
- transformation matrix
- workpiece
- sensor
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
본 발명은 로보트를 이용한 자동생산시스템에 관한 것으로서, 특히 오프라인 프로그래밍기술에 관한 것이다.
본 발명은 생산현장에 로보트를 설치할 때 각종 설비들의 위치, 설치각도등을 레이아웃 캘리브레이션(Layout Calibration)할 때, 로보트를 직접 교시하지 않고 외부센서를 사용하여 캘리브레이션하는 방법을 제공하여 캘리브레이션에 소요되는 시간과 노력을 감소시키도록 하는 것을 목적으로 한다.
본 발명은 상기의 목적실현을 위한 수단으로, 로보트의 팔을 임의의 3점으로 이동시켜 작업대상물 위에 가상좌표계를 설정함으로서 센서좌표계에 대한 로보트좌표계의 변환행렬을 구하는 단계와; 가상좌표계를 설정하여 센서좌표계에 대한 작업대상물좌표계의 변환행렬을 구하는 단계와; 상기 단계로부터 얻은 변환행렬을 이용하여 작업대상물좌표계에 대한 로보트좌표계의 변환행렬을 구하는 단계를 포함하는 것을 특징으로 하는 로보트 레이아웃 캘리브레이션 방법을 제공한다.
Description
최근 21세기 주요기술의 하나로 가상생산기술이 주목받고 있다. 이 가상생산기술은 일련의 제조설비들을 직접 제작하기 전에 컴퓨터를 이용하여 모델링하고, 시뮬레이션하여 성능을 점검함으로서, 생산준비기간의 단축, 제조비의 절감, 설비의 신뢰성 향상 등을 이룰 수 있도록 지원하는 기술이다.
이 가상생산기술의 최종목표는 로보트 등 생산설비를 구동할 프로그램을 작성하는 것이며, 이러한 기술을 오프라인 프로그래밍(Off-line Programming)기술이라 한다. 그러나, 이러한 오프라인으로 시뮬레이션을 통하여 작성된 이러한 프로그램은 현장에서 바로 사용될 수는 없다.
시뮬레이션 환경에서는 현장을 CAD 데이터를 기준으로 모델링 하게 되나, 실제 제작되어 설치된 설비는 설계된 데이터와는 다른 것이 일반이기 때문이다.
따라서 캘리브레이션 기술을 이용하여, 오프라인으로 작성된 프로그램과 실제 현장과의 차이를 보정한 후에 사용하여야 한다.
로보트응용시스템에 있어서의 캘리브레이션은 로보트팔에 부착된 공구(용접건 등), 로보트와 주변 장치들의 상대위치를 파악하는 것이 주요 목적이 되는 데, 컴퓨터로 모델링된 각종 설비들의 위치, 설치각도와 실제 현장에 설치된 장비들의 위치와의 차이를 계산하는 과정을 레이아웃 캘리브레이션이라고 한다.
캘리브레이션을 행하는 기술은 오프라인 프로그래밍기술로 로보트를 제작한 제작사 또는 시뮬레이션프로그램을 제공하는 제공사등에서 기본적으로 제공하고 있으며 다음과 같다.
실제 라인에서는 작업대상물 혹은 차체위의 3점 이상(작업대상물좌표계 로부터 위치를 알고 있는)을 로보트로 직접 교시하여 작업대상물좌표계(O')에 대한 로보트좌표계(O)의 변환행렬(0T0')을 구한다.
교시된 3점을 이용한 연산은 자동으로 이루어지며, 운전자는 측정된 값대로 로보트 혹은 작업대상물의 위치를 CAD모델상에서 이동시켜 모든 프로그램을 다시 생성시키면 캘리브레이션이 끝나게 된다.
이 방법은 상당히 간편하여 폭넓게 사용되고 있으나, 로보트를 일일이 교시(Teaching)하여야 하는 점에서 불편하고, 특히 작업대상물 위에 교시에 적합한 점이 없을 경우 캘리브레이션은 매우 어렵게 된다.
또한 교시에 사용자의 집중이 요구되고 이에 따라 소요되는 시간이 길어지기 때문에 생산준비기간의 단축이라는 오프라인프로그래밍(Off-Line Programing)본래의 효과를 감소시키는 원인이 된다.
따라서, 전술한 방법 이외에, 보다 간단한 방법으로 모델링된 각종설비와 실제 설비의 설치위치 및 각도 차이를 구할 수 있는 방법의 개발이 요구된다.
본 발명은 전술한 바와 같은 종래의 요구에 따른 것으로서, 로보트를 직접 조작하지 않고, 외부에서 임의의 점의 위치를 검출할 수 있는 외부센서와, 좌표축변환(Coordinate Transformation) 기술을 이용하여 간접적인 방법으로 작업대상물 좌표계에 대한 로보트좌표계의 상대위치를 구하는 방법을 제공하는 것을 기술적 과제로 한다.
제1도는 종래의 로보트 레이아웃 캘리브레이션을 행하는 원리를 도시한 도면.
제2도는 본 발명에 따른 로보트 레이아웃 캘리브레이션 방법을 행하는 원리를 도시한 도면.
제3도는 본 발명에 따른 로보트 레이아웃 캘리브레이션 방법을 행하는 순차를 도시한 간략도면.
본 발명은 전술한 기술적 과제를 해결하기 위한 수단으로, 로보트의 팔을 임의의 3점으로 이동시켜 작업대상물 위에 이 3점으로 만들어진 가상좌표계를 설정함으로서 센서좌표계에 대한 로보트좌표계의 변환행렬을 구하는 단계와; 상기의 3점으로 만들어진 가상좌표계를 설정하여 센서좌표계에 대한 작업대상물좌표계의 변환행렬을 구하는 단계와; 상기 단계로부터 얻은 변환행렬을 이용하여 작업대상물좌표계에 대한 로보트좌표계의 변환행렬을 구하는 단계를 포함하는 것을 특징으로 하는 로보트 레이아웃 캘리브레이션 방법을 제공한다.
이하 본 발명에 따른 로보트 레이아웃 캘리브레이션 방법의 각 단계들을 도면을 참조하여 설명하도록 한다.
본 발명에서는 로보트를 직접 조작하지 않고, 외부센서를 이용하여 간접적인 방법으로 이들의 상대위치를 구하는 방법으로서 이 방법은 제차변환행렬(Homogeneous Transformation Matrix)을 이용한 좌표축변환(Coordinate Transformation) 기술에 기초하고 있다.
먼저, 좌표계들의 상관 관계를 생각해 보자. 도 2에서 R0는 로보트의 기본좌표계, S0는 센서좌표계, J0는 작업대상물의 기본좌표계라 가정한다. 우리가 알아내어야할 값은 변환행렬(RTJ)즉, 로보트 기본좌표계의 작업대상물 좌표계로부터의 위치 및 회전량이다.
도 2에서와 같이 로보트좌표계의 센서좌표계에 대한 변환행렬(RTS)과 작업대상물 좌표계의 센서좌표계에 대한 변환행렬(JTS)을 구하면 이들로부터 다음식(3)과 같은 방법으로 로보트좌표계의 작업대상물좌표계에 대한 변환 행렬(RTJ)을 구할 수 있다.
RTJ=RTS*STJ=RTS*JT-1 S......................... (3)
본 발명에 따른 레이아웃 캘리브레이션 방법은 전술한 바와 같은 원리를 이용한 것으로 전술한RTS와JTs를 구하기 위하여, 본 발명에서는 특별히 가상좌표계 이용기술을 제안한다.
도 2에 도시한 바와 같이 자유공간상에 좌표계 R0와 S0가 있다고 가정한다. R0의 S0에 대한 변환행렬은 각 좌표계에서 공통적으로 위치를 알 수 있는 3점이 주어지면 구할 수 있다.
도 2에서 3점 P0, P1, P2를 가정한다. 점 P0을 원점으로 하고, P2과 P1를 잇는 선을 X축으로 하며, 3점으로 이루어지는 평면의 법선을 Z축으로 하는 가상좌표계 P를 만들 수 있다.
좌표계 P의 좌표계 R에 대한 변환행렬을PTR라하고, S0에 대한 변환행렬을PTS라 하면, 좌표계 R의 S0에 대한 변환행렬(RTS)은 다음과 같이 구해진다.
RTS=RTP*PTS=PTR -1*PTS......................... (4)
이때 상기의 식에 사용되는PTR와PTS는 다음의 방법으로 구할 수 있다.
먼저 각 좌표계에서 측정된 점 P0, P1, P2의 위치 벡터는 다음 식(5)와 같이 표현될 수 있다.
P0=P0xi+P0yi+P0zk
P1=P1xi+P1yi+P1zk ........................... (5)
P2=P2xi+P2yi+P2zk
가상 좌표계의 각 방향 벡터는 다음과 같이 구해진다.
앞에서 구한 가상좌표계의 방향벡터와 원점으로 가정한 P0로 부터 좌표계 P의 R 또는 S에 대한 변환행렬(PTS)은 다음의 식(9)과 같이 구해진다.
전술한 바와 같은 원리로 가상좌표계(P)의 임의의 좌표계에 대한 변환행렬을 구할 수 있다.
이러한 원리를 이용하면 좌표계(S)에 대한 가상좌표계(P)의 변환행렬PTS을 구하고, 좌표계(R)에 대한 가상좌표계의 변환행렬PTR을 구하여 식 4를 이용하여 좌표계 S에 대한 좌표계 R의 변환 행렬(RTS)을 구할 수 있다.
그러면 전술한 가상좌표계 이론을 도입하여 본 발명에 따른 작업대상물좌표계에 대한 로보트좌표계의 변환행렬(RTJ)을 구하는 과정을 설명하도록 한다.
도 3은 본 발명에 따른 작업대상물좌표계에 대한 로보트좌표계의 변환행렬(RTJ)을 구하는 과정을 개략적으로 설명한 것으로 센서좌표계에 대한 로보트 좌표계의 변환행렬을 구하는 단계와, 센서좌표계에 대한 작업대상물좌표계의 변환행렬을 구한 후 식(3)을 이용하여 작업대상물좌표계에 대한 로보트좌표계의 변환행렬(RTJ)을 구하도록 한다.
먼저, 센서좌표계에 대한 로보트좌표계의 변환행렬(RTS)을 구하도록 한다.
먼저, 로보트를 작업공간내 임의의 3 위치(그림2의 P0, P1, P2)에 위치하도록 오프라인 프로그래밍 도구(Off-line Programming Tool)를 이용하여 프로그램한다.
로보트를 플레이백(Playback)시켜 각 점에 도달하였을 때 외부센서를 이용하여 로보트 TCP(Tool Center Point)의 센서좌표계로부터 위치(SP0,SP1,SP2)를 계산한다. 가상좌표계 이론을 이용하여 상기 3점으로 이루어지는 좌표계 P를 생성하고, 이 좌표계의 센서좌표계에 대한 변환행렬(PTS)을 식(9)과 같이 계산한다. 다음, 로보트가 위치하였을 때, 각 TCP의 로보트 좌표계에서의 위치(rP0,rP1,rP2)를 로보트 제어기로부터 업로드한다. 이 3점을 이용하여 가상 좌표계 P'를 생성하고 이의 로보트 좌표계에 대한 변환행렬(RTP')을 식(9)과 같이 계산한다. 가상좌표계 P와 P'은 사실상 같은 좌표계이다. 따라서 식(4)를 이용하면 다음과 같이 구해진다.
RTS=RTP'*PTS.............................. (10)
다음은 센서좌표계에 대한 작업대상물 좌표계의 변환행렬(JTS)을 구하는 단계이다.
일반적으로 작업대상물에는 고유의 좌표계가 있으며 차체의 위치를 규제하기 위한 핀 또는 로케이터등은 작업대상물좌표계로부터 정확한 위치에 설치된다.
이들 중 3 점(그림 2의 Q0, Q1, Q2)을 센서로 읽어서, 센서좌표계로 부터의 위치(SQ0,SQ1,SQ2)를 계산한다. 가상좌표계 이론을 이용하여 상기 3점으로 이루어지는 좌표계 Q를 생성하고, 이 좌표계의 센서좌표계에 대한 변환행렬(QTS)을 식(9)과 같이 계산한다.
상기 작업대상물위의 3점은 고유좌표계에 대하여 정확한 위치(jQ0,jQ1,jQ2)알 수 있는 점이다. 이 3점을 이용하여 가상 좌표계 Q를 생성하고 이의 센서좌표게에 대한 변환행렬(Q'TJ)을 식(9)과 같이 계산한다. 가상좌표계 Q와 Q'는 사실상 같은 좌표계이다. 따라서 식(4)을 이용하면 다음과 같이 구해진다.
JTS=JTQ'*QTS=Q'TJ -1*QTS......................... (11)
전술한 방법으로 얻은 센서좌표계에 대한 로보트좌표계의 변환행렬(RTS) 및 센서좌표계에 대한 작업대상물 좌표계의 변환행렬(JTS)을 이용하여 식 3을 이용하여 본 발명이 목표로 하는 작업대상물좌표계에 대한 로보트좌표계의 변환행렬(RTJ)을 구할 수 있다.
RTJ=RTS*STJ=RTS*JTS -1.................... (12)
전술한 방법으로 실제 프로그래밍하고 시뮬레이션하여 검증한 결과에 따르면, 실제 로보트 대신 시뮬레이션소프트웨어에 있는 모델을 이용한 시뮬레이션 결과 모델링된 레이아웃과 개발된 방법에 의해 계산된 레이아웃의 차이는 0.3mm 이내로 충분히 현장에서 사용 가능한 수준으로 판단되었다.
전술한 바와 같은 방법의 로보트 레이아웃 캘리브레이션을 실행함으로서 기존방법의 단순한 반복적 교시를 행하지 않고 소요시간도 줄일 수 있게 되어 생산준비기간의 단축과, 비용절감에 크게 기여하고 또한 오프라인 프로그래밍기술을 실제적용에 있어서 효율성을 향상시킬 수 있게 되었다.
본 발명은 로보트를 이용한 자동생산시스템에 관한 것으로서, 특히 오프라인 프로그래밍기술에 관한 것이다.
본 발명은 생산현장에 로보트를 설치할 때 각종 설비들의 위치, 설치각도등을 레이아웃 캘리브레이션(Layout Calibration)할 때, 로보트를 직접 교시하지 않고 외부센서를 사용하여 캘리브레이션하는 방법을 제공하여 캘리브레이션에 소요되는 시간과 노력을 감소시키도록 하는 것을 목적으로 한다.
Claims (1)
- 임의의 위치에 설치된 로보트와 작업대상물 사이의 임의의 위치로 센서를 설치하는 준비단계와; 상기 로보트의 팔을 임의의 3점으로 이동시켜 작업대상물 위에 이 3점으로 만들어진 가상좌표계를 설정함으로서 센서좌표계에 대한 로보트좌표계의 변환행렬을 구하는 단계와; 상기의 3점으로 만들어진 가상좌표계를 설정하여 센서좌표계에 대한 작업대상물좌표계의 변환행렬을 구하는 단계 및; 상기 단계들로부터 얻은 변환행렬을 이용하여 작업대상물좌표계에 대한 로보트좌표계의 변환행렬을 구하는 단계를 포함하는 것을 특징으로 하는 로보트 레이아웃 캘리브레이션 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970015157A KR100246672B1 (ko) | 1997-04-23 | 1997-04-23 | 로보트 레이아웃 캘리브레이션 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970015157A KR100246672B1 (ko) | 1997-04-23 | 1997-04-23 | 로보트 레이아웃 캘리브레이션 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980077871A KR19980077871A (ko) | 1998-11-16 |
KR100246672B1 true KR100246672B1 (ko) | 2000-04-01 |
Family
ID=19503676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970015157A KR100246672B1 (ko) | 1997-04-23 | 1997-04-23 | 로보트 레이아웃 캘리브레이션 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100246672B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102606719B1 (ko) * | 2016-08-25 | 2023-11-28 | 한화오션 주식회사 | 고정좌표를 수정할 수 있는 제어부를 가지는 용접로봇 또는 용접로봇의 고정좌표 결정방법 |
CN114305686B (zh) * | 2021-12-20 | 2024-07-16 | 杭州堃博生物科技有限公司 | 基于磁传感器的定位处理方法、装置、设备与介质 |
-
1997
- 1997-04-23 KR KR1019970015157A patent/KR100246672B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19980077871A (ko) | 1998-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1331795C (en) | Device and method for correction of robot inaccuracy | |
US6445964B1 (en) | Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine | |
JP6577163B2 (ja) | マルチロボットシステムの較正システム及びマルチロボットシステムの較正方法 | |
JP2014104581A5 (ko) | ||
US10821603B2 (en) | Methods and apparatus for robot control | |
Nagata et al. | Development of CAM system based on industrial robotic servo controller without using robot language | |
CN104942808A (zh) | 机器人运动路径离线编程方法及系统 | |
US20050102054A1 (en) | Method and system for simulating processing of a workpiece with a machine tool | |
CN111152226B (zh) | 一种机器人工作轨迹规划方法及系统 | |
Hornick et al. | Computer-aided off-line planning and programming of robot motion | |
JP2010218036A (ja) | ロボットオフラインプログラミング装置 | |
Driels | Using passive end-point motion constraints to calibrate robot manipulators | |
KR100246672B1 (ko) | 로보트 레이아웃 캘리브레이션 방법 | |
JP4829151B2 (ja) | ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置 | |
Mayer et al. | Global kinematic calibration of a Stewart platform | |
CN114800523B (zh) | 机械臂轨迹修正方法、系统、计算机及可读存储介质 | |
Pickett et al. | RoboTeach: An off-line robot programming system based on GMSolid | |
Lee et al. | ROBOSIM: a CAD-based off-line programming and analysis system for robotic manipulators | |
Bedaka et al. | Autonomous path generation platform for robot simulation | |
JPH10143218A (ja) | ロボットのサイクルタイム予測装置 | |
Petrinić et al. | AMORsim− A Mobile Robot Simulator for Matlab | |
Parthasarathy et al. | ADAMS-MATLAB co-simulation of a serial manipulator | |
Rego et al. | Manipulator motion tracking conceptual model | |
KR100240466B1 (ko) | 로보트 툴 캘리브레이션 방법 | |
Papamattheou et al. | Robotic arm graphical representation, motion simulation and execution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20051111 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |