KR20120117444A - Method and system for calibration of heterogeneous robot - Google Patents

Method and system for calibration of heterogeneous robot Download PDF

Info

Publication number
KR20120117444A
KR20120117444A KR1020110035202A KR20110035202A KR20120117444A KR 20120117444 A KR20120117444 A KR 20120117444A KR 1020110035202 A KR1020110035202 A KR 1020110035202A KR 20110035202 A KR20110035202 A KR 20110035202A KR 20120117444 A KR20120117444 A KR 20120117444A
Authority
KR
South Korea
Prior art keywords
robot
information
calibration
controller
heterogeneous
Prior art date
Application number
KR1020110035202A
Other languages
Korean (ko)
Other versions
KR101284856B1 (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 KR1020110035202A priority Critical patent/KR101284856B1/en
Publication of KR20120117444A publication Critical patent/KR20120117444A/en
Application granted granted Critical
Publication of KR101284856B1 publication Critical patent/KR101284856B1/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
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4086Coordinate conversions; Other special calculations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Manipulator (AREA)

Abstract

PURPOSE: A calibration method and system for heterogeneous robots are provided to obtain an offset value according to the error of the real location of the heterogeneous robot. CONSTITUTION: A calibration system for heterogeneous robots comprises a calibration unit(120), a control unit(150), and an information processing unit(140). The calibration unit calculates a plurality of motion information on the target spot of the robot by applying a kinematic library according to kinds of the robots. The control unit moves the robot to the target spot by transmitting a motion control command to controllers. The information processing unit generates measurement information on the real position of the robot by processing measured coordinates. The control unit calculates the axis offset value for correcting errors using difference between the real position and the calculated target position. The control unit corrects the error in the position of the robot. [Reference numerals] (100) Robot control server; (110) Communication unit; (120) Calibration unit; (121) Message processing unit; (122) Motion information generating module; (130) Position detecting unit; (140) Information processing unit; (150) Control unit; (160) Database unit; (200) Robot system; (210) Controller A (robot A kinematics of machinery module); (211) Robot A; (220) Control unit A (robot B kinematics of machinery module); (221) Robot B; (230) Control unit A (robot C kinematics of machinery module); (231) Robot C; (AA) Robot A kinematics of machinery library; (BB) Robot B kinematics of machinery library; (CC) Robot C kinematics of machinery library; (DD, EE, FF) Standard protocol

Description

이기종 로봇의 캘리브레이션 방법 및 그 시스템{METHOD AND SYSTEM FOR CALIBRATION OF HETEROGENEOUS ROBOT}Calibration method of heterogeneous robot and its system {METHOD AND SYSTEM FOR CALIBRATION OF HETEROGENEOUS ROBOT}

본 발명은 이기종 로봇의 캘리브레이션 방법 및 그 시스템에 관한 것이다.The present invention relates to a method and system for calibrating heterogeneous robots.

일반적으로 산업기술이 발달하면서 로봇을 이용한 FMS(Flexible Measurment System) 개발 환경이 부각되면서 로봇의 수정명령 생성 등 높은 위치정밀도를 요구하는 연구가 늘어나고 있다. 따라서, 로봇의 기계적 구조물의 변화 없이 로봇의 위치정밀도를 소프트에어적으로 향상시키는 로봇 캘리브레이션(Calibration)에 대한 관심이 증대되고 있다.In general, with the development of industrial technology, the development of FMS (Flexible Measurment System) development environment using robots is increasing, and researches requiring high positional accuracy such as the generation of correction commands of robots are increasing. Therefore, there is a growing interest in robot calibration that improves the positional accuracy of the robot softly without changing the mechanical structure of the robot.

한편, 도 1은 종래의 특정 로봇 시스템에 대한 캘리브레이션 프로그램 구성도를 나타낸다.1 shows a configuration of a calibration program for a specific robot system in the related art.

첨부된 도 1을 참조하면, 종래의 다관절 로봇을 위한 캘리브레이션 프로그램은 특정 제어기 A 및 특정 로봇 A에 대한 축 캘리브레이션을 수행한다. 여기서, 캘리브레이션 프로그램은 로봇 A의 기구학 모듈 및 로봇 A의 데이터를 수집하기 위한 로봇 A의 이동 위치 정보를 포함한다. 또한, 캘리브레이션 프로그램은 특정 프로토콜을 이용한 제어기와의 통신으로 로봇 A의 현재 축 오프셋 상태 값을 받아 오며, 로봇 A의 이동 및 대기 명령을 지시하는 역할을 한다. Referring to FIG. 1, a calibration program for a conventional articulated robot performs axis calibration for a specific controller A and a specific robot A. As shown in FIG. Here, the calibration program includes robot K's kinematics module and robot A's movement position information for collecting data of robot A's. In addition, the calibration program receives the current axis offset state value of the robot A through communication with a controller using a specific protocol, and serves to instruct the robot A to move and wait.

그러나 이러한 종래 방식은 로봇 A와 같은 특정 목표에 대해서만 캘리브레이션을 수행할 수 있으며, 같은 제어기의 다른 이기종 로봇 혹은 다른 제어기의 같은 로봇에 대해서는 기구학 모듈, 프로토콜 및 로봇의 이동 위치 정보 문제로 인해서 캘리브레이션 프로그램을 적용할 수 없는 문제점이 있다. However, this conventional method can only calibrate for a specific target, such as robot A. For other heterogeneous robots of the same controller, or for the same robot on other controllers, the calibration program can be calibrated due to kinematic modules, protocols, and movement position information of the robot. There is a problem that cannot be applied.

본 발명의 실시 예는 제어기 및 로봇의 종류에 관계없이 하나의 프로그램으로 이기종 로봇에 대한 캘리브레이션을 자동으로 수행하는 방법 및 그 시스템을 제공하고자 한다.An embodiment of the present invention is to provide a method and system for automatically performing calibration for heterogeneous robots with one program regardless of the type of controller and robot.

본 발명의 일 측면에 따르면 이기종 로봇의 캘리브레이션 시스템은,According to an aspect of the invention the calibration system of heterogeneous robot,

제어기와 연결된 로봇의 종류에 따른 기구학 라이브러리를 채택하여 로봇의 이동 목표지점에 대한 복수의 모션정보를 계산하는 캘리브레이션부; 상기 제어기로 모션 제어 명령을 전송하여 상기 로봇을 설정된 이동 목표 지점으로 이동시키는 제어부; 및 상기 로봇의 측정좌표를 가공하여 상기 로봇의 실제 위치 측정 정보를 생성하는 측정 정보 가공부를 포함하되, 상기 제어부는 상기 계산된 복수의 이동 목표지점과 상기 실제 위치 측정 정보의 차이를 이용하여 오차보정을 위한 축 오프셋 값을 산출하여 상기 로봇의 위치 오차를 보정할 수 있다.A calibration unit which adopts a kinematics library according to the type of robot connected to the controller and calculates a plurality of motion information about a moving target point of the robot; A controller which transmits a motion control command to the controller to move the robot to a set movement target point; And a measurement information processing unit for processing the measurement coordinates of the robot to generate actual position measurement information of the robot, wherein the control unit corrects an error by using a difference between the calculated plurality of moving target points and the actual position measurement information. By calculating the axis offset value for the position error of the robot can be corrected.

또한, 상기 캘리브레이션부는, 이종의 상기 제어기와 통신을 위해 지정된 표준 프로토콜 형식의 메시지를 생성하고, 상기 제어기로부터 수신되는 표준 프로토콜 형식의 메시지를 분석하는 메시지 처리모듈; 및 상기 기구학 라이브러리와 상기 제어기로부터 수신되는 상기 로봇의 특성정보에 기초하여 상기 로봇에 대한 복수의 이동 목표 지점을 생성하는 모션정보 생성모듈을 포함할 수 있다.The calibration unit may include: a message processing module configured to generate a message of a standard protocol format designated for communication with the heterogeneous controller, and to analyze a message of a standard protocol format received from the controller; And a motion information generation module for generating a plurality of moving target points for the robot based on the characteristic information of the robot received from the kinematic library and the controller.

또한, 상기 제어기와 유선 혹은 무선 중 어느 하나의 방식으로 표준 프로토콜 형식의 데이터를 송수신하는 통신부; 및 이기종 로봇에 각각 대응되는 상기 로봇의 종류별 기구학 라이브러리를 저장하는 데이터베이스부를 더 포함할 수 있다.In addition, the communication unit for transmitting and receiving data in the standard protocol format with any one of the wired or wireless manner with the controller; And a database unit for storing the kinematics library for each type of the robot corresponding to the heterogeneous robot, respectively.

또한, 상기 모션정보 생성모듈은, 상기 복수의 이동 목표지점 별로 복수의 측정 가능한 자세정보를 더 생성하고, 상기 측정 정보 가공부는 상기 로봇의 측정좌표를 가공하여 상기 로봇의 실제 자세 측정정보를 더 생성하고, 상기 제어부는 상기 목표 자세정보와 상기 실제 자세 측정정보를 더 이용할 수 있다.The motion information generation module may further generate a plurality of measurable attitude information for each of the plurality of moving target points, and the measurement information processing unit may further generate actual attitude measurement information of the robot by processing measurement coordinates of the robot. The controller may further use the target posture information and the actual posture measurement information.

또한, 상기 표준 프로토콜은, 상기 로봇의 특성 정보, 이동 지시 정보, 이동 완료 정보 및 축 오프셋 값 중 적어도 하나를 포함할 수 있다.The standard protocol may include at least one of characteristic information of the robot, movement instruction information, movement completion information, and an axis offset value.

또한, 상기 로봇의 특성 정보는, 상기 로봇의 식별정보(종류), 암호화 통신 변수 값, 상기 로봇의 현재 축 오프셋 값, 상기 로봇의 주요 작업 영역, 상기 로봇의 이동 가능 영역, 상기 로봇의 각 축 이동 한계 값 중 적어도 하나를 포함할 수 있다.The characteristic information of the robot may include identification information (type) of the robot, an encrypted communication variable value, a current axis offset value of the robot, a main working area of the robot, a movable area of the robot, and each axis of the robot. It may include at least one of the movement limit value.

또한, 상기 모션정보 생성모듈은, 상기 로봇의 상기 로봇의 주요 작업 영역, 상기 로봇의 이동 가능 영역, 상기 로봇의 각 축 이동 한계 값 중 어느 하나를 이용하여 상기 복수의 이동 목표지점을 생성할 수 있다.The motion information generation module may generate the plurality of movement target points using any one of a main work area of the robot, a movable area of the robot, and a limit value of each axis movement of the robot. have.

한편, 본 발명의 일 측면에 따른, 로봇 제어 서버가 이기종 로봇의 캘리브레이션을 수행하는 방법은,On the other hand, according to an aspect of the present invention, the robot control server performs a calibration of heterogeneous robot,

a) 로봇과 연결된 제어기로부터 상기 로봇의 특성 정보를 수신하고, 상기 로봇의 종류에 따른 기구학 라이브러리를 채택하는 단계; b) 상기 로봇의 특성 정보와 상기 로봇의 기구학 라이브러리에 기초하여 상기 로봇에 대한 복수의 이동 목표지점을 생성하는 단계; c) 상기 복수의 이동 목표지점으로 이동되는 상기 로봇의 측정좌표를 가공하여 상기 로봇의 실제 위치 측정 데이터를 생성하는 단계; 및 d) 상기 로봇의 기구학 라이브러리를 이용하여 생성된 상기 이동 목표지점의 계산 값과 상기 실제 위치 측정 정보의 차이를 이용하여 위치 오차보정을 위한 축 오프셋 값을 산출하는 단계를 포함할 수 있다.a) receiving characteristic information of the robot from a controller connected to the robot, and adopting a kinematic library according to the type of the robot; b) generating a plurality of movement target points for the robot based on the characteristic information of the robot and the kinematic library of the robot; c) processing measurement coordinates of the robot moved to the plurality of movement target points to generate actual position measurement data of the robot; And d) calculating an axis offset value for position error correction by using a difference between the calculated value of the movement target point and the actual position measurement information generated using the kinematic library of the robot.

