KR102039274B1 - 다수의 로봇의 협력 동작을 동기식으로 제어하기 위한 방법 및 시스템 - Google Patents

다수의 로봇의 협력 동작을 동기식으로 제어하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR102039274B1
KR102039274B1 KR1020180117676A KR20180117676A KR102039274B1 KR 102039274 B1 KR102039274 B1 KR 102039274B1 KR 1020180117676 A KR1020180117676 A KR 1020180117676A KR 20180117676 A KR20180117676 A KR 20180117676A KR 102039274 B1 KR102039274 B1 KR 102039274B1
Authority
KR
South Korea
Prior art keywords
robot
dataset
main station
master
updated
Prior art date
Application number
KR1020180117676A
Other languages
English (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 하이윈 테크놀로지스 코포레이션
Application granted granted Critical
Publication of KR102039274B1 publication Critical patent/KR102039274B1/ko

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/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • 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/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping

Landscapes

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

Abstract

다수의 로봇의 협력 동작을 동기식으로 제어하는 방법에 있어서, 메인 스테이션 제어기(10)는 보조 스테이션 데이터세트를 수신하고, 그것에 기초하여 업데이트된 마스터 로봇 데이터세트를 특정의 주기적 동기 시간 내에 획득한다. 업데이트된 마스터 로봇 데이터세트에 기초하여, 메인 스테이션 제어기(10)는 메인 스테이션 제어기(10)에 관련된 업데이트된 메인 스테이션 데이터세트 및 보조 스테이션 제어기(20)에 관련된 업데이트된 보조 스테이션 데이터세트를 획득한다. 그 후, 업데이트된 보조 스테이션 데이터세트는 보조 스테이션 제어기(20)에 전송된다. 업데이트된 메인 스테이션 데이터세트를 사용하여 메인 스테이션 제어기(10)는 연관된 로봇에 대한 제어 커맨드를 생성한다. 보조 스테이션 제어기(20)는 업데이트된 보조 스테이션 데이터세트를 사용하여 연관된 로봇에 대한 제어 커맨드를 생성한다.

Description

다수의 로봇의 협력 동작을 동기식으로 제어하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR SYNCHRONOUSLY CONTROLLING COOPERATIVE OPERATION OF MULTIPLE ROBOTS}
본 발명은 다수의 로봇의 협력 동작을 동기식으로 제어하기 위한 방법 및 시스템에 관한 것이다.
미국 특허 제6330493호는 복수의 로봇(321-324)(도 13 참조)의 협력을 위한 종래의 제어 시스템을 개시한다. 종래의 제어 시스템에서, 복수의 로봇(321-324)은 각각 복수의 로봇 제어기(311-314)에 의해 제어되고, 복수의 로봇 제어기(311-314)는 통신 라인(L)에 의해 상호 접속된다.
이러한 구성에서, 로봇 제어기(311-314) 중 하나는 마스터 로봇이라고 지칭되는 로봇(321-324) 중 하나를 제어하는 데 사용되는 마스터 로봇 제어기로서 선택되고 로봇(321-324) 중 나머지는 슬레이브 로봇으로 지칭된다. 마스터 로봇 제어기는 또한 마스터 로봇에 관한 데이터를 슬레이브 로봇 제어기라고 지칭되는 다른 로봇 제어기에 전송한다. 이와 같이, 슬레이브 로봇 제어기의 각각은 대응하는 슬레이브 로봇을 제어하도록 구성되어 동기식 협력 동작을 수행한다. 더 많은 로봇을 제어하기 위해 종래의 제어 시스템을 확장하기 위해서는 종래의 제어 시스템의 구성에 따른 로봇 제어기의 개수가 증가되는 동시에 통신 라인(L)의 수가 상당히 증가된다.
본 발명의 하나의 목적은 다수의 로봇의 협력 동작을 동기식으로 제어하는 방법을 제공하는 것이다.
본 발명의 일 실시예에 따르면, 제어 시스템에 의해 구현되는 방법은 메인 스테이션 제어기 및 메인 스테이션 제어기에 연결된 보조 스테이션 제어기를 포함한다. 메인 스테이션 제어기는 로봇의 수(P0)에 연결된다. 보조 스테이션 제어기는 P0≥1 및 Pi≥1인 로봇의 수(Pi)에 연결된다. 각각의 로봇은 메인 스테이션 제어기와 보조 스테이션 제어기 중 하나에만 연결되며, 로봇의 협력에서 마스터 로봇, 슬레이브 로봇 및 독립 로봇 중 하나로서 기능한다. 마스터 로봇은 적어도 하나의 슬레이브 로봇과 협력적으로 연관되어 있다. 이 방법은 사전결정된 시간 길이의 주기적 동기 시간 내에,
a) 보조 스테이션 제어기로부터의 보조 스테이션 데이터세트의 수신에 응답하여, 적어도 상기 보조 스테이션 데이터세트 및 로봇의 수(P0)의 현재의 동기화 상태에 기초하여 협력에 관한 메인 스테이션 데이터세트를 메인 스테이션 제어기에 의해 설정하는 단계 - 상기 보조 스테이션 데이터세트는 로봇의 수(Pi)의 현재의 동기화 상태와 관련되고, 동기식 커맨드를 포함하고, 상기 메인 스테이션 데이터세트는 동기식 커맨드를 포함함 - 와;
b) 업데이트된 마스터 로봇 데이터세트를 획득하기 위해, 상기 메인 스테이션 데이터세트 및 상기 보조 스테이션 데이터세트에 기초하여, 이전의 주기적 동기 시간 동안 마스터 로봇으로 작용한 로봇 중 적어도 하나와 관련된 과거의 마스터 로봇 데이터세트에 대한 업데이트를 상기 메인 스테이션 제어기에 의해 수행하는 단계 - 상기 마스터 로봇에 대한 업데이트된 마스터 로봇 데이터세트는 상기 마스터 로봇에 대해 고유하게 할당된 식별 코드, 상기 마스터 로봇과 협력하도록 예상된 슬레이브 로봇의 사전결정된 수, 상기 마스터 로봇의 동기 상태, 및 상기 마스터 로봇과 협력하며 상기 마스터 로봇의 동기 상태에 대응하는 제어 커맨드에 의해 제어되는 슬레이브 로봇의 누적된 수를 포함함 - 와;
c) 상기 메인 스테이션 제어기에 관련된 업데이트된 메인 스테이션 데이터세트를 획득하기 위해, 상기 업데이트된 마스터 로봇 데이터세트에 기초하여 상기 메인 스테이션 데이터세트에 대한 업데이트를 상기 메인 스테이션 제어기에 의해 수행하는 단계와;
c') 상기 보조 스테이션 제어기에 관련된 업데이트된 보조 스테이션 데이터세트를 획득하기 위해, 상기 업데이트된 마스터 로봇 데이터세트에 기초하여 상기 보조 스테이션 데이터세트에 대한 업데이트를 상기 메인 스테이션 제어기에 의해 수행하는 단계와;
d) 상기 메인 스테이션 제어기에 의해, 상기 업데이트된 보조 스테이션 데이터세트를 상기 보조 스테이션 제어기에 전송하는 단계와;
e) 상기 로봇의 수(P0)에 관련된 업데이트된 동기화 상태를 획득하기 위해, 상기 업데이트된 메인 스테이션 데이터세트에 기초하여 상기 로봇의 수(P0)의 현재의 동기화 상태에 대한 업데이트를 상기 메인 스테이션 제어기에 의해 수행하는 단계와;
e') 상기 로봇의 수(P0)에 관련된 상기 업데이트된 동기화 상태 및 상기 업데이트된 메인 스테이션 데이터세트에 기초하여 상기 로봇의 수(P0)에 대한 제각기의 제어 커맨드의 수(P0)를 상기 메인 스테이션 제어기에 의해 생성하는 단계와;
f) 상기 업데이트된 보조 스테이션 데이터세트의 수신에 응답하여, 상기 로봇의 수(Pi)에 관련된 업데이트된 동기화 상태를 획득하기 위해, 상기 로봇의 수(Pi)의 현재의 동기화 상태를 상기 보조 스테이션 제어기에 의해 업데이트하는 단계와;
f') 상기 로봇의 수(Pi)에 관련된 상기 업데이트된 동기화 상태 및 상기 업데이트된 보조 스테이션 데이터세트에 기초하여 상기 로봇의 수(Pi)에 대한 제각기의 제어 커맨드의 수(Pi)를 상기 보조 스테이션 제어기에 의해 생성하는 단계와;
g) 로봇을 구동하여 동기화된 방식으로 협력 동작을 수행하도록, 상기 메인 스테이션 제어기에 의해 제어 커맨드의 수(P0)를 로봇의 수(P0)에 제각기 전송하고, 상기 보조 스테이션 제어기에 의해 제어 커맨드의 수(Pi)를 로봇의 수(Pi)에 제각기 전송하는 단계를 포함한다.
본 발명의 다른 목적은 전술한 방법을 구현할 수 있는 제어 시스템을 제공하는 것이다.
본 발명의 다른 특징 및 이점은 첨부 도면을 참조하는 실시예(들)에 대한 다음의 상세한 설명에서 명백해질 것이다.
도 1은 본 발명의 일 실시예에 따라 다수의 로봇의 협력 동작을 동기식으로 제어하기 위한 제어 시스템을 예시하는 블록도이다.
도 2는 도 1의 실시예에 구현된 예시적인 로봇 제어기를 예시하는 블록도이다.
도 3은 본 발명의 일 실시예에 따라 제어 시스템에 의해 구현되는 다수의 로봇의 협력 동작을 동기식으로 제어하기 위한 방법의 단계를 예시하는 흐름도이다.
도 4 내지 도 7은 현재의 마스터 로봇 데이터세트에 대한 업데이트를 수행하기 위한 상이한 절차를 예시하는 흐름도이다.
도 8 내지 도 12는 업데이트된 마스터 로봇 데이터세트에 기초하여 메인 스테이션 데이터세트에 대한 업데이트를 수행하기 위한 상이한 절차를 예시하는 흐름도이다.
도 13은 복수의 로봇의 협력 동작을 수행하기 위해 관련 로봇을 동기식으로 제어하는 종래의 로봇 제어기의 필수 부분을 나타내는 블록도이다.
도 1은 본 발명의 일 실시예에 따라 다수의 로봇의 협력 동작을 동기식으로 제어하기 위한 제어 시스템(100)을 예시하는 블록도이다. 특히, 제어 시스템(100)은, 다수의 로봇이 협력하여 동작하도록, 즉 다수의 로봇 간의 협력을 제어하도록, 다수의 로봇을 동기식으로 제어하도록 구성된다.
제어 시스템(100)은 복수의 로봇 제어기 및 필드 버스 네트워크(field bus network)(30)를 포함한다. 구체적으로, 로봇 제어기 중 하나는 메인 스테이션 제어기(10)로 지정되고, 다른 로봇 제어기 중 적어도 하나는 보조 스테이션 제어기(20)로 지정된다. 이 실시예에서, 3 개의 보조 스테이션 제어기(20)(20a, 20b 및 20c로 표기됨)가 존재하고, 메인 스테이션 제어기(10) 및 3 개의 보조 스테이션 제어기(20)는 필드 버스 네트워크(30)를 통해 데이지 체인 방식으로 함께 배선된다. 이러한 방식으로, 로봇 제어기는 서로 통신할 수 있다.
각각의 로봇 제어기에 대해, 로봇의 수(Pi)는 로봇 제어기에 연결되어 로봇 제어기에 의해 제어되며, 여기서 i는 해당 로봇 제어기에 대한 참조 색인을 나타낸다. 구체적으로, 메인 스테이션 제어기(10)는 로봇의 수(P0)에 연결되고, 보조 스테이션 제어기(20a)는 로봇의 수(P1)에 연결되고, 보조 스테이션 제어기(20b)는 로봇의 수(P2)에 연결되고, 보조 스테이션 제어기(20c)는 로봇의 수(P3)에 연결된다. 본 명세서에서, "로봇"이라는 용어는 로봇 암, 선형 샤프트, 회전 플랫폼, 포지셔너 등과 같은 제어 시스템(100)에 의해 작동될 기계 장치를 지칭할 수 있다. 이 실시예에서, P = P0 + P1 + P2 + P3 인 201 내지 207로 표시된 로봇의 번호(P)가 존재한다(즉, P=7). 여기서, 제어 시스템(100)은 7 개의 로봇(201-207)이 협력적으로 동작하게 7 개의 로봇(201-207)을 동기식으로 제어하도록(즉, 7 개의 로봇(201-207)의 협업을 제어하도록) 로봇 제어기(10, 20)를 함께 협력하여 이용하도록 구성된다.
본원에서 "동기식 협력 동작"은 동기식으로 제어되는 동안 특정 동작 목표를 완성하기 위해 다수의 로봇 사이의 협력을 기술하는 것으로 의미하며, 반드시 로봇이 모두 서로 동기화되어 동일한 방식으로 이동한다는 것을 의미하는 것은 아니다는 것이 이해되어야 한다. 일 예에서, 두 개의 로봇 팔은 동기식으로 제어되어 물체를 들어 올리는 것과 같은 협력 작업을 수행할 수 있다.
각각의 로봇은 로봇 제어기 중 하나에 의해서만 제어된다. 예를 들어, 도 1에 도시된 실시예에서, 로봇(201)은 메인 스테이션 제어기(10)에 의해 제어되며(P0 = 1), 로봇(202 및 203)은 보조 스테이션 제어기(20a)에 의해 제어되며(P1 = 2), 로봇(204 내지 206)은 보조 스테이션 제어기(20b)에 의해 제어되며(P2 = 3), 로봇(207)은 보조 스테이션 제어기(20c)에 의해 제어된다(P3 = 1). 각각의 로봇은 마스터 로봇, 슬레이브 로봇 및 독립 로봇 중 하나로서 기능하도록 지정될 수 있다. 구체적으로, 마스터 로봇은 하나 이상의 슬레이브 로봇과 연관되어 전체적으로 동기식으로 협력하고, 슬레이브 로봇은 하나의 특정 마스터 로봇과 연관될 수 있다. 마스터 로봇 또는 슬레이브 로봇으로 지정되지 않은 로봇은 독립 로봇으로 간주된다. 즉, 독립 로봇은 제어 시스템(100) 내의 다른 로봇과 협력하지 않는다.
도 2는 도 1의 실시예에 구현된 예시적인 로봇 제어기(이는 메인 스테이션 제어기(10) 및 보조 스테이션 제어기(20) 중 하나로서 이용될 수 있음)를 도시하는 블록도이다. 각각의 로봇 제어기(10, 20)는 메모리 모듈(1), 필드 버스 인터페이스(2), 처리 유닛(3) 및 액추에이터(4)를 포함한다.
메모리 모듈(1)은 물리적 저장 매체를 사용하여 구현될 수 있으며, 제 1 저장 장치(11) 및 제 2 저장 장치(12)를 포함한다. 예를 들어, 메모리 모듈(1)은 ROM, RAM, 자기 디스크 저장 매체(예를 들어, 하드 디스크 드라이브), 광학 저장 매체, 플래시 메모리 장치, SSD(solid state device) 등을 포함할 수 있지만, 이에 국한되는 것은 아니다. 제 1 저장 장치(11)는 데이터 버퍼로서 기능한다. 제 2 저장 장치(12)는 내부 메모리로서 기능한다. 적어도 메인 스테이션 제어기(10)의 제 2 저장 장치(12)는 과거의 마스터 로봇 데이터세트를 저장한다. 과거의 마스터 로봇 데이터세트는 최신의 주기적 동기 시간 동안 마스터 로봇으로서 작용한 로봇(201-207) 중 적어도 하나와 관련된다. 본원 전체에 걸쳐, "주기적 동기 시간"이라는 용어는 하나의 특정 데이터의 세트가 필드 버스 네트워크(30)를 통해 각각의 로봇에 전송되는 특정 시간 주기를 지칭한다. 일부 실시예에서, 주기적 동기 시간은 1 밀리초(ms)의 길이이다.
이 실시예에서, 과거의 마스터 로봇 데이터세트는, 이전의 주기적 동기 시간의 마스터 로봇에 대해, 상기 마스터 로봇에 고유하게 할당된 식별 코드, 상기 마스터 로봇과 협력하도록 예상된 슬레이브 로봇의 사전결정된 수, 상기 마스터 로봇의 동기 상태, 및 최신의 주기적 동기 시간 내에, 상기 마스터 로봇과 협력하고 상기 마스터 로봇의 동기 상태에 대응하는 제어 커맨드에 의해 제어되는 것을 포함한다. 주목할 것은, 슬레이브 로봇의 누적된 수가 마스터 로봇과 협력하도록 예상된 슬레이브 로봇의 사전결정된 수와 동일하다는 것이 결정될 경우, 마스터 로봇은 로봇 간의 협력 동작의 동기식 제어를 행할 준비가 되어 있다는 것이다.
필드 버스 인터페이스(2)는 처리 유닛(3)을 필드 버스 네트워크(30)에 연결하도록 구성된다. 이러한 방식으로, 각각의 로봇 제어기(10, 20)는 필드 버스 네트워크(30)를 통해 서로 통신할 수 있다.
처리 유닛(3)은 메모리 모듈(1), 필드 버스 인터페이스(2) 및 액추에이터(4)에 연결된다. 처리 유닛(3)은 모션 보간 커맨드 모듈(301) 및 보간 보상 커맨드 모듈(302)을 포함한다. 용어 "처리 유닛"은 레지스터 및/또는 메모리로부터 전자 데이터를 처리하여 그 전자 데이터를 다른 전자 데이터로 변환하는 임의의 장치 또는 장치의 일부를 지칭할 수 있다. 예를 들어, 처리 유닛(3)은 단일 코어 프로세서, 멀티 코어 프로세서, 듀얼 코어 모바일 프로세서, 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서(DSP), 필드 프로그램 가능한 게이트 어레이(FPGA), 주문형 집적회로(application specific integrated circuit:ASIC), 무선주파수 집적회로(radio-frequency integrated circuit:RFIC) 등을 포함할 수 있지만, 이에 국한되는 것은 아니다. 모션 보간 커맨드 모듈(301) 및 보간 보상 커맨드 모듈(302)의 동작은 표준 프로그래밍 및/또는 엔지니어링 기술을 사용하여 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합을 생성하는 방법, 장치, 논리 회로 또는 컴퓨터 판독 가능 저장 매체로서 구현될 수 있다. 이 동작은 "컴퓨터 판독 가능 저장 매체"에 유지되는 코드 또는 로직으로서 구현될 수 있으며, 이 저장 매체는 기능을 직접 실행할 수 있거나, 처리 유닛(3)이 컴퓨터 판독 가능한 저장 매체로부터의 코드를 판독하여 실행할 수 있다. 컴퓨터 판독 가능한 저장 매체는 자기 저장 매체(예를 들어, 하드 디스크 드라이브, 플로피 디스크, 테이프 등), 광학 저장 장치(CD-ROM, DVD, 광학 디스크 등), 휘발성 및 비휘발성 메모리 장치(예를 들어, EEPROM, ROM, PROM, RAM, DRAM, SRAM, 플래시 메모리, 펌웨어, 프로그래머블 로직 등), SSD(Solid State Devices) 등을 포함할 수 있으나 이에 국한되는 것은 아니다. 컴퓨터 판독 가능한 저장 매체는 하드웨어 장치(예를 들어, 집적 회로 칩, 프로그램 가능 로직 장치, 프로그램 가능 게이트 어레이(PGA), 필드 프로그래머블 게이트 어레이(FPGA), 주문형 집적 회로(ASIC) 등으로 구현되는 디지털 로직을 더 포함할 수 있다.
액추에이터(4)는 처리 유닛(3)에 연결되어 처리 유닛(3)으로부터 하나 이상의 커맨드를 수신하고, 하나 이상의 로봇(201-207)에 연결되어 하나 이상의 로봇 (201-207)이 처리 유닛(3)으로부터 수신된 하나 이상의 커맨드에 기초하여 동작하도록 제어한다. 예를 들면, 메인 스테이션 제어기(10)의 액추에이터(4)는 로봇(201)에 접속되어 로봇(201)의 동작을 제어한다.
도 3은 본 발명의 일 실시예에 따라 제어 시스템(100)에 의해 구현되는 다수의 로봇의 협력을 동기식으로 제어하기 위한 방법의 단계를 예시하는 흐름도이다.
단계 S31에서, 메인 스테이션 제어기(10)의 처리 유닛(3)은 데이터 요청을 각각의 보조 스테이션 제어기(20a 내지 20c)에 전송한다.
단계 S32에서, 처리 유닛(3)은, 데이터 요청에 응답하여, 보조 스테이션 제어기(20a 내지 20c)의 각각에 대하여, 보조 스테이션 제어기(20)에 연결되고 보조 스테이션 제어기(20)에 의해 제어되는 로봇의 수(Pi)의 현재의 동기화 상태에 기초하여 보조 스테이션 데이터세트(BUFsi)를 설정한다. 예를 들어, 이 실시예에서, 보조 스테이션 제어기(20a)와 연관된 로봇의 수(P1)는 2(로봇(202 및 203))와 동일하며, 보조 스테이션 제어기(20a)와 연관된 보조 스테이션 데이터세트는 BUFs1로 표시될 수 있다. 보조 스테이션 제어기(20b)와 연관된 로봇의 수(P2)는 3(로봇(204 내지 206))과 동일하며, 보조 스테이션 제어기(20b)와 연관된 보조 스테이션 데이터세트는 BUFs2로 표시될 수 있다. 보조 스테이션 제어기(20c)와 연관된 로봇의 수(P3)는 1(로봇(207))과 동일하며, 보조 스테이션 제어기(20c)와 연관된 보조 스테이션 데이터세트는 BUFs3으로 표시될 수 있다.
보조 스테이션 데이터세트(BUFsi)는 하나 이상의 동기식 커맨드를 포함할 수 있다. 구체적으로, 동기식 명령은 로봇의 상태 및/또는 동작을 업데이트 또는 교정하기 위한 것으로서, 로봇(201 내지 207) 간의 협력이 시작되기를 기다리는 커맨드, 로봇(201 내지 207) 간의 협업이 종료하기를 기다리는 커맨드, 동기식 동작을 위한 커맨드, 협력 시작 완료를 위한 커맨드 및 협력 종료 완료를 위한 커맨드 중의 하나일 수 있다.
또한, 보조 스테이션 데이터세트(BUFsi)는 로봇의 수(Pi)의 각각이 마스터 로봇, 슬레이브 로봇 또는 독립 로봇으로서 현재 기능하는지를 나타내는 데이터를 포함할 수 있다. 또한, 로봇의 수(Pi)의 현재의 동기화 상태는 로봇의 수(Pi)의 각각의 역할을 나타낼 수 있으며, 로봇의 수(Pi)의 각각의 상태는 협력이 협력적으로 시작되기를 기다리는 상태 및 협력이 종료되기를 기다리는 상태 중의 하나이다.
주목할 것은, 보조 스테이션 제어기(20a 내지 20c)의 각각에 대해, 제 2 저장 장치(12)에 저장된 다양한 가능한 제어 커맨드, 로봇의 수(Pi)의 상이한 역할(즉, 마스터, 슬레이브 또는 독립) 및 로봇의 수(Pi)의 상이한 동기화 상태로 인해, 단계 S32에서의 처리 유닛(3)의 동작은 보조 스테이션 데이터세트(BUFsi)를 설정하는 관점에서 많은 변화를 가질 수 있다는 것이다.
제 1의 경우에, 로봇의 수(Pi)의 현재의 동기화 상태가, 로봇의 수(Pi) 중 하나가 마스터 로봇으로 기능하고 현재 협력이 시작되기를 기다리는 상태에 있다는 것을 나타내면, 처리 유닛(3)은 마스터 로봇으로 전달되는 동기식 커맨드로서 협력이 시작되기를 기다리는 커맨드, 상기 마스터 로봇에 고유하게 할당된 식별 코드, 상기 마스터 로봇과 협력하는 슬레이브 로봇의 사전결정된 수, 및 상기 마스터 로봇의 현재 위치를 나타내는 좌표 세트를 보조 스테이션 데이터세트(BUFsi)가 포함하도록 설정한다.
제 2의 경우에, 로봇의 수(Pi)의 현재의 동기화 상태가 로봇의 수(Pi) 중 하나가 마스터 로봇으로 기능하고 현재 동기식 협력의 상태에 있다는 것을 나타내면, 처리 유닛(3)은 상기 마스터 로봇의 현재 위치를 나타내는 좌표 세트를 보조 스테이션 데이터세트(BUFsi)가 포함하도록 설정한다.
제 3의 경우에, 로봇의 수(Pi)의 현재의 동기화 상태가 로봇의 수(Pi) 중 하나가 마스터 로봇으로 기능하고 현재 협력이 종료되기를 기다리는 상태에 있다는 것을 나타내면, 처리 유닛(3)은 마스터 로봇으로 전달되는 동기식 커맨드로서 협력이 종료되기를 기다리는 커맨드, 상기 마스터 로봇에 고유하게 할당된 식별 코드, 상기 마스터 로봇과 협력하는 슬레이브 로봇의 사전결정된 수, 및 상기 마스터 로봇의 현재 위치를 나타내는 좌표 세트를 보조 스테이션 데이터세트(BUFsi)가 포함하도록 설정한다.
제 4의 경우에, 로봇의 수(Pi)의 현재의 동기화 상태가 로봇의 수(Pi) 중 하나가 슬레이브 로봇으로 기능하고 현재 협력이 시작되기를 기다리는 상태에 있다는 것을 나타내면, 처리 유닛(3)은 슬레이브 로봇으로 전달되는 동기식 커맨드로서 협력이 시작되기를 기다리는 커맨드, 및 상기 슬레이브 로봇이 협력하는 마스터 로봇의 식별 코드를 보조 스테이션 데이터세트(BUFsi)가 포함하도록 설정한다.
제 5의 경우에, 로봇의 수(Pi)의 현재의 동기화 상태가 로봇의 수(Pi) 중 하나가 슬레이브 로봇으로 기능하고 현재 동기식 협력의 상태에 있다는 것을 나타내면, 처리 유닛(3)은 동기식 커맨드로서 슬레이브 로봇의 협력을 제어하는 커맨드, 및 상기 슬레이브 로봇이 협력하는 마스터 로봇의 식별 코드를 보조 스테이션 데이터세트(BUFsi)가 포함하도록 설정한다.
제 6의 경우에, 로봇의 수(Pi)의 현재의 동기화 상태가 로봇의 수(Pi) 중 하나가 슬레이브 로봇으로 기능하고 현재 협력이 종료되기를 기다리는 상태에 있다는 것을 나타내면, 처리 유닛(3)은 슬레이브 로봇으로 전달되는 동기식 커맨드로서 협력이 종료되기를 기다리는 커맨드, 및 상기 슬레이브 로봇이 협력하는 마스터 로봇의 식별 코드를 보조 스테이션 데이터세트(BUFsi)가 포함하도록 설정한다.
전술한 것에 기초하여, 보조 스테이션 제어기(20a 내지 20c)의 각각의 처리 유닛(3)은 보조 스테이션 데이터세트(BUFsi)를 설정하도록 프로그램되고, 이 보조 스테이션 데이터세트(BUFsi)는 그 후 필드 버스 네트워크(30)를 통해 메인 스테이션 제어기(10)에 전송된다.
단계 S33에서, 보조 스테이션 제어기(20a 내지 20c)의 각각으로부터 보조 스테이션 데이터세트(BUFsi)의 수신에 응답하여, 메인 스테이션 제어기(10)의 처리 유닛(3)은 먼저 제 1 저장 장치(11)에 상기 수신된 보조 스테이션 데이터세트(BUFsi)를 저장하고, 로봇의 수(P0)의 현재의 동기화 상태에 기초하여 로봇(201-207) 간의 협력에 관련된 메인 스테이션 데이터세트(BUFm)를 설정하고, 그리고 그 메인 스테이션 데이터세트(BUFm)를 제 1 저장 장치(11)에 저장하도록 프로그램된다. 메인 스테이션 데이터세트(BUFm)는 메인 스테이션 제어기(10)에 연결된 하나의 로봇과 각각 연관된 하나 이상의 동기식 커맨드를 포함할 수 있다. 예를 들어, 도 2의 실시예에서, 메인 스테이션 제어기(10)는 단지 하나의 로봇(201)과만 연관되어 있으므로, 그렇게 설정된 메인 스테이션 데이터세트(BUFm)는 하나의 동기식 커맨드를 포함한다.
주목할 것은, 보조 스테이션 데이터세트(BUFsi)의 설정과 유사하게, 메인 스테이션 데이터세트(BUFm)의 설정은 또한 상기 제 2 저장 장치(12)에 저장된 다양한 가능한 커맨드, 로봇의 수(P0)의 상이한 역할(즉, 마스터, 슬레이브 또는 독립) 및 메인 스테이션 제어기(10)에 연결된 로봇의 수(P0)와 연관된 상이한 동기화 상태에 기초하여 다양한 경우로 분류될 수 있다는 것이다.
구체적으로, 도 2의 실시예에서, 제 1의 경우에, 로봇(201)의 현재의 동기화 상태가 상기 로봇(201)이 마스터 로봇으로 기능하고 현재 협력이 시작되기를 기다리는 상태에 있다는 것을 나타내면, 메인 스테이션 제어기의 처리 유닛(3)은 마스터 로봇으로 전달되는 동기식 커맨드로서 로봇(201 내지 207) 간의 협력이 시작되기를 기다리는 커맨드, 상기 마스터 로봇(즉, 로봇(201))에 고유하게 할당된 식별 코드, 상기 마스터 로봇과 협력하는 슬레이브 로봇의 사전결정된 수, 및 상기 마스터 로봇의 현재 위치를 나타내는 좌표 세트를 메인 스테이션 데이터세트(BUFm)가 포함하도록 설정한다.
제 2의 경우에, 로봇(201)의 현재의 동기화 상태가, 상기 로봇(201)이 마스터 로봇으로 기능하고 현재 동기식 협력의 상태에 있다는 것을 나타내면, 처리 유닛(3)은 상기 마스터 로봇(즉, 로봇(201))의 현재 위치를 나타내는 좌표 세트를 메인 스테이션 데이터세트(BUFm)가 포함하도록 설정한다.
제 3의 경우에, 로봇(201)의 현재의 동기화 상태가, 상기 로봇(201)이 마스터 로봇으로 기능하고 현재 협력이 종료되기를 기다리는 상태에 있다는 것을 나타내면, 처리 유닛(3)은 마스터 로봇으로 전달되는 동기식 커맨드로서 협력이 종료되기를 기다리는 커맨드, 상기 마스터 로봇(즉, 로봇(201))에 고유하게 할당된 식별 코드, 상기 마스터 로봇과 협력하는 슬레이브 로봇의 사전결정된 수, 및 상기 마스터 로봇(즉, 로봇(201))의 현재 위치를 나타내는 좌표 세트를 메인 스테이션 데이터세트(BUFm)가 포함하도록 설정한다.
제 4의 경우에, 로봇(201)의 현재의 동기화 상태가 상기 로봇(201)이 슬레이브 로봇으로 기능하고 현재 협력이 시작되기를 기다리는 상태에 있다는 것을 나타내면, 처리 유닛(3)은 슬레이브 로봇으로 전달되는 동기식 커맨드로서 협력이 시작되기를 기다리는 커맨드, 및 상기 로봇(201)이 협력하는 마스터 로봇의 식별 코드를 메인 스테이션 데이터세트(BUFm)가 포함하도록 설정한다.
제 5의 경우에, 로봇(201)의 현재의 동기화 상태가, 상기 로봇(201)이 슬레이브 로봇으로 기능하고 현재 동기식 협력의 상태에 있다는 것을 나타내면, 처리 유닛(3)은 동기식 커맨드로서 슬레이브 로봇의 협력을 제어하는 커맨드, 및 상기 로봇(201)이 협력하는 마스터 로봇의 식별 코드를 메인 스테이션 데이터세트(BUFm)가 포함하도록 설정한다.
제 6의 경우에, 로봇(201)의 현재의 동기화 상태가 상기 로봇(201)이 슬레이브 로봇으로 기능하고 현재 협력이 종료되기를 기다리는 상태에 있다는 것을 나타내면, 처리 유닛(3)은 슬레이브 로봇으로 전달되는 동기식 커맨드로서 협력이 종료되기를 기다리는 커맨드, 및 상기 로봇(201)이 협력하는 마스터 로봇의 식별 코드를 메인 스테이션 데이터세트(BUFm)가 포함하도록 설정한다.
메인 스테이션 데이터세트(BUFm)가 설정된 후, 메인 스테이션 제어기(10)의 처리 유닛(3)은 메인 스테이션 제어기(10)의 제 1 저장 장치(11)에 메인 스테이션 데이터세트(BUFm)를 저장한다.
단계 S34에서, 메인 스테이션 제어기(10)의 처리 유닛(3)은 업데이트된 마스터 로봇 데이터세트를 획득하기 위해, 그의 제 1 저장 장치(11)에 저장된 메인 스테이션 데이터세트(BUFm) 및 보조 스테이션 데이터세트(BUFsi)에 기초하여 그의 제 2 저장 장치(12)에 저장된 과거의 마스터 로봇 데이터세트에 대한 업데이트를 수행한다. 업데이트된 마스터 로봇 데이터세트는, 상기 마스터 로봇에 고유하게 할당된 식별 코드, 상기 마스터 로봇과 협력하도록 예상된 슬레이브 로봇의 사전결정된 수, 상기 마스터 로봇의 동기 상태, 및 상기 마스터 로봇과 협력하고 상기 마스터 로봇의 동기 상태에 대응하는 제어 커맨드에 의해 제어되는 슬레이브 로봇의 누적된 수를 포함한다.
단계 S34는 메인 및 보조 스테이션 데이터세트(BUFm, BUFsi) 중 대응하는 하나에 대해 각각의 다수의 반복을 포함한다. 메인 스테이션 데이터세트(BUFm) 및 보조 스테이션 데이터세트(BUFsi)에서의 가능한 변화에 기초하여, 메인 스테이션 제어기(10)의 처리 유닛(3)에 의해 업데이트를 수행하는 단계(S34)의 각각의 반복은 다음 가능한 절차 중 하나를 포함할 수 있다. 설명의 간략화를 위해, 가능한 절차에 대한 다음의 설명은 단계(S34)의 하나의 반복과 관련하여 기술될 것이고, 기술된 반복에 대응하는 메인 또는 보조 스테이션 데이터세트(BUFm, BUFsi)는 "참조 데이터세트"라고 지칭될 것이다.
먼저, 처리 유닛(3)은 참조 데이터세트가 특정 커맨드를 포함하는지의 여부를 결정한다. 특정 커맨드가 참조 데이터세트에서 식별된 후, 처리 유닛(3)은 과거의 마스터 로봇 데이터세트에 대해 특정 커맨드에 대응하는 업데이트 동작을 수행한다.
결정 및 후속 업데이트 동작에 관한 세부 사항은 다음의 단락 및 관련 도면에서 설명될 것이다. 주목할 것은, 이 실시예에서, 상기 결정 및 후속 업데이트 동작이 메인 스테이션 데이터세트(BUFm)에 대해 먼저 실행되고, 이어서 보조 스테이션 데이터세트(BUFsi)에 대하여 순차적으로 반복된다(예를 들어, BUFs1, BUFs2, BUFs3의 순서로 반복된다)는 것이다.
참조 데이터세트가 협력이 시작되기를 기다리도록 마스터 로봇에 지시하는 커맨드를 포함한다고 결정되면, 처리 유닛(3)은 제 1 절차를 수행하도록 진행한다(도 4 참조).
참조 데이터세트가 협력이 종료되기를 기다리도록 마스터 로봇에 지시하는 커맨드를 포함한다고 결정되면, 처리 유닛(3)은 제 2 절차를 수행하도록 진행한다(도 5 참조).
참조 데이터세트가 협력이 시작되기를 기다리도록 슬레이브 로봇에 지시하는 커맨드를 포함한다고 결정되면, 처리 유닛(3)은 제 3 절차를 수행하도록 진행한다(도 6 참조).
참조 데이터세트가 협력이 종료되기를 기다리도록 슬레이브 로봇에 지시하는 커맨드를 포함한다고 결정되면, 처리 유닛(3)은 제 4 절차를 수행하도록 진행한다(도 7 참조).
도 4를 참조하면, 단계 S34의 제 1 절차는 다음의 서브 단계 S41 내지 S45를 포함한다.
서브 단계 S41에서, 처리 유닛(3)은 제 2 저장 장치(12)에 저장된 과거의 마스터 로봇 데이터세트가 참조 데이터세트에 포함된 마스터 로봇의 식별 코드를 포함하는지의 여부를 결정한다. 이 결정이 긍정이면, 흐름은 서브 단계 S42로 진행한다. 그렇지 않으면, 흐름은 서브 단계 S43으로 진행한다.
서브 단계 S42에서, 처리 유닛(3)은 과거의 마스터 로봇 데이터세트에 기초하여, 마스터 로봇의 동기 상태가 마스터 로봇이 협력이 시작되기를 기다리는 상태에 있다는 것을 나타내는지의 여부를 더 결정한다. 이 결정이 긍정이면, 흐름은 서브 단계 S44로 진행한다. 그렇지 않으면, 흐름은 서브 단계 S45로 진행한다.
서브 단계 S43에서, 처리 유닛(3)은 참조 데이터세트로부터, 상기 식별 코드 및 마스터 로봇과 협력하도록 예상되는 슬레이브 로봇의 사전결정된 수를 통합하고, 마스터 로봇의 동기 상태를 협력이 시작되기를 기다리는 상태로 설정하고, 그리고 마스터 로봇과 협력하고 협력이 시작되기를 기다리는 커맨드에 의해 제어되는 슬레이브 로봇의 누적된 수를 0으로 설정함으로써, 과거의 마스터 로봇 데이터세트를 업데이트한다.
서브 단계 S44에서, 처리 유닛(3)은 마스터 로봇과 협력하도록 예상되는 슬레이브 로봇의 사전결정된 수와 마스터 로봇과 협력하는 슬레이브 로봇의 누적된 수를 변경되지 않게 유지함으로써 과거의 마스터 로봇 데이터세트를 업데이트한다.
서브 단계 S45에서, 처리 유닛(3)은 마스터 로봇이 협력이 시작되기를 기다리는 상태에 있지 않다는 것을 마스터 로봇의 동기 상태가 나타내고 있음을 표시하는 경보 출력(alarm output)을 생성한다.
도 5를 참조하면, 단계 S34의 제 2 절차는 다음의 서브 단계 S51 내지 S55를 포함한다.
서브 단계 S51에서, 처리 유닛(3)은 제 2 저장 장치(12)에 저장된 과거의 마스터 로봇 데이터세트가 참조 데이터세트에 포함된 마스터 로봇의 식별 코드를 포함하는지의 여부를 결정한다. 이 결정이 긍정이면, 흐름은 서브 단계 S52로 진행한다. 그렇지 않으면, 흐름은 서브 단계 S53으로 진행한다.
서브 단계 S52에서, 처리 유닛(3)은 과거의 마스터 로봇 데이터세트에 기초하여, 마스터 로봇의 동기 상태가 마스터 로봇이 협력이 종료되기를 기다리는 상태에 있다는 것을 나타내는지의 여부를 더 결정한다. 이 결정이 긍정이면, 흐름은 서브 단계 S54로 진행한다. 그렇지 않으면, 흐름은 서브 단계 S55로 진행한다.
서브 단계 S53에서, 처리 유닛(3)은 참조 데이터세트로부터, 상기 식별 코드 및 마스터 로봇과 협력하도록 예상되는 슬레이브 로봇의 사전결정된 수를 통합하고, 마스터 로봇의 동기 상태를 협력이 시작되기를 기다리는 상태로 설정하고, 그리고 마스터 로봇과 협력하고 협력이 시작되기를 기다리는 커맨드에 의해 제어되는 슬레이브 로봇의 누적된 수를 0으로 설정함으로써, 과거의 마스터 로봇 데이터세트를 업데이트한다.
서브 단계 S54에서, 처리 유닛(3)은 마스터 로봇과 협력하도록 예상되는 슬레이브 로봇의 사전결정된 수와 마스터 로봇과 협력하는 슬레이브 로봇의 누적된 수를 변경되지 않게 유지함으로써 과거의 마스터 로봇 데이터세트를 업데이트한다.
서브 단계 S55에서, 처리 유닛(3)은 마스터 로봇이 협력이 종료되기를 기다리는 상태에 있지 않다는 것을 마스터 로봇의 동기 상태가 나타내고 있음을 표시하는 경보 출력을 생성한다.
도 6를 참조하면, 단계 S34의 제 3 절차는 다음의 서브 단계 S61 내지 S65를 포함한다.
서브 단계 S61에서, 처리 유닛(3)은 제 2 저장 장치(12)에 저장된 과거의 마스터 로봇 데이터세트가 참조 데이터세트에 포함되고 슬레이브 로봇(들)과 협력하는 마스터 로봇에 할당되는 식별 코드를 포함하는지의 여부를 결정한다. 이 결정이 긍정이면, 흐름은 서브 단계 S62로 진행한다. 그렇지 않으면, 흐름은 서브 단계 S63으로 진행한다.
서브 단계 S62에서, 처리 유닛(3)은 마스터 로봇이 협력이 시작되기를 기다리는 상태에 있다는 것을 마스터 로봇의 동기 상태가 나타내는지의 여부를 더 결정한다. 이 결정이 긍정이면, 흐름은 서브 단계 S64로 진행한다. 그렇지 않으면, 흐름은 서브 단계 S65로 진행한다.
서브 단계 S63에서, 처리 유닛(3)은 참조 데이터세트로부터, 상기 식별 코드 및 마스터 로봇과 협력하도록 예상되는 슬레이브 로봇의 사전결정된 수를 통합하고, 마스터 로봇의 동기 상태를 협력이 시작되기를 기다리는 상태로 설정하고, 그리고 마스터 로봇과 협력하는 슬레이브 로봇의 누적된 수를 1로 설정함으로써, 과거의 마스터 로봇 데이터세트를 업데이트한다.
단계 S64에서, 처리 유닛(3)은 마스터 로봇과 협력하는 슬레이브 로봇의 누적된 수를 1 씩 증가시킴으로써 과거의 마스터 로봇 데이터세트를 업데이트한다.
서브 단계 S65에서, 처리 유닛(3)은 마스터 로봇이 협력이 시작되기를 기다리는 상태에 있지 않다는 것을 마스터 로봇의 동기 상태가 나타내고 있음을 표시하는 경보 출력을 생성한다.
도 7를 참조하면, 단계 S34의 제 4 절차는 다음의 서브 단계 S71 내지 S75를 포함한다.
서브 단계 S71에서, 처리 유닛(3)은 제 2 저장 장치(12)에 저장된 과거의 마스터 로봇 데이터세트가 참조 데이터세트에 포함되고 슬레이브 로봇(들)과 협력하는 마스터 로봇에 할당되는 식별 코드를 포함하는지의 여부를 결정한다. 이 결정이 긍정이면, 흐름은 서브 단계 S72로 진행한다. 그렇지 않으면, 흐름은 서브 단계 S73으로 진행한다.
서브 단계 S72에서, 처리 유닛(3)은 마스터 로봇이 협력이 종료되기를 기다리는 상태에 있다는 것을 마스터 로봇의 동기 상태가 나타내는지의 여부를 더 결정한다. 이 결정이 긍정이면, 흐름은 서브 단계 S74로 진행한다. 그렇지 않으면, 흐름은 서브 단계 S75로 진행한다.
서브 단계 S73에서, 처리 유닛(3)은 참조 데이터세트로부터, 상기 식별 코드 및 마스터 로봇과 협력하도록 예상되는 슬레이브 로봇의 사전결정된 수를 통합하고, 마스터 로봇의 동기 상태를 협력이 종료되기를 기다리는 상태로 설정하고, 그리고 마스터 로봇과 협력하는 슬레이브 로봇의 누적된 수를 1로 설정함으로써, 과거의 마스터 로봇 데이터세트를 업데이트한다.
단계 S74에서, 처리 유닛(3)은 마스터 로봇과 협력하는 슬레이브 로봇의 누적된 수를 1 씩 증가시킴으로써 과거의 마스터 로봇 데이터세트를 업데이트한다.
서브 단계 S75에서, 처리 유닛(3)은 마스터 로봇이 협력이 종료되기를 기다리는 상태에 있지 않다는 것을 마스터 로봇의 동기 상태가 나타내고 있음을 표시하는 경보 출력을 생성한다.
전술한 절차에 더하여, 단계 S34에서, 처리 유닛(3)은 참조 데이터세트가 마스터 로봇의 현재 위치를 나타내는 좌표 세트를 포함하는지의 여부를 더 결정한다. 이 결정이 긍정이면, 처리 유닛(3)은 좌표 세트를 통합함으로써(즉, 제 2 저장 장치(12)에 좌표 세트를 저장함으로써) 과거의 마스터 로봇 데이터세트를 업데이트하고, 참조 데이터세트로부터 좌표 세트를 제거한다(즉, 제 1 저장 장치(11)로부터 좌표 세트를 삭제한다).
메인 및 보조 스테이션 데이터세트(BUFm, BUFs1 내지 BUFs3) 모두에 대한 반복이 완료된 후, 업데이트된 마스터 로봇 데이터세트가 완료된다. 업데이트된 마스터 로봇 데이터세트는 그후 메인 스테이션 제어기(10)의 제 2 저장 장치(12)에 저장된다.
실시예에서, 이 방법은 서브 단계 S45, S55, S65 및 S75 중 어느 하나가 구현된 후에 종료되고, 관련 이슈가 클리어된 후에 재시작된다.
단계 S34에서 업데이트된 마스터 로봇 데이터세트를 획득한 후, 처리 유닛(3)은 단계 S35를 실행하여, 메인 스테이션 제어기(10)에 관련된 업데이트된 메인 스테이션 데이터세트를 획득하기 위해, 업데이트된 마스터 로봇 데이터세트에 기초하여 메인 스테이션 데이터세트(BUFm)에 대한 업데이트를 수행한다. 또한, 처리 유닛(3)은, 보조 스테이션 제어기(20a 내지 20c)의 각각에 관련된 업데이트된 보조 스테이션 데이터세트(BUFsi')를 획득하기 위해, 보조 스테이션 데이터세트(BUFsi)의 각각에 대한 업데이트를 수행한다.
일반적으로, 메인 또는 보조 스테이션 데이터세트(BUFm, BUFsi)의 업데이트에 관한 동작은 제 1 저장 장치(11)에 저장된 업데이트된 마스터 로봇 데이터세트에 기초하여, 메인 또는 보조 스테이션 데이터세트(BUFm, BUFsi)를 오버라이팅(overwriting)하는 것을 포함한다.
업데이트 동작에 관한 세부 사항은 다음의 단락 및 관련 도면에서 설명될 것이다(도 8 내지 도 12 참조). 단계 S35는 메인 및 보조 스테이션 데이터세트(BUFm, BUFsi) 중 대응하는 하나에 대해 각각의 다수의 반복을 포함한다. 주목할 것은, 이 실시예에서, 상기 동작은 메인 스테이션 데이터세트(BUFm)와, 이후에 후속되는 보조 스테이션 데이터세트(BUFsi)의 순서로(예를 들어, BUFs1, BUFs2, BUFs3의 순서로) 수행된다는 것이다. 설명의 간략화를 위해, 단계 S35의 각각의 반복의 가능한 절차에 대한 다음의 설명은 기술된 반복에 대응하는 메인 또는 보조 스테이션 데이터세트(BUFm, BUFsi)와 함께 기술될 것이고, 이 데이터세트는 "참조 데이터세트"라고 지칭된다.
참조 데이터세트가 협력이 시작되기를 기다리도록 마스터 로봇에 지시하는 커맨드를 포함한다고 결정되면, 처리 유닛(3)은 제 5 절차를 수행하도록 진행한다(도 8 참조).
참조 데이터세트가 협력이 종료되기를 기다리도록 마스터 로봇에 지시하는 커맨드를 포함한다고 결정되면, 처리 유닛(3)은 제 6 절차를 수행하도록 진행한다(도 9 참조).
참조 데이터세트가 협력이 시작되기를 기다리도록 슬레이브 로봇에 지시하는 커맨드를 포함한다고 결정되면, 처리 유닛(3)은 제 7 절차를 수행하도록 진행한다(도 10 참조).
참조 데이터세트가 협력이 종료되기를 기다리도록 슬레이브 로봇에 지시하는 커맨드를 포함한다고 결정되면, 처리 유닛(3)은 제 8 절차를 수행하도록 진행한다(도 11 참조).
참조 데이터세트가 협력 상태(동기식 협력 동작)에 있도록 슬레이브 로봇에 지시하는 커맨드를 포함한다고 결정되면, 처리 유닛(3)은 제 9 절차를 수행하도록 진행한다(도 12 참조).
도 8를 참조하면, 단계 S35의 제 5 절차는 다음의 서브 단계 S81 내지 S83을 포함한다.
서브 단계 81에서, 처리 유닛(3)은 업데이트된 마스터 로봇 데이터세트에 포함된 마스터 로봇과 협력하도록 예상되는 슬레이브 로봇의 사전결정된 수가 마스터 로봇과 협력하며 제어 커맨드에 의해 제어되는 슬레이브 로봇의 누적된 수와 동일한지의 여부를 결정한다. 이 결정이 긍정이면, 흐름은 서브 단계 S82로 진행한다. 그렇지 않으면, 흐름은 서브 단계 S83으로 진행한다.
서브 단계 S82에서, 처리 유닛(3)은 협력이 시작되기를 기다리도록 마스터 로봇에 지시하는 커맨드를 마스터 로봇에 전달되는, 협력 시작 완료를 위한 커맨드로 대체함으로써 참조 데이터세트를 업데이트한다.
서브 단계 S83에서, 처리 유닛(3)은 협력이 시작되기를 기다리도록 마스터 로봇에 지시하는 커맨드를 유지함으로써 참조 데이터세트를 업데이트한다.
도 9를 참조하면, 단계 S35의 제 6 절차는 다음의 서브 단계 S91 내지 S93을 포함한다.
서브 단계 S91에서, 처리 유닛(3)은 업데이트된 마스터 로봇 데이터세트에 포함된 마스터 로봇과 협력하도록 예상되는 슬레이브 로봇의 사전결정된 수가 마스터 로봇과 협력하며 제어 커맨드에 의해 제어되는 슬레이브 로봇의 누적된 수와 동일한지의 여부를 결정한다. 이 결정이 긍정이면, 흐름은 서브 단계 S92로 진행한다. 그렇지 않으면, 흐름은 서브 단계 S93으로 진행한다.
서브 단계 S92에서, 처리 유닛(3)은 협력이 종료되기를 기다리도록 마스터 로봇에 지시하는 커맨드를 마스터 로봇에 전달되는, 협력 종료 완료를 위한 커맨드로 대체함으로써 참조 데이터세트를 업데이트한다.
서브 단계 S93에서, 처리 유닛(3)은 협력이 종료되기를 기다리도록 마스터 로봇에 지시하는 커맨드를 유지함으로써 참조 데이터세트를 업데이트한다.
도 10를 참조하면, 단계 S35의 제 7 절차는 다음의 서브 단계 S101 내지 S104를 포함한다.
서브 단계 S101에서, 처리 유닛(3)은 업데이트된 마스터 로봇 데이터세트로부터, 슬레이브 로봇이 관련되어 있는 마스터 로봇의 현재 위치를 나타내는 좌표 세트를 통합함으로써 참조 데이터세트를 업데이트한다.
서브 단계 S102에서, 처리 유닛(3)은 업데이트된 마스터 로봇 데이터세트에 포함된 마스터 로봇과 협력하도록 예상되는 슬레이브 로봇의 사전결정된 수가 마스터 로봇과 협력하며 제어 커맨드에 의해 제어되는 슬레이브 로봇의 누적된 수와 동일한지의 여부를 결정한다. 이 결정이 긍정이면, 흐름은 서브 단계 S103으로 진행한다. 그렇지 않으면, 흐름은 서브 단계 S104로 진행한다.
서브 단계 S103에서, 처리 유닛(3)은 협력이 시작되기를 기다리도록 슬레이브 로봇에 지시하는 커맨드를 슬레이브 로봇에 전달되는, 협력 시작 완료를 위한 커맨드로 대체함으로써 상기 데이터세트를 업데이트한다.
서브 단계 S104에서, 처리 유닛(3)은 협력이 시작되기를 기다리도록 슬레이브 로봇에 지시하는 커맨드를 유지함으로써 상기 데이터세트를 업데이트한다.
도 11을 참조하면, 단계 S35의 제 8 절차는 다음의 서브 단계 S111 내지 S114를 포함한다.
서브 단계 S111에서, 처리 유닛(3)은 업데이트된 마스터 로봇 데이터세트로부터, 슬레이브 로봇이 관련되어 있는 마스터 로봇의 현재 위치를 나타내는 좌표 세트를 통합함으로써 상기 데이터세트를 업데이트한다.
서브 단계 S112에서, 처리 유닛(3)은 업데이트된 마스터 로봇 데이터세트에 포함된 마스터 로봇과 협력하도록 예상되는 슬레이브 로봇의 사전결정된 수가 마스터 로봇과 협력하며 제어 커맨드에 의해 제어되는 슬레이브 로봇의 누적된 수와 동일한지의 여부를 결정한다. 이 결정이 긍정이면, 흐름은 서브 단계 S113으로 진행한다. 그렇지 않으면, 흐름은 서브 단계 S114로 진행한다.
서브 단계 S113에서, 처리 유닛(3)은 협력이 종료되기를 기다리도록 슬레이브 로봇에 지시하는 커맨드를 슬레이브 로봇에 전달되는, 협력 종료 완료를 위한 커맨드로 대체함으로써 참조 데이터세트를 업데이트한다.
서브 단계 S114에서, 처리 유닛(3)은 협력이 종료되기를 기다리도록 슬레이브 로봇에 지시하는 커맨드를 유지함으로써 참조 데이터세트를 업데이트한다.
도 12를 참조하면, 단계 S35의 제 9 절차는 다음의 서브 단계 S121을 포함한다.
서브 단계 S121에서, 처리 유닛(3)은 업데이트된 마스터 로봇 데이터세트로부터, 슬레이브 로봇이 관련되어 있는 마스터 로봇의 현재 위치를 나타내는 좌표 세트를 통합함으로써 참조 데이터세트를 업데이트한다.
전술한 동작을 이용함으로써, 업데이트된 메인 스테이션 데이터세트(BUFm') 및 업데이트된 보조 스테이션 데이터세트(BUF1' 내지 BUFs3')는 차례차례 획득될 수 있다. 업데이트된 메인 스테이션 데이터세트(BUFm') 및 업데이트된 보조 스테이션 데이터세트(BUF1' 내지 BUFs3')는 그 후 메인 스테이션 제어기(10)의 제 1 저장 장치(11)에 저장된다.
단계 S36에서, 메인 스테이션 제어기(10)의 처리 유닛(3)은, 업데이트된 보조 스테이션 데이터세트(BUF1' 내지 BUFs3')를 필드 버스 네트워크(30)를 통해 보조 스테이션 제어기(20a 내지 20c)에 각각 전송한다.
단계 S37a에서, 메인 스테이션 제어기(10)의 처리 유닛(3)은 로봇의 수(P0)에 관련된 업데이트된 동기화 상태를 획득하기 위해, 상기 업데이트된 메인 스테이션 데이터세트(BUFm')에 기초하여 상기 로봇의 수(P0)의 현재의 동기화 상태에 대한 업데이트를 수행한다.
이 실시예에서, 로봇(201)의 현재의 동기화 상태가 업데이트된다. 처리 유닛(3)은 업데이트된 메인 스테이션 데이터세트(BUFm')를 검색하고 업데이트된 메인 스테이션 데이터세트(BUFm')에 포함된 동기식 커맨드에 따라 로봇(201)의 현재의 동기화 상태를 업데이트함으로써 로봇(201)의 현재의 동기화 상태를 업데이트하도록 프로그램된다.
구체적으로, 제 1의 경우, 업데이트된 메인 스테이션 데이터세트(BUFm')가 협력 시작 완료를 위해 마스터 로봇에 전달되는 커맨드를 포함하는 것으로 결정되면, 처리 유닛(3)은 현재의 동기화 상태를 동기식 동작 상태로 설정함으로써 로봇(201)의 현재의 동기화 상태를 업데이트한다.
제 2의 경우, 업데이트된 메인 스테이션 데이터세트(BUFm')가 협력 종료 완료를 위해 마스터 로봇으로 전달되는 커맨드를 포함한다고 결정되면, 처리 유닛(3)은 로봇 (201)을 독립 로봇으로 지정함으로써 로봇(201)의 현재의 동기화 상태를 업데이트한다.
제 3의 경우, 업데이트된 메인 스테이션 데이터세트(BUFm')가 협력 시작 완료를 위해 슬레이브 로봇에 전달되는 커맨드를 포함하는 것으로 결정되면, 처리 유닛(3)은 현재의 동기화 상태를 동기식 동작 상태로 설정함으로써 로봇(201)의 현재의 동기화 상태를 업데이트한다.
제 4의 경우, 업데이트된 메인 스테이션 데이터세트(BUFm')가 협력 종료 완료를 위해 슬레이브 로봇에 전달되는 커맨드를 포함하는 것으로 결정되면, 처리 유닛(3)은 로봇(201)을 독립 로봇으로 지정함으로써 로봇(201)의 현재의 동기화 상태를 업데이트한다.
전술한 동작을 이용함으로써, 로봇(201)의 업데이트된 동기화 상태가 업데이트된다.
단계 S37b에서, 메인 스테이션 제어기(10)의 처리 유닛(3)은 로봇의 수(P0)의 업데이트된 동기화 상태 및 업데이트된 메인 스테이션 데이터세트(BUFm')에 기초하여 상기 로봇의 수(P0)에 대해 제각기의 제어 커맨드의 수(P0)를 생성한다. 이 실시예에서, 하나의 제어 커맨드가 로봇(201)에 대해 생성된다.
구체적으로, 로봇(201)이 독립 로봇으로 지정되어 있거나, 로봇(201)이 마스터 로봇으로 지정되어 동기식 동작 상태에 있다고 결정되면, 메인 스테이션 제어기(10)의 처리 유닛(3)의 모션 보간 커맨드 모듈(301)은 사전결정된 모션 계획 프로그램(motion planning program)을 실행하여 로봇(201)에 대한 제어 커맨드로서 기능하는 모션 보간 커맨드를 생성한다. 주목할 것은, "모션 보간 커맨드"라는 용어는 특정 모션(예를 들어, 선형 모션, 원형 모션 등)을 수행하도록 로봇을 프로그램하는 특정 커맨드를 나타낸다는 것이다.
로봇(201)이 슬레이브 로봇으로 지정되어 동기식 동작 상태에 있다고 결정되면, 보간 보상 커맨드 모듈(302)은 먼저 업데이트된 메인 스테이션 데이터세트(BUFm')로부터 마스터 로봇의 현재 위치를 나타내는 좌표 세트를 획득하며, 그후 사전결정된 변환 행렬을 이용하여 좌표 세트에 대한 좌표 변환을 수행함으로써 보간 보상 커맨드를 생성한다. 그후, 모션 보간 커맨드 모듈(301)은 보간 보상 커맨드에 기초하여 모션 보간 커맨드를 생성한다. 주목할 것은, 슬레이브 로봇에 대해, 모션 보간 커맨드가 수신되면, 사전결정된 좌표 변환에 기초한 보상이 계산될 수 있어 모션 보간 커맨드를 보상하고 슬레이브 로봇이 해당 모션을 수행할 수 있도록 할 수 있다는 것이다.
로봇(201)이 마스터 로봇 또는 슬레이브 로봇으로 지정되어 협력이 시작되기를 기다리고 있다고 결정되면, 메인 스테이션 제어기(10)의 처리 유닛(3)은 제어 커맨드로 기능하는 협력이 시작되기를 기다리는 커맨드를 사용하는 것이다. 한편, 로봇(201)이 마스터 로봇 또는 슬레이브 로봇으로 지정되어 협력이 종료되기를 기다리고 있다고 결정되면, 메인 스테이션 제어기(10)의 처리 유닛(3)은 제어 커맨드로 기능하는 협력이 종료되기를 기다리는 커맨드를 사용한다.
또한, 보조 스테이션 제어기(20a 내지 20c)의 각각에 대한 흐름은 단계 S36 후에, 단계 S38a 내지 S38b로 진행한다. 특히, 업데이트된 보조 스테이션 데이터세트(BUFsi')의 수신에 응답하여, 보조 스테이션 제어기(20)의 처리 유닛(3)은 단계 S38a에서 업데이트된 보조 스테이션 데이터세트(BUFsi')를 보조 스테이션 제어기(20)의 제 1 저장 장치(11)에 저장한다. 그후, 보조 스테이션 제어기(20)의 처리 유닛(3)은 로봇의 수(P0)에 관련된 업데이트된 동기화 상태를 획득하기 위해, 상기 로봇의 수(P0)의 현재의 동기화 상태를 업데이트한다.
예를 들어, 이 단계에서, 보조 스테이션 제어기(20a)의 처리 유닛(3)은 로봇 (202 및 203)에 관련된 업데이트된 동기화 상태를 획득하기 위해, 로봇(202 및 203)의 현재의 동기화 상태를 업데이트하도록 프로그램된다.
주목할 것은, 보조 스테이션 제어기(20)에 연결된 로봇의 업데이트된 동기화 상태를 획득하기 위해 동작이 수행되는 방식이 단계 S37a에서 설명된 것과 유사할 수 있으며, 그 상세한 설명은 간결성을 위해 여기서는 생략된다는 것이다.
단계 S38b에서, 보조 스테이션 제어기(20)의 처리 유닛(3)은 로봇의 수(Pi)의 업데이트된 동기화 상태 및 업데이트된 보조 스테이션 데이터세트에 기초하여 상기 로봇의 수(Pi)에 대해 제각기의 제어 커맨드의 수(Pi)를 생성한다. 예를 들어, 로봇(202 및 203)의 각각에 대한 2 개의 제어 커맨드는 보조 스테이션 제어기(20a)에 의해 생성된다.
주목할 것은, 보조 스테이션 제어기(20a 내지 20c)에 연결된 로봇에 대한 제어 커맨드를 생성하기 위해 동작이 수행되는 방식이 단계 S37b에서 설명된 것(즉, 상기 지정과 로봇의 업데이트된 동기화 상태를 결정하는 것)과 유사할 수 있으며, 그 상세한 설명은 간결성을 위해 여기서는 생략된다는 것이다.
단계 S37b 및 S38b 후에, 흐름은 단계 S39로 진행하고, 여기서, 메인 스테이션 제어기(10)의 처리 유닛(3)은 제어 커맨드의 수(P0)를 그 액추에이터(4)를 통해 로봇의 수(P0)에 각각 전송하며, 보조 스테이션 제어기(20a 내지 20c)의 처리 유닛(3)은 제어 커맨드의 수(Pi)를 그 액추에이터(4)를 통해 로봇의 수(Pi)에 각각 전송하여, 모든 로봇이 동기식 협력 동작을 수행하도록 구동한다. 이 실시예에서, 하나의 제어 커맨드는 메인 스테이션 제어기(10)의 액추에이터(4)에 전송되며, 이 액추에이터는 제어 커맨드를 로봇(201)을 제어하기 위한 액추에이션 신호(actuation signal)로 변환하도록 프로그램되며; 두 개의 제어 커맨드는 보조 스테이션 제어기(20a)의 액추에이터(4)에 전송되며, 이 액추에이터는 제어 커맨드를 로봇(202 및 203)을 각각 제어하기 위한 두 개의 액추에이션 신호로 변환하도록 프로그램되며; 세 개의 제어 커맨드는 보조 스테이션 제어기(20b)의 액추에이터(4)에 전송되며, 이 액추에이터는 제어 커맨드를 로봇(204 내지 206)을 각각 제어하기 위한 세 개의 액추에이션 신호로 변환하도록 프로그램되며; 그리고, 하나의 제어 커맨드는 보조 스테이션 제어기(20c)의 액추에이터(4)에 전송되며, 이 액추에이터는 제어 커맨드를 로봇(207)을 제어하기 위한 액추에이션 신호로 변환하도록 프로그램된다. 결론은 사전결정된 시간 길이의 하나의 주기적 동기 시간 동안의 로봇 제어기(10, 20) 및 로봇(201 내지 207)에 관한 방법이라는 것이다. 사전결정된 시간 길이는 제어 시스템(100) 내의 로봇 제어기의 수에 기초하여 사전결정된다.
주목할 것은, 현재의 주기적 동기 시간 동안, 메인 스테이션 제어기(10)는 보조 스테이션 제어기(20)의 각각으로부터 데이터를 수신하고, 업데이트된 커맨드를 다시 보조 스테이션 제어기(20)의 각각에 전송한다는 것이다. 현재의 주기적 동기 시간 동안 전술한 방법이 완료된 후, 이 방법은 로봇의 협력 동작을 계속해서 제어하기 위해, 다음 주기의 동기 시간 동안 반복될 수 있다.
요약하면, 본 발명의 실시예는 다수의 로봇의 협력 동작을 동기식으로 제어하기 위한 방법 및 제어 시스템을 제공한다. 메인 스테이션 제어기(10)를 프로그램하여, 메인 스테이션 데이터세트(BUFm) 및 보조 스테이션 데이터세트(BUFsi)를 주기적으로 수집하고, 메인 스테이션 데이터세트(BUFm) 및 보조 스테이션 데이터세트(BUFsi)에 대한 업데이트를 수행하고, 업데이트된 보조 스테이션 데이터세트(BUFsi')를 각각 동일한 주기적 동기 시간 내에 필드 버스 네트워크(30)를 통해 보조 스테이션 제어기(20a 내지 20c)에 전송함으로써, 로봇 제어기는 협력적으로 관련 로봇을 동기식으로 제어하여 관련 로봇이 업데이트된 스테이션 데이터세트를 사용하여 동기식 방식으로 협력 동작을 수행하게 한다. 제어 시스템의 한 효과는, 제어 시스템의 구성에 의해 새로운 로봇 제어기(들)이 제어 시스템에 통합될 수 있고 새로운 로봇(들)이 비교적 용이하게 로봇 제어기와 연관될 수 있다는 것이다.
설명을 목적으로 한 전술한 설명에서, 실시예에 대한 완전한 이해를 제공하기 위해 다수의 특정 세부 사항이 설명되었다. 그러나, 당업자에게는 하나 이상의 다른 실시예가 이들 특정 세부 사항의 일부를 갖지 않더라도 실시될 수 있음이 명백할 것이다. 본 명세서에서 "일 실시예", "실시예", 서수 등의 표시를 갖는 실시예는 특정의 특징, 구조 또는 특성이 본 발명의 실시에 포함될 수 있다는 것이 또한 이해되어야 한다. 전술한 설명에서의 다양한 특징은 때때로 본 발명의 간소화 및 다양한 발명의 양태의 이해를 돕고자 일 실시예, 도면 또는 그 설명에서 함께 그룹화되며, 일 실시예에서의 이상의 특징 또는 특정 세부 사항은 본 발명의 실시에 적절한 경우, 다른 실시예로부터의 하나 이상의 특징 또는 특정 세부 사항과 함께 실시될 수 있다는 것이 또한 이해되어야 한다.
본 발명이 예시적인 실시예로 간주되는 것과 관련하여 기술되었지만, 본 발명은 개시된 실시예에 한정되지 않고 가장 넓은 해석의 사상 및 범위 내의 모든 수정 및 등가의 구성을 포함한 다양한 구성을 포함하는 것으로 의도된다는 것이 이해된다.

Claims (6)

  1. 제어 시스템(100)에 의해 구현되는 복수의 로봇의 협력 제어 방법으로서,
    상기 제어 시스템(100)은 메인 스테이션 제어기(10) 및 상기 메인 스테이션 제어기(10)에 연결된 보조 스테이션 제어기(20)를 포함하며, 상기 메인 스테이션 제어기(10)는 상기 로봇의 수(P0)에 연결되고, 상기 보조 스테이션 제어기(20)는 상기 로봇의 수(Pi)에 연결되며, 여기서 P0≥1 및 Pi≥1이며, 상기 로봇의 각각은 상기 메인 스테이션 제어기(10)와 상기 보조 스테이션 제어기(20) 중 하나에만 연결되고 상기 로봇의 협력에서 마스터 로봇, 슬레이브 로봇 및 독립 로봇 중 하나의 기능을 하며, 상기 마스터 로봇은 적어도 하나의 슬레이브 로봇과 협력적으로 연관되며,
    상기 방법은, 사전결정된 시간 길이의 주기적 동기 시간 내에서,
    a) 상기 보조 스테이션 제어기(20)로부터의 보조 스테이션 데이터세트의 수신에 응답하여, 적어도 상기 보조 스테이션 데이터세트 및 상기 로봇의 수(P0)의 현재의 동기화 상태에 기초하여 상기 협력에 관련된 메인 스테이션 데이터세트를 상기 메인 스테이션 제어기(10)에 의해 설정하는 단계 - 상기 보조 스테이션 데이터세트는 상기 로봇의 수(Pi)의 현재의 동기화 상태와 관련되고, 동기식 커맨드를 포함하고, 상기 메인 스테이션 데이터세트는 동기식 커맨드를 포함함 - 와;
    b) 업데이트된 마스터 로봇 데이터세트를 획득하기 위해, 상기 메인 스테이션 데이터세트 및 상기 보조 스테이션 데이터세트에 기초하여, 이전의 주기적 동기 시간 동안 마스터 로봇으로 작용한 로봇 중 적어도 하나와 관련된 과거의 마스터 로봇 데이터세트에 대한 업데이트를 상기 메인 스테이션 제어기(10)에 의해 수행하는 단계 - 상기 마스터 로봇에 대한 업데이트된 마스터 로봇 데이터세트는 상기 마스터 로봇에 대해 고유하게 할당된 식별 코드, 및 상기 마스터 로봇의 동기 상태를 포함함 - 와;
    c) 상기 메인 스테이션 제어기(10)에 관련된 업데이트된 마스터 로봇 데이터세트를 획득하기 위해, 상기 업데이트된 마스터 로봇 데이터세트에 기초하여 상기 메인 스테이션 데이터세트에 대한 업데이트를 상기 메인 스테이션 제어기(10)에 의해 수행하는 단계와;
    c') 상기 보조 스테이션 제어기(20)에 관련된 업데이트된 보조 스테이션 데이터세트를 획득하기 위해, 상기 업데이트된 마스터 로봇 데이터세트에 기초하여 상기 보조 스테이션 데이터세트에 대한 업데이트를 상기 메인 스테이션 제어기(10)에 의해 수행하는 단계와;
    d) 상기 메인 스테이션 제어기(10)에 의해, 상기 업데이트된 보조 스테이션 데이터세트를 상기 보조 스테이션 제어기(20)에 전송하는 단계와;
    e) 상기 로봇의 수(P0)에 관련된 업데이트된 동기화 상태를 획득하기 위해, 상기 업데이트된 메인 스테이션 데이터세트에 기초하여 상기 로봇의 수(P0)의 현재의 동기화 상태에 대한 업데이트를 상기 메인 스테이션 제어기(10)에 의해 수행하는 단계와;
    e') 상기 로봇의 수(P0)에 관련된 상기 업데이트된 동기화 상태 및 상기 업데이트된 메인 스테이션 데이터세트에 기초하여 상기 로봇의 수(P0)에 대한 제각기의 제어 커맨드의 수(P0)를 상기 메인 스테이션 제어기(10)에 의해 생성하는 단계와;
    f) 상기 업데이트된 보조 스테이션 데이터세트의 수신에 응답하여, 상기 로봇의 수(Pi)에 관련된 업데이트된 동기화 상태를 획득하기 위해, 상기 로봇의 수(Pi)의 현재의 동기화 상태를 상기 보조 스테이션 제어기(20)에 의해 업데이트하는 단계와;
    f') 상기 로봇의 수(Pi)에 관련된 상기 업데이트된 동기화 상태 및 상기 업데이트된 보조 스테이션 데이터세트에 기초하여 상기 로봇의 수(Pi)에 대한 제각기의 제어 커맨드의 수(Pi)를 상기 보조 스테이션 제어기(20)에 의해 생성하는 단계와;
    g) 상기 로봇을 구동하여 동기화된 방식으로 협력 동작을 수행하도록, 상기 메인 스테이션 제어기(10)에 의해 상기 제어 커맨드의 수(P0)를 상기 로봇의 수(P0)에 제각기 전송하고, 상기 보조 스테이션 제어기(20)에 의해 상기 제어 커맨드의 수(Pi)를 상기 로봇의 수(Pi)에 제각기 전송하는 단계를 포함하는
    복수의 로봇의 협력 제어 방법.
  2. 제 1 항에 있어서,
    메인 스테이션 데이터세트를 설정하는 단계는,
    상기 로봇의 수(P0)의 현재의 동기화 상태가 상기 로봇의 수(P0) 중 하나가 마스터 로봇으로 기능하고 현재 상기 협력이 시작되기를 기다리는 상태에 있다는 것을 나타내면, 마스터 로봇으로 전달되는 동기식 커맨드로서 상기 협력이 시작되기를 기다리는 커맨드, 상기 식별 코드, 및 상기 마스터 로봇의 현재 위치를 나타내는 좌표 세트를 상기 메인 스테이션 데이터세트가 포함하도록 설정하는 단계와;
    상기 로봇의 수(P0)의 현재의 동기화 상태가 상기 로봇의 수(P0) 중 하나가 마스터 로봇으로 기능하고 현재 동기식 협력의 상태에 있다는 것을 나타내면, 상기 마스터 로봇의 현재 위치를 나타내는 좌표 세트를 상기 메인 스테이션 데이터세트가 포함하도록 설정하는 단계와;
    상기 로봇의 수(P0)의 현재의 동기화 상태가 상기 로봇의 수(P0) 중 하나가 마스터 로봇으로 기능하고 현재 협력이 종료되기를 기다리는 상태에 있다는 것을 나타내면, 마스터 로봇으로 전달되는 동기식 커맨드로서 상기 협력이 종료되기를 기다리는 커맨드, 상기 식별 코드, 및 상기 마스터 로봇의 현재 위치를 나타내는 좌표 세트를 상기 메인 스테이션 데이터세트가 포함하도록 설정하는 단계와;
    상기 로봇의 수(P0)의 현재의 동기화 상태가 상기 로봇의 수(P0) 중 하나가 슬레이브 로봇으로 기능하고 현재 상기 협력이 시작되기를 기다리는 상태에 있다는 것을 나타내면, 슬레이브 로봇으로 전달되는 동기식 커맨드로서 상기 협력이 시작되기를 기다리는 커맨드, 및 상기 로봇이 협력하는 마스터 로봇의 식별 코드를 상기 메인 스테이션 데이터세트가 포함하도록 설정하는 단계와;
    상기 로봇의 수(P0)의 현재의 동기화 상태가 상기 로봇의 수(P0) 중 하나가 슬레이브 로봇으로 기능하고 현재 동기식 협력의 상태에 있다는 것을 나타내면, 동기식 커맨드로서 슬레이브 로봇의 협력을 제어하는 커맨드, 및 상기 슬레이브 로봇이 협력하는 마스터 로봇의 식별 코드를 상기 메인 스테이션 데이터세트가 포함하도록 설정하는 단계와;
    상기 로봇의 수(P0)의 현재의 동기화 상태가 상기 로봇의 수(P0) 중 하나가 슬레이브 로봇으로 기능하고 현재 상기 협력이 종료되기를 기다리는 상태에 있다는 것을 나타내면, 슬레이브 로봇으로 전달되는 동기식 커맨드로서 상기 협력이 종료되기를 기다리는 커맨드, 및 상기 슬레이브 로봇이 협력하는 마스터 로봇의 식별 코드를 상기 메인 스테이션 데이터세트가 포함하도록 설정하는 단계를 포함하는
    복수의 로봇의 협력 제어 방법.
  3. 제 2 항에 있어서,
    과거의 마스터 로봇 데이터세트에 대한 업데이트를 수행하는 단계는,
    상기 메인 스테이션 데이터세트가 마스터 로봇으로 전달되는, 상기 협력이 시작되기를 기다리는 커맨드를 포함하는지의 여부를 결정하고, 상기 결정이 긍정인 경우, 과거의 마스터 로봇 데이터세트가 상기 메인 스테이션 데이터세트에 포함된 상기 마스터 로봇의 식별 코드를 포함하지 않는다는 결정에 응답하여, 상기 식별 코드를 통합하고 상기 마스터 로봇의 동기 상태를 상기 협력이 시작되기를 기다리는 상태로 설정함으로써 상기 과거의 마스터 로봇 데이터세트를 업데이트하는 단계와;
    상기 메인 스테이션 데이터세트가 마스터 로봇으로 전달되는, 상기 협력이 종료되기를 기다리는 커맨드를 포함하는지의 여부를 결정하고, 상기 결정이 긍정인 경우, 상기 과거의 마스터 로봇 데이터세트가 상기 메인 스테이션 데이터세트에 포함된 상기 마스터 로봇의 식별 코드를 포함하지 않는다는 결정에 응답하여, 상기 식별 코드를 통합하고 상기 마스터 로봇의 동기 상태를 상기 협력이 종료되기를 기다리는 상태로 설정함으로써 상기 과거의 마스터 로봇 데이터세트를 업데이트하는 단계와;
    상기 메인 스테이션 데이터세트가 슬레이브 로봇으로 전달되는, 상기 협력이 시작되기를 기다리는 커맨드를 포함하는지의 여부를 결정하는 단계와; 상기 결정이 긍정인 경우, 상기 과거의 마스터 로봇 데이터세트가 상기 메인 스테이션 데이터세트에 포함되고 상기 마스터 로봇에 할당되는 식별 코드를 포함하지 않는다는 결정에 응답하여, 상기 식별 코드를 통합하고 상기 마스터 로봇의 동기 상태를 상기 협력이 시작되기를 기다리는 상태로 설정함으로써 상기 과거의 마스터 로봇 데이터세트를 업데이트하는 단계와;
    상기 메인 스테이션 데이터세트가 슬레이브 로봇으로 전달되는, 상기 협력이 종료되기를 기다리는 커맨드를 포함하는지의 여부를 결정하고, 상기 결정이 긍정인 경우, 상기 과거의 마스터 로봇 데이터세트가 상기 메인 스테이션 데이터세트에 포함되고 상기 마스터 로봇에 할당되는 식별 코드를 포함하지 않는다는 결정에 응답하여, 상기 식별 코드를 통합하고 상기 마스터 로봇의 동기 상태를 상기 협력이 종료되기를 기다리는 상태로 설정함으로써 상기 과거의 마스터 로봇 데이터세트를 업데이트하는 단계와;
    상기 메인 스테이션 데이터세트가 상기 마스터 로봇의 현재 위치를 나타내는 좌표 세트를 포함하는지 여부를 결정하고, 상기 결정이 긍정인 경우, 상기 좌표 세트를 통합함으로써 상기 과거의 마스터 로봇 데이터세트를 업데이트하는 단계를 포함하는
    복수의 로봇의 협력 제어 방법.
  4. 제 3 항에 있어서,
    상기 단계 e) 및 e')의 각각은,
    상기 업데이트된 메인 스테이션 데이터세트가 협력 시작 완료를 위해 슬레이브 로봇에 전달되는 커맨드를 포함하는 것으로 결정되면, 현재의 동기화 상태를 동기식 동작 상태로 설정함으로써 상기 로봇의 현재의 동기화 상태를 업데이트하는 서브 단계와;
    상기 업데이트된 메인 스테이션 데이터세트가 협력 종료 완료를 위해 마스터 로봇으로 전달되는 커맨드를 포함한다고 결정되면, 상기 로봇을 독립 로봇으로 지정함으로써 상기 로봇의 현재의 동기화 상태를 업데이트하는 서브 단계와;
    상기 업데이트된 메인 스테이션 데이터세트가 협력 시작 완료를 위해 슬레이브 로봇에 전달되는 커맨드를 포함하는 것으로 결정되면, 현재의 동기화 상태를 동기식 동작 상태로 설정함으로써 상기 로봇의 현재의 동기화 상태를 업데이트하는 서브 단계와;
    상기 업데이트된 메인 스테이션 데이터세트가 협력 종료 완료를 위해 슬레이브 로봇에 전달되는 커맨드를 포함하는 것으로 결정되면, 상기 로봇을 독립 로봇으로 지정함으로써 상기 로봇의 현재의 동기화 상태를 업데이트하는 서브 단계를 포함하는
    복수의 로봇의 협력 제어 방법.
  5. 제 4 항에 있어서,
    상기 단계 e) 및 e')의 각각은,
    상기 로봇이 슬레이브 로봇으로 지정되어 동기식 동작 상태에 있다고 결정되면, 상기 업데이트된 메인 스테이션 데이터세트로부터 상기 마스터 로봇의 현재 위치를 나타내는 좌표 세트를 보간 보상 커맨드 모듈에 의해 획득하며, 사전결정된 변환 행렬을 이용하여 상기 좌표 세트에 대한 좌표 변환을 수행함으로써 보간 보상 커맨드를 생성하는 서브 단계와;
    상기 보간 보상 커맨드에 기초하여 모션 보간 커맨드를 모션 보간 커맨드 모듈(301)에 의해 생성하는 서브 단계와;
    상기 로봇이 독립 로봇으로 지정되어 있거나, 상기 로봇이 마스터 로봇으로 지정되어 동기식 동작 상태에 있다고 결정되면, 상기 모션 보간 커맨드 모듈(301)에 의해, 사전결정된 모션 계획 프로그램을 실행하여 상기 로봇에 대한 제어 커맨드로서 기능하는 모션 보간 커맨드를 생성하는 서브 단계를 더 포함하는
    복수의 로봇의 협력 제어 방법.
  6. 복수의 로봇의 협력을 제어하는 시스템으로서,
    상기 로봇의 각각은 상기 로봇의 협력에서 마스터 로봇, 슬레이브 로봇 및 독립 로봇 중의 하나로 기능하며, 상기 마스터 로봇은 적어도 하나의 슬레이브 로봇과 협력적으로 연관되며,
    상기 시스템은,
    두 개의 로봇 제어기 - 상기 로봇 제어기 중 하나는 메인 스테이션 제어기(10)로 지정되고 상기 로봇의 수(P0)에 연결되고, 상기 로봇 제어기 중 다른 하나는 보조 스테이션 제어기(20)로 지정되고, 상기 보조 스테이션 제어기(20)는 상기 메인 스테이션 제어기(10)에 연결되고, 상기 로봇의 수(Pi)에 연결되며, 여기서 P0≥1 및 Pi≥1임 - 와;
    상기 메인 스테이션 제어기(10) 및 상기 보조 스테이션 제어기(20)에 전기적으로 연결되어 상기 메인 스테이션 제어기(10) 및 상기 보조 스테이션 제어기(20)를 상호연결하는 필드 버스 네트워크(30)를 포함하며;
    상기 로봇 제어기의 각각은,
    메모리 모듈(1)과,
    상기 필드 버스 네트워크(30)에 전기적으로 연결된 필드 버스 인터페이스(2)와,
    상기 메모리 모듈(1)과 상기 필드 버스 인터페이스(2)에 전기적으로 연결된 처리 유닛(3)과,
    상기 처리 유닛(3) 및 상기 로봇 중 적어도 하나에 전기적으로 연결된 액추에이터(4)를 포함하고,
    상기 메인 스테이션 제어기(10)의 상기 메모리 모듈(1)은 과거의 마스터 로봇 데이터세트를 저장하며, 상기 과거의 마스터 로봇 데이터세트는, 특정의 마스터 로봇에 대해, 상기 마스터 로봇에 고유하게 할당된 식별 코드, 상기 마스터 로봇과 협력하도록 예상되는 슬레이브 로봇의 사전결정된 수, 상기 마스터 로봇의 동기 상태, 및 상기 마스터 로봇과 협력하고 상기 마스터 로봇의 동기 상태에 대응하는 제어 커맨드에 의해 제어되는 슬레이브 로봇의 누적된 수를 포함하며;
    상기 시스템은 사전결정된 시간 길이의 주기적 동기 시간 내에,
    a) 상기 보조 스테이션 제어기(20)로부터의 보조 스테이션 데이터세트의 수신에 응답하여, 상기 로봇의 수(P0)의 현재의 동기화 상태에 기초하여 상기 협력에 관련된 메인 스테이션 데이터세트를 상기 메인 스테이션 제어기(10)의 상기 처리 유닛(3)에 의해 설정하고, 상기 메모리 모듈(1)에 상기 메인 스테이션 데이터세트를 저장하는 단계 - 상기 보조 스테이션 데이터세트는 상기 로봇의 수(Pi)의 현재의 동기화 상태와 관련되고, 동기식 커맨드를 포함하고, 상기 메인 스테이션 데이터세트는 동기식 커맨드를 포함함 - 와;
    b) 업데이트된 마스터 로봇 데이터세트를 획득하기 위해, 상기 메인 스테이션 데이터세트 및 상기 메모리 모듈(1)에 저장된 보조 스테이션 데이터세트에 기초하여, 상기 메인 모듈 제어기(10)의 상기 처리 유닛(3)에 의해, 상기 메모리 모듈(1)에 저장된 상기 과거의 마스터 로봇 데이터세트에 대한 업데이트를 수행하고, 상기 업데이트된 마스터 로봇 데이터세트를 상기 메모리 모듈(1)에 저장하는 단계와;
    c) 상기 메인 스테이션 제어기(10)에 관련된 업데이트된 메인 스테이션 데이터세트를 획득하기 위해, 상기 업데이트된 마스터 로봇 데이터세트에 기초하여 상기 메인 스테이션 데이터세트에 대한 업데이트를 상기 메인 스테이션 제어기(10)의 상기 처리 유닛(3)에 의해 수행하고, 상기 업데이트된 메인 스테이션 데이터세트를 상기 메모리 모듈(1)에 저장하는 단계와;
    c') 상기 보조 스테이션 제어기(20)에 관련된 업데이트된 보조 스테이션 데이터세트를 획득하기 위해, 상기 업데이트된 마스터 로봇 데이터세트에 기초하여 상기 보조 스테이션 데이터세트에 대한 업데이트를 상기 메인 스테이션 제어기(10)의 상기 처리 유닛(3)에 의해 수행하고, 상기 업데이트된 보조 스테이션 데이터세트를 상기 메모리 모듈(1)에 저장하는 단계와;
    d) 상기 메인 스테이션 제어기(10)의 상기 처리 유닛(3)에 의해, 상기 업데이트된 보조 스테이션 데이터세트를 상기 필드 버스 인터페이스(2)를 통해 상기 보조 스테이션 제어기(20)에 전송하는 단계와;
    e) 상기 로봇의 수(P0)에 관련된 업데이트된 동기화 상태를 획득하기 위해, 상기 업데이트된 메인 스테이션 데이터세트에 기초하여 상기 로봇의 수(P0)의 현재의 동기화 상태에 대한 업데이트를 상기 메인 스테이션 제어기(10)의 상기 처리 유닛(3)에 의해 수행하는 단계와;
    e') 상기 로봇의 수(P0)의 상기 업데이트된 동기화 상태 및 상기 업데이트된 메인 스테이션 데이터세트에 기초하여 상기 로봇의 수(P0)에 대한 제각기의 제어 커맨드의 수(P0)를 상기 메인 스테이션 제어기(10)의 상기 처리 유닛(3)에 의해 생성하는 단계와;
    f) 상기 업데이트된 보조 스테이션 데이터세트의 수신에 응답하여, 상기 로봇의 수(Pi)에 관련된 업데이트된 동기화 상태를 획득하기 위해, 상기 로봇의 수(Pi)의 현재의 동기화 상태를 상기 보조 스테이션 제어기(20)의 상기 처리 유닛(3)에 의해 업데이트하는 단계와;
    f') 상기 업데이트된 동기화 상태 및 상기 업데이트된 보조 스테이션 데이터세트에 기초하여 상기 로봇의 수(Pi)에 대해 제각기의 제어 커맨드의 수(Pi)를 상기 보조 스테이션 제어기(20)의 상기 처리 유닛(3)에 의해 생성하는 단계와;
    f") 상기 로봇을 구동하여 동기화된 방식으로 협력 동작을 수행하도록, 상기 메인 스테이션 제어기(10)의 상기 처리 유닛(3)에 의해 상기 제어 커맨드의 수(P0)를 상기 메인 스테이션 제어기(10)의 상기 액추에이터(4)를 통해 상기 로봇의 수(P0)에 제각기 전송하고, 상기 보조 스테이션 제어기(20)의 상기 처리 유닛(3)에 의해 상기 제어 커맨드의 수(Pi)를 상기 보조 스테이션 제어기(20)의 상기 액추에이터(4)를 통해 상기 로봇의 수(Pi)에 제각기 전송하는 단계를 수행하도록 프로그램되는
    복수의 로봇의 협력을 제어하는 시스템.
