KR20070075957A - 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템 - Google Patents

멀티 타스킹을 위한 타스크 기반 로봇 제어시스템 Download PDF

Info

Publication number
KR20070075957A
KR20070075957A KR1020060004771A KR20060004771A KR20070075957A KR 20070075957 A KR20070075957 A KR 20070075957A KR 1020060004771 A KR1020060004771 A KR 1020060004771A KR 20060004771 A KR20060004771 A KR 20060004771A KR 20070075957 A KR20070075957 A KR 20070075957A
Authority
KR
South Korea
Prior art keywords
robot
controller
module
task
virtual
Prior art date
Application number
KR1020060004771A
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 주식회사 로보스타
Priority to KR1020060004771A priority Critical patent/KR20070075957A/ko
Priority to US11/478,487 priority patent/US20070168082A1/en
Publication of KR20070075957A publication Critical patent/KR20070075957A/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/0694Broiling racks
    • 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/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/07Roasting devices for outdoor use; Barbecues
    • A47J37/0786Accessories
    • 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/34Director, elements to supervisory
    • G05B2219/34403RTI real time, kernel, processing
    • 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/40519Motion, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Food Science & Technology (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 로봇 제어기의 새로운 형태인 PC 기반 로봇 제어 시스템에 관한 것이다. 본 발명은 중앙 집중식 제어구조가 아닌 타스크(Task) 기반의 제어기 구조에 착안한 것으로서 분산 제어 시스템을 통한 멀티타스킹 기능을 가능하도록 한다. 본 발명은 사용자 작업용 로봇 언어 프로그램(HRPL; High Level Robot Program Language)계층과; 외부 모듈과 로봇 제어기 모듈을 연결하는 로봇 시스템 인터페이스 계층(Robot System Interface Level)과; 소프트웨어 기반 제어시스템의 핵심 코어(Core)부분으로 기존 하드웨어(Micro controller)가 수행하던 실행문의 처리를 담당하는 가상로봇 제어기 계층(Robot Kernel Level))과; 가상 로봇 제어기간의 동기 작업을 통한 다축 제어 시스템을 구현하기 위한 제어기간 공유 모듈인 시스템 커넬계층(System Kernel Level)과; PCI(Peripheral Component Interconnect)인터페이스 DSP시스템, 입/출력 보드, 센서보드 등을 구비하여 로봇을 실제 구동하는 하드웨어 모듈을 포함하여 구성하되, 상기 가상로봇 제어기 계층에서 소프트웨어에 의해 구현되는 가상로봇 제어기를 사용자의 요청에 의해 다수를 생성 소멸을 제어하여 멀티 타스킹이 가능하도록 한 것이다.
로봇, 제어, 멀티 타스킹(Multi Tasking) , PC Based Controller

Description