또한, 상기 b) 단계와 c) 단계 사이에, 상기 제어기로 지정된 표준 프로토콜 형식의 모션 제어 명령을 전송하여 상기 로봇을 상기 이동 목표지점으로 이동시키고, 상기 이동 목표지점에서 적어도 하나의 측정 가능한 자세를 취하도록 제어하는 단계를 포함할 수 있다.In addition, between step b) and step c), the controller transmits a motion control command in a standard protocol format designated by the controller to move the robot to the movement target point, and at least one measurable posture at the movement target point. Control to take.

상기 d) 단계 이후에, 상기 축오프셋 값을 상기 제어부로 전송하여 상기 로봇의 각 축에 대한 위치오차를 보정하는 단계를 더 포함할 수 있다.After step d), the method may further include correcting a position error of each axis of the robot by transmitting the axis offset value to the controller.

또한, 상기 b) 단계는, 상기 특성 정보에 상기 로봇의 주요 작업 영역이 존재하면 상기 주요 작업 영역의 내부를 격자 형태로 나누어 상기 복수의 이동 목표지점을 생성하는 단계; 및 상기 복수의 이동 목표지점에 대한 복수의 측정 가능한 자세를 각각 생성하는 단계를 포함할 수 있다.The step b) may include: generating a plurality of moving target points by dividing the inside of the main work area into a grid when the main work area of the robot exists in the characteristic information; And generating a plurality of measurable postures with respect to the plurality of moving target points, respectively.

또한, 상기 b) 단계는, 상기 특성 정보에 상기 주요 작업 영역이 존재하지 않고 이동 가능 영역이 존재하면 상기 이동 가능 영역의 내부를 격자 형태로 나누어 상기 복수의 이동 목표지점을 생성하는 단계를 포함할 수 있다.The step b) may include generating the plurality of moving target points by dividing the inside of the movable area into a grid when the main work area does not exist and the movable area exists in the property information. Can be.

또한, 상기 b) 단계는, 상기 특성 정보에 상기 주요 작업 영역 및 이동 가능 영역이 존재하지 않으면, 상기 로봇의 각 축 이동 한계 값을 이용하여 상기 로봇의 허용 위치를 계산하는 단계; 상기 허용 위치 상에서 상기 복수의 이동 목표지점을 생성하는 단계; 및 상기 생성된 복수의 이동 위치에 대해서 역기구학을 이용하여 로봇이 이동 가능한 위치인지 검증하는 단계를 포함할 수 있다.In addition, the step b), if the main work area and the movable area does not exist in the characteristic information, calculating the allowable position of the robot using each axis movement limit value of the robot; Generating the plurality of movement target points on the allowable position; And verifying whether the robot is movable by using inverse kinematics with respect to the generated plurality of movement positions.

본 발명의 실시 예는 제어기 및 로봇의 종류와 관계 없이 하나의 캘리브레이션 프로그램으로 로봇의 축을 보정할 수 있다.The embodiment of the present invention can correct the axis of the robot with one calibration program regardless of the type of controller and robot.

그리고, 로봇의 이동에 따른 실측 데이터 측정을 안정적으로 수행할 수 있다.And, it is possible to stably measure the measurement data according to the movement of the robot.

또한, 이기종 로봇의 실제 위치 오차에 따른 오프셋 값을 제공할 수 있다.In addition, the offset value according to the actual position error of the heterogeneous robot can be provided.