KR1020180117676A 2018-01-19 2018-10-02 다수의 로봇의 협력 동작을 동기식으로 제어하기 위한 방법 및 시스템 KR102039274B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW107101966A TWI647553B (zh) 2018-01-19 2018-01-19 Multi-machine synchronous cooperative control method and system
TW107101966 2018-01-19

Publications (1)

Publication Number Publication Date
KR102039274B1 true KR102039274B1 (ko) 2019-10-31

Family

ID=65804167

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180117676A KR102039274B1 (ko) 2018-01-19 2018-10-02 다수의 로봇의 협력 동작을 동기식으로 제어하기 위한 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR102039274B1 (ko)
TW (1) TWI647553B (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3538362B2 (ja) * 1999-09-16 2004-06-14 ファナック株式会社 複数ロボットの同期又は協調動作制御装置
JP2005014149A (ja) * 2003-06-26 2005-01-20 Yaskawa Electric Corp ロボットシステム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889924A (en) * 1994-03-23 1999-03-30 Kabushiki Kaisha Yaskawa Denki Industrial robots controller
JPH09244730A (ja) * 1996-03-11 1997-09-19 Komatsu Ltd ロボットシステムおよびロボットの制御装置
CN100407215C (zh) * 2002-09-30 2008-07-30 东京毅力科创株式会社 用于监视和控制半导体生产过程的方法和装置
JP3819883B2 (ja) * 2003-08-27 2006-09-13 ファナック株式会社 ロボットプログラム位置修正装置
SE0303384D0 (sv) * 2003-12-15 2003-12-15 Abb Ab Control system, method and computer program
ATE395167T1 (de) * 2005-04-19 2008-05-15 Comau Spa Verfahren zur steuerung von industriellen robotern und entsprechend gesteuerte roboter, robotersysteme und computerprogramme
JP4506730B2 (ja) * 2006-07-10 2010-07-21 セイコーエプソン株式会社 電動モータ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3538362B2 (ja) * 1999-09-16 2004-06-14 ファナック株式会社 複数ロボットの同期又は協調動作制御装置
JP2005014149A (ja) * 2003-06-26 2005-01-20 Yaskawa Electric Corp ロボットシステム

Also Published As

Publication number Publication date
TW201933011A (zh) 2019-08-16
TWI647553B (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
KR101494117B1 (ko) 전동기 제어 시스템 및 통신 방법
US10496079B2 (en) Control device and control method
CN109709929B (zh) 控制系统
US20130282148A1 (en) Motion controller
JP6409557B2 (ja) 制御装置、コントローラ・システム、出力制御方法、およびプログラム
US11774933B2 (en) Stage automation system
KR20170103923A (ko) 통신 제어 시스템 및 통신 제어 방법
JP2005129026A (ja) プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法
KR102039274B1 (ko) 다수의 로봇의 협력 동작을 동기식으로 제어하기 위한 방법 및 시스템
WO2021033358A1 (ja) 制御システム、制御装置およびプログラム
KR101212781B1 (ko) 로봇 통합용접제어 시스템
CN110161972B (zh) 多机同步协同控制方法及系统
JP7310495B2 (ja) 制御システム、情報処理装置およびプログラム
JP4883194B2 (ja) プログラマブルコントローラおよびコントローラシステム
JP2019077011A (ja) スレーブ装置、マスター装置、および産業用ネットワークシステム
KR102434129B1 (ko) 모션 컨트롤 시스템 및 그 제어 방법
CN111263685B (zh) 机器人方法和系统
JP2006350884A (ja) ファームウェア更新システムおよびファームウェア更新方法
US20220331951A1 (en) Robot control system, lower-level control apparatus, and control method for robot
WO2021145124A1 (ja) 制御装置
JP4596153B2 (ja) プログラマブルコントローラおよびコントローラシステムならびに変数解決方法
CN117518865A (zh) 三维仿真软件对工业机器人进行外部控制的方法、存储介质和系统
JP4533331B2 (ja) 制御機器
CN117597898A (zh) 通信系统、控制系统以及通信方法
KR20180123347A (ko) Plc장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant