WO2011132807A1 - 로봇 시스템 제어 방법 및 그 장치 - Google Patents

로봇 시스템 제어 방법 및 그 장치 Download PDF

Info

Publication number
WO2011132807A1
WO2011132807A1 PCT/KR2010/002587 KR2010002587W WO2011132807A1 WO 2011132807 A1 WO2011132807 A1 WO 2011132807A1 KR 2010002587 W KR2010002587 W KR 2010002587W WO 2011132807 A1 WO2011132807 A1 WO 2011132807A1
Authority
WO
WIPO (PCT)
Prior art keywords
runtime
robot system
master controller
application
executing
Prior art date
Application number
PCT/KR2010/002587
Other languages
English (en)
French (fr)
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 DE112010005509T priority Critical patent/DE112010005509T8/de
Priority to CN2010800655376A priority patent/CN103003033A/zh
Priority to PCT/KR2010/002587 priority patent/WO2011132807A1/ko
Priority to JP2012551895A priority patent/JP2013518733A/ja
Priority to US13/576,790 priority patent/US20130030568A1/en
Publication of WO2011132807A1 publication Critical patent/WO2011132807A1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • 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/33342Master slave, supervisor, front end and slave processor, hierarchical structure

Definitions

  • the present invention relates to a robot system control method.
  • the conventional boot loader system has a difficulty in managing the processes of each application efficiently in an environment in which a plurality of applications are executed at the same time.
  • An embodiment of the present invention is to provide a method and apparatus for efficiently managing an embedded robot system using a runtime system.
  • a robot system control apparatus for controlling the robot system using a master controller embedded in the robot system, the master controller includes a runtime unit; A storage unit for storing runtime code for executing the runtime, a runtime symbol table, and application code for performing a specified function of the robot system; An operation unit configured to perform an operation for execution of a runtime and to control a signal flow for controlling the robot system; And a communication unit for communicating with a host computer of the robot system, wherein the runtime unit includes an application loader module for loading the application code; And an application program interface module for executing the loaded application code.
  • the runtime unit may further include a controller shape management module configured to dynamically manage the recognition of the slave controller embedded in the robot system and the system information configuration of the robot system.
  • the runtime unit may further include a data logger module that generates history information about the operation of the runtime.
  • the application program interface module executes the application code using a system call of an operating system of the robot system, and a parameter referred to for execution of the application code uses the registry of a control device to control the robot system. Can be delivered.
  • a method for controlling the robot system using a master controller embedded in the robot system comprising: initializing the master controller using a boot loader included in the robot system; Executing runtime by loading runtime execution code stored in a storage space of the master controller; And loading and executing an application program stored in a storage space of the master controller.
  • the method may further include generating history information on an operation of the master controller after executing the runtime.
  • the robot system may further include a slave controller, and after the execution of the runtime, may further include dynamically managing the slave controller and system information configuration.
  • the loading and executing of the application program may be performed using a system call of an operating system of the robot system, and parameters for executing the application program may be transmitted using a registry of the master controller.
  • FIG. 1 is a diagram illustrating an environment in which a robot control system using a runtime support according to an embodiment of the present invention is implemented.
  • FIG. 2 is a block diagram of a runtime use robot system control apparatus according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a configuration of a controller runtime according to an embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating a method for controlling a runtime using robot system according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating a runtime loading operation of a controller according to an embodiment of the present invention.
  • FIG. 6 is a diagram illustrating an application program loading step of the controller according to an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating an application program execution step of the controller according to an embodiment of the present invention.
  • FIG. 8 is a diagram illustrating a controller application host interface according to an embodiment of the present invention.
  • FIG. 9 is a diagram illustrating an operation of an application loader included in a controller runtime according to an embodiment of the present invention.
  • FIG. 10 is a diagram illustrating an application program interface of a controller runtime according to an embodiment of the present invention.
  • the robot system 100 may include a master controller 110, a runtime unit 120, a first slave controller 130, and a second slave controller 140.
  • the master controller 110 can receive a user command by communicating with the host computer 150.
  • the robotic system 100 may include a plurality of manipulators.
  • the plurality of manipulators may be controlled by the master controller 110 and / or the slave controllers 130 and 140.
  • the master controller 110 may manage and control the slave controllers 130 and 140 and / or the robot manipulator by receiving a user command from the host computer 150 as a main controller of the robot system 100.
  • Master controller according to an embodiment of the present invention can increase the management efficiency of the robot system 100 by employing the runtime unit 120 rather than a simple boot loader method.
  • the slave controllers 130 and 140 may include a firmware module in which a function necessary for the control operation of each slave driver is implemented in the form of firmware.
  • the slave controllers 130 and 140 may be connected to the master controller 110 through a communication unit and managed by the master controller 110.
  • the host computer 150 is a terminal used by a user of the robot system 100 to control the robot system 100, and may be various known terminals in addition to the computer.
  • the user may access the runtime unit 120 of the master controller 110 through the host computer 150 to manage the robot system 100.
  • the master controller 110 may include an operation unit 112, a storage unit 114, a communication unit 118, and a runtime unit 120.
  • the operation unit 112 corresponds to a central processing unit (CPU) of the master controller 110, and controls a signal flow in the master controller 110 and performs a physical operation for performing a function performed in the master controller 110. Can be done.
  • the operation unit 112 may control the runtime unit 120 to perform operations for execution of the runtime, and control the signal flow in the robot system control apparatus.
  • the storage unit 114 is a space for storing data necessary for performing a function of the master controller 110 and may correspond to a memory chip in the master controller. That is, the storage unit 114 may store the runtime code for executing the runtime, the runtime symbol table, the application code for implementing the functions of the robot system, and data necessary for driving the application or the result data.
  • the storage 114 of the master controller 110 may be divided into a RAM 115 and a nonvolatile memory 116.
  • the RAM 115 may perform a function of storing information that is a target of operation during the operation of the master controller 110. In the case of the RAM 115, the response speed is generally higher than that of the nonvolatile memory 116, and the contents of the RAM 115 are initialized when the power is cut off.
  • the RAM 115 may store various pieces of information necessary according to a state in which the robot system 100 is activated.
  • the nonvolatile memory 116 has a characteristic that its contents are maintained even when the power is cut off, and may be implemented using a device such as a flash memory.
  • the nonvolatile memory 116 may store runtime code, a runtime symbol table, application code for implementing a function of the robot system, and application data according to driving of the application. Information stored in the storage unit 114 according to the operation stage of the robot system 100 will be described in detail later with reference to FIGS. 4 to 7.
  • the communicator 118 may communicate with a host computer of the robotic system 100. That is, it may be responsible for signal transmission between the master controller 110 and the host computer 150.
  • the communication unit 118 may be in charge of communication between the master controller 110 and other parts of the robot system 100 (eg, slave controller, manipulator).
  • Signal transmission for the control of the robot system 100 may be implemented in various ways, such as TCP socket communication, UDP communication, TFTP communication, and the communication unit 118 may correspond to the networking hardware responsible for such communication.
  • FIG. 3 is a diagram illustrating a configuration of the runtime unit 120 of the master controller 110 according to an embodiment of the present invention.
  • FIG. 3 there are illustrated components that block functions that may be performed by the runtime unit 120 according to an embodiment of the present invention. However, this is only illustrated to facilitate the understanding and explanation of the present invention, and the configuration of the runtime unit 120 according to each function may be variously divided or integrated in two or more. Will be self explanatory.
  • the runtime unit 120 includes a hardware device driver module 310, a hardware management module, a memory management module, a communication protocol module, a user command interface module, a simulator interface module, a data logger module 320, and a controller. It may include one or more of the configuration management module 330, the application loader module 340, the application program interface module 350 and the operating system kernel 360.
  • the controller shape management module 330 may dynamically manage the recognition and system information configuration of the slave controller embedded in the robot system 100.
  • the operating system kernel 360 may manage components for each function, like a kernel of a general operating system.
  • the hardware device driver module 310 may support a driver for driving hardware components of the master controller 110. Therefore, each component of the runtime unit 120 utilizes hardware resources through the hardware device driver module 310, and information about hardware usage is provided through the hardware management function and the memory management function of the runtime unit 120. Can be managed.
  • the data logger module 320 may collect and record history information about operations of the master controller 110 and the slave controllers 130 and 140 that control the robot system 100. Such control history information may be transmitted to the host computer 150.
  • the data logger module 320 may exchange information with a host computer via, for example, TCP / IP socket communication.
  • the application loader module 340 may provide an application program loading function and a symbol table loading function for implementing the functions of the robot system 100.
  • the application loader module 340 may provide a function of loading a data value of a symbol table separately prepared by a user to an application program executed by the application program interface module 350.
  • an application executed through the application loader can call and use functions of the runtime through the application program interface of the runtime. Specific operations of the application loader module 340 may be described with reference to FIG. 9.
  • the application program interface module 350 may execute application code by using a system call of an operating system of the robot system 100.
  • the parameters referenced for the execution of the application code may be transmitted using the registry of the device controlling the robot system. That is, the application program interface module 350 is a module that supports an API that supports execution of an application program using a system call provided by an operating system of the robot system. Invocation and execution of the application program interface will be described with reference to FIG.
  • the user command interface module may provide a function of receiving a user command from the host computer 150 and responding to the host computer 150 with the result of the execution.
  • the simulator interface module may provide an interface with robot simulation software mounted on the host computer 150.
  • the runtime unit 120 of the master controller 110 is a universal serial communication (UART), Ethernet (Ethernet), IP (Internet Protocol), ARP (Address Resolution Protocol), TCP (Transmission) Control Protocol (UDP), User Datagram Protocol (UDP), Trivial File Transfer Protocol (TFTP), etc. may support the communication protocol.
  • UART universal serial communication
  • Ethernet Ethernet
  • IP Internet Protocol
  • ARP Address Resolution Protocol
  • TCP Transmission) Control Protocol
  • UDP User Datagram Protocol
  • TFTP Trivial File Transfer Protocol
  • FIG. 4 is a flowchart of a robot system control method according to an embodiment of the present invention.
  • 5 is a diagram illustrating a runtime loading operation of a controller according to an embodiment of the present invention.
  • 6 is a diagram illustrating an application program loading step of the controller according to an embodiment of the present invention.
  • 7 is a diagram illustrating an application program execution step of the controller according to an embodiment of the present invention.
  • Booting the embedded controller using the boot loader is a step of initializing the master controller 110 using the boot loader. That is, the process of initializing the master controller 110 and / or slave controllers 130 and 140 for the control of the robot system 100. Through this initialization process, the master controller 110 may be ready to load the runtime. Details of the initialization process of the robot system by the boot loader are obvious to those skilled in the art, and the following detailed description may be omitted.
  • the loading of the runtime is a process of preparing the startup of the runtime unit 120 after the initialization process of the robot system 100 by the boot loader is completed.
  • the runtime loading process may be performed by loading runtime code from the nonvolatile memory 116 of the master controller 110 to the RAM 115.
  • the boot loader may load the runtime executable code stored in the nonvolatile memory 116 into the RAM 115.
  • the boot loader takes over control of the controller to the runtime code and executes the runtime.
  • the runtime unit 120 is executed by loading the runtime execution code into the memory of the master controller 110.
  • the runtime data may be generated according to the initialization information programmed in the runtime execution code.
  • Loading the application program is a step of loading the application program of the robot system using the application loader module 340 of the runtime unit 120, the runtime unit 120 of the master controller 110 is executed This is a step of loading an application program for implementing a function of the robot system in a state.
  • loading of an application program may be performed by loading a runtime symbol table and an application program (application code 1 and application code N) into the RAM 115. Meanwhile, a user of the host computer 150 may modify the runtime symbol table through the runtime unit 120.
  • the execution of the application program is a step of executing the application program using the application program interface module 350 of the runtime unit 120, and executes the loaded application program to implement the functions of the robot system 100. It's a step.
  • the application program interface module 350 may use a system call of the operating system of the robot system 100, and parameters for executing the application program may be transmitted using the registry of the master controller 110.
  • the runtime unit 120 dynamically generates a process to execute the application code.
  • the application code may generate the application data according to the initialization information and, if necessary, modify the application data by referring to the runtime symbol table.
  • Each application can be created and managed by a separate process by the operating system.
  • the runtime unit 120 of the master controller 110 may load and execute several application programs at the same time.
  • FIG. 8 is a diagram illustrating a controller application host interface according to an embodiment of the present invention.
  • the runtime unit 120 of the master controller 110 may exchange information with the host computer 150 through an application-host interface.
  • the application-host interface may include a user command interface module, a simulator interface module, a controller shape management module 330, a memory file system module, and an application loader module 340.
  • the user command interface module may exchange information with the host computer 150 through TCP socket communication.
  • the user command interface module of the application-host interface of the master controller 110 receives the user command interface module to perform a user command and output the result of the user command. Can respond to windows.
  • the simulator interface module can exchange information with the robot simulator of the host computer via TCP socket communication.
  • the memory file system module can be connected to the TFTP console window of the host computer through TFTP communication.
  • the user may download a file to the master controller 110 or upload a file from the controller through a TFTP command, and may perform operations such as file name change and deletion.
  • the operations of the user command interface module, the simulator interface module, the controller shape management module 330, the memory file system module, the application loader module 340, and the application program interface module 350 mentioned above may be monitored by the data logger client. Can be. Such monitoring information may be transmitted to the data logger server of the host computer 150 through UDP socket communication.
  • FIG. 9 is a diagram illustrating an operation of an application loader included in the runtime unit 120 according to an embodiment of the present invention.
  • the application loader module 340 may provide an application program loading function and a symbol table loading function.
  • the runtime symbol table may be configured by a user command or in a file form and stored in a flash memory.
  • an application program may be stored in flash memory by an application developer in the form of an Executable and Linking Format (ELF) file.
  • ELF Executable and Linking Format
  • An application program in the form of an ELF file may include a code area, a data area, and an additional area of the program.
  • the runtime symbol table may be loaded.
  • each program segment may be extracted by analyzing a program header from the ELF file, and the extracted program segment may be loaded into the RAM 115.
  • the application loader module 340 may search the already loaded runtime symbol table, find symbol data corresponding to the symbol data of the application program, and load the loaded symbol data in the application program data area.
  • the runtime unit 120 may call a system call of the operating system to create a new application process and execute the application program.
  • the application can create and run a separate thread inside the program.
  • FIG. 10 is a diagram illustrating an application program interface of a controller runtime according to an embodiment of the present invention.
  • the application program interface module 350 provided by the runtime unit 120 of the master controller 110 may include a motion API, a POSIX API, a communication API, a controller API, and an input / output API.
  • Various application programs for implementing the functions of the robot system 100 may be executed by calling an application program interface (API) of the runtime unit 120 through a system call provided by the operating system.
  • API application program interface
  • the parameters passed with the API request and the system call number corresponding to the called API may be copied to the system registry of the master controller 110.
  • a software interrupt may be generated so that the operating system can receive and process it.
  • the system call handler (SYSTEM CALL HANDLER) in the software interrupt handler of the operating system refers to the handler address (API address) of the corresponding system call registered in the system call table of the operating system.
  • API address the handler address of the corresponding system call registered in the system call table of the operating system.
  • the called API may be processed by receiving an API request parameter stored in the system registry of the master controller 110 as a parameter.
  • the API is called through software interrupts and system calls to complete execution, the execution result can be returned to the application by the software interrupt handler.

