KR20110030191A - Apparatus and method for robot control based network - Google Patents

Apparatus and method for robot control based network Download PDF

Info

Publication number
KR20110030191A
KR20110030191A KR1020090088213A KR20090088213A KR20110030191A KR 20110030191 A KR20110030191 A KR 20110030191A KR 1020090088213 A KR1020090088213 A KR 1020090088213A KR 20090088213 A KR20090088213 A KR 20090088213A KR 20110030191 A KR20110030191 A KR 20110030191A
Authority
KR
South Korea
Prior art keywords
controller
data
time
auxiliary
main controller
Prior art date
Application number
KR1020090088213A
Other languages
Korean (ko)
Other versions
KR101148060B1 (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 KR1020090088213A priority Critical patent/KR101148060B1/en
Publication of KR20110030191A publication Critical patent/KR20110030191A/en
Application granted granted Critical
Publication of KR101148060B1 publication Critical patent/KR101148060B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0847Transmission error
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Environmental & Geological Engineering (AREA)
  • Signal Processing (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Small-Scale Networks (AREA)

Abstract

PURPOSE: A network-based robot control method and an apparatus thereof are provided to prevent the performance degradation of the whole network and to maintain the time agreement about the operation of a master controller and a sub controller. CONSTITUTION: A calculation unit(203) calculates the propagation delay and time offset of the sub controller. A time agreement control unit(202) coincides the main controller and the sub controller by using data transmission time of a main controller, a time offset, and the propagation delay. A storing unit(204) stores data transmission/reception time of the sub controller, data processing time, and the propagation delay.

Description

네트워크 기반 로봇 제어 방법 및 그 장치{APPARATUS AND METHOD FOR ROBOT CONTROL BASED NETWORK}Network-based robot control method and its device {APPARATUS AND METHOD FOR ROBOT CONTROL BASED NETWORK}

본 발명은 네트워크 기반 로봇 제어에 관한 것으로 보다 자세하게는 주 제어기와 다수의 보조 제어기를 구비하는 네트워크 기반 로봇 제어 방법 및 그 장치에 관한 것이다.The present invention relates to a network-based robot control, and more particularly, to a network-based robot control method and apparatus having a main controller and a plurality of auxiliary controllers.

네트워크 기반 로봇 제어 시스템에 있어서, 주 제어기에서 송신하는 데이터는 각각 보조 제어기에 수신되고 처리되는 시간이 보조 제어기마다 다르다. 즉, 각각 제어기마다 데이터가 수신되고 처리되기까지 소요되는 지연 시간이 다르다.In a network-based robot control system, the data transmitted from the primary controller is received and processed by the secondary controller, respectively, and varies for each secondary controller. That is, each controller has a different delay time until data is received and processed.

따라서, 자동 제어 장비 제어기들을 포함하는 네트워크 기반 제어 시스템에서 주 제어기 및 보조 제어기 등의 각 제어기들간에 시간의 일치성이 보장되어야 한다. 두 제어기가 임의의 약속된 시간에 특정 동작이 계획되어 있을 때 시간의 불일치 때문에 발생되는 동작은 전체 제어 시스템의 성능을 저하 시킨다.Therefore, in a network-based control system including automatic control equipment controllers, time consistency between each controller, such as a primary controller and a secondary controller, must be ensured. When two controllers are scheduled for a certain time at any scheduled time, the action that occurs due to time mismatches degrades the performance of the overall control system.

따라서, 제어기들간 시간 일치성을 보장하기 위해 네트워크 기반 제어 시스템의 제어기들은 각 노드 내부에 데이터의 수신되는 시간 계측 기능이 포함되어야 한다.Therefore, in order to ensure time coherence between the controllers, the controllers of the network-based control system should include a time measurement function of receiving data inside each node.

또한, 제어기들 간의 시간 일치성이 보장된 네트워크 기반 제어 시스템이라도 네트워크 케이블의 단절이 있는 경우, 각 제어기들 간의 전파 지연들이 정상적인 시스템에서의 제어기들의 전파 지연들과 다른 값이 될 수 있다.In addition, even in a network-based control system in which time coherency is guaranteed between controllers, when there is a disconnection of a network cable, propagation delays between controllers may be different from those of controllers in a normal system.

따라서, 초기에 각 제어기들간의 시간 일치성이 보장되어 있어도 네트워크 케이블 오류에 의해서 시간이 다시 불일치 될 수 있는 문제점이 발생할 수 있다.Therefore, even if the time coincidence between the controllers is initially guaranteed, a problem may occur in which time can be inconsistent again due to a network cable error.

본 발명의 목적은 네트워크 기반의 제어 시스템에서 케이블 오류가 발생하였을 경우 자동으로 주 제어기 및 보조 제어기들의 동작에 대한 시간 일치를 유지하기 위한 네트워크 기반의 제어 시스템 제어 방법을 제안하는 것이다.An object of the present invention is to propose a method for controlling a network-based control system for automatically maintaining time agreement with respect to the operation of a primary controller and an auxiliary controller when a cable error occurs in a network-based control system.

본 발명의 다른 목적은 주 제어기와 보조 제어기 또는 각 보조 제어기들 사이의 네트워크 케이블 오류에 대해 자동으로 대처 가능한 네트워크 기반의 제어 시스템을 제안하는 것이다.Another object of the present invention is to propose a network-based control system capable of automatically coping with a network cable error between a primary controller and an auxiliary controller or respective auxiliary controllers.

본 발명의 일 측면에 따르면, 주 제어기와 다수의 보조 제어기를 구비하는 네트워크 기반 로봇 제어 방법에 있어서, (a) 주 제어기에서 다수의 보조 제어기의 초기 타임 오프셋 값과 연결 라인들의 초기 전파 지연 값을 추출하는 단계, (b) 주 제어기에서 실행 데이터를 보조 제어기들로 전송하는 단계, (c) 주 제어기, 보조 제어기 또는 연결 라인 중 어느 하나의 장애를 검출하는 단계 및 (d) 장애 검출 결과, 연결 라인 장애 검출 시 네트워크 토폴로지를 변경하는 단계 및 (e)변경된 네트워크 토폴로지에 상응하여 보조 제어기의 타임 오프셋 값과 연결 라인의 전파 지연 값을 재설정하는 단계를 포함하는 것을 특징으로 하는 제어 방법이 제공된다.According to an aspect of the present invention, in a network-based robot control method having a main controller and a plurality of auxiliary controllers, (a) in the main controller to the initial time offset value of the plurality of auxiliary controllers and the initial propagation delay value of the connection lines Extracting, (b) transmitting execution data from the primary controller to the secondary controllers, (c) detecting a failure of any one of the primary controller, the secondary controller or the connection line, and (d) the failure detection result, the connection A control method is provided, comprising changing a network topology upon detecting a line failure and resetting a time offset value of a secondary controller and a propagation delay value of a connection line in correspondence with the changed network topology.

(a)단계는, (a1) 주 제어기가 초기 타임 오프셋 값 설정을 위한 임의의 데이터인 초기 설정 데이터를 보조 제어기들로 전송하는 단계, (a2) 보조 제어기들이 수신한 초기 설정 데이터에 초기 전파 지연 값을 추출하여 처리하는 단계, (a3) 보조 제어기들이 처리된 초기 설정 데이터를 주 제어기로 전송하는 단계 및 (a4) 주 제어기는 보조 제어기들로부터 수신한 처리된 초기 설정 데이터를 이용하여 초기 타임 오프셋 값을 설정하는 단계를 포함한다.In step (a), (a1) the primary controller transmits initial configuration data, which is arbitrary data for setting an initial time offset value, to the secondary controllers, and (a2) initial propagation delay in the initial configuration data received by the secondary controllers. Extracting and processing a value; (a3) the secondary controllers transmit processed initial configuration data to the primary controller; and (a4) the primary controller uses the processed initial configuration data received from the secondary controllers to offset the initial time offset. Setting a value.

(c)단계는, (c1) 보조 제어기들이 수신한 상기 실행 데이터를 처리하는 단계, (c2) 처리된 실행 데이터를 주 제어기로 전송하는 단계 및 (c3) 주 제어기가 수신한 처리된 실행 데이터에 포함된 보조 제어기들의 실행 데이터의 송수신 시간 및 처리 시간을 이용하여 주 제어기, 보조 제어기 또는 연결 라인의 장애를 검출하는 단계를 포함한다.(c) processing (c1) the execution data received by the secondary controllers; (c2) transmitting the processed execution data to the primary controller; and (c3) processing the execution data received by the primary controller. Detecting a failure of the primary controller, the secondary controller or the connection line by using the transmission and reception time and processing time of the execution data of the auxiliary controllers included.

(d)단계는, 검출된 연결 라인의 장애 위치에 따라서 라인 토폴로지, 링 토폴로지 또는 더블 라인 토폴로지로 변경된다.Step (d) is changed to a line topology, a ring topology or a double line topology according to the detected position of the connection line.

주 제어기는 직접적으로 연결된 복수개의 보조 제어기로 데이터를 송신할 때, 복수개의 보조 제어기에 송신하는 데이터는 모두 같은 데이터이다. 또한, 주 제어기는 직접적으로 연결된 복수개의 보조 제어기로부터 처리된 데이터들을 수신할 때, 주 제어기는 처리된 데이터들 중에서 하나의 처리된 데이터를 취득한다. 여기서 처리된 데이터는 보조 제어기들의 데이터 송수신 시간 및 처리 시간이 저장되어 있다.When the primary controller transmits data to a plurality of secondary controllers directly connected, the data transmitted to the plurality of secondary controllers are all the same data. Also, when the primary controller receives processed data from a plurality of directly connected secondary controllers, the primary controller acquires one processed data among the processed data. The processed data stores data transmission time and processing time of the auxiliary controllers.

타임 오프셋은 주 제어기가 데이터를 전송할 때의 주 제어기의 내부 시계(Local Timer) 값과 보조 제어기가 데이터를 수신했을 때의 보조 제어기의 내부 시계 값의 차이이다. 또한 전파 지연은 주 제어기에서 데이터를 전송한 시간과 보조 제어기에서 데이터를 수신한 시간의 차이이다.The time offset is the difference between the internal clock value of the primary controller when the primary controller transmits data and the internal clock value of the secondary controller when the secondary controller receives the data. The propagation delay is also the difference between the time the data was sent from the primary controller and the time the data was received from the secondary controller.

본 발명의 또 다른 일 측면에 따르면, 주 제어기와 다수의 보조 제어기를 구비하는 네트워크 기반 로봇 제어 장치에 있어서, 보조 제어기로 데이터를 출력하는 송신부, 보조 제어기의 데이터 송수신 시간 및 처리 시간을 포함한 데이터를 수신하는 수신부, 수신부로 수신된 데이터에 포함된 보조 제어기에서의 데이터 송수신 시간 및 처리 시간을 이용하여 각 보조 제어기의 전파 지연 및 타임 오프셋을 계산하는 계산부, 계산부에 의한 전파 지연, 타임 오프셋 및 주 제어기의 데이터 전송시간을 이용하여 주 제어기와 보조 제어기의 시간을 일치시키는 시간 일치 제어부, 주 제어기 및 보조 제어기의 데이터 송수신 시간, 데이터 처리 시간, 전파 지연 또는 타임 오프셋을 저장하는 저장부를 포함하는 제어 장치가 제공된다.According to another aspect of the present invention, a network-based robot control apparatus having a main controller and a plurality of auxiliary controllers, comprising: a transmitter for outputting data to the auxiliary controller, data including data transmission / reception time and processing time of the auxiliary controller; A calculation unit for calculating propagation delays and time offsets of the respective sub-controllers by using the receiving unit, the data transmission / reception time and the processing time of the auxiliary controllers included in the data received by the receiving unit, the propagation delays by the calculation unit, the time offsets, A control including a time matching controller for matching the time of the main controller and the auxiliary controller using the data transmission time of the main controller, and a storage unit storing data transmission / reception time, data processing time, propagation delay, or time offset of the main controller and the auxiliary controller An apparatus is provided.

주 제어기 및 보조 제어기는 두 개의 송수신부를 포함하여 구성된다. 여기서, 주 제어기는 상기 송신부의 데이터 송신 및 상기 수신부의 데이터 수신 가능 여부에 의해서 네트워크 토폴로지를 식별할 수 있다.The primary controller and the secondary controller include two transceivers. Here, the main controller can identify the network topology based on whether data transmission of the transmitter and data reception of the receiver are possible.

주 제어기 및 보조 제어기는 데이터의 송수신 시간 및 데이터의 처리 시간을 계측하는 내부 시계를 포함한다.The primary controller and the secondary controller include internal clocks that measure the time of transmission and reception of data and the processing time of data.

또한, 주 제어기는 머지(Merge)를 더 포함할 수 있다. 주 제어기는 주 제어기와 직접적으로 연결된 복수개의 보조 제어기로부터 데이터들을 수신하였을 때 실시간으로 수행되는 머지의 작업에 의해서 한 개의 데이터를 취득할 수 있다. In addition, the main controller may further include a merge. The primary controller may acquire one piece of data by a merge operation performed in real time when the primary controller receives data from a plurality of secondary controllers directly connected to the primary controller.

본 발명에 따른 네트워크 기반 로봇 제어 방법 및 그 장치는 제어기들 간에 특정 동작이 계획되어 있는 시간의 불일치 때문에 발생되는 동작으로 인한 로봇 제어 시스템 전체의 성능 저하를 방지하는 것이 가능하다는 이점이 있다.Network-based robot control method and apparatus according to the present invention has the advantage that it is possible to prevent the performance degradation of the entire robot control system due to the operation caused by the inconsistency of time in which a specific operation is planned between the controllers.

또한, 네트워크 케이블 오류에 대처 가능한 잉여 케이블링(Cabling Redundancy) 가능하다는 이점이 있다.In addition, there is an advantage in that redundant cabling (Cabling Redundancy) capable of coping with network cable failure.

또한, 실시간 머지(Merge) 작업으로 네트워크 케이블 오류가 발생되어도 시스템의 논리적 처리에 영향을 미치지 않는다는 이점이 있다.In addition, even if a network cable error occurs due to a real-time merge operation, it does not affect the logical processing of the system.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description.

이하, 본 발명에 따른 네트워크 기반의 제어 시스템의 실시예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of a network-based control system according to the present invention will be described in detail with reference to the accompanying drawings. In the following description with reference to the accompanying drawings, the same or corresponding components are given the same reference numerals, and Duplicate explanations will be omitted.

로봇 제어 시스템은 거의 실시간 처리 시스템으로 구성된다. 따라서 시스템의 논리적인 처리뿐만 아니라 네트워크 기반의 제어 시스템에서 실시간 처리가 가능한 기반이 구축되어야 한다. 이러한 실시간 처리를 위해서는 주 제어기와 보조 제어기가 같은 시간을 공유해야 한다. The robot control system consists of a near real time processing system. Therefore, not only the logical processing of the system but also the basis for real-time processing in the network-based control system should be established. For this real-time processing, the primary controller and the secondary controller must share the same time.

본 발명의 이해와 설명의 편의를 도모하기 위해, 주 제어기는 주 제어기로, 보조 제어기는 보조 제어기로 가정하여 설명한다. 그러나, 주 제어기 및 보조 제어기가 각각 주 제어기 및 보조 제어기로 한정되지 아니함은 당업자에게 자명하다. For the convenience of understanding and explanation of the present invention, a description will be given assuming that the primary controller is the primary controller and the secondary controller is the secondary controller. However, it will be apparent to those skilled in the art that the primary controller and the secondary controller are not limited to the primary controller and the secondary controller, respectively.

도 1은 본 발명의 실시예에 따른 네트워크 기반 로봇 제어 시스템을 나타낸 블록도이다. 1 is a block diagram showing a network-based robot control system according to an embodiment of the present invention.

도 1에 의하면, 네트워크 기반 로봇 제어 시스템은 크게 주 제어기(101), 보조 제어기(102) 및 연결 라인(103)으로 구성된다.According to FIG. 1, the network-based robot control system is largely composed of a main controller 101, an auxiliary controller 102, and a connection line 103.

주 제어기(101)는 보조 제어기(102)로 로봇 제어를 위한 데이터를 전송한다. 여기서, 보조 제어기(102)로 전송하는 데이터에는 전파 지연 값 또는 타임 오프셋 값 등이 포함될 수 있다. The primary controller 101 transmits data for controlling the robot to the secondary controller 102. Here, the data transmitted to the auxiliary controller 102 may include a propagation delay value or a time offset value.

여기서, 타임 오프셋은 주 제어기(101)가 데이터를 전송할 때의 주 제어기(101)의 내부 시계 값과 보조 제어기(102)가 데이터를 수신했을 때의 보조 제어기(102)의 내부 시계 값의 차이이다.Here, the time offset is a difference between the internal clock value of the main controller 101 when the main controller 101 transmits data and the internal clock value of the auxiliary controller 102 when the auxiliary controller 102 receives the data. .

전파 지연은 주 제어기(101)에서 데이터를 전송하여 보조 제어기(102)가 그 데이터를 수신할 때까지 걸리는 지연시간이다. The propagation delay is the delay time until the secondary controller 102 receives the data by transmitting data from the primary controller 101.

보조 제어기(102)는 주 제어기(101)로부터 수신한 데이터에 따라서 로봇 제어를 위한 작업을 수행한다. 보조 제어기(102)는 로봇 제어를 위한 작업 처리 후 그 결과가 포함된 처리 데이터를 주 제어기(101)로 전송한다. 처리 데이터에는 보조 제어기가 데이터를 송수신한 시간 및 데이터 처리 시간 등이 포함될 수 있다.The auxiliary controller 102 performs a task for controlling the robot according to the data received from the main controller 101. The auxiliary controller 102 transmits the processing data including the result to the main controller 101 after the job processing for the robot control. The processing data may include a time at which the auxiliary controller transmits and receives data and a data processing time.

연결 라인(103)은 주 제어기(101)와 보조 제어기(102)를 연결한다. 연결 라인(103)은 보조 제어기와 다른 보조 제어기를 연결한다. 연결 라인(103)을 통해서 서로 연결된 제어기들 사이에 데이터 전송을 가능하게 한다.The connection line 103 connects the primary controller 101 and the secondary controller 102. The connection line 103 connects the auxiliary controller with another auxiliary controller. It enables data transmission between controllers connected to each other via a connection line 103.

도 2는 네트워크 기반 로봇 제어 시스템의 주 제어기에 대한 내부 블록도이다.2 is an internal block diagram of the main controller of the network-based robot control system.

도 2에 의하면, 주 제어기(201)는 시간 일치 제어부(202), 계산부(203), 저장부(204), 머지(205), 내부 시계(206), 제1 송수신부(207) 및 제2 송수신부(208)로 구성된다. 여기서, 제1 송수신부(207) 및 제2 송수신부(208)는 각각 송신부와 수신부를 포함한다.Referring to FIG. 2, the main controller 201 includes a time match controller 202, a calculator 203, a storage 204, a merge 205, an internal clock 206, a first transceiver 207, and a first controller. It consists of two transceivers 208. Here, the first transceiver 207 and the second transceiver 208 include a transmitter and a receiver, respectively.

주 제어기(201)는 전파 지연 및 타임 오프셋을 포함하는 데이터를 제1 송신부 및 제2 송신부를 통해 보조 제어기로 전송한다. 주 제어기(201)는 보조 제어기로 전송한 데이터가 보조 제어기에서 처리된 결과를 포함한 처리 데이터를 제1 수신부 및 제2 수신부를 통해 수신한다.The primary controller 201 transmits data including the propagation delay and time offset to the secondary controller via the first transmitter and the second transmitter. The main controller 201 receives, via the first receiver and the second receiver, processing data including a result of the data transmitted to the secondary controller being processed by the secondary controller.

주 제어기(201)는 제1 및 제2 송신부의 데이터 송신과 제1 및 제2 수신부의 데이터 수신 가능 여부에 의해서 네트워크 토폴로지를 식별하는 것이 가능하다.The main controller 201 can identify the network topology based on whether data transmission of the first and second transmitters and data reception of the first and second receivers are possible.

주 제어기(201)는 제1 송수신부(207) 및 제2 송수신부(208)를 통해서 보조 제어기와 양방향 통신(Full Duplex)방식으로 데이터를 양방향으로 송수신하는 것이 가능하다. 이때, 데이터 송수신이 하나의 연결 라인을 통해 이루어 질 수 도 있다. 두 개의 연결 라인에 의해서 송신 및 수신 연결 라인을 구분하여 데이터 전송이 이루어 질 수 도 있다.The main controller 201 may transmit and receive data in both directions through a full duplex method with the auxiliary controller through the first transceiver 207 and the second transceiver 208. In this case, data transmission and reception may be performed through one connection line. Data transmission may be performed by separating the transmission and reception connection lines by two connection lines.

본 발명의 실시예에서는 제1 송수신부(207) 및 제2 송수신부(208)에 연결된 연결 라인은 송신 및 수신 연결 라인이 구분되어 있다.In the embodiment of the present invention, the connection line connected to the first transceiver 207 and the second transceiver 208 is divided into a transmission and a reception connection line.

시간 일치 제어부(202)는 주 제어기(201)와 보조 제어기 사이의 작업 수행 시간을 일치 시킨다. 즉, 시간 일치 제어부(202)에 의해서, 주 제어기(201)가 로봇 제어를 위해 보조 제어기로 데이터를 전송하면, 보조 제어기는 수신한 데이터에 의해서, 주 제어기(201)가 원하는 시간에 제어 작업을 수행할 수 있다.The time coincidence control unit 202 matches the execution time between the main controller 201 and the secondary controller. That is, when the main controller 201 transmits data to the secondary controller for robot control by the time matching controller 202, the secondary controller performs control operation at the desired time by the primary controller 201 based on the received data. Can be done.

계산부(203)는 제1 수신부 및 제2 수신부로 수신된 처리 데이터에 포함된 보조 제어기의 데이터 송수신 시간 및 처리 시간을 이용하여 보조 제어기의 전파 지연 값 및 타임 오프셋 값을 계산한다. 보조 제어기가 복수개인 경우, 데이터가 처 리된 보조 제어기 각각의 송수신 시간 및 처리 시간이 처리 데이터에 포함되어 있다. 따라서, 계산부(203)는 보조 제어기가 복수개인 경우, 각각의 보조 제어기에 대한 전파 지연 값 및 타임 오프셋 값을 계산할 수 있다.The calculation unit 203 calculates a propagation delay value and a time offset value of the auxiliary controller using the data transmission / reception time and the processing time of the auxiliary controller included in the processing data received by the first receiver and the second receiver. In the case where there are a plurality of auxiliary controllers, the transmission / reception time and processing time of each of the auxiliary controllers for which data is processed are included in the processed data. Therefore, when there are a plurality of auxiliary controllers, the calculator 203 may calculate a propagation delay value and a time offset value for each auxiliary controller.

저장부(204)는 주 제어기(201) 및 보조 제어기의 데이터 송수신 시간, 데이터 처리 시간, 계산부(203)에 의해서 계산된 전파 지연 값 및 타임 오프셋 값이 저장된다.The storage unit 204 stores data transmission / reception time, data processing time, propagation delay value and time offset value of the primary controller 201 and the secondary controller.

머지(205)는 주 제어기(201)의 제1 수신부 및 제 2 수신부로 데이터를 동시에 수신하였을 경우, 동시에 수신한 데이터 중에서 하나의 데이터만을 취득할 수 있도록 선택하는 작업을 수행한다. 머지(205)의 데이터 선택 작업은 실시간으로 수행된다. 실시간으로 수행되는 머지(205) 작업에 의해서 연결 라인 장애가 발생된 경우에도 시스템의 논리적 처리에는 영향을 미치지 않게 된다.When the merge 205 simultaneously receives data to the first receiver and the second receiver of the main controller 201, the merge 205 selects only one data from the simultaneously received data. The data selection operation of the merge 205 is performed in real time. Even if a connection line failure is caused by the merge 205 operation performed in real time, logical processing of the system is not affected.

내부 시계(206)는 주 제어기(201)의 데이터 송수신 시간 및 데이터 처리 시간을 계측할 수 있다. 주 제어기(201)에 내부 시계(206)를 포함함으로써, 종래에 보조 제어기의 내부 시계의 시간을 기준으로 하였던 것과 달리 주 제어기(201)의 내부 시계(206)의 시간이 기준 시간으로 설정된다.The internal clock 206 may measure data transmission / reception time and data processing time of the main controller 201. By including the internal clock 206 in the main controller 201, the time of the internal clock 206 of the main controller 201 is set as the reference time, unlike the conventional time based on the time of the internal clock of the secondary controller.

도 3은 네트워크 기반 로봇 제어 시스템의 보조 제어기에 대한 내부 블록도이다.3 is an internal block diagram of an auxiliary controller of a network-based robot control system.

도 3에 의하면, 보조 제어기(301)는 시간 일치 제어부(302), 내부 시계(303), 제1 송수신부(304) 및 제2 송수신부로 구성된다. According to FIG. 3, the auxiliary controller 301 includes a time matching controller 302, an internal clock 303, a first transceiver 304, and a second transceiver.

제1 송수신부(304) 및 제2 송수신부(305)는 각각 송신부와 수신부를 포함한다. 제1 송신부 및 제2 송신부는 보조 제어기(301)에서 데이터를 주 제어기 또는 다른 보조 제어기(301)로 송신한다. 제1 수신부 및 제2 수신부는 주 제어기 또는 다른 보조 제어기(301)로부터 데이터를 수신한다. The first transceiver 304 and the second transceiver 305 include a transmitter and a receiver, respectively. The first transmitter and the second transmitter transmit data from the secondary controller 301 to the primary controller or another secondary controller 301. The first receiver and the second receiver receive data from the primary controller or another secondary controller 301.

시간 일치 제어부(302)는 주 제어기와 보조 제어기(301) 사이의 작업 수행 시간을 일치 시킨다. 보조 제어기(301)가 주 제어기로부터 로봇 제어를 위한 데이터를 전송 받으면, 보조 제어기(301)의 시간 일치 제어부(302)에 의해서, 주 제어기가 원하는 제어 수행 시간을 설정할 수 있다. 즉, 시간 일치 제어부(302)에 의해서 보조 제어기(301)는 주 제어기가 원하는 시간에 제어 작업을 수행하게 되는 것이다.The time coincidence control unit 302 matches the execution time of the work between the main controller and the auxiliary controller 301. When the auxiliary controller 301 receives data for controlling the robot from the main controller, the time controller 302 of the auxiliary controller 301 may set a desired control execution time by the main controller. That is, the auxiliary controller 301 performs the control operation at the time desired by the main controller by the time matching controller 302.

내부 시계(303)는 보조 제어기(301)의 데이터 송수신 시간 및 데이터 처리 시간을 계측 할 수 있다. 보조 제어기(301)의 내부 시계(303)에 의해서 계측된 데이터 송수신 시간 및 데이터 처리 시간은 주 제어기와 보조 제어기(301) 사이의 데이터 전파 지연 값 및 타임 오프셋 값을 계산하는데 이용된다.The internal clock 303 may measure data transmission / reception time and data processing time of the auxiliary controller 301. The data transmission / reception time and data processing time measured by the internal clock 303 of the auxiliary controller 301 are used to calculate the data propagation delay value and time offset value between the main controller and the auxiliary controller 301.

도 4는 본 발명의 실시예에 따른 네트워크 기반 로봇 제어 방법을 나타낸 순서도이다.4 is a flowchart illustrating a network-based robot control method according to an embodiment of the present invention.

도 4에 의하면, 우선 주 제어기에서 다수의 보조 제어기들의 초기 타임 오프셋 값과 연결 라인들의 초기 전파 지연 값을 추출한다(S401). 초기 전파 지연 값은 주 제어기를 포함한 시스템 부팅 시 초기 전파 지연 값 추출을 위한 초기 설정 데 이터가 보조 제어기로 전송되는데 걸리는 시간을 이용하여 추출할 수 있다.Referring to FIG. 4, first, initial time offset values of a plurality of auxiliary controllers and initial propagation delay values of connection lines are extracted from a primary controller (S401). The initial propagation delay value can be extracted by using the time taken for the initial data to be transmitted to the secondary controller to extract the initial propagation delay value when the system including the primary controller boots.

이어서, 주 제어기에서 실행 데이터를 보조 제어기들로 전송한다(S402). 이때, 주 제어기의 실행 데이터는 제1 보조 제어기 및 제4 보조 제어기와 연결된다. 제1 보조 제어기는 제2 보조 제어기와 연결되고, 제2 보조 제어기는 제3 보조 제어기와 연결된다. 그리고 제3 보조 제어기는 제4 보조 제어기와 연결됨으로, 주 제어기 및 제1 보조 제어기 내지 제4 보조 제어기는 링 형태로 연결된다. 또한 주 제어기 및 제1 보조 제어기 내지 제4 보조 제어기는 각각 제1 송수신부 및 제2 송수신부를 구비하여 더블 라인으로 연결된다. Subsequently, execution data is transmitted from the primary controller to the secondary controllers (S402). At this time, the execution data of the primary controller is connected to the first secondary controller and the fourth secondary controller. The first auxiliary controller is connected with the second auxiliary controller, and the second auxiliary controller is connected with the third auxiliary controller. And since the third auxiliary controller is connected to the fourth auxiliary controller, the main controller and the first to fourth auxiliary controllers are connected in a ring form. In addition, the main controller and the first auxiliary controller to the fourth auxiliary controller are provided with a first transceiver and a second transceiver, respectively, and are connected by a double line.

주 제어기에서 실행 데이터를 보조 제어기들로 전송할 때, 제1 보조 제어기 및 제4 보조 제어기로 동시에 실행 데이터를 전송한다. 즉, 주 제어기가 직접적으로 연결된 복수개의 보조 제어기로 데이터를 송신할 때, 연결된 복수개의 보조 제어기에 송신하는 데이터는 모두 같은 데이터이다. 제1 보조 제어기로 전송된 실행 데이터는 낮은 차수 순서로 보조 제어기에 전송 및 처리된다. 동시에 제4 보조 제어기로 전송된 실행 데이터는 높은 차수 순서대로 보조 제어기에 전송 및 처리된다. When the execution data is transmitted from the primary controller to the secondary controllers, the execution data is simultaneously transmitted to the first secondary controller and the fourth secondary controller. That is, when the main controller transmits data to a plurality of directly connected secondary controllers, the data transmitted to the connected plurality of secondary controllers are all the same data. Execution data sent to the first secondary controller is transmitted and processed to the secondary controller in low order. At the same time, the execution data transmitted to the fourth secondary controller is transmitted and processed to the secondary controller in high order.

각 보조 제어기에서 처리된 데이터는 최종적으로 주 제어기가 수신한다.The data processed by each secondary controller is finally received by the primary controller.

이어서, 주 제어기는 주 제어기, 보조 제어기 또는 연결 라인 중 어느 하나의 장애를 검출한다(S403). 주 제어기에서 수신한 최종 처리 데이터에 포함된 각 보조 제어기의 실행 데이터 송수신 시간 및 이동 경로 등을 통해서 장애 위치를 추출한다.Subsequently, the main controller detects a failure of any one of the main controller, the auxiliary controller, or the connection line (S403). The fault location is extracted from the execution data transmission time and movement path of each auxiliary controller included in the final processing data received from the primary controller.

이어서, 장애를 검출 결과, 연결 라인 장애 검출 시 네트워크 토폴로지를 변경한다(S404). 예를 들어, 제2 보조 제어기와 제3 보조 제어기를 연결하는 연결 라인의 장애가 검출 되었다면, 네트워크 토폴로지는 두 개의 라인 토폴로지로 변경이 될 것이다. 즉, 주 제어기와 제1 보조 제어기가 연결되고, 제1 보조 제어기와 제2 보조 제어기가 연결되어 제1 라인 토폴로지가 구성된다. 또한, 주 제어기와 제4 보조 제어기가 연결되고, 제4 보조 제어기와 제3 보조 제어기가 연결되어 제2 라인 토폴로지가 구성된다.Subsequently, as a result of detecting the failure, the network topology is changed when the connection line failure is detected (S404). For example, if a failure of a connection line connecting the second secondary controller and the third secondary controller is detected, the network topology will be changed to a two line topology. That is, the primary controller and the first secondary controller are connected, and the first secondary controller and the second secondary controller are connected to form a first line topology. In addition, a main controller and a fourth auxiliary controller are connected, and a fourth auxiliary controller and a third auxiliary controller are connected to form a second line topology.

이어서, 변경된 네트워크 토폴로지에 상응하여, 보조 제어기의 타임 오프셋 값과 연결 라인의 전파 지연 값을 재설정한다(S405). 즉, 제1 라인 토폴로지와 제2 라인 토폴로지에 각각에 대응되는 전파 지연 값 및 타임 오프셋 값을 계산하여 재 설정한다. Subsequently, in accordance with the changed network topology, the time offset value of the auxiliary controller and the propagation delay value of the connection line are reset (S405). That is, the propagation delay value and the time offset value corresponding to each of the first line topology and the second line topology are calculated and reset.

도 5는 본 발명의 실시예에 따른 초기 타임 오프셋 값 및 초기 전파 지연 값을 추출하는 방법을 나타낸 순서도이다.5 is a flowchart illustrating a method of extracting an initial time offset value and an initial propagation delay value according to an embodiment of the present invention.

도 5에 의하면, 우선, 주 제어기가 초기 타임 오프셋 값을 설정하기 위한 임의의 데이터인 초기 설정 데이터를 보조 제어기들로 전송한다(S501). 이때, 주 제어기가 초기 설정 데이터를 전송하는 때는 주 제어기를 포함하는 시스템이 부팅되는 시점이나 임의의 설정된 시간이 될 수 있다. 또한, 주 제어기가 초기 설정 데이터를 전송하는 보조 제어기는 주 제어기와 직접적으로 네트워크 연결된 보조 제어기이다.Referring to FIG. 5, first, the main controller transmits initial setting data, which is arbitrary data for setting an initial time offset value, to the auxiliary controllers (S501). In this case, when the main controller transmits the initial configuration data, it may be a time point at which the system including the main controller is booted or an arbitrary set time. In addition, the secondary controller to which the primary controller transmits the initial configuration data is the secondary controller directly networked with the primary controller.

이어서, 보조 제어기가 수신한 초기 설정 데이터를 처리한다(S502). 즉, 보조 제어기는 주 제어기로부터 수신한 초기 설정 데이터에 대한 작업을 수행한다.Subsequently, the auxiliary controller processes the initial setting data received (S502). That is, the secondary controller performs operations on the initial configuration data received from the primary controller.

이어서, 보조 제어기가 처리된 초기 설정 데이터를 주 제어기로 전송한다(S503). 만약, 복수개의 보조 제어기가 있는 경우, 초기 설정 데이터는 복수개의 보조 제어기를 거쳐 처리를 마친 후 최종적으로 주 제어기로 전송된다. 예를 들어, 주 제어기와 제1 보조 제어기부터 제4 보조 제어기까지 링 토폴로지 형태로 연결된 경우, 주 제어기는 제1 보조 제어기와 제2 보조 제어기로 초기 설정 데이터를 전송한다. 이후 초기 설정 데이터는 제1 보조 제어기 및 제 4 보조 제어기에서 차례대로 연결된 보조 제어기로 송수신 및 처리되어 최종적으로 처리된 초기 설정 데이터가 주 제어기로 전송된다.Subsequently, the secondary controller transmits the processed initial setting data to the primary controller (S503). If there are a plurality of auxiliary controllers, the initial setting data is transmitted to the main controller after finishing processing through the plurality of auxiliary controllers. For example, when the primary controller and the first secondary controller to the fourth secondary controller are connected in a ring topology, the primary controller transmits initial configuration data to the first secondary controller and the second secondary controller. Thereafter, the initial configuration data is transmitted and received and processed from the first auxiliary controller and the fourth auxiliary controller to the connected secondary controller in turn, and finally the processed initial configuration data is transmitted to the primary controller.

이어서, 주 제어기는 보조 제어기로부터 수신한 처리된 초기 설정 데이터를 이용하여 초기 전파 지연 값 및 타임 오프셋 값을 설정한다(S504). 처리된 초기 설정 데이터는 각 보조 제어기에 송수신된 시간 및 처리 시간을 포함하고 있다. 즉, 주 제어기가 수신한 초기 설정 데이터에는 초기 설정 데이터의 이동 경로에 포함된 보조 제어기의 초기 설정 데이터 송수신 시간 및 처리 시간이 포함되어 있다. 따라서, 주 제어기 및 각 보조 제어기의 초기 설정 데이터 송수신 시간 및 처리 시간을 이용하여 초기 타임 오프셋 값을 계산하여 설정한다.Subsequently, the primary controller sets an initial propagation delay value and a time offset value by using the processed initial setting data received from the secondary controller (S504). The processed initial setting data includes time and processing time transmitted and received to each secondary controller. That is, the initial configuration data received by the primary controller includes initial configuration data transmission / reception time and processing time of the secondary controller included in the movement path of the initial configuration data. Therefore, the initial time offset value is calculated and set using the initial setting data transmission / reception time and processing time of the primary controller and each secondary controller.

도 6은 본 발명의 실시예에 따른 연결 장애를 검출하는 방법을 나타낸 순서도이다.6 is a flowchart illustrating a method for detecting a connection failure according to an embodiment of the present invention.

도 6에 의하면, 우선 보조 제어기들이 수신한 실행 데이터를 처리한다(S601). According to FIG. 6, first, execution data received by the auxiliary controllers is processed (S601).

이어서, 처리된 실행 데이터를 주 제어기로 전송한다(S602).Subsequently, the processed execution data is transmitted to the main controller (S602).

이어서, 주 제어기가 수신한 처리된 실행 데이터에 포함된 보조 제어기들의 실행 데이터의 송수신 시간 및 처리 시간을 이용하여 주 제어기, 보조 제어기 또는 연결 라인의 장애를 검출한다(S603).Subsequently, a failure of the main controller, the auxiliary controller, or the connection line is detected using the transmission and reception time and the processing time of the execution data of the auxiliary controllers included in the processed execution data received by the main controller (S603).

본 발명의 실시예를 좀 더 쉽게 이해하기 위해 다음과 같이 예를 들어 설명한다.In order to more easily understand the embodiment of the present invention, an example will be described as follows.

주 제어기와 제1 보조 제어기 내지 제4 보조 제어기가 링 토폴로지 형태로 연결되어 있고, 제2 보조 제어기와 제3 보조 제어기를 연결하는 연결 라인에 장애가 있다.The main controller and the first to fourth auxiliary controllers are connected in a ring topology, and there is a failure in the connection line connecting the second and third auxiliary controllers.

주 제어기가 실행 데이터를 제1 보조 제어기와 제4 보조 제어기로 동시에 전송한다. 여기서 제1 보조 제어기와 제4 보조 제어기는 주 제어기와 직접적으로 네트워크 연결 된다. The primary controller simultaneously transmits the execution data to the first secondary controller and the fourth secondary controller. Here, the first auxiliary controller and the fourth auxiliary controller are directly networked with the main controller.

제1 보조 제어기 및 제4 보조 제어기는 주 제어기로부터 전송 받은 실행 데이터를 처리한다. 이어서, 제1 보조 제어기에서 처리된 실행 데이터인 제1-1 처리 데이터를 제2 보조 제어기로 전송한다. 또한, 제4 보조 제어기에서 처리된 실행 데이터인 제2-1 처리 데이터를 제3 보조 제어기로 전송한다. 제1-1 처리 데이터는 주 제어기로부터 수신한 실행 데이터에 제1 보조 제어기에서 처리된 실행 데이터의 결과가 업데이트 된 것이다. 또한, 제2-1 처리 데이터는 주 제어기로부터 수신한 실 행 데이터에 제4 보조 제어기에서 처리된 실행 데이터의 결과가 업데이트 된 것이다. 이때, 업데이트 된 처리 결과에는 제1 보조 제어기 및 제2 보조제어기가 각각 실행 데이터를 수신한 시간, 실행 데이터를 처리하는 시간, 제1-1 처리 데이터 및 제2-2 처리 데이터를 송신하는 시간 등을 포함한다.The first secondary controller and the fourth secondary controller process execution data received from the primary controller. Subsequently, the first-first processing data, which is the execution data processed by the first auxiliary controller, is transmitted to the second auxiliary controller. Also, the 2-1th processing data, which is the execution data processed by the fourth auxiliary controller, is transmitted to the third auxiliary controller. In the first-first process data, the result of the execution data processed by the first auxiliary controller is updated with the execution data received from the main controller. In addition, in the 2-1 process data, the result of the execution data processed by the fourth auxiliary controller is updated with the execution data received from the main controller. In this case, the updated processing result may include a time at which the first auxiliary controller and the second auxiliary controller receive the execution data, a time of processing the execution data, a time of transmitting the 1-1 process data and the 2-2 process data, and the like. It includes.

이어서, 제2 보조 제어기는 수신한 제1-1 처리 데이터를 처리한다. 또한 제3 보조 제어기는 수신한 제2-1 처리 데이터를 처리한다. The second auxiliary controller then processes the received 1-1 process data. In addition, the third auxiliary controller processes the received 2-1 processing data.

이때, 여기서, 제2 보조 제어기와 제3 보조 제어기가 장애로 의해서 서로 네트워크 연결이 되어 있지 않다. 그러므로, 제2 보조 제어기에서 처리된 데이터인 제1-2 처리 데이터와 제3 보조 제어기에서 처리된 데이터인 제2-2 처리 데이터는 각각 제3 보조 제어기와 제2 보조 제어기로 전송될 수 없다. 따라서, 제 1-2 처리 데이터와 제2-2 처리 데이터는 최종 데이터가 된다. In this case, the second auxiliary controller and the third auxiliary controller are not connected to each other due to a failure. Therefore, the 1-2 processing data, which is the data processed by the second auxiliary controller, and the 2-2 processing data, which is the data processed by the third auxiliary controller, cannot be transmitted to the third auxiliary controller and the second auxiliary controller, respectively. Therefore, the 1-2 processing data and the 2-2 processing data become final data.

이어서, 제1-2 처리 데이터는 제 1 보조 제어기를 거쳐 주 제어기로 전송된다. 또한, 제2-2 처리 데이터도 제 4 보조 제어기를 거쳐 주 전송 제어기로 전송된다.Subsequently, the 1-2 processing data is transmitted to the primary controller via the first secondary controller. In addition, the second-2 process data is also transmitted to the primary transmission controller via the fourth auxiliary controller.

이어서, 주 제어기는 수신한 최종 데이터에 포함되어 있는 데이터 송수신 시간 및 처리 시간과 초기 설정 데이터 송수신 시간 및 처리 시간을 이용하여, 연결 장애가 발생한 위치를 추출한다.Subsequently, the main controller extracts a location where a connection failure occurs by using the data transmission / reception time and processing time and initial setting data transmission / reception time and processing time included in the received final data.

도 7은 본 발명의 실시예에 따라 연결 라인의 장애에 의한 네트워크 토폴로지 변화를 나타낸 예시도이다.7 is an exemplary diagram illustrating a change in network topology due to a failure of a connection line according to an embodiment of the present invention.

도 7a는, 초기 네트워크 토폴로지로 링 토폴로지이다.7A is a ring topology as an initial network topology.

이때, 링 토폴로지에서 장애가 발생한 연결 라인의 위치에 따라, 네트워크 토폴로지는 라인 토폴로지 또는 더블 라인 토폴로지로 변화된다.At this time, the network topology is changed to a line topology or a double line topology, depending on the position of the connection line that has failed in the ring topology.

도 7b는 주 제어기(701)와 제4 보조 제어기(702)를 연결하는 연결 라인인 제5 연결 라인(703)에 장애가 발생한 경우를 나타낸다. 이와 같은 제5 연결 라인(703)의 장애로 링 토폴로지가 라인 토폴로지의 형태로 변경된 것을 확인 할 수 있다.FIG. 7B illustrates a case where a failure occurs in the fifth connection line 703, which is a connection line connecting the main controller 701 and the fourth auxiliary controller 702. As a result of the failure of the fifth connection line 703, it can be seen that the ring topology has been changed to a line topology.

도 7c는 제3 보조 제어기(704)와 제4 보조 제어기(705)를 연결하는 연결 라인인 제3 연결 라인(706)에 장애가 발생한 경우를 나타낸다. 이와 같은 제3 연결 라인(706)의 장애로 링 토폴로지가 더블 라인 토폴로지 형태로 변경된 것을 확인 할 수 있다.FIG. 7C illustrates a case where a failure occurs in the third connection line 706, which is a connection line connecting the third auxiliary controller 704 and the fourth auxiliary controller 705. As a result of the failure of the third connection line 706, it can be confirmed that the ring topology has been changed to the double line topology.

도 8은 본 발명의 실시예에 따라 네트워크 토폴로지에 따른 데이터 송수신 경로를 나타낸 예시도이다.8 is an exemplary diagram illustrating a data transmission / reception path according to a network topology according to an embodiment of the present invention.

도 8에서 확인 할 수 있듯이, 네트워크 토폴로지의 종류에 따라 물리적 네트워크 연결에 의해서 보조 제어기의 순차적인 주소가 결정될 수 있다.As can be seen in Figure 8, the sequential address of the secondary controller can be determined by the physical network connection according to the type of network topology.

도 8a는 연결 라인의 장애가 발생하지 않은 경우 링 토폴로지의 데이터 송수신 경로를 나타낸다.8A illustrates a data transmission / reception path of a ring topology when a failure of a connection line does not occur.

도 8b는 도8a에서 주 제어기(801)와 제4 보조 제어기(802)를 연결하는 제5 연결 라인(803)에 장애가 발생한 경우 데이터 송수신 경로를 나타낸다.FIG. 8B illustrates a data transmission / reception path when a failure occurs in the fifth connection line 803 connecting the main controller 801 and the fourth auxiliary controller 802 in FIG. 8A.

주 제어기 또는 보조 제어기와 연결된 연결 라인에 장애가 발생한 경우 내부적으로 루프 백(Loop Back)시킨다. 즉, 제4 보조 제어기(802)에서 제5 연결 라인(803)의 장애를 감지하면, 제4 보조 제어기 내부적으로 데이터를 루프 백 시켜 제3 보조 제어기(805)로 전송한다.Loop back internally in case of a failure in the connection line connected to the primary or secondary controller. That is, when the fourth auxiliary controller 802 detects a failure of the fifth connection line 803, the fourth auxiliary controller loops back data and transmits the data to the third auxiliary controller 805.

즉, 제5 연결 라인(803)의 장애로 링 토폴로지는 라인 토폴로지일 경우와 같은 데이터 송수신 경로를 통해 데이터가 전송된다.That is, due to the failure of the fifth connection line 803, data is transmitted through the data transmission and reception path as in the case of the ring topology.

도 8c는 도 8a에서 제2 보조 제어기(804)와 제3 보조 제어기(805)를 연결하는 제3 연결 라인(806)에 장애가 발생한 경우 데이터 송수신 경로를 나타낸다.FIG. 8C illustrates a data transmission / reception path when a failure occurs in the third connection line 806 connecting the second auxiliary controller 804 and the third auxiliary controller 805 in FIG. 8A.

이때, 주 제어기(801)부터 제2 보조 제어기(804)까지 전송된 데이터는 제2 보조 제어기와 연결된 제3 연결 라인(806)의 장애를 감지하고, 제2 보조 제어기 내부적으로 데이터를 루프 백 시켜 제1 보조 제어기(807)로 전송한다.At this time, the data transmitted from the main controller 801 to the second auxiliary controller 804 detects a failure of the third connection line 806 connected to the second auxiliary controller, and loops back the data inside the second auxiliary controller. Send to first auxiliary controller 807.

또한, 주 제어기(801)부터 제3 보조 제어기(805)까지 전송된 데이터는 제3 보조 제어기(805)와 연결된 제3 연결 라인(806)의 장애를 감지하고, 제3 보조 제어기 내부적으로 데이터를 루프 백 시켜 제 4 보조 제어기(802)로 전송한다.In addition, the data transmitted from the main controller 801 to the third auxiliary controller 805 detects a failure of the third connection line 806 connected to the third auxiliary controller 805, and internally stores the data in the third auxiliary controller. Loop back and transmit to the fourth auxiliary controller 802.

즉, 제3 연결 라인(806)의 장애로 링 토폴로지는 더블 라인 토폴로지와 같은 데이터 송수신 경로를 통해 데이터가 전송된다.That is, due to the failure of the third connection line 806, data is transmitted through a data transmission / reception path such as a double line topology.

위와 같이, 도 8a 내지 도 8c를 통해서, 장애가 발생한 연결 라인의 위치에 따른 네트워크 토폴로지의 변경에 의해서, 데이터의 이동 경로가 변하는 것을 알 수 있다. 즉, 데이터의 이동 경로의 변경에 의해서, 주 제어기가 송신한 데이터를 각 보조 제어기가 수신할 때까지의 전파 지연 값이 초기 전파 지연 값과 달라 질 수 있다. 예를 들어, 도 8a 내지 도 8c에서 제 3 보조 제어기의 T_3_0의 값이 다른 값으로 측정 될 수 있다. 여기서, T_3_0는 제3 보조 제어기에서 데이터를 송신한 시간이다. 도 8a 및 도 8b의 경우, T_3_0의 값은 제1 및 제2 보조 제어기에서의 데이터 송수신 시간 및 데이터 처리 시간을 포함한다. 그러나 도 8c의 경우, T_3_0의 값은 제4 보조 제어기의 데이터 송수신 및 처리 시간과 제3 보조 제어기의 데이터 송신 및 처리 시간이 포함된다.As described above, it can be seen from FIG. 8A to FIG. 8C that the movement path of data is changed by changing the network topology depending on the location of the failed connection line. That is, due to the change of the movement path of the data, the propagation delay value until each secondary controller receives the data transmitted by the primary controller may be different from the initial propagation delay value. For example, in FIG. 8A to FIG. 8C, the value of T_3_0 of the third auxiliary controller may be measured as another value. Here, T_3_0 is a time when data is transmitted from the third auxiliary controller. In the case of FIGS. 8A and 8B, the value of T_3_0 includes data transmission / reception time and data processing time in the first and second auxiliary controllers. However, in the case of FIG. 8C, the value of T_3_0 includes data transmission and reception time of the fourth auxiliary controller and data transmission and processing time of the third auxiliary controller.

도 9는 본 발명의 실시예에 따른 전파 지연 값과 타임 오프셋 값을 계산하기 위한 변수에 대한 정의를 나타낸 예시도이다.9 is an exemplary view showing definitions of variables for calculating a propagation delay value and a time offset value according to an embodiment of the present invention.

타임 오프셋은 주 제어기에서 데이터를 전송할 때의 주 제어기의 내부 시계 값과 보조 제어기가 데이터를 수신했을 때의 보조 제어기의 내부 시계 값의 차이이다.The time offset is the difference between the internal clock value of the primary controller when transmitting data from the primary controller and the internal clock value of the secondary controller when the secondary controller receives data.

전파 지연은 주 제어기에서 데이터를 전송한 시간과 보조 제어기에서 데이터를 수신한 시간의 차이이다. 즉, 주 제어기와 보조 제어기 또는 보조 제어기들 사이의 데이터 전송에 의해서 전파 지연이 발생할 수 있다. 또한, 주 제어기 또는 보조 제어기에서 데이터 처리 및 내부적으로 데이터를 송수신부로 전달함에 있어서 전파 지연이 발생할 수 있다.The propagation delay is the difference between the time the data is sent from the primary controller and the time the data is received from the secondary controller. That is, a propagation delay may occur due to data transmission between the primary controller and the secondary controller or the secondary controllers. In addition, a propagation delay may occur in data processing in the main controller or auxiliary controller and internally transferring data to the transceiver.

이와 같은 전파 지연에 의해서, 주 제어기 또는 보조 제어기의 제어를 수행하는 시간에 있어서, 각각 타임 오프셋 값이 설정되어 제어가 수행된다.By this propagation delay, time offset values are set and control is performed at the time of performing control of the main controller or the auxiliary controller, respectively.

그러나, 연결 라인의 장애 위치에 의해 변경된 네트워크 토폴로지에 의해서 데이터 전송 경로의 변경으로 전파 지연 값이 변화할 수 있다. 따라서, 이와 같은 경우에는 타임 오프셋 값을 재계산하여 재설정이 필요하게 된다.However, the propagation delay value may change due to the change of the data transmission path due to the network topology changed by the fault location of the connection line. Therefore, in such a case, it is necessary to reset the time offset value again.

도 10은 본 발명의 다른 실시예에 따른 주 제어기와 보조 제어기가 순방향으로 연결 되어 데이터가 전송될 때의 전파 지연 값을 나타낸 예시도이다.FIG. 10 is an exemplary diagram illustrating a propagation delay value when data is transmitted by connecting a primary controller and a secondary controller in a forward direction according to another embodiment of the present invention.

T_PDF_l은 데이터가 순방향으로 전송될 때, 순차 주소 l인 보조 제어기의 전파 지연 값을 나타낸다. L[n]은 n번째 연결 라인으로 데이터가 이동하는데 걸리는 시간이다. T_Pro는 데이터가 주 제어기 또는 보조 제어기에서 처리되는데 소요되는 시간이다. T_For은 데이터가 주 제어기 또는 보조 제어기 내부적으로 수신부에서 송신부로 이동하는데 소요되는 시간이다.T_PDF_l represents the propagation delay value of the secondary controller at sequential address l when data is transmitted in the forward direction. L [n] is the time taken for data to move to the nth connection line. T_Pro is the time it takes for the data to be processed in the primary or secondary controller. T_For is the time taken for data to travel from the receiver to the transmitter internally in the primary or secondary controller.

주 제어기와 보조 제어기가 순방향으로 연결되었을 때, T_PDF_l은 [수학식 1]과 같이 계산된다.When the primary controller and the secondary controller are connected in the forward direction, T_PDF_l is calculated as shown in [Equation 1].

[수학식 1][Equation 1]

T_PDF_1 = L[1]T_PDF_1 = L [1]

T_PDF_2 = L[1] + L[2] + T_ProT_PDF_2 = L [1] + L [2] + T_Pro

T_PDF_3 = L[1] + L[2] + L[3] + 2*T_ProT_PDF_3 = L [1] + L [2] + L [3] + 2 * T_Pro

또한, 주 제어기 또는 보조 제어기가 순방향으로 송신한 데이터를 처리 후 다시 수신할 때까지 걸리는 시간은 아래의 [수학식 2]와 같이 계산 될 수 있다.In addition, the time taken by the primary controller or the secondary controller to receive again after processing the data transmitted in the forward direction can be calculated as shown in Equation 2 below.

[수학식 2][Equation 2]

t[1] = T_0_0 - T_Rt [1] = T_0_0-T_R

t[2] = T_1_0 - T_1_1t [2] = T_1_0-T_1_1

t[3] = T_2_0 - T_2_1t [3] = T_2_0-T_2_1

여기서, t[n]은 주 제어기 또는 보조 제어기가 송신한 데이터를 처리 후 다시 수신할 때까지 걸리는 시간을 나타낸다. 여기서 n은 #l+1이 된다. 예를 들어, t[1]은 주 제어기에 송신한 데이터가 보조 제어기들을 거쳐 처리된 후 처리된 데이터가 다시 주 제어기로 수신될 때까지 걸리는 시간이다. t[2]는 제1 보조 제어기에서 송신한 데이터가 다른 보조 제어기들을 거쳐 처리된 후 처리된 데이터를 제1 보조 제어기가 다시 수신할 때까지 소요되는 시간이다.Here, t [n] represents the time taken by the primary controller or the secondary controller to receive data again after processing. Where n is # l + 1. For example, t [1] is the time it takes for the data sent to the primary controller to be processed through the secondary controllers before the processed data is received back to the primary controller. t [2] is a time taken until the first auxiliary controller receives the processed data again after the data transmitted from the first auxiliary controller is processed through the other auxiliary controllers.

여기서, 주 제어기와 제1 보조 제어기 또는 보조 제어기들 사이의 데이터 전송 및 처리 시간은 [수학식 3]과 같이 표현될 수 있다.Here, the data transmission and processing time between the primary controller and the first secondary controller or secondary controllers can be expressed as shown in [Equation 3].

[수학식 3]&Quot; (3) "

L[1]=(t[1]-t[2]-T_For)/2L [1] = (t [1] -t [2] -T_For) / 2

L[2]+T_Pro=(t[2]-t[3]+T_Pro-T_For)/2L [2] + T_Pro = (t [2] -t [3] + T_Pro-T_For) / 2

L[3]+T_Pro=(t[3]-T_For)/2L [3] + T_Pro = (t [3] -T_For) / 2

L[3]+T_For=(t[3]-T_For+2*T_Pro)/2L [3] + T_For = (t [3] -T_For + 2 * T_Pro) / 2

L[2]+T_For=(t[2]-t[3]-T_Pro+T_For)/2L [2] + T_For = (t [2] -t [3] -T_Pro + T_For) / 2

L[1]+T_For=(t[1]-t[2]+T_For)/2L [1] + T_For = (t [1] -t [2] + T_For) / 2

도 11은 본 발명의 다른 실시예에 따른 주 제어기와 보조 제어기가 역방향으로 연결 되어 데이터가 전송될 때의 전파 지연 값을 나타낸 예시도이다.11 is an exemplary diagram illustrating a propagation delay value when data is transmitted by connecting a main controller and a secondary controller in a reverse direction according to another embodiment of the present invention.

T_PDR_l은 데이터가 역방향으로 전송될 때 순차 주소 l인 보조 제어기의 전파 지연 값을 나타낸다.T_PDR_l represents the propagation delay value of the secondary controller at sequential address l when data is transmitted in the reverse direction.

주 제어기와 보조 제어기가 역방향으로 연결 되었을 때, T_PDR_l은 [수학식 4]와 같이 계산된다.When the primary controller and the secondary controller are connected in the reverse direction, T_PDR_l is calculated as shown in [Equation 4].

[수학식 4]&Quot; (4) "

T_PDR_1 = L[3] + L[2] + T_For + L[1] + T_ForT_PDR_1 = L [3] + L [2] + T_For + L [1] + T_For

T_PDR_2 = L[3] + L[2] + T_For + L[1] + T_For + L[1] + T_ProT_PDR_2 = L [3] + L [2] + T_For + L [1] + T_For + L [1] + T_Pro

T_PDR_3 = L[3] + L[2] + T_For + L[1] + T_For + L[1] + T_Pro + L[2] + T_ProT_PDR_3 = L [3] + L [2] + T_For + L [1] + T_For + L [1] + T_Pro + L [2] + T_Pro

또한, 주 제어기 또는 보조 제어기가 역방향으로 송신한 데이터를 처리 후 다시 수신할 때까지 걸리는 시간은 아래의 [수학식 5]와 같이 계산 될 수 있다.In addition, the time taken until the primary controller or the secondary controller receives the data transmitted in the reverse direction again after processing can be calculated as shown in Equation 5 below.

[수학식 5][Equation 5]

t[0] = T_0_1 - T_Rt [0] = T_0_1-T_R

t[1] = T_3_1 - T_3_0t [1] = T_3_1-T_3_0

t[2] = T_2_1t [2] = T_2_1

도 12는 본 발명의 실시예에 따른 연결 라인의 장애에 의한 전파 지연 값 및 타임 오프셋 값을 재설정하는 방법을 나타낸 예시도이다.12 is an exemplary diagram illustrating a method of resetting a propagation delay value and a time offset value due to a failure of a connection line according to an embodiment of the present invention.

도 12에 의하면, 연결 라인의 장애에 의하여 링 토폴로지가 더블 라인 토폴로지로 변경되었다. 즉, 제3 보조 제어기와 제4 보조 제어기 사이의 연결 라인의 장애에 의해서 데이터의 전송 경로가 달라짐을 확인 할 수 있다. 이와 같은 데이터 전송 경로의 변경에 따른 제3 보조 제어기 및 제4 보조 제어기의 전파 지연 값 및 타임 오프셋 값을 재설정 한다.According to FIG. 12, the ring topology is changed to a double line topology due to a failure of the connection line. That is, it can be confirmed that the transmission path of data is changed by the failure of the connection line between the third and fourth auxiliary controllers. The propagation delay value and the time offset value of the third auxiliary controller and the fourth auxiliary controller according to the change of the data transmission path are reset.

초기 링 토폴로지였을 때의 전파 지연 값인 T_SL[n]은 [수학식 6]과 같이 표현된다.The propagation delay value T_SL [n] in the initial ring topology is expressed by Equation 6 below.

[수학식 6]&Quot; (6) "

T_SL[3]=L[1]+L[2]+T_Pro+L[3]+T_ProT_SL [3] = L [1] + L [2] + T_Pro + L [3] + T_Pro

T_SL[4]=L[1]+L[2]+T_Pro+L[3]+T_Pro+ L[4]+T_ProT_SL [4] = L [1] + L [2] + T_Pro + L [3] + T_Pro + L [4] + T_Pro

연결 라인의 장애로 더블 라인 토폴로지로 변경된 후의 전파 지연 값인 T_DL[n]은 [수학식 7]과 같이 표현된다.The propagation delay value T_DL [n] after changing to the double line topology due to the failure of the connection line is expressed by Equation 7 below.

[수학식 7][Equation 7]

T_SL[3]=L[0]+L[4]+T_For+T_For T_SL [3] = L [0] + L [4] + T_For + T_For

T_SL[4]=L[0]+L[4]+T_For+T_For+L[4]+T_ProT_SL [4] = L [0] + L [4] + T_For + T_For + L [4] + T_Pro

이와 같이, 초기 전파 지연 값 및 토폴로지 변경 후의 전파 지연 값을 이용하여 [수학식 8]과 같이 타임 오프셋 값인 T_OFF를 재계산 할 수 있다.In this manner, the time offset value T_OFF can be recalculated using Equation 8 using the initial propagation delay value and the propagation delay value after the topology change.

[수학식 8][Equation 8]

T_OFF_3=기존 값-(T_SL[3]-T_DL[3])T_OFF_3 = Old Value- (T_SL [3] -T_DL [3])

T_OFF_4=기존 값-(T_SL[4]-T_DL[4])T_OFF_4 = Existing Value- (T_SL [4] -T_DL [4])

여기서, 기존 값은 초기 링 토폴로지였을 때의 제3 보조 제어기와 제4 보조 제어기 각각의 타임 오프셋 값이 초기 타임 오프셋 값이다.Here, the existing value is the time offset value of each of the third and fourth auxiliary controllers in the initial ring topology.

이와 같이, 연결 라인의 장애가 검출 되었을 때, 초기 전파 지연 및 초기 오프셋 값을 이용하여, 변경된 토폴로지의 변화에 상응하는 타임 오프셋 값을 간단한 수식으로 재 설정이 가능하다.As such, when a failure of the connection line is detected, the time offset value corresponding to the change of the changed topology may be reset by a simple equation by using the initial propagation delay and the initial offset value.

본 발명의 실시예에서는 링 토폴로지를 기준으로 연결 라인의 장애가 발생하였을 경우, 장애가 발생한 연결 라인의 위치에 따라서 라인 토폴로지 또는 더블 라인 토폴로지로 변경 될 수 있음이 설명된다. 그러나 변경 가능한 토폴로지는 이에 한정되지 않고, 초기 토폴로지의 종류 및 장애가 발생한 연결 라인의 위치에 따라 다양한 네트워크 토폴로지로 변경 및 확장이 가능하다.In the embodiment of the present invention, when a failure of a connection line occurs on the basis of a ring topology, it may be explained that a line topology or a double line topology may be changed according to the position of the connection line where the failure occurs. However, the changeable topology is not limited to this, and can be changed and expanded to various network topologies according to the type of initial topology and the location of the failed connection line.

본 발명에 따른 네트워크 기반 로봇 제어 방법 및 장치는 제어기들 간에 특정 동작이 계획되어 있는 시간의 불일치 때문에 발생되는 동작으로 인한 제어 시스템 전체의 성능 저하를 방지하는 것이 가능하다는 이점이 있다.Network-based robot control method and apparatus according to the present invention has the advantage that it is possible to prevent the performance degradation of the entire control system due to the operation caused by the inconsistency of the time that the specific operation is planned between the controller.

또한, 네트워크 케이블 오류에 대처 가능한 잉여 케이블링(Cabling Redundancy) 가능하다는 이점이 있다.In addition, there is an advantage in that redundant cabling (Cabling Redundancy) capable of coping with network cable failure.

또한, 실시간 머지(Merge) 작업으로 네트워크 케이블 오류가 발생되어도 시스템의 논리적 처리에 영향을 미치지 않는다는 이점이 있다.In addition, even if a network cable error occurs due to a real-time merge operation, it does not affect the logical processing of the system.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art to which the present invention pertains without departing from the spirit and scope of the present invention as set forth in the claims below It will be appreciated that modifications and variations can be made.

도 1은 본 발명의 실시예에 따른 네트워크 기반 로봇 제어 시스템을 나타낸 블록도.1 is a block diagram showing a network-based robot control system according to an embodiment of the present invention.

도 2는 네트워크 기반 로봇 제어 시스템의 주 제어기에 대한 내부 블록도.2 is an internal block diagram of a main controller of a network-based robot control system.

도 3은 네트워크 기반 로봇 제어 시스템의 보조 제어기에 대한 내부 블록도.3 is an internal block diagram of an auxiliary controller of a network-based robot control system.

도 4는 본 발명의 실시예에 따른 네트워크 기반 로봇 제어 방법을 나타낸 순서도.4 is a flow chart showing a network-based robot control method according to an embodiment of the present invention.

도 5는 본 발명의 실시예에 따른 초기 타임 오프셋 값 및 초기 전파 지연 값을 추출하는 방법을 나타낸 순서도.5 is a flowchart illustrating a method of extracting an initial time offset value and an initial propagation delay value according to an embodiment of the present invention.

도 6은 본 발명의 실시예에 따른 연결 장애를 검출하는 방법을 나타낸 순서도.6 is a flowchart illustrating a method for detecting a connection failure according to an embodiment of the present invention.

도 7은 본 발명의 실시예에 따라 연결 라인의 장애에 의한 네트워크 토폴로지 변화를 나타낸 예시도.7 is an exemplary view illustrating a change in network topology due to a failure of a connection line according to an embodiment of the present invention.

도 8은 본 발명의 실시예에 따라 네트워크 토폴로지에 따른 데이터 송수신 경로를 나타낸 예시도.8 is an exemplary view showing a data transmission and reception path according to a network topology according to an embodiment of the present invention.

도 9는 본 발명의 실시예에 따른 전파 지연 값과 타임 오프셋 값을 계산하기 위한 변수에 대한 정의를 나타낸 예시도.9 is an exemplary view showing definitions of variables for calculating a propagation delay value and a time offset value according to an embodiment of the present invention.

도 10은 본 발명의 다른 실시예에 따른 주 제어기와 보조 제어기가 순방향으로 연결 되어 데이터가 전송될 때의 전파 지연 값을 나타낸 예시도.10 is an exemplary diagram illustrating a propagation delay value when data is transmitted by connecting a primary controller and a secondary controller in a forward direction according to another embodiment of the present invention.

도 11은 본 발명의 다른 실시예에 따른 주 제어기와 보조 제어기가 역방향으 로 연결 되어 데이터가 전송될 때의 전파 지연 값을 나타낸 예시도.11 is an exemplary diagram illustrating a propagation delay value when data is transmitted by connecting a primary controller and a secondary controller in a reverse direction according to another embodiment of the present invention.

도 12는 본 발명의 실시예에 따른 연결 라인의 장애에 의한 전파 지연 값 및 타임 오프셋 값을 재설정하는 방법을 나타낸 예시도.12 is an exemplary view illustrating a method of resetting a propagation delay value and a time offset value due to a failure of a connection line according to an embodiment of the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

101 201 : 주 제어기101 201: main controller

102 301 : 보조 제어기102 301: Auxiliary Controller

103 : 연결 라인103: connection line

202 302 : 시간 일치 제어부202 302: time matching controller

203 : 계산부203: calculation unit

204 : 저장부204: storage unit

205 : 머지205: Merge

206 303 : 내부 시계206 303: Internal Clock

207 304 : 제1 송수신부207 304: first transceiver

208 305 : 제2 송수신부208 305: second transceiver

Claims (17)

주 제어기와 다수의 보조 제어기를 구비하는 네트워크 기반 로봇 제어 방법에 있어서,In the network-based robot control method comprising a main controller and a plurality of auxiliary controllers, (a) 주 제어기에서 다수의 보조 제어기의 초기 타임 오프셋 값과 연결 라인들의 초기 전파 지연 값을 추출하는 단계;(a) extracting initial time offset values of the plurality of auxiliary controllers and initial propagation delay values of the connection lines in the primary controller; (b) 상기 주 제어기에서 실행 데이터를 상기 보조 제어기들로 전송하는 단계;(b) sending execution data to the secondary controllers at the primary controller; (c) 주 제어기, 보조 제어기 또는 상기 연결 라인 중 어느 하나의 장애를 검출하는 단계;(c) detecting a failure of either the primary controller, the secondary controller or the connection line; (d) 상기 장애 검출 결과, 상기 연결 라인 장애 검출 시 네트워크 토폴로지를 변경하는 단계; 및(d) changing a network topology upon detecting the connection line failure as a result of the failure detection; And (e)상기 변경된 네트워크 토폴로지에 상응하여 상기 보조 제어기의 타임 오프셋 값과 상기 연결 라인의 전파 지연 값을 재설정 하는 단계를 포함하는 것을 특징으로 하는 로봇 제어 방법.and (e) resetting a time offset value of the auxiliary controller and a propagation delay value of the connection line according to the changed network topology. 제 1항에 있어서,The method of claim 1, 상기 (a)단계는,In step (a), (a1) 상기 주 제어기가 상기 초기 타임 오프셋 값 설정을 위한 임의의 데이 터인 초기 설정 데이터를 상기 보조 제어기들로 전송하는 단계;(a1) the primary controller transmitting initial configuration data to the secondary controllers which is any data for setting the initial time offset value; (a2) 상기 보조 제어기들이 수신한 상기 초기 설정 데이터를 처리하는 단계;(a2) processing the initial configuration data received by the auxiliary controllers; (a3) 상기 보조 제어기들이 상기 처리된 초기 설정 데이터를 상기 주 제어기로 전송하는 단계; 및(a3) the secondary controllers transmitting the processed initial configuration data to the primary controller; And (a4) 상기 주 제어기는 상기 보조 제어기들로부터 수신한 상기 처리된 초기 설정 데이터를 이용하여 상기 초기 전파 지연 값 및 타임 오프셋 값을 설정하는 단계를 포함하는 것을 특징으로 하는 로봇 제어 방법.(a4) the main controller comprising setting the initial propagation delay value and the time offset value using the processed initial setting data received from the auxiliary controllers. 제 1항에 있어서,The method of claim 1, 상기 (c)단계는,Step (c) is, (c1) 상기 보조 제어기들이 수신한 상기 실행 데이터를 처리하는 단계;(c1) processing the execution data received by the auxiliary controllers; (c2) 상기 처리된 실행 데이터를 상기 주 제어기로 전송하는 단계; 및(c2) sending the processed execution data to the main controller; And (c3) 상기 주 제어기가 수신한 상기 처리된 실행 데이터에 포함된 상기 보조 제어기들의 상기 실행 데이터의 송수신 시간 및 처리 시간을 이용하여 상기 주 제어기, 보조 제어기 또는 상기 연결 라인의 장애를 검출하는 단계를 포함하는 것을 특징으로 하는 로봇 제어 방법.(c3) detecting a failure of the main controller, the auxiliary controller or the connection line by using the transmission / reception time and the processing time of the execution data of the auxiliary controllers included in the processed execution data received by the main controller. Robot control method comprising a. 제 1항에 있어서,The method of claim 1, 상기 (d)단계는,In step (d), 상기 검출된 상기 연결 라인의 장애 위치에 따라서 라인 토폴로지, 링 토폴로지 또는 더블 라인 토폴로지로 변경되는 것을 특징으로 하는 로봇 제어 방법.And a line topology, a ring topology, or a double line topology according to the detected fault position of the connection line. 제 1항에 있어서,The method of claim 1, 상기 주 제어기는 직접적으로 연결된 복수개의 보조 제어기로 데이터를 송신할 때, 상기 복수개의 보조 제어기에 송신하는 데이터는 모두 같은 데이터 인 것을 특징으로 하는 로봇 제어 방법.And when the main controller transmits data to a plurality of directly connected secondary controllers, the data to be transmitted to the plurality of secondary controllers are all the same data. 제 5항에 있어서,The method of claim 5, 상기 주 제어기는 직접적으로 연결된 복수개의 보조 제어기로부터 처리된 데이터들을 수신할 때, 상기 주 제어기는 상기 처리된 데이터들 중에서 하나의 처리된 데이터를 취득하는 것을 특징으로 하는 로봇 제어 방법.And when the main controller receives processed data from a plurality of directly connected secondary controllers, the main controller acquires one processed data among the processed data. 제 3항에 있어서,The method of claim 3, wherein 상기 처리된 데이터는 상기 보조 제어기들의 상기 데이터 송수신 시간 및 처리 시간이 저장되어 있는 것을 특징으로 하는 로봇 제어 방법.The processed data is a robot control method characterized in that the data transmission time and processing time of the auxiliary controllers are stored. 제 1항에 있어서,The method of claim 1, 상기 타임 오프셋은 상기 주 제어기가 데이터를 전송할 때의 상기 주 제어기의 내부 시계(Local Timer) 값과 상기 보조 제어기가 상기 데이터를 수신했을 때의 상기 보조 제어기의 내부 시계 값의 차이인 것을 특징으로 하는 로봇 제어 방법.The time offset is a difference between an internal clock value of the main controller when the main controller transmits data and an internal clock value of the auxiliary controller when the auxiliary controller receives the data. Robot control method. 제 1항에 있어서,The method of claim 1, 상기 전파 지연은 상기 주 제어기에서 데이터를 전송한 시간과 상기 보조 제어기에서 상기 데이터를 수신한 시간의 차이인 것을 특징으로 하는 로봇 제어 방법.The propagation delay is a robot control method, characterized in that the difference between the time the data is transmitted from the primary controller and the time the data is received from the secondary controller. 주 제어기와 다수의 보조 제어기를 구비하는 네트워크 기반 로봇 제어 장치에 있어서,In the network-based robot control device having a main controller and a plurality of auxiliary controllers, 상기 보조 제어기로 데이터를 전송하는 송신부;A transmitter for transmitting data to the auxiliary controller; 상기 보조 제어기의 데이터 송수신 시간 및 데이터 처리 시간을 포함한 데이터를 수신하는 수신부;A receiver configured to receive data including a data transmission / reception time and a data processing time of the auxiliary controller; 상기 수신부로 수신된 상기 데이터에 포함된 상기 보조 제어기에서의 데이터 송수신 시간 및 처리 시간을 이용하여 각 보조 제어기의 전파 지연 및 타임 오프셋을 계산하는 계산부;A calculator configured to calculate a propagation delay and a time offset of each auxiliary controller using data transmission / reception time and processing time of the auxiliary controller included in the data received by the receiver; 상기 계산부에 의한 전파 지연, 타임 오프셋 및 주 제어기의 데이터 전송시간을 이용하여 상기 주 제어기와 상기 보조 제어기의 시간을 일치시키는 시간 일치 제어부; 및A time coincidence control unit which matches the time of the main controller and the auxiliary controller using the propagation delay, the time offset, and the data transmission time of the main controller by the calculation unit; And 상기 주 제어기 및 상기 보조 제어기의 데이터 송수신 시간, 데이터 처리 시간, 전파 지연 또는 타임 오프셋을 저장하는 저장부를 포함하는 로봇 제어 장치.And a storage unit for storing data transmission / reception time, data processing time, propagation delay, or time offset of the main controller and the auxiliary controller. 제 10항에 있어서,The method of claim 10, 상기 주 제어기 및 상기 보조 제어기는 두 개의 송수신부를 포함하여 구성되는 것을 특징으로 하는 로봇 제어 장치.The main controller and the auxiliary controller is configured to include two transceivers. 제 10항에 있어서,The method of claim 10, 상기 주 제어기는 상기 송신부의 데이터 송신 및 상기 수신부의 데이터 수신 가능 여부에 의해서 네트워크 토폴로지를 식별하는 것을 특징으로 하는 로봇 제어 장치.The main controller identifies a network topology based on whether data transmission of the transmitter and data reception of the receiver are possible. 제 10항에 있어서,The method of claim 10, 상기 주 제어기 및 상기 보조 제어기는 상기 데이터의 송수신 시간 및 상기 데이터의 처리 시간을 계측하는 내부 시계를 포함하는 것을 특징으로 하는 로봇 제어 장치.The main controller and the auxiliary controller includes an internal clock for measuring the transmission and reception time of the data and the processing time of the data. 제 10항에 있어서,The method of claim 10, 상기 타임 오프셋은 상기 주 제어기가 데이터를 전송할 때의 상기 주 제어기의 내부 시계 값과 상기 보조 제어기가 상기 데이터를 수신했을 때의 상기 보조 제어기의 내부 시계 값의 차이인 것을 특징으로 하는 로봇 제어 장치.And the time offset is a difference between an internal clock value of the main controller when the main controller transmits data and an internal clock value of the auxiliary controller when the auxiliary controller receives the data. 제 10항에 있어서,The method of claim 10, 상기 전파 지연은 상기 주 제어기에서 데이터를 전송한 시간과 상기 보조 제어기에서 상기 데이터를 수신한 시간의 차이인 것을 특징으로 하는 로봇 제어 장치.The propagation delay is a robot control apparatus, characterized in that the difference between the time the data is transmitted from the primary controller and the time the data is received from the secondary controller. 제 10항에 있어서,The method of claim 10, 상기 주 제어기는 머지(Merge)를 더 포함하는 것을 특징으로 하는 로봇 제어 장치.The main controller further comprises a merge (Merge). 제 13항에 있어서,The method of claim 13, 상기 주 제어기는 상기 주 제어기와 직접적으로 연결된 복수개의 상기 보조 제어기로부터 데이터들을 수신하였을 때, 실시간으로 수행되는 상기 머지의 작업에 의해서 하나의 데이터를 취득하는 것을 특징으로 하는 로봇 제어 장치.And when the main controller receives data from the plurality of auxiliary controllers directly connected to the main controller, acquires one data by the merge operation performed in real time.
KR1020090088213A 2009-09-17 2009-09-17 Apparatus and method for robot control based network KR101148060B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090088213A KR101148060B1 (en) 2009-09-17 2009-09-17 Apparatus and method for robot control based network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090088213A KR101148060B1 (en) 2009-09-17 2009-09-17 Apparatus and method for robot control based network

Publications (2)

Publication Number Publication Date
KR20110030191A true KR20110030191A (en) 2011-03-23
KR101148060B1 KR101148060B1 (en) 2012-05-24

Family

ID=43935984

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090088213A KR101148060B1 (en) 2009-09-17 2009-09-17 Apparatus and method for robot control based network

Country Status (1)

Country Link
KR (1) KR101148060B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101400319B1 (en) * 2012-07-13 2014-05-28 삼성중공업 주식회사 Star topology network based control system and time synchronization method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100202706B1 (en) * 1996-10-05 1999-06-15 이종수 Plc remote control system
KR20080085477A (en) * 2007-03-20 2008-09-24 주식회사 케이티 Grand clock master selection and time sync method in synchronous ethernet

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101400319B1 (en) * 2012-07-13 2014-05-28 삼성중공업 주식회사 Star topology network based control system and time synchronization method

Also Published As

Publication number Publication date
KR101148060B1 (en) 2012-05-24

Similar Documents

Publication Publication Date Title
JP5154761B2 (en) Applications of multiple time synchronization domains
US9148297B2 (en) Information processor and control network system
US11444747B2 (en) Measure and improve clock synchronization using combination of transparent and boundary clocks
US9208037B2 (en) Duplexed operation processor control system, and duplexed operation processor control method
RU2679706C2 (en) Two-channel architecture
CN106664145A (en) Method for transmitting time synchronization messages in a communication network, network component, and communication network
US11314772B2 (en) Robust data replication among data centers
CN104579534A (en) Clock synchronization method and system in SDH network
JP5120097B2 (en) Time synchronization system and time synchronization apparatus
CN110754067B (en) Control system and control method
JP6298524B2 (en) Method, apparatus and system for device matching
JP5643240B2 (en) Time setting method, communication device, and time setting program
JP4855878B2 (en) Multi-ring network system
JP6114096B2 (en) Time synchronization method between robots
KR101148060B1 (en) Apparatus and method for robot control based network
CN110771100B (en) Control system and control method
US20150382051A1 (en) Time synchronizing method, time connecting system, time master instrument, and time slave instrument
US10530602B2 (en) Operating a highly available automation system
WO2021010166A1 (en) Serial communication method and serial communication system
JP2020101995A (en) Control system and control apparatus
JP6274436B2 (en) Redundant control system
JP3706332B2 (en) Process control device
JPH0462081B2 (en)
JP2018207352A (en) Network connection method
WO2023233588A1 (en) Time synchronization device, time synchronization method, and time synchronization program

Legal Events

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

Payment date: 20150504

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 8