멀티 타스킹을 위한 타스크 기반 로봇 제어시스템{Robot control system for multi tasking based task}
도 1a 및 도 1b는 기존 하드웨어 기반 로봇 제어기 구조도.
도 2a 및 도 2b는 기존 하드웨어 기반 로봇 제어기와 PC기반 로봇제어기 구조도.
도 3은 본 발명에서 제안한 타스크(TASK) 기반 분산제어식 로봇 제어기 개요도.
도 4는 본 발명에서 제안한 소프트웨어 기반 로봇 제어기 구성도.
도 5는 본 발명을 설명을 위한 소프트웨어 기반 로봇 제어기 세부 구성도.
도 6은 본 발명의 가상 로봇 제어기 내 멀티 타스킹을 설명하기 위한 가상 로봇 제어기 스케쥴러 흐름도.
도 7는 도 6에서 대기 모드로 변경되어야 하는 타스크와 수행해야 하는 타스크를 저장하는 저장공간의 세부 구성도.
도 8은 가상 로봇 제어기가 동작하는 과정에서 각 통신 모듈을 기준으로 명령어의 전달 흐름을 정리한 흐름도.
도 9는 도 8의 통신 관련 모듈을 세부화한 흐름도.
<도면의 주요부분에 대한 부호의 설명>
10 : 프로그램 계층 20 : 인터페이스 계층
30 : 가상로봇 제어기 계층 40 : 시스템 커넬계층
50 : 하드웨어 모듈
본 발명은 PC 기반 로봇 제어기의 시스템에 관한 것으로, 기존 하드웨어 기반의 로봇 제어기 형태를 새로운 소프트웨어 기반의 로봇 제어기로 적용이 가능하고, 소프트웨어 기반의 멀티태스킹이 가능해지도록 함으로서, 기존의 PC 기반 제어기 형태와 비교하여 사용자가 작업환경을 구축하는데 월등히 효과적이고, 사용자 편의성이 강조되어 생산성 향상 및 생산라인 설계비용 절감의 효과를 누릴 수 있도록 한 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템에 관한 것이다.
PC 기반 제어기는 기존의 DSP 나 ASIC 으로 구현된 하드웨어와 펌웨어(Firm ware)기반 제어기의 형태를 소프트웨어로 프로그램화 하여 PC로 옮겨온 소프트웨어 기반 제어기를 말한다. 로봇 제어기 구조에 PC 시스템의 적용이 요구된 주요 이유는 생산라인의 복잡도가 증가함에 따라 로봇 제어기가 로봇을 구동하면서 동시에 다른 여러 작업을 수행할 필요성이 증가했기 때문이다.
로봇제어기는 로봇의 움직임에 대한 프로그램을 처리하는 부분(상위제어기)과 실제로 기계장치를 제어하는 부분(하위제어기)으로 나눌수 있다. 상위제어기는 로봇이 해야 할 작업프로그램 처리 부분을 의미하며, 로봇 작업 프로그래밍 인터페 이스와 통신 등을 처리한다. 하위제어기는 로봇의 경로 계획 및 서보제어 부분을 의미하며, 실시간 제어를 통한 로봇의 움직임의 정확성과 직결된다.
기존의 PC 기반 제어기는 전용 보드 기반의 제어기 형태를 갖고 있기 때문에 하위제어 시스템의 개발에 중심을 두고 있다. 이는 PC기반 제어기의 경우 대개 하나의 제어기가 다수의 로봇을 제어할 수 있는 성능을 가지고 있으므로, 멀티타스킹 기능 구현을 위한 별도의 장치가 필요 없기 때문이었다. 이러한 관점에서 상위제어기는 사용자와 제어기간의 정보를 주고받는 역할만을 담당하게 되며, MMI(Man Machine Interface) 기반의 중앙 집중 제어기 구조를 갖게 되었고, 하위제어기는 전용기의 형태를 갖게 되었다.
도 1a 내지 도 1b는 기존 하드웨어 기반 로봇 제어시스템의 구조를 나타낸 것이다. 초기 하드웨어 기반 제어시스템은 도 1a와 같이 작업 대상 로봇에 해당하는 콘트롤러가 1:1로 작업을 수행하였다. 즉, 도 1a는 하드웨어 기반 콘트롤러 타입 1로서, 하나의 마이크로 콘트롤러(1)가 하나의 로봇(1a)를 제어하도록 구성된다. 이러한 구조는 소품종 다량 생산화 과정으로 변모한, 현대 생산 라인구조에는 적합하지 않은 모델이 되었으며 이를 극복하기 위하여 도 1b와 같은 복수 제어시스템으로 변화가 이루어졌다.
도 1b는, 하드웨어 기반 콘트롤러 타입 2로서, 하나의 메인콘트롤러(2)와, 하위제어기 갯 수에 대응되는 갯수의 서브 콘트롤러1(2a), 서브콘트롤러2(2b)가 구비되고, 각 서브 콘트롤러1,2(2a)(2b)가 각각 해당되는 로봇1,2(3a)(3b)를 제어하도록 구성된다.
그러나 도 1b와 같은 구조는 도 1a의 기본 1:1 매칭 구조에서 하드웨어를 추가한 구조이기 때문에, 기능상의 구현은 가능하지만 작업 대상이 증가함에 따라 하드웨어의 구성이 복잡해지는 단점을 갖고 있다.
도 2a는 종래 로봇 제어 시스템의 구성도이다. 이는 본 발명에서 설명하고자 하는 소프트웨어 기반 제어 시스템의 전단계로서, 도 1b의 하드웨어 기반 콘트롤러 타입2의 구조에서 한 단계 발전한 구조를 보여준다. 하드웨어 기반 콘트롤러 타입3은, 도 1b의 하드웨어 기반 콘트롤러 타입 2의 복수개의 하드웨어를 갖는 구성에서 벗어나 특정 콘트롤러에 사용할 수 있는 간이 형태의 OS(4)를 사용하여 멀티 타스킹 작업을 수행하도록 하였다. 이는 하드웨어 구성만으로 멀티 타스킹 기능을 구현한 형태에서 크게 진보한 형태이지만, 마찬가지로 특정 마이크로 콘트롤러(4a)에 종속적으로 개발되어 로봇1(5a), 로봇2(5b)의 제어에 대해서 제한된 기능만을 제공하고 있다.
도 2b는 종래 기술에 의한 PC를 이용한 로봇 제어시스템의 로봇 제어기 구조도이다. 이는 가장 최근에 개발된 PC를 이용한 로봇제어기 구조로서, 인터페이스(MMI ; Man Machine interface)(6), 타스크 스케즐러(Task priority setting)(7), 하위제어기(80) 및 서브 하드웨어1(8a), 서브하드웨어2(8b)로 구성되는데, 하위제어기(8)는 실제 디바이스 드라이버 레벨로 하드웨어를 제어하기 위한 전용 소프트웨어가 있는 계층이다. 상위제어기중 MMI(6)는 사용자가 작업을 구성하기 위해 사용하는 응용프로그램이다. 스케쥴러(Scheduler)(7)는 제어기가 작업해야 할 작업을 순서에 따라 분할하는 역할을 담당한다. 이러한 구조는 모든 작업이 타스크 스케쥴 러(7)를 통해 작업해야 할 순서가 정해짐을 알 수 있으며, 이러한 구조를 중앙집중식 제어방식(Centralize Control Architecture)이라한다. 스케쥴러(7)가 TASK의 우선순위에 따라 작업을 재구성하기 위해서는 작업자가 작업환경을 구축함에 있어 모든 상황을 알고 있어야 한다는 것을 의미한다.
중앙집중식 제어방식은 절차지향 방식에 따라 모든 상황이 예측된 작업 순서에 따라 실행된다. 절차지향 방식은 정해진 순서에 따라 작업이 수행되기 때문에 작업의 복잡도가 증가할 경우 사용자가 작업을 구성하는데 어려움이 있다. 이러한 특징은 하위제어기(8)를 중심으로 제어기가 설계되었기 때문이며, PC 기반 제어기의 모듈화(Module) 개념에 위배 된다고 할 수 있다.
또한, 하드웨어 개발 기술도 제조회사별 격차가 줄어들면서 소프트웨어의 구조에 따라 성능이 좌우된다. 아울러, 실시간성 보장을 위한 하드웨어 접근방식에도 실시간 OS(Realtime OS)가 개발됨에 따라, 소프트웨어를 통한 하드웨어의 실시간 제어가 가능해 졌다.
이러한 하드웨어 개발 기술의 평준화와 실시간 OS의 발달로 인해, PC 기반 제어기의 효율성을 높이기 위한 방법으로 상위제어기 개발의 중요성이 부각되고 있다.
그러나, 상기와 같은 기존의 중앙 집중식 제어방식 PC 기반 제어기는 사용자가 모든 작업의 사항을 우선순위에 따라 관리해야 하는 시스템이므로, 다양한 소프트웨어 기능을 기본으로 한 사용자 편의성을 부각시킨 PC 기반 제어기의 특징을 살릴 수가 없다.
본 발명에서는 중앙집중식 제어방식이 아닌 타스크(TASK) 기반의 분산제어방식을 통한 로봇 제어 시스템을 제안하고자 한다.
본 발명에서의 타스크는 로봇이 동작하기 위해 필요한 작업파일(JOB FILE)을 의미하며, 타스크 기반은 로봇이 동작하고자 하는 작업을 기준으로 함을 의미한다. 이는 로봇 제어 시스템에 있어 제어하고자 하는 로봇이 작업 실행의 주체가 되기 때문에 단일 로봇이 작업을 수행하는 개념으로의 접근이 가능하다. 또한 타스크 기반의 제어시스템은 각각의 타스크가 별개로 동작을 하기 때문에 작업 수행 도중 예외상황이 발생한다 하여도 다른 타스크에 영향을 미치지 않는다. 이 같은 방법을 사업용 로봇제어기에 적용하면, 기존의 로봇 시스템 설계과정에서 발생되는 복잡성을 줄일 수 있고, 사용자에게 작업의 이해도를 높임으로써 생산성 향상 및 개발 환경 구축 비용을 절감할 수 있다.
본 발명은, 기존 하드웨어 기반의 로봇 제어기 형태를 새로운 소프트웨어 기반의 로봇 제어기로 적용이 가능하도록 하고, 소프트웨어 기반의 멀티태스킹이 가능해 짐으로써, 기존의 PC 기반 제어기 형태와 비교하여 사용자가 작업환경을 구축하는데 효과적으로 구축할 수 있도록 하기 위한 것이다.
본 발명에 따른 분산 제어방식의 제어기는 사용자가 원하는 최소단위의 작업 단위(JOB 파일)에 따라 독립된 로봇 시스템을 구축할 수 있다.
본 발명은 타스크 기반 로봇 제어기로서 가상 로봇 제어기를 통한 제어시스 템을 제공한다, 이에 따라 수직적 계층화된 구조가 아닌, 수평화된 병렬적 형태를 갖도록 구성하고, 이러한 제어기 구조에서는 기존의 PC 기반 제어기와 같이 작업별 우선순위를 설정하거나, 사용자가 임의의 설정을 할 필요가 없기 때문에 사용자가 작업환경을 구축하는데 많은 편의성을 제공할 수 있으며, 이러한 특징은 생산성의 증가와 연결될 수 있다.
도 3은 본 발명에 의한 타스크 기반 로봇 제어기의 개요도이다. 본 발명은, 타스크 기반 소프트웨어 콘트롤러 구조로서 구성되며, 다수의 가상 콘트롤러1 ~ 가상 콘트롤러N를 병렬 구현하고, 각각의 가상 콘트롤러1-N가 각각 해당되는 로봇1 ~N을 제어하도록 구성된다.
본 발명은 도 3에 도시된 바와 같이 수직적 계층화된 구조가 아닌, 수평화된 병렬적 형태를 갖도록 구성함에 특징이 있다.
도 4는 본 발명에 의한 로봇 제어시스템의 구성도이다.
본 발명에서 개발한 사용자 작업용 로봇 언어 프로그램(HRPL; High Level Robot Program Language)계층(10)과; 외부 모듈과 로봇 제어기 모듈을 연결하는 로봇 시스템 인터페이스 계층(Robot System Interface Level)(20)과; 소프트웨어 기반 제어시스템의 핵심 코어(Core)부분으로 기존 하드웨어(Micro controller)가 수행하던 실행문의 처리를 담당하는 가상로봇 제어기 계층(Robot Kernel Level)(30)과; 가상 로봇 제어기간의 동기 작업을 통한 다축 제어 시스템을 구현하기 위한 제 어기간 공유 모듈인 시스템 커넬계층(System Kernel Level)(40)과; PCI(Peripheral Component Interconnect)인터페이스 DSP시스템, 입/출력 보드, 센서보드 등을 구비하여 로봇을 실제 구동하는 하드웨어 모듈(50)을 포함하여 구성됨을 특징으로 한다. 여기서 상기 가상로봇 제어기 계층에서 가상로봇 제어기를 소프트웨어에 의해 구현하고 사용자의 요청에 의해 다수의 가상로봇 제어기를 생성 소멸을 제어하여 멀티 타스킹 제어가 가능하도록 한 것이다.
상기 로봇시스템 인터페이스 계층(20)은, 본 발명에서 제안한 소프트웨어 기반 로봇 제어기 구성 중 외부 모듈과의 연결을 위한 통신 모듈(RUSH ; Robot User Shell)(21)과; 상기 통신모듈(RUSH)(21)에서 사용하게 될 통신 프로토콜(Protocol)로써 통신 수단과 상관없이 동일한 형태의 프로토콜을 사용자에게 제공하는 로봇 사용자 쉘 프로토콜(22)과; 사용자가 로봇 시스템의 무한 반복 작업을 수행하기 전 디버깅 작업수행을 위한 디버그 통신 모듈(RDB ; Robot Debugger)(23)로 구성된다.
상기 가상로봇 제어기 계층(30)은, 로봇 언어로 구현된 작업 파일을 실행하는 실행 모듈로써 내부 가상 로봇 제어기(VRCM ;Virtual Robot Control Machine) 실행모듈(31)과; 가상 로봇 제어기 내의 멀티 타스킹(Multi Tasking) 처리를 위한 스케쥴러(32)와; 로봇 의존적 모듈로 로봇이 동작하기 위한 경로를 생성하는 서브 시스템모듈(33)로 구성된다.
상기 시스템 커넬 계층(40)은, 가상 로봇 제어기간의 내부 통신을 위한 메시지 전달 모듈로 로봇간의 동기화 작업을 관리하는 모듈(IVC ; Inter VRCM Communication)(41)과; 일반 사용자용 OS와 실시간 OS와의 동작 시간의 동기를 맞 추기 위한 시스템 동기화 모듈(42)과; 복수개로 생성되는 가상 로봇 제어기를 관리하는 모듈(43)과; 소프트웨어 기반 로봇 제어시스템의 전체 자료를 저장하는 공유 메모리(44)와; 소프트웨어 기반 로봇 제어기와 외부 하드웨어와의 통신을 담당하는 하드웨어 디바이스 드라이브 모듈(45)로 구성된다.
본 발명에서는 멀티태스킹 구현을 위하여 실시간 OS 기반 분산제어 방식의 제어기 구조를 제안한다. 기존 PC 기반 제어기에서 로봇 제어기를 상위 제어기와 하위제어기로 구분 할 수 있었다면 본 발명에서는 로봇 제어기를 실시간 제어기(Hard Realtime)와 비 실시간 제어기(Soft Realtime)로 구분한다.
비 실시간 제어기는 로봇을 실제로 구동하는 연결 부분을 제외한 시스템의 전체를 관리하도록 한다. 비 실시간 제어기는 사용자가 원하는 작업파일의 관리, 로봇 파라미터 관리, 현재 동작중인 로봇의 상태 모니터링 작업 등을 수행한다.
도 5는 본 발명에서 설명할 제어기의 전체 구성을 간략히 도시한 것이다.
도 5는 본 발명을 설명을 위한 소프트웨어 기반 로봇 제어기 세부 구성도
본 발명에서 제안한 로봇 제어기의 구동을 위한 명령어 번역기(101)와, 외부 모듈과의 통신을 위한 통합 프로토콜 통신 모듈(102)과, 가상 로봇 제어기(VRCM)의 관리를 위한 것으로 가상 로봇 제어기가 소프트웨어 프로그램이기 때문에 사용자의 요청, 즉 구동하고자 하는 로봇의 수만큼 생성이 가능하고, 가상 로봇 제어기를 생성 및 소멸 시키는 역할을 수행하는 가상 로봇 제어기 관리부(103)와, 가상 로봇 제어기내에서 발생되는 멀티 타스킹을 처리하기 위한 스케쥴러(104)와, 상기 명령어 번역기(101)에서 번역한 로봇 명령어를 실행하는 명령어 실행 모듈(105)와, 상 기 스케즐러(104) 및 상기 실행모듈(105)로 이루어져 상기 가상 로봇 제어기 관리부(103)에 의해 생성된 가상 로봇 제어기(106)와; 로봇이 이동할 경로를 생성할 경로 생성하는 경로 계획부(107)와; 로봇 구동을 위한 하드웨어 인터페이스인 PCI(Peripheral Component Interconnect)를 관리하는 실시간 OS 모듈(108)와; 상기 가상로봇 제어기 관리부(103)에서 생성한 로봇 제어기(106)간의 내부 통신을 담당하는 IVC(Inter VRCM Communition) 모듈(109)과; 실시간 OS의 구동을 위한 모듈로서 스케즐러(104)에게 실시간 시간 갱신 명령을 전달하도록 하는 메모리(110)로 구성된다.
상기 도 5를 참도하여 비 실시간 제어기는 사용자가 작성한 작업파일을 관리하는 부분, 외부모듈과 통신을 담당하는 통신 모듈, 그리고 로봇의 구동 명령어를 전달하는 부분으로 구분할 수 있다. 본 발명은 복수개의 로봇이 제어 가능하며, 멀티 타스킹이 가능한 분산제어 방식의 로봇 제어기 구현을 목적으로 하기 때문에 기존의 제어기와 로봇이 1:1 또는 1:N 으로 대응하는 구조가 아니, N:N의 제어하고자 하는 로봇수만큼의 제어기가 존재하는 구조를 갖는다.
이를 위하여 본 발명에서는 가상 로봇 제어기(Virtual Robot Control Machine)이라는 개념을 도입하였다. 가상 로봇제어기는 소프트웨어 형태의 로봇 제어기로 기존 마이크로 콘트롤러가 명령어 처리를 수행하는 역할을 담당한다. 가상 로봇 제어기는 소프트 웨어형태를 갖기 때문에, 사용자가 사용하는 PC의 사양이 허용할수 있는 만큼의 로봇 제어기를 만들어 낼 수 있다.
가상 로봇 제어기는 제어하고자 하는 로봇과 1:1 로 대응하며 분리된 영역에 서 작업을 수행한다. 본 발명에서는 이 가상 로봇 제어기를 기준으로 도 5의 모듈들을 설명하고자 한다. 도 5의 가상 로봇제어기 관리부(VRCM MANAGER)(103)는 TASK의 수만큼 존재하게 될 가상 로봇 제어기(106)를 관리하는 모듈로써 가상 로봇 제어기(106)의 생성 및 소멸을 담당한다. 사용자가 TASK1과 TASK2를 수행할 로봇 제어기를 요청할 경우 VRCM MANAGER(103)는 가상 로봇 제어기(VRCM)(106) 2대 발생시켜 각각의 로봇을 제어하도록 한다. 본 발명은 멀티태스킹 기능이 가능한 로봇 제어 시스템을 설명한다. 일반적인 멀티태스킹이란, 동시에 복수개의 작업을 수행할 수 있음을 의미한다.
이 개념을 로봇 제어기에 접목시킬 경우, 로봇이 모션 작업을 수행하면서 동시에 작업환경에서 발생되는 다양한 상황에 대하여 처리할 수 있음을 의미한다. 이 다양한 상황에는 로봇별로 발생되는 이벤트가 있을 수 가 있고, 동작중인 로봇간에 발생되는 이벤트가 있을 수 가 있다. 본 발명에서는 이러한 이벤트의 원할한 처리를 위하여 도 5의 가상로봇 제어기 스케즐러(VRCM SCHEDULER)(104)를 제안한다.
본 발명에서는 독립된 개념의 가상 로봇 제어기(106)를 기반으로 함으로, 멀티태스킹의 기준을 로봇 한대로부터 확장하도록 하였다. 가상로봇 제어기 스케즐러(VRCM SCHEDULER)(104)는 동작중인 TASK에서 발생되는 다양한 이벤트의 처리를 담당한다. VRCM SCHEDULER(4)가 처리하는 이벤트로는 주기적 인터럽트, 단발성 인터럽트, 병렬 처리 구문, 특정 메시지 기다림, 사용자의 명령어 처리 요구 가 있다.
TASK 간에 발생되는 이벤트, 즉 로봇간의 이벤트는 IVC(109)를 통해 구현하였다. IVC(109)는 PC의 디바이스 드라이버(Device Driver)에 존재하는 소프트 웨어 모듈로써, VRCM MANAGER(103)가 생성시킨 복수개의 가상 로봇 제어기들이 공유하는 일종의 메모리 영역을 의미한다. 이 IVC(109)를 통하여 의 TASK1 과 TASK2를 동시에 실행 할 경우 세마포어나 이벤트의 구현을 통해 필요한 작업 실행순서의 관리할 수 있다. VRCM SCHEDULER(4)는 비실시간 제어기의 모듈이다. 이는 로봇 제어기가 갖추어야 할 실시간성을 보장할 수 없음을 의미하며, 해당 모듈의 기능수행 자체가 무의미함을 또한 의미한다.
본 발명에서는 비실시간 제어기에 포함되어있는 VRCM SCHEDULER(104)의 실시간성을 부여하기 위하여 실시간 제어기의 하드웨어 동작 기준 시간 메모리(110)를 이용한 비실시간 VRCM SCHEDULER(104)의 동작을 제안한다. VRCM SCHEDULER(104)는 실시간 영역인 모션 콘트롤러의 동작 기준시간 메모리(110)의 동작 기준시간을 IVC(109)를 통해 입력받아 동작하게 된다.
이 구조는 비 실시간 제어기, 즉 비 실시간 OS의 응용프로그램을 실시간 화가 가능함을 의미하며 소프트웨어 기반의 로봇제어기가 기존의 하드웨어 기반의 로봇 제어기를 대치할 수 있는 주요 근거가 된다. VRCM SCHEDULER(104)가 동작하는 기준 시간의 갱신을 실시간 제어기로부터 입력받음을 확인할 수 있다.
도 5의 VRCM(106)은 TASK를 수행하기 위해 작성한 사용자 작업 프로그램을 실행한다. 하드웨어 기반의 제어시스템에서 전용 콘트롤러가 동작하는 과정을 소프트웨어로 구현한 모듈로써 로봇언어를 실행한다. VRCM(106)은 로봇언어를 해석하여 실시간 제어기에게 명령을 전달한다. 도 5의 IVC(109)는 동기화 작업을 수행하는데 있어 TASK 별로 메시지를 주고받는 통신 모듈이며, 본 발명에서 정의한 모든 모듈 이 공유한다. IVC(109)를 통하여 서로다른 로봇 제어기가 동기화 작업이 가능해 진다.
RUSH(102)는 동작중인 PC 기반 제어기와 외부 모듈간의 통신을 지원하는 통합 통신 모듈로써 외부로부터 받은 통신 프로토콜을 VRCM(106) 프로토콜로 변경하는 역할을 담당한다. RUSH는 본 발명에서 설명하고자하는 멀티 타스킹 작업과는 관련이 없기 때문에 간략히 설명하도록 한다.
도 6은 본 발명의 가상 로봇 제어기 내 멀티 타스킹을 설명하기 위한 가상 로봇 제어기 스케쥴러 흐름도이다.
S1은, 온라인 모드인지를 판단하데, 가상 로봇 제어기의 동작 모드 관련 명령어로 실제 작업관련 로봇 구동을 하지 않는 상태를 나타낸다. S2는 상기 S1의 동작에 의해 수행되는 모듈로 온라인 모듈인 경우, 사용자의 명령에 따른 특정 기능을 수행하는 모듈이다. 관련 동작은 사용자의 로봇 관련 설정작업을 수행한다. S3는 로봇 제어기의 동작 모드 관련 명령어로 S1과는 반대의 상태를 의미하며 로봇이 실제 작업에 착수했음을 의미한다. S4는 로봇이 구동하는 상태에 대한 관련 명령어로 현재 로봇이 디버그용으로 동작하고 있는지, 아니면 실제 작업을 수행하고 있는지를 확인하는 것이고, S5는 로봇 모션관련 명령어로 디버그 상태로 동작중인 모션을 나타낸다. S6은 사용자에 의해 디버그 모드로 동작중이 로봇을 위한 작업 구동한다. S7은 멀티 타스킹 중 현재 동작중인 타스크가 있는지 여부를 확인하는 명령이고, S8은 현재 동작중인 타스크(TASK)가 인터럽트(INTERRUPT)관련 타스크인지를 확인하는 명령이며, S9는 S8에 의해 선택된 인터럽트 수행 루틴이다. S10은, 현재 동작중인 타스크가 자신의 동작 주기를 다 소비한 상태에서 대기 모드로 들어가야 하는지를 확인하는 명령이며, S11은 S10에 의해 선택된 타스크를 대기 모드로 변경시키는 모듈이다.
S12는 현재 가상 로봇 제어기가 동작하는 과정에서 다른 가상 로봇 제어기가 전달한 명령이 있는지 확인하는 명령어로 전달된 명령이 있으면 명령어 저장 공간에 저장한다. S13은 현재 타스크가 인터럽트 관련 작업을 수행하는 동안 다른 인터럽트가 발생했을 경우, 인터럽트 저장 공간에 발생된 인터럽트 정보를 저장한다.
S14는 비 실시간 OS 에 실시간성을 부여하기 위한 실시간 OS로부터 시간 기준 명령을 받는 모듈로 가상 로봇 제어기의 타스크 스케쥴링의 기준 시간이 된다. S15는 S14에 의해 입력받은 실시간 정보를 가상 로봇 제어기의 동작 기준 시간으로 변경하는 모듈이다.
S16은 현재 동작중인 타스크에서 수행할 외부 명령어가 있는지 확인하는 모듈로 수행해야 할 명령이 있으면 현재 타스크에서 저장된 명령어를 수행하기 위한 타스크로의 변경을 위해서 현재 타스크를 비운다. S17은 S16에서 선택된 명령어가 있으면 관련 작업을 TNOGD하는 모듈이며, S18은 현재 동작중인 TASK에서 새로운 TASK를 생성하라는 명령어가 입력되었을 경우 처리하는 모듈이다. S19는 스케쥴링 작업을 위해 현재 동작중인 타스크가 있는지 확인하는 명령어로 현재 동작중인 타스크가 있다면 계속 수행하도록 한다. S20은, 현재 동작중인 타스크가 없다면 가상 로봇 제어기 스케쥴러가 갖고 있는 타스크 저장소에서 다음에 수행할 타스크를 현재 타스크로 교체하는 모듈이다.
도 7은 도 6에서 상기 S18에서 대기 모드로 변경되어야 하는 타스크와 수행해야 하는 타스크를 저장하는 저장공간의 세부 개요도로서, 현재 동작중인 타스크를 저장하는 공간을 나타내며(201), 인터럽트가 발생될 경우 인터럽트가 발생되었다면 현재 동작중인 타스크(201)의 다음에 인터럽트 타스크가 저장되어 201이 수행된 후 수행되도록 한다(202). 병령처리 상황이 발생될 경우 현재 동작중인 타스크 1의 뒤에 병렬처리 타스크가 저장되어 201이 수행된 후 수행되도록 한다(203. 현재 수행중인 타스크에서 새로운 타스크를 생성하는 경우, 새로운 타스크를 생성하여 현재 동작중인 타스크의 다음위치에 저장한다(204). 이어서 대기모드로 들어가게 될 타스크를 저장하는 공간(205)을 나타낸다.
도 8은 가상 로봇 제어기가 동작하는 과정에서 각 통신 모듈을 기준으로 명령어의 전달 흐름을 정리한 구성도이다. 사용자가 사용하게 될 외부 모듈에서 본 발명에서 설명한 가상 로봇 제어기와의 통신을 위해 사용하게 될 통신 모듈인 클라이언 서버 모듈(301)과, 사용자의 명령에 따라 현재 동작중인 로봇의 상태를 얻어오는 모니터링 모듈(302)로 동작중인 가상 로봇 제어기와 별도로 동작하여 로봇 구동에는 영향을 미치지 않는다. RUSH 서버 모듈(303)은, 가상 로봇제어기의 통신 서버 모듈로 외부로부터 받아들인 명령어를 가상 로봇제어기가 사용할 수 있도록 변경한다. RUSF 세션 모듈(304)은, 상기 RUSH 서버 모듈(303)에서 수신된 명령어를 사용자의 목적에 맞도록 선택하여 수행하는 명령어 전달 모듈이다. 동작 모듈(305)는, RUSH 세션 모듈(304)에 의해 선택된 특정명령어를 수행하는 로봇 관련 하위 동작 모듈이다. VRCM관리 모듈(306)은, 가상 로봇 제어기를 관리하는 가상 로봇 제어 기 메니저로 가상 로봇제어기의 생성 및 소멸을 관리한다. 실행모듈(307)은, 가상 로봇 제어기 관련 명령으로 관리모듈(306)에 의해 선택된 특정 동작을 수행한다. 공유 메모리(308)은, 로봇 모니터링 모듈(302)의 모니터링 작업을 위해 가상 로봇 제어기의 모든 정보를 담고 있는 공유 저장공간이다.
도 9는 도 8의 클라이언트 서버모듈과 RUSH 서버모듈의 통신 관련 모듈을 세부화한 흐름도이다. 401은, 최종 사용자 응용 프로그램 모듈로 전달한 메시지에 대한 정보를 받아본다. 402는 사용자 레벨로 통신수단( Ethernet, USB, Serial...)과 관계없이 동일한 명령어 전달 함수를 사용한다. 이는 통합 프로토콜의 구현을 위한 단계이다. 403은 402에서 전달한 메시지를 통신 수단에 맞도록 변경하는 모듈이다. 404는, 실제 통신수단을 통해 메시지를 전달하는 모듈이고, 405는 402와 마찬가지로 사용자 레벨의 메시지 수신 모듈로 406에서 받은 명령중 사용자용 데이터를 수신하는 모듈이다. 406은 403과 마찬가지로 특정 통신수단으로부터 전달받은 메시지를 통합 프로토콜에 맞도록 변경한다. 407은 특정 통신수단을 통해 메시지를 전달 받는 모듈이다. 408은, 406에서 받은 메시지 중 통신관련 명령어를 서버 혹은 클라이언트에게 전달한다. 409는 408에서 전달받은 명령어를 특정 통신수단의 형태로 변경한다. 410은 특정 통신수단을 통해 서버 혹은 클라이언트에게 전달한다.
도 6은 도 5의 구성을 통신 프로토콜 관점에서 재구성한 것이다. 도 5의 RUSH(102)는 PC에서 제공하는 외부 통신 모듈의 관리를 위하여 3단계의 계층 구조를 갖는다. Layer1 은 실제 하드웨어 레벨의 통신을 관리하는 계층으로 Ethernet, Serial, USB 등 PC 자체의 자원을 활용하는 모듈이다. Layer2 는 Layer1에서 받아 들인 데이터를 VRCM에 처리할 수 있는 데이터 구조로 변경하는 계층이다. Layer3는 사용자 API(Application Program Interface) 계층으로 통신의 송수신 명령을 담당한다. 이러한 계층 구조를 통해 사용자는 현재 PC에 접속된 통신모듈의 종류와 관계없이 동일한 API를 통해 통신이 가능해 진다. RUSH(2)는 본 발명에서 설명한 PC 기반 제어기와 통신하고자 하는 외부 모듈에 동시에 존재하도록 한다.
도 8에서와 같이 RUSH는 서버(Server)와 클라이언트(Client)의 개념으로 PC에 존재하며 서버 RUSH(303)는 클라이언트 RUSH(301)의 통신 요청 요구에 대응하여 VRCM MANAGER 또는 VRCM(106)에게 사용자의 요구사항을 전달하도록 한다. RUSH는 서버와 클라이언트가 동일한 형태의 프로그램으로 사용자의 별도 조작 없이 단순한 프로그램 설치를 통해 통신이 가능하도록 사용자 편의성을 증대시켰다.
이상에서 상세히 설명한 바와 같이 본 발명에 의하면, 기존 하드웨어 기반의 로봇 제어기 형태를 새로운 소프트웨어 기반의 로봇 제어기로 적용이 가능하다. 또한 소프트웨어 기반의 멀티태스킹이 가능해 짐으로써, 기존의 PC 기반 제어기 형태와 비교하여 사용자가 작업환경을 구축하는데 월등히 효과적임을 알 수 있다. 이는 사용자 편의성이 강조됨으로써, 생산성 향상 및 생산라인 설계비용 절감의 효과를 누릴 수 있다.

Claims (5)

  1. 사용자 작업용 로봇 언어 프로그램(HRPL; High Level Robot Program Language)계층과;
    외부 모듈과 로봇 제어기 모듈을 연결하는 로봇 시스템 인터페이스 계층(Robot System Interface Level)과;
    소프트웨어 기반 제어시스템의 핵심 코어(Core)부분으로 멀티 타스킹 제어가 가능하도록 소프트웨어적으로 다수의 가상로봇 제어기를 생성 및 소멸을 제어하면서 기존 하드웨어(Micro controller)가 수행하던 실행문의 처리를 담당하는 가상 로봇 제어기 계층(Robot Kernel Level)과;
    가상 로봇 제어기간의 동기 작업을 통한 다축 제어 시스템을 구현하기 위한 제어기간 공유 모듈인 시스템 커넬 계층(System Kernel Level)과;
    PCI(Peripheral Component Interconnect)인터페이스 DSP시스템, 입/출력 보드, 센서보드 등을 구비하여 로봇을 실제 구동하는 하드웨어 계층을 포함하여 구성됨을 특징으로 하는 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템.
  2. 제 1 항에 있어서, 상기 로봇시스템 인터페이스 계층은,
    소프트웨어 기반 로봇 제어기 구성 중 외부 모듈과의 연결을 위한 통신 모듈(RUSH ; Robot User Shell)(21)과;
    상기 통신모듈(RUSH)(21)에서 사용하게 될 통신 프로토콜(Protocol)로써 통 신 수단과 상관없이 동일한 형태의 프로토콜을 사용자에게 제공하는 로봇 사용자 쉘 프로토콜(22)과;
    사용자가 로봇 시스템의 무한 반복 작업을 수행하기 전 디버깅 작업수행을 위한 디버그 통신 모듈(RDB ; Robot Debugger)(23)로 구성된 것을 특징으로 하는 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템.
  3. 제 1 항에 있어서, 상기 가상로봇 제어기 계층은,
    로봇 언어로 구현된 작업 파일을 실행하는 실행 모듈로써 내부 가상 로봇 제어기(VRCM ;Virtual Robot Control Machine) 실행모듈(31)과;
    가상 로봇 제어기 내의 멀티 타스킹(Multi Tasking) 처리를 위한 스케쥴러(32)와;
    로봇 의존적 모듈로 로봇이 동작하기 위한 경로를 생성하는 서브 시스템모듈(33)로 구성된 것을 특징으로 하는 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템.
  4. 제 1 항에 있어서, 상기 시스템 커넬 계층은,
    가상 로봇 제어기간의 내부 통신을 위한 메시지 전달 모듈로 로봇간의 동기화 작업을 관리하는 모듈(IVC ; Inter VRCM Communication)(41)과;
    일반 사용자용 OS와 실시간 OS와의 동작 시간의 동기를 맞추기 위한 시스템 동기화 모듈(42)과;
    복수개로 생성되는 가상 로봇 제어기의 생성 및 소멸과 관리를 하는 가상로봇제어기 관리모듈(43)과;
    소프트웨어 기반 로봇 제어시스템의 전체 자료를 저장하는 공유 메모리(44)와;
    소프트웨어 기반 로봇 제어기와 외부 하드웨어와의 통신을 담당하는 하드웨어 디바이스 드라이브 모듈(45)로 구성된 것을 특징으로 하는 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템.
  5. 타스크(TASK) 기반의 로봇 제어기 기능을 구현하기 위한 가상 로봇 제어 시스템으로서,
    로봇 제어기를 실시간 제어기(Hard Realtime)와; 비 실시간 제어기(Soft Realtime)로 구성하되,
    상기 비 실시간 제어기는,
    사용자가 작성한 작업파일을 관리하는 작업파일 관리부와;
    외부모듈과 통신을 담당하는 통신 모듈과;
    로봇의 구동 명령어를 전달하고 복수의 가상로봇 제어기의 생성 및 소멸을 제어하는 가상로봇 제어기 관리부와;
    상기 가상로봇 제어기 관리부를 통한 외부 제어명령과 상기 작업파일 관리부를 통한 작업파일에 의거한 제어명령에 의거하여 TASK를 수행하기 위해 작성한 사용자 작업 프로그램을 실행하는 복수의 가상로봇 제어기(VRCM)로 이루어지고,
    상기 실시간 제어기는,
    상기 각각의 가상로봇 제어기의 제어명령에 의거하여 각각 경로 계획을 세우는 복수의 경로계획부와,
    상기 각 경로계획부와 상기 각 가상로봇 제어기의 하드웨어 동작 기준 시간을 제어하는 하드웨어 동작 기준시간 메모리와;
    상기 각 경로계획부의 경로계획에 의거하여 각각의 모션 제어명령을 실시간으로 발생하는 복수의 모션 콘트롤러와;
    상기 복수의 모션 콘트롤러의 모션 제어명령을 디지털 신호처리 프로세서에 의해 처리하여 외부 하드웨어를 제어하는 DSP콘트롤러로 구성된 것을 특징으로 하는 멀티 타스킹을 위한 타스크(TASK) 기반 로봇 제어시스템.
KR1020060004771A 2006-01-17 2006-01-17 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템 KR20070075957A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060004771A KR20070075957A (ko) 2006-01-17 2006-01-17 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템
US11/478,487 US20070168082A1 (en) 2006-01-17 2006-06-29 Task-based robot control system for multi-tasking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060004771A KR20070075957A (ko) 2006-01-17 2006-01-17 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템

Publications (1)

Publication Number Publication Date
KR20070075957A true KR20070075957A (ko) 2007-07-24

Family

ID=38264293

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060004771A KR20070075957A (ko) 2006-01-17 2006-01-17 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템

Country Status (2)

Country Link
US (1) US20070168082A1 (ko)
KR (1) KR20070075957A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101220428B1 (ko) * 2010-09-10 2013-01-10 한국과학기술원 분산 실시간 제어 소프트웨어가 구비된 지능 로봇용 다중 프로세서
KR20170034752A (ko) * 2015-09-21 2017-03-29 주식회사 레인보우 실시간 로봇 시스템, 로봇 시스템 제어 장치 및 로봇 시스템 제어 방법
US10780583B2 (en) 2015-10-26 2020-09-22 Hanwha Precision Machinery Co., Ltd. System and method of controlling robot

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904182B2 (en) * 2005-06-08 2011-03-08 Brooks Automation, Inc. Scalable motion control system
JP4238256B2 (ja) * 2006-06-06 2009-03-18 ファナック株式会社 ロボットシミュレーション装置
US20090248200A1 (en) * 2007-10-22 2009-10-01 North End Technologies Method & apparatus for remotely operating a robotic device linked to a communications network
US20090132057A1 (en) * 2007-11-20 2009-05-21 Abb Research Ltd. Control system for controlling the movements of a plurality of mechanical units
EP2359203B1 (en) * 2008-11-24 2015-10-28 ABB Research Ltd. A method for providing control and automation services
US20100168914A1 (en) * 2008-12-29 2010-07-01 Electronics And Telecommunications Research Institute Diagnosis and management server for multi-kinds robots
US20110153079A1 (en) * 2009-12-18 2011-06-23 Electronics And Telecommunication Research Institute Apparatus and method for distributing and monitoring robot application and robot driven thereby
FR2960074B1 (fr) * 2010-05-14 2012-06-15 Staubli Sa Ets Procede de commande d'une cellule de travail automatisee
US8731714B2 (en) * 2010-09-22 2014-05-20 GM Global Technology Operations LLC Concurrent path planning with one or more humanoid robots
WO2014138472A2 (en) * 2013-03-06 2014-09-12 Robotex Inc. System and method for collecting and processing data and for utilizing robotic and/or human resources
CN103235877B (zh) * 2013-04-12 2016-04-06 北京工业大学 机器人控制软件模块划分方法
CN104122799B (zh) * 2014-07-22 2016-08-31 中国人民解放军军械工程学院 基于嵌套式状态机的推演过程控制系统和方法
US9707680B1 (en) 2015-05-28 2017-07-18 X Development Llc Suggesting, selecting, and applying task-level movement parameters to implementation of robot motion primitives
US9757859B1 (en) 2016-01-21 2017-09-12 X Development Llc Tooltip stabilization
US9744665B1 (en) * 2016-01-27 2017-08-29 X Development Llc Optimization of observer robot locations
US10059003B1 (en) 2016-01-28 2018-08-28 X Development Llc Multi-resolution localization system
US9987745B1 (en) * 2016-04-01 2018-06-05 Boston Dynamics, Inc. Execution of robotic tasks
JP6444971B2 (ja) * 2016-12-27 2018-12-26 ファナック株式会社 作業計画装置
US10890898B2 (en) * 2017-11-03 2021-01-12 Drishti Technologies, Inc. Traceability systems and methods
US11144481B2 (en) * 2018-04-11 2021-10-12 Apple Inc. Techniques for dynamically adjusting the manner in which I/O requests are transmitted between a computing device and a storage device
KR102287969B1 (ko) 2018-06-22 2021-08-09 소프트 서보 시스템즈 가부시키가이샤 모션 제어 프로그램, 모션 제어 방법 및 모션 제어 장치
WO2019244329A1 (ja) 2018-06-22 2019-12-26 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
CN112219173B (zh) 2018-06-22 2021-12-24 软件伺服系统公司 运动控制程序、运动控制方法以及运动控制装置
JP7417356B2 (ja) * 2019-01-25 2024-01-18 株式会社ソニー・インタラクティブエンタテインメント ロボット制御システム
JP7190919B2 (ja) 2019-01-25 2022-12-16 株式会社ソニー・インタラクティブエンタテインメント 画像解析システム
CN111061203A (zh) * 2019-12-31 2020-04-24 深圳市优必选科技股份有限公司 机器人的实时控制系统及机器人
CN114167719A (zh) * 2021-11-30 2022-03-11 广东亿嘉和科技有限公司 一种机器人实时控制系统
CN115042192A (zh) * 2022-08-16 2022-09-13 北京中拓新源科技有限公司 机器人作业流程控制方法、装置及系统
CN117573243B (zh) * 2024-01-17 2024-05-10 杭州实在智能科技有限公司 用于信创体系的rpa文件操作和管理方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4304734B2 (ja) * 1998-04-17 2009-07-29 ソニー株式会社 再生装置、データの再生方法及び記録媒体
US6161051A (en) * 1998-05-08 2000-12-12 Rockwell Technologies, Llc System, method and article of manufacture for utilizing external models for enterprise wide control
CN100387407C (zh) * 1998-09-10 2008-05-14 索尼株式会社 机器人装置与其控制方法和显示方法及提供媒体
US6272647B1 (en) * 1998-11-20 2001-08-07 Honeywell Inc. Fault tolerant clock voter with recovery
US6816944B2 (en) * 2000-02-02 2004-11-09 Innopath Software Apparatus and methods for providing coordinated and personalized application and data management for resource-limited mobile devices
US20030237016A1 (en) * 2000-03-03 2003-12-25 Johnson Scott C. System and apparatus for accelerating content delivery throughout networks
CN1524017A (zh) * 2001-05-03 2004-08-25 ÷ 高吞吐量微阵列定位系统及方法
KR20040042242A (ko) * 2002-11-13 2004-05-20 삼성전자주식회사 홈서버를 이용하는 홈로봇 및 이를 포함하는 홈네트워크시스템
US7158904B2 (en) * 2005-02-25 2007-01-02 Texas Instruments Incorporated System and method for correcting an inaccurate clock

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101220428B1 (ko) * 2010-09-10 2013-01-10 한국과학기술원 분산 실시간 제어 소프트웨어가 구비된 지능 로봇용 다중 프로세서
KR20170034752A (ko) * 2015-09-21 2017-03-29 주식회사 레인보우 실시간 로봇 시스템, 로봇 시스템 제어 장치 및 로봇 시스템 제어 방법
KR20170034754A (ko) * 2015-09-21 2017-03-29 주식회사 레인보우 계층적 아키텍처를 갖는 실시간 디바이스 제어 시스템 및 이를 이용한 실시간 로봇 제어 시스템
KR20170034755A (ko) * 2015-09-21 2017-03-29 주식회사 레인보우 Gpos 연동형 실시간 로봇 제어 시스템 및 이를 이용한 실시간 디바이스 제어 시스템
US10780583B2 (en) 2015-10-26 2020-09-22 Hanwha Precision Machinery Co., Ltd. System and method of controlling robot

Also Published As

Publication number Publication date
US20070168082A1 (en) 2007-07-19

Similar Documents

Publication Publication Date Title
KR20070075957A (ko) 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템
RU2597556C2 (ru) Структура компьютерного кластера для выполнения вычислительных задач и способ функционирования указанного кластера
JP2692609B2 (ja) マルチタスクのプログラムデバッグ方法とその装置
JP2017520853A (ja) 仮想上位機器に基づく数値制御システム
CN101976062B (zh) 基于lsoa构架的开放式控制方法
CN109344112A (zh) 一种基于多核处理器架构的机器人混合系统应用框架
JP5149258B2 (ja) ロボットコンポーネント管理装置
WO2017177695A1 (zh) 一种数控系统中应用的开发与集成方法及系统
JPH1015836A (ja) ロボット用コントローラ及びその制御方法
CN110524543A (zh) 一种基于操控一体的工业机器人控制装置及系统
JPH02109136A (ja) 分散アプリケーシヨン・プログラムの実行方法
US20240100697A1 (en) Multi-Thread Controller for Parallel Robot
CN113867889A (zh) 一种分布式实时仿真平台
CN205003526U (zh) 一种基于sopc技术的plc协同控制装置
CN104626165A (zh) 示教器按键反应灵敏度优化方法
CN113848752A (zh) 一种分布式实时仿真方法
US8689217B2 (en) System and method for thread processing robot software components responsive to periodic, dedicated, and passive modes
JP5140652B2 (ja) ロボット用ソフトウェアコンポーネントのスレッド処理システム及び方法
CN103529816A (zh) 一种基于Qt的上位机控制系统
JP6564839B2 (ja) 組み込み型オペレーティングシステムに基づくmpi実現システムおよび方法
CN115502975A (zh) 一种机器人调度方法、装置、电子设备及存储介质
US20080077925A1 (en) Fault Tolerant System for Execution of Parallel Jobs
Zhang et al. An USB-based software CNC system
Delaval et al. Distributed execution of modular discrete controllers for data center management
WO2018192177A1 (zh) 基于ros和orocos的机器人控制方法和系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application
E801 Decision on dismissal of amendment