Landscapes

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

Abstract

로봇 시스템 제어 방법 및 그 장치가 개시된다. 본 발명의 실시예에 따른 로봇 시스템을 제어하는 방법은 로봇 시스템에 구비된 부트 로더를 이용하여 마스터 제어기를 초기화하는 단계; 마스터 제어기의 저장공간에 저장된 런타임 실행 코드를 로딩하여 런타임을 실행하는 단계; 및 마스터 제어기의 저장공간에 저장된 응용 프로그램을 로딩하여 실행하는 단계를 포함한다. 본 발명의 실시예에 따르면 로봇 시스템의 기능 구현을 위한 응용 프로그램을 보다 효율적으로 관리할 수 있다.

Description

로봇 시스템 제어 방법 및 그 장치
본 발명은 로봇 시스템 제어 방법에 관한 것이다.
산업 현장에서 이용되는 로봇의 경우 그 이동 및 동작을 제어하기 위한 내장 형 제어기가 사용된다. 종래 기술에 따른 내장형 로봇 제어기의 경우 단순 부트 로더 방식을 채용하는 것이 일반적이다.
단순 부트 로더 방식의 경우 로봇 제어를 위한 일부 응용 프로그램의 문제가 발생할 경우, 그 문제가 발생한 응용 프로그램만을 초기화함으로써 문제를 해결하는데 어려움이 있다. 따라서, 작은 오류가 발생하는 경우에도 내장형 제어기 전체를 초기화 하여 부트 로더를 재실행하는 방법으로 문제를 해결하는 방법이 이용되었다.
또한 종래의 부트 로더 시스템의 경우 동시에 복수개의 응용 프로그램이 실행되는 환경에서 각 응용 프로그램의 프로세스를 효율적으로 관리하지 못하는 난점이 있었다.
따라서, 로봇 시스템의 제어와 관련하여 복수 개의 응용 프로그램을 효율적으로 관리하며, 오류 발생시에도 민첩한 대응을 할 수 있는 제어 방법 및 장치의 개발이 요구되는 상황이다.
본 발명의 실시예는 런타임 시스템을 이용하여 내장형 로봇 시스템을 효율적으로 관리하기 위한 방법과 그 장치를 제공하는 것이다.
본 발명의 일 측면에 따르면, 로봇 시스템에 내장된 마스터 제어기를 이용하여 상기 로봇 시스템을 제어하는 로봇 시스템 제어 장치에 있어서, 상기 마스터 제어기는 런타임부; 런타임의 실행을 위한 런타임 코드, 런타임 심볼 테이블 및 로봇 시스템의 지정된 기능을 수행하는 어플리케이션 코드를 저장하는 저장부; 런타임의 실행을 위한 연산을 수행하고, 상기 로봇 시스템의 제어를 위한 신호 흐름을 제어하는 연산부; 및 상기 로봇 시스템의 호스트 컴퓨터와 통신하는 통신부를 포함하고, 상기 런타임부는 상기 어플리케이션 코드를 로딩하는 어플리케이션 로더 모듈; 및 로딩된 어플리케이션 코드를 실행하는 응용 프로그램 인터페이스 모듈을 포함하는 것을 특징으로 하는 로봇 시스템 제어 장치가 제공된다.
또한, 상기 런타임부는 상기 로봇 시스템에 내장된 슬레이브 제어기의 인식 및 상기 로봇 시스템의 시스템 정보 구성을 동적으로 관리하는 제어기 형상 관리 모듈을 더 포함할 수 있다.
또한, 상기 런타임부는 상기 런타임의 동작에 대한 이력 정보를 생성하는 데이터 로거 모듈을 더 포함할 수 있다.
또한, 상기 응용 프로그램 인터페이스 모듈은, 상기 로봇 시스템의 운영 체제의 시스템 콜을 이용하여 상기 어플리케이션 코드를 실행하고, 상기 어플리케이션 코드의 실행을 위해 참조되는 매개 변수는 상기 로봇 시스템을 제어 장치의 레지스트리를 이용하여 전달받을 수 있다.
본 발명의 다른 측면에 의하면, 로봇 시스템에 내장된 마스터 제어기를 이용하여 상기 로봇 시스템을 제어하는 방법으로서, 상기 로봇 시스템에 구비된 부트 로더를 이용하여 상기 마스터 제어기를 초기화하는 단계; 상기 마스터 제어기의 저장공간에 저장된 런타임 실행 코드를 로딩하여 런타임을 실행하는 단계; 및 상기 마스터 제어기의 저장공간에 저장된 응용 프로그램을 로딩하여 실행하는 단계를 포함할 수 있다.
또한, 상기 런타임을 실행하는 단계 이후, 상기 마스터 제어기의 동작에 대한 이력 정보를 생성하는 단계를 더 포함할 수 있다.
또한, 상기 로봇 시스템은 슬레이브 제어기를 더 포함하고, 상기 런타임을 실행하는 단계 이후, 상기 슬레이브 제어기 및 시스템 정보 구성을 동적으로 관리하는 단계를 더 포함할 수 있다.
또한, 상기 응용 프로그램을 로딩하여 실행하는 단계는, 상기 로봇 시스템의 운영 체제의 시스템 콜을 이용하고, 상기 응용 프로그램의 실행을 위한 매개 변수는 상기 마스터 제어기의 레지스트리를 이용하여 전달될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예에 따르면, 로봇 시스템의 제어에 런타임을 도입함으로써 로봇 시스템의 기능 구현을 위한 응용 프로그램의 관리 효율성을 재고할 수 있다.
도 1은 본 발명의 일 실시예에 따른 런타임을 지원하는 이용한 로봇 제어 시스템이 구현된 환경을 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 런타임 이용 로봇 시스템 제어 장치의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 제어기 런타임의 구성을 예시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 런타임 이용 로봇 시스템 제어 방법의 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 제어기의 런타임 로딩 동작을 예시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 제어기의 응용 프로그램 로딩 단계를 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 제어기의 응용 프로그램 실행 단계를 예시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 제어기 어플리케이션 호스트 인터페이스를 예시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 제어기 런타임에 포함된 어플리케이션 로더의 동작을 예시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 제어기 런타임의 응응 프로그램 인터페이스를 예시한 도면이다.
이하, 본 발명에 따른 런타임을 이용한 로봇 시스템 제어 방법 및 그 장치의 실시예를 첨부도면을 참조하여 상세히 설명하기로 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 런타임을 지원하는 이용한 로봇 제어 시스템이 구현된 환경을 예시한 도면이다. 도 1을 참조하면, 로봇 시스템(100)은 마스터 제어기(110), 런타임부(120), 제1 슬레이브 제어기(130), 제2 슬레이브 제어기(140)를 포함할 수 있다. 마스터 제어기(110)는 호스트 컴퓨터(150)와 통신함으로써 사용자 명령을 전달받을 수 있다.
로봇 시스템(100)은 복수 개의 매니퓰레이터를 포함할 수 있다. 복수 개의 매니퓰레이터는 마스터 제어기(110) 및/또는 슬레이브 제어기(130, 140)에 의하여 제어될 수 있다.
마스터 제어기(110)는 로봇 시스템(100)의 메인 제어기로서 호스트 컴퓨터(150)에서의 사용자 명령을 전달받아 슬레이브 제어기(130, 140) 및/또는 로봇 매니퓰레이터를 관리/제어할 수 있다. 본 발명의 일 실시예에 따른 마스터 제어기는 단순 부트 로더 방식이 아니라 런타임부(120)를 채용함으로써 로봇 시스템(100)의 관리 효율성을 높일 수 있다.
슬레이브 제어기(130, 140)는 각 슬레이브 구동기의 제어 동작에 필요한 기능이 펌웨어의 형태로 구현된 펌웨어 모듈을 포함할 수 있다. 슬레이브 제어기(130, 140)는 마스터 제어기(110)와 통신부로 연결되며 마스터 제어기(110)에 의하여 관리될 수 있다.
호스트 컴퓨터(150)는, 로봇 시스템(100)의 사용자가 로봇 시스템(100)을 제어하기 위해 이용하는 단말기로서, 컴퓨터 외에 공지된 다양한 단말기 일 수 있다. 사용자는 호스트 컴퓨터(150)를 통해 마스터 제어기(110)의 런타임부(120)에 접속하여 로봇 시스템(100)을 관리할 수 있다.
도 2는 본 발명의 일 실시예에 따른 런타임 이용 로봇 시스템 제어 장치의 구성도이다. 도 2를 참조하면, 본 발명의 실시예에 따른 마스터 제어기(110)는 연산부(112), 저장부(114), 통신부(118) 및 런타임부(120)를 포함할 수 있다.
연산부(112)는 마스터 제어기(110)의 중앙 처리 장치(CPU)에 대응되는 것으로, 마스터 제어기(110) 내의 신호 흐름을 제어하고 마스터 제어기(110)에서 수행되는 기능의 수행을 위한 물리적인 연산을 수행할 수 있다. 예를 들어, 본 발명의 실시예에 따른 연산부(112)는 런타임부(120)를 제어하여 런타임의 실행을 위한 연산을 수행하고, 로봇 시스템 제어 장치 내의 신호 흐름을 제어 할 수 있다.
저장부(114)는 마스터 제어기(110)의 기능 수행을 위해 필요한 데이터를 저장하는 공간으로 마스터 제어기 내의 메모리 칩에 대응될 수 있다. 즉, 저장부(114)는 런타임의 실행을 위한 런타임 코드, 런타임 심볼 테이블, 로봇 시스템의 기능을 구현하는 어플리 케이션 코드 및 어플리 케이션을 구동하는 과정에서 필요한 데이터 또는 그 결과 데이터를 저장할 수 있다. 예를 들어, 본 발명의 실시예에 따른 마스터 제어기(110)의 저장부(114)는 RAM(115)과 비휘발성 메모리(116)로 구분될 수 있다.
RAM(115)은 마스터 제어기(110)의 동작 중에 연산의 대상이 되는 정보들을 저장하는 기능을 수행할 수 있다. RAM(115)의 경우 일반적으로 비휘발성 메모리(116)에 비하여 빠른 응답 속도를 보이며, 전원의 차단에 따라 그 내용이 초기화 되는 특성을 보인다. RAM(115)은 로봇 시스템(100)의 기동되는 상태에 따라 필요한 다양한 정보들을 저장할 수 있다.
비휘발성 메모리(116)는 전원의 차단 시에도 그 내용이 유지되는 특성을 가지며, 플래시 메모리 등의 소자를 이용하여 구현될 수 있다. 비휘발성 메모리(116)는 런타임 코드, 런타임 심볼 테이블, 로봇 시스템의 기능 구현을 위한 어플리케이션 코드 및 어플리케이션의 구동에 따른 어플리케이션 데이터들을 저장할 수 있다. 로봇 시스템(100)의 동작 단계에 따라 저장부(114)에 저장되는 정보들은 이후 도 4 내지 도 7을 참조하여 상세히 설명한다.
통신부(118)는 로봇 시스템(100)의 호스트 컴퓨터와 통신할 수 있다. 즉, 마스터 제어기(110)와 호스트 컴퓨터(150)사이의 신호 전달을 담당할 수 있다. 또한 통신부(118)는 마스터 제어기(110)와 로봇 시스템(100)의 다른 부분(예를 들어, 슬레이브 제어기, 매니퓰레이터)과의 통신을 담당할 수 있다. 로봇 시스템(100)의 제어를 위한 신호 전달은 TCP 소켓 통신, UDP 통신, TFTP 통신 등의 다양한 방법으로 구현될 수 있으며 통신부(118)는 이러한 통신을 담당하는 네트워킹 하드웨어에 대응될 수 있다.
마스터 제어기(110)를 구성하는 기타 필요한 하드웨어 자체 구성에 대한 설명은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 사람(이하 당업자)에게 자명한 사항이므로 이하 그 구체적인 설명은 생략한다. 로봇 시스템(100)의 제어기를 위한 마스터 제어기(110)의 동작 및 런타임부(120)의 구성은 다른 도면을 참조하여 상세히 설명될 것이다.
도 3은 본 발명의 일 실시예에 따른 마스터 제어기(110)의 런타임부(120)의 구성을 예시한 도면이다. 도 3을 참조하면, 본 발명의 실시예에 따른 런타임부(120)가 수행할 수 있는 기능을 해당 기능별로 블록화한 구성부들이 예시되어 있다. 그러나, 이는 본 발명의 이해와 설명의 편의를 도모하기 위하여 예시한 것에 불과하며, 각 기능에 따른 런타임부(120)의 구성은 다양하게 세분화되거나 또는 2개 이상 통합되어 구성될 수 있음은 당업자에게 자명할 것이다.
본 발명의 실시예에 따른 런타임부(120)는 하드웨어 디바이스 드라이버 모듈(310), 하드웨어 관리 모듈, 메모리 관리 모듈, 통신 프로토콜 모듈, 사용자 명령 인터페이스 모듈, 시뮬레이터 인터페이스 모듈, 데이터 로거 모듈(320), 제어기 형상관리 모듈(330), 어플리케이션 로더 모듈(340), 응용 프로그램 인터페이스 모듈(350) 및 운영체제 커널(360) 중 하나 이상을 포함할 수 있다.
제어기 형상 관리 모듈(330)은 로봇 시스템(100)에 내장된 슬레이브 제어기의 인식 및 시스템 정보 구성을 동적으로 관리할 수 있다.
또한 운영체제 커널(360)은 일반적인 운영체제의 커널과 같이, 각 기능별 구성요소를 관리할 수 있다.
하드웨어 디바이스 드라이버 모듈(310)은 마스터 제어기(110)의 하드웨어 구성요소들을 구동하기 위한 드라이버를 지원할 수 있다. 따라서, 런타임부(120)의 각 구성요소들은 이 하드웨어 디바이스 드라이버 모듈(310)을 통해 하드웨어 자원을 활용하게 되며, 하드웨어 사용에 대한 정보는 런타임부(120)의 하드웨어 관리기능과 메모리 관리기능을 통해 관리될 수 있다.
데이터 로거 모듈(320)은 로봇 시스템(100)을 제어하는 마스터 제어기(110) 및 슬레이브 제어기들(130, 140)등의 동작에 대한 이력 정보를 수집하여 기록할 수 있다. 이러한 제어 이력 정보는 호스트 컴퓨터(150)에 전송될 수 있다. 데이터 로거 모듈(320)은 예를 들어 TCP/IP 소켓 통신을 통해 호스트 컴퓨터와 정보를 교환할 수 있다.
어플리케이션 로더 모듈(340)은 로봇 시스템(100)의 기능 구현을 위한 응용프로그램 로딩 기능과 심볼테이블 로딩 기능을 제공할 수 있다.
여기서, 어플리케이션 로더 모듈(340)은 사용자가 별도로 작성한 심볼테이블의 데이터 값을 응용 프로그램 인터페이스 모듈(350)에 의해 실행되는 응용 프로그램에 로딩하는 기능을 제공할 수 있다. 또한 이렇게 응용 프로그램 로더를 통해 실행된 응용 프로그램은 런타임의 응용 프로그램 인터페이스를 통해 런타임의 기능들을 호출하여 사용할 수 있다. 어플리케이션 로더 모듈(340)의 구체적인 동작은 도 9를 참조하여 설명될 수 있다.
응용 프로그램 인터페이스 모듈(350)은 로봇 시스템(100)의 운영 체제의 시스템 콜을 이용하여 어플리케이션 코드를 실행할 수 있다. 또한 어플리케이션 코드의 실행을 위해 참조되는 매개 변수는 로봇 시스템을 제어하는 장치의 레지스트리를 이용하여 전달될 수 있다. 즉, 응용 프로그램 인터페이스 모듈(350)은 로봇 시스템의 운영 체제가 제공하는 시스템 콜을 이용하여 응용 프로그램의 실행을 지원하는 API를 지원하는 모듈이다. 응용 프로그램 인터페이스의 호출 및 실행은 도 10을 참조하여 설명될 것이다.
사용자명령 인터페이스 모듈은 호스트 컴퓨터(150)로부터 사용자 명령을 수신 받고, 그 수행 결과를 호스트 컴퓨터(150)로 응답하는 기능을 제공할 수 있다. 시뮬레이터 인터페이스 모듈은 호스트 컴퓨터(150)상에 탑재된 로봇 시뮬레이션 소프트웨어와의 인터페이스를 제공할 수 있다.
한편, 본 발명의 일 실시예에 따른 마스터 제어기(110)의 런타임부(120)는 범용 직렬통신(UART), 이더넷(Ethernet), IP(Internet Protocol), ARP(Address Resolution Protocol), TCP(Transmission Control Protocol), UDP(User Datagram Protocol), TFTP(Trivial File Transfer Protocol) 등이 통신 프로토콜을 지원할 수 있다.
도 4는 본 발명의 일 실시예에 따른 로봇 시스템 제어 방법의 흐름도이다. 도 5는 본 발명의 일 실시예에 따른 제어기의 런타임 로딩 동작을 예시한 도면이다. 도 6은 본 발명의 일 실시예에 따른 제어기의 응용 프로그램 로딩 단계를 예시한 도면이다. 도 7은 본 발명의 일 실시예에 따른 제어기의 응용 프로그램 실행 단계를 예시한 도면이다.
부트 로더를 이용하여 내장형 제어기를 부팅하는 단계(S410)는 부트 로더를 이용하여 마스터 제어기(110)를 초기화 하는 단계이다. 즉, 로봇 시스템(100)의 제어를 위해 마스터 제어기(110) 및/또는 슬레이브 제어기들(130, 140)을 초기화하는 과정이다. 이러한 초기화 과정을 통해 마스터 제어기(110)에 런타임을 로딩할 준비가 완료될 수 있다. 부트 로더에 의한 로봇 시스템의 초기화 과정에 대한 사항은 당업자에게 자명한 사항으로 이하 상세한 설명은 생략될 수 있다.
런타임을 로딩하는 단계(S420)는 부트 로더에 의한 로봇 시스템(100) 초기화 과정이 완료된 후에 런타임부(120)의 기동을 준비하는 과정이다. 도 5를 참조하면 런타임 로딩 과정은 마스터 제어기(110)의 비휘발성 메모리(116)로부터 RAM(115)에 런타임 코드를 로딩함으로써 수행될 수 있다. 부트 로더에 의해 마스터 제어기(110)의 초기화 및 부팅이 완료되면 부트 로더는 비휘발성 메모리(116)에 저장된 런타임 실행코드를 RAM(115)에 로드할 수 있다. 부트 로더에 의해 플래시 메모리로부터 런타임 실행 코드의 로딩을 완료되면 부트 로더는 제어기의 제어권한을 런타임 코드에 인계하고 런타임을 실행시킨다. 즉, 마스터 제어기(110)의 메모리에 런타임 실행 코드를 로딩함으로써 런타임부(120)를 실행하는 단계이다. 런타임이 실행되면 런타임 실행코드에 프로그래밍된 초기화 정보에 따라 런타임 데이터가 생성될 수 있다.
응용 프로그램을 로딩하는 단계(S430)는 런타임부(120)의 어플리케이션 로더 모듈(340)을 이용하여 로봇 시스템의 응용 프로그램을 로딩하는 단계로, 마스터 제어기(110)의 런타임부(120)가 실행된 상태에서 로봇 시스템의 기능 구현을 위한 응용 프로그램을 로딩하는 단계이다. 도 6을 참조하면, 응용 프로그램의 로딩은 런타임 심볼테이블과 응용 프로그램(어플리케이션 코드1, 어플리케이션 코드N)을 RAM(115)에 로드함으로써 수행될 수 있다. 한편, 호스트 컴퓨터(150)의 사용자는 런타임부(120)를 통해 런타임 심볼 테이블을 수정할 수 있다.
응용 프로그램을 실행하는 단계(S440)는 런타임부(120)의 응용 프로그램 인터페이스모듈(350)을 이용하여 응용 프로그램을 실행하는 단계로, 로딩된 응용 프로그램을 실행하여 로봇 시스템(100)의 기능을 구현하는 단계이다. 여기서, 응용 프로그램 인터페이스 모듈(350)은 로봇 시스템(100)의 운영 체제의 시스템 콜을 이용하고, 응용 프로그램의 실행을 위한 매개 변수는 마스터 제어기(110)의 레지스트리를 이용하여 전달될 수 있다. 어플리케이션 코드의 로딩이 완료되면 런타임부(120)는 동적으로 프로세스를 생성하여 어플리케이션 코드를 실행시킨다. 이때 어플리케이션 코드는 초기화 정보에 따라 어플리케이션 데이터를 생성하고, 필요할 경우 런타임 심볼테이블을 참조하여 어플리케이션 데이터를 수정할 수 있다. 각 응용프로그램은 운영체제에 의해 별도의 프로세스로 생성되어 관리될 수 있다. 마스터 제어기(110)의 런타임부(120)는 이와 같이 동시에 여러 개의 응용 프로그램을 로드하여 실행시킬 수 있다.
도 8은 본 발명의 일 실시예에 따른 제어기 어플리케이션 호스트 인터페이스를 예시한 도면이다.
앞서 언급된 바와 같이 마스터 제어기(110)의 런타임부(120)는 어플리케이션-호스트 인터페이스를 통해 호스트 컴퓨터(150)와 정보를 교환할 수 있다. 도 8에서 예시된 바와 같이 어플리케이션-호스트 인터페이스는 사용자 명령 인터페이스 모듈, 시뮬레이터 인터페이스 모듈, 제어기 형상 관리 모듈(330), 메모리 파일 시스템 모듈, 어플리케이션 로더 모듈(340)을 포함할 수 있다.
사용자 명령 인터페이스 모듈은 TCP 소켓통신을 통해 호스트 컴퓨터(150)와 정보를 교환할 수 있다. 호스트 컴퓨터(150)의 사용자 명령창 등을 통해 사용자가 로봇 제어 명령을 입력하면 마스터 제어기(110)의 어플리케이션-호스트 인터페이스의 사용자 명령 인터페이스 모듈이 이를 수신하여 사용자 명령을 수행하고 그 수행 결과를 사용자 명령창에 응답할 수 있다.
시뮬레이터 인터페이스 모듈은 TCP 소켓통신을 통해 호스트 컴퓨터의 로봇 시뮬레이터와 정보를 교환할 수 있다.
메모리파일 시스템 모듈은 TFTP 통신을 통해 호스트 컴퓨터의 TFTP 콘솔창과 연결될 수 있다. 사용자는 TFTP 명령을 통해 마스터 제어기(110)에 파일을 다운로드하거나 제어기로부터 파일을 업로드할 수 있으며, 파일명 변경, 삭제 등의 작업을 수행할 수 있다.
이상에서 언급된 사용자 명령 인터페이스 모듈, 시뮬레이터 인터페이스 모듈, 제어기 형상 관리 모듈(330), 메모리 파일 시스템 모듈, 어플리케이션 로더 모듈(340) 및 응용 프로그램 인터페이스 모듈(350)의 동작은 데이터 로거 클라이언트에 의해 모니터링 될 수 있다. 이와 같은 모니터링 정보는 UDP 소켓통신을 통해 호스트 컴퓨터(150)의 데이터 로거 서버에 전송될 수 있다.
도 9는 본 발명의 일 실시예에 따른 런타임부(120)에 포함된 어플리케이션 로더의 동작을 예시한 도면이다.
어플리케이션 로더 모듈(340)은 응용 프로그램 로딩 기능과 심볼테이블 로딩 기능을 제공할 수 있음을 앞서 설명하였다. 여기서, 런타임 심볼 테이블은 사용자 명령에 의해 구성되거나 파일 형태로 구성되어 플래시 메모리에 저장될 수 있다. 또한 응용 프로그램은 응용 프로그램 개발자에 의해 ELF(Executable and Linking Format) 파일 형태로 플래시 메모리에 저장될 수 있다. ELF 파일 형태의 응용 프로그램은 프로그램의 코드 영역, 데이터 영역 및 추가 영역을 포함할 수 있다.
어플리케이션 로더 모듈(340)이 실행되면 런타임 심볼테이블이 로딩될 수 있다. 런타임 심볼 로딩이 완료되면 ELF 파일로부터 프로그램 헤더를 분석하여 각 프로그램 세그먼트가 추출되고, 추출된 프로그램 세그먼트는 RAM(115)에 로딩될 수 있다. 응용 프로그램 로딩이 완료되면 어플리케이션 로더 모듈(340)은 이미 로딩된 런타임 심볼 테이블을 검색하여 응용 프로그램의 심볼 데이터와 일치하는 심볼 데이터를 찾아 응용 프로그램의 데이터 영역에 로딩할 수 있다.
응용 프로그램과 심볼 테이블의 로딩이 완료되면 런타임부(120)는 새로운 응용 프로세스를 생성하여 응용 프로그램을 실행시키기 위해 운영체제의 시스템 콜을 호출할 수 있다. 응용 프로그램이 운영체제로부터 새로운 프로세스를 할당 받아 실행되면 응용 프로그램은 프로그램 내부에서 별도의 쓰레드를 생성하여 실행시킬 수 있다.
도 10은 본 발명의 일 실시예에 따른 제어기 런타임의 응응 프로그램 인터페이스를 예시한 도면이다.
마스터 제어기(110)의 런타임부(120)가 제공하는 응용 프로그램 인터페이스 모듈(350)은 모션 API, POSIX API, 통신 API, 제어기 API 및 입출력 API를 포함할 수 있다. 로봇 시스템(100)의 기능을 구현하기 위한 다양한 응용 프로그램은 운영체제가 제공하는 시스템 콜을 통해 런타임부(120)의 응용 프로그램 인터페이스(API)를 호출함으로써 실행될 수 있다.
API 요청과 함께 전달되는 매개변수와 및 호출된 API에 해당하는 시스템 콜 번호는 마스터 제어기(110)의 시스템 레지스트리에 복사될 수 있다. 응용 프로그램에서 API 호출에 의한 시스템 콜이 발생하면 이를 운영체제가 수신하여 처리할 수 있도록 소프트웨어 인터럽트가 발생될 수 있다.
응용 프로그램에 의한 소프트웨어 인터럽트가 발생되면 운영 체제의 소프트웨어 인터럽트 핸들러 내의 시스템 콜 핸들러(SYSTEM CALL HANDLER)가 운영체제의 시스템 콜 테이블에 등록된 해당 시스템 콜의 핸들러 주소(API주소)를 참조하여 요청된 API를 호출하여 실행시킨다. 이때 호출된 API는 마스터 제어기(110)의 시스템 레지스트리에 저장되어있는 API 요청 파라미터를 매개변수로 입력 받아 처리될 수 있다. 소프트웨어 인터럽트와 시스템 콜을 통해 API가 호출되어 실행이 완료되면 그 실행결과는 소프트웨어 인터럽트 핸들러에 의해 응용 프로그램에 반환될 수 있다.
지금까지 본 발명의 이해와 설명의 편의를 도모하기 위하여, 일 실시예를 위주로 설명하였다. 그러나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 할 것이다 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (8)

  1. 로봇 시스템에 내장된 마스터 제어기를 이용하여 상기 로봇 시스템을 제어하는 로봇 시스템 제어 장치에 있어서,
    상기 마스터 제어기는
    런타임부;
    런타임의 실행을 위한 런타임 코드, 런타임 심볼 테이블 및 로봇 시스템의 지정된 기능을 수행하는 어플리케이션 코드를 저장하는 저장부;
    런타임의 실행을 위한 연산을 수행하고, 상기 로봇 시스템의 제어를 위한 신호 흐름을 제어하는 연산부; 및
    상기 로봇 시스템의 호스트 컴퓨터와 통신하는 통신부를 포함하고,
    상기 런타임부는
    상기 어플리케이션 코드를 로딩하는 어플리케이션 로더 모듈; 및
    로딩된 어플리케이션 코드를 실행하는 응용 프로그램 인터페이스 모듈을 포함하는 것을 특징으로 하는 로봇 시스템 제어 장치.
  2. 제1항에 있어서,
    상기 런타임부는
    상기 로봇 시스템에 내장된 슬레이브 제어기의 인식 및 상기 로봇 시스템의 시스템 정보 구성을 동적으로 관리하는 제어기 형상 관리 모듈을 더 포함하는 것을 특징으로 하는 로봇 시스템 제어 장치.
  3. 제1항에 있어서,
    상기 런타임부는
    상기 런타임의 동작에 대한 이력 정보를 생성하는 데이터 로거 모듈을 더 포함하는 것을 특징으로 하는 로봇 시스템 제어 장치.
  4. 제1항에 있어서,
    상기 응용 프로그램 인터페이스 모듈은,
    상기 로봇 시스템의 운영 체제의 시스템 콜을 이용하여 상기 어플리케이션 코드를 실행하고, 상기 어플리케이션 코드의 실행을 위해 참조되는 매개 변수는 상기 로봇 시스템을 제어 장치의 레지스트리를 이용하여 전달받는 것을 특징으로 하는 로봇 시스템 제어 장치.
  5. 로봇 시스템에 내장된 마스터 제어기를 이용하여 상기 로봇 시스템을 제어하는 방법으로서,
    상기 로봇 시스템에 구비된 부트 로더를 이용하여 상기 마스터 제어기를 초기화하는 단계;
    상기 마스터 제어기의 저장공간에 저장된 런타임 실행 코드를 로딩하여 런타임을 실행하는 단계; 및
    상기 마스터 제어기의 저장공간에 저장된 응용 프로그램을 로딩하여 실행하는 단계를 포함하는 로봇 시스템 제어 방법.
  6. 제5항에 있어서,
    상기 런타임을 실행하는 단계 이후,
    상기 마스터 제어기의 동작에 대한 이력 정보를 생성하는 단계를 더 포함하는 로봇 시스템 제어 방법.
  7. 제5항에 있어서,
    상기 로봇 시스템은 슬레이브 제어기를 더 포함하고,
    상기 런타임을 실행하는 단계 이후,
    상기 슬레이브 제어기 및 시스템 정보 구성을 동적으로 관리하는 단계를 더 포함하는 로봇 시스템 제어 방법.
  8. 제5항에 있어서,
    상기 응용 프로그램을 로딩하여 실행하는 단계는,
    상기 로봇 시스템의 운영 체제의 시스템 콜을 이용하고, 상기 응용 프로그램의 실행을 위한 매개 변수는 상기 마스터 제어기의 레지스트리를 이용하여 전달되는 것을 특징으로 하는 로봇 시스템 제어 방법.
