KR20180081775A - 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법 및 컴퓨터 프로그램 - Google Patents

매니퓰레이터 시스템의 오류들을 정정하기 위한 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20180081775A
KR20180081775A KR1020187016165A KR20187016165A KR20180081775A KR 20180081775 A KR20180081775 A KR 20180081775A KR 1020187016165 A KR1020187016165 A KR 1020187016165A KR 20187016165 A KR20187016165 A KR 20187016165A KR 20180081775 A KR20180081775 A KR 20180081775A
Authority
KR
South Korea
Prior art keywords
manipulator
operations
program
scheme
execution
Prior art date
Application number
KR1020187016165A
Other languages
English (en)
Other versions
KR102671535B1 (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 KR20180081775A publication Critical patent/KR20180081775A/ko
Application granted granted Critical
Publication of KR102671535B1 publication Critical patent/KR102671535B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • 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/406Numerical 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 characterised by monitoring or safety
    • G05B19/4067Restoring data or position after power failure or other interruption
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0286Modifications to the monitored process, e.g. stopping operation or adapting control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13001Interrupt handling
    • 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/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25416Interrupt
    • 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/39024Calibration of manipulator
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50103Restart, reverse, return along machined path, stop

Landscapes

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

Abstract

본 발명은 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법에 관한 것이며, 상기 매니퓰레이터 시스템은 적어도 하나의 매니퓰레이터를 포함하고, 적어도 하나의 매니퓰레이터 프로그램을 이용해 제어되고, 상기 방법은 다음의 단계들을 포함한다: ·적어도 하나의 매니퓰레이터 프로그램을 제공하는 단계로서, 상기 매니퓰레이터 프로그램은 다수의 오퍼레이션을 포함하는 단계; ·적어도 하나의 오퍼레이션 체계를 형성하기 위해 상기 오퍼레이션들 중 적어도 2개를 통합하는 단계; ·적어도 하나의 배치점 (AP1, AP2) 을 규정하는 단계로서, 상기 적어도 하나의 배치점 (AP1, AP2) 은 오퍼레이션 체계 (310) 의 시작 및/또는 끝을 형성하는 단계; ·적어도 하나의 대응체계 (320) 를 제공하고, 오퍼레이션 체계 (310) 에 대해 상기 대응체계 (320) 를 할당하는 단계로서, 상기 적어도 하나의 대응체계 (320) 는 대응 오퍼레이션들 (R1 내지 Rn) 을 포함하고, 그들의 실행시 상기 매니퓰레이터 프로그램은, 상기 매니퓰레이터 시스템이 배치점 (AP1, AP2) 에 상응하는 시스템 상태로 안내되는 방식으로 상기 매니퓰레이터 시스템을 제어하는 단계; · 상기 매니퓰레이터 프로그램을 실행하는 단계, 그리고 오류가 발생하면, · 상기 대응체계 (320) 를 실행하고, 따라서 상기 매니퓰레이터 시스템은 배치점 (AP1, AP2) 에 상응하는 시스템 상태로 넘어가지는 단계.

Description

매니퓰레이터 시스템의 오류들을 정정하기 위한 방법 및 컴퓨터 프로그램
본 발명은 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법 및 컴퓨터 프로그램에 관한 것이다. 이러한 종류의 매니퓰레이터 시스템들은 전형적으로 적어도 하나의 매니퓰레이터를 포함하고, 매니퓰레이터 프로그램을 이용해 제어된다. 매니퓰레이터 시스템에서 오류가 발생하면, 상기 매니퓰레이터 시스템은 상기 매니퓰레이터 프로그램의 계속 (continuation) 을 허용하는 시스템 상태로 넘어가질 수 있다.
전형적인 매니퓰레이터 시스템들은 적어도 하나의 매니퓰레이터를 포함하고, 상기 매니퓰레이터는, 물리적으로 그의 주변과 상호작용하기 위해 셋업된다. 예컨대, 이러한 종류의 매니퓰레이터는 적어도 3개의 움직일 수 있는, 자유로이 프로그래밍 가능한 축들을 구비하는 그리고 예컨대 그립퍼 (gripper) 또는 가공 공구와 같은 엔드 이펙터 (end effector) 를 안내하는 산업용 로봇일 수 있다. 이러한 종류의 매니퓰레이터 시스템들은 예컨대 자동차 제작에 있어서 이용된다.
매니퓰레이터 시스템들은 전형적으로 매니퓰레이터 프로그램을 이용해 제어되고, 상기 매니퓰레이터 프로그램은 시스템 거동을 애플리케이션 특유적으로 확정한다. 매니퓰레이터 프로그램들의 프로그래밍에 대한 요구는 예컨대 로봇공학에서의 새로운 과제영역들을 가능하게 하는 추가적인 센서장치의 이용을 통해 바뀌었다. 예컨대, 예컨대 KUKA AG 의 산업용 로봇 LBR iiwa 에서 이용되는 힘 센서 및/또는 모멘트 센서의 이용을 통해, 새로운 기능들이 프로그래밍될 수 있다. 그들은 무엇보다도 센서장치를 이용한 탐색주행, 힘조절된 공구작동 MRK(사람-로봇-협력) 능력, 민감한 그립핑 등등을 포함한다.
매니퓰레이터들은 이 기능들을 프로그래밍된 오퍼레이션들 (operations) 을 이용해 구현한다. 매니퓰레이터 프로그램은 이를 위해 전형적으로 다수의 오퍼레이션을 포함한다. 다수의 오퍼레이션의 배열 (lining-up) 은 하나의 공정을 형성한다. 공규정 실행 동안 오류가 발생할 수 있고, 상기 오류는 계획에 따른 계속을 저지한다. 오류 발생의 원인은 예컨대 프로그래밍 오류 (예컨대 잘못 설정된 파라미터값들을 통해) 이거나, 또는 상기 매니퓰레터 시스템이 독자적으로 그에 대응할 수 없는 또는 전체 공규정 중단을 요구하는 예상치 않은 사건의 발생일 수 있다.
오류가 발생하면, 원칙적으로, 새로운, 변경된 계획에 의해 계속하거나 또는 상기 공정을 취소하는 가능성이 존재한다. 많은 공정들은 완전히 취소되고 반복될 수 있다. 다른 공정들은 불가역적 (irreversible) 공정들이고, 취소될 수 없다: 하지만 상기 오류의 유형에 관해 알면, 상기 시작된 그리고 중단된 공정이 “리페어될 수 있다”. 그럼에도 불구하고 상기 매니퓰레이터 프로그램을 중단하고 다시 시작하는 것이 자주 필요하고, 이로 인해 높은 재가동 시간 및 비용이 발생된다.
불가역적 공규정 일례는 매니퓰레이터를 이용한 용접이다. 용접공정이 중단되면, 상기 공정은 간단히 반복될 수 없는데, 왜냐하면 이미 용접된 시임은 재용접 (수정 용접) 을 통해 손상될 수 있기 때문이다. 하지만, 상기 공정은 발생된 오류의 제거 후 상기 중단 지점으로부터 계속될 수 있다.
그 결과, 시작된 공정들의 (자동화된) 계속, 반복 및/또는 공정 내의 계획변경을 가능하게 하는 방법들이 필요해진다. 이러한 방법들이 통례적인 프로그래밍 기술들로 해결되어야 하면, 복잡성이 추가적으로 높아지고, 이를 통해 프로그래밍 오류의 개수가 증가한다.
매니퓰레이터 프로그램들의 프로그래밍은 오늘날 대부분 도메인 특유의 프로그래밍 언어들에 의해 수행되고, 그들은 BASIC 또는 PASCAL 에 근거를 둔다. 이 프로그래밍 언어들은 대부분 인터프리터 (Interpreter) 를 통해 실행된다. 프로그래밍의 대부분은 오류 제거 및 공정 최적화이고, 상기 공정 최적화는 정식 공규정 (즉, 상기 매니퓰레이터 프로그램의) 프로그래밍에 후속하여 수행된다. 오류 찾기와 오류 정정은 상당한 시간적 및 인적 자원을 요구하고, 이로 인해 높은 비용이 발생한다. 또한, 인식되지 않은 오류가 예컨대 대량생산의 중단을 초래하는 경우에는, 높은 손상이 생길 우려가 있다.
또한, 매니퓰레이터 프로그램들은 일반적인 표준어 (예컨대 Java) 의 도움으로 프로그래밍될 수 있다. 프로그램 코드는 전형적으로 컴파일되고, 프로그래밍 언어의 바이트코드-인터프리터 (Java VM) 에 의해 실행된다. 하지만, 인터프리터의 이러한 방식의 실시간 (real time) 능력은 제한되어 있고, 따라서 상기 매니퓰레이터 프로그램의 시스템 시간과 상기 매니퓰레이터 시스템의 시스템 시간은 서로 다를 수 있다. 그 결과, 작동 시간 오류에 실시간으로 대응할 수 없다. 또한, 예컨대 Java VM 은 전형적으로 상기 매니퓰레이터 프로그래밍의 특별한 요구들을 위해 준비가 갖춰져 있지 않다. 특히, 무엇보다도 상기 매니퓰레이터 프로그램의 흐름시의 특정 지점으로부터 상기 매니퓰레이터 프로그램의 실행 (프로그램에 들어가기), 상기 매니퓨레이터 프로그램의 실행 동안 상기 매니퓰레이터 프로그램의 흐름시 특정 지점으로의 점프, 및 상기 매니퓰레이터 프로그램의 흐름시 규정된 지점에서의 계속이 지원되지 않는다. 이를 통해, 오류들의 제거가 어려워진다.
오류 확률을 감소시키기 위해, 자동차 제조사 및 시스템 인티그레이터들 (system integrators) 은 특수한 (매니퓰레이터) 프로그래밍 언어를 기반으로 자신의 표준들 (이른바, Coding-Standards, 예컨대 “VW-Standard”, “Daimler-Standard”, 등등) 을 개발했다. 예컨대, 이러한 종류의 표준들은, 전형적인 애플리케이션 오류들을 위해 체계적으로 오류처리/오류대응을 저장하는 것을 규정한다. 이로써, 프로그래머에게, 어떻게 프로그램 코드가 쓰여져야 하는지가 미리 주어진다.
이러한 종류의 오류처리 또는 오류대응은 오류의 제거 후 매니퓰레이터 프로그램을 계획한 대로 계속시켜야 한다. 하지만, 이를 위해 사용된, “GOTO”명령들, “IF-ELSE”명령들 또는 다른 점프 (jump) 명령들과 분기 (branch) 명령들과 같은 명령체계들은 별로 일목요연하지 않고, 이는 상기 매니퓰레이터 프로그램들의 복잡성의 증가를 초래한다. 또한, 통례적인 오류처리에 있어서 자주, 상기 매니퓰레이터 프로그램의 각각 실행된 오퍼레이션 자체가 그리고 정확한 차례로 리셋되어야 한다는 것이 전제되어야 한다. 이는 Java VM 과 같은 통례적인 인터프리터를 이용해서는, 자동화되어 가능하지 않다. 특히 불가역적 공정들은 개별적인 오퍼레이션들의 자동화된 역처리에 적합하지 않다.
본 발명의 목적은 상기에서 기술된 단점들을 적어도 부분적으로 제거할 수 있는 방법과 컴퓨터 프로그램 및 장치를 제공하는 것이다.
본 발명의 상기 목적은 청구항 1 항에 따른 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법, 청구항 14 항에 따른 컴퓨터 프로그램 및 청구항 16 항에 따른 장치를 통해 달성된다.
특히, 상기 목적은 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법을 통해 달성되고, 이때 상기 매니퓰레이터 시스템은 적어도 하나의 매니퓰레이터를 포함하고, 적어도 하나의 매니퓰레이터 프로그램을 이용해 제어되고, 이때 상기 방법은 다음의 단계들을 포함한다:
· 적어도 하나의 매니퓰레이터 프로그램을 제공하는 단계로서, 상기 매니퓰레이터 프로그램은 다수의 오퍼레이션을 포함하는 단계;
· 상기 오퍼레이션들 중 적어도 2개를 적어도 하나의 오퍼레이션 체계로 통합하는 단계;
· 적어도 하나의 배치점 (placement point) 을 규정하는 단계로서, 상기 적어도 하나의 배치점은 오퍼레이션 체계의 시작 및/또는 끝을 형성하는 단계;
· 적어도 하나의 대응체계를 제공하고, 오퍼레이션 체계에 대해 상기 대응체계를 할당하는 단계로서, 상기 적어도 하나의 대응체계는 대응 오퍼레이션들을 포함하고, 그들의 실행시 상기 매니퓰레이터 프로그램은, 상기 매니퓰레이터 시스템이 배치점에 상응하는 시스템 상태로 안내되는 방식으로 상기 매니퓰레이터 시스템을 제어하는 단계;
· 상기 매니퓰레이터 프로그램을 실행하는 단계, 그리고 오류가 발생하면,
· 상기 대응체계를 실행하고, 따라서 상기 매니퓰레이터 시스템은 배치점에 상응하는 시스템 상태로 넘어가지는 단계.
매니퓰레이터 프로그램들은 상기 매니퓰레이터 시스템을 제어하는 데에 쓰인다. 예컨대, 매니퓰레이터 프로그램은 상기 매니퓰레이터 시스템의 매니퓰레이터의 운동들 및 작업단계들을 규정할 수 있다. 이렇게, 예컨대, 물체를 잡기 위해 매니퓰레이터가 규정된 운동경로에 상응하여 움직여지는 것이 가능하다. 그 후, 상기 물체는 제 2 의 규정된 운동경로에 상응하여 움직여질 수 있고, 다른 위치에서 내려놓여질 수 있다. 마찬가지로, 매니퓰레이터 프로그램들은 부품들의 조립, 용접, 리벳 설치 또는 다른 과제들에 관한 명령들을 포함할 수 있다.
상기 매니퓰레이터 프로그램은 이를 위해 다수의 오퍼레이션을 구비하고, 이때 다수의 오퍼레이션은, 상기 매니퓰레이터 시스템을 제어하기 위해 그리고 예컨대 상기에서 언급된 과제들을 실행하기 위해 하나의 공정이 되도록 서로 잇달아 배열된다. 이때, 상기 오퍼레이션들 중 적어도 2개는 하나의 오퍼레이션 체계를 형성하기 위해 통합된다. 전형적으로, 서로 의존하는 오퍼레이션들 또는 기능적으로 결속되어 있는 오퍼레이션들과 같은, 짝을 이룬 오퍼레이션들은 하나의 오퍼레이션 체계를 형성하기 위해 통합된다. 이로써, 상기 매니퓰레이터 프로그램은 보다 일목요연하게 형성되고, 보다 잘 다뤄질 수 있다.
다수의 오퍼레이션 체계들이 잇달아 실행되면, 각각 선행하는 오퍼레이션 체계는 종료되어 있다. 하지만, 하나의 개별적인 제 1 오퍼레이션은, 상기 제 1 오퍼레이션의 실행시간을 넘어서는 제 2 오퍼레이션을 시작시킬 수 있다. 이 경우, 상기 오퍼레이션 체계의 마지막 오퍼레이션이 완전히 실행되어 있을 때까지 상기 오퍼레이션 체계의 콘텍스트 (context) 가 유지되어야 한다. 이로써, 상기 오퍼레이션 체계들은 서로 영향을 끼치지 않는다. 그 결과, 병렬적으로 실행된 오퍼레이션 체계들은 직렬로 실행된 오퍼레이션 체계들과 동일한 결과들을 초래한다. 또한, 실행된 오퍼레이션 체계의 상태변경은 영속적이다.
오퍼레이션 체계의 시작 및/또는 끝은 배치점을 형성할 수 있다. 배치점으로부터, 상기 매니퓰레이터 프로그램은 그의 실행 히스토리 (execution history) 에 의존하지 않고 계속될 수 있다. 이때, 항상 동일한 결과들이 달성된다.
이제, 프로그래밍 오류에 기인하는 또는 예상치 않은 사건에 근거를 둔 오류가 발생하면, 대응체계를 이용해 이러한 배치점에 도달할 수 있고, 상기 매니퓰레이터 프로그램은 그로부터 계속될 수 있다. 이때, 상기 배치점은 마지막에 지나간 배치점에 상응할 필요가 없다. 마찬가지로, 배치점으로부터, 오류가 발생한 오퍼레이션 체계와 다른 오퍼레이션 체계도 실행될 수 있다. 이로써, 시작된 공정이 정정될 수 있거나, 또는 상기 매니퓰레이터 프로그램을 중단하거나 또는 새로 시작할 필요없이, 새 계획에 의해 계속될 수 있다.
또한, 오퍼레이션 체계의 그리고 대응체계의 직접적인 할당을 통해, 일목요연한 매니퓰레이터 프로그램이 가능해지고, 이를 통해 프로그래밍시의 오류들이 감소될 수 있다. 또한, 오류 제거가 간단해진다.
바람직하게는, 상기 오퍼레이션 체계는 일관되고 (consistent), 따라서 배치점에서 그리고/또는 상기 오퍼레이션 체계의 실행 전에 그리고/또는 후에 상기 매니퓰레이터 시스템의 무결성 조건들 (integrity conditions) 이 지켜진다. 이로써, 매니퓰레이터 프로그램이 그의 실행 히스토리에 의존하지 않고 배치점으로부터 계속될 수 있도록 보장된다. 이때, 항상 동일한 결과들이 달성된다.
상기 매니퓰레이터 프로그램의 실행 동안, 예컨대 프로그래밍 오류를 통해 또는 상기 매니퓰레이터 시스템 안의 예상치 않은 사건을 통해 초래되는 오류가 발생하면, 상기 매니퓰레이터 시스템을 배치점에 상응하는 시스템 상태로 넘기는 대응체계가 실행될 수 있다. 이때, 소프트웨어만 “되감기는 것이”아니라, 상기 매니퓰레이터 시스템은 실제로 상기 배치점에 상응하는 시스템 상태로 넘어가진다.
해당 오퍼레이션 체계가 가역적 (reversible) 공정을 기술하는 경우에는, 상기 대응체계는 바람직하게는 개별적인 오퍼레이션들을 취소할 수 있는 대응 오퍼레이션들을 포함한다. 상기 해당 오퍼레이션 체계가 불가역적 공정을 기술하면, 상기 대응체계 안에는, 변경된 계획에 의해 계속을 가능하게 하는, 즉 실행된 오퍼레이션들의 순전한 역처리에서 벗어나는 대응 오퍼레이션들이 포함될 수 있다.
예컨대, 매니퓰레이터를 이용해 리벳 (rivet) 을 설치할시 상기 리벳이 구멍 안에 끼어서 움직이지 않을 수 있다. 이 경우, 정확한 리벳팅 (riveting) 이 가능하지 않다. 상기 매니퓰레이터 시스템이 이 오류를 인식하면, 오퍼레이션 체계 “리벳팅”이 중단되고, 할당된 대응체계가 도입될 수 있다. 가능한 대응체계는 이 예에서 리벳 공구의 개방을 포함할 수 있다. 그 후, 상기 끼어서 움직이지 않는 리벳을 상기 구멍 밖으로 끌어냄이 명령될 수 있다. 끝으로, 새 리벳이 수용될 수 있고, 오퍼레이션 체계 “리벳팅”이 다시 실행될 수 있다.
그 밖의 대응체계들이 마찬가지로 가능하다. 예컨대, 오퍼레이션 체계를 실행하기 위한, 실패한 시도들의 개수에 의존하여, 대응체계는 다른 절차를 명령할 수 있다. 상기 예를 들자면, 동일한 오류 “끼어서 움직이지 않는 리벳”을 초래하는, 오퍼레이션 체계 “리벳팅”의 반복된 실행 후 다른 절차가 명령될 수 있고, 조작자가 소환될 수 있다. 그는 상기 끼어서 움직이지 않는 리벳을 손으로 제거하도록 요구를 받을 수 있다.
오퍼레이션 체계와 할당된 대응체계는 바람직하게는 하나의 공통의 시맨틱스 모듈 (semantics module) 안에서 구현된다. 이로써, 상기 매니퓰레이터 프로그램 안에서, 오퍼레이션 체계와 대응체계의 고정적 할당이 보장되고, 이를 통해 복잡성이 감소된다.
대응체계는 오퍼레이션 체계의 취소 이외에 오퍼레이션 체계의 중단 및/또는 다른 배치점으로부터의 상기 매니퓰레이터 프로그램의 계속도 명령할 수 있다. 바람직하게는, 상기 매니퓰레이터 시스템의 시스템 상태는 배치점에서 그리고/또는 오퍼레이션 체계의 실행 전에 그리고/또는 후에 모든 시스템 파라미터들에 있어서 일관되지 않는다. 하지만, 본질적인 파라미터들에 있어서 일관성이 주어져 있어야 하고, 따라서 이 배치점으로부터 상기 매니퓰레이터 프로그램의 계속 또는 반복이 가능하다.
이러한 종류의 일관되지 않은 시스템 파라미터들은 예컨대 불가역적 공정들에 기인할 수 있다. 예컨대 상기 매니퓰레이터 프로그램을 이용해 용접공정이 제어되면, 파라미터 “용접 시임 길이”는 불가역적인데, 왜냐하면 예컨대 상기 용접 시임의 특정한 부분은 오류의 발생까지 이미 용접되었기 때문이다. 이제 오류가 발생하면, 대응체계는 상기 용접공규정 실행 전과 동일한 시스템 상태를 만들어낼 수 없다. 그렇기 때문에, 상기 대응체계는, 상기 용접공규정 상기 원인이 되는 오류를 제거하는 것을 (예컨대 용접공구의 세정) 가능하게 하는 상응하는 대응 오퍼레이션을 제공해야 하고, 후속하여, 상기 용접이 중단된 상기 용접 시임의 지점에서 계속해야 한다. 마찬가지로, 이 경우 상기 대응체계가 대안적 절차를 제공하는 것이 가능하고, 이에 따르면 상기 중단된 용접 시임은 최종적으로 용접되는 것이 아니라 손으로 하는 작업단계에서 추후가공되어야 한다. 상기 매니퓰레이터 프로그램은 이 경우 다른 지점에서 계속될 수 있다.
바람직하게는, 오퍼레이션 체계의 실행은 오류의 발생시 중단되고, 후속하여 대응체계의 실행에 의해 계속된다. 이로써, 상기 매니퓰레이터 프로그램의 오퍼레이션 체계는 오류의 발생 후 바로 반복될 수 있거나 또는 상기 매니퓰레이터 프로그램은 다른 배치점으로부터 계속될 수 있다. 이는 상기 매니퓰레이터 프로그램의 정지상태 시간을 최소화하는 것을 가능하게 하고, 바람직하게는 자동화되어, 즉 조작자의 개입 없이, 계속하는 것을 가능하게 한다. 이로써, 상기 매니퓰레이터 시스템의 생산성이 높아질 수 있다.
특히 바람직하게는, 오퍼레이션 체계의 각각의 오퍼레이션에, 상응하는 대응체계의 자신의 대응 오퍼레이션이 할당되는 것이 아니다. 마찬가지로, 각각의 오퍼레이션 체계에 자신의 대응체계가 할당될 필요가 없다. 바람직하게는, 한 오퍼레이션 체계에 한 대응체계가 할당되고, 이때 상기 대응체계는 바람직하게는 적어도 하나의 그 밖의 오퍼레이션 체계에 할당된다. 이로써, 대응체계들의 감소된 개수를 갖고 여러 가지의 오퍼레이션 체계들의 오류들에 대응할 수 있다. 바람직하게는, 상기 오퍼레이션 체계들이 하나의 공통의 배치점을 구비하면, 한 대응체계가 다수의 오퍼레이션 체계들에 할당된다.
바람직하게는, 상기 대응체계는 적어도 하나의 대응 오퍼레이션을 포함하고, 그의 실행은 상기 매니퓰레이터 시스템을 오류가 발생한 오퍼레이션 체계의 시작을 형성하는 배치점에 상응하는 시스템 상태로 안내한다. 이러한 종류의 대응체계들은 상기 매니퓰레이터 시스템의 “되감기 (rewind)”를 가능하게 한다. 이로써, 오류가 발생한 오퍼레이션 체계는 반복될 수 있다. 상기 배치점으로 돌려보내기는 이때 상기 오퍼레이션 체계의 직접적인 도치에 상응해야 하는 것이 아니라 대안적인 경로 위에서 실행되어야 한다. 예컨대 매니퓰레이터의 운동이 취소되어야 하면 그리고 직접적인 귀로가 차단되어 있으면, 상기 매니퓰레이터는 대안적인 운동경로 위에서, 상기 운동의 출발점으로 돌려보내질 수 있다.
바람직하게는, 적어도 하나의 상기 대응 오퍼레이션은 오퍼레이션 체계의 오퍼레이션을 취소한다. 이로써, 개별적인 오퍼레이션들은 직접적으로 취소될 수 있다. 이는 특히 가역적 공정들에 있어서 유리하다. 이렇게, 예컨대 매니퓰레이터에 의해 실행된 운동은 직접적으로 되돌려질 수 있다.
바람직하게는, 상기 매니퓰레이터 프로그램의 오퍼레이션은 적어도 하나의 파라미터를 통해 규정되고, 이때 적어도 하나의 상기 파라미터는 상기 대응체계의 대응 오퍼레이션을 통해 변경 가능하다. 파라미터는 예컨대 매니퓰레이터 속도와 같은 숫자상의 파라미터일 수 있거나, 또는 오퍼레이션 체계의 오퍼레이션들의 연속에 영향을 주는 또는 뒤따르는 오퍼레이션 체계의 선택에 영향을 주는 명령파라미터일 수 있다. 이로써, 대응 오퍼레이션은 상기 오퍼레이션 체계가 변경된 파라미터들에 의해 (예컨대 보다 느린 매니퓰레이터 속도로) 계속되거나 또는 변경된 파라미터들에 의해 반복되는 것을 야기시킬 수 있다. 마찬가지로, 상기 매니퓰레이터 프로그램의 대안적 분기를 달성하는 것이 가능하다.
바람직하게는, 상기 대응체계는 적어도 하나의 대응 오퍼레이션을 포함하고, 그의 실행은 중단된 오퍼레이션 체계를 적어도 하나의 변경된 파라미터에 의해 계속시키거나 또는 중단된 상기 오퍼레이션 체계를 다시 실행시킨다. 이로써, 오류가 발생한 오퍼레이션 체계들을 다시 또는, 필요한 경우, 변경된, 바람직하게는 최적화된 파라미터들에 의해 실행하는 것이 가능하다.
바람직하게는, 상기 대응체계는 적어도 하나의 대응 오퍼레이션을 포함하고, 그의 실행은 중단된 상기 오퍼레이션 체계를 조작자 입력 (operator input) 이 수행될 때까지 중단시킨다. 이는, 발생한 오류가 자동적으로 상기 매니퓰레이터 시스템에 의해 제거될 수 없는 경우에는, 조작자의 개입을 요구하는 것을 가능하게 한다. 예컨대, 조작자는 특정한 시스템 상태를 검사하도록, 결함있는 부품들 또는 작업물들을 상기 매니퓰레이터 시스템 밖으로 제거하도록 또는 교체하도록 그리고/또는 그와 같은 것을 하도록 요구를 받을 수 있다. 조작자가 상기 매니퓰레이터 시스템에게 상기 과제의 성공적인 실행을 확인하면, 상기 대응체계 또는 오퍼레이션 체계에 의해 계속될 수 있다.
바람직하게는, 발생된 오류의 유형에 의존하여, 상기 대응체계의 여러 가지의 대응 오퍼레이션들이 실행된다. 이는 유리한데, 왜냐하면 개별적으로 여러 가지의 오류 유형들에 대응할 수 있기 때문이다. 바람직하게는, 발생된 오류에 의존하여, 여러 가지의 대응체계들이 실행된다. 이를 위해, 한 오퍼레이션 체계에 바람직하게는 다수의 대응체계가 할당되고, 상기 대응체계들은 발생한 오류에 의존하여 실행된다.
예컨대, 상기 매니퓰레이터 시스템의 안전 메커니즘이 개입하기 때문에 오퍼레이션 체계가 중단되면, 안전장치의 개입을 위한 이유가 일시적인 이유였으면 아마도 상기 오퍼레이션 체계는 간단히 반복될 수 있다. 다른 한편으로는, 자동화되어 제거될 수 없는 오류가 발생하는 경우에는, 조작자가 소환될 수 있다. 마찬가지로, 오류가 상기 매니퓰레이터 프로그램의 다른 배치점에서의 계속을 요구하는 것이 가능하다. 예컨대, 오퍼레이션 체계를 건너뛸 수 있고, 상기 매니퓰레이터 프로그램은 다른 지점에서 계속될 수 있다 (이를 위해, 중단된 용접 시임이 최종적으로 만들어지지 않아야 하는 상기 예를 참조할 것). 이로써, 오류에 의해 실행된 오퍼레이션 체계의 오퍼레이션에 그리고/또는 오류에 의해 실행된 오퍼레이션 체계에, 상기 매니퓰레이터 프로그램의 상응하는 대응체계가 뒤따를 수 있다. 이는, 오류에 의존하는, 구별된 오류제거, 및 적합한 배치점으로부터의 상기 매니퓰레이터 프로그램의 계속을 가능하게 한다.
또한, 바람직하게는 상기 발생한 오류에 의존하여 파라미터들은 서로 달리 변경될 수 있다. 예컨대, 제 1 오류가 발생하면 또는 상기 매니퓰레이터의 힘 감시의 변경된 힘 역치를 갖고, 제 2 오류가 발생하면, 상기 매니퓰레이터의 감소된 속도로 오퍼레이션 체계의 반복이 실행될 수 있다. 다른 변경된 파라미터들이 마찬가지로 있을 수 있다.
바람직하게는, 적어도 하나의 상기 오퍼레이션 체계는 배치점에서 적어도 하나의 그 밖의 오퍼레이션 및/또는 오퍼레이션 체계와 링크되어 있고, 이때 상기 배치점에 도달한 후, 링크된 상기 오퍼레이션들 중 하나 및/또는 오퍼레이션 체계들 중 하나가 실행된다. 이때, 상기 배치점은 오퍼레이션 체계를 통하여 (즉, 앞으로) 도달될 수 있거나 또는 대응체계를 통하여 (즉, 뒤로) 도달될 수 있다. 한 배치점과 다수의 오퍼레이션 체계들의 링크는 여러 가지의 프로그램 흐름들을 상기 매니퓰레이터 프로그램의 분기를 통해 구현하는 것을 가능하게 한다. 이로써, 배치점에 도달한 후, 여러 가지의 오퍼레이션 체계들/오퍼레이션들에 의해 계속될 수 있다. 이는 유연한 오류정정을 가능하게 한다. 마찬가지로, 오퍼레이션 체계는 바람직하게는, 발생한 오류에 의존하여, 변경된 파라미터들에 의해 실행될 수 있다.
바람직하게는, 파라미터는 숫자상의 파라미터 또는 명령파라미터이다. 숫자상의 파라미터들은 수치로 표현되는 그리고 물리적인 크기들에 상응하는 파라미터들이다. 그들은 예컨대 상기 매니퓰레이터의 속도, 힘 역치, 모멘트 역치, 대기 시간들 등등이다. 명령파라미터들은 상기 매니퓰레이터 프로그램의 흐름에 영향을 주고, 예컨대 상기 오퍼레이션 체계들의 또는 개별적인 오퍼레이션들의 실행 차례를 규정한다.
바람직하게는, 상기 매니퓰레이터 프로그램은 실시간-오퍼레이션들과 실시간-대응 오퍼레이션들 및 비실시간 (non-real-time)-오퍼레이션들과 비실시간-대응 오퍼레이션들을 포함하고, 이때 실시간-오퍼레이션의 실행 전에 모든 실시간-대응 오퍼레이션들과 비실시간-대응 오퍼레이션들이 종료되어 있다. 비실시간 및 실시간-오퍼레이션들 또는 대응 오퍼레이션들의 결정을 통해, 상기 매니퓰레이터 프로그램의 결정론적 거동이 달성될 수 있다. 실시간-오퍼레이션 또는 실시간-대응 오퍼레이션이 실행되어야 하면, 상기 매니퓰레이터 프로그램의 시간과 실제의 시스템의 시간이 일치하도록 보장된다.
이와 달리 비실시간-오퍼레이션들이 실행되면, 상기 매니퓰레이터 프로그램의 시간과 실제의 시스템 시간이 서로 다를 수 있다. 이로써, 예컨대 비실시간-오퍼레이션들 또는 비실시간-대응 오퍼레이션들은 배후에서 진행될 수 있다.
상기 목적은 또한 프로그램 명령들을 구비하는 컴퓨터 프로그램을 통해 달성되고, 상기 프로그램 명령들은, 그들이 컴퓨터 및/또는 마이크로컨트롤러 (microcontroller) 상에서 로딩되면 (loaded), 상기 컴퓨터 및/또는 상기 마이크로컨트롤러로 하여금 상기 기술된 방법들을 실행하도록 야기한다. 이러한 종류의 컴퓨터 프로그램들은 매니퓰레이터 시스템들을 제어하기 위해 셋업된 장치들 상에 로딩될 수 있다. 바람직하게는, 오퍼레이션 체계와 할당된 대응체계는 동일한 매니퓰레이터 프로그램 부분에서 구현될 수 있고, 바람직하게는 시맨틱스 모듈을 형성한다. 이를 통해, 상기 오퍼레이션 체계들 또는 대응체계들은 긴밀히 서로 링크되어 있고, 따라서 프로그래밍은 일목요연하게 형성될 수 있다. 또한, 바람직하게는 상기 컴퓨터 프로그램은 상기 매니퓰레이터 프로그램의 부분으로서 구현된다. 마찬가지로, 상기 컴퓨터 프로그램은 독립적인 컴퓨터 프로그램일 수 있다.
상기 목적은 또한 상기 컴퓨터 프로그램을 실행하기 위해 셋업된 장치를 통해 달성된다. 이러한 종류의 장치들은 예컨대 상기 매니퓰레이터 시스템의 제어장치들이다.
이하, 본 발명은 도면 1 내지 도면 5 를 참조로 상세히 기술된다.
도 1 은 선행기술에 따른 오류제거를 위한 방법;
도 2 는 오퍼레이션 체계와 대응체계의 시맨틱스 모듈의 도식적인 도면;
도 3 은 매니퓰레이터 프로그램의 오퍼레이션 체계와 대응체계의 도식적인 도면;
도 4 는 매니퓰레이터 프로그램의 모델의 도식적인 도면;
도 5 는 매니퓰레이터 프로그램의 적용의 도식적인 도면을 나타낸다.
특히, 도 1 은 공지된 방법에 따른 매니퓰레이터 프로그램 (1) 의 오류처리의 도식적인 도면을 나타낸다. 공정단계 (S1, S2, S3) 의 실행 후, 상기 각각의 공정단계가 성공적으로 실행되었는지의 여부가 검사된다. 그러한 경우, 뒤따르는 공정단계 (S2) 에 의해 계속될 수 있다. 오류가 발생하면, 상기 매니퓰레이터 프로그램은 오류처리 체계 (F1, F2, F3) 로 점프하고, 상기 오류처리 체계는 상기 매니퓰레이터 프로그램을 끝낸다. 상기 오류의 제거 후 상기 매니퓰레이터 프로그램은 다시 시작되어야 한다. 이 오류처리는 유연하지 않고, 그렇기 때문에 제한적으로만 매니퓰레이터 시스템들에 적합하다. 통례적인 방법들로 복잡한 오류경우들이 처리되어야 하면, 상기 매니퓰레이터 프로그램의 복잡성이 높아지고, 이로써 만일의 프로그래밍 오류들에 대한 오류확률이 높아진다.
도 2 는 매니퓰레이터 시스템 안의 오류들을 정정하기 위한 방법을 실행하기 위한 컴퓨터 프로그램의 시맨틱스 모듈의 도식적인 도면 (2) 을 나타낸다. 이때, 시맨틱스 모듈 (200) 은 오퍼레이션 체계 (210) 와 대응체계 (220) 로 나누어진다. 오퍼레이션 체계 (210) 의 실행 동안 오류가 발생하면, 오퍼레이션 체계 (210) 는 중단되고, 대응체계 (220) 에 의해 계속된다.
대응체계 (220) 는 대응 오퍼레이션들 (221 내지 225) 을 포함한다. 제 1 대응 오퍼레이션 (221) 에서, 발생된 상기 오류의 유형이 검출되고, 대응 오퍼레이션들 (222-224) 중 어느 것에 의해 계속되어야 하는지가 결정된다. 예컨대, 대응 오퍼레이션 (222) 은, 변경된 파라미터 세트에 의해 오퍼레이션 체계 (210) 의 계속을 명령하는 명령들을 포함할 수 있다. 대응 오퍼레이션 (223) 은 예컨대 상기 실행된 그리고 중단된 오퍼레이션 체계 (210) 의 오퍼레이션들을 적어도 부분적으로 취소하는 명령들을 포함할 수 있다. 대응 오퍼레이션 (224) 은 오퍼레이션 체계 (210) 에 의해 계속되는 것이 아니라 그 밖의 오퍼레이션 체계에 의해 계속되도록 중단 명령을 포함할 수 있다.
대응 오퍼레이션 (225) 은 배치점 및 뒤따르는 오퍼레이션 체계를 확정하는 명령을 포함하고, 상기 배치점 및 상기 뒤따르는 오퍼레이션 체계에 의해 상기 매니퓰레이터 프로그램이 계속되어야 한다. 이러한 배치점은 예컨대 오퍼레이션 체계 (210) 의 시작시 규정되어 있을 수 있고, 따라서 오퍼레이션 체계 (210) 는 다시 실행될 수 있다. 오퍼레이션 체계 (210) 의 재실행은 경우에 따라서는 변경된 파라미터 세트에 의해 수행될 수 있다. 마찬가지로, 다른 배치점들도 상기 매니퓰레이터 프로그램을 계속하기 위해 이용될 수 있다. 이로써, 분기가 가능하고, 오류에 대한 다양한 대응들이 가능하다. 상기 오퍼레이션 체계 뿐만 아니라 상기 대응체계도 동일한 시맨틱스 모듈 안에서 구현되기 때문에, 상기 매니퓰레이터 프로그램은 일목요연하게 유지되고, 상기 오퍼레이션 체계의 그리고/또는 상기 대응체계의 개별적인 적응을 허용한다. 파라미터 오류들은 이로써 빨리 제거될 수 있고, 감소된 복잡성 및 높아진 일목요연함을 근거로, 프로그래밍 오류들의 발생에 대한 확률이 감소된다.
도 3 은 오퍼레이션 체계 (310) 와 대응체계 (320) 의 도식적인 도면을 나타낸다. 오퍼레이션 체계 (310) 는 다수의 오퍼레이션 (O1 내지 On) 을 포함한다. 이 오퍼레이션들은, 직선의 연속적으로 그려진 화살표들을 통해 표시된 바와 같이, 순차적으로 실행된다. 오퍼레이션 체계 (310) 는 제 1 배치점 (AP1) 에서 시작하고, 제 2 배치점 (AP2) 에서 끝난다. 상기 배치점들에서 상기 매니퓰레이터 시스템은 바람직하게는 일관성이 있다. 이로써, 상기 오퍼레이션 체계는 한 배치점으로부터, 선행하는 실행 히스토리에 의존하지 않고 실행될 수 있고, 동일한 결과들을 제공한다.
오퍼레이션 체계 (310) 에 대응체계 (320) 가 할당되고, 상기 대응체계는 다수의 대응 오퍼레이션들 (R1 내지 Rn) 을 포함한다. 도시된 경우에서, 오류가 오퍼레이션 (O1 내지 On) 에서 발생하는 경우, 상응하는 대응 오퍼레이션들 (R1 내지 Rn) 중 하나가 우선 상기 해당 오퍼레이션 (O1 내지 On) 을 취소한다. 이것이 성공적이면, 상기 오류가 발생한 오퍼레이션 (O1 내지 On) 이 다시 실행되어야 하는지의 여부, 또는 그 밖의 대응 오퍼레이션들 (R1 내지 Rn) 을 이용해, 그 밖의 선행한 오퍼레이션들 (O1 내지 On) 이 취소되어야 하는지의 여부가 결정될 수 있다. 본 발명은 여기에 나타내진 실시형태들에 제한되지 않는다. 특히, 다수의 오퍼레이션도 하나의 대응체계를 통해 취소될 수 있거나, 또는 선행하는 배치점으로의 오퍼레이션의 실제의 “취소”와 다른 경로를 취할 수 있다.
도 4 는 다수의 오퍼레이션 (O'1 내지 O'21) 과 다수의 대응 오퍼레이션들 (R'1 내지 R'30) 을 포함하는 매니퓰레이터 프로그램의 도식적인 모델 (4) 을 나타낸다. 배치점 (AP5) 에서 시작하여, 오퍼레이션 (O'1) 이 실행될 수 있다. 예상되는 프로그램 흐름은 파선 화살표들로 도시된다. 상기 매니퓰레이터 프로그램은 후속하여 오퍼레이션 (O'2) 을 실행한다. 여기에서, 오퍼레이션들 (O'3 - O'5) 중 하나로의 분기의 가능성이 존재한다. 도시된 예에서, 상기 프로그램 흐름은 오퍼레이션 체계 (O'3) 로 안내한다. 그 후, 배치점 (AP7) 이 할당되어 있는 오퍼레이션 체계 (O'10) 에 의해 계속된다. 뒤따르는 오퍼레이션 체계에서, 차례차례로 오퍼레이션들 (O'11, O'13, O'14, O'16) 이 실행되고, 이때 오퍼레이션 (O'16) 의 실행시 오류 (400) 가 발생한다. 오류가 있는 오퍼레이션 (O'16) 은 중단되고, 대응 오퍼레이션 (R'1) 에 의해 계속된다.
대응 오퍼레이션 (R'1) 은 2개의 가능한 절차를 제공한다. 제 1 절차는 대응 오퍼레이션 (R'10) 으로 안내하고, 제 2 절차는 배치점 (AP7) 으로 안내하는 대응 오퍼레이션 (R'20) 으로 안내한다. 배치점 (AP7) 으로부터, 오퍼레이션 (O'10) 에 의해 계속될 수 있거나, 또는 대응 오퍼레이션 (R'30) 을 통하여, 오퍼레이션 (O'2) 에 할당되어 있는 작업점 (AP6) 으로 돌아갈 수 있다. 이로써, 여러 가지의 오퍼레이션들은 여러 가지의 대응 오퍼레이션들에 의해 취소될 수 있거나 또는, 공정들이 불가역적인 경우에는, 상기 매니퓰레이터 프로그램을 통한 다른 방식의 경로들이 선택될 수 있다. 경로는 오퍼레이션들의 그리고/또는 대응 오퍼레이션들의 연속을 표시한다.
도 5 는 상기 방법의 적용을 위한 예시적 일례를 나타낸다. 상기 적용에 따르면, 도시 (A) 에서 바요넷 락 (bayonet lock, 511) 을 구비하는 제 1 부품 (510) 은 제 2 부품 (520) 위에서 정렬된다. 제 2 부품 (520) 은 바요넷 락 (511) 과 맞물릴 수 있는 돌출부 (521) 를 포함한다. 두 부품 (510, 520) 을 조립하기 위해, 우선 매니퓰레이터는 제 1 부품 (510) 을 제 2 부품 (520) 에 대해 상대적으로 동심적으로 정렬해야 한다. 이것이 수행되면, 제 1 부품 (510) 은 하강될 수 있고 (도시 B 참조), 따라서 돌출부 (521) 는 부품 (510) 의 바요넷 락 (511) 안으로 도입된다. 그 후, 제 1 부품 (510) 은 상기 매니퓰레이터를 이용해 회전되고 (도시 C), 따라서 바요넷 락 (511) 은 돌출부 (521) 와 맞물린다. 이제 예컨대 상기 제 1 부품 (510) 의 상기 하강시 오류가 발생하면, 대응체계를 이용해 상기 매니퓰레이터 프로그램은, 다시 두 부품 (510, 520) 의 정렬을 시작하도록 야기될 수 있다. 이것이 실패하면, 즉 상기 오류가 자동적으로 제거될 수 없으면, 예컨대 제 1 부품 (510) 을 정확히 제 2 부품 (520) 에 대해 포지셔닝하는 또는 제 1 부품 (510) 을 제거하는 조작자가 소환될 수 있다. 그 결과, 상기 매니퓰레이터 프로그램이 중단되고 새로 시작될 필요없이, 상기 조립공정이 계속될 수 있고, 발생된 오류가 제거될 수 있다.
AP1-AP9 : 배치점 E1 : 종료단계
F1 내지 F3 : 오류체계 O1 내지 On : 오퍼레이션
O'1-O'21 : 오퍼레이션 R1 내지 Rn : 대응 오퍼레이션
R'1-R'30 : 대응 오퍼레이션 S1 내지 S3 : 실행단계
200 : 시맨틱스 모듈 210; 310 : 오퍼레이션 체계
220; 320 : 대응체계 221, 222, 223, 224, 225 : 대응 오퍼레이션
400 : 오류 610 : 제 1 부품
620 : 제 2 부품 611 : 바요넷 락
621 : 돌출부

Claims (16)

  1. 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법으로서,
    상기 매니퓰레이터 시스템은 적어도 하나의 매니퓰레이터를 포함하고, 적어도 하나의 매니퓰레이터 프로그램을 이용해 제어되고,
    상기 방법은,
    · 적어도 하나의 매니퓰레이터 프로그램을 제공하는 단계로서, 상기 매니퓰레이터 프로그램은 다수의 오퍼레이션 (O1 내지 On) 을 포함하는, 상기 제공하는 단계;
    · 상기 오퍼레이션 (O1 내지 On) 중 적어도 2개를 적어도 하나의 오퍼레이션 체계 (310) 로 통합하는 단계;
    · 적어도 하나의 배치점 (AP1, AP2) 을 규정하는 단계로서, 상기 적어도 하나의 배치점 (AP1, AP2) 은 오퍼레이션 체계 (310) 의 시작 및/또는 끝을 형성하는, 상기 규정하는 단계;
    · 적어도 하나의 대응체계 (320) 를 제공하고, 오퍼레이션 체계 (310) 에 대해 상기 대응체계 (320) 를 할당하는 단계로서, 상기 적어도 하나의 대응체계 (320) 는 대응 오퍼레이션들 (R1 내지 Rn) 을 포함하고, 상기 대응 오퍼레이션들의 실행시 상기 매니퓰레이터 프로그램은, 상기 매니퓰레이터 시스템이 배치점 (AP1, AP2) 에 상응하는 시스템 상태로 안내되는 방식으로 상기 매니퓰레이터 시스템을 제어하는, 상기 할당하는 단계;
    · 상기 매니퓰레이터 프로그램을 실행하는 단계, 그리고 오류가 발생하면,
    · 상기 대응체계 (320) 를 실행하고, 따라서 상기 매니퓰레이터 시스템은 배치점 (AP1, AP2) 에 상응하는 시스템 상태로 넘어가지는 단계를 포함하는, 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법.
  2. 제 1 항에 있어서,
    오퍼레이션 체계 (310) 는 일관되고 (consistent), 따라서 배치점 (AP1, AP2) 에서 그리고/또는 상기 오퍼레이션 체계 (310) 의 실행 전에 그리고/또는 후에 상기 매니퓰레이터 시스템의 무결성 조건들 (integrity conditions) 이 지켜지는, 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 매니퓰레이터 시스템의 시스템 상태가 배치점 (AP1, AP2) 에서 그리고/또는 오퍼레이션 체계 (310) 의 실행 전에 그리고/또는 후에 모든 시스템 파라미터들에 있어서 일관되지 않는, 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    오퍼레이션 체계 (310) 의 실행은 오류 발생시 중단되고, 후속하여 대응체계 (320) 의 실행에 의해 계속되는, 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 대응체계 (320) 는 적어도 하나의 대응 오퍼레이션 (R1 내지 Rn) 을 포함하고, 상기 대응 오퍼레이션의 실행은 상기 매니퓰레이터 시스템을 배치점 (AP1) 에 상응하는 시스템 상태로 안내하고, 상기 배치점은 오류가 발생한 상기 오퍼레이션 체계 (310) 의 시작을 형성하는, 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법.
  6. 제 5 항에 있어서,
    적어도 하나의 상기 대응 오퍼레이션 (R1 내지 Rn) 은 상기 오퍼레이션 체계 (310) 의 오퍼레이션 (O1 내지 On) 을 취소하는, 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 매니퓰레이터 프로그램의 오퍼레이션 (O1 내지 On) 은 적어도 하나의 파라미터를 통해 규정되고, 적어도 하나의 상기 파라미터는 상기 대응체계 (320) 의 대응 오퍼레이션 (R1 내지 Rn) 을 통해 변경 가능한, 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 대응체계 (320) 는 적어도 하나의 대응 오퍼레이션 (R1 내지 Rn) 을 포함하고, 상기 대응 오퍼레이션의 실행은 중단된 상기 오퍼레이션 체계 (310) 를 적어도 하나의 변경된 파라미터에 의해 계속시키거나 또는 중단된 상기 오퍼레이션 체계 (310) 를 다시 실행시키는, 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 대응체계 (320) 는 적어도 하나의 대응 오퍼레이션 (R1 내지 Rn) 을 포함하고, 상기 대응 오퍼레이션의 실행은 중단된 상기 오퍼레이션 체계 (310) 를 조작자 입력 (operator input) 이 수행될 때까지 실행하지 않는, 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    발생된 상기 오류의 유형에 의존하여, 상기 대응체계 (320) 의 여러 가지의 대응 오퍼레이션들 (R1 내지 Rn) 이 실행되는, 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법.
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
    적어도 하나의 상기 오퍼레이션 체계 (310) 는 배치점 (AP1, AP2) 에서 적어도 하나의 그 밖의 오퍼레이션 (O1 내지 On) 및/또는 오퍼레이션 체계 (310) 와 링크되어 있고, 상기 배치점 (AP1, AP2) 에 도달한 후, 링크된 상기 오퍼레이션들 (O1 내지 On) 중 하나 및/또는 오퍼레이션 체계들 (310) 중 하나가 실행되는, 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법.
  12. 제 7 항 내지 11 항 중 어느 한 항에 있어서,
    파라미터는 숫자상의 파라미터 또는 명령파라미터인, 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법.
  13. 제 1 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 매니퓰레이터 프로그램은 실시간-오퍼레이션들과 실시간-대응 오퍼레이션들 및 비실시간-오퍼레이션들과 비실시간-대응 오퍼레이션들을 포함하고, 실시간-오퍼레이션의 실행 전에 모든 실시간-대응 오퍼레이션들과 비실시간-대응 오퍼레이션들이 종료되어 있는, 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법.
  14. 프로그램 명령들을 구비하는 컴퓨터 프로그램으로서,
    상기 프로그램 명령들은, 상기 프로그램 명령들이 컴퓨터 및/또는 마이크로컨트롤러 상에서 로딩되면, 상기 컴퓨터 및/또는 상기 마이크로컨트롤러로 하여금 제 1 항 내지 제 13 항 중 어느 한 항에 따른 방법을 실행하도록 야기하는 컴퓨터 프로그램.
  15. 제 14 항에 있어서,
    오퍼레이션 체계 (310) 와 할당된 대응체계 (320) 는 동일한 매니퓰레이터 프로그램 부분에서 구현되고, 바람직하게는 시맨틱스 모듈 (100) 을 형성하는 컴퓨터 프로그램.
  16. 제 14 항 또는 제 15 항 중 어느 한 항에 따른 컴퓨터 프로그램을 실행하기 위해 셋업된 장치.
KR1020187016165A 2015-11-11 2016-11-09 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법 및 컴퓨터 프로그램 KR102671535B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102015222168.7A DE102015222168B4 (de) 2015-11-11 2015-11-11 Verfahren und computerprogramm zur korrektur von fehlern eines manipulatorsystems
DE102015222168.7 2015-11-11
PCT/EP2016/001859 WO2017080650A1 (de) 2015-11-11 2016-11-09 Verfahren und computerprogramm zur korrektur von fehlern eines manipulatorsystems

Publications (2)

Publication Number Publication Date
KR20180081775A true KR20180081775A (ko) 2018-07-17
KR102671535B1 KR102671535B1 (ko) 2024-05-31

Family

ID=

Also Published As

Publication number Publication date
CN108349081B (zh) 2021-08-03
US11065766B2 (en) 2021-07-20
DE102015222168B4 (de) 2024-02-22
DE102015222168A1 (de) 2017-05-11
EP3374136A1 (de) 2018-09-19
WO2017080650A1 (de) 2017-05-18
CN108349081A (zh) 2018-07-31
US20180345497A1 (en) 2018-12-06

Similar Documents

Publication Publication Date Title
JP4027350B2 (ja) ロボットの待機位置復帰プログラム作成装置
JP6943364B2 (ja) 行動ツリーアーキテクチャを有するロボットの制御プロセス
JP4210270B2 (ja) ロボット制御装置及びロボット制御方法
JP4122652B2 (ja) ロボットの制御装置
US10940583B2 (en) Method and computer program for producing a graphical user interface of a manipulator program
EP2541351B1 (en) Block execution sequence display system
US10338570B2 (en) Numerical controller
US20140364989A1 (en) Controller for controlling machine tool and robot
JP4763719B2 (ja) 機械の制御部、該制御部用のエンジニアリングシステム、および該制御部の駆動方法
US11065766B2 (en) Method and computer program for correcting errors in a manipulator system
JP2020529931A (ja) ロボットを備えるハンドリング装置、方法及びコンピュータプログラム
JP5807337B2 (ja) ロボット搬送装置
KR102671535B1 (ko) 매니퓰레이터 시스템의 오류들을 정정하기 위한 방법 및 컴퓨터 프로그램
JP3037673B1 (ja) 複数ロボットの制御方法および装置
JPH02257204A (ja) 複数ロボット腕の衝突回避制御方式
JP4442358B2 (ja) 制御装置及びコンピュータプログラム
WO2020008633A1 (ja) 機械学習装置、数値制御装置、工作機械および機械学習方法
US20220281111A1 (en) Interference check for robot operation
WO2021251385A1 (ja) 生産システム、セルコントローラ、ロボットコントローラ及び制御方法
JP2021084175A (ja) シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム
JP2906502B2 (ja) 産業用ロボットの制御方法
KR101291656B1 (ko) 자동 용접 시스템 및 방법
KR102267868B1 (ko) 로봇의 축 제어 방법
JP3210381B2 (ja) 自動組立機の制御装置
JPH07136975A (ja) 複数ロボットシステム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right