KR100802200B1 - 로봇 제어시스템 - Google Patents

로봇 제어시스템 Download PDF

Info

Publication number
KR100802200B1
KR100802200B1 KR1020060000960A KR20060000960A KR100802200B1 KR 100802200 B1 KR100802200 B1 KR 100802200B1 KR 1020060000960 A KR1020060000960 A KR 1020060000960A KR 20060000960 A KR20060000960 A KR 20060000960A KR 100802200 B1 KR100802200 B1 KR 100802200B1
Authority
KR
South Korea
Prior art keywords
robot
cpu
movement
sub
robots
Prior art date
Application number
KR1020060000960A
Other languages
English (en)
Other versions
KR20060091719A (ko
Inventor
히로아키 기타츠지
나오유키 마츠모토
요시노리 게가사
Original Assignee
가와사키 쥬코교 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가와사키 쥬코교 가부시키가이샤 filed Critical 가와사키 쥬코교 가부시키가이샤
Publication of KR20060091719A publication Critical patent/KR20060091719A/ko
Application granted granted Critical
Publication of KR100802200B1 publication Critical patent/KR100802200B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J37/00Baking; Roasting; Grilling; Frying
    • A47J37/06Roasters; Grills; Sandwich grills
    • A47J37/067Horizontally disposed broiling griddles
    • A47J37/0682Horizontally disposed broiling griddles gas-heated
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • 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
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J36/00Parts, details or accessories of cooking-vessels
    • A47J36/02Selection of specific materials, e.g. heavy bottoms with copper inlay or with insulating inlay
    • A47J36/04Selection of specific materials, e.g. heavy bottoms with copper inlay or with insulating inlay the materials being non-metallic
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J43/00Implements for preparing or holding food, not provided for in other groups of this subclass
    • A47J43/04Machines for domestic use not covered elsewhere, e.g. for grinding, mixing, stirring, kneading, emulsifying, whipping or beating foodstuffs, e.g. power-driven
    • A47J43/07Parts or details, e.g. mixing tools, whipping tools
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33097Variable ticks, align clocks, to synchronise cycles with other machine, robot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39101Cooperation with one or more rotating workpiece holders, manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39136Teach each manipulator independently or dependently from each other
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39382Level, organization and coordination or distribution of tasks and execution level
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40399Selection of master-slave operation mode

Landscapes

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

Abstract

본 발명은, 복수의 다축 로봇을 동시에 제어하는 로봇 제어시스템으로서, 각 로봇이 복수의 액츄에이터를 갖고, 각 로봇에 기준가동부가 설정되는 로봇 제어시스템에 있어서, 상기 기준가동부가 이동하는 이동경로 상의 일련의 이동위치를 각각 연산하는 단일의 주제어장치와, 로봇마다 각각 설치된 각 부제어장치로서, 상기 단일의 주제어장치에서 산출된 대응하는 로봇에 관한 기준가동부의 이동경로 상의 상기 일련의 이동위치에 기초해서 대응하는 로봇의 기준가동부가 이동경로 상을 이동할 때의 각 액츄에이터의 일련의 동작량을 연산해서 구하여, 그 동작량으로 로봇의 각 액츄에이터를 제어하는 복수의 부제어장치를 가진 것을 특징으로 한다.

Description

로봇 제어시스템 {ROBOT CONTROLLING SYSTEM}
도 1은 본 발명의 실시의 제1형태에 따른 로봇 설비(20)의 구성을 나타낸 계통도,
도 2는 로봇 설비(20)의 구성을 나타낸 블록도,
도 3은 제1CPU(32)에 의한 로봇관련정보의 기억동작의 순서를 나타낸 플로우차트,
도 4는 제1CPU(32)에 의한 로봇동작계획 생성동작의 순서를 나타낸 플로우차트,
도 5는 표 1에서의 동작프로그램에 따라 동작하는 로봇에서의 로봇 핸드(130)가 이동하는 이동경로를 나타낸 도면,
도 6은 표 1에서의 동작프로그램에 따라 동작하는 로봇에서의 로봇 핸드의 이동속도와 핸드 개폐의 시간변화를 나타낸 그래프,
도 7은 제2CPU(39)에 의한 로봇 핸드(130)의 이동위치 연산동작의 순서를 나타낸 플로우차트,
도 8은 표 1에서의 동작프로그램에 따라 로봇 핸드(130)가 이동한 경우에, 인접하는 2개의 동작위치(Q1, Q2)와 보간연산되는 이동위치(Qc)를 설명하기 위한 도면,
도 9는 이동위치(Qc)를 설명하기 위해 나타낸 로봇 핸드(130)의 이동속도의 시간변화를 나타낸 그래프,
도 10은 단계 c3의 보간처리의 순서를 나타낸 플로우차트,
도 11은 마스터 로봇(Ra)과 슬레이브 로봇(Rb)의 협조동작을 설명하는 도면,
도 12는 제3CPU(42)에 의한 모터제어동작의 순서를 나타낸 플로우차트,
도 13은 각 CPU(32, 39, 42)의 통신 타이밍을 나타낸 타이밍차트,
도 14는 각 CPU(32, 39, 42)의 동기처리기능을 설명하기 위한 도면,
도 15는 컨트롤러(24)의 전원투입시의 제1CPU(32)의 초기동작을 나타낸 플로우차트,
도 16은 협조동작부위를 교시하는 순서를 설명하기 위한 각 로봇(Ra, Rb)의 암 선단부분(94a, 94b)의 이동경로를 나타낸 사시도,
도 17은 도 16에 도시된 각 교시점에 대응해서 마스터 로봇(Ra) 및 슬레이브 로봇(Rb)을 협조동작시키기 위한 협조동작 프로그램의 1예를 나타낸 도면,
도 18은 본 발명의 실시의 제2형태인 로봇 설비(20)의 구성을 나타낸 계통도,
도 19는 다축 로봇(221, 222)의 변형상태를 나타낸 사시도,
도 20은 다축 로봇(221, 222)의 변형상태를 나타낸 사시도,
도 21은 다축 로봇(221, 222)의 변형상태를 나타낸 사시도,
도 22는 본 발명의 실시의 제3형태인 로봇 설비(420)의 구성을 나타낸 계통 도,
도 23은 본 발명의 실시의 제4형태인 로봇 설비(320)의 구성을 나타낸 계통도,
도 24는 제1의 종래기술의 로봇 설비(1)를 나타낸 블록도,
도 25는 제2의 종래기술의 로봇 설비(10)를 나타낸 블록도이다.
본 발명은 복수의 로봇을 동시에 제어하는 로봇 제어시스템 및 로봇 설비에 관한 것이다.
도 24는 제1의 종래기술의 로봇 설비(1)를 나타낸 블록도이다. 제1의 종래기술에 따른 로봇 설비(1)는, 복수의 상업용 로봇(2∼4)과, 이들 각 로봇(2∼4)에 각각 설치되어 각 로봇(2∼4)을 개별로 제어하는 복수의 로봇 제어장치(5∼7)를 포함해서 구성된다. 각 로봇 제어장치(5∼7)는 통신케이블(8)에 의해 접속된다(예컨대, 일본국 특개 2001-150372호 공보 참조).
제1의 종래기술의 로봇 설비(1)에서는, 각 로봇(2∼4)에 협조동작(協調動作)을 실행시키는 경우, 복수의 로봇 중 1개의 로봇(2)이 마스터 로봇으로 되고, 이 마스터 로봇 이외의 로봇(3, 4)은 슬레이브 로봇으로 된다. 마스터 로봇용 마스터측 로봇 제어장치(5)는, 마스터 로봇(2)의 이동위치와 관련된 데이터를 슬레이브 로봇용 각 슬레이브측 로봇 제어장치(6, 7)로 각각 송신한다. 각 슬레이브측 로봇 제어장치(6, 7)는, 마스터측 로봇 제어장치(5)로부터 부여되는 데이터에 기초해서 각 슬레이브 로봇(3, 4)이 마스터 로봇(2)에 대해 협조동작 하도록 슬레이브 로봇(3, 4)을 각각 제어한다.
도 25는 제2의 종래기술의 로봇 설비(10)를 나타낸 블록도이다. 제2의 종래기술의 로봇 설비(10)는, 복수의 상업용 로봇(2∼ 4)과, 1개의 주(主)제어장치(11) 및, 각 로봇(2∼4)에 각각 설치되는 종(從)제어장치(12∼14)를 포함해서 구성된다. 종제어장치(12∼14)는 로봇에 설치되는 복수의 액츄에이터마다 서보앰프를 가진다. 각 종제어장치(12∼14)는, 통신케이블(15)에 의해 주제어장치(11)에 각각 접속된다(예컨대, 일본국 특개 2001-100805호 공보 참조).
제2의 종래기술의 로봇 설비(10)에서는, 주제어장치(11)가 각 로봇(2∼4)에 설치되는 각 액츄에이터의 동작량을 각각 연산하여, 그 연산결과를 각 종제어장치(12∼14)로 각각 송신한다. 종제어장치(12∼14)는, 주제어장치(11)로부터 부여되는 위치제어 데이터에 기초해서, 서보앰프로부터 소정의 전력을 각 액츄에이터에 부여한다. 이에 따라 각 서보앰프에 접속되는 모터가 동작해서 로봇이 소망하는 변위동작을 실행한다.
제1의 종래기술의 로봇 설비(1)에서는, 각 로봇 제어장치(5∼7)에 티치 펜던트(teach pendant: 교시반)가 각각 설치되어 있다. 따라서, 작업자는 대응하는 로봇(2∼4)의 동작순서에 맞추어진 로봇 제어프로그램을 각 티치 펜던트에 개별로 입력할 필요가 있다. 따라서 작업자에 의한 프로그램의 입력동작이 번거로워지게 된다. 또, 각 로봇 제어장치(5∼7)에 개별로 로봇 제어프로그램이 입력되기 때문에, 협조동작을 실행할 때 슬레이브 로봇의 이동위치를 연산하기 위해 마스터 로봇의 이동위치를 취득할 필요가 있다. 이에 따라 각 로봇 제어장치(5∼7)를 상호 통신할 수 있도록 구성하지 않으면 안되어, 로봇 설비(1)의 구성이 복잡해지게 된다.
또, 마스터 로봇(2)과 슬레이브 로봇(3, 4)을 협조동작시킴에 있어, 각 로봇 제어장치(5∼7)를 상호 동기(同期)시킬 필요가 있다. 이 경우, 각 로봇 제어장치(5∼7)의 동작주기의 미소한 차이, 즉 송신주기와 수신주기의 미소한 차이의 축적에 따른 제어주기의 어긋남 등을 해소할 수 없어, 복수의 로봇 제어장치(5∼7)를 동기시킨 상태로 유지할 수 없다고 하는 문제가 있다.
제2의 종래기술의 로봇 설비(10)에서는, 주제어장치(11)가 외부로부터 입력되는 동작계획에 기초해서 각 로봇(2∼4)의 이동위치를 각각 구한 다음, 이들 이동위치에 대응하는 각 서보모터의 동작량을 역변환처리해서 구하여, 종제어장치(12∼14)에 각각 부여한다. 주제어장치(11)는, 이와 같은 계산을 로봇의 대수에 대응해서 계산할 필요가 있다. 또, 로봇의 축수(軸數)가 증가할수록 역변환처리에 걸리는 연산부하가 증가하게 된다. 따라서, 로봇의 대수 및 각 로봇의 축수가 증가하면, 주제어장치(11)의 연산에 걸리는 부하가 커져, 처리속도가 낮은 처리회로를 이용해서 주제어장치(11)를 실현하면 각 로봇(2∼4)을 원활하게 동작시킬 수 없게 된다.
따라서, 본 발명의 목적은 복수의 로봇을 동시에 쉽게 동작시킬 수 있고, 로봇을 원활하게 동작시킬 수 있는 로봇 제어시스템을 제공하는 것이다.
상기와 같은 목적을 달성하기 위해 본 발명은, 복수의 다축 로봇을 동시에 제어하는 로봇 제어시스템으로서, 각 로봇이 복수의 액츄에이터를 갖고, 각 로봇에 기준가동부가 설정되는 로봇 제어시스템에 있어서,
상기 기준가동부가 이동하는 이동경로 상의 일련의 이동위치를 각각 연산하는 단일의 주제어장치와,
로봇마다 각각 설치된 각 부제어장치로서, 상기 단일의 주제어장치에서 산출된 대응하는 로봇에 관한 기준가동부의 이동경로 상의 상기 일련의 이동위치에 기초해서 대응하는 로봇의 기준가동부가 이동경로 상을 이동할 때의 각 액츄에이터의 일련의 동작량을 연산해서 구하여, 그 동작량으로 로봇의 각 액츄에이터를 제어하는 복수의 부제어장치를 가진 것을 특징으로 한다.
이상과 같이 구성된 본 발명에 의하면, 주제어장치가 복수의 로봇에 설정되는 기준가동부인 예컨대 로봇 핸드가 각각 이동하는 이동경로 상의 이동위치를 각각 연산하게 된다. 주제어장치는 연산한 각 이동위치를 대응하는 부제어장치에 부여한다. 각 부제어장치는, 주제어장치로부터 각각 개별로 부여된 이동위치에 기초해서 로봇의 기준가동부가 이동경로 상을 이동하도록 각 액츄에이터의 동작량을 연산하게 된다. 바꿔 말해서, 부제어장치는 로봇의 이동위치에 기초해서 각 액츄에이터의 동작량을 각각 역변환연산하게 된다. 부제어장치는, 주제어장치로부터 이동위치가 로봇의 이동순서에 따라 순차로 부여됨으로써, 역변환연산된 동작량으로 각 액츄에이터를 순차로 제어하게 된다. 이에 따라 로봇의 기준가동부를 미리 정 해진 이동경로를 따라 이동시킬 수 있게 된다.
부제어장치는 로봇마다 각각 설치된다. 따라서, 각 부제어장치가 대응하는 로봇의 각 액츄에이터를 각각 제어함으로써, 각 로봇의 기준가동부를 각각 개별로 또한 동시에 동작시킬 수 있게 된다.
본 발명에 의하면, 단일의 주제어장치가 각각의 로봇의 기준가동부가 이동하는 이동경로 상의 각 이동위치를 각각 연산하게 된다. 따라서, 작업자 또는 주제어장치가 접속되는 외부장치는 각 로봇의 제어프로그램을 주제어장치에만 입력하는 것으로 좋다. 바꿔 말해서, 제1의 종래기술과 같이 각 로봇의 제어프로그램을 복수의 제어장치에 각각 개별로 입력할 필요가 없다. 따라서, 로봇 제어시스템에서의 입력작업의 수고를 생략하여 편리성을 향상시킬 수 있다. 또 작업자 및 외부장치에 대한 제어장치의 인터페이스를 단일의 주제어장치에 설치하는 것만으로 좋아, 로봇마다 인터페이스를 설치할 필요가 없게 된다. 이에 따라, 로봇 제어시스템을 소형화할 수 있는 동시에 저가로 형성할 수 있게 된다.
또, 협조제어를 하는 경우, 단일의 주제어장치는 다른 장치와 통신을 하지 않고, 연산한 마스터 로봇의 이동위치에 기초해서 슬레이브 로봇의 이동위치를 연산할 수 있다. 이때, 역변환연산을 각 로봇에 대응하는 부제어장치에 의해 각각 개별적으로 실행함으로써, 로봇 설비에서의 제어주기를 짧게 해서, 미소한 시간간격으로 액츄에이터의 동작지령을 부여할 수 있다. 따라서, 로봇을 원활하게 동작시킬 수 있게 된다.
또, 본 발명에 의하면, 부제어장치는 로봇마다 개별로 필요한 연산을 실행하 게 된다. 이에 따라, 주제어장치의 부하를 저감할 수 있게 된다. 동시동작하는 로봇의 대수 또는 각 로봇의 축수가 증가하면 증가할수록, 각 이동위치에 기초해서 각 액츄에이터의 동작량을 연산하는데 필요한 부하가 증가하는 바, 본 발명에서는 앞에서 설명한 바와 같이 로봇마다 설치되는 부제어장치가 대응하는 로봇에 대한 액츄에이터의 동작량의 연산을 분담하게 된다.
이와 같이, 주제어장치는 그 처리동작 중에 로봇마다의 역변환연산처리를 생략할 수 있다. 이에 따라 동시동작하는 로봇의 대수 또는 각 로봇의 축수가 증가하라도, 주제어장치에 관한 연산부하가 증대되는 것을 막을 수 있어, 각 로봇의 이동위치를 원활하면서 단시간에 구할 수 있고, 더 나아가서 각 로봇을 안정하게 동시에 동작시킬 수 있게 된다.
또, 본 발명은, 상기 주제어장치가 외부장치와의 신호의 입출력동작을 실행하는 입출력부와, 이 입출력부에서의 신호의 입출력동작을 제어하는 입출력 제어처리회로, 각 로봇의 기준가동부의 이동위치를 구하기 위한 동작계획을 기억하는 기억부 및, 상기 입출력 제어처리회로와는 별체(別體)로 설치되어 상기 동작계획에 기초해서 각 로봇의 기준가동부가 이동하는 이동경로 상의 이동위치를 각각 연산하는 이동경로 연산처리회로를 포함하는 것이 바람직하다.
본 발명에 따르면, 입출력부로부터 신호가 부여되면, 입출력 제어처리회로가 입출력부를 제어한다. 입출력 제어처리회로에 의한 입출력부의 입출력동작의 제어는 상시 행해져야 하는 것은 아니고 단기간에 대해 행해지게 된다. 예컨대, 입출력부가 표시부분과 입력부분을 포함한 경우, 입출력 제어처리회로가 입력부분에 의 해 이동경로를 나타내는 이동경로 정보의 표시지령이 부여된 것을 판단하면, 이동경로 정보를 표시부분에 표시하게 된다. 또 입력부분에 의해 각 로봇에 관한 동작계획을 나타내는 동작계획 입력지령이 부여된 것을 판단하면, 입력부분으로부터 주어진 동작계획을 기억부에 기억시킨다.
이동경로 연산처리회로는, 기억부에 기억된 각 로봇에 관한 동작계획을 읽어들여 그 동작계획에 기초해서 각 로봇의 기준가동부의 이동위치를 순차적으로 연산한다. 이동경로 연산처리회로는, 로봇마다 연산한 각 이동위치를 대응하는 부제어장치에 각각 부여한다.
본 발명에 의하면, 로봇의 각 이동위치를 연산하는 이동경로 연산처리회로와, 그 밖의 동작을 제어하는 입출력 제어처리회로를 별체로 구성하게 된다. 이에 따라, 작업자의 조작 등에 의해 연산부하가 변동되었다고 하더라도, 이동경로 연산처리회로가 연산결과를 원활하게 출력할 수 있게 된다. 이에 따라, 각 로봇을 복수대 동시에 안정하게 동작시킬 수 있게 된다.
또, 본 발명은, 상기 주제어장치는 부제어장치를 접속할 수 있는 최대 접속수가 설정되어 있으며, 최대 접속수의 부제어장치가 접속되는 경우에는 연산결과를 순번대로 미리 정해진 타이밍에서 각 부제어장치에 각각 부여하고, 최대 접속수보다 적은 부제어장치가 접속되는 경우에는 최대 접속수의 부제어장치가 접속되는 경우와 마찬가지의 타이밍에서 연산결과를 순번대로 각 부제어장치에 각각 부여하도록 하는 것이 바람직하다.
본 발명에 따르면, 주제어장치에 접속되는 부제어장치의 수(數)에 관계없이 주제어장치로부터 각 부제어장치로 연산결과가 각각 부여되는 타이밍을 같게 할 수 있다. 따라서, 각 로봇의 동작계획이 결정된 상태에서 부제어장치가 삭제된 경우라 하더라도, 주제어장치로부터 나머지 부제어장치로 연산결과가 부여되는 타이밍이 변화하는 일이 없어, 나머지 부제어장치에 의해 제어되는 각 로봇의 동작특성이 변화하는 것을 막을 수 있다. 마찬가지로, 각 로봇의 동작계획이 결정된 상태에서, 부제어장치가 추가된 경우라 하더라도 주제어장치로부터 기존의 부제어장치로 연산결과가 부여되는 타이밍이 변화하는 일이 없어, 기존의 부제어장치에 의해 제어되는 각 로봇의 동작특성이 변화하는 것을 막을 수 있다.
예컨대, 복수의 로봇 중 1개의 로봇이 고장난 경우, 고장난 로봇에 대응하는 부제어장치를 주제어장치에서 떼어 내더라도, 나머지 부제어장치에 의해 제어되는 로봇의 동작이 변화하는 것을 막을 수 있다. 이에 따라, 고장난 로봇이 실행할 작업을 작업자가 일시적으로 실행함으로써 생산성의 저하를 억제할 수 있게 된다. 또 고장난 로봇이 수리된 경우, 수리된 로봇에 대응하는 부제어장치를 주제어장치에 접속함으로써, 복수의 로봇에 의한 작업을 쉽게 재개시킬 수 있다.
또, 본 발명은, 상기 주제어장치가 각 로봇의 기준가동부의 이동위치를 구하기 위한 동작계획을 기억하는 기억부와, 상기 동작계획에 기초해서 각 로봇의 기준가동부가 이동하는 이동경로 상의 이동위치를 연산하는 이동경로 연산처리회로를 포함하고, 상기 동작계획은 주목하는 로봇에 대해 미리 정해진 기준동작을 하는 마스터 로봇, 대응하는 마스터 로봇에 연동해서 동작하는 슬레이브 로봇의 어느 로봇인지를 나타내는 협조동작정보와, 주목하는 로봇이 슬레이브 로봇인 경우에 대응하 는 마스터 로봇의 동작에 대한 연속동작관계를 나타내는 연동관계정보를 포함하며, 상기 이동경로 연산처리회로는 슬레이브 로봇의 기준가동부가 이동하는 이동경로 상의 이동위치를 연산하는 경우, 대응하는 마스터 로봇의 이동위치와 상기 연동관계정보에 기초해서 슬레이브 로봇의 기준가동부가 이동하는 이동경로 상의 이동위치를 연산하도록 하는 것이 바람직하다.
본 발명에 따르면, 이동경로 연산처리회로는, 협조동작정보에 기초해서 주목하는 로봇이 마스터 로봇이라고 판단되면, 그 마스터 로봇에 대응하는 동작계획에 기초해서 기준가동부의 이동위치를 연산한다. 또, 협조동작정보에 기초해서 주목하는 로봇이 슬레이브 로봇이라 판단되면, 주목하는 슬레이브 로봇이 동작을 따르는 마스터 로봇을 판단하고서, 그 마스터 로봇의 각 이동위치와 슬레이브 로봇의 연속동작관계에 기초해서 슬레이브 로봇의 기준가동부의 이동위치를 연산하도록 되어 있다.
본 발명에 의하면, 이동경로 연산처리회로가, 협조동작정보와 연동관계정보에 기초해서 슬레이브 로봇의 기준가동부의 각 이동위치를 연산하게 된다. 이에 따라, 작업자가 슬레이브 로봇의 각 이동위치를 상세히 입력할 필요가 없어, 작업자의 수고를 생략하고 협조동작을 실행할 수 있게 된다. 또, 앞에서 설명한 바와 같이 단일의 주제어장치에 각 로봇의 동작계획이 입력됨으로써, 다른 제어장치와 통신을 하지 않고 각 로봇의 각 이동위치를 쉽게 연산할 수 있게 된다.
또, 본 발명은, 상기 주제어장치와 상기 각 부제어장치가 떨어진 위치에 배치되고, 상기 주제어장치와 상기 각 부제어장치를 각각 접속하는 복수의 통신케이 블을 갖추도록 하는 것이 바람직하다.
본 발명에 따르면, 주제어장치는 각각 다른 로봇의 각 이동위치를 통신케이블을 매개로 대응하는 부제어장치로 각각 부여한다. 각 부제어장치는, 통신케이블을 매개로 주어진 기준가동부의 이동위치에 기초해서, 대응하는 로봇의 복수의 액츄에이터를 제어한다.
본 발명에 의하면, 통신케이블에 의해 접속됨으로써, 주제어장치와 부제어장치를 상호 이반시킬 수 있다. 이에 따라, 주제어장치는 부제어장치에서 발생하는 전자 노이즈에 의한 영향을 작게 할 수 있다. 또 복수의 로봇이 상호 떨어진 위치에 배치되는 경우라 하더라도, 로봇에 근접한 위치에 부제어장치를 배치하고, 로봇으로부터 떨어진 적당한 위치에 주제어장치를 배치할 수 있다. 이에 따라, 사용하기에 편리한 위치에 주제어장치를 배치할 수 있다.
한편, 부제어장치는 로봇에 동력을 부여하는 동력선과, 로봇에 신호를 부여하거나 또는 로봇으로부터 신호를 취득하는 신호선에 의해 로봇에 접속되는 경우가 많다. 이에 대해, 주제어장치와 부제어장치를 접속하는 케이블은, 동력을 전달할 필요가 없는 신호선인 경우가 많다. 이 경우, 부제어장치와 로봇을 접속하는 케이블이 굵고, 이에 대해 주제어장치와 부제어장치를 접속하는 케이블은 가늘어진다. 본 발명에 의하면, 부제어장치와 로봇을 근접시켜 배치함으로써, 부제어장치와 로봇을 접속하는 굵은 케이블을 짧게 할 수 있어, 작업의 장애로 되는 것을 방지할 수 있다.
또, 본 발명은, 상기 주제어장치와 상기 각 부제어장치가 이더넷(ethernet) 을 이용해서 상호 통신할 수 있게 설치되는 것이 바람직하다.
본 발명에 따르면, 이더넷(등록상표)을 이용해서 주제어장치와 부제어장치가 통신을 하게 된다. 여기서, 「이더넷」이란, 미국전기전자학회(Institute of Electrical and Electronic Engineers: IEEE) 및 국제표준화기구(International Organization for Standardization: ISO)에 의해, IEEE 802.3 및 IS0 8802-3으로 표준화된 LAN(Local Area Network)의 통신규격이다.
본 발명에 의하면, 이더넷을 이용함으로써 데이터통신을 고속으로 실행할 수 있고, 통신케이블의 길이의 상위(相違)에 따른 로봇의 신호송신 어긋남의 영향을 작게 할 수 있어, 협조제어를 정확히 실행할 수 있게 된다. 또, 이더넷을 이용함으로써, 부제어장치와 주제어장치를 떨어진 위치에 배치할 수 있다.
본 발명에 따른 로봇 설비는, 앞에서 설명한 로봇 제어시스템과, 상기 로봇 제어 시스템에 의해 제어되는 복수의 로봇을 갖추도록 되어 있다.
본 발명에 따르면, 상기 로봇 제어시스템과, 이 로봇 제어시스템에 의해 제어되는 복수의 로봇을 포함한 로봇 설비가 이루어진다.
본 발명에 의하면, 앞에서 설명한 바와 같이 단일의 주제어장치에 의해 로봇을 제어함으로써, 제어시스템의 설치공간을 작게 할 수 있고, 더 나아가서 로봇 설비의 설치공간을 줄일 수 있으며, 로봇 사이의 거리를 근접시킬 수 있다. 이에 따라 복수의 로봇으로 제조라인을 형성했을 때, 제조라인을 짧게 할 수 있어, 시공(施工)기간을 단축할 수 있다. 더욱이, 본 발명에서는, 로봇마다 설치되는 복수의 부제어장치에 의해, 각 로봇에 필요한 연산처리를 분담시킴으로써 주제어장치의 부 하를 경감할 수 있어, 복수의 로봇을 동시에 동작시키는 경우라도 로봇의 동작을 안정하게 실행시킬 수 있다. 또, 단일의 주제어장치에 각 로봇의 동작계획을 교시하는 것만으로 좋아, 복수의 제어장치에 각 로봇의 동작을 개별로 교시하는 경우에 비해 교시작업을 간단화할 수 있고, 편리성을 향상시킬 수 있다.
(실시형태)
도 1 및 도 2를 참조하면, 복수의 로봇(21, 22)을 가진 로봇 설비(20)가 제조라인에 설치되어, 복수의 로봇(21, 22)을 동시에 동작시키게 된다. 예컨대 워크(WORK; 129)가 중량물 또는 대형물인 경우, 복수대의 로봇(21, 22)을 협조동작시킴으로써, 상기 워크(129)를 확실하게 파지(把持)한 상태를 유지하면서 미리 설정된 출발점으로부터 도달점에 걸쳐 반송시키는 경우가 있다. 이와 같은 복수대의 로봇(21, 22)을 이용하는 로봇 제어시스템(23)에서는, 작업공간 내에서의 로봇(21, 22)의 배치위치에 따른 복수의 위치에서 상기 워크(129)를 파지할 수 있기 때문에, 상기 워크(129)가 대형이라도 안정한 반송이 가능하다. 또, 상기 워크(129)가 중량물이더라도, 복수의 로봇(21, 22)에 워크(129)의 중량이 분산되므로, 각 로봇(21, 22)의 중량부하 및 관성부하가 작아져서 반송속도를 크게 해서 반송시간을 단축할 수 있게 된다.
로봇 설비(20)에서의 복수의 다축 로봇(21, 22)은, 예컨대 6축 수직 다관절형 로봇에 의해 실현된다. 6축 다관절로봇(21, 22)은, 소정의 작업스테이지에 대략 평행한 마루(床; 122) 상에 상호 간격을 두고 설치되는 기대(基臺; 123) 상에 선회체(旋回體; 124)가 설치된다. 이 선회체(124)에는, 복수의 암(125, 126, 127)이 각 축 주위로 각변위(角變位)할 수 있게 설치된다. 가장 유단측(遊端側)의 암(127)의 선단부에는, 손목(128)이 설치된다. 이 손목(128)에는 핑거장치(finger device: 손끝장치)인 이른바 엔드 이펙터(end effector)가 설치된다. 본 실시의 형태에서는, 핑거장치는 워크(129)를 착탈될 수 있게 파지하는 로봇 핸드(130)에 의해 실현된다.
각 로봇(21, 22)에는, 각 암(125∼127)의 회전축마다 서보모터(45)가 각각 설치되는 바, 이들 각 서보모터(45)는 각 암(125∼127)을 각각 개별로 동작시키는 액츄에이터로 된다. 각 서보모터(45)가 각각 개별로 각변위해서 각 암(125∼127)을 변위구동함으로써, 로봇 핸드(130)를 임의의 위치 및 자세로 이동시킬 수 있다.
로봇 제어시스템(23)은, 단일의 로봇 컨트롤러(24; 이하, 간단히 컨트롤러라 함)와, 로봇(21, 22)마다 각각 설치되는 복수의 역변환처리부(25, 26)를 포함한다.
컨트롤러(24)는 각 로봇(21, 22)의 이동하는 이동경로를 연산하는 주제어장치로 된다. 구체적으로는, 컨트롤러(24)는 로봇 핸드(130)가 이동하는 이동경로 상의 복수의 이동위치를 순차적으로 연산한다. 각 로봇(21, 22)은, 이동개시위치로부터 이동종료위치를 향해 로봇 핸드(130)를 이동시킨다. 바꿔 말하면, 각 로봇(21, 22)은 이동경로를 따라 배열되는 각 이동위치로 로봇 핸드(130)를 순번대로 이동시킴으로써, 로봇 핸드(130)를 이동경로를 따라 이동시킬 수 있다. 한편, 로봇 핸드(130)는 로봇(21, 22)에 설정되는 기준가동부로 된다.
또, 각 역변환처리부(25, 26)는 통신케이블(27)을 매개로 컨트롤러(24)와 데이터통신을 할 수 있게 접속된다. 또, 각 역변환처리부(25, 26)는 1 대 1로 대응하는 로봇(21, 22)에 각각 접속된다. 각 역변환처리부(25, 26)는 서보앰프(44)를 갖추고서, 서보앰프(44)에 의해 접속되는 로봇의 각 서보모터(45)에 동력을 공급한다. 각 역변환처리부(25, 26)는 컨트롤러(24)에 대한 부제어장치로 된다.
역변환처리부(25, 26)로는, 접속되는 로봇(21, 22)의 로봇 핸드(130)의 이동위치가 컨트롤러(24)로부터 순차로 부여된다. 역변환처리부(25, 26)는, 접속되는 로봇(21, 22)의 로봇 핸드(130)가 이동위치로 이동하도록 각 서보모터(45)의 동작량을 연산해서 구하여, 그 동작량으로 동작하도록 각 서보앰프(44)를 각각 제어한다.
각 로봇(21, 22)에 6개의 서보모터(45)가 설치되는 경우, 각 로봇(21, 22)에 각각 개별로 접속되는 역변환처리부(25, 26)가 6개의 서보모터(45)에 동력을 부여하는 각 앰프(44)에 대해 각각 개별적으로 제어한다. 구체적으로는, 로봇 핸드(130)의 이동위치에 기초해서, 각 서보모터(45)의 목표 각변위량을 각각 구한다. 그리고, 서보모터(45)의 목표 각변위량과, 그 서보모터(45)에 설치되는 엔코더로부터의 피드백값에 기초해서, 서보모터(45)에 동력을 부여하는 앰프(44)를 피드백 제어한다.
역변환처리부(25)는, 서보모터(45)마다 개별로 각 앰프(44)를 제어한다. 이와 같이 역변환처리부(25)는, 로봇 핸드(130)의 이동위치에 기초해서 각 서보모터(45)의 동작량을 연산하는 역변환연산처리와, 역변환연산 결과에 기초해서 모터(45)를 제어하는 서보처리를 실행한다.
본 실시의 형태에서는, 로봇 설비(20)는 제1로봇(21) 및 제2로봇(22)을 갖는다. 이 경우, 로봇 제어시스템(23)은 제1 역변환처리부(25) 및 제2 역변환처리부 (26)를 갖는다. 제1 역변환처리부(25)는, 컨트롤러(24)로부터 부여되는 제1로봇(21)의 로봇 핸드(130)의 이동위치에 기초해서, 제1로봇(21)의 각 서보모터(45)의 동작량을 연산해서 구하여, 그 동작량으로 제1로봇(21)의 각 서보모터(45)를 각각 제어한다.
제2 역변환처리부(26)는, 컨트롤러(24)로부터 부여되는 제2로봇(22)의 로봇 핸드(130)의 이동위치에 기초해서, 제2로봇(22)의 각 서보모터(45)의 동작량을 연산해서 구하여, 그 동작량으로 제2로봇(22)의 각 서보모터(45)를 각각 제어한다.
컨트롤러(24)와 각 역변환처리부(25, 26)는, 통신케이블(27)에 의해 상호 통신할 수 있게 접속되어 통신 네트워크를 구성한다. 본 실시의 형태에서는, 통신케이블(27)은 LAN(Local Area Network) 케이블에 의해 실현되는 바, 구체적으로는 이더넷(ethernet; 등록상표)을 이용해서 컨트롤러(24)와 역변환처리부(25, 26)가 상호 통신을 하게 된다.
도 2에 도시된 바와 같이, 컨트롤러(24)에는 티치 펜던트(140)가 접속되어 있다. 이 티치 펜던트(140)는 로봇의 동작순서를 컨트롤러(24)에 교시하는 교시수단으로 된다. 티치 펜던트(140)는 표시부 및 입력부를 갖고서, 케이블에 의해 컨트롤러(24)와 접속된다.
예컨대, 티치 펜던트(140)의 입력부는 터치패널 및 버튼에 의해 실현된다. 입력부는, 작업자에 의해 조작됨으로써, 작업자로부터의 지시가 입력된다. 또 예컨대, 표시부는 액정표시장치에 의해 실현된다. 표시부는 로봇의 동작프로그램 및로봇 제어시스템의 조작안내 등을 나타내는 화상을 표시하게 된다. 티치 펜던트 (140)와 컨트롤러를 접속하는 케이블은 가요성을 갖는다. 따라서 작업자는, 컨트롤러(24)에 대해 티치 펜던트(140)을 소망하는 위치로 이동시킨 상태에서, 로봇의 동작순서의 교시작업을 실행할 수 있다. 또, 컨트롤러(24)에 앞에서 설명한 입력부 및 표시부가 고정되어 있어도 좋다.
본 실시의 형태에서는, 컨트롤러(24)가 퍼스널 컴퓨터(141; 이하, PC(141)라 칭함)에 접속되어, PC(141)와 데이터통신을 할 수 있게 설치된다. 또, 컨트롤러(24)는 제조라인을 통괄적으로 관리하는 통괄제어장치(142)에 접속된다.
컨트롤러(24)에는, 인터페이스부(30)와 로봇 동작연산부(31)가 설치되어 있다. 인터페이스부(30)는, 컨트롤러(24)에 접속되는 외부장치 및 작업자와 컨트롤러(24)와의 데이터 수도(受渡: 주고 받음)를 실행한다. 구체적으로는, 인터페이스부(30)는, 제1CPU(32)와 제1메모리(33), TP 인터페이스(34), PC 인터페이스(35) 및 통괄용 인터페이스(36)를 포함해서 구성된다.
TP 인터페이스(34)는, 티치 펜던트(140)로부터 부여되는 데이터 및 동작지령을 제1CPU(32)에 부여한다. 또, TP 인터페이스(34)는, 제1CPU(32)로부터 부여되는 데이터 및 동작지령을 티치 펜던트(140)에 부여한다. 예컨대 티치 펜던트(140)의 입력부를 작업자가 조작함으로써, 티치 펜던트(140)는 그 조작내용에 따른 데이터 또는 동작지령을 TP 인터페이스(34)를 매개로 제1CPU(32)에 부여한다.
PC 인터페이스(35)는, PC(141)로부터 부여되는 데이터 및 동작지령을 제1CPU(32)에 부여한다. PC(141)는, PC(141)에 설치되는 CPU에 의해 출력한 데이터 및 동작지령을 PC 인터페이스(35)를 매개로 제1CPU(32)에 부여한다. 또, PC 인터 페이스(35)는 제1CPU(32)로부터 부여되는 데이터 및 동작지령을 PC(141)에 부여한다. 예컨대, 작업자가 제1PC(32)의 입력부를 조작하는 등에 의해 PC(32)에 입력정보가 부여되면, 제1PC(32)는 그 조작내용에 따른 데이터 또는 동작지령을 PC 인터페이스(35)를 매개로 제1CPU(32)에 부여한다.
통괄용 인터페이스(36)는 제조라인 전체를 제어하는 통괄제어장치(142)와 접속된다. 통괄제어장치(142)는, 통괄제어장치(142)로부터 부여되는 데이터 및 동작지령을 통괄용 인터페이스(36)를 매개로 제1CPU(32)에 부여한다. 또, 통괄용 인터페이스(36)는, 제1CPU(32)로부터 부여되는 데이터 및 동작지령을 통괄제어장치(142)에 부여한다. 예컨대, 통괄제어장치(142)는, 로봇 설비(20)의 전체의 동작개시지령, 동작종료지령 및 동작정지지령 등을 통괄용 인터페이스(36)를 매개로 제1CPU(32)에 부여한다. 또 인터페이스부(30)는, 조작패널을 갖고 있어도 좋다. 조작패널은, 작업자로부터 동작이 입력되는 입력부와 작업자에게 동작내용을 표시하는 표시부를 포함한다.
이와 같이, 각 인터페이스(34∼36)는 컨트롤러(24)와 외부장치의 신호의 입출력동작, 또는 컨트롤러(24)와 작업자의 정보의 입출력동작을 실행하는 입출력부로 된다. 그리고 제1CPU(32)는 각 인터페이스(34∼36)의 입출력동작을 제어하는 입출력제어 처리회로로 된다. 제1CPU(32)는, 예컨대 중앙연산처리회로(Central Processing Unit)에 의해 실현된다. 또 제1메모리(33)는 제1CPU(32)의 동작프로그램을 기억함과 더불어, 제1CPU(32)로부터 부여되는 데이터 및 연산결과를 기억한다. 예컨대, 제1메모리(33)는 ROM(Read Only Memory) 및 RAM(Random Access Memory)에 의해 실현된다.
제1CPU(32)는 각 인터페이스(34∼36)를 매개로 부여되는 데이터 및 동작지령을 해독해서 동작지령에 따른 동작을 실행한다. 예컨대 제1CPU(32)는, 동작지령의 하나인 표시지령이 티치 펜던트(140)로부터 부여되면, 표시할 화상을 나타내는 화상데이터를 생성한다. 그리고 제1CPU(32)는, 그 화상데이터를 TP 인터페이스(34)를 매개로 티치 펜던트(140)에 부여한다. 티치 펜던트(140)는, 화상데이터가 부여되면, 화상데이터가 나타내는 화상을 표시부에 표시한다.
또, 제1CPU(32)는 각 인터페이스(34∼36)를 매개로 입력되는 동작지령 및 데이터 중 로봇의 조작에 관련한 로봇관련정보가 부여되면, 그 로봇관련정보에 기초해서 각 로봇(21, 22)의 로봇 핸드(130)의 이동위치를 구하기 위한 로봇동작계획을 생성하고, 생성한 로봇동작계획을 제1메모리(33)에 기억한다. 제1CPU(32)는, 부여되는 동작지령에 기초해서 제1메모리(33)에 기억되는 프로그램을 실행함으로써, 부여되는 동작지령에 따른 동작, 예컨대 로봇관련정보로부터 로봇의 동작계획을 생성하는 연산처리를 실행한다. 예컨대, 로봇관련정보는 로봇언어에 의해 표현되는 로봇 제어프로그램으로서 부여된다.
이와 같이, 인터페이스부(30)는 티치 펜던트(140) 등에 의해 작업자가 입력한 로봇관련정보를 처리할 수 있게 한다. 또, 인터페이스부(30)는, 로봇관련정보를 티치 펜던트(140)의 표시부에 표시함으로써, 작업자가 로봇의 동작계획을 확인할 수 있게 한다. 따라서, 인터페이스부(30)는 이른바 MMI(Man Machine Interface)로 된다. 또, 인터페이스부(30)는 부여되는 로봇관련정보에 대해 언어 처리를 해서 로봇의 동작계획을 연산한다.
로봇동작 연산부(31)는, 컨트롤러 통신부(37)와, 파워시퀀스부(38), 제2CPU(39) 및, 제2메모리(40)를 포함해서 구성된다. 컨트롤러 통신부(37)는, 뒤에 설명되는 서보통신부(41)에 대해 데이터통신을 할 수 있게 설치된다. 파워시퀀스부(38)는, 각 서보모터(45)의 시동순서 및 종료순서 등 로봇의 동작계획과는 무관하게 설정되는 동작프로그램을 기억 및 실행한다. 예컨대, 모터전원이 투입된 경우에, 미리 정해진 위치로 이동시켜 모터의 브레이크를 해제한다고 하는 시동시의 동작을 제어한다. 또 파워시퀀스부(38)에는, 각 로봇의 동작을 정지 및 긴급 정지시키기 위한 정지지령을 입력하기 위한 정지스위치(47)가 설치된다. 파워시퀀스부(38)와 모터 또는 서보앰프가 별개의 신호선에 의해 접속됨으로써, 비상정지시에 확실히 모터를 정지시킬 수 있다.
제2CPU(39)는, 제1CPU(32)로부터 로봇동작계획이 부여되고, 이 로봇동작계획에 기초해서 로봇 핸드(130)가 이동하는 이동경로 상의 이동위치를 연산하게 된다. 즉, 제2CPU(39)는 이동경로 연산처리회로로 된다. 제2CPU(39)는 예컨대 중앙연산처리회로에 의해 실현된다. 또, 제2메모리(40)는 제2CPU(39)의 동작 프로그램을 기억함과 더불어 제2CPU(39)로부터 부여되는 데이터 및 연산결과를 기억한다. 예컨대 제2메모리(40)는 ROM 및 RAM에 의해 실현된다.
또, 복수의 로봇(21, 22)을 동시에 제어하는 동기제어(同期制御) 또는 협조제어(協調制御)를 실행시키는 경우, 제2CPU(39)는 마스터 로봇(21)에 관해 연산한 연산결과에 기초해서 슬레이브 로봇(22)의 이동위치를 연산한다. 한편, 컨트롤러 (24) 내의 각 구성(32∼40)은 버스라인(bus line) 등에 의해 상호 통신할 수 있게 접속된다.
각 역변환처리부(25, 26)는 동일한 구성을 갖는다. 따라서, 1개의 역변환처리부(25)에 대해 설명하고, 다른 역변환처리부(26)에 대한 설명을 생략한다. 역변환처리부(25)는, 서보통신부(41)와, 제3CPU(42), 제3메모리(43) 및, 앰프(44)를 포함해서 구성된다. 서보통신부(41)는, 통신케이블(27)을 매개로 컨트롤러 통신부(37)와 데이터통신을 할 수 있게 설치된다.
제3CPU(42)로는, 컨트롤러 통신부(37)로부터 로봇 핸드(130)의 이동위치가 순차로 부여된다. 제3CPU(42)는, 부여된 로봇 핸드(130)의 이동위치에 기초해서 로봇 핸드(130)를 이동위치로 이동시키는 것과 같은 각 서보모터(45)의 동작량(動作量)을 연산한다. 바꿔 말해서, 제3CPU(42)는 로봇 핸드(130)의 이동위치에 기초해서 각 서보모터(45)의 동작량을 역변환연산(逆變換演算)하게 된다. 그리고, 서보모터(45)의 동작량을 앰프(44)에 부여한다. 앰프(44)는 부여되는 동작량을 목표치로 해서 로봇(21)의 각 서보모터(45)를 제어한다.
즉, 제3CPU(42)는 액츄에이터 제어회로로 된다. 제3CPU(42)는, 예컨대 중앙연산처리회로에 의해 실현된다. 또, 제3메모리(43)는 제3CPU(42)의 동작프로그램을 기억함과 더불어, 제3CPU(42)로부터 부여되는 데이터 및 연산결과를 기억한다. 예컨대, 제3메모리(43)는 ROM 및 RAM에 의해 실현된다.
도 3은 제1CPU(32)에 의한 로봇관련정보의 기억동작의 순서를 나타낸 플로우차트이다. 제1CPU(32)는, 로봇(21, 22)을 동작시키기 위한 준비공정으로서 로봇의 동작계획을 생성하기 위한 로봇관련정보를 기억하는 동작을 실행한다. 예컨대 티치 펜던트(140)가 이용되고, 로봇(21, 22)의 로봇관련정보가 입력되는 경우에 대해 설명한다.
단계 a0에서, 제1CPU(32)는 티치 펜던트(140)가 조작(操作)되어 로봇관련 정보의 기억지령이 부여되면, 단계 a1으로 진행하여 로봇관련정보의 기억동작을 개시한다.
단계 a1에서는, 제1CPU(32)로는 티치 펜던트(140)로부터 동작계획을 생성하기 위한 로봇관련정보가 부여된다. 로봇관련정보는 로봇을 이동시키기 위해 필요한 정보로 된다. 이 로봇관련정보는 예컨대 작업자에 의해 입력되는 바, 로봇언어를 이용해서 표현되는 동작프로그램을 포함한다. 또, 동작프로그램과 관계없이 미리 설정되는 설정정보를 포함해도 좋다.
로봇관련정보에는, 예컨대 로봇 핸드(130)가 통과하는 복수의 통과교시위치를 나타내는 정보, 상기 통과교시위치를 연결하는 로봇 핸드의 이동경로를 나타내는 정보, 로봇의 속도를 나타내는 정보, 로봇의 가속도를 나타내는 정보, 로봇의 대기시간을 나타내는 정보, 로봇 핸드(130)의 개폐동작을 나타내는 핑거장치의 동작정보 및, 동작을 실행하는 로봇을 나타내는 로봇식별정보를 포함한다. 제1CPU(32)는 이와 같은 로봇관련정보를 취득하면, 단계 a2로 진행한다.
단계 a2에서는, 제1CPU(32)는 취득한 로봇관련정보를 제1메모리(33)에 기억하고, 단계 a3로 진행한다. 단계 a3에서는, 동작해야 할 모든 로봇(21, 22)에 대응하는 로봇관련정보를 각각 기억한 것을 나타내는 지령이 TP 인터페이스(34)로부 터 부여되지 않으면, 단계 a1으로 리턴한다. 단계 a1에서는, 동작해야 할 로봇의 로봇관련정보가 입력될 때까지 대기한다.
단계 a3에서, 동작해야 할 모든 로봇(21, 22)에 대응하는 로봇관련정보를 각각 기억한 것을 나타내는 지령이 TP 인터페이스(34)로부터 부여되면, 단계 a4로 진행한다. 단계 a4에서는, 제1CPU(32)는 로봇관련정보의 기억동작을 종료한다.
한편, 앞에서 설명한 기재에서는 로봇관련정보를 티치 펜던트(140)로부터 컨트롤러(30)로 입력하는 것으로 했지만, PC(141)로부터 로봇관련정보를 컨트롤러(30)로 입력해도 좋다. 또, 컨트롤러(30)에 설치되는 입력부에 의해 로봇관련정보를 직접 입력해도 좋다.
로봇 핸드(130)의 통과교시위치의 정보는, 티치 펜던트(140)로 로봇을 조작해서 로봇 핸드(130)을 이동시켜 소망하는 위치에 이르렀을 때의 좌표에 기초해서 결정해도 좋다. 즉, 티치 펜던트(140)를 이용한 티칭동작으로 로봇 핸드의 통과교시위치의 정보를 결정해도 좋다. 또, 티칭동작을 실행하지 않고 로봇 핸드(130)의 통과교시위치의 좌표를 직접 입력해도 좋다.
또, 협조제어 및 동기제어를 실행하는 경우, 로봇관련정보에는 협조동작정보와, 주종(主從) 식별정보, 대응마스터 로봇 식별정보 및, 연동관계정보가 포함될 수 있다. 협조동작정보는, 주목(注目)하는 로봇이 협조동작을 실행할지, 단독동작을 실행할지를 나타내는 정보이다. 또, 주종 식별정보는, 주목하는 로봇이 기준동작을 실행하는 마스터 로봇인지, 마스터 로봇에 대한 종속동작을 실행하는 슬레이브 로봇인지를 나타내는 정보이다. 또, 대응마스터 로봇 식별정보는, 주목하는 로 봇이 슬레이브 로봇인 경우, 그 슬레이브 로봇이 기준으로 하는 마스터 로봇을 나타내는 정보이다. 연동관계정보(連動關係情報)는, 주목하는 로봇이 슬레이브 로봇인 경우, 그 슬레이브 로봇의 동작과 기준으로 하는 마스터 로봇의 동작의 관계를 나타내는 정보이다. 예컨대 연동관계정보는, 마스터 로봇의 동작에 대해, 미리 정해진 방향으로 미리 정해진 거리만큼 어긋나도록 슬레이브 로봇을 동작하라고 하는 정보이다.
도 4는 제1CPU(32)에 의한 로봇동작계획 생성동작의 순서를 나타낸 플로우차트이다. 단계 b0에서, 제1CPU(32)는 로봇관련정보가 제1메모리(33)에 기억된 상태에서 로봇의 동작개시를 나타내는 지령이 부여되면, 단계 b1로 진행하고, 제1 CPU(32)는 동작계획 생성동작을 개시한다. 예컨대, 로봇의 동작개시지령은 통괄제어장치(142) 또는 컨트롤러(24)의 입력부로부터 부여된다.
단계 b1에서는, 제1CPU(32)는 제1메모리(33)로부터 로봇마다 로봇관련정보를 읽어내고, 단계 b2로 진행한다. 단계 b2에서는, 각 로봇의 로봇관련정보를 언어처리를 해서 해독하고, 해독한 로봇관련정보에 기초해서 로봇동작계획을 생성한다. 로봇동작계획을 생성하면 단계 b3로 진행한다. 단계 b3에서는, 로봇마다 생성한 각 동작계획을 제2CPU(39)로 각각 송신하고, 단계 b4로 진행한다. 단계 b4에서는, 제1CPU(32)는 로봇동작계획 생성동작을 종료한다.
표 1은 로봇관련정보인 로봇의 동작프로그램의 1예와, 각 프로그램을 구성하는 각 코멘드를 설명하는 표이다. 도 5는 표 1에서의 동작프로그램에 따라 동작하는 로봇에서의 로봇 핸드(130)가 이동하는 이동경로를 나타내는 도면이고, 도 6은 표 1에서의 동작프로그램에 따라 동작하는 로봇에서의 로봇 핸드(130)의 이동속도와 핸드의 개폐동작과의 시간변화를 나타내는 그래프이다. 도 6의 (1)은 핸드의 개폐동작의 시간변화를 나타내고, 도 6의 (2)는 핸드의 이동속도의 시간변화를 나타낸다.
코멘드 코멘드의 설명
1 JMOVE Q1 대기위치(Qh)로부터 제1동작위치(Q1)로 이동(각 축보간 이동)
2 TWAIT T1 T1초 대기
3 CLOSE 핸드 폐(닫힘)동작
4 TWAIT T2 T2초 대기
5 LMOVE Q2 제1동작위치(Q1)로부터 제2동작위치(Q2)로 직선이동
6 TWAIT T1 T1초 대기
7 OPEN 핸드 개(열림)동작
8 TWAIT T2 T2초 대기
9 HOME 대기위치(Qh)로 이동
표 1에서의 로봇동작 프로그램에 따라 로봇이 동작하면, 도 5에 나타낸 바와 같이, 로봇은 대기위치(Qh)로부터 제1동작위치(Q1)에 배치되는 워크를 파지해서 제2동작위치(Q2)로 반송하고, 대기위치(Qh)로 되돌아간다. 구체적으로는, 동작프로그램이 실행되면, 제1단계에서 로봇 핸드(130)가 대기위치(Qh)로부터 제1동작위치(Q1)를 향해 이동한다. 그리고, 도 6의 (2)에 나타낸 바와 같이 동작개시로부터 미리 정해진 시간(T3)에 이르면, 로봇 핸드(130)가 제1동작위치(Q1)로 이동한다.
제2단계에서, 미리 정해진 제1대기시간(T1초)만큼 대기한다. 다음으로 제3단계에서, 로봇 핸드(130)를 닫아 제1동작위치(Q1)에 배치되는 워크를 파지한다. 다음으로, 제4단계에서, 미리 정해진 제2대기시간(T2초)만큼 대기한다. 다음 제5단계에서, 워크를 파지한 로봇 핸드(130)가 제1동작위치(Q1)로부터 제2동작위치(Q2)를 향해 이동한다. 그리고, 도 6의 (2)에 나타낸 바와 같이, 동작개시로부터 미리 정해진 시간(T4)에 이르면, 로봇 핸드(130)가 제2동작위치(Q2)로 이동한다.
다음으로 제6단계에서, 미리 정해진 제1대기시간(T1초)만큼 대기한다. 다음으로 제7단계에서, 로봇 핸드(130)를 열어 워크의 파지를 해제하고, 제2동작위치(Q2)에 워크를 배치한다. 다음으로 제8단계에서, 미리 정해진 제2대기시간(T2초)만큼 대기한다. 다음으로 제9단계에서, 로봇 핸드(130)가 대기위치(Qh)로 이동한다. 동작개시로부터 미리 정해진 시간(T5)에 이르면, 로봇 핸드(130)가 대기위치(Qh)로 이동한다. 이와 같은 동작프로그램을 나타내는 로봇언어가 로봇관련정보의 일부를 구성한다. 예컨대 각 동작위치(Q1, Q2)는, 통과교시위치로서 티칭동작에 의해 입력된다. 또, 로봇관련정보는 로봇에 설정되는 가속도정보 및 속도정보를 포함한다.
또, 연산되는 로봇동작계획은, 도 5에 나타낸 바와 같이 로봇 핸드(130)의 동작위치(Q1, Q2)의 좌표와, 로봇 핸드(130)가 각 동작위치(Q1, Q2)를 이동하는 순서, 바꿔 말해서 이동경로를 나타내는 정보를 포함한다. 또, 로봇동작계획은, 도 6의 (2)에 나타낸 바와 같이, 로봇 핸드(130)의 이동속도의 시간변화를 나타내는 정보를 포함한다. 즉, 단계 b2에서의 제1CPU(32)는, 표 1에 나타낸 로봇의 동작프로그램에, 미리 설정되는 설정이동속도(Vmax)와, 가속시에서의 최대가속도(Vmax/dt1), 감속시에서의 부의 방향에서의 최대가속도(Vmax/dt2) 등을 관련지어 나타내는 로봇동작계획을 연산한다.
도 7은 제2CPU(39)에 의한 로봇 핸드(130)의 이동위치 연산동작의 순서를 나타낸 플로우차트이다. 단계 c0에서, 제2CPU(39)는 로봇의 동작개시를 나타내는 지 령이 부여되면, 단계 c1로 진행하고, 제2CPU(39)는 보간처리를 실행하여 로봇 핸드(130)의 이동위치의 연산을 개시한다.
단계 c1에서는, 제2CPU(39)는 제1CPU(32)로부터 로봇마다의 로봇동작계획이 각각 부여된다. 이와 같이 해서 제2CPU(39)가 각 로봇동작계획을 취득하면, 단계 c2로 진행한다. 단계 c2에서는, 제2CPU(39)가 로봇동작계획에 기초해서 보간처리를 실행한다. 구체적으로는, 티칭동작 등에 의해 설정된 복수의 통과교시위치 중, 이동방향을 따라 배열되는 2개의 통과교시위치 사이를 보간(補間)하는 이동위치를 연산한다. 즉, 로봇 핸드(130)의 이동경로 상의 이동위치를 로봇마다 각각 연산한다.
이때, 앞에서 설명한 로봇의 동작프로그램과, 미리 설정되는 설정이동속도, 가속시에서의 최대가속도, 감속시에서의 부의 방향에서의 최대가속도에 기초해서, 제2CPU(39)는 로봇 핸드(130)가 미리 정해진 속도에 따라 변화한 경우에 단위시간마다 이동위치를 순서대로 연산한다. 바꿔 말해서, 제2CPU(39)는 이전에 연산한 이동위치에 대해, 미리 정해진 단위시간 경과했을 때에 이동방향 하류로 1개 어긋난 이동위치를 로봇 핸드(130)마다 각각 연산하게 된다. 이와 같이, 이전에 연산한 이동위치에 대해 단위시간이 경과했을 때에 로봇 핸드(130)가 위치하도록, 1개의 이동방향 하류측의 이동위치를 로봇 핸드마다 각각 구하면, 단계 c3로 진행한다. 한편, 이전에 연산한 이동위치가 존재하지 않는 경우에는, 이동개시위치로부터 1개 어긋난 이동위치를 연산하게 된다.
단계 c3에서는, 제2CPU(39)가 로봇 핸드(130)마다 각각 연산한 이동위치를, 대응하는 역변환처리부(25, 26)에 각각 송신하도록 컨트롤러 통신부(37)를 제어한다. 연산한 이동위치를 컨트롤러 통신부(37)에 부여하면, 단계 c4로 진행한다. 컨트롤러 통신부(37)는, 제2CPU(39)로부터 부여된 이동위치를 통신케이블(27)을 매개로 서보통신부(41)에 부여한다.
단계 c4에서는, 단계 c3에서 컨트롤러 통신부(37)에 부여한 이동위치가, 로봇 핸드(130)의 이동종료위치인지의 여부에 대해 판단하여, 이동종료위치가 아닌 경우에는 단계 c2로 리턴한다. 단계 c2에서는, 다음의 이동위치를 로봇 핸드마다 각각 구한다.
또, 단계 c4에서는, 단계 c3에서 컨트롤러 통신부(37)에 부여한 이동위치가 로봇 핸드(130)의 이동종료위치라고 판단되면, 단계 c5로 진행한다. 단계 c5에서는, 제2CPU(39)는 이동위치 연산동작을 종료하게 된다.
이와 같이, 제2CPU(39)는 제2메모리(40)에 기억되는 각 로봇(21, 22)에 관한 로봇동작계획을 읽어들여, 그 로봇동작계획에 기초해서 각 로봇 핸드(130)의 이동위치를 순차적으로 연산한다. 또, 앞에서 설명한 제1CPU(32)는 각 인터페이스(34∼36)의 입출력동작을 제어한다. 제1CPU(32)에 의한 각 인터페이스(34∼36)의 입출력동작의 제어는 상시 행해져야 하는 것은 아니고, 단기간에 대해 실행된다.
본 실시의 형태에서는, 로봇(21, 22)의 각 이동위치를 연산하는 제2CPU(39)와, 그 밖의 동작을 제어하는 제1CPU(32)가 별체로 구성된다. 이에 따라, 제2CPU(39)는 로봇의 이동위치의 연산으로 특화해서 동작할 수 있다. 따라서, 컨트롤러(24)는 작업자의 조작 등에 의해 단기적으로 연산부하가 변동했을 경우라 하더 라도, 이동위치의 연산에 대해 원활하게 연산결과를 출력할 수 있다. 이에 따라 각 로봇을 복수대 동시에 안정하게 동작시킬 수 있게 된다. 즉, 로봇동작을 안정시켜 프로그램 입력동작 및 프로그램 표시동작을 실행시킬 수 있어, 편리성을 향상시킬 수 있다.
도 8은 표 1에서의 동작프로그램에 따라 로봇 핸드(130)가 이동한 경우에, 인접하는 2개의 동작위치(Q1, Q2)와, 보간연산되는 이동위치(Qc)를 설명하기 위한 도면이다. 도 9는 이동위치(Qc)를 설명하기 위해 도시한 로봇 핸드(130)의 이동속도의 시간변화를 나타낸 그래프이다. 도 8에서의 2개의 동작위치(Q1, Q2)를 흰색 원(○)으로 나타내고, 보간연산된 각 이동위치(Qc)를 흰색 삼각형(△)으로 나타낸다. 또, 도 9에서 1개의 이동위치로부터 다음의 이동위치로 이동할 때까지의 단위시간 마다의 이동속도를 흰색 사각형(□)으로 나타낸다.
로봇이 동작한 경우에, 로봇 핸드(130)가 단위시간(dt)당 이동하는 이동위치 사이의 거리(D1∼D9)는, 로봇 핸드(130)가 가감속(加減速)함으로써 변화하게 된다. 구체적으로는, 가속시간에서의 이동위치 사이의 거리(D∼D3)는 이동방향 하류로 갈수록 서서히 커지게 된다. 또 감속시간에서의 이동위치 사이의 거리(D7∼D9)는 이동방향 하류로 갈수록 서서히 작아지게 된다. 또, 일정속도 기간에서의 이동위치 사이의 거리(D4∼D6)는 일정하게 된다. 예컨대, 보간연산되는 각 이동위치(Qc)는, 2곳의 동작위치 중 상류측의 동작위치(Q1)에 로봇 핸드(130)가 배치된 때로부터, 구하고자 하는 이동위치에 이를 때까지의 시간에서, 로봇 핸드(130)의 이동속도를 적분(積分)함으로써 구할 수 있다. 앞에서 설명한 단계 c2에서는, 제2CPU(39)는 동작계획에 따라 이와 같이 보간처리를 실행해서, 같은 시각에서의 각 로봇 핸드(130)의 각 이동위치(Qc)를 각각 계산한다.
도 10은 단계 c3의 보간처리의 순서를 나타낸 플로우차트이다. 제2CPU(39)는, 도 7에 도시된 단계 c3로 진행하면, 도 10에 도시된 단계 d1로 진행한다.
단계 d1에서, 로봇동작계획에 협조동작시키는 협조동작신호가 포함되어 있는지의 여부를 판단한다. 협조동작신호가 포함되어 있지 않으면, 단계 d2로 진행한다. 단계 d2에서는, 제2CPU(39)는 각 로봇이 단독동작하는 것을 판단하여 로봇마다 보간동작을 실행하고, 단계 d6으로 진행한다. 단계 d6에서는 제2CPU(39)는 보간처리를 종료한다.
단계 d1에서, 로봇동작계획에 협조동작신호가 포함되어 있으면, 단계 d3로 진행한다. 단계 d3에서는, 제2CPU(39)는 마스터 로봇에서의 로봇 핸드(130)의 보간처리를 실행한다. 제2CPU(39)는 보간처리에 의해 구해진 마스터 로봇의 로봇 핸드의 이동위치를 제2메모리(40)에 기억하고, 단계 d4로 진행한다. 단계 d4에서는, 제2CPU(39)는 로봇동작계획으로부터 주종식별정보와 대응마스터 로봇 식별정보와 연동정보를 추출(抽出)하고서, 단계 d5로 진행한다.
단계 d5에서는, 제2메모리(40)로부터 마스터 로봇의 로봇 핸드의 이동위치를 추출한다. 또, 제1메모리(33)에 기억되는 로봇관련정보 중, 주종식별정보와 대응마스터 로봇 식별정보와 연동정보를 추출한다. 제2CPU(39)는 이들 정보에 기초해서 슬레이브 로봇의 이동위치를 구하고, 단계 d6으로 진행한다. 단계 d6에서는, 제2CPU(39)는 보간처리를 종료한다. 이에 따라 임의의 시각에서의 마스터 로봇 및 슬레이브 로봇의 이동위치를 1개의 컨트롤러(24)를 이용해서 연산할 수 있게 된다.
도 11은 마스터 로봇(Ra)과 슬레이브 로봇(Rb)의 협조동작을 설명하는 도면이다. 제1로봇(21)을 마스터 로봇(Ra)으로 하고, 제2로봇(22)을 슬레이브 로봇(Rb)으로 해서 협조제어를 실행하는 것이 로봇동작계획에 나타내어져 있는 경우에 있어서의 보간처리에 대해 설명한다.
마스터 로봇(Ra)과 슬레이브 로봇(Rb)의 공통좌표계(∑0)에 있어서, 마스터 로봇(Ra)의 동작개시위치(Ms)와 동작종료위치(Me)가 교시(敎示)된다. 또, 공통좌표계(∑0)에 있어서, 슬레이브 로봇(Rb)의 동작개시위치(Ss)와 동작종료위치(Se)가 교시된다. 마스터 로봇(Ra)이 동작개시위치(Ms)로부터 동작종료위치(Me)로 이동할 때, 마스터 로봇(Ra)의 동작도중(중간)위치(Mi)에 대응하는 슬레이브 로봇(Rb)의 동작도중위치(Si)를 구한다.
마스터 로봇(Ra)의 동작도중위치(Mi)는 파라미터(s)를 이용해서 구한다. 이 파라미터(s)의 값은, s = 1일 때 마스터 로봇(Ra)이 동작개시위치(Ms)에 도달하고, s = 0.0일 때 동작종료위치(Me)에 도달하는 것으로 한다. 또, 마스터 로봇(Ra)이 동작도중위치(Mi)에 있을 때의 파라미터(s)는 si로 나타내고, 이때의 슬레이브 로봇(Rb)의 동작도중위치를 Si로 한다. 마스터 로봇(Ra)의 동작개시위치(Ms)로부터 슬레이브 로봇(Rb)의 동작개시위치(Ss)로의 변환행렬을 TAB(s)로 하고, 마스터 로봇(Ra)의 동작종료위치(Me)로부터 슬레이브 로봇(Rb)의 동작종료위치(Se)로의 변환행렬을 TAB(e)으로 하여, 다음 식으로 나타내기로 한다.
TAB(s) = Ss · Ms-1 ………(1)
TAB(e) = Se · Me-1 ………(2)
또, 상기의 각 변환행렬 TAB(s), TAB(e)를 XYZ 오일러각으로 표기할 때, TAB(s)는 (Xs, Ys, Zs, 0s, As, Ts)로 하고, TAB(e)는 (Xe, Ye, Ze, Oe, Ae, Te)로 해서, 마스터 로봇(Ra)의 동작도중위치(Mi)에 대한 변환행렬(Ti)의 오일러각 표기를 다음 식에 의해 구한다.
Xi = Xe - (Xe - Xs) · s ………(3)
Yi = Ye - (Ye - Ys) · s ………(4)
Zi = Ze - (Ze - Zs) · s ………(5)
Oi = Oe - (0e - 0s) · s ………(6)
Ai = Ae - (Ae - As) · s ………(7)
Ti = Te - (Te - Ts) · s ………(8)
이들 식 (1)∼(8)을 변환행렬(Ti)로 표기하면, 마스터 로봇(Ra)의 동작도중위치(Mi)에 대한 슬레이브 로봇(Rb)의 동작도중위치(Si)는,
Si = Ti · Mi ………(9)
에 의해 구해진다.
이와 같은 마스터 로봇(Ra)의 동작도중위치(Mi)에 대한 슬레이브 로봇(Rb)의 동작도중위치(Si)의 관계식은, 로봇관련정보로서 제1메모리(33) 또는 제2메모리 (40)에 기억되어 있고, 각 로봇(21, 22) 중에서 임의로 마스터 로봇 및 슬레이브 로봇을 설정해서 협조동작시킬 수 있도록 구성되어 있다. 한편, 한쪽 로봇의 원점(原點)에 대한 베이스좌표계를 다른쪽 로봇의 베이스좌표로 변환하기 위한 변환행렬(TAB)도 또한, 미리 제1메모리(33) 또는 제2메모리(40)에 기억되어 있다.
도 12는 제3CPU(42)에 의한 모터제어동작의 순서를 나타낸 플로우차트이다. 단계 e0에서, 제3CPU(42)는 로봇의 동작개시를 나타내는 지령이 부여되면 단계 e1로 진행하고, 제3CPU(42)는 역변환처리와 모터(45)의 서보처리를 실행하는 모터제어동작을 개시한다.
단계 e1에서는, 제3CPU(42)는 제2CPU(39)로부터 대응하는 로봇의 이동위치를 나타내는 정보가 부여된다. 이와 같이 해서 제3CPU(42)가 로봇의 이동위치를 취득하면, 단계 e2로 진행한다. 로봇 핸드(130)의 이동위치는, 예컨대 로봇 핸드(130)의 위치와 자세를 나타내는 동시변환행렬에 의해 나타내어진다.
단계 e2에서는, 제3CPU(42)는 취득한 이동위치에 기초해서 역변환연산과 로봇 핸드(130)를 목적으로 하는 위치 및 자세로 이동시키는 각 로봇 암의 관절각도(關節角度)를 각각 구한다. 바꿔 말하면, 암을 각변위(角變位)시키는 서보모터(45)의 동작지령량을 연산한다. 이와 같은 역변환연산은, 기지의 순서에 의해 실현될 수 있다. 단계 e2에서, 제3CPU(42)는 로봇 핸드(130)의 이동위치에 기초해서 각 서보모터(45)의 동작지령량을 연산하면, 단계 e3로 진행한다.
단계 e3에서는, 단계 e2에 의해 연산한 각 서보모터(45)의 동작지령량으로부 터 각 앰프(44)의 동작량을 각각 연산한다. 구체적으로는, 서보모터(45)에 설치되는 엔코더로부터 서보모터(45)의 동작위치를 취득하고, 서보모터(45)의 동작위치와 서보모터(45)의 동작지령량으로부터 앰프(44)의 동작량을 피드백해서 구한다. 따라서 단계 e3에서는, 제3CPU(42)는 서보처리를 실행한다. 서보처리를 실행하여 앰프(44)의 동작량을 연산하면, 단계 e4로 진행한다.
단계 e4에서는, 연산한 각각의 동작량을 대응하는 앰프(44)에 각각 개별로 부여하고, 단계 e1로 리턴한다. 단계 e1에서는, 다음에 부여된 로봇 핸드의 이동위치를 취득한다. 이와 같이 해서 제3CPU(42)는, 단계 e1∼e4를 순차 반복한다.
각 앰프(44)는, 제3CPU(42)로부터 앰프동작량이 주어지면, 그 동작량에 따른 전력(電力)을 대응하는 서보모터(45)에 부여한다. 이에 따라 각 서보모터(45)는 단계 e1에서 연산된 관절각도로 암을 이동시킨다. 따라서, 로봇 핸드를 이동위치로 이동시킬 수 있다. 각 제3CPU(42)는 대응하는 로봇의 앰프(44)에 대한 앰프동작량을 연산한다. 제3CPU(42)는, 제2CPU(39)로부터 이동경로에 따른 이동위치가 순차로 부여됨으로써, 로봇 핸드(130)를 이동경로를 따라 이동시킨다. 따라서, 제1역변환처리부(25)의 제3CPU(42)는 제1로봇(21)의 동작량을 연산하고, 제2역변환처리부(25)의 제3CPU(42)는 제2로봇(22)의 동작량을 연산하게 된다.
또, 앰프(44)가 서보처리기능을 가진 경우에는, 제3CPU(42)는 단계 e2의 동작을 실행하여 각 서보모터(45)의 동작지령량을 각각의 앰프(44)로 부여하고, 단계 e1∼단계 e2의 동작을 반복해도 좋다. 이 경우, 각 앰프(44)는 제3CPU(42)로부터 부여되는 각 서보모터(45)의 동작지령량과, 엔코더로부터의 엔코더 값에 기초해서 앰프(44)의 동작량을 연산하여, 그 동작량의 전력(電力)을 대응하는 서보모터(45)에 부여한다.
로봇 설비(1)는, 접속되는 로봇의 대수가 증감하더라도 유연하게 대응할 수 있게 구성된다. 구체적으로는, 접속되는 로봇이 증감했다고 하더라도, 이미 접속되어 있는 로봇에 대한 제2CPU(39) 및 제3CPU(42)로부터 출력되는 연산결과의 출력타이밍을 일정하게 유지한다. 이에 따라, 로봇의 증감에 불구하고 로봇의 동작특성, 예컨대 속도, 이동궤적 및 싸이클 타임 등을 일정하게 유지할 수 있게 된다.
로봇 설비(1)는, 접속할 수 있는 로봇의 최대 대수가 미리 결정되는 바, 예컨대 본 실시의 형태에서는 8대의 로봇이 접속될 수 있게 설치된다. 이 경우, 제2CPU(39)는 제1CPU(32)로부터 동작계획이 부여되면, 8대의 각 로봇으로의 이동위치를 순차로 연산하고, 연산한 이동위치를 순번대로 각 제3CPU(42)에 각각 부여한다. 접속할 수 있는 8대의 로봇 중, 2대의 로봇밖에 접속되어 있지 않은 경우, 제2CPU(39)는 2대 분의 로봇의 이동위치를 연산하여 8대 분이 접속되어 있어야 할 타이밍과 같은 타이밍으로 2대의 로봇의 이동위치를 각 제3CPU(42)에 각각 부여한다.
바꿔 말하면, 컨트롤러(24)는 역변환처리부(26)를 접속시킬 수 있는 최대 접속수가 설정되어 있는 바, 최대 접속수의 역변환처리부(26)가 접속되는 경우, 제2CPU(39)에 의한 연산결과를 순번대로 미리 정해진 타이밍으로 각 역변환처리부(26)에 각각 부여한다. 또 최대 접속수보다 적은 역변환처리부(26)가 접속되는 경우, 최대 접속수의 역변환처리부(26)가 접속되는 경우와 마찬가지의 타이밍으로 제2CPU(39)에 의한 연산결과를 순번대로 각 역변환처리부(26)에 각각 부여한다.
이에 따라 컨트롤러(24)에 접속되는 역변환처리부(26)의 수에 관계없이, 제2CPU(39)로부터 각 제3CPU(42)로 연산결과가 각각 부여되는 타이밍을 같게 할 수 있다. 따라서, 각 로봇의 동작계획이 결정된 상태에서 역변환처리부(26)가 삭제된 경우라 하더라도, 컨트롤러(24)로부터 나머지 역변환처리부(26)의 제3CPU(42)에 연산결과가 부여되는 타이밍이 변화하는 일은 없어, 나머지 역변환처리부(26)의 제3CPU(42)에 의해 제어되는 각 로봇의 동작특성이 변화하는 것을 방지할 수 있게 된다. 마찬가지로, 각 로봇의 동작계획이 결정된 상태에서 역변환처리부(26)가 추가된 경우라도, 컨트롤러(24)로부터 기존의 역변환처리부(26)의 제3CPU(42)로 연산결과가 부여되는 타이밍이 변화하는 일은 없어, 기존의 역변환처리부(26)의 제3CPU(42)에 의해 제어되는 각 로봇의 동작특성이 변화하는 것을 방지할 수 있게 된다.
이에 따라, 로봇을 늘린 경우라 하더라도, 이미 접속되어 있는 로봇의 앰프(44)로 주어지는 동작지령의 타이밍이 달라지는 일은 없어, 이미 접속되어 있는 로봇의 속도 및 이동위치 등이 변화하는 것이 방지된다. 마찬가지로 로봇을 줄였을 경우라도, 나머지 로봇의 앰프(44)로 주어지는 동작지령의 타이밍이 달라지지 않아, 나머지 로봇의 속도 및 이동위치 등이 변화하는 것이 방지된다.
예컨대 복수의 로봇 중 1개의 로봇이 고장난 경우, 고장난 로봇에 대응하는 역변환처리부(26)를 컨트롤러(24)로부터 떼어 내어도, 나머지 역변환처리부(26)의 제3CPU(42)에 의해 제어되는 로봇의 동작이 변화하는 것을 막을 수 있다. 이에 따라, 고장난 로봇이 실행할 작업을 작업자가 일시적으로 실행함으로써, 생산성의 저 하를 억제할 수 있게 된다. 또, 고장난 로봇이 수리된 경우, 수리된 로봇에 대응하는 역변환처리부(26)를 컨트롤러(24)에 접속함으로써, 복수의 로봇에 의한 작업을 쉽게 재개시킬 수 있다.
도 13은 각 CPU(32, 39, 42)의 통신타이밍을 나타낸 타이밍차트이다. 제1CPU(32)는 미리 정해진 동작계획 송신시간(T11)마다 각 로봇의 동작계획을 제2CPU(39)에 모아서 부여한다. 제2CPU(39)는 주어진 동작계획에 기초해서 각 로봇의 이동위치를 순번대로 연산한다. 로봇이 8대 있는 경우, 제1로봇(R1)으로부터 제8로봇(R8)의 이동위치를 순번대로 연산한다. 제2CPU(39)는 로봇의 이동위치를 연산하면 대응하는 제3CPU(42)에 그 연산한 이동위치를 연산할 때마다 부여한다.
즉, 제1CPU(32)로부터 동작계획을 받아 이동위치의 연산을 개시하는 이동위치연산 개시시각(T10)으로부터, 미리 정해진 이동위치 송신시간(T21)이 경과할 때마다, 제2CPU(39)는 로봇의 이동위치를 제3CPU(42)에 송신한다. 이 이동위치 송신시간(T21)은, 1개의 로봇의 이동위치를 연산하는데 소비하는 연산시간으로 설정된다. 제2CPU(39)는 제n로봇의 이동위치를 이동위치연산 개시시각(T10)으로부터 (n×T21)시간 경과 후에 송신한다. 여기서, n은 자연수이고, T21은 이동위치 송신시간이다. 예컨대 제8로봇(R8)의 이동위치는, 이동위치연산 개시시각(T10)으로부터 (8×T21)시간이 경과한 후에 송신된다. 이와 같이 제2CPU(39)는, 이동위치를 주기적으로 송신한다.
제1 및 제8로봇(R1, R8)이 컨트롤러(24)에 접속되어 있고, 제2∼제7로봇(R2∼R7)이 컨트롤러(24)에 접속되어 있지 않은 경우, 제2CPU(39)는 제2∼7로봇(R2∼ R7)의 이동위치에 관해서는 연산 및 송신을 하지 않지만, 제1 및 제8로봇(R1, R8)의 이동위치를 송신하는 타이밍에 대해서는 제2∼제7로봇(R2∼R7)이 접속되어 있는 경우와 마찬가지로 된다. 따라서, 제2CPU(39)는 제8로봇(R8)의 이동위치를 이동위치연산 개시시각(T10)으로부터 (8×T21)시간이 지난 후에 송신하게 된다.
제2CPU(39)로부터 이동위치가 부여된 각 제3CPU(42)는, 그 이동위치에 기초해서 역변환연산하여 각 로봇 암 관절각도를 구하고, 그 구해진 각도로 암이 각변위하도록 앰프동작량을 앰프동작지령으로 각 앰프에 부여한다. 예컨대, 제3CPU(42)가 역변환연산을 개시하고 나서 앰프동작지령을 앰프에 부여하는 시간을 앰프동작지령 송신시간(T31)으로 하면, 상기 이동위치 송신시간(T21)을 접속할 수 있는 로봇수(m)로 곱한 값(T21×m)은 앰프동작지령 송신시간(T31) 이하로 설정되게 된다. 본 실시의 형태에서는 이동위치 송신시간(T21)은, 앰프동작지령 송신시간(31)과 같게 설정된다.
이와 같이 함으로써, 로봇의 이동위치 송신시간(T21)에, 제어할 수 있는 로봇의 대수 8을 곱한 시간(8×T21)의 간격으로, 각 로봇에 대응하는 제3CPU(42)로 이동해야 할 이동위치를 각각 송신할 수 있게 된다. 이에 대해, 1개의 CPU로 이동위치연산과 역변환연산을 실행하는 경우에는, 로봇의 이동위치연산에 소비하는 시간(T20)과 로봇의 역변환연산에 소비하는 시간(T30)을 합한 시간(T20 + T30)에, 제어할 수 있는 로봇의 대수 8을 곱한 시간(8×(T20 + T30))의 간격으로 로봇을 이동시킬 수 있게 된다.
이와 같이, 본 발명의 실시형태에서는, 역변환에 소비하는 시간(T30)에 관계 없이 이동해야 할 이동위치를 송신해서 로봇을 협조동작시킬 수 있다. 따라서, 역변환연산이 복잡하게 되어도, 미소한 시간간격으로 앰프의 동작지령을 부여할 수 있어 로봇을 원활하게 협조동작시킬 수 있다.
제3CPU(42)는 앰프를 동작시키는 타이밍을 어긋나게 해도 좋다. 예컨대, 제1로봇(R1)과 제8로봇(R8)으로 협조동작을 실행하는 경우, 제1로봇의 제3CPU(42)는 앰프동작지령 송신시간(T31)에서 송신하고 나서 (8×T21)시간이 경과하면 앰프를 동작시키도록 하고, 제8로봇의 제3CPU(42)는 앰프동작지령 송신시간(T31)에서 송신하고 나서 즉시 앰프를 동작시키도록 한다. 이에 따라, 제1로봇(R1)과 제8로봇(R8)을 동시에 동작시킬 수 있게 된다. 이에 따라, 각 로봇의 협조동작에서의 동작의 어긋남을 더 방지할 수 있게 된다.
또, 제2CPU(39)는 제1CPU(32)로부터 동작계획을 수취하기 전에 이동위치의 연산을 개시하면 이동위치를 연산할 수 없는 경우가 있다. 이를 방지하기 위해, 본 실시의 형태에서는 제1CPU(32)가 이 제2CPU(39)에 동작계획을 부여하는 시각(T41)보다 제2CPU(39)가 이동위치의 연산을 개시하는 시각(T10)을 미리 정해진 지연시간(T42)만큼 지연시킨다. 이에 따라, 제1CPU(32)와 제2CPU(39) 사이의 제어주기에 미소한 어긋남이 있는 경우라도 확실하게 연산을 실행할 수 있게 된다.
본 실시의 형태에서는, 각 CPU의 제어주기의 어긋남, 통신지연을 해소하는 동기기능(同期機能)을 갖는다. 이에 따라, 보다 더 정확하게 각 로봇을 협조동작시킬 수 있다. 도 14는 각 CPU(32, 39, 42)의 동기처리기능을 설명하기 위한 도면이다. 각 CPU(32, 39, 42)는, 앞에서 설명한 바와 같이 제어주기의 어긋남을 해소 하기 위한 동기처리기능을 갖는다. 이 경우, 제2CPU(39)는 마스터측 장치로서 설정되고, 제1CPU(32) 및 제3CPU(42)는 슬레이브측 장치로서 설정된다.
제2CPU(39)는, 동작지령을 송신한 시각(ta)으로부터 제3CPU(42) 또는 제1CPU(32)가 상기 동작지령을 수신해서 연산을 개시하는 시각(tb)까지의 통신지연시간(tb-ta)이 미리 정해진 시간(T)으로 되도록 제2CPU(39)의 최소 인터럽트주기 Ts(b)를 변화시켜, 제2CPU(39)와 제3CPU(42) 및 제2CPU(39)와 제1CPU(32)를 동기시킨다. 이하, 제2CPU(39)와 제3CPU(42)의 동작에 대해 구체적으로 설명하고, 제2CPU(39)와 제1CPU(32)의 동작에 대해서는 생략한다.
제2CPU(39)로부터 소정의 제어주기(W)로 시각(ta1, ta2, ta3)마다 송신된 지령신호는, 제3CPU(42)에서의 제어시각(tb0, tb1, tb2)으로부터 소정시간(△t1, △t2, △t3)이 경과한 후의 각 시각((tb0 + △t1), (tb1 + △t2), (tb2 + △t3), …)에 있어서 시계열적으로 수신된다.
이와 같은 제2CPU(39)로부터 제3CPU(42)로의 동작지령의 송신에서는, 각 CPU(39, 42)에 내장되는 수정발진기의 개체차이에 의한 발진주파수의 미소한 오차에 기인하는 수신시각((tb0 + △t1), (tb1 + △t2), (tb2 + △t3), …)의 송신시각(ta1, ta2, ta3)에 대한 제1통신지연시간과, 케이블을 매개로 하는 것에 따른 통신지연시간 및, 제3CPU(42)가 제2CPU(39)로부터의 동작지령 1, 2, 3, …을 수신시각((tb0 + △t1), (tb1 + △t2), (tb2 + △t3), …)에서 수신하고 나서 제어를 개시하는 제어시각(tb1, tb2, tb3, …)까지의 타임래그(time lag: 시간지연)에 의한 제2통신지연시간이 존재하기 때문에, 상기 제2CPU(39)에 의한 연산동작지령에 대해 제3CPU(42)에 의한 연산동작의 미소한 어긋남이 발생해 버린다.
상기 제1통신지연시간에 관해서는, 도 14에 있어서 제2CPU(39)가 송신시각(ta1)에서 지령 1을 송신하면, 송신된 지령 1은 제3CPU(42)에 수신시각(tb0 + △t1)에서 수신된다. 이 수신시각(tb0 + △t1)은 제3CPU(42)가 제어대상으로 하는 전회의 제어시각(tb0)으로부터 소정시간(△t1)이 경과한 시각으로서, 제3CPU(42)의 최소 인터럽트주기(Ts(b))를 4카운트째의 타이밍신호의 발진시각에서 수신하고 있다.
다음으로, 1제어주기가 경과한 후의 시각(ta2)에서 제2CPU(39)가 지령 2를 송신하고, 이 지령 2는 제3CPU(42)에 의해 다음의 수신시각(tb1 + △t2)에서 수신되지만, 상기와 같이 제3CPU(42)에 내장되는 수정발진기는 제2CPU(39)에 내장되는 수정발진기에 대해 개체차이에 의한 발진주파수의 미소한 오차가 존재하기 때문에, 최소 인터럽트주기(Ts(b))의 1카운트째와 2카운트째 사이에 도달한 지령 2는 전회의 제어시각(tb1)으로부터 보아 2카운트째의 시각(tb1 + △t2)에서 수신된다. 이와 같이 전회의 제어시각(tb1)으로부터 타이밍신호가 3카운트 미만에서 지령 2를 수신했을 때에는, 제3CPU(42)는 자기의 최소 인터럽트주기(Tb(b))를 짧게 해서 수신시각(tb1 + △t2)이 미리 정해진 카운트범위, 예컨대 3카운트째 이상이면서 5카운트째 이하로 되도록 제어한다.
또, 제2CPU(39)가 시각(ta3)에서 송신한 지령 3은 제3CPU(42)에 전회의 제어시각(tb2)으로부터 보아 5카운트째와 6카운트째 사이에 도달하고 있기 때문에, 6카운트째에서 수신되고, 제3CPU(42)는 제어시각(tb3)에서 제어한다. 따라서, 제 3CPU(42)는 자기의 최소 인터럽트주기(Ts(b))를 길게 해서, 수신시각(tb2 + △t3)이 전회의 제어시각(tb2)으로부터 3카운트째 이상이면서 5카운트째 이하로 되도록 제어한다.
이와 같이 함으로써, 제3CPU(42)에 의해 제2CPU(39)로부터 각 지령 1, 2, 3, …이 송신되는 시각(ta1, ta2, ta3, …)으로부터 제3CPU(42)에 의해 수신되어, 이 제3CPU(42)가 자기의 로봇(Ra)의 제어를 개시하는 시각(tb1, tb2, tb3,…)까지의 시간((tb1 - ta0), (tb2 - ta1), (tb3 - ta2),…)이 제3CPU(42)의 제어주기(W)를 넘어버리는 것을 방지하게 된다. 이에 따라, 제3CPU(42)는, 제3CPU(42)의 1제어주기(W) 내에 제2CPU(39)로부터 복수의 동작지령을 수신하지 못하거나, 또는 1제어주기(W) 내에 동작지령이 수신되지 않는다고 하는 불편이 발생하는 것을 확실하게 방지하여 제2CPU(39)와 제3CPU(42)를 고밀도로 동기시킬 수 있게 된다.
더욱이, 제2CPU(39)와 제3CPU(42)를 완전히 동기시키기 위해서는, 케이블을 매개로 하는 것에 의한 제1통신지연과, 제3CPU(42)가 제2CPU(39)로부터의 동작지령 1, 2, 3, …을 수신시각((tb0 + △t1), (tb1 +△t2), (tb2 + △t3), …)에서 수신하고 나서 슬레이브 로봇(Rb)의 제어를 개시하는 제어시각(tb1, tb2, tb 3, …)까지의 타임래그에 의한 제2통신지연을 해소할 필요가 있다.
그래서, 제1통신지연을 해소하기 위해, 상기와 같이 제어되는 제3CPU(42)의 최소 인터럽트주기(Ts(b))의 n배(예컨대 n = 8)가 상기 제어주기(W)에 상당한다고 했을 때, 제2CPU(39)의 제어시각(ta11, ta12, ta13, …)을 제3CPU(42)의 제어시각(tb1, tb2, tb3, …)에 일치시킬 필요가 있다. 그 때문에, 제2CPU(39)는 제어시각 (ta11, ta12, ta13, …)을 각 송신시각(ta1, ta2, ta3, …)으로부터 미리 정해진 시간(T)만큼 지연시킨다. 이와 같이 동기동작을 실행함으로써, 제2 및 제3CPU(39, 42)의 동기를 도모할 수 있다. 마찬가지로 해서, 제1CPU(32) 및 제2CPU(39)의 동기를 도모할 수 있다. 또, 제2CPU(39)를 마스터측 장치로 하고, 제1CPU(32) 및 제3CPU(42)를 슬레이브측 장치로 함으로써, 제1CPU(32) 및 제3CPU(42)를 마스터측 장치로 하는 것보다도, 제1CPU(32)와 제3CPU(42)를 무관계하게 협조제어할 수 있고, 보다 정확하게 동기(同期)를 도모할 수 있다.
본 실시의 형태의 로봇 제어시스템(23)은, 반송라인을 따라 이동하는 워크를 가공하는 복수의 로봇을 1개의 컨트롤러(24)로 제어하는 경우를 포함한다. 예컨대 각 로봇이 용접로봇 등인 경우, 1개의 컨트롤러에 접속되는 로봇 중 1개의 로봇이 고장나는 경우가 있다. 이와 같은 경우, 고장난 로봇을 반송라인에서 제외하고 나머지 로봇으로 워크에 가공을 하여 반송라인을 통과한 후의 워크에 대해 고장난 로봇 대신 작업자가 수동으로 가공하는 경우가 있다.
본 실시의 형태의 로봇 제어시스템(23)에서는, 접속되는 로봇의 1개를 떼어 내더라도, 앞에서 설명한 바와 같이 제2CPU(39)로부터 각 제3CPU(42)로 지령이 송신되는 타이밍이 같게 설정되기 때문에, 나머지 로봇의 동작특성을 유지할 수가 있다. 이와 같은 경우, 로봇 제어시스템(23)은 전원투입시에 접속되는 로봇을 확인하는 초기동작을 실행한다.
도 15는 컨트롤러(24)의 전원투입시의 제1CPU(32)의 초기동작을 나타낸 플로우차트이다. 제1CPU(32)는, 로봇 제어시스템(23)의 전원이 투입되면, 단계 f1로 진행하여 초기동작을 개시한다. 단계 f1에서는, 각 로봇(21, 22), 각 로봇에 대응하는 역변환처리부(25, 26) 및 컨트롤러(24)가 기동(起動)한다. 컨트롤러(24)는, 접속되어 있는 로봇을 확인하기 위해 역변환처리부(25, 26)를 매개로 로봇(21, 22)으로 송신요구신호를 송신하고서, 단계 f2로 진행한다. 송신요구신호를 받은 로봇(21, 22)은 답신신호를 컨트롤러(24)를 향해 송신한다.
단계 f2에서는, 제1CPU(32)는 접속되는 로봇(21, 22)을 카운트하고, 단계 f3로 진행한다. 단계 f3에서는, 제1CPU(32)는 접속되는 로봇(21, 22)과 접속이 해제된 로봇을 판단하여, 그들 로봇의 정보를 기억한다. 단계 f4에서는, 접속되어 있지 않은 로봇의 이동위치의 연산 및 거기에 대응하는 역변환처리부로의 송신을 정지시키는 통신설정을 설정하고, 단계 f5로 진행한다. 단계 f5에서는, 제1CPU(32)의 초기동작을 종료한다. 초기동작 종료 후, 제1CPU(32)는 단계 f4에서 설정한 통신설정에 따라 접속되는 로봇을 제어하게 된다. 이에 따라, 고장 등에 의해 로봇이 감소한 경우라 하더라도, 새롭게 프로그램을 변경하지 않고 나머지 로봇에 대해 접속 전과 마찬가지의 동작을 시킬 수 있다. 이상과 같이 본 발명의 실시의 제1형태인 로봇 설비(20)에 따르면, 컨트롤러(24)가 복수의 로봇(21, 22)에 각각 설정되는 로봇 핸드(130)의 이동경로 상의 이동위치를 연산한다. 구체적으로는, 2개의 통과교시위치(通過敎示位置) 사이의 보간점(補間点)으로 되는 이동위치를 구한다. 역변환처리부(25, 26)는, 컨트롤러(24)로부터 주어진 이동위치를 나타내는 행렬에 기초해서 역변환처리를 실행함과 더불어, 각 서보모터(45)의 동작량을 각각 연산한다. 연산결과에 따라 각 서보모터(45)를 제어함으로써, 각 로봇(21, 22)의 로봇 핸드(130)를 동작프로그램에 설정된 이동경로를 따라 개별로 또한 동시에 이동시킬 수 있게 된다.
역변환처리부(25, 26)는, 로봇마다 개별로 필요한 연산을 실행하여 각 로봇(21, 22)에 필요한 역변환처리를 분담한다. 이에 따라, 제2의 종래기술에 비해, 컨트롤러(24)의 부하를 경감시킬 수 있다. 따라서, 동시동작시키는 로봇(21, 22)의 대수(臺數) 또는 각 로봇(21, 22)의 축수(軸數)가 증가했다고 하더라도, 컨트롤러(24)에 걸리는 연산부하가 증대하는 것을 막아, 각 로봇(21, 22)의 이동위치를 원활하면서 단시간에 구할 수 있고, 더 나아가서 각 로봇(21, 22)을 안정하게 동시에 동작시킬 수 있게 된다. 또, 제2CPU의 샘플링주기를 짧게 할 수 있고, 교시위치 사이의 보간위치를 늘릴 수 있으며, 더욱이 로봇의 이동을 원활하게 실행시킬 수 있다.
컨트롤러(24)는, 단위 시간마다 이동해야 할 이동위치를 역변환처리부(25, 26)에 각각 부여한다. 이에 따라, 제1의 종래기술과 같이 로봇마다 컨트롤러가 있는 경우에 비해, 각 로봇의 협조동작에서의 동작의 어긋남이 누적되는 것을 막아 협조동작을 정확하게 실행할 수 있게 된다. 또, 각 로봇(21, 22)은 1개의 컨트롤러(24)로부터 부여되는 지령에 기초해서 각각 다른 동작을 실행하기 때문에, 각 로봇끼리의 응답시기의 어긋남을 줄일 수 있게 된다.
또, 단일의 컨트롤러(24)는 각 로봇(21, 22)의 로봇 핸드(130)가 이동하는 이동경로 상의 각 이동위치를 각각 연산한다. 따라서, 작업자는 1개의 컨트롤러(24)에 각 로봇의 동작관련정보를 교시하는 것만으로 좋다. 이에 따라, 제1의 종 래기술과 같이 복수의 제어장치에 각 로봇의 동작을 개별로 각각 교시할 필요가 없어, 교시작업을 간단화할 수 있고, 편리성을 향상시킬 수 있다.
또, 단일의 컨트롤러(24)에는 모든 로봇(21, 22)에 관한 제어프로그램이 입력된다. 따라서 컨트롤러(24)는 다른 장치와 통신을 하는 일없이 각 로봇 핸드(130)의 이동위치를 연산할 수 있게 된다. 따라서, 복수의 로봇을 협조제어하는 경우, 컨트롤러(24)는 자신이 연산한 마스터 로봇(Ra)의 각 이동위치에 기초해서 슬레이브 로봇(Rb)의 각 이동위치를 연산할 수 있다. 따라서, 통신에 기인하는 로봇끼리의 협조동작의 어긋남을 막을 수 있게 된다.
또, 인터페이스(34∼36)를 1개의 컨트롤러(24)에 설치하는 것만으로 좋아, 로봇마다 인터페이스(34∼36)를 설치할 필요가 없다. 이에 따라, 로봇 제어시스템(23)을 소형화할 수 있는 동시에 저가로 형성할 수 있게 된다.
더욱이, 본 실시의 형태에서는 로봇(21, 22)의 대수에 관계없이 단일의 컨트롤러(24)를 이용하는 것만으로 좋기 때문에, 로봇 제어시스템(23)의 설치면적을 줄여 공간절약화를 실현할 수 있게 된다. 이와 같이 로봇 제어시스템(23)의 설치공간을 작게 함으로써, 더 나아가서 로봇 설비(20)에서의 설치공간을 삭감할 수 있고, 로봇 사이의 거리를 근접시킬 수 있다. 이에 따라, 복수의 로봇(21, 22)으로 제조라인을 형성했을 때, 제조라인을 짧게 할 수 있고, 시공(施工)시간을 단축할 수 있다. 또, 접속되는 로봇이 증감된 경우라 하더라도, 이미 접속된 로봇의 동작특성을 유지할 수 있기 때문에, 제조라인의 변경 등에 대해 유연하게 대응할 수 있다. 더욱이, 각 CPU(32, 39, 42)의 제어주기가 각각 동기하는 구성이기 때문에, 각 로봇의 동기제어 및 협조제어를 정밀도 좋게 실행시킬 수 있다.
또, 본 실시의 형태에서는, 제2CPU(39)는 로봇동작계획에 포함되는 협조동작정보에 기초해서 주목하는 로봇이 슬레이브 로봇(Rb)이라고 판단되면, 주목하는 슬레이브 로봇(Rb)이 동작을 따르는 마스터 로봇(Ra)을 판단하게 된다. 그리고, 그 마스터 로봇(Ra)의 이동위치를 제2메모리(40)로부터 추출함과 더불어, 로봇동작계획으로부터 슬레이브 로봇(Rb)의 연속동작관계를 추출하게 된다. 그리고, 제2CPU(39)는 마스터 로봇(Ra)의 이동위치와 마스터 로봇(Ra)과 슬레이브 로봇(Rb)의 연속동작관계에 기초해서, 슬레이브 로봇(Rb)의 로봇 핸드(130)의 이동위치를 연산하게 된다.
이에 따라, 작업자가 슬레이브 로봇(Rb)의 각 이동위치를 상세히 입력할 필요가 없어, 협조동작을 실행함에 있어 작업자의 수고를 생략할 수 있게 된다.
또, 본 실시의 형태에 따르면, 컨트롤러(24)는 각각 다른 로봇(21, 22)의 로봇 핸드(130)의 이동위치를 통신케이블(27)을 매개로 대응하는 역변환처리부(25, 26)에 각각 부여한다. 각 역변환처리부(25, 26)는 통신케이블(27)을 매개로 주어진 로봇 핸드(130)의 이동위치에 기초해서 대응하는 로봇의 복수의 서보모터(45)를 제어한다.
이와 같이 통신케이블에 의해 접속됨으로써, 컨트롤러(24)와 역변환처리부(25, 26)를 상호 이반(離反)시킬 수 있다. 이에 따라, 컨트롤러(24)는 역변환처리부(25, 26)에서 발생하는 전자노이즈의 영향을 작게 할 수 있다. 또, 복수의 로봇(21, 22)이 상호 떨어진 위치에 배치되는 경우라 하더라도, 로봇(21, 22)에 근접한 위치에 역변환처리부(25, 26)를 배치하여, 로봇(21, 22)으로부터 떨어진 적당한 위치에 컨트롤러(24)를 배치할 수 있다. 이에 따라, 사용하기 편리한 위치에 컨트롤러(24)를 배치할 수 있게 된다.
한편, 역변환처리부(25, 26)는 로봇(21, 22)에 동력을 부여하는 동력선과, 로봇(21, 22)에 신호를 부여하고 로봇으로부터 신호를 취득하는 신호선을 포함한 케이블(28)에 의해 로봇(21, 22)에 접속된다. 이에 대해 컨트롤러(24)와 역변환처리부(25, 26)를 접속하는 케이블(27)은, 동력을 전달할 필요가 없는 신호선인 경우가 많다.
이 경우, 역변환처리부(25, 26)와 로봇(21, 22)을 접속하는 케이블(28)이 굵고, 이에 대해 컨트롤러(24)와 역변환처리부(25, 26)를 접속하는 케이블(27)이 가늘어진다. 역변환처리부(25, 26)와 로봇(21, 22)을 근접시켜 배치함으로써, 역변환처리부(25, 26)와 로봇(21, 22)을 접속하는 굵은 케이블(28)을 짧게 할 수 있어, 작업의 장애로 되는 것을 막을 수 있다.
또, 컨트롤러(24)와 역변환처리부(25, 26)를 접속하는 케이블은, 이더넷(등록상표)에 따라 표준화된 LAN케이블이 이용된다. 이에 따라, 데이터통신을 원거리에서도 고속으로 실행할 수 있고, 통신케이블의 길이의 상위에 따른 로봇의 신호 송신 어긋남의 영향을 작게 할 수 있어, 협조제어를 정확하게 실행할 수 있다. 더욱이, LAN케이블을 이용함으로써, 컨트롤러(24)와 역변환처리부(25, 26) 사이의 거리가 떨어져 있는 경우라 하더라도 충분한 신호전달속도를 유지할 수 있다.
또, 제2CPU(39)는 각 로봇의 로봇 핸드가 이동하는 이동경로 상의 각 이동위 치에 기초해서, 로봇동작시의 로봇끼리의 간섭의 유무를 판단해도 좋다. 본 실시의 형태에서는, 단일의 컨트롤러(24)에 각 로봇의 로봇관련정보가 각각 주어짐과 더불어, 각 로봇의 이동위치를 연산하기 때문에, 다른 장치와 통신하는 일없이 로봇 끼리가 간섭하는지의 여부를 쉽게 판단할 수 있다. 이에 따라, 실제로 로봇을 동작시키지 않더라도, 로봇의 간섭 유무를 판단할 수 있어, 편리성을 향상시킬 수 있다.
도 16은 협조동작부위를 교시하는 순서를 설명하기 위한 각 로봇(Ra, Rb)의 암 선단부분(94a, 94b)의 이동경로를 나타낸 사시도이다. 동 도면에 있어서 실선(實線)은 마스터 로봇(Ra)의 암 선단부분(94a)의 이동경로를 나타내고, 파선(破線)은 슬레이브 로봇(Rb)의 암 선단부분(94b)의 이동경로를 나타낸다. 도 17은 도 16에 도시된 각 교시위치에 대응해서 마스터 로봇(Ra) 및 슬레이브 로봇(Rb)을 협조동작시키기 위한 협조동작 프로그램의 1예를 나타낸 도면이다.
각 협조동작을 위한 프로그램의 작성 및 위치의 교시를 실행하는 경우, 이 프로그램은 한쪽 로봇(Ra)에 의해 실행되는 프로그램 「.PROGRAM master( )」와 다른쪽 로봇(Rb)에 의해 실행되는 프로그램 「.PROGRAM slave( )」가 작성된다.
한쪽 로봇(Ra) 측에 설정되는 프로그램 「.PROGRAM master( )」는 1∼20의 단계를 갖고, 도 16의 실선으로 나타낸 동작목표위치(Pm0)로부터 각 목표위치(Pm1∼Pm9)를 거쳐 동작종료위치(Pa10)에 이르는 동작을 한쪽 로봇(Ra)에 실행시키기 위해, 다음과 같이 구성된다.
먼저, 단계 1은, 한쪽 로봇(Ra)의 각 축을 동작개시위치(Pm0)로 이동시키기 위한 동작명령으로서, 「JMOVE #1c1#0」로 입력된다. 「JMOVE」는 로봇을 지정한 목표위치로 각 축의 보간동작에서 이동시키기 위한 명령이다. 「#1c1#0」는 동작목표위치(Pm0)를 지시하는 변수명(變數名)이다.
단계 2는, 동작개시위치(Pm0)로부터 다음 목표위치(Pm1)로 한쪽 로봇(Ra)을 이동시키기 위한 명령으로서, 「LMOVE #1c1#1」로 입력된다. 「LMOVE」는 직선동작을 지시하는 예약어(reserved word)이고, 「#1c#1」은 목표위치(Pm1)를 지시하는 변수명이다.
단계 3은, 상기 단계 2에서 지정한 위치(Pm1)에서 핸드(30)를 닫히게 하기 위한 명령으로서, 「CLOSE」로 기재된다. 이상이 마스터 로봇(Ra)의 단독동작의 프로그램이다.
다음으로, 단계 4는, 협조동작을 선언하는 명령으로서, 「MASTER」로 기재된다. 이 명령에 의해, 한쪽 로봇(Ra)이 마스터 로봇으로 설정되고, 다른쪽 로봇(Rb) 측이 슬레이브 로봇으로 설정되어, 협조동작이 개시된다. 본 실시의 형태에서는, 1개의 컨트롤러에 마스터 로봇과 슬레이브 로봇의 프로그램이 각각 입력되기 때문에, 제2CPU(39)가 쉽게 슬레이브 로봇의 이동위치를 연산할 수 있게 된다.
단계 5는, 마스터 로봇(Ra)에 대해 핸드(30)를 닫기 위한 명령으로서, 「SIGNAL 2」로 기재된다.
단계 6은, 슬레이브 로봇(Rb)의 핸드(30)를 닫기 위한 명령으로서, 「SIGNAL 2:2」로 기재된다.
단계 7은, 각 로봇(Ra, Rb)을 협조동작시키면서 다음 목표위치(Pm2, Ps2)로 이동시키기 위한 명령으로서, 「MLLMOVE #1c2#2, #1c2#2」로 기재된다.
단계 8은, 각 로봇(Ra, Rb)을 다음 목표위치(Pm3, Ps3)로 이동시키기 위한 명령으로서, 「MLLMOVE #1c1#3, #1c2#3」로 기재된다.
단계 9는, 마스터 로봇(Ra)을 다음 지령을 만족할 때까지 대기시키기 위한 명령으로서, 「SWAIT 1001」로 기재된다.
단계 10은, 슬레이브 로봇(Rb)을 입출력회로(48b)에 다음의 지령을 입력할 때까지 대기시키기 위한 명령으로서, 「SWAIT 2:1001」로 기재된다.
단계 11은, 각 로봇(Ra, Rb)을 다음 목표위치(Pm4, Ps4)로 이동시키기 위한 명령으로서, 「MLC1MOVE #1c1#4, #1c2#4」로 기재된다.
단계 12는, 각 로봇(Ra, Rb)을 다음 목표위치(Pm5, Ps5)로 이동시키기 위한 명령으로서, 「MLC1MOVE #1c1#5, #1c2#5」로 기재된다.
단계 13은, 각 로봇(Ra, Rb)을 다음 목표위치(Pm6, Ps6)로 이동시키기 위한 명령으로서, 「MLC2MOVE #1c1#6, #1c2#6」로 기재된다.
단계 14는, 각 로봇(Ra, Rb)을 다음 목표위치(Pm7, Ps7)로 이동시키기 위한 명령으로서, 「MLLMOVE #1c1#7, #1c2#7」로 기재된다.
단계 15는, 각 로봇(Ra, Rb)을 다음 목표위치(Pm8, Ps8)로 이동시키기 위한 명령으로서, 「MLLMOVE #1c1#8, #1c2#8」로 기재된다.
단계 16은, 마스터 로봇(Ra)의 협조동작을 해제하기 위한 명령으로서, 「ALONE」으로 기재된다.
단계 17은, 한쪽 로봇(Ra)의 핸드(30)를 열기 위한 명령으로서, 「OPEN」으 로 기재된다.
단계 18은, 한쪽 로봇(Ra)에 대해 타이머가 변수명 「1002」로 지시된 상태를 만족할 때까지 대기시키기 위한 명령으로서, 「SWAIT 1002」로 기재된다.
단계 19는, 한쪽 로봇(Ra)을 변수명 「#1c1#9」로 지시시키는 목표위치(Pm9)로 직선이동시키기 위한 명령으로서, 「LMOVE #1c1#9」로 기재된다.
단계 20은, 한쪽 로봇(Ra)를 동작종료위치(Pm10)로 이동시키기 위한 명령으로서, 「HOME」으로 기재된다.
다음에는, 다른쪽 로봇(Rb)에 대해 설정되는 프로그램에 대해 설명한다. 이 다른쪽 로봇(Rb)용 프로그램 「.PROGRAM slave( )」는, 1∼10의 단계를 갖고서, 도 16의 파선으로 도시된 동작목표위치(Ps0)로부터 각 위치(Ps1∼Ps9)를 거쳐 동작종료위치(Ps10)에 이르는 동작을 슬레이브 로봇(Rb)에 실행시키기 위해, 다음과 같이 구성된다.
먼저, 단계 1은, 다른쪽 로봇(Ra)의 각 축을 동작목표위치(Ps0)로 이동시키기 위한 동작명령으로서, 「JMOVE #1c1#0」로 입력된다. 「JMOVE」는 로봇을 지정한 위치로 보간동작에서 이동시키기 위한 명령이다. 「#1c1#0」는 동작목표위치(Ps0)의 좌표이다.
단계 2는, 동작개시위치(Ps0)로부터 다음 위치(Ps1)로 다른쪽 로봇(Rb)을 이동시키기 위한 명령으로서, 「LMOVE #1c1#1」로 기재된다. 「LMOVE」는 직선 동작명령이고, 「#1c1#1」은 다음 위치(Ps1)의 좌표이다.
단계 3은, 상기 단계 2에서 지정한 위치(Ps1)에서 핸드(30)를 닫히게 하기 위한 명령으로서, 「CLOSE」로 기재된다. 이상이 슬레이브 로봇의 단독동작의 프로그램이다.
다음으로, 단계 4는, 다른쪽 로봇(Rb)을 변수명 「1002」로 지시되는 조건을 만족할 때까지 대기시키기 위한 명령으로서, 「SWAIT 1002」로 기재된다.
단계 5는, 자기가 슬레이브 로봇으로서 동작하는 것을 선언하기 위한 명령으로서, 「SLAVE」로 기재된다. 이 프로그램의 실행시에는, 슬레이브 로봇(Rb)은 마스터 로봇(Ra) 측에서의 각 단계 5∼15의 명령에 응답해서 협조동작을 실행한다. 이 협조동작시에는 앞에서 설명한 바와 같이, 다른쪽 로봇(Rb)은 네트워크통신 접속수단(21)에 의해 한쪽 로봇(Ra)에 접속되기 때문에, 제어주기(制御周期)의 어긋남을 수정하면서 상호 정확하게 동기해서 협조동작시킬 수 있게 된다.
단계 6은, 협조동작을 해제하고, 단독동작으로 되돌린 것을 선언하기 위한 명령으로서, 「ALONE」으로 기재된다.
단계 7은, 다른쪽 로봇(Rb)의 핸드(30)를 열기 위한 명령으로서, 「OPEN」으로 기재된다.
단계 8은, 마스터 로봇(Ra) 및 슬레이브 로봇(Rb)의 쌍방에 대해 지령을 개별로 설정하기 위한 명령으로서, 「SIGNAL 2」로 기재된다.
단계 9는, 다른쪽 로봇(Rb)을 변수명 「#1c2#9」로 지시되는 목표위치(Ps9)로 이동시키기 위한 명령으로서, 「LMOVE #1c2#9」로 기재된다.
단계 10은, 다른쪽 로봇(Rb)을 동작종료위치(Ps10)로 이동시키기 위한 명령으로서, 「HOME」으로 기재된다.
이와 같이 해서 각 로봇이 실행하는 일련의 작업 중에서, 협조동작하는 행정에 대해서는 각 로봇을 마스터 로봇(Ra)과 슬레이브 로봇(Rb)으로 설정해서, 상기 통신접속수단을 매개로 상호 통신해서 고정밀도로 동기시켜 협조동작시킬 수가 있게 된다.
도 18은 본 발명의 제2실시의 형태에 따른 로봇 설비(220)의 구성을 나타낸 계통도이다. 이 제2실시의 형태에 따른 로봇 설비(220)는, 제1실시의 형태에 따른 로봇 설비(20)에 비해 제어해야 할 로봇이 다를 뿐이고, 로봇 제어시스템(223)에 관해서는 제1실시의 형태의 로봇 설비(20)와 마찬가지의 구성을 나타낸다. 따라서, 마찬가지의 구성에 대해서는 설명을 생략하고, 같은 참조부호를 붙이기로 한다.
로봇 설비(220)가 구비하는 복수의 로봇(221, 222)은, 직렬로 설치되는 복수의 암체(c1∼c6)와, 인접하는 2개의 암체를 동축으로 자유로이 회전할 수 있게 연결하는 동축관절부(d1, d3, d5) 및, 한쪽 암체를 다른쪽 암체에 대해 원추형으로 회전할 수 있게 연결하는 경사관절부(d2, d4, d6)를 포함해서 각각 구성된다.
이와 같은 동축관절 및 경사관절을 포함한 다축 로봇(221, 222)은, 복수의 암체(c1∼c6)를 서보모터(45)에 의해 회전시킴으로써, 뱀과 같이 움직이도록 해서 유단부(遊端部)의 자세 및 위치를 변경시킬 수 있다. 따라서, 다른 장치 등이 복잡하게 뒤얽혀 작업경로가 복잡한 경우, 또 천정과 마루의 간격이 작아 저자세에서의 작업이 필요한 경우라 하더라도, 적절히 유단부의 이동 및 자세를 변경시킬 수 있다.
복수의 암체(c1∼c6)는 직렬방향으로 나란히 배치된다. 그 중 한쪽 단부에 제1암체(c1)가 배치되고, 제2∼제6암체(c2∼c6)가 순차적으로 연결된다. 제6의 암체(c6)에는 핑거장치가 연결된다. 제1∼제6암체(c1∼c6)는 도 15에 도시된 바와 같이, 각각의 축선이 동축으로 배치되어 직선상으로 뻗은 상태로 변형될 수 있다.
다축 로봇(221, 222)은, 유단부에 각종 핑거장치인 이른바 엔드 이펙터(end effector)를 연결하고, 핑거장치를 목표위치 및 자세로 배치함으로써, 좁은 사행공간에서의 핸드링이나 실링, 도장(塗裝) 또는 아크용접 등을 실행할 수 있게 된다.
제1암체(c1)는, 그 위치 단부(端部)가 동축관절부(d1)에 의해 미리 정해진 기대(21)에 연결된다. 제1암체(c1)는, 어떤 축선과 동축으로 된 회전축선 주위에 기대(21)에 대해 자유로이 회전할 수 있게 연결된다. 또 제1암체(c1) 중 기대(21)와 반대측 단부에는 경사관절부(d2)에 의해 제2암체(c2)가 연결된다. 이 경사관절부(d2)는, 제1암체(c1) 및 제2암체(c2)의 축선에 대해 45°의 각도를 이루고 경사지는 경사회전축선 주위에 자유로이 회전할 수 있게 연결된다.
마찬가지로, 제2암체(c2)와 제3암체(c3)는 동축관절부(d3)에 의해 연결된다. 제3암체(c3)와 제4암체(c4)는 경사관절부(d4)에 의해 연결된다. 제4암체(c4)와 제5암체(c5)는 동축관절부(d5)에 의해 연결된다. 제5암체(c5)와 제6암체(c6)는 경사관절부(d6)에 의해 연결된다. 또, 제6암체(c6)와 핑거장치는 동축관절부에 의해 연결되어도 좋다.
각 암체(c1∼c6)는, 각 암을 회전시키는 서보모터(45)를 각각 내장하고 있다. 서보모터(45)는 회전전달기구를 매개로 회전력을 각 암에 전달한다. 회전전 달기구는 예컨대 피동기어기구, 예컨대 하모닉 드라이브(등록상표)이다. 회전전달기구는, 입력측 부재와 출력측 부재를 갖추고서, 그들이 서로 맞물려 상대적으로 회전하도록 되어 있다. 한쪽 암체에는 입력측 부재가 연결되고, 다른쪽 암체에는 출력측 부재가 연결된다. 이에 따라, 서보모터(45)가 입력측 부재에 동력을 전달함으로써, 출력측 부재와 함께 다른쪽 암체가 회전하게 된다.
도 19∼도 21은 다축 로봇(221, 222)의 변형상태를 나타낸 사시도이다. 도 19의 (1)과 도 19의 (2)는 다른 방향으로부터 본 것을 나타낸다.
이와 같은 다축 로봇을 이용한 경우라 하더라도, 제1실시형태에서 나타낸 로봇 제어시스템(23)과 마찬가지의 시스템(223)을 이용함으로써, 마찬가지의 효과를 얻을 수 있다. 즉, 복수의 다축 로봇을 동시에 쉽게 동작시킬 수 있게 된다. 또, 이와 같은 다관절로봇의 경우는, 역변환연산의 해(解)를 수학적으로 똑같이 구하는 것이 곤란한 경우가 많다. 이와 같은 경우, 수치적인 반복연산을 실행하여 최적의 역연산해(逆演算解)를 구하는 연산법인 예컨대 수속연산법(收束演算法)에 의해 구해진다. 수속연산법으로 구하는 경우에는, 수속회수(收束回數)를 늘리면 늘릴수록 역변환처리를 실행하기 위해 높은 연산처리능력이 필요하지만, 본 발명의 실시형태와 같이, 역변환처리용 제3CPU(42)를 별도로 설치하여 제어주기를 짧게 함으로써 로봇을 원활하게 동작시킬 수 있다. 또, 예컨대 로봇의 관절이 7축 이상인 경우 등, 로봇 핸드를 한가지 위치 및 자세로 이동시키기 위한 각 암의 배치상태를 복수개 생각할 수 있는 경우, 이른바 용장축(冗長軸)을 가진 경우에도, 역변환연산의 해를 구하기 위해 높은 연산처리능력이 필요하게 된다. 이 경우에도, 역변환처리 용 제3CPU(42)를 별도로 설치함으로써, 제어주기를 짧게 해서 로봇을 원활하게 동작시킬 수 있다.
도 22는 본 발명의 실시의 제3형태인 로봇 설비(420)의 구성을 나타낸 계통도이다. 이 제3실시의 형태에 따른 로봇 설비(420)는, 제1실시의 형태의 로봇 설비(20)에 비해 제어해야 할 로봇이 다를 뿐이고, 로봇 제어시스템(423)에 대해서는 제1실시형태의 로봇 설비(20)와 마찬가지의 구성을 나타낸다. 따라서, 마찬가지의 구성에 대해서는 설명을 생략하고, 같은 참조부호를 붙인다.
로봇 설비(420)가 구비하는 복수의 로봇(421, 422)은, 쓰리롤(three-roll)형 손목(430)이 설치되는 다관절로봇으로서, 예컨대 도장용 로봇 등으로 쓰인다. 쓰리롤형 손목(430)은 암(434)에 연결되어 미리 정해진 제1축선 주위로 각변위하는 제1각변위 부(431)와, 이 제1각변위부(431)에 연결되어 제1축선에 교차하는 제2축선 주위로 각변위하는 제2각변위부(432) 및, 이 제2각변위부(432)에 연결되어 제1각변위 축선에 평행하게 뻗은 제3축선 주위로 각변위하는 제3각변위부(433)가 설치되어 있다. 도장로봇으로 쓰이는 경우, 제3각변위부(433)에는 스프레이 건(spray gun)이 연결된다.
이와 같은 쓰리롤형 손목을 가진 로봇도 역변환연산의 해를 구하기 위해서는, 수치적인 반복연산으로 구할 필요가 있는 바, 역변환처리를 실행하기 위해 높은 연산처리능력이 필요하게 된다. 본 발명과 같이 역변환처리용 제3CPU(42)를 별도로 받게 됨으로써, 로봇을 원활하게 동작시킬 수 있다.
도 23은, 본 발명의 실시의 제4형태에 따른 로봇 설비(320)의 구성을 나타낸 계통도이다. 이 제4실시의 형태에 따른 로봇 설비(320)는, 제1실시의 형태의 로봇 설비에 대해 역변환처리부(25)가 각 컨트롤러(24)에 포함되어 있다. 즉 버스라인 등에 의해 로봇동작 연산부(31)와 각 역변환처리부(25, 26)가 접속된다. 이와 같이 본 발명은, 컨트롤러 내에 역변환처리용 제3CPU(42)가 설치되는 경우도 포함한다. 한편, 제4실시형태의 로봇 설비(320)는 로봇의 종류에 대해 한정되지 않고, 도 18 및 도 22에 나타낸 복수의 다축 로봇을 동시에 제어하도록 해도 좋다. 이와 같은 제4실시형태에 따른 로봇 설비(320)에 대해서도, 제1실시형태와 마찬가지의 효과를 얻을 수 있다.
이상과 같은 본 발명의 각 실시형태는 발명의 예시에 지나지 않는 것으로 본 발명의 범위 내에서 여러 가지로 구성을 변경할 수 있다. 예컨대 제어하는 로봇으로서, 수직 다관절로봇, 도 18에 나타낸 경사관절축을 가진 다축 로봇, 도 22에 나타낸 쓰리롤 손목을 가진 다관절로봇을 예시했지만, 역변환처리가 필요한 로봇이면 좋다. 예컨대, 직각좌표형이나 곡선좌표형 다관절로봇을 이용해도 좋다. 또, 본 발명의 실시형태에서는 2개의 로봇을 동시에 제어하는 경우에 대해 설명했지만, 2개 이상 예컨대 8개의 로봇을 동시에 제어해도 좋다. 또, 종류가 다른 로봇을 동시에 제어하도록 해도 좋다.
또, 핑거장치로서 로봇 핸드(130)를 동작시키는 것으로 했지만, 로봇 핸드(130) 이외, 예컨대 용접장치나 도장장치 등의 다른 핑거장치를 로봇의 유단부에 설치해서, 그 핑거장치를 동작시킴과 더불어 이동시키도록 해도 좋다. 예컨대 워크에 용접을 실행하는 경우, 워크를 파지해서 워크의 위치 및 자세를 변경시키는 워크파지로봇과, 용접토치를 보유지지해서 용접토치의 위치 및 자세를 변경시키는 툴(tool)파지로봇의 쌍방을 동시에 동작시키면서 작업을 실행하는 경우가 있다. 이와 같은 협조동작을 복수의 로봇에 실행시키는 경우라도, 본 발명의 로봇 제어시스템(23)을 이용할 수 있다. 본 발명의 로봇 제어시스템(23)를 이용함으로써, 로봇을 원활하게 협조동작시킬 수 있고, 복잡한 형상의 워크에 대해 용접작업을 실행할 수 있다.
또, 로봇을 동작시키는 액츄에이터로서 서보모터(45)를 이용했지만, 다른 액츄에이터를 이용해도 좋다. 또, 제1CPU(32)와 제2CPU(39)를 1개의 CPU에 의해 실현해도 좋다.
이상, 본 발명을 실시의 형태를 이용해서 설명했지만, 본 발명의 기술적 범위는 상기 실시의 형태에 기재된 범위로는 한정되지는 않는다. 상기 실시의 형태에 다양한 변경 또는 개량을 가할 수 있다. 그와 같은 변경 또는 개량을 가한 형태도 본 발명의 기술적 범위에 포함될 수 있음은, 청구의 범위의 기재로부터 명확히 알 수 있다.
이상 설명한 바와 같이 본 발명에 의하면, 복수의 로봇을 동시에 쉽게 동작시킬 수 있고, 로봇을 원활하게 동작시킬 수 있는 로봇 제어시스템을 제공할 수 있게 된다.

Claims (7)

  1. 삭제
  2. 복수의 다축 로봇을 동시에 제어하는 로봇 제어시스템으로서, 각 로봇이 복수의 액츄에이터를 갖고, 각 로봇에 기준가동부가 설정되는 로봇 제어시스템에 있어서,
    상기 기준가동부가 이동하는 이동경로 상의 일련의 이동위치를 각각 연산하는 단일의 주제어장치와,
    로봇마다 각각 설치된 각 부제어장치로서, 상기 단일의 주제어장치에서 산출된 대응하는 로봇에 관한 기준가동부의 이동경로 상의 상기 일련의 이동위치에 기초해서 대응하는 로봇의 기준가동부가 이동경로 상을 이동할 때의 각 액츄에이터의 일련의 동작량을 연산해서 구하여, 그 동작량으로 로봇의 각 액츄에이터를 제어하는 복수의 부제어장치를 갖추되,
    상기 주제어장치가, 외부장치와의 신호의 입출력동작을 실행하는 입출력부와,
    상기 입출력부에서의 신호의 입출력동작을 제어하는 입출력 제어처리회로,
    각 로봇의 기준가동부의 이동위치를 구하기 위한 동작계획을 기억하는 기억부 및,
    상기 입출력 제어처리회로와는 별체로 설치되어 상기 동작계획에 기초해서 각 로봇의 기준가동부가 이동하는 이동경로 상의 이동위치를 각각 연산하는 이동경로 연산처리회로를 포함하는 것을 특징으로 하는 로봇 제어시스템.
  3. 복수의 다축 로봇을 동시에 제어하는 로봇 제어시스템으로서, 각 로봇이 복수의 액츄에이터를 갖고, 각 로봇에 기준가동부가 설정되는 로봇 제어시스템에 있어서,
    상기 기준가동부가 이동하는 이동경로 상의 일련의 이동위치를 각각 연산하는 단일의 주제어장치와,
    로봇마다 각각 설치된 각 부제어장치로서, 상기 단일의 주제어장치에서 산출된 대응하는 로봇에 관한 기준가동부의 이동경로 상의 상기 일련의 이동위치에 기초해서 대응하는 로봇의 기준가동부가 이동경로 상을 이동할 때의 각 액츄에이터의 일련의 동작량을 연산해서 구하여, 그 동작량으로 로봇의 각 액츄에이터를 제어하는 복수의 부제어장치를 갖추되,
    상기 주제어장치는 부제어장치를 접속할 수 있는 최대 접속수가 설정되어 있으며,
    최대 접속수의 부제어장치가 접속되는 경우, 연산결과를 순번대로 미리 정해진 타이밍에서 각 부제어장치에 각각 부여하고,
    최대 접속수보다 적은 부제어장치가 접속되는 경우, 최대 접속수의 부제어장치가 접속되는 경우와 마찬가지의 타이밍에서, 연산결과를 순번대로 각 부제어장치에 각각 부여하도록 된 것을 특징으로 하는 로봇 제어시스템.
  4. 복수의 다축 로봇을 동시에 제어하는 로봇 제어시스템으로서, 각 로봇이 복수의 액츄에이터를 갖고, 각 로봇에 기준가동부가 설정되는 로봇 제어시스템에 있어서,
    상기 기준가동부가 이동하는 이동경로 상의 일련의 이동위치를 각각 연산하는 단일의 주제어장치와,
    로봇마다 각각 설치된 각 부제어장치로서, 상기 단일의 주제어장치에서 산출된 대응하는 로봇에 관한 기준가동부의 이동경로 상의 상기 일련의 이동위치에 기초해서 대응하는 로봇의 기준가동부가 이동경로 상을 이동할 때의 각 액츄에이터의 일련의 동작량을 연산해서 구하여, 그 동작량으로 로봇의 각 액츄에이터를 제어하는 복수의 부제어장치를 갖추되,
    상기 주제어장치가, 각 로봇의 기준가동부의 이동위치를 구하기 위한 동작계획을 기억하는 기억부와,
    상기 동작계획에 기초해서 각 로봇의 기준가동부가 이동하는 이동경로 상의 이동위치를 연산하는 이동경로 연산처리회로를 포함하고,
    상기 동작계획은, 주목하는 로봇에 대해, 미리 정해진 기준동작을 하는 마스터 로봇, 대응하는 마스터 로봇에 연동해서 동작하는 슬레이브 로봇 중 어느 로봇인지를 나타내는 협조동작정보와, 주목하는 로봇이 슬레이브 로봇인 경우에 대응하는 마스터 로봇의 동작에 대한 연속동작관계를 나타내는 연동관계정보를 포함하며,
    상기 이동경로 연산처리회로는, 슬레이브 로봇의 기준가동부가 이동하는 이동경로 상의 이동위치를 연산하는 경우, 대응하는 마스터 로봇의 이동위치와 상기 연동관계정보에 기초해서 슬레이브 로봇의 기준가동부가 이동하는 이동경로 상의 이동위치를 연산하도록 된 것을 특징으로 하는 로봇 제어시스템.
  5. 복수의 다축 로봇을 동시에 제어하는 로봇 제어시스템으로서, 각 로봇이 복수의 액츄에이터를 갖고, 각 로봇에 기준가동부가 설정되는 로봇 제어시스템에 있어서,
    상기 기준가동부가 이동하는 이동경로 상의 일련의 이동위치를 각각 연산하는 단일의 주제어장치와,
    로봇마다 각각 설치된 각 부제어장치로서, 상기 단일의 주제어장치에서 산출된 대응하는 로봇에 관한 기준가동부의 이동경로 상의 상기 일련의 이동위치에 기초해서 대응하는 로봇의 기준가동부가 이동경로 상을 이동할 때의 각 액츄에이터의 일련의 동작량을 연산해서 구하여, 그 동작량으로 로봇의 각 액츄에이터를 제어하는 복수의 부제어장치를 갖추되,
    상기 주제어장치와 상기 각 부제어장치가 떨어진 위치에 배치되고,
    상기 주제어장치와 상기 각 부제어장치를 각각 접속하는 복수의 통신케이블을 갖추도록 된 것을 특징으로 하는 로봇 제어시스템.
  6. 제5항에 있어서, 상기 주제어장치와 상기 각 부제어장치가 이더넷을 이용해서 상호 통신할 수 있게 설치된 것을 특징으로 하는 로봇 제어시스템.
  7. 상기 제2항 내지 제5항 중 어느 한 항에 기재된 로봇 제어시스템과, 이 로봇 제어시스템에 의해 제어되는 복수의 로봇을 갖추어 구성된 것을 특징으로 하는 로봇 설비.
KR1020060000960A 2005-01-05 2006-01-04 로봇 제어시스템 KR100802200B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00000752 2005-01-05
JP2005000752A JP2006187826A (ja) 2005-01-05 2005-01-05 ロボットコントローラ

Publications (2)

Publication Number Publication Date
KR20060091719A KR20060091719A (ko) 2006-08-21
KR100802200B1 true KR100802200B1 (ko) 2008-02-11

Family

ID=36215583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060000960A KR100802200B1 (ko) 2005-01-05 2006-01-04 로봇 제어시스템

Country Status (4)

Country Link
US (1) US7282882B2 (ko)
EP (1) EP1693165A3 (ko)
JP (1) JP2006187826A (ko)
KR (1) KR100802200B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101015313B1 (ko) 2008-09-03 2011-02-15 재단법인대구경북과학기술원 다중 로봇 협업 방법 및 시스템

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050189399A1 (en) * 2004-02-26 2005-09-01 Progressive Tool & Industries, Co. Flexible body workstation for assembling workpieces
US9390203B2 (en) 2004-06-15 2016-07-12 Abb Ab Method and system for off-line programming of multiple interacting robots
WO2005124486A2 (en) * 2004-06-15 2005-12-29 Abb Ab Method and system for off-line programming of multiple interacting robots
DE102005033972A1 (de) 2005-07-20 2007-01-25 Dürr Systems GmbH Beschichtungsverfahren und zugehörige Beschichtungseinrichtung
JP2008100292A (ja) * 2006-10-17 2008-05-01 Toshiba Mach Co Ltd ロボットシステム
US8855817B2 (en) 2006-12-19 2014-10-07 Abb Research Ltd. Parts handling device, system and method
JP2009012132A (ja) * 2007-07-05 2009-01-22 Denso Wave Inc 多関節型ロボットおよびワーク受け渡し方法
JP2009090403A (ja) * 2007-10-05 2009-04-30 Fanuc Ltd ロボット動作範囲設定装置
KR100945884B1 (ko) * 2007-11-14 2010-03-05 삼성중공업 주식회사 내장형 로봇 제어 시스템
DE102008016414B4 (de) * 2008-03-31 2018-01-04 Kuka Roboter Gmbh Röntgenvorrichtung und medizinischer Arbeitsplatz
TW201031507A (en) * 2009-02-25 2010-09-01 Micro Star Int Co Ltd Control apparatus of a multi-axial joint and control method thereof
JP2010274396A (ja) * 2009-06-01 2010-12-09 Kawasaki Heavy Ind Ltd 自動作業システムにおける位置ズレ補正方法及び位置ズレ補正プログラム
JP2011083841A (ja) * 2009-10-13 2011-04-28 Seiko Epson Corp ロボット制御装置、ロボット制御システム及びロボット制御方法
JP2011108044A (ja) 2009-11-18 2011-06-02 Fanuc Ltd N個のロボットを同時に制御するロボット制御装置
US9906838B2 (en) 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
JP2012045636A (ja) * 2010-08-24 2012-03-08 Yaskawa Electric Corp ロボットおよび補間方法
JP5743495B2 (ja) * 2010-11-05 2015-07-01 キヤノン株式会社 ロボット制御装置
JP5773761B2 (ja) * 2010-12-17 2015-09-02 キヤノン株式会社 リソグラフィーシステム、及びそれを用いた物品の製造方法
JP5547626B2 (ja) * 2010-12-28 2014-07-16 川崎重工業株式会社 7軸多関節ロボットの制御装置および教示方法
WO2012140655A2 (en) * 2011-04-12 2012-10-18 Baryakar Dan Robotic system controlled by multi participants, considering administrator's criteria
WO2014002678A1 (ja) * 2012-06-29 2014-01-03 三菱電機株式会社 ロボット制御装置およびロボット制御方法
AU2013204965B2 (en) 2012-11-12 2016-07-28 C2 Systems Limited A system, method, computer program and data signal for the registration, monitoring and control of machines and devices
US9649765B2 (en) 2013-03-11 2017-05-16 Siemens Aktiengesellschaft Reducing energy consumption of industrial robots by using new methods for motion path programming
US9922144B2 (en) 2014-03-26 2018-03-20 Siemens Industry Software Ltd. Energy and cycle time efficiency based method for robot positioning
US9841749B2 (en) 2014-04-01 2017-12-12 Bot & Dolly, Llc Runtime controller for robotic manufacturing system
US9701018B2 (en) 2014-04-01 2017-07-11 Bot & Dolly, Llc Software interface for authoring robotic manufacturing process
US9630317B2 (en) * 2014-04-03 2017-04-25 Brain Corporation Learning apparatus and methods for control of robotic devices via spoofing
US9613308B2 (en) 2014-04-03 2017-04-04 Brain Corporation Spoofing remote control apparatus and methods
US9701011B2 (en) 2014-05-08 2017-07-11 Siemens Industry Software Ltd. Method for robotic energy saving tool search
US9278449B1 (en) 2014-05-21 2016-03-08 Bot & Dolly, Llc Closed-loop control system for robotic operation
US9555545B2 (en) 2014-05-21 2017-01-31 Bot & Dolly, Llc Systems and methods for time-based parallel robotic operation
US9308647B2 (en) 2014-06-03 2016-04-12 Bot & Dolly, Llc Systems and methods for instructing robotic operation
US9815201B2 (en) 2014-07-31 2017-11-14 Siemens Industry Software Limited Method and apparatus for industrial robotic energy saving optimization using fly-by
US9469029B2 (en) 2014-07-31 2016-10-18 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by optimal ordering of the industrial robotic path
US9457469B2 (en) * 2014-08-14 2016-10-04 Siemens Industry Software Ltd. Method and apparatus for automatic and efficient location generation for cooperative motion
US9821470B2 (en) 2014-09-17 2017-11-21 Brain Corporation Apparatus and methods for context determination using real time sensor data
US9860077B2 (en) 2014-09-17 2018-01-02 Brain Corporation Home animation apparatus and methods
US9849588B2 (en) 2014-09-17 2017-12-26 Brain Corporation Apparatus and methods for remotely controlling robotic devices
US9579790B2 (en) 2014-09-17 2017-02-28 Brain Corporation Apparatus and methods for removal of learned behaviors in robots
KR102079499B1 (ko) 2015-10-20 2020-02-21 엘에스산전 주식회사 Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법
JP6706489B2 (ja) * 2015-11-24 2020-06-10 川崎重工業株式会社 ロボットのダイレクト教示方法
KR102046598B1 (ko) * 2015-12-07 2019-11-19 카와사키 주코교 카부시키 카이샤 로봇시스템 및 그 운전방법
CN106997201B (zh) * 2016-01-25 2020-11-03 上海电气集团股份有限公司 多机器人协作的路径规划方法
US10295972B2 (en) 2016-04-29 2019-05-21 Brain Corporation Systems and methods to operate controllable devices with gestures and/or noises
WO2018041198A1 (zh) * 2016-08-31 2018-03-08 北京术锐技术有限公司 一种手术机器人运行状态故障检测方法
JP2018037021A (ja) * 2016-09-02 2018-03-08 オムロン株式会社 制御装置および制御システム
WO2018076295A1 (zh) * 2016-10-28 2018-05-03 深圳市优必选科技有限公司 舵机控制系统以及机器人
JP6484213B2 (ja) * 2016-12-09 2019-03-13 ファナック株式会社 複数のロボットを含むロボットシステム、ロボット制御装置、及びロボット制御方法
JP6633587B2 (ja) * 2017-10-05 2020-01-22 ファナック株式会社 ロボットの構成部材の速度を制限する制御装置
EP3470179A1 (de) * 2017-10-13 2019-04-17 Siemens Aktiengesellschaft Roboter und verfahren zur steuerung einer anordnung von einem ersten roboter und zumindest einem zweiten roboter
JP2019093459A (ja) * 2017-11-20 2019-06-20 セイコーエプソン株式会社 ロボット
JP7294144B2 (ja) * 2018-01-19 2023-06-20 ソニーグループ株式会社 ロボット装置及び電子機器の製造方法
JP6687654B2 (ja) * 2018-03-14 2020-04-28 ファナック株式会社 協働ロボットの制御装置及び制御方法
JP7173765B2 (ja) * 2018-06-25 2022-11-16 川崎重工業株式会社 ロボット制御システム
EP3820655B1 (en) * 2018-07-13 2023-06-14 ABB Schweiz AG Diagnosis method and apparatus
JP6881525B2 (ja) 2019-08-23 2021-06-02 株式会社安川電機 ロボットシステム、コントローラ及び制御方法
DE102020109241A1 (de) * 2020-04-02 2021-10-07 Sick Ag Kommunikationsvorrichtung und Verfahren zur Weitergabe von Daten aus einem Regelkreis
WO2021241397A1 (ja) * 2020-05-25 2021-12-02 ファナック株式会社 ロボットシステム
CN112008732B (zh) * 2020-09-09 2021-12-10 中科新松有限公司 机器人逆行方法、装置、终端和存储介质
CN113305874B (zh) * 2021-05-27 2023-02-17 北京交通大学 一种三指多自由度灵巧手机构

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010031303A (ko) * 1998-08-21 2001-04-16 모리시타 요이찌 로봇 제어 장치와 그 제어 방법
JP2003145462A (ja) * 2001-11-07 2003-05-20 Kawasaki Heavy Ind Ltd ロボットの協調制御システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379784A (en) * 1993-01-23 1995-01-10 Tokyo Electron Limited Apparatus for cleaning conveyor chuck
JPH08328628A (ja) * 1995-06-02 1996-12-13 Yaskawa Electric Corp 複数ロボット制御装置
JP3269003B2 (ja) * 1997-05-12 2002-03-25 川崎重工業株式会社 ロボット制御装置
JP3538362B2 (ja) * 1999-09-16 2004-06-14 ファナック株式会社 複数ロボットの同期又は協調動作制御装置
JP2001100805A (ja) 1999-09-27 2001-04-13 Matsushita Electric Ind Co Ltd ロボット制御装置
JP2001306119A (ja) * 2000-04-27 2001-11-02 Yaskawa Electric Corp 多軸機械の動作指令生成方法とその装置
ITTO20010553A1 (it) * 2001-06-08 2002-12-08 Comau Spa Sistema di controllo per robot.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010031303A (ko) * 1998-08-21 2001-04-16 모리시타 요이찌 로봇 제어 장치와 그 제어 방법
JP2003145462A (ja) * 2001-11-07 2003-05-20 Kawasaki Heavy Ind Ltd ロボットの協調制御システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101015313B1 (ko) 2008-09-03 2011-02-15 재단법인대구경북과학기술원 다중 로봇 협업 방법 및 시스템

Also Published As

Publication number Publication date
KR20060091719A (ko) 2006-08-21
US7282882B2 (en) 2007-10-16
EP1693165A3 (en) 2009-07-22
EP1693165A2 (en) 2006-08-23
JP2006187826A (ja) 2006-07-20
US20060145647A1 (en) 2006-07-06

Similar Documents

Publication Publication Date Title
KR100802200B1 (ko) 로봇 제어시스템
JP3577028B2 (ja) ロボットの協調制御システム
JP4382003B2 (ja) ロボット制御装置およびロボット制御方法
EP3342549B1 (en) Remote control robot system and method of operating the same
EP2594372B1 (en) Master-slave manipulator
JP5406589B2 (ja) 多用途ロボット制御システム
US8731714B2 (en) Concurrent path planning with one or more humanoid robots
US7620478B2 (en) Control system, method and computer program for synchronizing several robots
JP2009148890A (ja) 少なくとも2本のロボットアームの同期化システムおよびその制御方法
JP7281349B2 (ja) 遠隔操作システム
JP2010167515A (ja) 多軸ロボット及びその速度制御装置
WO2009096408A1 (ja) 多関節構造体教示装置
CN112423947B (zh) 机器人系统
JP7118725B2 (ja) ロボットの教示方法及びロボットの教示システム
Jang et al. Application of design and control tools in a multirobot cell
CN111699079B (zh) 协调系统、操作设备和方法
Choi et al. Control of 6DOF articulated robot with the direct-teaching function using EtherCAT
Lee et al. A new exoskeleton-type masterarm with force reflection: controller and integration
JP7490412B2 (ja) ロボットシステム及びその制御方法
Choi et al. Development of a articulated robot with the direct-teaching function
Heuer et al. Open architecture robot control based on Matlab/Simulink and a dSPACE real time system
KR100794713B1 (ko) 주행축을 포함하는 로봇 시스템의 협조 제어 방법
Li et al. LSPB Trajectory Planning: Design for the Modular Robot Arm Applications
Bischoff et al. Flexible control of complex kinematic chains
JP2014124733A (ja) ロボット制御装置及びロボットの制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130118

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140117

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150119

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180103

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190103

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20200103

Year of fee payment: 13