PCT/KR2010/002587 2010-04-23 2010-04-23 로봇 시스템 제어 방법 및 그 장치 WO2011132807A1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE112010005509T DE112010005509T8 (de) 2010-04-23 2010-04-23 Robotersystemsteuerverfahren und eine Vorrichtung davon
CN2010800655376A CN103003033A (zh) 2010-04-23 2010-04-23 机器人系统的控制方法和装置
PCT/KR2010/002587 WO2011132807A1 (ko) 2010-04-23 2010-04-23 로봇 시스템 제어 방법 및 그 장치
JP2012551895A JP2013518733A (ja) 2010-04-23 2010-04-23 ロボットシステムの制御方法及びその装置
US13/576,790 US20130030568A1 (en) 2010-04-23 2010-04-23 Robot system control method and a device therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2010/002587 WO2011132807A1 (ko) 2010-04-23 2010-04-23 로봇 시스템 제어 방법 및 그 장치

Publications (1)

Publication Number Publication Date
WO2011132807A1 true WO2011132807A1 (ko) 2011-10-27

Family

ID=44834320

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/002587 WO2011132807A1 (ko) 2010-04-23 2010-04-23 로봇 시스템 제어 방법 및 그 장치

Country Status (5)

Country Link
US (1) US20130030568A1 (ko)
JP (1) JP2013518733A (ko)
CN (1) CN103003033A (ko)
DE (1) DE112010005509T8 (ko)
WO (1) WO2011132807A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017159562A1 (ja) * 2016-03-14 2017-09-21 オムロン株式会社 動作情報生成装置
EP3376441B1 (en) * 2017-03-15 2021-07-14 Siemens Aktiengesellschaft A method for execution of a machine learning model on memory restricted industrial device
CN107336236A (zh) * 2017-06-20 2017-11-10 天津市青创空间科技企业孵化器有限公司 一种机器人多功能中央控制系统
DE102017216093B4 (de) * 2017-09-12 2019-05-02 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zur Parametrierung eines robotischen Manipulators
CN110253569B (zh) * 2019-05-22 2021-07-20 深圳镁伽科技有限公司 用于控制机器人运动的运动控制部件、系统以及方法
CN111026120B (zh) * 2019-12-20 2024-02-06 深圳市优必选科技股份有限公司 一种机器人及其数据加载方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07100780A (ja) * 1993-10-04 1995-04-18 Tsubakimoto Chain Co 産業用ロボットの制御装置
KR100762366B1 (ko) * 2005-12-30 2007-10-01 삼성중공업 주식회사 Fpga 소자를 이용한 로봇 제어 시스템
JP2008524734A (ja) * 2004-12-27 2008-07-10 シーメンス アクチエンゲゼルシヤフト デバッグ機能を有する機械の制御部
KR20080113685A (ko) * 2007-06-25 2008-12-31 성균관대학교산학협력단 모듈화된 모바일 로봇 시스템

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0281203A (ja) * 1988-09-19 1990-03-22 Tokico Ltd ロボット制御システム
US5309351A (en) * 1988-10-27 1994-05-03 Texas Instruments Incorporated Communications, information, maintenance diagnostic and training system
JP3310990B2 (ja) * 1991-04-15 2002-08-05 キヤノン株式会社 電子機器
DE59809233D1 (de) * 1997-12-06 2003-09-11 Elan Schaltelemente Gmbh & Co Überwachungs- und steuergerät sowie verfahren zur überwachung einer technischen anlage mit erhöhten sicherheitsanforderungen, insbesondere eines handhabungsgerätes
US6243857B1 (en) * 1998-02-17 2001-06-05 Nemasoft, Inc. Windows-based flowcharting and code generation system
US6571389B1 (en) * 1999-04-27 2003-05-27 International Business Machines Corporation System and method for improving the manageability and usability of a Java environment
WO2001067192A2 (en) * 2000-03-06 2001-09-13 Siemens Technology-To-Business Center Llc Programming automation by demonstration
US6856985B1 (en) * 2000-04-10 2005-02-15 Storage Technology Corporation Server based control of robotic libraries
US20030005407A1 (en) * 2000-06-23 2003-01-02 Hines Kenneth J. System and method for coordination-centric design of software systems
US6981226B2 (en) * 2000-08-07 2005-12-27 Siemens Aktiengesellschaft Flowchart programming for industrial controllers, in particular motion controllers
JP4480249B2 (ja) * 2000-09-25 2010-06-16 株式会社ジェイテクト 操作盤
US6931351B2 (en) * 2001-04-20 2005-08-16 International Business Machines Corporation Decision making in classification problems
JP2003044277A (ja) * 2001-07-31 2003-02-14 Digital Electronics Corp プログラム開発支援装置、プログラム開発支援プログラムおよびそれを記録した記録媒体
JP3926119B2 (ja) * 2001-08-10 2007-06-06 株式会社東芝 医療用マニピュレータ
US7209971B1 (en) * 2001-12-11 2007-04-24 Microsoft Corporation Architecture and run-time environment for network filter drivers
CA2420479A1 (en) * 2003-02-13 2004-08-13 Ibm Canada Limited - Ibm Canada Limitee Flow debugging software and method
US8281242B2 (en) * 2003-07-30 2012-10-02 National Instruments Corporation Editable data tooltips
JP2005246543A (ja) * 2004-03-04 2005-09-15 Yaskawa Electric Corp ロボットシステム
JP2006106823A (ja) * 2004-09-30 2006-04-20 Toshiba Corp 電子機器、該電子機器にて実行されるオペレーティングシステム起動方法および該電子機器にて実行されるオペレーティングシステムの初期化方法
US20060225107A1 (en) * 2005-04-01 2006-10-05 Microsoft Corporation System for running applications in a resource-constrained set-top box environment
ATE459151T1 (de) * 2005-04-15 2010-03-15 Esprida Corp Vorrichtung und methode zur verwaltung von einem aus intelligenten geräten bestehenden netzwerk
JP4661505B2 (ja) * 2005-09-30 2011-03-30 ソニー株式会社 情報処理装置、情報処理方法及びそのプログラム
US7765825B2 (en) * 2005-12-16 2010-08-03 Intel Corporation Apparatus and method for thermal management of a memory device
DE502006006706D1 (de) * 2006-06-20 2010-05-27 Siemens Ag Verfahren zur Überwachung eines zyklischen Steuerungsprogramms
US7701869B2 (en) * 2006-07-21 2010-04-20 National Instruments Corporation Generating a data flow diagram
US20080046121A1 (en) * 2006-08-17 2008-02-21 Innovati, Inc. Developing system of re-configurable modularized robot
EP2069923A4 (en) * 2006-09-25 2012-02-29 Typemock Ltd METHOD AND SYSTEM FOR ISOLATING SOFTWARE COMPONENTS
KR100945884B1 (ko) * 2007-11-14 2010-03-05 삼성중공업 주식회사 내장형 로봇 제어 시스템
US8458667B2 (en) * 2008-01-30 2013-06-04 National Instruments Corporation Debugging a statechart for a real time target
JP4870790B2 (ja) * 2009-02-20 2012-02-08 株式会社野村総合研究所 クラスタリングシステム
JP5059048B2 (ja) * 2009-04-13 2012-10-24 彼方株式会社 情報処理装置、システム、方法及びプログラム
BRPI1009934A2 (pt) * 2009-05-01 2016-03-15 Univ Sydney sistema de controle para operação autônoma

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07100780A (ja) * 1993-10-04 1995-04-18 Tsubakimoto Chain Co 産業用ロボットの制御装置
JP2008524734A (ja) * 2004-12-27 2008-07-10 シーメンス アクチエンゲゼルシヤフト デバッグ機能を有する機械の制御部
KR100762366B1 (ko) * 2005-12-30 2007-10-01 삼성중공업 주식회사 Fpga 소자를 이용한 로봇 제어 시스템
KR20080113685A (ko) * 2007-06-25 2008-12-31 성균관대학교산학협력단 모듈화된 모바일 로봇 시스템

Also Published As

Publication number Publication date
US20130030568A1 (en) 2013-01-31
DE112010005509T5 (de) 2013-03-14
CN103003033A (zh) 2013-03-27
DE112010005509T8 (de) 2013-05-16
JP2013518733A (ja) 2013-05-23

Similar Documents

Publication Publication Date Title
WO2011132807A1 (ko) 로봇 시스템 제어 방법 및 그 장치
US9348771B1 (en) Cloud-based instrument driver system
Reinhart et al. Automatic configuration (plug & produce) of industrial ethernet networks
KR20180000280A (ko) 톱 오브 랙 스위치로부터의 하이퍼-컨버지드 인프라스트럭처 베어 메탈 시스템들의 프로비저닝
JP6484282B2 (ja) スマートプラグ管理用非一時的なコンピューター可読媒体
CN109074336B (zh) 用于对微控制器内的数据传输进行编程的系统和方法
WO2021107179A1 (ko) Autosar 기반 응용 소프트웨어의 설정 코드 자동 생성 방법 및 장치
KR20100101677A (ko) 통합된 커넥터 아키텍처
WO2019164205A1 (ko) 전자 장치 및 그의 동작 방법
WO2013168947A1 (ko) 모니터링 자원의 사용량 표현 방법, 컴퓨팅 장치 및 그 방법을 실행시키기 위한 프로그램을 기록한 기록 매체
US7953916B2 (en) Dynamic, local retriggered interrupt routing discovery method
JP7093979B2 (ja) デバイスプロキシ装置及びそれを含む計算機システム
WO2021223744A1 (zh) 实现热迁移的方法、芯片、板卡和存储介质
EP1935576A1 (en) An industrial robot system
KR101086363B1 (ko) 런타임을 이용한 로봇 시스템 제어 방법 및 그 장치
KR20110065183A (ko) 로봇 시스템 제어 방법 및 장치
US10635625B2 (en) Plug connector component, plug connector, plug connector system and method for assembling and operating a plug connector
WO2021172609A1 (ko) 무인이동체의 임무수행을 지원하기 위한 임무 소프트웨어 프레임워크 구조
EP3940996A1 (en) Control system and control device
WO2020213853A1 (ko) Plc 시스템 및 이의 입출력 리프레시 주기 제어방법
CN110865960B (zh) 在网络上模拟PCIe总线
CN113467846B (zh) 无人机异构任务载荷设备即插即用实现方法
WO2022075556A1 (ko) 컨테이너 기반의 로봇 지능 증강 및 공유 방법 및 시스템
CN113608782B (zh) 一种能够重定向于can总线的控制台设计方法
US11645219B2 (en) Method for generating a hybrid BMC system and hybrid BMC system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10850290

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13576790

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2012551895

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1120100055092

Country of ref document: DE

Ref document number: 112010005509

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10850290

Country of ref document: EP

Kind code of ref document: A1