도 1은 종래의 특정 로봇 시스템에 대한 캘리브레이션 프로그램 구성도를 나타낸다.
도 2는 본 발명의 실시 예에 따른 이기종 로봇에 대한 캘리브레이션 시스템을 나타낸 블록도이다.
도 3은 본 발명의 실시 예에 따른 이기종 로봇의 캘리브레이션 방법을 나타낸 흐름도이다.
도 4는 본 발명의 실시 예에 따른 복수의 모션정보를 생성하는 방법을 나타낸 흐름도이다.
1 shows a configuration diagram of a calibration program for a specific robot system in the related art.
2 is a block diagram illustrating a calibration system for heterogeneous robots according to an exemplary embodiment of the present invention.
3 is a flowchart illustrating a calibration method of heterogeneous robots according to an exemplary embodiment of the present invention.
4 is a flowchart illustrating a method of generating a plurality of motion information according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. Also, the terms " part, "" module," and " module ", etc. in the specification mean a unit for processing at least one function or operation and may be implemented by hardware or software or a combination of hardware and software have.

이제 본 발명의 실시 예에 따른 이기종 로봇의 캘리브레이션 방법 및 그 시스템에 대하여 도면을 참조로 하여 상세하게 설명한다.Now, a method and a system for calibrating a heterogeneous robot according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 실시 예에 따른 이기종 로봇에 대한 캘리브레이션 시스템을 나타낸 블록도이다.2 is a block diagram illustrating a calibration system for heterogeneous robots according to an exemplary embodiment of the present invention.

첨부된 도 2를 참조하면, 본 발명의 실시 예에 따른 로봇 제어 시스템은 제어기와의 통신을 통해 이기종 로봇에 대한 캘리브레이션 및 제어를 수행하는 로봇 제어 서버(100), 로봇 제어 서버(100)와 유/무선 네트워크를 통해 연결되는 복수의 제어기(210, 220, 230) 및 상기 복수의 제어기(210, 220, 230)에 각각 연결되는 복수의 이기종 로봇(211, 221, 231)을 포함한다.Referring to FIG. 2, the robot control system according to an exemplary embodiment of the present invention provides a robot control server 100 and a robot control server 100 that perform calibration and control on heterogeneous robots through communication with a controller. And a plurality of controllers 210, 220, 230 connected via a wireless network and a plurality of heterogeneous robots 211, 221, 231 connected to the plurality of controllers 210, 220, 230, respectively.

특히, 본 발명의 실시 예에 따른 로봇 제어 서버(100)는 표준 프로토콜을 이용하는 하나의 프로그램으로 동일한 종류의 제어기 A(210, 220)에 각각 연결되는 다른 종류의 로봇 A(211) 및 로봇 B(221), 그리고 다른 종류의 제어기 A(210) 및 제어기 B(230)에 각각 연결되는 동일한 종류의 로봇 A(211, 231)에 대한 캘리브레이션을 수행하는 것을 특징으로 한다.In particular, the robot control server 100 according to an embodiment of the present invention is a different type of robot A 211 and robot B (connected to the same type of controller A (210, 220), respectively, as a program using a standard protocol ( 221 and the same type of robot A 211 and 231 connected to the controller A 210 and the controller B 230, respectively.

로봇 제어 서버(100)는 통신부(110), 캘리브레이션부(120), 위치 측정부(130), 측정 정보 가공부(140), 제어부(150) 및 데이터베이스부(160)를 포함한다.The robot control server 100 includes a communication unit 110, a calibration unit 120, a position measuring unit 130, a measurement information processing unit 140, a control unit 150, and a database unit 160.

통신부(110)는 이더넷 네트워크나 무선랜을 통해 제어기(210, 220, 230)와 유/무선 통신을 수행한다. 통신부(110)는 서로 다른 이종의 제어기(210, 220, 230)와 미리 설정된 표준프로토콜 형식으로 데이터를 송수신할 수 있다.The communication unit 110 performs wired / wireless communication with the controllers 210, 220, and 230 through an Ethernet network or a wireless LAN. The communication unit 110 may transmit / receive data with different heterogeneous controllers 210, 220, and 230 in a preset standard protocol format.

캘리브레이션부(120)는 로봇 시스템(200)의 캘리브레이션을 설정하기 위한 프로그램으로 메시지 처리모듈(121) 및 모션정보 생성모듈(122)을 포함한다.The calibration unit 120 is a program for setting the calibration of the robot system 200 and includes a message processing module 121 and a motion information generation module 122.

본 발명의 실시예에 따른 메시지 처리모듈(121)은 이기종 제어기(210, 220, 230)와 통신을 위한 표준 프로토콜 형식의 메시지를 생성한다. 또한, 메시지 처리모듈(121)은 표준 프로토콜을 통해 이기종의 제어기(210, 220, 230)로부터 수신되는 데이터를 분석한다.The message processing module 121 according to the embodiment of the present invention generates a message in a standard protocol format for communication with the heterogeneous controllers 210, 220, and 230. In addition, the message processing module 121 analyzes data received from heterogeneous controllers 210, 220, and 230 through standard protocols.

이 때, 이기종 제어기(210, 220, 230)와 송수신되는 표준 프로토콜은 해당 로봇의 특성 정보, 조인트 스페이스로의 이동 지시(명령) 정보, 이동 완료 정보 및 로봇의 축 보정 오프셋 값 정보 등을 포함한다. 그리고, 상기 로봇의 특성 정보는 로봇의 식별정보(종류), 로봇의 DH 변수 값(DH 암호키), 로봇의 현재 축 오프셋 값, 로봇의 각 축 이동 한계 값, 로봇의 이동 가능 영역, 로봇의 주요 작업 영역 중 적어도 하나의 정보를 포함한다.At this time, the standard protocol transmitted and received with the heterogeneous controller 210, 220, 230 includes the characteristic information of the robot, the movement instruction (command) information to the joint space, the movement completion information and the axis correction offset value information of the robot, etc. . The characteristic information of the robot may include identification information (type) of the robot, a DH variable value (DH encryption key) of the robot, a current axis offset value of the robot, a limit value of each axis movement of the robot, a movable region of the robot, Contains at least one information of the main work area.

모션정보 생성모듈(122)은 로봇의 캘리브레이션을 보정하기 위해 해당 로봇의 기구학 라이브러리를 이용하여 로봇의 모션정보를 생성한다. The motion information generation module 122 generates the motion information of the robot using the kinematic library of the robot to correct the calibration of the robot.

이기종 로봇은 그 종류에 따라서 축 길이 및 축 특성이 서로 다르고 또한 적용되는 기구학도 각각 상이하므로, 모션정보 생성모듈(122)은 이기종 로봇에 대한 캘리브레이션을 수행하기 위해 그때 마다 해당 로봇의 기구학 라이브러리를 채택하여 이동 위치를 생성하는데 사용 한다. 상기 로봇의 기구학 라이브러리는 해당 로봇에 대한 기구학 계산법이 들어있는 파일을 의미한다.Since heterogeneous robots have different axial lengths and axial characteristics and different kinematics, the motion information generation module 122 adopts the kinematics library of the corresponding robot to perform calibration for heterogeneous robots. It is used to create a moving position. The robot's kinematics library refers to a file containing kinematic calculations for the robot.

즉, 모션정보 생성모듈(122)은 이기종 제어기(210, 220, 230)로부터 수신되는 로봇의 특성 정보를 이용하여 대응되는 로봇의 기구학 라이브러리를 데이터베이스부(160)에서 불러온다. 그리고, 모션정보 생성모듈(122)은 로봇의 기구학 라이브러리 및 상기 특성 정보에 포함된 상기 로봇의 각 축 이동 한계 값, 로봇의 이동 가능 영역, 로봇의 주요 작업 영역 중 적어도 하나의 이동 범위에 기초하여 로봇의 측정 데이터 수집을 위한 복수의 모션정보를 계산한다. That is, the motion information generation module 122 calls the kinematics library of the corresponding robot from the database unit 160 using the characteristic information of the robot received from the heterogeneous controllers 210, 220, and 230. In addition, the motion information generation module 122 may be configured based on at least one movement range of each axis movement limit value of the robot included in the robot kinematic library and the characteristic information, the robot movable area, and the main working area of the robot. Calculate a plurality of motion information for collecting the measurement data of the robot.

상기 모션정보는 로봇의 기구학 라이브러리를 토대로 계산되는 이상적인 이론 값으로 해당 로봇을 순차적으로 이동시키기 위한 복수의 이동 목표지점(Point)과 각 목표지점에서 취할 수 있는 적어도 하나의 자세정보를 포함한다.The motion information is an ideal theoretical value calculated based on the kinematic library of the robot and includes a plurality of moving target points for moving the robot sequentially and at least one posture information that can be taken at each target point.

추후, 상기 복수의 모션정보는 캘리브레이션을 위해 위치 측정부(130)에서 측정되는 로봇의 실제 측정 데이터에 대한 이동 위치 및 자세 오차를 계산하기 위한 기준 값으로 사용된다. Later, the plurality of motion information is used as a reference value for calculating the movement position and attitude error with respect to the actual measurement data of the robot measured by the position measuring unit 130 for calibration.

상기 측정 데이터는 상기 복수의 목표지점에 대응되는 로봇의 실제 이동위치 및 자세변환에 따라 위치 측정부(130)에서 측정되는 3차원 위치 측정 정보 및 자세 측정 정보를 의미한다.The measurement data refers to three-dimensional position measurement information and attitude measurement information measured by the position measuring unit 130 according to the actual movement position and posture transformation of the robot corresponding to the plurality of target points.

한편, 위치 측정부(130)는 IGPS(Indoor Global Positioning System) 또는 그에 준하는 3차원 계측장비일 수 있으며, 로봇의 위치 및 자세를 측정하는 연동장비로 로봇 제어 서버(100)에 포함되는 것으로 설명한다. On the other hand, the position measuring unit 130 may be an IGPS (Indoor Global Positioning System) or equivalent three-dimensional measuring equipment, it will be described as included in the robot control server 100 as an interlocking equipment for measuring the position and attitude of the robot. .

위치 측정부(130)는 로봇의 로봇 좌표계와 대응하여 로봇의 기준점과 로봇 말단부(End-Effector)에 고정 설치되는 복수의 센서에 대한 측정좌표를 측정하여 측정 정보 가공부(140)로 전달한다. 예컨대, 상기 측정좌표는 로봇의 이동축(기준점)에 설치되는 기준센서에서 측정되는 기준좌표와 상기 기준좌표를 중심으로 로봇이 팔과 같은 로봇 말단부에 설치되는 센서에서 측정되는 상대좌표를 포함한다.The position measuring unit 130 measures the measurement coordinates of a plurality of sensors fixedly installed at the reference point of the robot and the robot end part (End-Effector) corresponding to the robot coordinate system of the robot and transmits it to the measurement information processing unit 140. For example, the measurement coordinates include a reference coordinate measured by a reference sensor installed on a moving axis (reference point) of the robot and a relative coordinate measured by a sensor installed at the distal end of the robot, such as an arm, based on the reference coordinate.

측정 정보 가공부(140)는 위치 측정부(130)에서 측정되는 복수의 측정좌표를 상기 기준좌표를 기초로 상기 로봇 좌표계에 매칭하여 로봇의 실제 위치 측정 정보 및 자세 측정 정보를 생성한다. 즉, 측정 정보 가공부(140)는 복수의 센서에 의해 측정되는 측정좌표를 해당 로봇에 연관되도록 가공 처리하여 기준좌표에 따른 로봇의 실제 위치 측정 정보와 상대좌표에 따른 자세 측정 정보를 생성 및 출력할 수 있다.The measurement information processing unit 140 generates the actual position measurement information and the attitude measurement information of the robot by matching the plurality of measurement coordinates measured by the position measurement unit 130 with the robot coordinate system based on the reference coordinates. That is, the measurement information processing unit 140 processes and processes the measurement coordinates measured by the plurality of sensors to be associated with the robot, thereby generating and outputting the actual position measurement information of the robot according to the reference coordinate and the attitude measurement information according to the relative coordinate. can do.

여기서, 상기 위치 측정 정보는 로봇의 현재 위치 정보, 이동 거리 및 이동 속도 정보를 포함하며, 상기 자세 측정 정보는 예컨대 다관절 로봇 팔의 경우 자세제어에 따른 로봇 말단부(End-Effector)의 위치일 수 있다. 이하, 설명에 있어서 로봇은 다관절 로봇인 것을 가정한다. Here, the position measurement information includes the current position information, the movement distance and the movement speed information of the robot, the posture measurement information may be the position of the robot end-end (End-Effector) according to the posture control, for example, the articulated robot arm have. In the following description, it is assumed that the robot is a articulated robot.

데이터베이스부(160)는 로봇 제어 서버(100)의 구동을 위한 각종 프로그램 및 데이터를 저장하며, 그 구동에 따라 생성되는 모든 데이터를 저장한다.The database unit 160 stores various programs and data for driving the robot control server 100, and stores all data generated according to the driving.

데이터베이스부(160)는 이기종 로봇의 캘리브레이션을 위한 로봇 A의 기구학 라이브러리, 로봇 B의 기구학 라이브러리 및 로봇 C의 기구학 라이브러리 등을 저장한다. 각 로봇에 대한 기구학 라이브러리는 해당 로봇의 제조사로부터 취득할 수 있다.The database unit 160 stores the kinematics library of robot A, the kinematics library of robot B, the kinematics library of robot C, and the like for calibration of heterogeneous robots. The kinematics library for each robot can be obtained from the manufacturer of the robot.

제어부(150)는 이기종 로봇에 대한 캘리브레이션 수행을 위하여 상기 각부의 동작을 제어한다. 제어부(150)는 모션정보 생성모듈(122)에서 생성되는 모션 정보에 따라 로봇의 모션을 제어하도록 하는 모션 제어 명령을 메시지 처리모듈(121)을 통해 표준 프로토콜 형식으로 생성하고 제어기로 전송하여 그 움직임을 제어한다.The controller 150 controls the operation of each unit to perform calibration for heterogeneous robots. The controller 150 generates a motion control command for controlling the motion of the robot according to the motion information generated by the motion information generation module 122 in a standard protocol format through the message processing module 121 and transmits the motion to the controller. To control.

특히, 제어부(150)은 이기종 로봇(211,221,231)의 위치 및 자세 오차에 따른 보정 데이터를 생성할 수 있다. In particular, the controller 150 may generate correction data according to position and attitude errors of the heterogeneous robots 211, 221, and 231.

제어부(150)는 모션정보 생성모듈(122) 로부터 기구학 라이브러리를 이용한 모션정보를 수집하고, 측정 정보 가공부(140)에서 가공 처리되는 복수의 이동 위치에 따른 로봇의 실제 위치 측정 정보 및 자세 측정 정보를 수집한다. The controller 150 collects the motion information using the kinematic library from the motion information generation module 122, and the actual position measurement information and the posture measurement information of the robot according to the plurality of movement positions processed by the measurement information processing unit 140. Collect it.

이 후, 제어부(150)는 복수의 이동 위치 및 자세 별 모든 측정 데이터를 수집하면, 로봇의 실제 위치 측정 정보 및 자세 측정 정보와 이에 대응되는 상기 기구학 라이브러리를 이용한 계산 값인 모션정보의 차이를 이용하여 로봇의 이동 위치 및 자세 오차를 계산한다. 그리고, 최종적으로 로봇의 축이 틀어진 정도에 따른 오프셋 값을 산출한다. 상기 오프셋 값은 기구학 라이브러리를 이용한 계산 값인 모션정보를 기준으로 하는 실제 측정 데이터에 대한 보정 값이다.Thereafter, when the controller 150 collects all the measurement data for each of the plurality of movement positions and postures, the controller 150 uses the difference between the actual position measurement information and the posture measurement information of the robot and the motion information which is a calculated value using the corresponding kinematic library. Calculate the movement position and attitude error of the robot. Finally, the offset value is calculated according to the degree of twist of the robot axis. The offset value is a correction value for actual measurement data based on motion information, which is a calculated value using a kinematic library.

한편, 도 3을 통하여 본 발명의 실시 예에 따른 캘리브레이션 시스템이 이기종 로봇에 대한 캘리브레이션 방법을 설명한다.Meanwhile, a calibration method for heterogeneous robots in the calibration system according to an embodiment of the present invention will be described with reference to FIG. 3.

도 3은 본 발명의 실시 예에 따른 이기종 로봇의 캘리브레이션 방법을 나타낸 흐름도이다.3 is a flowchart illustrating a calibration method of heterogeneous robots according to an exemplary embodiment of the present invention.

첨부된 도 3을 참조하면, 본 발명의 실시 예에 따른 로봇 제어 서버(100)는 로봇 시스템(200)의 특정 제어기(210 or 220 or 230)로부터 접속 요청을 수신하면(S101), 지정된 인증 절차를 거친 후 접속을 허가한다(S102). 이하, 설명의 편의상 제어기 A(210)가 접속된 것으로 가정하여 설명하되 이에 한정되지 않는다. 그리고, 로봇 제어 서버(100)는 위치 측정부(130)의 접속 요청에 대한 접속 허가를 한다(S103, S104). Referring to FIG. 3, when the robot control server 100 according to an embodiment of the present invention receives a connection request from a specific controller 210 or 220 or 230 of the robot system 200 (S101), the designated authentication procedure is performed. After the access is allowed (S102). Hereinafter, for convenience of description, it is assumed that the controller A 210 is connected, but is not limited thereto. Then, the robot control server 100 grants access to the connection request of the position measuring unit 130 (S103, S104).

로봇 제어 서버(100)는 제어기 A(210)에서 보고되는 로봇 A(211)의 특성 정보를 수신하면(S105), 해당 로봇 A 기구학 라이브러리를 채택한다(S106). 그리고, 로봇 A(211)의 기구학 및 로봇의 이동 범위에 기초하여 로봇 A(211)의 측정 데이터 수집을 위한 복수의 모션정보를 생성한다(S107). 상기 모션정보는 로봇 A 기구학 라이브러리를 토대로 로봇 A를 순차적으로 이동시키기 위한 복수의 이동 목표지점(Point)과 각 목표지점에서 취할 수 있는 적어도 하나의 자세정보를 포함한다.When the robot control server 100 receives the characteristic information of the robot A 211 reported from the controller A 210 (S105), the robot control server 100 adopts the robot A kinematic library (S106). Then, a plurality of motion information for generating measurement data of the robot A 211 is generated based on the kinematics of the robot A 211 and the movement range of the robot (S107). The motion information includes a plurality of moving target points for sequentially moving the robot A based on the robot A kinematic library and at least one posture information that may be taken at each target point.

로봇 제어 서버(100)는 제어기 A(210)로 상기 생성된 복수의 모션정보에 따른 제1 목표지점으로의 이동과 자세를 요청하면(S108), 제어기 A(210)가 로봇 A(211)의 모션을 제어하여 제1 목표지점으로 이동시키고, 요청된 자세를 취하도록 하며(S109), 제1 목표지점으로의 이동과 자세 완료를 보고한다(S110).When the robot control server 100 requests the controller A 210 to move and posture to the first target point according to the generated motion information (S108), the controller A 210 of the robot A 211 The motion is controlled to move to the first target point, the requested posture is taken (S109), and the movement to the first target point and posture completion are reported (S110).

한편, 로봇 제어 서버(100)는 위치 측정부(130)로 제1 목표지점으로 이동된 상기 로봇 A(211)의 위치 및 자세 측정을 요청한다(S111). 이에, 위치 측정부(130)는 로봇 A(211)의 위치와 자세에 따른 측정좌표를 측정하여(S112), 계측되는 측정좌표를 로봇 제어 서버(100)로 보고한다(S113). 여기서, 상기 로봇 제어 서버(100)는 상기 제1 목표지점에서 적어도 하나의 자세를 취할 수 있으며, 위치 측정부(130)는 그에 대응하는 자세별 측정좌표를 로봇 제어 서버(100)로 보고할 수 있다.On the other hand, the robot control server 100 requests the position measuring unit 130 to measure the position and attitude of the robot A 211 moved to the first target point (S111). Thus, the position measuring unit 130 measures the measurement coordinates according to the position and attitude of the robot A 211 (S112), and reports the measured measurement coordinates to the robot control server 100 (S113). Here, the robot control server 100 may take at least one posture at the first target point, and the position measuring unit 130 may report the measurement coordinate for each posture corresponding thereto to the robot control server 100. have.

로봇 제어 서버(100)는 다음 이동 목표 지점이 존재하는지 파악하고(S114; 예), 상기 생성된 복수의 모션정보에 대한 모든 측정이 완료될 때까지 다음 목표지점으로의 이동 및 자세를 요청하는 S108 단계 내지 그 측정좌표를 보고하는 S113 단계를 반복 수행한다.The robot control server 100 checks whether a next moving target point exists (S114; Yes), and requests for movement and posture to the next target point until all measurements on the generated plurality of motion information are completed. The step S113 of reporting the measurement coordinates is repeated.

여기서, 로봇 제어 서버(100)가 복수의 모션정보에 대한 로봇의 실제 위치와 자세 측정을 반복적으로 측정하는 이유는 로봇이 다수의 축(관절)로 이루어진 것을 고려하여 복수의 위치에서의 다양한 자세측정에 따른 데이터를 기초로 수치해석적으로 접근하여 축이 틀어진 정도를 정확히 계산하기 위한 것이다.Here, the reason why the robot control server 100 repeatedly measures the actual position and attitude of the robot for a plurality of motion information is that the robot is composed of a plurality of axes (joints) to measure various postures at a plurality of positions. It is to calculate the accuracy of the axis twist by approaching numerically based on the data according to.

반면, 로봇 제어 서버(100)는 다음 이동 위치가 존재하는 않으면(S114; 아니오), 모든 이동 위치에 대한 측정좌표를 수집한 것으로 판단하고, 상기 측정좌표들을 해당 로봇 좌표계에 매칭 가공하여 각 이동 목표지점 및 자세에 대한 로봇의 실제 위치 측정 정보 및 자세 측정 정보를 생성한다(S115).On the other hand, if the next movement position does not exist (S114; No), the robot control server 100 determines that the measurement coordinates for all the movement positions have been collected, and matches the measurement coordinates to the corresponding robot coordinate system for each movement target. The robot generates the actual position measurement information and the attitude measurement information for the point and the attitude (S115).

그리고, 로봇 제어 서버(100)는 상기 로봇의 실제 위치 측정 정보 및 자세 측정 정보와 상기 기구학 라이브러리를 이용한 계산 값의 차이를 이용하여 로봇 A(211)의 위치 및 자세 오차에 따른 축 오프셋 값을 산출한다(S116). 그리고, 로봇 제어 서버(100)는 축 오프셋 정보를 제어기 A(210)로 전송한다(S117).The robot control server 100 calculates an axis offset value according to the position and attitude error of the robot A 211 using the difference between the actual position measurement information and the attitude measurement information of the robot and the calculated value using the kinematic library. (S116). The robot control server 100 transmits the axis offset information to the controller A 210 (S117).

제어기 A(210)는 수신되는 축 오프셋 정보를 적용하여 각 축에 대한 위치 및자세 오차를 보정하고(S118), 축 오프셋 적용이 완료되었음을 로봇 제어 서버(100)로 보고함으로써 로봇 A(211)에 대한 캘리브레이션이 완료된다(S119).The controller A 210 corrects the position and posture errors for each axis by applying the received axis offset information (S118), and reports to the robot control server 100 that the axis offset application is completed, to the robot A 211. The calibration is completed (S119).

한편, 도 4를 통하여 로봇 제어 서버(100)가 상기 도 3의 S105 단계와 S108 단계 사이에서 복수의 이동 위치를 생성하는 방법을 좀더 구체적으로 설명한다.Meanwhile, the robot control server 100 will be described in more detail with reference to FIG. 4 to generate a plurality of moving positions between steps S105 and S108 of FIG. 3.

도 4는 본 발명의 실시 예에 따른 복수의 모션정보를 생성하는 방법을 나타낸 흐름도이다.4 is a flowchart illustrating a method of generating a plurality of motion information according to an embodiment of the present invention.

첨부된 도 4를 참조하면, 본 발명의 실시 예에 따른 로봇 제어 서버(100)는 제어기로부터 로봇의 특성 정보를 수신하면, 상기 로봇의 특성 정보를 분석한다(S201). 이 때, 로봇 제어 서버(100)는 상기 특성 정보에서 로봇의 식별정보(종류), 로봇의 DH 변수 값(DH 공개키), 로봇의 현재 축 오프셋 값, 로봇의 각 축 이동 한계 값, 로봇의 이동 가능 영역, 로봇의 주요 작업 영역 중 적어도 하나의 정보를 획득할 수 있다.Referring to FIG. 4, when the robot control server 100 according to an exemplary embodiment of the present invention receives the characteristic information of the robot from the controller, the robot control server 100 analyzes the characteristic information of the robot (S201). At this time, the robot control server 100 is the identification information (type) of the robot, the DH variable value (DH public key) of the robot, the current axis offset value of the robot, each axis movement limit value of the robot, the robot At least one of the movable area and the main work area of the robot may be acquired.

로봇 제어 서버(100)는 로봇의 식별정보에 기초하여 대응되는 로봇 기구학 라이브러리를 채택한다(S202). 예컨대, 로봇 제어 서버(100)는 상기 로봇의 식별정보가 로봇 A인 경우 데이터베이스부(160)에 저장된 로봇 A의 기구학 라이브러리를 채택하거나, 또는 로봇 B인 경우 로봇 B의 기구학 라이브러리를 채택함으로써 종류가 다른 로봇에 대한 위치 이동 값을 계산할 수 있다.The robot control server 100 adopts a corresponding robot kinematics library based on the identification information of the robot (S202). For example, the robot control server 100 adopts the kinematics library of the robot A stored in the database unit 160 when the identification information of the robot is the robot A, or adopts the kinematics library of the robot B when the robot B is the robot A. You can calculate the position shift value for other robots.

다음, 로봇 제어 서버(100)는 실제 측정 데이터의 수집을 위한 복수의 모션정보를 생성하되 다음의 세 가지 방법 중 하나의 방법으로 생성할 수 있다.Next, the robot control server 100 generates a plurality of motion information for collecting the actual measurement data, it may be generated by one of the following three methods.

첫째, 로봇 제어 서버(100)는 제어부에서 수신된 로봇의 특성 정보에 주요 작업 영역이 존재하면(S203; 예), 상기 주요 작업 영역의 내부를 격자 형태로 나누어 복수(예; 약 십여 개)의 이동 목표지점(Point)를 생성한다. 그리고, 각각의 이동 목표지점에 대하여 복수(예; 약2~3가지)의 측정 가능한 자세를 생성한다(S205).First, when the main work area exists in the characteristic information of the robot received from the control unit (S203; YES), the robot control server 100 divides the inside of the main work area into a lattice form to form a plurality of (eg, about ten) pieces. Create a moving point. In operation S205, a plurality of measurable postures are generated for each moving target point (eg, about 2 to 3 kinds).

둘째, 로봇 제어 서버(100)는 제어부에서 수신된 로봇의 특성 정보에 이동 가능 영역이 존재하면(S204; 예), 위와 마찬가지로 상기 이동 가능 영역에 대한 복수의 이동 목표지점과 복수의 측정 가능한 자세를 생성한다(S205). 상기 이동가능영역은 상기 주요 작업 영역이 설정되지는 않았으나 복수의 축 방향으로 이동가능 한 일정 범위가 설정된 제한된 영역을 의미한다.Second, when there is a movable area in the characteristic information of the robot received from the controller (S204; Yes), the robot control server 100 performs a plurality of moving target points and a plurality of measurable postures on the movable area as described above. It generates (S205). The movable area means a limited area in which the main work area is not set but a predetermined range in which the main work area is movable is set.

셋째, 로봇 제어 서버(100)는 제어부에서 수신된 로봇의 특성 정보에 상기 주요 작업 영역 및 이동 가능 영역이 존재하지 않으면(S204; 아니오), 로봇의 각 축 이동 한계(Limit) 값을 이용하여 복수의 목표지점과 측정 가능한 자세를 생성한다. 상기 이동 한계 값은 상기 주요 작업 영역이나 이동가능영역이 설정되지 않은 경우로 동일한 로봇 조건으로볼 때 가장 넓은 이동 범위를 갖는다.Third, if the main work area and the movable area do not exist in the characteristic information of the robot received from the controller (S204; No), the robot control server 100 uses a plurality of axes of the robot's axis limit values. Create a target position and measurable posture. The movement limit value is the case where the main working area or the movable area is not set and has the widest moving range when viewed under the same robot condition.

이 경우에는 로봇의 각 축의 양, 음의 한계 값을 이용하여 로봇의 이동 허용 위치를 계산하고 계산된 점들 내에서 복수의 이동 위치를 생성한다(S206). 그리고, 로봇 제어 서버(100)는 생성된 이동 위치에 대해서 역기구학을 이용하여 로봇이 이동 가능한 위치인지 다시 한 번 검증한다(S207).In this case, the robot is allowed to move the position using the positive and negative limit values of each axis of the robot, and generates a plurality of movement positions within the calculated points (S206). Then, the robot control server 100 verifies once again whether or not the robot is a movable position using the inverse kinematics for the generated movement position (S207).

이처럼, 로봇 제어 서버(100)는 복수의 모션정보를 생성하는 세가지 방법 중 로봇의 주요 작업 영역을 이용하는 첫째 방법을 최우선 순위로 하고, 주요 작업 영역 정보가 없는 경우 순차적 조건에 따라 진행한다.As such, the robot control server 100 sets the first method of using the main work area of the robot as the highest priority among three methods of generating a plurality of motion information, and proceeds according to sequential conditions when the main work area information is not provided.

다음, 로봇 제어 서버(100)는 복수의 이동 위치의 생성이 완료/결정된 S205/ S207 단계 이후에 상기 도 3에서와 같이 로봇을 이동 목표지점에 이동시키고 그 측정정보를 수집하는 동작을 반복한다.Next, the robot control server 100 repeats the operation of moving the robot to the moving target point and collecting the measurement information as shown in FIG. 3 after the step S205 / S207 in which the generation of the plurality of moving positions is completed / determined.

이와 같이 본 발명의 실시 예에 따르면, 로봇 제어 서버(100)는 표준 프로토콜을 이용하여 캘리브레이션을 위한 데이터를 송수신함으로써 제어기 및 로봇의 종류와 관계 없이 하나의 캘리브레이션 프로그램으로 로봇의 축을 보정할 수 있는 효과가 있다.As described above, according to an exemplary embodiment of the present invention, the robot control server 100 transmits and receives data for calibration using a standard protocol, so that the robot's axis can be corrected with one calibration program regardless of the type of controller and robot. There is.

그리고, 로봇의 기구학 및 작업/이동 한계 정보를 이용하여 로봇의 이동 위치를 생성함으로써 로봇의 이동에 따른 실측 데이터 측정을 안정적으로 수행할 수 있는 효과가 있다.In addition, by generating a moving position of the robot using the kinematics and the task / movement limit information of the robot, it is possible to stably perform measurement data measurement according to the movement of the robot.

또한, 로봇의 종류에 대응되는 로봇 기구학 라이브러리를 선택적으로 채택하고 이를 이용한 위치 계산 값을 산출함으로써 이기종 로봇의 실제 위치 오차에 따른 오프셋 값을 제공할 수 있는 효과가 있다.In addition, by selectively adopting a robot kinematics library corresponding to the type of robot and calculating the position calculation value using the same, there is an effect of providing an offset value according to the actual position error of heterogeneous robots.

지금까지 본 발명의 이해와 설명의 편의를 도모하기 위하여, 본 발명의 실시예에 따른 모션 정보를 이동 목표 지점과 하나의 자세정보를 포함하는 것으로 설명하였다. 그러나, 자세 정보도 또한 로봇을 이루는 각 축의 위치정보 일 수 있으며, 로봇의 끝단인 엔드 이펙트(end effector)도 해당 위치로 이해할 수 있다. In order to facilitate the understanding and explanation of the present invention, the motion information according to the embodiment of the present invention has been described as including a moving target point and one attitude information. However, the attitude information may also be position information of each axis constituting the robot, and the end effector, which is the end of the robot, may be understood as the corresponding position.

따라서, 로봇의 위치정보는 해당 위치를 의미하는 협의의 위치정보 뿐만 아니라, 로봇의 각 축의 위치 및/또는 엔드 이펙트의 위치로 표현할 수 있는 자세정보도 포함하는 광의의 위치정보로 이해할 수 있다 할 것이다. Therefore, the position information of the robot may be understood as the position information of a wide range including not only the position information of a narrow sense of the corresponding position but also the attitude information that can be expressed by the position of each axis of the robot and / or the position of the end effect. .

본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.The embodiments of the present invention are not limited to the above-described apparatuses and / or methods, but may be implemented through a program for realizing functions corresponding to the configuration of the embodiment of the present invention, a recording medium on which the program is recorded And such an embodiment can be easily implemented by those skilled in the art from the description of the embodiments described above.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

100: 로봇 제어 서버
110: 통신부
120: 캘리브레이션부
121: 메시지 처리모듈
122: 모션정보 생성 모듈
130: 위치 측정부
140: 측정 정보 가공부
150: 제어부
160: 데이터베이스부
200: 로봇 시스템
210: 제어기 A
220: 제어기 A
230: 제어기 B
211: 로봇 A
221: 로봇 B
231: 로봇 A
100: robot control server
110: communication unit
120: calibration unit
121: message processing module
122: motion information generation module
130: position measuring unit
140: measurement information processing unit
150:
160: database unit
200: robotic system
210: controller A
220: controller A
230: controller B
211: robot A
221: robot B
231: robot A

Claims (13)

제어기와 연결된 로봇의 종류에 따른 기구학 라이브러리를 채택하여 로봇의 이동 목표지점에 대한 복수의 모션정보를 계산하는 캘리브레이션부;
상기 제어기로 모션 제어 명령을 전송하여 상기 로봇을 설정된 이동 목표 지점으로 이동시키는 제어부; 및
상기 로봇의 측정좌표를 가공하여 상기 로봇의 실제 위치 측정 정보를 생성하는 측정 정보 가공부를 포함하되,
상기 제어부는 상기 계산된 복수의 이동 목표지점과 상기 실제 위치 측정 정보의 차이를 이용하여 오차보정을 위한 축 오프셋 값을 산출하여 상기 로봇의 위치 오차를 보정하는 것을 특징으로 하는 이기종 로봇의 캘리브레이션 시스템.
A calibration unit which adopts a kinematics library according to the type of robot connected to the controller and calculates a plurality of motion information about a moving target point of the robot;
A controller which transmits a motion control command to the controller to move the robot to a set movement target point; And
It includes a measurement information processing unit for processing the measurement coordinates of the robot to generate the actual position measurement information of the robot,
And the controller calculates an axis offset value for error correction by using the calculated difference between the plurality of moving target points and the actual position measurement information, and corrects the position error of the robot.
제 1 항에 있어서,
상기 캘리브레이션부는,
이종의 상기 제어기와 통신을 위해 지정된 표준 프로토콜 형식의 메시지를 생성하고, 상기 제어기로부터 수신되는 표준 프로토콜 형식의 메시지를 분석하는 메시지 처리모듈; 및
상기 기구학 라이브러리와 상기 제어기로부터 수신되는 상기 로봇의 특성정보에 기초하여 상기 로봇에 대한 복수의 이동 목표 지점을 생성하는 모션정보 생성모듈
을 포함하는 것을 특징으로 하는 이기종 로봇의 캘리브레이션 시스템.
The method of claim 1,
The calibration unit,
A message processing module for generating a message in a standard protocol format designated for communication with the heterogeneous controller and analyzing a message in a standard protocol format received from the controller; And
Motion information generation module for generating a plurality of moving target points for the robot based on the characteristic information of the robot received from the kinematic library and the controller
Calibration system of a heterogeneous robot comprising a.
제 1 항 또는 제 2 항에 있어서,
상기 제어기와 유선 혹은 무선 중 어느 하나의 방식으로 표준 프로토콜 형식의 데이터를 송수신하는 통신부; 및
이기종 로봇에 각각 대응되는 상기 로봇의 종류별 기구학 라이브러리를 저장하는 데이터베이스부
를 더 포함하는 이기종 로봇의 캘리브레이션 시스템.
The method according to claim 1 or 2,
A communication unit which transmits and receives data in a standard protocol format to the controller in either a wired or wireless manner; And
Database unit for storing the kinematics library for each type of the robot corresponding to the heterogeneous robot
Calibration system of heterogeneous robot further comprising.
제 2 항에 있어서,
상기 모션정보 생성모듈은, 상기 복수의 이동 목표지점 별로 복수의 측정 가능한 자세정보를 더 생성하고,
상기 측정 정보 가공부는 상기 로봇의 측정좌표를 가공하여 상기 로봇의 실제 자세 측정정보를 더 생성하고,
상기 제어부는 상기 목표 자세정보와 상기 실제 자세 측정정보를 더 이용하는 것을 특징으로 하는 이기종 로봇의 캘리브레이션 시스템.
The method of claim 2,
The motion information generation module may further generate a plurality of measurable attitude information for each of the plurality of movement target points.
The measurement information processing unit further generates the actual attitude measurement information of the robot by processing the measurement coordinates of the robot,
The control unit is a calibration system of a heterogeneous robot, characterized in that further using the target attitude information and the actual attitude measurement information.
제 2 항에 있어서,
상기 표준 프로토콜은,
상기 로봇의 특성 정보, 이동 지시 정보, 이동 완료 정보 및 축 오프셋 값 중 적어도 하나를 포함하는 것을 특징으로 하는 이기종 로봇의 캘리브레이션 시스템.
The method of claim 2,
The standard protocol is
And at least one of the characteristic information of the robot, the movement instruction information, the movement completion information, and the axis offset value.
제 5 항에 있어서,
상기 로봇의 특성 정보는,
상기 로봇의 식별정보(종류), 암호화 통신 변수 값, 상기 로봇의 현재 축 오프셋 값, 상기 로봇의 주요 작업 영역, 상기 로봇의 이동 가능 영역, 상기 로봇의 각 축 이동 한계 값 중 적어도 하나를 포함하는 것을 특징으로 하는 이기종 로봇의 캘리브레이션 시스템.
The method of claim 5, wherein
Characteristic information of the robot,
And at least one of identification information (type) of the robot, an encryption communication variable value, a current axis offset value of the robot, a main working area of the robot, a movable area of the robot, and a limit value of each axis movement of the robot. Calibration system of heterogeneous robot, characterized in that.
제 6 항에 있어서,
상기 모션정보 생성모듈은,
상기 로봇의 상기 로봇의 주요 작업 영역, 상기 로봇의 이동 가능 영역, 상기 로봇의 각 축 이동 한계 값 중 어느 하나를 이용하여 상기 복수의 이동 목표지점을 생성하는 것을 특징으로 하는 이기종 로봇의 캘리브레이션 시스템.
The method according to claim 6,
The motion information generation module,
And a plurality of moving target points are generated using any one of a main working area of the robot, a movable area of the robot, and a limit value of each axis movement of the robot of the robot.
로봇 제어 서버가 이기종 로봇의 캘리브레이션을 수행하는 방법에 있어서,
a) 로봇과 연결된 제어기로부터 상기 로봇의 특성 정보를 수신하고, 상기 로봇의 종류에 따른 기구학 라이브러리를 채택하는 단계;
b) 상기 로봇의 특성 정보와 상기 로봇의 기구학 라이브러리에 기초하여 상기 로봇에 대한 복수의 이동 목표지점을 생성하는 단계;
c) 상기 복수의 이동 목표지점으로 이동되는 상기 로봇의 측정좌표를 가공하여 상기 로봇의 실제 위치 측정 데이터를 생성하는 단계; 및
d) 상기 로봇의 기구학 라이브러리를 이용하여 생성된 상기 이동 목표지점의 계산 값과 상기 실제 위치 측정 정보의 차이를 이용하여 위치 오차보정을 위한 축 오프셋 값을 산출하는 단계
를 포함하는 이기종 로봇의 캘리브레이션 방법.
In the method in which the robot control server performs calibration of heterogeneous robots,
a) receiving characteristic information of the robot from a controller connected to the robot, and adopting a kinematic library according to the type of the robot;
b) generating a plurality of movement target points for the robot based on the characteristic information of the robot and the kinematic library of the robot;
c) processing measurement coordinates of the robot moved to the plurality of movement target points to generate actual position measurement data of the robot; And
d) calculating an axis offset value for position error correction using a difference between the calculated value of the moving target point and the actual position measurement information generated by using the kinematic library of the robot;
Calibration method of heterogeneous robot comprising a.
제 8 항에 있어서,
상기 b) 단계와 c) 단계 사이에,
상기 제어기로 지정된 표준 프로토콜 형식의 모션 제어 명령을 전송하여 상기 로봇을 상기 이동 목표지점으로 이동시키고, 상기 이동 목표지점에서 적어도 하나의 측정 가능한 자세를 취하도록 제어하는 단계를 포함하는 이기종 로봇의 캘리브레이션 방법.
The method of claim 8,
Between steps b) and c),
Transmitting a motion control command of a standard protocol format designated by the controller to move the robot to the moving target point, and controlling to take at least one measurable posture at the moving target point. .
제 8 항에 있어서,
상기 d) 단계 이후에,
상기 축오프셋 값을 상기 제어부로 전송하여 상기 로봇의 각 축에 대한 위치오차를 보정하는 단계를 더 포함하는 이기종 로봇의 캘리브레이션 방법.
The method of claim 8,
After step d),
And transmitting the axis offset value to the control unit to correct positional errors with respect to each axis of the robot.
제 8 항에 있어서,
상기 b) 단계는,
상기 특성 정보에 상기 로봇의 주요 작업 영역이 존재하면 상기 주요 작업 영역의 내부를 격자 형태로 나누어 상기 복수의 이동 목표지점을 생성하는 단계; 및
상기 복수의 이동 목표지점에 대한 복수의 측정 가능한 자세를 각각 생성하는 단계
를 포함하는 이기종 로봇의 캘리브레이션 방법.
The method of claim 8,
The step b)
Generating a plurality of moving target points by dividing the inside of the main work area into a grid when the main work area of the robot exists in the characteristic information; And
Generating a plurality of measurable poses for the plurality of moving target points, respectively
Calibration method of heterogeneous robot comprising a.
제 11 항에 있어서,
상기 b) 단계는,
상기 특성 정보에 상기 주요 작업 영역이 존재하지 않고 이동 가능 영역이 존재하면 상기 이동 가능 영역의 내부를 격자 형태로 나누어 상기 복수의 이동 목표지점을 생성하는 단계를 포함하는 이기종 로봇의 캘리브레이션 방법.
The method of claim 11,
The step b)
And generating the plurality of moving target points by dividing the inside of the movable area into a grid when the main work area does not exist and the movable area exists in the characteristic information.
제 12 항에 있어서,
상기 b) 단계는,
상기 특성 정보에 상기 주요 작업 영역 및 이동 가능 영역이 존재하지 않으면, 상기 로봇의 각 축 이동 한계 값을 이용하여 상기 로봇의 허용 위치를 계산하는 단계;
상기 허용 위치 상에서 상기 복수의 이동 목표지점을 생성하는 단계; 및
상기 생성된 복수의 이동 위치에 대해서 역기구학을 이용하여 로봇이 이동 가능한 위치인지 검증하는 단계
를 포함하는 이기종 로봇의 캘리브레이션 방법.
13. The method of claim 12,
The step b)
Calculating an allowable position of the robot using each axis movement limit value of the robot when the main work area and the movable area do not exist in the characteristic information;
Generating the plurality of movement target points on the allowable position; And
Verifying whether the robot can move to the plurality of generated positions by using inverse kinematics;
Calibration method of heterogeneous robot comprising a.
KR1020110035202A 2011-04-15 2011-04-15 Method and system for calibration of heterogeneous robot KR101284856B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110035202A KR101284856B1 (en) 2011-04-15 2011-04-15 Method and system for calibration of heterogeneous robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110035202A KR101284856B1 (en) 2011-04-15 2011-04-15 Method and system for calibration of heterogeneous robot

Publications (2)

Publication Number Publication Date
KR20120117444A true KR20120117444A (en) 2012-10-24
KR101284856B1 KR101284856B1 (en) 2013-07-17

Family

ID=47285404

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110035202A KR101284856B1 (en) 2011-04-15 2011-04-15 Method and system for calibration of heterogeneous robot

Country Status (1)

Country Link
KR (1) KR101284856B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111070209A (en) * 2019-12-27 2020-04-28 深圳市越疆科技有限公司 Shaft precision measuring method and device and industrial robot

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010058171A (en) * 2008-09-01 2010-03-18 Olympus Corp Method and program of controlling parallel link stage, and parallel link stage
KR101086364B1 (en) * 2009-03-20 2011-11-23 삼성중공업 주식회사 Robot parameter estimation method using Kalman filter

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111070209A (en) * 2019-12-27 2020-04-28 深圳市越疆科技有限公司 Shaft precision measuring method and device and industrial robot
CN111070209B (en) * 2019-12-27 2022-04-15 深圳市越疆科技有限公司 Shaft precision measuring method and device and industrial robot

Also Published As

Publication number Publication date
KR101284856B1 (en) 2013-07-17

Similar Documents

Publication Publication Date Title
EP3256811B1 (en) Laser gauge for robotic calibration and monitoring
US9221176B2 (en) Robot system and method for controlling the same
US9889565B2 (en) Method for calibrating a robot and a robot system
US9452533B2 (en) Robot modeling and positioning
JP5371927B2 (en) Coordinate system calibration method and robot system
JP4298757B2 (en) Robot mechanism calibration apparatus and method
US20180243912A1 (en) Automatic Calibration Method For Robot System
JP5670416B2 (en) Robot system display device
US20150045949A1 (en) Robot control apparatus and method for controlling robot
RU2014107813A (en) METHOD OF CALIBRATION AND PROGRAMMING ROBOT
JP2010142901A (en) Robot calibration method and robot control device
JP7109161B2 (en) Mechanism Model Parameter Estimation Method for Articulated Robots
US20220105640A1 (en) Method Of Calibrating A Tool Of An Industrial Robot, Control System And Industrial Robot
WO2018230517A1 (en) Operation system
WO2018043524A1 (en) Robot system, robot system control device, and robot system control method
KR102561103B1 (en) Robot calibration system and calibration method thereof
KR102269776B1 (en) Calibration Method of Robot for Interventional treatment
US10800041B2 (en) Absolute position determination of a robotic device and robotic device
KR101284856B1 (en) Method and system for calibration of heterogeneous robot
KR20240083289A (en) Robot motion control system through kinematic analysis
JPH08141950A (en) Calibration method of articulated robot
RU211418U1 (en) Device for operational programming of a manipulation robot
Van Wyk et al. Efficiently Improving and Quantifying Robot Accuracy In Situ
Pascal et al. A ROS-based kinematic calibration tool for serial robots
KR20150000269A (en) Method of added calibration for tool validation of robot for medicine

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: 20180601

Year of fee payment: 6