KR20140090601A - 로봇 프로그램의 자동 생성을 위한 시스템 및 방법 - Google Patents

로봇 프로그램의 자동 생성을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20140090601A
KR20140090601A KR1020147009832A KR20147009832A KR20140090601A KR 20140090601 A KR20140090601 A KR 20140090601A KR 1020147009832 A KR1020147009832 A KR 1020147009832A KR 20147009832 A KR20147009832 A KR 20147009832A KR 20140090601 A KR20140090601 A KR 20140090601A
Authority
KR
South Korea
Prior art keywords
chart
workpiece
robot
machining
processing
Prior art date
Application number
KR1020147009832A
Other languages
English (en)
Other versions
KR102028770B1 (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
Priority claimed from DE102011082800.1A external-priority patent/DE102011082800B4/de
Application filed by 컨버전트 인포메이션 테크놀로지스 게엠베하 filed Critical 컨버전트 인포메이션 테크놀로지스 게엠베하
Publication of KR20140090601A publication Critical patent/KR20140090601A/ko
Application granted granted Critical
Publication of KR102028770B1 publication Critical patent/KR102028770B1/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/4182Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell manipulators and conveyor only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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/39102Manipulator cooperating with conveyor
    • 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/45Nc applications
    • G05B2219/45065Sealing, painting robot
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 산업용 로봇을 이용한 공구에 의한 작업부재의 처리 또는 기계가공의 작업흐름 차트의 자동화된 컴퓨터-보조식 생성을 위한 방법에 관한 것이다. 본 발명의 하나의 실시예에 따르면, 상기 방법은, 작업부재에 대한 복수의 공구 경로를 지정된 타깃 위치 및 처리 및/또는 기계가공에 영향을 미치는 지정된 처리 파라미터로 포함하는 초기 차트를 제공하는 단계 - 공구 경로는 작업부재를 따르는 공구의 원하는 운동을 정의함 - 와, 처리 및/또는 기계가공에 영향을 미치는 가변 파라미터 값을 기술하는 상태 공간을 정의하는 단계 - 공간 내 각각의 점은 잠재적 파라미터 값들의 특정 조합을 나타냄 - 와, 상기 공간을 개별 상태들로 이산화하는 단계와, 하나 이상의 이산 상태에 대해 초기 차트를 이용해 작업부재의 처리 및/또는 기계가공을 시뮬레이션하고, 지정 가능한 기준을 기초로 하여 시뮬레이션된 기계가공 및/또는 처리 결과를 분석하는 단계와, 상기 초기 차트를 반복적으로 수정하고, 적어도 하나의 이산 상태에 대해 수정된 차트를 이용해 작업부재의 처리 및/또는 기계가공을 시뮬레이션하고, 지정 가능한 비용 함수를 기초로 하여 시뮬레이션된 기계가공 및/또는 처리 결과를 분석하는 단계를 포함한다.

Description

로봇 프로그램의 자동 생성을 위한 시스템 및 방법{SYSTEM AND METHOD FOR THE AUTOMATIC GENERATION OF ROBOT PROGRAMS}
본 발명은 로봇 제어기를 갖는 산업용 로봇에 대한 로봇 작업흐름을 자동으로 프로그래밍하고 최적화하기 위한 시스템 및 방법에 관한 것이다.
일반적으로 산업용 로봇은 로봇 프로그래밍 언어를 이용해 프로그래밍된다. 프로그래밍의 결과가, 특히, 특정 로봇의 운동과 관련해 로봇 제어기에게 명령하는 프로그램이다. 로봇을 프로그래밍하는 것은 시간 소모적인 작업이다. 로봇에 대한 종래의 프로그래밍 방법은 "온라인"으로 이뤄지는데, 즉, 로봇은 동작 중에 원하는 모션을 "학습"("티치-인(teach-in)")하고, 이는 로봇이 이미 만들어져 있음을 가정한다. 시간을 절약하고 생산 시작을 빠르게 하기 위해, 로봇을 "오프라인"으로 프로그래밍하기 위한 방법이 개발되었다. 전통적으로, 이는 외부 컴퓨터 상에서 실행되는 내장(또는 대안적으로 외부) 시뮬레이션 툴을 이용하는 오프라인 프로그래밍(OLP)을 이용해 이뤄진다. 프로그래밍의 출력 또는 결과가 시뮬레이션을 이용해 검증되는 로봇 프로그램이다. 시뮬레이션 및 오프라인 프로그래밍이 완료되면, 로봇 프로그램은 실제 로봇의 제어 컴퓨터(로봇 제어기)로 전달된다.
오프라인 프로그래밍 및 시뮬레이션 툴은 시뮬레이션하려 시도 중인 로봇 및 로봇 제어기의 기술(description)을 포함한다. 그러나 로봇의 운동뿐 아니라 프로그램 실행까지, 심지어 실제 로봇에서 발생할 수 있는 시뮬레이션 시스템 에러까지 재현하는 더 정확한 로봇 시뮬레이션에 대한 요구가 존재한다. 해당 분야에서, 로봇을 새로 설치하기 위해 임의의 비싼 설비를 추가하는 것을 가능한 모두 피하고 임의의 생산 중단을 피하기 위한 노력이 있어 왔다. 이러한 요구를 기반으로, 실제 로봇 제어기의 점점 더 정밀한 모델이 로봇 시뮬레이션을 위한 시뮬레이션 소프트웨어에 포함되었으며, 이는 시뮬레이션 동안 이른바 "가상 로봇 제어기"의 사용을 야기했다. 가상 로봇 제어기는 로봇의 움직임뿐 아니라 실제 로봇 프로그램의 실행까지 시뮬레이션하는 실제 로봇 제어기의 충분히 정밀한 표현이다. 공개공보 WO 03/059582 및 DE 11 2008 003 963 T5가 예를 들어 가상 로봇 제어기를 이용하는 산업용 로봇을 프로그래밍하기 위한 방법을 기재하고 있다.
따라서 산업용 로봇이 자신의 공구 중심점(TCP: tool center point)을 원하는 경로를 따라 이동하게 하기 위해, 로봇 제어기는 적절한 로봇 프로그램을 필요로 한다. 전통적으로, 산업용 로봇을 제어하기 위해, 산업용 로봇의 모든 축 값 및/또는 축 위치를 정의함으로써, 또는 데카르트 TCP 좌표 값(위치 좌표 x, y, z 및 각 좌표 α, β, γ)을 정의함으로써, 그리고 선택사항으로서, 로봇의 위치가 분명하게 결정될 수 있도록, 사용될 구성(팔꿈치 위/아래 등) 또는 중간 위치에 대한 추가 축 값을 정의함으로써, 모든 자유도가 명시적으로 나타난다. 개별 위치가 예를 들어 (앞서 언급된 이유로 종종 바람직하지 않거나 불가능한) 티치-인(teach-in)을 이용해 현장에서 직접, 또는 로봇에 의해 기계가공될 작업부재(workpiece)의 CAD 모델을 이용해 컴퓨터 상에서 (수동으로 또는 반자동으로) 수행되는 앞서 언급된 오프라인 프로그래밍을 이용해 간접적으로 결정된다. 일반적으로, 이러한 일의 목표는 많은 점들을 정의하는 것이 아니며, 대신, 다양한 기존 적용에서와 같이, TCP의 개별 경로의 시작점과 종료점만 정의하는 것이다. 그 후 이 경로를 따르는 움직임이 계획되고, 보간되며, 산업용 로봇의 제어 메커니즘에 따른다. 로봇을 위한 다양한 알려진 경로 계획 방법이 예를 들어 공개공보 DE 60205928 T2 및 Weihua Sheng et al.: "Automated CAD-guided robot path planning for spray painting of compound surfaces", in: Proc. of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2000)의 Vol. 3, pp. 1918-1923, 및 et al.: "Model Based Interactive Path Planning for Surface Following Robot Tasks", SPIE Proc. Vol. 3208, pp. 551-561, 26 September 1997에 기재되어 있다. 알려진 방법은 예를 들어 다음을 프로그래밍하는 동안 고려되어야 할 추가 자유도 또는 변동(허용오차)의 형태로 복잡도가 추가되는 경우를 적절하게 지원하지 않는다:
(A) 로봇을 프로그래밍할 때 고려되어야 할 작업부재의 능동 운동, 예를 들어, 이 경우, 로봇은 고정 장착된 채 유지되고 작업부재는 컨베이어 상에서 이동될 것(또는 작업부재가 또 다른 로봇이나 액추에이터(턴-틸트 테이블(turn-tilt table) 등)에 의해 위치설정되거나 이동될 것)이라는 사실이 고려되어야 함, 또는,
(B) 로봇에 의한 작업부재의 기계가공 결과에 영향을 미치며, 이에 대한 예방 대책이 구비되어야 할 결함, 즉, 이러한 결함(프로그래밍 동안 알려진 값/범위)의 존재에도 불구하고 강건할 프로그램이 생성되어야 함. 예를 들어, 이는 결함 또는 편차, 가령, 작업부재의 형태 또는 위치의 변동 또는 그 밖의 다른 처리 파라미터의 변동이 발생할 수 있는 경우이다.
이들 모든 경우에, 큰 어려움이 동반되어야 고려될 수 있고, 고려하려면, 로봇의 오프라인 프로그래밍의 종래의 방법을 이용해 고려될 수 있는 추가 자유도 또는 변동이 도입됨이 공통적이다.
따라서 본 발명의 목적은 프로그래밍 시점에서 알려지지 않은 작업부재 또는 처리 파라미터의 변동에도 불구하고 그리고 추가 자유도, 가령 작업부재에 중첩되는 운동에도 불구하고 신뢰할만하고 예측가능하게 동작할 "강건한" 로봇 프로그램의 오프라인 생성을 가능하게 하는 것이다.
이 목적은 청구항 1에 따르는 방법에 의해 이뤄진다. 실시예의 예시 및 방법의 추가 형태가 종속 청구항의 대상이 된다. 산업용 로봇을 이용하는 공구에 의한 작업부재(workpiece)의 처리 또는 기계가공(machining)을 위한 작업흐름 차트(workflow chart)의 자동화된 컴퓨터-보조식 생성을 위한 방법이 제공된다. 본 발명의 하나의 예시에 따르면, 상기 방법은: 작업부재에 대한 복수의 공구 경로를 지정된 타깃 위치 및 처리 및/또는 기계가공에 영향을 미치는 지정된 처리 파라미터로 포함하는 초기 차트를 준비하는 단계 - 공구 경로는 상기 작업부재를 따르는 공구의 희망 운동을 정의함 - 와, 처리 및/또는 기계가공에 영향을 미치는 가변 파라미터 값을 기술하는 상태 공간을 정의하는 단계 - 공간 내 각각의 점은 가능한 파라미터 값들의 특정 조합을 나타냄 - 와, 상기 공간을 개별 상태들로 이산화하는 단계와, 하나 이상의 이산 상태에 대해 초기 차트를 이용해 작업부재의 처리 및/또는 기계가공을 시뮬레이션하고, 지정 가능한 기준을 기초로 하여 시뮬레이션된 기계가공 및/또는 처리 결과를 평가하는 단계와, 상기 초기 차트를 반복적으로 수정하고, 적어도 하나의 이산 상태에 대해 수정된 차트를 이용해 작업부재의 처리 및/또는 기계가공을 시뮬레이션하고, 지정 가능한 비용 함수를 기초로 하여 시뮬레이션된 기계가공 및/또는 처리 결과를 분석하는 단계를 포함한다. 반복은 상기 비용 함수가 최소치에 도달하거나 임계 값 미만으로 강하될 때까지, 따라서 각각의 상태에 대해 최적화된 차트가 식별될 때까지 수행된다.
상기 방법은: 최적화된 차트 및 반복에서 상용된 상태를 제 1 그룹에 할당하는 단계와, 추가 이산 상태에 대해 최적화된 차트를 이용해 작업부재의 처리 및/또는 기계가공을 시뮬레이션하고, 지정 비용 함수를 기초로 하여 시뮬레이션된 기계가공 및/또는 처리 결과를 평가하는 단계와, 추가 상태에 대한 비용 함수가 추가 임계 값 미만으로 강하되는 경우 시뮬레이션에서 사용되는 추가 상태를 제 1 그룹에 할당하는 단계와, 추가 상태에 대한 비용 함수가 상기 추가 임계 값 미만으로 강하되지 않은 경우 시뮬레이션에서 사용되는 추가 상태를 또 다른 그룹에 할당하는 단계를 더 포함할 수 있다.
마지막으로, 최적화된 차트의 반복 수정 및 작업부재의 처리 및/또는 기계가공의 뒤 이은 시뮬레이션이 수정된 차트를 이용해 추가 상태에 대해 수행될 수 있으며, 시뮬레이션된 기계가공 및/또는 처리 결과가 비용 함수를 기초로 하여 평가된다. 비용 함수가 최소치에 도달되거나 임계 값 미만으로 강하될 때 따라서 추가 상태에 대한 추가 최적화된 차트가 발견된 때까지 반복이 수행된다. 최적화된 차트 및 반복에서 사용되는 상태가 제 1 그룹에 할당된다.
특정 상태에 대한 차트의 반복적 수정 전에, 시뮬레이션을 이용해, 이미 최적화된 특정 상태에 대한 차트를 이용해 비용 함수가 지정 임계 값 미만으로 강하된 기계가공 및/또는 처리 결과가 획득될 것인지 여부가 확인될 수 있다.
본 발명의 추가 예시에 따르면, 상기 방법은: 복수의 공구 경로를 특정 타깃 위치 및 처리 및/또는 기계가공을 기술하는 특정 처리 파라미터로 포함하는 초기 차트를 준비하는 단계 - 하나의 공구 경로가 작업부재를 따르는 공구의 희망 운동을 정의함 - 와, 초기 차트의 공구 경로에 대한 시퀀스 및 시작 시점을 기술하는 상태 공간을 정의하는 단계 - 공간 내 각각의 점은 특정 시작 시점을 갖는 특정 시퀀스를 기술함 - 와, 공간을 개별 상태로 이산화하는 단계와, 서로 다른 이산 상태에 대한 초기 차트를 이용해 작업부재의 처리 및/또는 기계가공을 시뮬레이션하고 시뮬레이션된 기계가공 및/또는 처리 결과를 지정 가능한 기준을 기초로 하여 평가하는 단계와, 초기 차트를 반복적으로 수정하고 작업부재의 처리 및/또는 기계가공을 시뮬레이션하며, 작업부재에 중첩되는 운동을 고려하여, 적어도 하나의 이산 상태에 대한 수정된 차트를 이용하고 지정 가능한 비용 함수를 기초로 하야 시뮬레이션된 기계가공 및/또는 처리 결과를 평가하는 단계를 포함한다. 상기 비용 함수가 최소치에 도달하거나 임계치 미만으로 강하할 때 따라서 각각의 상태에 대한 최적화된 차트가 발견될 때까지 반복이 수행된다.
반복 수정에 앞서서, 초기 차트에 의해 시뮬레이션되는 기계가공 및/또는 처리 결과가 지정 기주에 부합하지 않는 모든 상태들이 폐기될 수 있다.
로봇 베이스에 대한 모션 패턴이 또한 특정될 수 있고, 시뮬레이션 동안 이 모션 패턴이 고려될 수 있다.
본 발명의 하나의 예시는, 경로 점에 의해 정의되는 복수의 로봇 모션을 포함하는 차트를 기초로 하여, 산업용 로봇을 이용하는 공구에 의한 움직이는 작업부재를 처리 또는 기계가공하는 로봇을 제어하기 위한 시스템 및 방법에 관한 것이며, 각각의 경로 점에 작업부재에 대한 타깃 위치가 할당되며, 로봇 모션의 실행 동안, 상기 방법은: 작업부재의 실제 위치를 측정하고 이의 속력을 결정하는 단계와, 가령, 보간에 의해, 경로 점에 할당되는 작업부재에 대한 타깃 위치를 이용해 로봇의 현재 위치에 대한 작업부재에 대한 현재 타깃 위치를 계산하는 단계와, 작업부재의 타깃 위치와 실제 위치 간의 차이를 계산하는 단계와, 작업부재의 타깃 위치와 실제 위치 간의 차이가 감소 또는 최소화되도록, 차트에 따르는 경로 점을 선택하고 차트에 따라 두 경로 점 사이를 보간함으로써 도달될 로봇의 다음 타깃 위치와 이 위치에 도달될 때의 시점을 결정하는 단계를 포함한다.
이하에서 본 발명은 도면에서 도시된 예시의 맥락에서 더 상세히 특정될 것이다. 그러나 본 발명은 도시된 예시에 한정되지 않는다. 대신 본 발명의 기본 원리가 설명된다. 도면은 다음을 도시한다.
도 1은 산업용 로봇 및 상기 로봇에 의해 기계가공된 작업부재, 작업부재의 표면을 따르는 로봇에 의해 실행될 공구 경로의 다이어그램이다.
도 2는 n=2 및 n=3에 대한 n 파라미터 변동의 상태 공간의 개략적 도시이다.
도 3은 공구 경로 상의 개별 경로 점에 도달될 수 있는 로봇과 작업부재 간의 오프셋을 나타내는 다이어그램이다.
도 4는 본 발명에 따르는 처리의 흐름의 하나의 예시를 도시하는 흐름도이다.
도 5는 도 4의 처리 흐름의 단계 II의 세부사항이다.
도 6은 제 1 대안예(작업부재의 움직임을 고려함)에 대한 도 5의 처리 흐름의 세부사항이다.
도 7은 제 2 대안예(파라미터 변동을 고려함)에 대한 도 5의 처리 흐름의 세부사항이다.
도 8은 도 4의 처리 흐름의 단계 III의 세부사항이다.
도 9는 제 1 대안예(모든 상태에 대해 하나의 차트)에 대한 도 8의 처리 흐름의 세부사항이다.
도 10은 제 1 대안예(모든 상태에 대해 P개의 차트)에 대한 도 8의 처리 흐름의 세부사항이다.
도 11은 도 4의 방법의 단계 V에 대한 처리의 흐름을 도시하는 흐름도이다(추가 차원 "작업부재 운동"을 고려한 프로그램의 온-라인 실행).
도 12는 도 4의 방법의 단계 V에 대한 처리 흐름을 도시하는 흐름도이다("파라미터 변동"의 추가 차원을 고려한 프로그램의 온-라인 실행)
도 13은 도 8 내지 10의 단계 III에 대한 처리 흐름의 세부사항으로서, 좌측: 운동 계획(좌) 및 우측:시뮬레이션을 도시한다.
도면에서, 동일한 도면부호가 동일하거나 유사한 의미를 갖는 동일하거나 유사한 구성요소를 식별하도록 사용된다.
도입부에서 언급된 바와 같이, 경로 계획 및 오프라인 로봇 프로그래밍의 종래의 방법은 프로그래밍 동안 고려되어야 할 추가 자유도(가령, 작업부재에 중첩되는 운동)의 형태로 된 추가 복잡도 또는 변동(가령, 작업부재 위치 및/또는 처리 파라미터에 대한 허용오차)을 포함하는 경우를 적절하게 지원하지 않는다.
예를 들어, 로봇을 이용해 작업부재의 표면이 처리(가령, 코팅, 세정, 연마 등)될 경우에 대해 다음의 기재가 참조될 것이다. 언급된 추가 자유도는 처리될 작업부재가 로봇에 의한 처리 중에 (가령, 컨베이어 벨트를 이용해) 선형 방식으로 이동된 결과로부터 기인한다. 언급된 변동 및/또는 허용오차는, 가령, 로봇 프로그램의 생성 중 가정되는 타깃 값으로부터의 작업부재의 형태 및/또는 위치의 일탈(deviation) 또는 그 밖의 다른 처리 파라미터의 각자의 타깃 값으로부터의 일탈이다. 이러한 유형의 처리 파라미터는, 로봇-보조식 코팅의 경우, 단위 시간 당 스프레이 건(spray gun)에 의해 전달되는 코팅 물질 및/또는 작업부재의 표면으로의 이의 접착의 체적(요구되는 분사 각도가 이를 기초로 할 수 있다), 및 로봇-보조식 연마의 경우, 가령, 연마되는 작업부재의 표면 상의 로봇에 의한 연마 동안 가해지는 압력, 또는 물질과 연마 매체 간의 상호작용을 포함할 것이다. 일반적으로, 처리 파라미터는 로봇에 의해 수행되는 작업의 결과(가령, 바니싱 또는 세정, 연마 등의 품질)에 상당한 영향을 미치는 모든 파라미터로 이해된다.
강건한 로봇 프로그램을 생성하기 위한 방법이 상세하게 특정되기 전에, 앞서 언급된 추가 자유도(작업부재에 중첩되는 운동) 및/또는 파라미터 변동(작업부재의 형태와 위치, 그 밖의 다른 처리 파라미터)이 다시 한 번 언급될 것이다.
생산 동안, 자동 컨베이어 장치(가령, 오버헤드 컨베이어, 바닥-장착식 컨베이어 등)에 의해 작업부재가 작업 셀에서 작업 셀로 연속적으로 운반된다. 이와 관련하여, 프로그래밍된 적용(application)/기계가공을 실행시키기 위해, 기계가공될 작업부재가 멈추거나, 및/또는 컨베이어 장치로부터 우회되지 않아야 하고 대신 지정 속력으로 전진될 수 있는 것이 바람직할 것이다. 그러나 예를 들어 로봇 베이스 자체가 고정 장착되어 있는 동안 작업부재가 움직이는 적지 않은 경우(라인 추적(line tracking))의 프로그래밍이 프로그래밍 동안 다뤄져야 하는 추가된 복잡도를 포함한다.
매우 단순한 경우에 대해 알려져 있는 솔루션의 경우, 로봇 제어기는 자신의 타깃 좌표계를 편이(shift)시킴으로써, 컨베이어의 전진 모션 정보로 작업부재의 운동을 보상한다. 좌표계의 편이가 충돌에 대한 체크를 포함하지 않기 때문에, 이 방식은 셀의 건설 동안 충돌 회피가 이미 보장될 것을 필요로 한다. 이는, 예를 들어, 로봇이 개방 영역으로부터, 가령, 위로부터의 적용을 실행할 때, 움직이는 작업부재까지 이동되도록 하는 방식으로 로봇을 장착함으로써, 이뤄질 수 있다. 이 방법은 로봇이 공구와 작업부재 간 연장된 접촉을 확립할 필요가 있는 경우, 특히 공구가 작업부재의 표면을 횡단하여 이동될 때 또는 복잡한 작업부재가 관련되는 경우에 적합하지 않은데, 왜냐하면, 로봇(예를 들어, 로봇의 팔꿈치)이 연장된 시간 주기 동안 그리고 작업부재의 연장된 운동에 걸쳐 작업부재와 충돌하지 않을 것이 미리 보장될 수 없기 때문이다.
더 복잡한 작업의 경우, 움직이는 작업부재를 기계가공할 수 있는 능력은 로봇(즉, 로봇 베이스)를, 적용의 광범위한 또는 임계 범위에 걸쳐 로봇을 작업부재와 동기화시켜 이동시킬 보조 축(auxiliary axis) 상에 배치시키는 것과 관련된다. 따라서 이 적용은 추가적인 축, 비용, 공간 및 유지관리가 필요하다는 단점을 갖는 정지상태 작업부재의 것에 대응한다. 움직이는 작업부재를 기계가공하기 위해, 많은 경우에서, 상기 작업부재의 이동 방향으로 로봇을 이동시킬 수 있는 추가 축이 필요할 수 있다. 그러나 종종 로봇이 작업부재와 동기화하여 동일한 속력으로 이동될 필요가 없을 경우 더 우수한 결과가 얻어질 수 있다. 그러나 비동기 경우는 이뤄질 수 없거나, 오프라인 로봇 프로그래밍의 종래의 방법을 이용해 더 어렵게 이뤄질 수 있다.
작업부재의 (자체로 알려진) 운동에 추가로, 종종, 선험적으로 알려지지 않은 파라미터 변동이 고려되어야 한다. 이는, 생산 중, 관련 파라미터(가령, 작업부재 형태 및 위치, 추가 처리 파라미터, 그리고 움직이는 로봇의 경우, 로봇 자체의 위치 및 모션)의 변이(fluctuation), 변동 및/또는 결함, 및 따라서 이상치(즉, 알려진 타깃 값)로부터의 편차가 발생함을 의미하고, 이들이 허용 가능 범위를 초과한 경우, 적용의 실행가능성 또는 결과의 품질을 열화시킬 수 있다. 그러나 자동 생성된 로봇 프로그램은 가능한 강건해야 한다, 즉, 관련 로봇 프로그램의 실행이 가능한 가장 넓은 스펙트럼의 개별 또는 조합된 변동/변이/결함에 대한 품질 기준에 대응하는 처리 결과를 제공해야 한다. 이러한 추가 복잡도와 관련된 적용의 프로그래밍은 종래의 오프라인 프로그래밍 방법에 의해서는 적절하게 지원되지 않는데, 왜냐하면 예측되지 않는(결정적 또는 통계적) 변이가 프로그래밍 동안 고려되어야 하기 때문이다.
따라서 프로그래밍 후, 즉, 시스템의 동작 동안, 완성된 프로그램의 시험 또는 시뮬레이션을 통해, 최대 어느 변동에서 적용이 원하는 결과를 공급할 것인지가 결정되지 않는다. 이들 허용오차 한계가 지켜져야 하며 예를 들어 적절한 센서를 이용해 검증되어야 한다. 값이 허용오차 한계를 벗어난 경우(가령, 작업부재의 위치가 지정 "허용" 영역 내에 있지 않은 경우), 적용이 시작되지 않을 것이다. 종래의 방법에 의해서는 덜 강건한 프로그램만이 프로그래밍될 수 있고 다양한 결함에 대한 프로그래밍은 시간 소모적이기 때문에, 허용오차 한계는 고비용으로 낮게 유지되거나, 적용이 강건한 프로그램을 이용하는 경우에서 필요할 것보다 더 빈번하게 중단될 것이다.
단순화된 사전 계획
로봇의 프로그래밍에서의 파라미터 변동 및/또는 추가 자유도 때문에, 로봇의 프로그래밍 동안 고려될 추가 복잡도와 관련하여, 로봇 프로그램을 생성하기 위한 자동화 방법이 다음에서 제공된다. 첫째, 공구 경로(tool path)가 이상적인 경우를 기초로 하는 "전통적인 방식"으로 계획된다, 즉, 파라미터의 모든 변동이 0(zero)이라고 가정되고 작업부재의 형태와 위치가 각자의 타깃 값에 대응한다고 가정한다. 작업부재가 정지상태(stationary)라고 추가로 가정된다. 이 경우, 해당 업계 종사자는 경로를 계획 위한 복수의 (자동 및 반자동화)방법을 이용할 수 있다. 이 경로 계획이 완료되면, 결과는 타깃 좌표계 내 "차트(chart)", 즉, TCP(그리고 따라서 공구)의 타깃 궤적의 정의이며, 상기 차트는 정상 조건 하에서 쉽게 로봇 프로그램으로 변환될 수 있다. 이 상황이 도 1에 예시로서 도시되어 있다. 정지상태 베이스(stationary base)(11) 상에 위치하는 6 자유도를 갖는 매니퓰레이터(manipulator)(10)가 도시된다. TCP(12)는 공구(가령, 코팅 처리를 위한 스프레이 건(spray gun))을 고정한다. 개략적으로 도시된 작업부재(20) 상에서, 가령, 사형 패턴(serpentine pattern)으로 서로 연결된 계획된 경로(21)가 디스플레이된다. 적용에 따라서, 경로가 항상 동일한 방향으로 실행되는 것이 필요할 수도 있다.
전체적으로 계획된 경로가 다음 단계를 위한 시작점으로서 기능하는 차트를 나타낸다. 이들 데이터는 이미 존재하는 로봇 프로그램으로부터 취해질 수도 있으며, 이 경우, 프로그램은 작업부재 좌표에서 공구 경로(21)로 변환된다. 그 후 추가 복잡도(작업부재에 중첩되는 운동, 파라미터 변동)가 자동으로 고려되며, 이는 이하에서 설명된다.
차트의 예비 분석/신속 시험
작업부재의 형태 및 위치의 변동 및 그 밖의 다른 파라미터 변동이 고려될 경우, 이론적으로 관련 경우에 대해 차트가 구현될 수 있는지 여부(즉, 경로가 충돌 회피와 함께 실현 가능한지 여부) 및 이들 경로를 구현하는 처리의 결과가 지정된 품질 기준(가령, 코팅 물질의 충분한 도포, 연마 동안의 적절한 압력 등)에 부합할 것이지 여부를 결정하기 위해 파라미터 변동 및/또는 결함의 다양한 조합에 대해 원본 차트가 시뮬레이션된다. 시뮬레이션을 위해, 예를 들어, 가상 로봇 제어기(가령, "realistic robot simulation(현실 로봇 시뮬레이션)", 즉 RRS 등)를 갖는 가상 로봇이 사용될 수 있다. 전체 범위의 가능한 파라미터 변동, 특히, "최악의 경우(worst case)"가 커버되도록 언급된 서로 다른 파라미터 변동의 조합이 선택된다. 다시 말하면, 파라미터 변동의 상태 공간(state space)이 이산화(discretize)된다. 상태 공간 내 각각의 이산 점이 특정 파라미터 변동을 갖는 n-튜플(n-tuple)에 의해 표현된다. 도 2에서, 이는 2개의 파라미터(n=2, 도 2a) 또는 3개의 파라미터(n=3, 도 2b)의 변동에 대해 도시된다. 도 2a는 파라미터 변동으로서, 예를 들어, x-방향과 y-방향으로 된 타깃 위치로부터의 작업부재의 위치의 편차를 도시한다. 따라서 상태 공간 내 원점이 작업부재의 이상적인 위치(타깃 위치)일 것이다. 도 2b는 3개의 파라미터에 대한 동일한 상황을 도시한다. 일반적으로, 파라미터 변동의 상태 공간은 n-차원이다. 타깃 위치에 추가로 최소치(minima)와 최대치(maxima)의 조합만 고려되는 방식으로 상태 공간이 이산화되는 경우, 3n개의 서로 다른 상태(파라미터 변동의 상태 공간 내 점들)이 획득된다. (대안적으로 또는 추가적으로) 평균 편차를 고려할 때, 이들 이산 상태의 개수는 2n이다. 대안적으로, 빠른 고려를 위해, 원점에서 상태 공간의 개별 축까지의 최대 거리가 플로팅(plot)될 수 있고, 원점을 포함해 2n+1개의 상태들을 도출한다. 그러나 파라미터 변동의 상태 공간이 이산화되는 특정 방식은 불규칙적인데, 중요한 것은 파라미터 변동의 상태 공간의 관심 영역이 충분히 "샘플링"되어, 개별 파라미터들의 변동의 모든 가능한 조합에서 관심 상태 공간의 "샘플링"이 고려될 수 있다는 것이다. 앞서 언급된 본래 차트의 검증("신속 시험(quick test)"이라고 지칭됨)이 파라미터 변동의 이산 상태 각각에 대해 수행된다. 상태 각각에 대해, 신속 시험에서 본래 차트가 구현될 수 있는지(실현가능한지 및 충돌 회피인지) 여부가 결정되고, 계획된 경로 및/또는 기계가공된 작업부재의 어느 영역에서 처리의 결과가 이전에 정의된 품질 기준(가령, 연마 동안의 접촉 압력이 지정 범위 내에 있는지, 물질 도포가 타깃 두께 범위 내에 있는지 등)에 부합할 것인지가 결정된다.
작업부재에 중첩되는 운동도 고려되어야 하는 경우, 차트가 구현될 수 있는지 여부를 결정하고, 경로를 따르는 처리가 지정된 기준(가령, 충분한 코팅 물질이 도포되는지, 연마 동안 적절한 압력인지 등)에 부합할 것인지 여부를 결정하기 위해, 본래 차트가 여러 다른 "상태들"에 대해 시뮬레이션될 것이다. 이 경우, 상태는 파라미터의 편차의 정확한 집합(n-튜플)이 아니지만, 대신, 경로의 정확한 시퀀스 및 연관된 기계가공을 위한 시작 시점, 및 선택사항으로서, (계획됐다고 가정하면) 로봇 베이스의 특정 지정된 중첩 운동이다. 이 상황이 도 3에 도시되어 있다. 직선은 (작업부재와 로봇 베이스 간 일정한 상대 속력에서) 작업부재와 로봇 베이스 간 선형으로 상승하는 오프셋을 보여준다. 덧붙여, 공구 경로(도 1에서 도면부호 21) 각각에 대해, 로봇에 대한 각자의 경로의 개별 (시퀀스) 점들(수직선)에 충돌 없이 도달할 수 있는 오프셋이 무엇인지에 대해 플로팅된다. 일정한 상대 속력을 가정하면, (속력에 대응하는) 직선의 기울기, (초기 오프셋에 대응하는) 직선의 오프셋 및 경로의 시퀀스 및 연관된 시작 시점(그리고 처리가 허용하는 한 실시 방향)이 조정될 수 있다. "상태"는 시작 시점과 연관된 기울기, 오프셋 및 경로 시퀀스의 특정 조합에 대응한다. 모든 수직선이 직선과 교차되는 상태가, 이론적으로 모든 경로가 실현 가능하다는 점에서 만족스럽다. 이는 신속 시험을 이용해 임의의 개수의 상태에 대해 검증될 수 있다. 각각의 상태에서, 어느 영역에서 지정된 품질 기준이 만족되는지 그리고 어느 영역에서 그렇지 않은지가 결정될 수 있다. 이동형 로봇 베이스가 컨베이어와 동기화하여 점진적으로 움직이는 경우, 직선은 또한 톱니 곡선의 형태에 근사할 수 있다. 로봇 베이스의 (선형) 운동의 자유 선택의 경우, 오프셋과 시간 간의 관계는, 직선보다는, (속력 및 가속도 한계를 기초로 하여 기울기 및 곡률의 측면에서 감소된) 시간의 거의 랜덤 함수일 수 있다. 로봇이 고정 장착된 경우, 컨베이어의 운동에 의해 직선의 기울기가 결정될 것이지만, 이는 규칙으로 지정되며 변경될 수 없다.
따라서 방법의 기재된 예시의 첫 2개의 단계가 다음과 같이 요약될 수 있다. 제 1 단계: 작업부재의 처리 시퀀스에 대한 차트가 준비된다. 이 차트는 (작업부재에 대한) 타깃 좌표계에서의 공구에 대한 경로 데이터를 포함하고, 예를 들어, 프로그래밍 동안 어떠한 파라미터 변동 또는 작업부재의 추가 자유도도 고려되지 않은 종래의 방식으로 계획된 로봇 프로그램으로부터 취해질 수 있다. 이 단계에서, 또한 추가 축이 로봇 베이스를 이동시킬지 여부 및 방식이 특정된다. 제 2 단계: (결함/허용오차 한계의 경우) 파라미터 변동이 고려되어야 하거나, (작업부재가 움직이는 경우) 공구 경로 및 시작 시점(또는 로봇 베이스와 작업부재 간 시작 오프셋)에 대한 시퀀스 및 연관된 시작 시점을 나타내는 상태 공간이 정의된다. 이산화 후, 개별 상태가 신속 시험의 대상이 되며, 여기서 각각의 상태에 대해, 제 1 단계에서 지정된 차트가 이론적으로 실행될 수 있는지(즉, 모든 경로에 도달할 수 있는지) 여부와, (작업부재를 따르는 어느 포인트에서) 처리의 결과가 지정된 품질 기준에 부합할 것인지 여부가 검증된다.
경로의 특정 개수 또는 특정 부분(퍼센티지로 표현)이 실현 가능 및/또는 실행 가능하지 않는(또는 불충분하게만 실현 가능 및/또는 실행 가능한) 상태, 또는 작업부재의 충분히 넓은 영역에 걸쳐 처리의 결과가 품질 기준에 부합하지 않는 상태가, 이 평가의 결과로서, 폐기될 것이며, 다음 단계에서 더 이상 처리되지 않을 것이다. 어떠한 "이용 가능한 상태" 또는 (파라미터 변동이 고려될 경우) 불충분한 개수(최소 개수보다 많음)의 이용 가능한 상태가 남아 있는 경우, 제 1 단계에서 준비된 차트는 본질적으로 부적합할 수 있다. 나머지 상태들이 제 1 단계에서 준비되는 차트가 이론적으로 적합한 상태 공간 내 영역을 정의하고, 수정을 통해 실시 가능한 차트로 변환될 수 있다. 방법의 실시예에 따라, 이 시점에서 상태를 폐기하는 것이 필요한 경우, 제 1 단계에서, 대안적 초기 차트를 준비하기 위해 처리가 중단될 수 있다. 신속 시험 후, 방법의 실시예에 따라, (폐기되지 않은 나머지) 상태들이 그룹화될 수 있다. 그룹화는 상태들을 유사한 결손들이 작업부재의 동일 영역에서 발생하는 상태들을 동일 그룹에 분류(classify)함으로써 수행된다. 작업부재의 동일 영역 내 동일 결손은, 가령, 작업부재 표면을 연마하는 경우, 가령 연마 동안의 접촉 압력이 작업 부재의 "전방 좌측" 영역에서 항상 불충분한 상태를 의미한다. 마찬가지로, 물질을 코팅하는 적용을 포함하는 예시에서, 이 경우, 가령, TCP가 경로를 따를 수 없거나, 더 이상 올바른 각도로 경로를 따르지 않거나, 더 이상 표면에 대해 올바른 속력으로 경로를 따를 수 없기 때문에, 특정 상태에 대한 특정 가장자리 영역에서 코팅 물질의 도포가 너무 두껍거나 너무 얇은 일이 발생할 수 있다. 따라서 이들 상태가 하나의 그룹으로 분류될 것이다.
따라서 앞서 기술된 신속 시험이 상태들을 분석한다. 특정 상태에 대한 차트가 사용할 수 없기 때문에 폐기될지 여부가 결정되는 기준("야드스틱(yardstick)")은, 적용/목적에 따라 크게 달라질 수 있다. 파라미터 변동이 고려될 경우, 상태에 대한 차트가 실제로 폐기되기 전에 (다음 단계에서의 강력한 최적화 요건과 함께) 비교적 "열악한(poor)" 결과도 허용될 수 있고, 반면에, 작업부재의 운동이 고려될 경우, (결국 단 하나의 상태만 남겨지는 경우라도) 야드스틱이 상당히 더 높게 유지될 수 있다. 따라서 (1.) 파라미터 변동이 고려될 경우, 규칙 상, 모든 상태에 대해 수정 없이는 차트가 결코 "OK"되지 않을 것이고, (2.) 추후 단계에서, 복수의 차트(가령, 그룹 각각에 대해 하나씩)가 또한 생성될 수 있고, (3.) 추후 단계(상세 계획/최적화/검증 후 단계)에서 목표는 일반적으로 가능한 많은 상태(바람직하게는 모든 상태)에 대해 사용 가능한 차트를 생성하는 것이기 때문에, 차이가 도출된다. 지나치게 적은 상태들에 대해 만족스러운 결과가 획득될 수 있을 때, 종종 시작부분에서 다시 시작하고 초기 차트를 수정하는 것이 더 적절하기 때문에, "중단(abort)" 옵션이 더 사용된다. 작업부재의 운동이 고려될 경우, 이론적으로 하나의 사용 가능한 상태(즉, 시작 시점을 갖는 경로의 사용 가능한 시퀀스 등)가 하나의 차트를 생성하기에 충분하다. 복수의 상태가 확률을 증가시키고, 및/또는 특정 환경 하에서 비교를 통해 더 우수한 결과를 제공할 수 있다.
최적화 및 검증
앞서 기재되지 않은 제 3 단계에서, 신속 시험을 이용해 시험되고 다양한 상태에 대해 분석된 차트가 추가 최적화 단계를 위한 "초기 솔루션(initial solution)"으로서 사용된다.
앞선 신속 시험에서 수행된 그룹화를 이용해, 최적화(즉, 최적화된 차트를 이용)를 통해 결과를 개선하는 것이 종종 가능하다. 이의 목표는 결함 및/또는 파라미터 변동의 존재에도 불구하고, 및/또는 작업부재의 운동에도 불구하고, 만족스럽게 기능하는 최적화된 차트를 식별하는 것일 수 있다. 잠재적 파라미터 변동이 고려되어야 할 경우, 또한 목표는 잠재적 파라미터 변동/결함의 서로 다른 서브 영역에 대해 몇 가지 서로 다른 최적화된 차트를 찾는 것일 수 있다. 예를 들어, 앞선 신속 시험에서 정의된 그룹 각각에 대해 하나씩의 차트가 생성될 수 있다. 추후의 차트의 실제 이행 중에, 센서(가령, 카메라, 레이저 스캐너, 광 섹션 센서 등)를 이용해 작업부재가 측정되고, 파라미터 변동의 상태 공간에서 편차가 식별된다. 결함 및/또는 파라미터 변동이 실제 발생하는 서브영역에 따라서, 관련 영역에 대해 최적화된 차트(및/또는 이를 기초로 하는 로봇 프로그램)가 사용된다.
앞서 언급된 최적화 단계에서, 신속 시험에서 식별되는 "초기 솔루션"에서의 전체 처리(즉, 예를 들어, 로봇에 의해 수행되는 코팅 또는 연마 처리)이 가상 로봇 제어기를 이용해 완전히 시뮬레이션되고, 결과는, 예를 들어, 비용 함수(cost function)를 이용해 분석된다. 가령, 따를 수 없는 경로의 부분(퍼센티지 단위), 앞서 언급된 품질 기준이 초과되거나 미달되는 작업부재 표면의 비율, 가속도 한계의 초과 등의 상이한 변수(선택사항으로서, 상이하게 가중된 상이한 변수)가 이 비용 함수에서 사용된다. 이 최적화의 목표는 이 비용 함수를 최소화하는 것이다. 이 최소화를 이루기 위해, 초기 차트가 다양한 방식으로 적응될 수 있다. 예를 들어, 경로의 시퀀스 및 연관된 시작 시점과 차트의 이행의 시작 시점(및/또는 로봇 베이스와 작업부재 간의 초기 오프셋)이 수정될 수 있고, 경로를 따르는 공구의 속력이 조정될 수 있으며, 작업부재 표면 상의 경로의 위치가 (지정 한계 내에서) 조정될 수 있고, 작업부재와 공구(가령, 스프레이 건) 사이의 거리 및 표면에 대한 공구의 각 위치(angular position)가 조정될 수 있다. 차트를 반복적으로 적응시키고 그 후 시뮬레이션함으로써, 상기 비용 함수가 최소화되고, 이러한 관점에서 최적의 차트가 식별될 수 있다. 차트를 수정하기 위한 언급된 옵션은 예시이며, 한정적 나열(exhaustive listing)이 아님이 이해될 것이다. 덧붙여, 나열된 모든 옵션이 필수는 아니다. (신속 시험 동안 결정된) 경로의 시퀀스를 다시 수정하지 않고 경로의 시작 시점과 실행 속력을 변경함으로써, 유효 수정/최적화된 차트를 생성하기 위한 시도가 또한 이뤄질 수 있다.
로봇 프로그램으로의 변환
제 4 단계에서, 충분히 만족스러운 차트가 식별되었다면, 이들 차트(전부 또는 일부)가 하나 이상의 실행 가능한 로봇 프로그램(운동, 스위칭 포인트, 신호, 대기 등)으로 변환되고, 고려될 추가 복잡도와 관련된 정보(가령, 각각의 경로의 시작과 종료에 대한 또는 하나의 경로 내 각각의 경로 점에 대한 컨베이어의 바람직한 전방 전진도(forward progression) 또는 각자의 차트가 전체로서 유효하고 구현될 수 있는 결함/파라미터 변동의 영역)와 함께 저장된다.
예시
로봇에 대한 최적화된 작업흐름(차트) 및/또는 대응하는 로봇 프로그램의 컴퓨터-보조식 자동화(컴퓨터-보조식) 생성을 위한 앞서 기재된 방법은, 계획설계 엔지니어(planning engineer) 또는 사용되는 자동화 OLP 또는 계획설계 툴이 단순한 케이스만 고려할 필요가 있으며, (작업부재에 중첩되는 운동 또는 파라미터 변동의 고려로부터 도출되는) 추가적인 복잡도는 자동으로 고려되고, 상기 단순한 케이스에 대해 개발된 차트로부터 진행된다는 개발 단계 동안의 이점을 제공한다. 다음의 기재에서, 이러한 사실에 따른 처리가 일반적인 용어로만 기재되며, 일반화될 수 있는 예시의 맥락에서 더 상세하게 특정될 것이다.
예시 1: 제 1 예시는 (지정된) 운동이 작업부재에 중첩되는 경우를 해결한다. 일반적으로, 작업부재는 지정된 방식으로 N 자유도로 운동할 수 있다. 동시에, 로봇은 시간의 흐름에 따라 (마찬가지로 지정된 방식으로) 운동할 수 있다. 다음의 예시에서, 작업부재가 선형 컨베이어(가령, 컨베이어 벨트, N=1)에 의해 운동된다.
제 1 단계에서, 마치 작업부재(및 로봇 베이스)가 정지상태인 것처럼, 로봇의 원하는 작업에 대한 공구 경로가 알려진 방식으로(타깃 좌표계의 작업부재 좌표로) 계획되거나 특정된다. 대안적으로, 종래 방식으로 생성된 로봇 프로그램은 작업부재 좌표계로 된 공구 경로로 읽히고 변환될 수 있다. "종래 방식으로 생성된"은, 그 밖의 다른 것들 중에서, 프로그래밍이 정지상태 작업부재라는 앞서 언급된 가정을 기초로 이뤄진 것임을 의미하는 것으로 이해된다. 대부분의 경우, 선형 컨베이어의 운동은 생산 시퀀스에 의해 견고하게 지정(firmly predefine)되고, 대부분의 경우, 영향 받을 수 없다. 어떠한 경우라도, 컨베이어의 운동은 이 단계에서 (선택사항으로서 지정된 파라미터에 따라) 정의된다. 동시에, 작업부재의 운동으로부터 도출된 이러한 추가 복잡도를 다루기 위한 "전략"이 확립된다. 실시될 때, 이를 위한 실질적으로 세 가지 옵션이 존재한다: 첫째, 로봇은 고정적으로 배치된 로봇 베이스 상에 장착되거나, 둘째, 상기 로봇은 고정적으로 지정된 모션 패턴을 갖는 (적어도) 하나의 보조 축 상에 장착되거나, 셋째, 로봇이 자유롭게 계획될 수 있는 모션 패턴을 갖는 하나 이상의 보조 축 상에 장착된다(선택사항으로서, 선호되는 거동, 가령, 최소 경로, 또는 최소 에너지 또는 컨베이어 운동과 동기화되는 운동이 또한 확립될 수 있다). 이 세 번째 경우에서, 우선 이 운동이 지정될 수 있으며, 또한 추후 최적화 단계에서 수정될 수 있다. 작업부재의 운동이 지정되고 로봇 베이스의 운동이 지정된 경우, 로봇 베이스와 작업부재 간의 상대적 운동 및 이에 따른 로봇 베이스와 작업부재 간의 (시간 종속적) 오프셋이 역시 정의된다.
이 단계(제 2 단계, 신속 시험) 후, 적용(즉, 제안된 차트의 실행)에 미칠 고려될 추가 복잡도(즉, 작업부재에 중첩되는 운동)의 영향이, 앞서 기재된 바와 같이, 신속 분석(quick analysis)에서 결정된다. 상태 공간이 이산화되고, 여기서 본 예시의 경우, 이산 상태 각각이 공구 경로의 특정 시퀀스 및 특정 시작 시점(시작 오프셋)을 나타낸다. 여기서, 개별 공구 경로 각각(도 1에서 도면부호 21로 나타남)이 공구 경로 상의 이른바 경로 점(path point)에 의해 세분화되며, 이로써 각각의 경로가 경로 세그먼트로 세분화된다. 이 세분화는 고정적으로 지정되지만, 추후 최적화 단계에서 필요에 따라 수정될 수도 있다. 따라서 경로는 이의 경로 점들의 총체로서 정의된다. 이전에 제안된 차트의 공구 경로 각각(도 1에서 도면부호 21로 나타남)에 대해, 어느 이산 (시작) 오프셋 값에서 각각의 공구 경로 상의 개별 경로 점(또는 세그먼트)이 획득될 수 있는지를 결정하기 위해 시험 및/또는 시뮬레이션이 수행된다. 설명 목적으로, 결과가 도 3에서 예시로서 도시된 다이어그램에 (오프셋) Y-축 상의 수직 실선 또는 점선으로서 기록될 수 있다. 공구의 타깃 속력 및 2개의 인접한 경로 점들 사이의 경로(각각의 공구 경로의 세그먼트)의 (6차원 설정 공간에서의) 길이를 기초로, 이들 수직 선이 시간과 관련하여(도 3의 다이어그램에서 수평방향으로) 얼마나 멀리 이격되어 놓이는지(허용되는 변위를 나타냄)가 결정/추정된다. 시퀀스 공구 경로(도 1에서 도면부호 21로 나타남)의 마지막 경로 점과 첫 경로 점 사이에, 경로들 간 로봇의 운동을 위해 요구되는 추정되거나 시뮬레이션된 시간이 시간(X-) 축 상의 시간에 따른 거리(distance over time)로서 고려된다. 이 시간에 따른 거리는 공구 경로의 실행이 완료되었을 때, 다음 공구 경로의 실행을 시작하기 위해 로봇에 의해 요구되는 시간을 나타낸다. 예를 들어, 2개의 공구 경로 간 로봇의 팔꿈치 설정의 재설정("팔꿈치 위로"에서 "팔꿈치 아래로"로)이 필요할 수 있다. 필요한 경우, 로봇은 2개의 경로 사이에서 다음 경로의 실행을 시작하기 위한 시점까지 대기할 수 있다. 마찬가지로 컨베이어의 타깃 속력(및/또는 모션 패턴)이 도 3의 다이어그램에서 시간에 따른 곡선을 도출한다. 앞서 이미 언급된 바와 같이, 일정 속력으로의 상대적 운동의 경우, 이 곡선은 오프셋 축 및 시간 축에 대각선으로 뻗어 있는 직선이다(도 3 참조).
시뮬레이션된 값을 기초로 하여(즉, 경로 점들과 개별 공구 경로 사이의 시뮬레이션된 시간에 따른 거리를 기초로 하여), 공구 경로 및 연관된 시작 시점의 하나 이상의 선호되는(즉, 확립된 품질 기준을 기초로 하여 적합하다고 평가된) 시퀀스가 다음과 같이 정의된다: 공구 경로의 시퀀스 및 시작 시점(=공구 경로)을 변경하고 선택사항으로서 이의 실행 방향(execution direction)을 변경함으로써, 작업부재의 모션 곡선(도 3에서 대각선으로 뻗어 있는 직선)이 모든 경로의 (허용 오프셋을 나타내는) 개별 경로 점의 수직선과 교차하는 배열(상태)이 찾아진다. 작업부재의 모션 곡선이 경로의 모든 경로 점의 수직 선(각각의 경로 점에 대해 이론적으로 가능한 오프셋 값 )과 교차하는 최대 및 최소 오프셋이 또한 각각의 경로에 대해 시간 슬롯(time slot)(또는 변환 윈도(transformation window))을 정의한다. 이 윈도 내에서, (신속 시험에 따라) 각각의 공구 경로는 로봇에 의해 실행될 수 있다.
개별 공구 경로에 대해 시퀀스와 시작 시점을 확립할 때, 예를 들어, 공구 경로의, Y-방향으로 플로팅된, 허용 오프셋의 종료점으로부터(또는 시간 슬롯의 가장자리로부터) 컨베이어의 모션 곡선 상의 개별 교차 점들의 거리가 최대화될 수 있다. 대안적으로, 가능한 최신 종료 시점으로부터의 거리도 최대화될 수 있다. 두 번째 경우에서, 또한 공구 경로가 지연 시간을 두고 실행될 수 있으며, 지연 시간을 이용해 로봇이 (차후의) 완전한 동적 시뮬레이션(상세 계획/최적화/검증) 및 실제 실행을 위해 시간을 더 필요로 할 경우 솔루션이 실행 가능하게 유지된다. 또한 개별 공구 경로 간 (시간에 따른) 거리가 최대화될 수 있다(버퍼 시간). 어떠한 실행 가능한 시퀀스도 발견되지 않거나, 식별된 시퀀스에 대한 나머지 시간 버퍼(경로의 실행 시점과 시간 슬롯 사이의 시간에 따른 거리)가 최소 임계치보다 작은 경우, 차후의 상세 계획/최적화에서 어떠한 유효한 차트도 식별되지 않거나 시간과 관련해 이미 낮은 결함율(가령, 컨베이어의 속력의 변동)을 갖는 강건하지 않은 차트만 식별될 가능성이 높다. 이러한 경우, 처리가 중단될 것이고, 개발자에게(또는 자동 OLP 공구로), 추가 복잡도를 고려하지 않고 앞서 정의됐었던 전략(가령, 로봇 베이스의 고정된 베이스 또는 지정된 모션 패턴을 갖는 로봇을 선택하기) 및/또는 공구 경로가 구현될 수 없다는 메시지가 되전송될 것이다. 그 후 새로운 및/또는 수정된 초기 차트가 제안되어야 하고, 및/또는 로봇 베이스의 운동이 조정되어야 하기 때문에 자동화 처리가 재시작된다. 한 가지 바람직한 실시예에서, 임계/계획될 수 없다고 분석된 경로를 포함하는 가능한 최상의 시퀀스가 수동 재-계획/수정을 지원하도록 나타난다.
제 1 단계에서 초기에 계획된 공구 경로("초기 차트") 및 제 2 단계(신속 시험)에서 식별된 이의 적합한 상태(시퀀스 및 시작 시점)가, 이하에서 설명될 바와 같이, 뒤 이은 최적화 단계에서(루프에서 교대로) 정제되고, 최적화되며, 평가된다. 이 단계에서, 각각의 개별 경로에 대한 정밀 로봇 운동 및 이들 개별 경로들 간 중간 운동(intermediate movement)이 작업 셀 내에서, 가상 로봇 제어기를 구비한 가상 로봇을 이용해, 공구의 동시 운동의 결과로서 시간에 따라 변하는 (제한된 가속도, 속력을 고려한) 동적 로봇 모델을 이용해 시뮬레이션된다. 최적화 동안, (개별 경로들의 실행들 사이의 시간을 포함해) 공구 경로에 대응하는 운동의 시작 시점과 실행 속력과, 작은(정의 가능한) 범위로는, 실행될 경로 자체가 다음의 기준에 대해 시뮬레이션 동안 획득된 (추정) 값을 최대화하는 목표를 갖고 (알려진 알고리즘에 따라서) 수정된다: (정밀하게 시뮬레이션되는) 실행 공구 경로에 대한 처리 시뮬레이션이 긍정적인 처리 결과(너무 많거나 너무 적은 물질이 제거되지 않고, 파라미터, 가령, 접촉 압력을 초과하지 않음)를 생성하는 실행 가능한 공구 경로의 길이(가령, 퍼센티지 단위) 및/또는 작업부재의 표면의 퍼센티지. 이 경우, 처리 시뮬레이션 동안, 최적화된 차트에 대한 각각의 결과(가령, 세정의 경우 세정 효과: 세정됨, 세정되지 않음, 불확실, 등)가 작업부재의 표면에 대한 설명(가령, CAD 데이터)과 함께 저장된다. 방법의 하나의 실시예에서, 공구의 위치(및 따라서 표면과 관련된 로봇의 위치)가 계획 또는 최적화 알고리즘을 이용해 조정되어, 품질 기준에 부합하는 관련 작업부재 표면의 퍼센티지가 최대화되도록 한다. (가령, 코팅, 연마 등 동안) "틈" 또는 "결함"이 더 가중화(weight)되어, 바람직하게, 이들이 가깝고 연접한 영역으로 얻어지도록 할 것이다. (처리 결과를 분석하는 척도에 영향을 미치는) 부정적인 값을 이용해 또는 처리 결과에 대한 부정적인 영향만 이용해, 폐기된 운동(가령, 경로 및/또는 개별 경로 세그먼트)이 평가될 수 있다. 추가 최적화 기준으로서, 루프 시간(즉, 로봇이 처리를 위해 필요한 전체 작업 시간)이 유지되거나, 최대 시간 미만이거나, 추가로 최소화되도록 특정될 수 있다. 매우 일반적으로, 비용 함수의 임의의 최소화는 상기 비용 함수의 보수인 효용 함수의 최대화와 동일한 것이 유지된다. 비용 함수가 최소화되면, 보수인 효용 함수가 자동으로 최대화된다.
공구 경로로부터, 타깃 시점에서의 각각의 로봇 축에 대한 타깃 위치 및 타깃 속력이 모든 계획된 경로 점에 대한 역 운동학(inverse kinematic)을 이용해 계산된다. 모션 계획은, 예를 들어, 상태 공간 내에서 시작 위치와 종료 위치 간 연결(가령, 관절 각도 및 이의 속력, 및 시간)을 찾는 확률적 방법(가령, "고속 탐색 랜덤 트리(Rapidly Exploring Random Trees)" 즉 RRT 또는 "확률 로드 맵(Probabilistic Road Maps)" 즉 PPM 등)을 기초로 하며, 경로 점은 연결된 경로 세그먼트들에 대한 시작점 및/또는 종료점이다. 그러나 움직이는 작업부재를 처리하기 위한 본원에 기재된 방법에서, 런타임 수행 및 축의 속력 및 가속도의 제한(limitation)이 고려되어야 한다. 덧붙여, (상기의) 알려진 방법이 찾는 상태 공간은, 각각의 상태에 대해, 위치 및 속력의 제한된 추가 조정만 가능함이 고려되어야 하기 때문에 제한적이다. 이러한 목적으로, 각각의 경로 점 i에 대해, 경로 점 i로부터의 최대 음의 가속도 및/또는 양의 가속도의 제한 경우에 대해, 각각의 축의 상태(위치 및 속력)가 다음 경로 점 i+1의 시점까지 투영된다. 이에 추가로, 현재 경로 점 i에서의 상태로부터, 경로 점 i-1에서의 상태까지의 운동(최대 가속도)의 2개의 극한 경우(extreme case)가 규정된다. 각각의 축에 대한 허용 상태가 2개의 극한 경로(extreme path) 사이에만, 즉, 최소값과 최대값 사이에 위치하는 영역에만 위치할 수 있다. 2개의 경로 점들 사이의 전체 세그먼트에 걸쳐 (모든 축에 대해) 겹치는 영역, 경로 점 i의 전방 및 경로 점 i+1 후방으로부터의 영역이 존재할 때만, 가속도와 속력의 측면에서 축의 실제 제한을 준수하는 상태의 변경이 존재한다. (종래의 방법에 따른) 상태 공간에서 뒤 이은 경로 계획이 이 겹침 영역에서만 상태의 연결을 찾을 수 있기 때문에, a) 겹침 영역을 최대화하고, (b) 부정적인 값(무효)을 상태 공간의 "수축"에 첨부하는 종래의 방법에 따르는 최적화가 이 계획에 앞선다. 이러한 목적으로, 계획의 일부로서, 상태들이 축 위치 및 축 속력 및 이들이 도달되는 시점에 관하여 수정되고, 모든 변경에 비용이 할당된다(비용은 처리에 따라 달라질 수 있고, 따라서, 예를 들어, 접촉-기반 세정의 경우, 속력보다 공구의 위치가 더 결정적이며, 코팅의 경우, 종종 표면에서의 공구 속력이 더 중요하다).
이러한 방식으로 제한된 이러한 상태 공간에서, 알려진 방법(가령, PRM, RRT)에 따라 정밀한 충돌-회피(collision-free) 모션이 계획되고 시뮬레이션된다. 충분한 계산 시간이 있을 때, 본 발명에 기재된 방법의 하나의 실시예에서, 이러한 방식으로 정밀하게 예측되는 로봇의 모션에 대한 처리가 시뮬레이션된다. 결과가 표면을 참조하여 기재된 바와 같이 저장되고 원하는 대로 기계가공된(품질 기준이 타깃 범위 내에 있는) 영역의 퍼센티지가 최대화될 기준으로서 사용된다.
시퀀스에 대한 결과가 만족되자마자, 수렴이 느려지자마자, 또는 반복 횟수가 초과되자마자, 최적화가 종료된다. 구현에 따라서, 선행하는 신속 시험에서 식별된 모든 "상태" (경로에 대한 시작 시점을 갖는 시퀀스)가 시험되거나, 첫 번째 만족된 결과가 획득될 때 루프가 중단될 수 있다.
신속 시험에서 사전 계획된 상태들(시작 시점을 갖는 시퀀스) 중 어느 것에서도 어떠한 사용 가능한 솔루션도 발견되지 않은 경우, 처리가 제 1 단계로 복귀될 것이며, 새 초기 차트가 제안되어야 한다. 본원에 기재된 방법의 하나의 실시예에 따르면, 차트를 폐기하는 이유, 즉, 실행될 수 없는 공구 경로(의 일부분) 또는 처리가 만족스럽지 못한 결과를 생성하는 작업부재 상의 영역이 (이에 기여한 공구 경로와 함께) 보고된다.
상세 계획/최적화/검증을 따르는 단계에서, (실제 로봇 제어기 상에서 실행될 수 있는) 로봇 프로그램이 생성되고, 추가된 복잡도에 관한 추가 정보 "작업부재의 운동"을 제공받는다. 이러한 목적으로, 로봇의 계획된 운동이 (가령, 동일 시간격 또는 동일 경로 길이로) 이산화되고, 이들 경로 점에 도달될 컨베이어의 타깃 위치의 지시자(또는 컨베이어의 경로 인코더 값을 통해 측정 가능한 타깃 시점 또는 작업부재 위치)와 함께, 속력을 포함해 경로 점("포인트-투-포인트(point-to-point)", 즉 PTP, 스플라인(spline) 등)으로서 저장된다. 정적 환경(작업부재가 정지상태)에서, 경로를 정의하는 것, 즉, 어느 경로 점(선택사항으로서, 어떤 속력으로)을 따를 것인지를 정의하는 것이 충분할 것이다. 본원에 기재된 경우, 각각의 경로 점에 도달될 때가 역시 정의된다. 예를 들어, 완전히 확정적인 속성(deterministic property)을 갖는 컨베이어의 경우, 경로 점에 도달될 시점이 정의될 수 있다. 변동을 갖는 컨베이어의 경우, 예를 들어, 경로 점에 도달될 컨베이어의 위치가 정의된다.
바람직하게는, 프로그램이 다음의 2개의 부분으로 출력된다: a) 컨베이어(또는 작업부재)의 연관된 타깃 위치를 갖는 (로봇 축 또는 TCP의) 위치 및 속력의 리스트 - 이들 후자는 실행을 위해 로봇 제어기가 요구하는 것보다 더 밀접하게 이산화될 수 있음 - , 및 b) 컨베이어의 현재 실제 값(위치 및 속력)을 읽고, 이를 기초로 하여, (a)의 리스트로부터 로봇의 다음 타깃 위치를 선택 또는 보간(interpolate)하고, 컨베이어의 현재 속력 및 알려진 제어 원리(가장 단순한 경우, PID 제어기)에 따라 컨베이어 운동에 대한 로봇 모션의 전진율(앞서감, 뒤처짐)을 기초로 속력을 증가, 또는 감소, 또는 유지하는 루프의 형태로 된 처리 프로그램. 이러한 구현을 이용해, (1.) 로봇 모션의 계획의 부정확성(특히, 로봇 역학 및 제어 모델에서의 오차)이 보상되고, (2.) 로봇의 속력이 잠재적으로 변동 또는 교대하는 컨베이어 속력에(컨베이어의 완전 멈춤 포인트 또는 컨베이어의 반전 포인트에서도) 적응된다. 작업부재(또는 컨베이어)의 운동과 링크된 프로그램이 로봇 제어기로 로딩되거나 중간 저장되며, 온라인 실행을 위해 이용 가능하다.
따라서 앞서 기재된 본 발명의 양태는 일반적으로 공구를 이용해 움직이는 작업부재를 처리 또는 기계가공하기 위한 로봇을 제어하기 위한 방법으로 요약될 수 있다. 따라서 앞서 기재된 방법의 양태는 일반적으로 공구를 이용해 움직이는 작업부재를 처리 또는 기계가공하기 위한 로봇을 제어하기 위한 방법으로 요약될 수 있다. 이 처리에서, 로봇은 복수의 통과하는 경로 점에 의해 정의되는 차트(chart)에 따르는 운동을 실행한다. 앞서 언급된 바와 같이, 경로 점 각각에 작업부재의 타깃 위치가 할당된다. 로봇 운동의 실행 동안, 작업부재의 실제 위치가 측정되고, 이의 속력이 결정된다. 작업부재의 현재 타깃 위치가, 경로 점에 할당된 작업부재의 타깃 위치를 이용한 로봇의 현재 위치를 기초로 계산된다. 이는 또한, 가령, 보간(interpolation)에 의해 이뤄질 수도 있다. 작업부재의 타깃 위치와 실제 위치 간의 차이가 계산된다. 이를 기초로 하여, 로봇에 의해 도달될 다음 타깃 위치(경로 점) 및 이 위치가 도달될 연관 시점이 결정된다(이는 공구의 경로 속력을 정의함으로써 이뤄질 수 있고, 이로써, 경로 점에서의 도착 시각이 결정된다). 이러한 목적으로, 차트에 따라 하나의 경로 점이 선택되거나, 하나의 점이 차트의 2개의 경로 점들 사이의 보간에 의해 계산됨으로써, 다음 경로 점에서의 작업부재의 타깃 위치와 실제 위치 간의 현재 차이가 감소되거나 최소화될 것이다.
프로그램의 (시간과 관련되지 않는) 실제 온라인 실행을 위해, 센서는 컨베이어에 의한 작업부재의 운동에 대한 정보(위치 및 속력)를 획득한다. 프로그램의 실행 동안, 측정된 컨베이어 운동이 계획된 운동보다 앞서는지, 또는 뒤처지는지를 기초로 하여, 프로그램의 (위치/작업부재 당) 속력 값이 증가되거나 감소될 수 있다. 경로의 가까운 이산화를 이용해 프로그램을 2개의 부분으로 분할하는 기재된 바람직한 구현예에서, 또한 컨베이어가 정지상태일 때 시간에 따라 변하지 않는 위치 값의 계산, 또는 (컨베이어가 후방으로 움직이고 있을 때) 이전 시점에서의 위치의 계산에 따라 다음 위치 값이 컨베이어의 순간 속력과, 앞서는지 또는 뒤처지는지 여부를 기초로 재계산/보간될 수 있다.
예시 2: 제 2 예시에서, 자동화 동안 작업부재 또는 로봇의 위치 또는 운동의 편차가 고려되어야 하며, 또는 처리의 파라미터의 편차/결함/변동(코팅 물질의 양 또는 접착성의 편차, 연마 매체의 효율, 세정 효율, 먼지의 양 또는 접착성)이 발생할 수 있다(이하, 파라미터 변동이라고 지칭됨). 파라미터 변동의 실제 값은 실행 전 또는 실행 중에 부분적으로 측정될 수 있고, 계획 시점에서 알려지지 않는다(변동의 범위만 알려짐). 강건한 차트를 생성하기 위해 파라미터 변동을 고려하기 위한 이러한 및 기본 절차와 관련된 문제점은 앞서 이미 언급되었다.
제 1 단계에서(제 1 예시에서처럼), 파라미터 변동을 고려하지 않고 (즉, 이상화된 케이스에 대해) (작업부재 좌표 내) 공구 경로가 계획 또는 특정되거나, 기존 프로그램으로부터 읽히고 변환된다. 덧붙여, 고려될 파라미터 변동이 정의된다(가령, 차원당 분포, 최대 변동 범위, 각각의 변수 파라미터에 대한 신뢰도 구간 등). 선택사항으로서, 변수 파라미터들 간 종속도(dependency) 및 상관관계(correlation)가 또한 고려될 수 있다. 이 단계에서, 자동 계획 중 파라미터 변동을 고려하기 위한 전략이 또한 결정된다. 후자는, 가령, (1.) (가령, 어떠한 센서도 측정을 위해 사용될 수 없을 때/사용되지 않을 때) 모든 변동을 커버하는 하나의 프로그램이 정밀하게 생성되거나(예시 1에서처럼), 또는 (2.) 가능한 가장 큰 범위의 파라미터 변동을 커버하는 하나의 프로그램이 정밀하게 생성되거나, (3.) 실행 시간 동안 측정되는 파라미터 변동의 전체 범위를 다 함께 커버하는 복수의 최적화된 프로그램(상한(upper limit)이 정의됨)이 생성될 것이다. 하나의 예시적 실시예에 따르면, 개별 인자가 측정될 수 없음, 즉, 서로 다른 "그룹"으로 세분될 수 없다는 지시자가 제공된다. 서로 다른 상태를 파라미터의 공간으로 그룹화하는 것이 또한 앞서 언급된 바 있다.
제 2 단계(신속 시험(quick test))에서, 앞서 언급된 예시 1에서와 같은 방식으로, 고려될 추가 복잡도(앞서, 작업부재의 운동, 본 예시에서, 파라미터 변동)의 적용에 대한 영향이 신속 분석을 이용해 결정된다. 여기서, 분석될 N개의 파라미터/차원(N은 개별적인 정의된 가변 파라미터의 개수임)에 대해, N-차원 상태 공간을 조합하고, 그 후 조합된 결함/변동(=상태)의 이산 수량이 존재하도록 이산화("샘플링")함으로써, 이의 변동 범위가 입력되고 정의된다.
파라미터 변동의 상태 공간의 이산화의 예시는 이미 도 2를 참조하여 언급된 바 있다. 하나의 예시적 실시예에 따라, 개별 결함의 상관관계 또는 상호 배제 (mutual exclusion)를 기초로 하여 발생하지 않는 상태가 제거될 수 있다.
각각의 이산 상태에 대해, 그 후 (제 1 단계에서) 본래 정의된 공구 경로(즉, 본래의 차트(original chart))가 시험된다. 이는 처리(process) 및 로봇 모션이 시뮬레이션되고, (비-) 실행 가능한 모션의 퍼센티지 및 처리 결과가 만족, 나쁨, 충돌(또는 메트릭 등)로서 시뮬레이션된 작업부재의 표면의 퍼센티지를 기초로 하여, 각각의 상태가 분석됨을 의미한다.
상기의 초기 차트의 시뮬레이션이 만족스러운 결과(앞서 이미 언급된 바와 같이, 이에 대한 벤치마크가 지정 품질 기준에 도달함)를 제공한 모든 상태들이 하나의 그룹으로서 조합되고, 이 차트와 함께 모두 저장된다. 마찬가지로 나머지 상태들이 그룹화되며, 여기서 (배타적으로/우세하게) 로봇 모션의 유사한 문제점이 공구 경로의 동일한 세그먼트에서 발생하는 상태들 및/또는 (작업부재의 표면 상의 개별 영역에 걸쳐 처리 결과로서 저장 및 평가된) 처리 품질의 (유사한) 문제점이 작업부재 상의 동일한 위치에서 발생하는 상태들이, 마찬가지로, 하나의 그룹으로 조합된다. 예를 들어, 작업부재가 로봇에 의해 코팅될 경우에서, 가령, (처리 시뮬레이션에서 시뮬레이션되는) 작업부재 표면의 동일한 영역에 도포되는 코팅 물질의 양이 불충분한 파라미터 변동의 상태들이 있다.
본원에 기재된 예시적 실시예에 따르면, 파라미터 변동을 고려하기 위해 선택된 전략과 관련된 초기 차트의 적합성을 분석하기 위한 절차가 다음과 같다.
변형 1: 개별 상태에 대한 초기 차트의 시뮬레이션의 개별 결과(파라미터변동의 조합)가 중첩(superimpose)됨으로써, 각각의 경우에서, 국지적으로(작업부재 표면 상의 위치 또는 공구 경로 상을 의미함) 더 나쁜 결과가 더 우수한 결과를 덮어쓸 것이다. 말하자면, 모든 상태들에 대한 초기 차트의 시뮬레이션에 걸쳐 최악의 경우(worst case)가 형성된다. 이는 더 나쁘다고 평가된 (하나의 상태에 대한) 시뮬레이션된 처리 결과가 모든 우수한 결과를 덮어 쓰는 작업부재의 영역과, 세그먼트가 다른 시뮬레이션에서 실행될 수 있을 때 한 상태에 대해 "우세하게(dominate)" 실행될 수 없는 상기 세그먼트를 갖는 공구 경로에 대해 모두 적용된다.
변형 2: 시뮬레이션이 어떠한 만족스러운 결과도 없다고 예측한 상태의 퍼센티지가 분석된다(개별 문제의 가혹성(severity)이 가중화될 수 있다).
처리를 중단하고 단계 1(단순화된 경우에서 초기 차트를 준비)로 복귀하기 위한 기준으로서, "변형 2"에서, 불만족스러운 결과를 제공하는 시뮬레이션된 상태의 퍼센티지가 사용될 수 있고, "변형 1"에서, (모든 시뮬레이션 결과가 덮어써진 후) 사용 불가능하다고 평가되는 작업부재 표면의 퍼센티지가 및/또는 실행될 수 없는 공구 경로의 퍼센티지가 사용될 수 있다. 이 기준이 하한 임계치(bottom threshold) 미만으로 강하되면, 단 하나의 단일 또는 제한된 개수의 (추후 로봇 프로그램으로 변환될) 차트만 이용해서는, 뒤 이은 상세 계획/최적화가 (아마도 작은 제한과 함께) 모든 상태를 고려하는 데 성공하지 못할 것이라고 가정된다. 퍼센티지가 선택 가능한 임계치보다 높은 경우, 초기 차트가 폐기될 것이고, (앞서 예시 1에서처럼) 새로운 초기 차트가 제안되어야 한다. 임계 값은 선택되는 전략에 따라 달라지고, "모든 상태에 대해 P개의 차트"의 전략보다 "모든 상태에 대해 하나의 차트"의 전략에 대해 더 높다. 대안적으로, "P개의 차트" 전략의 경우, 그룹의 식별된 개수가 희망 차트의 개수 P보다 작거나 같은지 여부를 결정하도록 시험될 수 있다.
다음 단계(단계 3, 상세 계획/최적화/검증)에서, 초기 차트의 공구 경로가 식별된 그룹에 대해 최적화되고 더 상세히 시뮬레이션된다. 하나의 예시적 실시예에 따르면, 또한 전략이 "모든 상태에 대해 하나의 차트"인지 또는 "모든 상태에 대해 P개의 차트"인지가 결정된다.
"모든 상태에 대해 하나의 차트"의 전략의 경우, 초기 차트가 알려진 방법을 기초로 수정되고 최적화된다. 그 후, 지정 비용 함수가 최소화되는 차트가 최적이라고 고려된다. 다음이 이러한 비용 함수에 포함될 수 있다: (연관된 작업부재 표면 좌표와 함께 저장된) 시뮬레이션된 처리 결과가 (선택사항으로 편차의 정도로 가중화된) 허용되는 허용오차를 초과하는, 기계가공될 작업부재의 퍼센티지, 실행에 필요한 시간, 등. 본원에 기재된 방법의 하나의 예시에 따르면, 현재 최적화 중인 차트의 버전은 항상 모두에 대해 동일하게 시뮬레이션되거나 몇 가지 서로 다른 (랜덤 및 증가된 개수의) (결함/파라미터 변동의) 상태에 대해 시뮬레이션되며, (국지적으로) 사용 불가능한 처리 결과(가령, 코팅 물질이 특정 표면 영역 내에서 불충분하게 도포)가 그 밖의 다른 상태에 대한 사용 가능한 처리를 덮어 쓰도록 결과들이 덮어 써짐으로써, 최악의 경우를 식별할 수 있다. 이러한 전략을 이용할 때, 실용성을 위해, 파라미터 변동의 공간의 모든 이산 상태가 하나의 단일 그룹 내에 분류된다.
"모든 상태에 대한 P개의 차트"의 전략의 경우, 신속 시험 동안 형성된 상태들의 그룹이 차례대로 처리되고, 각각의 그룹에 대해 단일 차트가 최적화된다. 이는 하나의 그룹 내 모든 시험된 상태에 대해 "모든 상태에 대해 하나의 차트"(상기 참조)의 전략과 동일한 방식으로 수행될 수 있다.
대안적으로, 현재 그룹의 상태 각각에 대해, (동일한 그룹 내 하나의 상태에 대해 또는 또 다른 그룹에 대해 최적화된 차트에 대해) 이전에 최적화된 차트가 (지정된 허용오차 한계 내) 적절한 시뮬레이션 결과를 제공할 것인지 여부를 결정하는 것이 시뮬레이션될 수 있다. 이러한 목적으로, 처리가 로봇 시뮬레이션에 따라 실행될 수 있는 공구의 모든 경로에 걸쳐 시뮬레이션되고, 덮어 써지며 작업부재를 참조하여 저장되고(가령, 코팅 물질을 도포하는 경우, 표면 상의 층 두께에 대한 기술(가령, 메시(mesh), CAD 데이터 등)), 발생되는 임의의 위기 상황(충돌, 과도한 접촉력 등)이 긍정적인 결과를 덮어 쓸 것이다(이러한 방식으로, 앞서 언급된 최악의 경우가 식별된다). 처리 시뮬레이션의 결과는, 가령, 작업부재 표면의 기술에 대한 최종 층 두께 또는 세정 효과이다. 코팅 물질을 도포하는 경우, 이들은, 가령, 마이크로미터로 된 값 또는 "OK", "지나치게 두꺼움(too thick)", "지나치게 얇음(too thin)" 등의 표기이다. 세정의 경우, 이들은 가령, "세정됨(cleaned)" "세정되지 않음(not cleaned)", "불확실함(uncertain)" 등의 표기이다. 전체 표면에 대한 품질 기준이 만족되는 관련 작업부재 표면의 퍼센티지가 요구되는 한계 이상인 경우(이때, 서로 다른 영역(가령, 설계 에지) 또는 초과의 속성 및 가혹성(severity)이 분석에서 서로 다르게 가중치화될 수 있음), 또는 폐기되는 경로의 퍼센티지가 충분히 작은 경우, 차트를 수정하지 않고 현재 시험되는 상태에 시험된 차트가 할당될 것이다. 구현예에 따라서, 첫 적합한 차트가 사용되거나, 모든 차트 중 최상의 평가를 받은 차트가 사용될 수 있다. 하나의 예시적 실시예에 따르면, 각각의 그룹에 대해, 초기 차트는 그룹 내 단 하나의 상태에 대해서 최적화되고, 그 후 이 차트가 그룹 내 모든 나머지 상태에 대해서도 적합한지 여부를 결정하도록 시험이 수행된다. 차트가 부적합한 상태들이 새 그룹으로 배치된다. 대안적으로, 그룹 내 하나의 상태에 대해 차트를 최적화하기 전에, 또 다른 그룹에 대해 이미 최적화된 적 있는 차트가 적합한지 여부가 검사될 수 있다. 그럴 경우, 각각의 그룹이 조합될 수 있다. 결국, 수정된 차트가 상태들의 각각의 그룹에 대해 남겨진다.
시뮬레이션 결과가 이미 개발된 바 있는 차트 중 어느 것에 대해서도 충분하지 않은 경우, 현재 시험 중인 상태들에 대해 새로운 그룹이 개시될 것이고, (모든 상태에 대한 하나의 차트"의 전략과 유사하게) 상기 상태들에 대한 최적화 처리가 개시될 것이며, 여기서, 하나의 바람직한 구현예에서, 지금까지 최상의 평가를 수신한 (이때까지 생성된) 차트가(불충분하더라도) 최적화/적응화(adaptation)를 위한 시작점으로서 사용되거나, 또는 제 1 단계로부터의 초기 차트가 사용될 것이다. 종래 기술에 따르는 상세 계획 및/또는 최적화 알고리즘(가령, "입자 무리 최적화(Particle Swarm Optimization)")이 작업부재와 관련해(특히, 관련 작업부재 표면의 퍼센티지와 관련해) 만족되는 품질 기준이 최대화되도록 공구 경로를 변화시킬 것이다. 따라서 처리 결과를 개선하기 위해, 공구 경로의 경로 세그먼트가 작업부재 표면과 관련해 약간 편이(shift), 틸트(tilt), 상승(raise)되는 등이다. 바람직하게는, "틈새" 또는 "결함"에 더 가중치가 부여되어, 이들이 가깝게 위치 및/또는 제거되게 하고, 품질 기준을 만족하는 연접한 영역들이 얻어질 것이다. 덧붙여(예시 1에서와 같은 모션 차트를 이용하거나 종래 기술에 따라), 각각의 공구 경로(및 이의 연결)에 대해, 실행 가능한 로봇 모션이 찾아지고/계획된다. 전혀 실행될 수 없거나 부분적으로 실행될 수 없는 공구 경로가 또한 부정적인 값(negative value)을 이용해 분석되거나, 단순히 시뮬레이션의 결과에 어떠한 기여분도 제공하지 않는다. 모션의 지속시간(즉, 로봇에 의해 기계가공을 실행하는 데 필요한 시간)이 추가적인 최적화 기준일 수 있다. 상태 및 최적화된 차트가 새로운 그룹으로 저장된다. 차후 검사되고 동일 차트에 의해 커버될 수 있는 상태가 그룹에 할당된다.
대안적 실시예에서, 어떠한 적합한 차트도 신속 시험으로부터의 그룹화를 기초로 식별된 적 없는 모든 상태 및 이 결과로서 새로운 그룹이 정의된 상태, 또는 모든 상태가 처리된 후 예외적 취급(exceptional handling)으로서 배정된 새롭게 (신속 시험의 그룹이 아닌) 다른 그룹으로 할당된 상태들에 대해, 이들 새로 형성된 그룹이 추가로 조합될 수 있는지 여부를 결정하도록 추가 시험이 수행될 것이다.
각각의 그룹에 대해 차트가 존재할 때까지, 즉, 파라미터 변동의 전체 정의된 상태 공간이 커버될 때까지 루프가 계속되거나, 상태에 대해 어떠한 차트도 발견될 수 없는 경우 또는 그룹의 개수가 차트의 허용 개수를 초과한 경우 루프는 종료된다. 세부사항에 따라서, 상태에 대해 어떠한 솔루션도 발견되지 않게 되자마자 또는 루프가 종료되거나(새로운 개선된 초기 차트의 식별로 복귀), 어떠한 솔루션도 발견되지 않은 상태만 중간 저장되며, 이 후, 식별된 솔루션은 유지되면서 새로운 초기 차트가 이들 상태에 대해서만 준비될 것이다.
이상적으로(시뮬레이션을 위해 적절한 시간이 가정됨), 뒤 이은 최적화에서, 전략 1("모든 상태에 대해 하나의 차트")에 대해 기술된 바와 동일한 방식으로, 차트는 그룹/클러스터에 포함된 모든 변동에 대해 다시 한 번 최적화될 수 있다.
하나 이상의 차트가 추가 정보와 함께 저장된다(여기서 커버되는 상태들 = 각자의 차트가 유효한 결함/파라미터 변동의 영역).
다음 단계에서, 하나 이상의 차트 각각이, 계획된 로봇 모션의 "샘플링"(이산화)에 의해 (제어기에서 실행 가능한 = 로봇 특정적인) 로봇 프로그램(관절 상태, 스플라인, 신호 등)으로 변환되고, 자동으로 고려되는 차원에 대한 추가 정보(이 경우, 각각의 그룹의 차트가 유효한 허용 파라미터 변동의 영역)와 함께 저장된다.
프로그램의 (시간과 연결되지 않은) 온라인 실행의 경우, 센서가 실제 파라미터 변동(또는 적어도 이의 일부분)과 관련된 정보, 본 경우, 개별(측정가능한) 결함의 실제 값(가령, X, Y, Z의 위치 편차 등)를 획득한다. 그 후 이들 특정 결함/파라미터 변동을 포함하는 그룹이 선택되고, 이 그룹에 할당된 프로그램이 제어기로 업로드된다. 선택사항으로서, 앞서 언급된 최적화 단계에서 기재된 바와 같이, 측정된 상태에 대한 저장된 차트가 최적화될 수 있다.
다음에서, 앞서 기재된 처리가 다시 요약될 것이고 도 4 내지 13을 참조하여 더 상세히 특정된다. 본 발명의 기본 방법(도 4)에 따르면, 먼저, 이상화된 적용이 계획(또는 프로그래밍)된다. 본원 맥락에서 이상화된이란, 가령, (준-) 정적(static) 및/또는 결함 없는 것을 의미한다. 대안적으로, 기존 프로그램이 읽히고 변환된다(단계 I). 그 후에야, 역학(dynamics)(작업부재 운동) 또는 결함에 의해 조정되는 추가 복잡도/차원이 자동으로 고려되고, 이들 더 복잡한 경우에 대해 사용될 수 있는 차트 및 프로그램이 생성된다.
이는 다음에 따라 이뤄진다: 사전-처리(pre-processing) 단계에서, 본래 차트 및/또는 본래 프로그램에 미치는 추가 복잡도/차원의 영향(작업부재에 중첩되는 운동, 파라미터 변동)이 시뮬레이션되고, 처리 결과(코팅, 연마 등의 품질)가 분석되고, "초기 솔루션" 또는 경우(앞서 파라미터 변동의 상태 공간 내 상태들 및/또는 가능한 모션 패턴의 상태 공간으로 지칭됨)를 찾는 "대략 계획(rough planning)"을 위한 신속 시험이 수행된다(단계 II). 이들은 루프로 처리되고, 식별된 솔루션은 최적화 및 검증되며, 선택적으로 조합된다(단계 III). 식별된 차트로부터, 하나 이상의 프로그램들이 조합된다.
구체적으로 도 4는 다음을 나타낸다:
I. 추가 복잡조를 고려하지 않고 계획/정의 또는 로봇 적용에서 읽기(reading) 위한 모듈(I.1). 추가로 고려될 복잡도/차원의 뒤 이은 처리를 위한 준비에서, 이에 대한 (메트릭) 정보가 입력 또는 읽히며(I.2.) 차후 계획에서의 이의 취급을 위한 "전략(strategy)"(로봇 베이스에 대한 모션 패턴 또는 상태들의 복수의 그룹에 대한 복수의 차트)이 입력 및/또는 읽힌다(I.3.).
I.1. 작업부재 좌표로 된 공구의 경로를 계획하고, 및/또는 기존 프로그램에서 읽고 이들을 작업부재 좌표로 된 공구 경로로 변환하기 위한 모듈.
I.2. 추가 차원에 대한 정보, 가령, 시간에 대한 작업부재의 운동을 기술하는 정보(이하, 케이스 A) 및/또는 개별 변동/결함의 범위 및 분포, 가령, 좌표계의 방향에서의 위치 오차(이하, 케이스 B)를 읽기/입력하기 위한 인터페이스.
I.3. 사용될 전략을 결정하기 위한 인터페이스. 작업부재 운동이 고려될 경우: 로봇 베이스의 선택, 정지상태 대(vs.) 보조 축 상에 장착됨(가령, 작업부재 컨베이어에 대한 길이, 역학 및 이의 위치의 정의를 포함).
II. 신속 시험 및 사전 선택: 적용에 미치는 고려될 추가 복잡도/차원의 영향의 신속("랜덤") 시뮬레이션 및 분석. 추가 복잡도를 고려하지 않고 I에서 확립된 전략 및/또는 "차트"가 구현될 수 없음에 대한 응답, 또는 단계 III 계획에서 이들이 처리될 방식을 결정하기 위한 신속(부정밀) 계획. 케이스 A(추가 운동이 작업부재에 중첩됨)에서, (신속 시험에 따라) 공구 경로가 실행될 수 있는 때의 작업부재와 로봇 베이스 간의 이들 변위를 결정하기 위한 시뮬레이션/분석이 수행된다(도 3 참조). 이들 "시간 슬롯/코리더(corridor)"로부터 그리고 공구의 타깃 속력을 기초로 추정된 공구 경로(도 1의 도면부호 21)에 대한 실행 시간으로부터, 하나 이상의 선호되는 시퀀스 및 경로에 대한 시작 시점이 식별되며, 이 동안 상세 계획(단계 III)이 상세히 시험되고 최적화될 것이다. 이 식별 단계 동안, 동시에 어떠한 시퀀스도 발견될 수 없는지 여부, 또는 발견된 시퀀스에 대해 나머지 시간 버퍼(공구 경로의 실행 시간과 시간 슬롯 간의 시간의 양)가 최소 임계치보다 작은지 여부가 결정될 수 있고, 따라서 최상의 경우, 시간과 관련된 이미 작은 결함(가령, 컨베이어의 속력의 변동)과 관련해 강건하지 않은 차트가 상세 계획하기(III) 동안 식별될 수 있다. 이 경우, 초기 공구 경로(초기 차트) 및 전략을 수정하기 위해 처리가 단계 I로 복귀될 것이다. (파라미터 변동이 고려될) 케이스 B에서, 단계 I로부터의 차트가 다양한 상태들(특정 결함/파라미터 변동의 조합)에 대해 시뮬레이션된다. 본래 (I에서)계획된 차트의 시뮬레이션이 만족스러운 결과를 제공하는 모든(이산화된) 결함들이 "케이스"로서 조합(그룹화)되고, 이 초기 차트와 함께 저장된다. 배타적으로/우세하게 로봇 모션 내 유사한 "문제"(충돌 또는 실현불가능(unfeasible))가 공구 경로의 동일 세그먼트에서 발생할 때 및/또는 (작업부재의 표면의 개별 영역, 또는 작업부재의 형상, 특징부 또는 서브구조 그룹에 대한 처리 결과로서 저장 및 분석되는) 처리 품질과 관련된 (유사한) 문제가 작업부재 상의 동일 위치에서 발생할 때, 그 밖의 다른 모든 상태들이 케이스로서 그룹화된다. 동시에, 개별 "상태"의 시뮬레이션에서 식별되는 모든 처리 문제가 (처리 문제들의 케이스에서의) 작업 부재 및 경로의 케이스에서의 모션 문제에 "덮어써진다"(식별된 문제들에게 출현율이 제공되어 최악의 경우가 획득될 수 있다). 식별된 문제들의 퍼센티지(전체로서의 경로의 길이의 퍼센티지 및 기계가공될 작업부재(표면, 체적)의 퍼센티지)가 하한 임계치 미만으로 강하되는 경우, 단 하나의 차트만 이용해 (필요하다면 작은 제한을 두고) 모든(유사한) 결함을 고려하고, 그 후 최적화하는 것이 가능해질 것이며, 따라서 단일 로봇 프로그램 및 단계 III에서의 절차가 이를 반영할 것이다. 퍼센티지가 더 높지만 제안된 전략이 하나의 프로그램인 경우, 처리는 단계 I로 복귀할 것이다. 퍼센티지가 선택 가능한 상한 임계치를 초과하는 경우, 마찬가지로 초기 차트가 폐기될 것이고, 처리가 단계 I로 복귀될 것이다.
II.1 이의 정의된 "범위" 내에서 추가 차원을 희박하게 이산화(sparsely discretize)하는 시험될 이산 상태를 식별하기. 케이스 A: 시험될 작업부재와 로봇 베이스 간의 변환의 자동화된 식별로서, 이는 (7-축을 갖거나 갖지 않음) 로봇 상의 작업부재의 운동을 반영한다. 케이스 B: 시험될 상태의 자동화된 식별(가령, (2+1)N 또는 (2)N 또는 2*N+1, 도 2 참조)로서, 조합된 N개의 개별 결함을 반영한다.
II.2 차원/결함과 관련한 실행가능성(executability)에 대한 초기 차트의 신속 시뮬레이션. 케이스 A: (II.1로부터) 각각의 오프셋에 대한 각각의 개별 공구 경로의 실행가능성의 결정. 각각의 경로가 개별적으로 실행될 수 있는 오프셋 "윈도"의 결정. 케이스 B: 하나의 상태(II.1로부터의 결함 케이스)에 대한 모든 공구 경로의 시뮬레이션(실행가능성 및 처리 결과). 하나의 예시적 실시예에서, 작업부재의 위치 또는 로봇의 정밀성과 관련되지 않은(대신, 공구의 효율의 서로 다른 정도와 관련된) 변동에 대해, 로봇 모션의 반복되는 계획/시뮬레이션이 생략될 수 있고, 처리는 이전에 계획된 로봇 모션에 대해 시뮬레이션될 수 있다.
II.3. 더 상세한 시뮬레이션 및 계획하기, 케이스 A: (II.1로부터) 각각의 오프셋에 대한 각각의 개별 경로의 실행가능성을 결정. 각각의 경로가 개별적으로 실행될 수 있는 오프셋 "윈도"의 결정. 경로에 대한 시퀀스 및 시작 시점을 식별하여, 이들 각각 - 타깃 속력에서 실행됨 - 이 이들 고유의 "윈도" 내에 전체적으로 있을 수 있도록 한다. 단계 I로의 복귀가 필요한지 여부를 평가. 케이스 B: 유사한 시뮬레이션 결과를 갖는 (II.1)로부터의 상태들을, 단계 III에서 하나의 차트가 생성될 그룹으로 조합. 단계 I로의 복귀가 필요한지 여부를 평가.
II.a 추가 복잡도/차원에 대한 정보. 케이스 A의 경우, 컨베이어의 모션 프로파일(속력, 변이 등)가, 케이스 B의 경우, 개별 결함/파라미터 변동 및 이의 변이의 범위가 고려된다.
II.b. 추가 복잡도/차원이 시험, 이산화(샘플링)되는 방식에 대한 정보가 처리됨.
II.c. 작업부재 좌표 내 차트 및/또는 공구 경로 및 선택사항으로서 기계가공(또는 완전 기계가공)이 수행될 작업부재의 영역에 대한 기술.
II.d. 상태(II.b)에 대한 공구 경로/차트(II.c)의 결과 시뮬레이션. 경우 A에서: 단순 시험에 따라 경로 및 각각의 경로가 실행될 수 있는 "윈도"(샘플링된 위치의 개수 II.c).
II.e. 전략의 선택, 케이스 A: 가령, 보조 축 없는 경우, 보조 축이 있는 경우, 선택사항으로서 이의 차원에 대한 정보를 가짐(길이, 위치 역학). 케이스 B: "모든 가능한 파라미터 변동에 대한 하나의 프로그램", "파라미터 변동의 P개의 그룹에 대한 P개의 프로그램".
II.g. 평가가 초기 차트(공구 경로)가 선택된 전략에 대해 적합하다고 나타내는 경우, 초기 공구 경로(II.c)의 전송 및 (케이스 A) 시퀀스, 시작시점 등, 또는 (케이슨 B) 결과에 다른 상태들의 그룹.
II.f. 그렇지 않다면, 복귀(return). 바람직하게는, 시각화 또는 새 계획하기를 위한 시뮬레이션의 결과를 포함.
III. 추가 차원을 고려한 자동 상세 계획. 케이스 A에서, II에서 제안된 상태들(대략 차트, 경로에 대한 시퀀스 및 시작 시점)이 최적화되고 분석되어, 동적 로봇 모델(제한된 가속도 및 속력)을 이용해 각각의 개별 경로 및 중간 운동이 시간에 대해 계획되고, 시간의 흐름에 따라 변경될 수 있는 작업 셀을 이용해 시뮬레이션된다. 이 경우에서의 최적화는, 여전히 획득될 수 잇는 로봇-작업부재 오프셋의 거리를 최대화하기 위한 목적으로, 모션의 실행의 시작 시점 및 속력을 변경하고, 실행된 경로를 약간 변경한다. 케이스 B에서, 하나의 예시적 실시예에 따라, 전략이 "모두에 대한 하나의 차트"인지 또는 "모두에 대한 P개의 차트"인지가 구별된다. "모두에 대한 하나의 차트"의 전략의 경우, 종래의 방법을 이용해 초기 차트만 반복적으로 최적화되며, 여기서 기준으로서,다음이 최소화된다: 시뮬레이션된 결과(표면에 대해 저장됨)가 허용오차 한계(또는 가령 편차의 정도에 따라 가중치화된 한계) 내에 있지 않은 기계가공될 작업부재의 퍼센티지(일반적으로, 기계가공될 표면의 퍼센티지), 실행 시간 등. "모두에 대한 하나의 차트"의 경우, 항상 현재 최적화된 버전의 차트가 모두에 대해 그리고 복수의 서로 다른(랜덤의 증간된 개수의) (결함의) 상태들에 대해 동일하게 시뮬레이션되고, 결과를 "덮어 쓰며", 바람직하게는 결함이 만족스러운 실행을 덮어 쓰도록 덮어쓴다. "모두에 대한 P개의 차트"의 전략의 경우, II에서 식별된 그룹이 시퀀스로 처리되며, 개별 차트가 각각의 그룹에 대해 최적화된다. 이는 그룹 내 모든 시험된 상태들에 대해 "모두에 대한 하나의 차트"의 전략과 동일한 방식으로 수행되거나, 현재 그룹의 각각의 시험되는 상태에 대해 우선 시뮬레이션되어, 이전에 최적화된 차트(동일 그룹에서의 차트 또는 서로 다른 그룹에 대해 최적화된 차트)가 만족스러운 시뮬레이션 결과를 공급할 것인지 여부를 결정할 수 있다. 그럴 경우, (차트를 수정하지 않고) 그룹에 할당될 것이며, 그렇지 않은 경우, 현재 시험 중인 하나의 상태에 대해, 상기 상태에 대해서만 비용(시뮬레이션된 문제, 시간 등)이 최소화되도록 차트가 반복적으로 최적화될 것이다(즉, 새로운 차트가 준비될 것이다). 상태 및 차트가 새 그룹을 형성한다. 하나의 바람직한 실시예에서, 모든 새로(본래의 것이 아닌) 할당된 상태 및 새 그룹이 "개방"된 상태가, 이들 상태가 추가로 조합될 수 있는지 여부가 완료 후 시험될 예외 취급(exceptional handling)으로 배정된다. 하나의 그룹 내 시험된 상태는 그룹 내 시험된 상태에 대한 시뮬레이션 결과를 기초로 하여 선택됨으로써, 시험이 범위 가장자리(그룹 경계)에서 그리고 비-임계 위치에서보다 임계 위치에서 더 정밀하게(더 밀접하게) 수행될 수 있다. 케이스 A 및 케이스 B에서, 하나 이상의 차트가 추가 정보와 함께 저장된다(A: 시간, B: 파라미터 변동의 커버되는 범위). 두 케이스 모두에서, 최종 분석이 유리하며 - 선택사항으로 I로 복귀된다.
III.1. 모든 초기 시퀀스(케이스 A) 또는 (케이스 B) 케이스 그룹에 대한 루프.
III.2. 계획하기/최적화가 시간, 속력과 관련하여 경로를 변경시키고, 이의 정밀한 처리에 의해, (III.3의) 시뮬레이션된 문제를 (가령, 표면의 퍼센티지로서) 최소화 및/또는 실행을 위해 필요한 시간을 최소화한다.
III.3. 시간에 따른 로봇 모션 및 (III.2에서 사용된) 최종 처리 결과의 시뮬레이션.
III.a. 경로 변경 처리
III.b. 시뮬레이션 결과: 정밀하게 (로봇 모델을 이용해) 시뮬레이션된 로봇 모션(이상적인 타깃 경로로부터의 편차를 포함) 및 이로부터 시뮬레이션된 처리 결과(작업부재 기술을 위해: 가령 작업부재 표면의 CAD 모델), 선택사항으로서, 경로가 실행될 수 없을 때, 또는 컴퓨팅 시간 또는 반복이 연관된 임계치를 초과할 대 중단 메시지.
III.c. 모든 그룹 또는 시퀀스가 처리될 때까지 또는 만족스러운 결과에 도달할 때까지 복귀(return).
III.d. (퍼센티지 또는 충분히 큰 퍼센티지의 케이스에 대해) 어떠한 솔루션도 발견되지 않을 경우 단계 I로 복귀
III.e. 차트가 발견된 경우: 추가 차원에 대한 연관된 정보를 포함해 전송. (케이스 A에서: 모션/차트의 개별 지원 점에 대한 컨베이어의 시 또는 위치의 지시자, 케이스 B에서: 차트가 적용될 결함의 범위).
IV. 추가 차원에 대한 추가 정보를 이용한 프로그램의 생성.
케이스 A: (이 위치에 도달할 때의 컨베이어의 속력 및 시간/성분 위치/인코더 값과 함께) 계획된 운동을 샘플링함으로써 계획된 로봇 모션을 지원 점(support point)(또는 스플라인(spline) 등)을 포함하는 로봇 프로그램으로의 변환. 프로그램은 2개의 부분으로 출력될 수 있다:
i) 로봇 제어기를 위해 필요한 것보다 더 밀접하게 설정/샘플링된 위치 및 속력의 리스트로서, 및
ii) i)로부터 컨베이어의 현재 실제 값(위치 및 속력)을 읽고, 이 값을 기초로 하여 로봇의 다음 타깃 위치를 보간하며 컨베이어의 현재 속력을 기초로 하여, 알려진 제어 원리(P, PID, ...)(라인 추적(line tracking))를 이용해, 속력 및 컨베이어 운동에 대한 로봇의 모션의 전진율(앞서감, 뒤처짐)을 조정하는 하는 루프의 형태로 된 처리 프로그램. 이러한 바람직한 구현예를 이용해, 로봇 모션을 계획할 때의 오차(특히, 로봇 역학 및 제어의 모델에서의 오차)가 보상되고, 완전한 중단 또는 심지어 반전 모션(reverse motion)의 지점까지, 로봇 속력이 컨베이어 속력에 자동으로 적응된다.
케이스 B: 각각의 그룹에 대해: 계획된 모션을 샘플링함으로써, 계획된 로봇 모션을 지원 점(또는 스플라인 등)을 포함하는 로봇 프로그램으로 변환. 적용 범위(=각각의 그룹의 측정된 파라미터 변동)에 대한 추가 정보와 함께 저장됨.
IV.1. 차트를 추가 정보와 함께 실행 가능한 로봇 프로그램으로 변환하고 저장하기 위한 모듈
IV.a. 추가 복잡도/차원을 참조하여 사용되기 위한 추가 정보와 함께 실행 가능한 로봇 프로그램.
V: 온라인 처리:
케이스 A: 컨베이어 운동(위치 및 속력)의 차원의 센서 검출 및 컨베이어의 운동의 전진(progression)에 따른 프로그램의 처리. 바람직한 케이스가 IV에서 기재된다. 케이스 B: 결함(들)의 실제 값 및 대응하는 그룹의 선택의 실제 값의 센서 검출. 이 그룹에 할당된 프로그램의 처리. 정밀하게 측정된 결함을 이용한 선택사항적 보간 및 최적화.
V.1. 센서(들)
V.2. 센서 데이터를 자동으로 고려되기 위한 차원 값으로 해석.
V.3. 해석된 센서 데이터에 따른 프로그램의 선택 또는 처리.
II.a. 고려될 추가 차원/복잡도에 대한 정보.
II.c. 작업부재 좌표 내 공구 경로(작업부재 정보, 가령, CAD를 포함).
II.e. 추가 차원/복잡도를 고려하기 위한 전략에 대한 정보.
도 5는 추가 복잡도/차원이 고려되기 전에 입력/계획하기의 더 상세한 설명을 도시한다(개요:도 4).
I. 추가 차원/복잡도를 계획/정의 또는 고려하기,
I.1. 작업부재에 대한 정보(가령, CAD 데이터 및 관련 표면)의 입력,
I.2. 가령, 이전 처리 단계로부터의 적용의 정의(가령, Q.S),
I.3. 적용을 위한 상호대화식 정의를 위한 GUI,
I.4. 공구 운동의 처리-중심(process-oriented) 계획하기를 위한 모듈,
I.5. 기존 프로그램 및 차트를 읽기 위한 인터페이스,
I.6. OLP 모듈,
I.7. 종래의 프로그램을 작업부재 좌표로 된 공구 경로로 변환하기 위한 모듈,
I.8. 공구 경로를 저장,
I.9. 시간에 대한 셀의 변경에 대한 정보를 입력하기 위한 인터페이스. "라인 추적"의 경우(케이스 A), 컨베이어, 및 따라서 작업부재의 운동 속력이 측정되며, 프로그램의 가장 이른 시작 시검/가장 늦은 종료 시점 및 가능한 변동
(케이스 B)이 측정된다(처리 보호의 경우, 이는 개별 결함 및 선택사항으로서 종속도 또는 배제에 대한 정보이다),
I.10. 추가 차원을 취급하기 위한 전략을 선택하기 위한 인터페이스,
II. 자동화된 분석 및 사전-처리(이는 도 5에 기재되며 도 6(케이스 A) 및 도 7(케이스 B)에 상세히 기재된다),
I.a. 작업부재에 대한 정보(일반적으로, CAD 및 추가 정보, 가령, 기계가공될 작업부재의 표면의 마킹)
I.b. 적용에 대해 온라인으로 생성되는 정보: 가령, 센서로부터의 명령 리스트(공구 + 작업부재-중심) 및/또는 QA. (식별된 결함/마킹 점/마킹 경로...)
I.c. 상호대화식으로 정의된 (작업부재 좌표로 된) 공구 경로
I.d. 로봇 프로그램(기존의 것, 읽힘)
I.e. 로봇 프로그램(OLP에서 생성된 것)
I.f. 작업부재 좌표로 된 공구 경로(작업부재 정보, 가령, CAD를 포함)
I.g. 작업부재 좌표로 된 공구 경로(작업부재 정보, 가령, CAD를 포함)
II.a. 고려될 추가 차원/복잡도에 대한 정보
II.c. 작업부재 좌표로 된 공구 경로(작업부재 정보, 가령, CAD를 포함)
II.e. 추가 차원/복잡도를 고려하기 위한 전략에 대한 정보
도 6은 상세하게 다음을 나타낸다:
I. 추가 차원/복잡도를 고려하지 않은 계획/정의하기가 도 4에 기재되어 있고 도 5에 상세히 기재되어 있다,
II. 추가 차원의 영향에 대한 자동화된 분석 및 사전 처리,
II.1. 검색 영역의 결정/정의 및 샘플링(=시험될 상태)
II.2 "실현가능성 맵(feasibility map)", 즉, 충돌 없이 경로 점/공구 경로가 실현 가능하거나 실행 가능한 작업부재의 오프셋의 개발,
II.3. 경로 점(공구 경로)의 실현가능성/실행가능성의 시뮬레이션,
II.4. 보조 축의 경우: 가령, 이용 가능한 버퍼의 폭(breadth)을 최대화함으로써, 시간에 따른 이들 축의 바람직한 설정의 식별,
II.5. 시퀀스의 최적화: 공구 경로의 시퀀스의 변경(항상 공구 경로 상의 모든 경로 점) 및 분석. 기준(도 3 참조): 컨베이어의 운동을 나타내는 선이 경로 점 당 허용되는 변위를 나타내는 (가능한 많은) 모든 수직 선과 교차한다. 교차점과 수직선의 극 값들(둘 모두 또는 마지막 값) 간의 거리가 분석(최대화)된다. (II.6에서와 같이) 공구 경로들 사이의 운동을 위한 시간은 표준 설정, 추정, 또는 결정에 의한 것이다.
II.6. 공구 경로의 시작 시점의 최적화(및 선택사항으로서 이의 경로 속력의 최적화). 가능한 가장 늦은 시점까지의 거리가 최대화(즉, 로봇 모션의 딜레이를 용인(tolerate)할 버퍼가 확립)되거나, 가능한 가장 이른 시점과 가장 늦은 시점 까지의 거리가 최대화된다(즉, 버퍼가 대칭적이다).
II.7. 솔루션(들)을 저장 및 분석,
II.a. 시간에 따른 셀의 운동/조정에 대한 정보,
II.b. 이러한 추가 차원/복잡도를 고려하기 위한 전략,
II.c. 공구 경로(작업부재 좌표로 됨), 작업부재 및 셀에 대한 정보,
II.d. 시험될 (복수의) 상태(변동),
II.e. 공구 경로 상의 경로 점들(선택적으로 세그먼트 또는 전체 공그 경로) - 및 현재 시험되는 상태,
II.f. 현재 상태에 대한 경로 점의 실현가능성/실행가능성의 평가
II.g. 실현가능성 맵,
II.h. 이 추가 차원/복잡도를 고려하기 위한 전력
II.i. 공구 경로, 실현가능성 맵 및 (시간에 따른) 보조 축의 설정
II.j. 공구 경로의 식별되고 최적화된 시퀀스,
II.k. 어떠한 시퀀스도 식별되지 않은 경우, 복귀(return),
II.l. 공구 경로의 식별되고 최적화된 시작 시점 및 모션 속력,
II.m. 시퀀스에 대한 어떠한 시작 시점도 식별되지 않은 경우, 복귀,
II.n. 어떠한 시퀀스에 대해서도 실현 가능한 시작 시점이 발견되지 않은 경우(그러나 결과가 간결함), 복귀,
II.o. 시작 시점 및 속력을 갖는 공구 경로(시점으로서의 경로 점). 추가로, (시간 또는 작업부재-컨베이어 오프셋과 관련된) 허용된 딜레이(max_delay),
II.p. 어떠한 적절하게 평가된 솔루션(시퀀스/시작 시점)도 없는 경우, 복귀.
도 7은 단계 III에서의 계획하기를 위한 상태의 자동 분석 및 그룹으로의 준비/카테고리화를 상세히 도시한다.
I. 추가 차원/복잡도를 고려하지 않는 계획/정의하기가 도 4에 도시되며 도 5에 상세히 기재된다,
II. 자동화된 분석 및 사전-처리(케이스 B)
II.1. 추가 차원의 폭(II.a에서 특정됨)를 커버하는 상태의 정의 및 상관관계/종속도(II.a에서 특정됨)를 고려하기 위한 감소,
II.2.a. IIb로부터의 각각의 상태를 처리(하기 위한 루프). 각각의 상태에 대한 시뮬레이션/계획을 불러오기.
II.2.b. 현재 시험되는 상태에 대한 시뮬레이션의 결과의 분석. 유사한 결과를 기초로 하여 상태들을 그룹화("동일 위치, 모션 세그먼트에 동일 문제"),
II.3. 현재 시험되는 상태에 대한 로봇 모션 및 (차트의) 공구 경로를 계획/시뮬레이션,
II.4. 로봇 모션에 대한 처리를 시뮬레이션,
II.5. 선택된 전략에 대해 결과 II.i를 평가. 특히, 그룹의 개수를 비교하여 하나 이상의 차트(차후 프로그램)가 허용되는지 여부를 결정,
II.5 및 II.2.b가 통합(consolidate)되어 연마 기계가공이 먼저 처리될 수 있다,
II.a. 추가 차원에 대한 정보. 개별 변동의 개수 및 이들 각자의 변동의 폭(가령, min/max(최소치/최대치)). 가능한 상관관계, 배제, 등,
II.b. 새 차원(들)의 공간의 샘플링/분석에 대해 시험될 상태들의 리스트,
II.c. 공구 경로(및 작업부재에 대한 정보, 가령, CAD 및 기계가공될 영역),
II.d. 공구 경로 및 상태
II.e. (X% 성공적으로 실행될 수 있는) 어떠한 만족스러운 로봇 모션도 식별되지 않는 경우: 중단됨(abort),
II.f. 계획되고 시뮬레이션된 로봇 모션 및 현재 상태,
II.g. II.3=II.f로부터의 로봇 모션의 시뮬레이션 결과,
II.h. 모든 상태가 처리될 때까지 ...
II.i. 모든 상태 및 결과,
II.j. 전략,
II.k. 충분하지 않은 경우, 중단,
II.l. 그룹화된 상태(및 초기 공구 경로)를 전송
II.2, II.3, II.4, II.5는 정보 흐름이 여기서 명시적으로 나타나지 않은 경우라도 작업부재와 관련된 정보를 액세스한다.
도 8은 고려될 작업부재 운동의 경우에 대한 단계 III과 관련되고, 자동화된 상세 계획/최적화/검증 단계와 관련되며, 구체적으로 다음과 같이 나타난다:
III.1.a (및 III.1.b) 모든 식별된 시퀀스의 루프 및 분석, 모든 시퀀스 후, 또는 선택사항으로서 첫 만족스러운(임계치를 초과하는) 시퀀스 후 중단,
III.2. 경로 점들을 수정함으로써 공구 경로를 개별 축의 제한된 가속도 및 속력으로 적응화,
III.3. 수정된 경로에 대한 상태-x-시(state-x-time) 계획하기
III.4. (변경 환경에서의) 계획된 로봇 경로에 대한 로봇 모션 및 처리 결과의 시뮬레이션,
III.a. 시퀀스 및 타이밍을 포함하는 공구 운동,
III.b. (상태 공간에서의) 수정된 로봇 운동
III.c. 공구 경로 및 중간 운동에 대한 계획된 로봇 운동
III.d. 시뮬레이션된 계획된 로봇 운동
III.e. 시뮬레이션된 로봇 운동 또는 (가령, 타임아웃(timeout) 등의 경우) 솔루션 없음,
III.f. 계획된 로봇 모션 솔루션이 없는 경우 (문제점/솔루션이 없는 이유와 함께) III.2로 복귀,
III.g. 상태 공간에서 최상(best)으로 평가된 로봇 모션(의 상세한 정도의 차트)로서, 상태에 대한 정보(계획된 로봇 모션과 동시에 발생한 셀의 변경)/시간/컨베이어에 대한 정보를 포함,
III.h. 추가 시퀀스가 있고 타임아웃이 아닌 한 복귀.
도 9는 고려될 파라미터 변동의 경우에 대한 단계 III, 자동화된 상세 계획/최적화/검증 단계와 관련되고, 구체적으로 "모두에 대한 하나의 계획"의 전략에 대해 다음을 도시한다:
III.1.a 및 III.1.b: 기준에 따른 변동 (a) 및 평가 (b)에 의한 공구 경로의 최적화: 사용 가능한 처리 결과를 갖는 표면의 퍼센티지의 최대화(또는 사용 불가능한 결과를 갖는 표면의 최소화), 실행 시간의 최소화 또는 충돌 간 거리의 최대화 등. 공구 경로에 대한 정밀한 로봇 모션의 계획하기. (도 13의 좌측에 세부사항이 있음)
III.2.a: 다양한(최대 전부까지 일부 랜덤하게 선택된) 상태들. 예를 들어, 제 1 반복에서, 모든 상태들 중 (랜덤 생성기에 의해 선택되고 각각의 반복을 거치면서 점점 완료되는) 일부만 시험된다. (퍼센티지로서의) 비율이 III.1.a에 정의된다.
III.2.b. 최악의 경우에서 바람직한 결과의 요약이 작업부재 상의 결과를 덮어 씀,
III.3. II로부터의 상태마다 III1.로부터의 계획된 로봇 경로에 대한 로봇 모션 및 처리 결과의 시뮬레이션(도 13이 우측에 상세히 도시됨).
III.a. 로봇 모션
III.b. 시뮬레이션될 로봇 모션 및 선택된 상태
III.c. 시뮬레이션의 결과
III.d. 모든 상태가 처리된 것이 아닌 한, 복귀
III.e. 모든 시뮬레이션된 상태에 대한 결과들 요약(가령, 최악의 경우),
III.f. 최적화를 위해(타임아웃, 만족스러운 결과, 수렴... 이 아닌한) 복귀
도 10은 파라미터 변동이 고려될 단계 III, 자동 상세 계획/최적화/검증 단계와 관련되고, 구체적으로, "모두에 대한 하나의 계획"의 전략에 대해 다음을 도시한다:
III.1.a II에서 초기에 식별된 모든 그룹에 걸쳐 루프
III.1.b 루프 종료, 그룹의 저장 및 평가: 모든 그룹이 처리된 것이 아닌 한 복귀, 그렇지 않다면 계속. 확립된 그룹이 (I에서 정의된 전략)프로그램의 허용 개수 N 보다 클 경우, 빠져나가고(exit) I로 돌아감,
III.2.a 그룹 내 시험될 상태들의 결정 및 루프로서의 처리. 하나의 바람직한 구현예에서, 샘플링은: 1) 이전 상태로부터의 결과를 기초로 하며(문제가 있는 곳, 전이(transition)이 있는 곳)에 더 밀접해짐), 2) 상태 공간 내 그룹의 경계에 더 밀접한 변수이다.
III.2.b 루프 종료. 기존 그룹에 대한 시험된 상태의 저장 또는 새 그룹의 형성. 만족스럽게 밀접하게 샘플링되지 않은 겨우 복귀, 그렇지 않으면 계속. 이미 형성된 그룹의 개수가 프로그램의 허용된 개수 N보다 큰 경우: 빠져나가고 I로 복귀함. 그룹이 여기서(즉 IIa에서) 충분히 완료되었는지 여부를 결정하기 위해 평가,
III.3.a 루프: 시험되는 상태에 대해 그룹마다 이전에 확립된 모든 차트 호출하고 이의 시뮬레이션을 개시. (여기서 차트의 변경 없이) 현재 그룹으로 시작,
III.3.b 루프 종료. 시험된 차트에 대한 시뮬레이션 결과(실행가능 여부, 지속시간, 처리 결과, 선택사항으로서 안정성(stability)/충돌 간격)의 중간 저장 및 평가. 가령: 그룹에 속하는 차트에 대한 시뮬레이션 결과가 만족스러운 경우 중단, 그렇지 않은 경우 모든 차트에 대해 시험하고 최상의 것을 선택,
III.4 로봇 모션 및 처리의 시뮬레이션(도 13의 우측에 세부사항이 도시됨),
III.5.a (및 III.5.b) 기준에 따라 (a)를 변화시키고 (b)를 평가함으로써 공구 경로를 최적화: 사용 가능한 처리 결과를 공급하고 표면의 퍼센티지를 최대화, 실행에 대해 필요한 시간을 최소화, 충돌 간격(spacing of collision)을 최대화하는 등. 공구 경로에 대한 정밀 로봇 모션을 계획하기. (도 13의 좌측 상의 세부사항). 임계치가 초과, 타임아웃, 반복 최대 횟수, 수렴이 느려지는 등이 발생하자마자 종료.
III.6. 최종 평가(어떻게 완료됐는지, 어떻게 만족되는지). 전략과 비교하고 선택사항으로서 I로 복귀.
III.a. (공구 경로의 세부사항의 정도로) 현재 시험되는 그룹 및 현재 시험되는 차트
III.b. (공구 경로의 세부사항의 정도로) 현재 시험되는 상태 및 현재 시험되는 차트
III.c. (공구 경로의 세부사항의 정도로) 현재 시험되는 상태 및 현재 시험되는 차트로서, 초기 또는 그 밖의 다른 식별된 계획...
III.d 평가
III.e. 차트가 만족스럽다고 평가되지 않는 경우 복귀 (초기 차트가 적합하지 않은 경우 모든 차트가 시험될 때까지 변형)
III.f. 상태 및 적합한 그룹 식별: 적합한 차트가 식별되는 경우 추가 최적화 건너뛰기
III.g. (어떠한 이전 차트도 적합하지 않은 경우) 상태
III.h. (첫 번째에서만 수정된) 최적화된 로봇 모션
III.i. 모션 시뮬레이션의 결과 및 처리 시뮬레이션
III.j. (타임아웃, 만족스러운 결과, 수렴... 이 없다는 가정 하에) 최적화를 위해 복귀
III.k. (차트와 함께) 상태 및 적합한 그룹이 생성되거나 이 상태에 대해 어떠한 차트도 생성되지 않을 수 있음
III.l 충분히 밀접하게 시험(closely test)될 때까지 복귀(여기서 III.o, III.q.에서처럼 중단될 수도 있음)
III.m 상태+그룹+차트
III.n 모든 그룹이 처리될 때까지 루프 시작으로 복귀
III.o 중단
III.p 그룹 및 차트
III.q 중단
III.r 그룹 당 차트를 포함한 모든 형성된 그룹
하나의 예시적 실시예에 따르면, 차트가 III.5에서 이미 최적화된 그룹의 경우, III.3에서 이 차트가 만족스러운 결과를 제공하지 않는 상태들이 중간 저장될 수 있으며, 모든(나머지) 상태들이 시험된 후(선택사항으로서 차트가 수정된 후)에야 이들이 모든 그룹에 대한 차트로서 III에서 재시험될 수 있으며, 선택사항으로서 새 차트 및 그룹의 생성이 개시된다. 이러한 방식으로, 이들 상태가 이미 최적화된 차트에 대해 시험되고, 할당의 개연성이 더 높으며, 이의 결과로서 그룹의 개수가 적게 유지될 수 있다.
도 11은 단계 V에 대한 도 4의 처리 시퀀스에 대한 세부사항을 도시한다(작업부재의 운동을 고려한 프로그램의 온라인 실행). 구체적으로, 도 11은 다음을 도시한다:
V.1 추가 운동 차원, 가령, 컨베이어에 대한 인코더에 대한 정보를 검출하기 위한 센서,
V.2 센서 데이터의 해석, 가령, 컨베이어의 상태 및 속력의 추출
V.3 프로그램의 진행 및 컨베이어의 운동에 대한 추출된 정보에 대한 프로그램 실행의 적응화/제어. (컨베이어 위치 및 속력 지원 점을 기초로) 매우 밀접하게 샘플링된 지원 점을 갖는 프로그램으로부터의 다음 지원 점의 다양한 선택 또는 다음 운동에 대한 보간 및 속력(v 변수) 및/또는 다음 위치 선택,
V.4 로봇 제어기 및/또는 로봇 모션 제어,
V.a. 추가 차원에 대한 센서 정보, 가령, 인코더 값
V.b 해석된 정보, 가령, 부재의 위치 및 모션 속력
V.c. 적응화된 프로그램/경로 점(포인트-투-포인트, PTP).
도 12는 단계 V(파라미터 변동을 고려한 프로그램의 온라인 실행)에 대한 도 4의 처리 시퀀스의 세부사항을 도시한다. 구체적으로, 도 12는 다음을 도시한다:
V.1 추가 차원에 대한 정보를 검출하기 위한 센서. 가령, 위치 검출 또는 흐름 측정/압력 측정을 위한 카메라.
V.2 센서 데이터의 해석, 가령, 작업부재의 위치 편차 또는 도포 층 두께/초,
V.3 (측정된 위치 편차가 그룹을 위한 값 범위/상태 공간 내에 있는) 적합한 로봇 프로그램의 선택. 로봇 제어기로 입력,
V.4 로봇 제어기 및/또는 로봇 모션 제어,
V.a 추가 차원에 대한 센서 정보, 가령, 카메라 이미지, 포인트 클라우드,
V.b 해석된 정보, 가령, 작업부재의 검출된 위치(또는 위치 편차)
V.c 선택된 로봇 프로그램(PTP)
도 13은 도 8 내지 10에서 도시된 것과 같은 최적화 단계 III의 처리 시퀀스의 세부사항을 도시한다. 구체적으로 도 13은 다음을 도시한다:
III.1.a 공구 경로(=공구 경로), 최적화기(optimizer): III.1.b로부터의 평가에 따라 알려진 방법에 의해 경로 상의 경로 점을 변화시킴(작업부재에 대한 공구의 운동을 포함).
III.a.1.b 평가 기준: 시뮬레이션이 사용 불가능한 결과를 보고하는 작업부재의 표면의 퍼센티지를 최소화. 선택사항으로서, 계획 및 시뮬레이션에 따라, 로봇을 이용해 실행될 수 없는 공구 경로의 세그먼트의 퍼센티지를 최소화. 결과(처리 및 로봇 모션이 정상적인 퍼센티지, 실행에 요구되는 시간을 갖는 차트)의 중간 저장.
III.a.2. 공구 경로의 후속 처리: 공구에 대한 충돌 회피 및 평활화(smoothing). 파라미터 한계의 모니터링? 변동이 임계 값보다 작음(그렇지 않은 경우, 새로워질 것이며 III.a.1 덮어쓰기/비효율적이다).
III.a.3 에러! 참조 소스가 발견될 수 없음일 때, 축의 가속도 및 속력 한계를 고려하여, 상태-x-시(state-x-time)에서 로봇에 대해 모션 계획하기. 기술됨.
III.b.1 모션 시뮬레이션(동적 모델),
III.b.2 실현가능성(충돌-회피(collision-free)) 실행에 필요한 시간에 대한 분석
III.b.3 셀, 로봇, 작업부재, 공구, 처리의 모델을 포함한 모델,
III.b.4 처리 시뮬레이션,
III.a.a 공구 경로 변경됨,
III.a.b 공구 및 작업부재의 모델로 액세스,
III.a.c 변경이 임계 값보다 작은 어떠한 충돌-회피 공구 모션도 식별되지 않은 경우 복귀,
III.a.d 공구 충돌 없는 평활화된(smoothed) 공구 경로
III.a.e 공구 경로 및 중간 운동에 대한 계획된 로봇 모션
III.a.f 어떠한 로봇 모션도 식별되지 않음,
III.b.a 모델로의 액세스,
III.b.b 시뮬레이션되고 계획된 로봇 모션,
III.b.c 시험된 로봇 모션
III.b.d. 로봇 모션이 OK가 아닌 경우 복귀
III.b.e 모델(처리, 공구, 작업부재)로의 액세스
III.b.f. 로봇 모션 및 분석(처리의 시뮬레이션 결과)

Claims (12)

  1. 산업용 로봇을 이용하는 공구에 의한 작업부재(workpiece)의 처리 또는 기계가공(machining)을 위한 작업흐름 차트(workflow chart)의 자동화된 컴퓨터-보조식 생성을 위한 방법으로서, 상기 방법은:
    작업부재에 대한 복수의 공구 경로를 특정 타깃 위치 및 처리 및/또는 기계가공에 영향을 미치는 특정 처리 파라미터로 포함하는 초기 차트를 준비하는 단계 - 공구 경로는 상기 작업부재를 따르는 공구의 타깃 운동을 정의함 - ,
    처리 및/또는 기계가공에 영향을 미치는 가변 파라미터 값을 기술(describe)하는 상태 공간(state space)을 정의하는 단계 - 공간 내 각각의 점(point)은 잠재적 파라미터 값들의 특정 조합을 나타냄 - ,
    상기 공간을 개별 상태들로 이산화하는 단계,
    하나 이상의 이산 상태에 대해 초기 차트를 이용해 작업부재의 처리 및/또는 기계가공을 시뮬레이션하고, 지정 가능한 기준(predefinable criterion)을 기초로 하여 시뮬레이션된 기계가공 및/또는 처리 결과를 분석하는 단계,
    상기 초기 차트를 반복적으로(iteratively) 수정하고, 적어도 하나의 이산 상태에 대해 수정된 차트를 이용해 작업부재의 처리 및/또는 기계가공을 시뮬레이션하고, 지정 가능한 비용 함수를 기초로 하여 시뮬레이션된 기계가공 및/또는 처리 결과를 분석하는 단계,
    상기 비용 함수가 최소치(minimum)에 도달하거나 임계 값 미만으로 강하될 때까지, 따라서 각각의 상태에 대해 최적화된 차트가 식별될 때까지, 반복을 수행하는 단계를 포함하는, 작업흐름 차트의 자동화된 컴퓨터-보조식 생성을 위한 방법.
  2. 제1항에 있어서,
    최적화된 차트 및 반복에서 사용된 상태를 제 1 그룹에 할당하는 단계,
    추가 이산 상태에 대해 상기 최적화된 차트를 이용해 작업부재의 처리 및/또는 기계가공을 시뮬레이션하고, 지정 가능한 비용 함수를 기초로 하여 시뮬레이션된 기계가공 및/또는 처리 결과를 분석하는 단계,
    추가 상태에 대한 비용 함수가 추가 임계 값 미만으로 강하될 때 시뮬레이션에서 사용된 추가 상태를 제 1 그룹에 할당하는 단계,
    상기 추가 상태에 대한 비용 함수가 상기 추가 임계 값 미만으로 강하하지 않을 때 상기 시뮬레이션에서 사용된 추가 상태를 추가 그룹에 할당하는 단계를 더 포함하는, 작업흐름 차트의 자동화된 컴퓨터-보조식 생성을 위한 방법.
  3. 제2항에 있어서,
    최적화된 차트를 반복적으로 수정하고, 추가 상태에 대해 수정된 차트를 이용해 작업부재의 처리 및/또는 기계가공을 시뮬레이션하며, 비용 함수를 기초로 하여 시뮬레이션된 기계가공 및/또는 처리 결과를 분석하는 단계,
    상기 비용 함수가 최소치에 도달하거나 임계 값 미만으로 강하할 때까지, 따라서 추가 상태에 대한 추가 최적화된 계획이 식별될 때까지 반복을 수행하는 단계,
    최적화된 차트 및 반복에서 사용된 상태를 제 1 그룹에 할당하는 단계를 더 포함하는, 작업흐름 차트의 자동화된 컴퓨터-보조식 생성을 위한 방법.
  4. 제1항 또는 제2항 또는 제3항에 있어서, 특정 상태에 대한 차트의 반복적 수정에 앞서서, 상기 특정 상태에 대해 이미 이전에 최적화된 차트가 비용 함수가 지정 임계치 값 미만으로 강하된 기계가공 및/또는 처리 결과를 도출할 것인지 여부를 결정하기 위해 시뮬레이션을 통한 시험이 수행되는, 작업흐름 차트의 자동화된 컴퓨터-보조식 생성을 위한 방법.
  5. 산업용 로봇을 이용하는 공구에 의한 작업부재(workpiece)의 처리 또는 기계가공(machining)을 위한 작업흐름 차트(workflow chart)의 자동화된 컴퓨터-보조식 생성을 위한 방법으로서, 상기 방법은:
    작업부재에 대한 복수의 공구 경로를 특정 타깃 위치 및 처리 및/또는 기계가공을 기술하는 특정 처리 파라미터로 포함하는 초기 차트를 준비하는 단계 - 공구 경로는 작업부재를 따르는 공구의 타깃 운동을 정의함 - ,
    초기 차트의 공구 경로에 대한 가능한 시퀀스 및 시작 시점을 기술하는 상태 공간을 정의하는 단계 - 공간 내 각각의 점(point)은 특정 시작 시점을 갖는 특정 시퀀스를 기술함 - ,
    상기 공간을 개별 상태들로 이산화하는 단계,
    서로 다른 이산 상태에 대해 초기 차트를 이용해 작업부재의 처리 및/또는 기계가공을 시뮬레이션하고, 지정 가능한 기준에 따라 시뮬레이션된 기계가공 및/또는 처리 결과를 분석하는 단계,
    초기 차트를 반복적으로 수정하고, 작업부재에 중첩되는 운동을 고려하여, 적어도 하나의 이산 상태에 대한 수정된 차트를 이용하여 작업부재의 처리 및/또는 기계가공을 시뮬레이션하고, 지정 가능한 비용 함수에 따라서 시뮬레이션된 기계가공 및/또는 처리 결과를 분석하는 단계,
    상기 비용 함수가 최소치에 도달하거나 임계 값 미만으로 강하할 때, 따라서 각각의 상태에 대한 최적화된 차트가 식별될 때까지 반복을 수행하는 단계를 포함하는, 작업흐름 차트의 자동화된 컴퓨터-보조식 생성을 위한 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 반복적인 수정에 앞서서, 초기 차트를 이용해 시뮬레이션되는 기계가공 및/또는 처리 결과가 지정 가능한 기준을 만족시키지 못하는 모든 상태가 폐기되는, 작업흐름 차트의 자동화된 컴퓨터-보조식 생성을 위한 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 차트를 수정하는 단계는
    차트의 공구 경로의 실행 시퀀스를 수정하는 단계,
    공구 경로 또는 공구 경로의 세그먼트의 실행의 속력을 수정하는 단계,
    공구 경로 또는 공구 경로의 개별 세그먼트의 위치를 편이(shift)시키는 단계,
    개별 공구 경로 또는 경로 세그먼트를 따르는 작업부재에 대한 공구의 위치 및 각 위치(angular position)를 수정하는 단계,
    개별 공구 경로 또는 경로 세그먼트에 대한 로봇 설정을 수정하는 단계,
    공구에 의해 작업부재에 가해지는 힘 또는 작업부재와 공구 간의 상호작용과 관련된 그 밖의 다른 일부 파라미터를 수정하는 단계 중 적어도 하나를 포함하는, 작업흐름 차트의 자동화된 컴퓨터-보조식 생성을 위한 방법.
  8. 제5항 또는 제6항 및 제7항에 있어서, 이들 청구항이 청구항 제5항을 인용할 때, 상기 방법은 로봇 베이스에 대한 모션 패턴을 특정하는 단계 및 이 모션 패턴을 시뮬레이션에서 고려하는 단계를 더 포함하는, 작업흐름 차트의 자동화된 컴퓨터-보조식 생성을 위한 방법.
  9. 제5항 또는 제6항 내지 제8항에 있어서, 이들 청구항이 청구항 제5항을 인용할 때, 시뮬레이션은 공구 경로의 경로 점이 공구에 의해 획득될 수 있는, 로봇 베이스와 작업부재 간의 변위에 대한 시간 슬롯 및/또는 윈도를 계산하는 것을 포함하는, 작업흐름 차트의 자동화된 컴퓨터-보조식 생성을 위한 방법.
  10. 제9항에 있어서, 공구 경로의 시뮬레이션된 실행에서 공구가 시간 슬롯의 가장자리(edge)에 가까울수록 비용 함수가 큰, 작업흐름 차트의 자동화된 컴퓨터-보조식 생성을 위한 방법.
  11. 제5항 또는 제6항 내지 제10항에 있어서, 이들 청구항이 청구항 제5항을 인용할 때, 상기 방법은 각각의 최적화된 계획에 대해, 공구 경로 상의 각각의 경로 점에 작업부재와 로봇 베이스 간의 타깃 상대 위치(target relative position)를 할당하는 단계를 더 포함하는, 작업흐름 차트의 자동화된 컴퓨터-보조식 생성을 위한 방법.
  12. 경로 점(path point)에 의해 정의되는 복수의 로봇 모션을 포함하는 차트(chart)에 따라, 산업용 로봇을 이용한 공구에 의한, 움직이는 작업부재를 처리 또는 기계가공하기 위한 로봇을 제어하기 위한 방법으로서, 상기 방법은 로봇 모션의 실행 동안,
    작업부재의 실제 위치를 측정하고 이의 속력을 결정하는 단계,
    예를 들어, 보간(interpolation)에 의해, 경로 점에 할당된 작업부재의 타깃 위치를 이용해 로봇의 현재 위치에 대한 작업부재의 현재 타깃 위치를 계산하는 단계,
    작업부재의 타깃 위치와 실제 위치 간의 차이를 계산하는 단계,
    작업부재의 타깃 위치와 실제 위치 간의 차이가 감소 또는 최소화되도록, 차트에 따라 경로 점을 선택함으로써, 또는 차트에 따라 2개의 경로 점들 사이를 보간함으로써, 도달될 로봇의 다음 타깃 위치와 도달될 때의 시점을 결정하는 단계를 포함하는, 움직이는 작업부재를 처리 또는 기계가공하기 위한 로봇을 제어하기 위한 방법.
KR1020147009832A 2011-09-15 2012-09-06 로봇 프로그램의 자동 생성을 위한 시스템 및 방법 KR102028770B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE102011082771 2011-09-15
DE102011082800.1 2011-09-15
DE102011082771.4 2011-09-15
DE102011082800.1A DE102011082800B4 (de) 2011-09-15 2011-09-15 System und Verfahren zur automatisierten Erstellung von Roboterprogrammen
PCT/EP2012/067413 WO2013037693A2 (de) 2011-09-15 2012-09-06 System und verfahren zur automatisierten erstellung von roboterprogrammen

Publications (2)

Publication Number Publication Date
KR20140090601A true KR20140090601A (ko) 2014-07-17
KR102028770B1 KR102028770B1 (ko) 2019-10-04

Family

ID=47080429

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147009832A KR102028770B1 (ko) 2011-09-15 2012-09-06 로봇 프로그램의 자동 생성을 위한 시스템 및 방법

Country Status (4)

Country Link
US (1) US9701019B2 (ko)
KR (1) KR102028770B1 (ko)
CN (1) CN104010774B (ko)
WO (1) WO2013037693A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190029844A (ko) 2017-09-12 2019-03-21 한국기계연구원 모듈 기반 로봇의 기구학 소프트웨어를 자동으로 생성하는 장치 및 방법
KR20200037253A (ko) * 2017-07-27 2020-04-08 컨버전트 인포메이션 테크놀로지스 게엠베하 서로 다른 변형들을 갖는 작업편들을 처리하기 위한 로봇들의 효율적인 프로그래밍
KR20200097896A (ko) 2019-02-11 2020-08-20 경희대학교 산학협력단 매니퓰레이터 urdf파일 생성장치 및 방법
CN116533236A (zh) * 2023-05-09 2023-08-04 北京航空航天大学 一种基于离散工作空间的服务机器人操作评估策略

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7645441B2 (en) 2000-12-22 2010-01-12 Sagres Discovery Inc. Compositions and methods in cancer associated with altered expression of PRLR
US7820447B2 (en) 2000-12-22 2010-10-26 Sagres Discovery Inc. Compositions and methods for cancer
US20030232334A1 (en) 2000-12-22 2003-12-18 Morris David W. Novel compositions and methods for cancer
US20030191073A1 (en) 2001-11-07 2003-10-09 Challita-Eid Pia M. Nucleic acid and corresponding protein entitled 161P2F10B useful in treatment and detection of cancer
WO2004016733A2 (en) 2002-08-16 2004-02-26 Agensys, Inc. Nucleic acid and corresponding protein entitled 251p5g2 useful in treatment and detection of cancer
JP2007524361A (ja) 2003-02-10 2007-08-30 アジェンシス, インコーポレイテッド 膀胱癌及びその他の癌の治療及び検出に有用な名称158p1d7の核酸及び対応タンパク質
US7709610B2 (en) 2003-05-08 2010-05-04 Facet Biotech Corporation Therapeutic use of anti-CS1 antibodies
US20050025763A1 (en) 2003-05-08 2005-02-03 Protein Design Laboratories, Inc. Therapeutic use of anti-CS1 antibodies
ATE541052T1 (de) 2003-05-30 2012-01-15 Agensys Inc Varianten des prostata-stammzellen-antigens (psca) und teilsequenzen davon
EP2327723A3 (en) 2003-10-10 2012-06-27 Xencor, Inc. Protein based tnf-alpha variants for the treatment of tnf-alpha related disorders
CA2567449C (en) 2004-05-28 2014-03-11 Agensys, Inc. Antibodies and related molecules that bind to psca proteins
WO2006012416A2 (en) 2004-07-20 2006-02-02 Isogenis, Inc. Specific inhibition of autoimmunity and diseases associated with autoantigens
US20060024677A1 (en) 2004-07-20 2006-02-02 Morris David W Novel therapeutic targets in cancer
US7850960B2 (en) 2004-12-30 2010-12-14 University Of Washington Methods for regulation of stem cells
CA2603093A1 (en) 2005-03-31 2006-10-05 Agensys, Inc. Antibodies and related molecules that bind to 161p2f10b proteins
GB201204384D0 (en) 2012-03-13 2012-04-25 Univ Dundee Anti-flammatory agents
EP2892547B1 (en) 2012-09-10 2020-08-12 Xencor, Inc. A dominant negative tnf-alpha inhibitor for use in treating neurological disorders of the cns
US9238304B1 (en) 2013-03-15 2016-01-19 Industrial Perception, Inc. Continuous updating of plan for robotic object manipulation based on received sensor data
JP5939213B2 (ja) * 2013-08-09 2016-06-22 株式会社安川電機 ロボット制御装置及びロボット制御方法
JP6364836B2 (ja) * 2014-03-14 2018-08-01 セイコーエプソン株式会社 ロボット、ロボットシステム、及び制御装置
GB2526810B (en) * 2014-06-03 2017-07-05 Canon Kk Method and apparatus for transmitting sensor data in a wireless network
DE102014226789A1 (de) * 2014-12-22 2016-07-07 Kuka Roboter Gmbh Verfahren und Manipulatoranordnung zum bedingten Anhalten zumindest eines Manipulators auf einer Bahn
DE102015002994A1 (de) * 2015-03-09 2016-09-15 Kuka Roboter Gmbh Verändern einer initial vorgegebenen Roboterbahn
DE102015003543A1 (de) 2015-03-19 2015-08-20 Daimler Ag Verfahren und System zum Betreiben eines Roboters
JP6676286B2 (ja) 2015-05-12 2020-04-08 キヤノン株式会社 情報処理方法、および情報処理装置
WO2016201409A1 (en) 2015-06-12 2016-12-15 Georgia State University Research Foundation Compositions and methods for treating opioid tolerance
WO2017054964A1 (de) 2015-09-29 2017-04-06 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur automatischen konfiguration eines externen steuerungssystems zur steuerung und/oder regelung eines robotersystems
CN108025439B (zh) * 2015-10-14 2021-04-27 川崎重工业株式会社 机器人示教方法及机器臂控制装置
US10338564B2 (en) * 2015-11-10 2019-07-02 Gerber Technology Llc Remote material yield optimization for leather and other heterogeneous material
DE102015222942B4 (de) * 2015-11-20 2024-05-08 Robert Bosch Gmbh Verfahren zum Bewegen eines Manipulators und Vorrichtung mit Manipulator
US10296675B2 (en) * 2015-12-30 2019-05-21 Abb Schweiz Ag System and method for determining dynamic motion data in robot trajectory
US10401823B2 (en) 2016-02-04 2019-09-03 Makino Inc. Real time machining process monitoring utilizing preprocess simulation
JP6450727B2 (ja) * 2016-10-28 2019-01-09 ファナック株式会社 ロボットが行う物品整列作業のシミュレーションのための装置、方法、プログラム及び記録媒体
JP6438450B2 (ja) 2016-11-29 2018-12-12 ファナック株式会社 レーザ加工ロボットの加工順序を学習する機械学習装置、ロボットシステムおよび機械学習方法
US10642244B2 (en) * 2016-12-19 2020-05-05 Autodesk, Inc. Robotic augmentation of creative tasks
AT519096B1 (de) * 2016-12-23 2018-04-15 Engel Austria Gmbh Verfahren zum Einstellen einer Formgebungsmaschine
WO2018210404A1 (en) * 2017-05-16 2018-11-22 Abb Schweiz Ag Method and control system for controlling movement sequences of a robot
JP6756676B2 (ja) * 2017-07-27 2020-09-16 ファナック株式会社 製造システム
WO2019202578A1 (en) * 2018-04-15 2019-10-24 Siemens Industry Software Ltd. Simulation signature keys for robotic simulations
DE102018209870B3 (de) * 2018-06-19 2019-07-04 Kuka Deutschland Gmbh Verfahren und System zum Überführen eines Endeffektors eines Roboters zwischen einer Endeffektorpose und einer weiteren Endeffektorpose
EP3613545A1 (en) * 2018-08-24 2020-02-26 Siemens Aktiengesellschaft Simulation assisted planning of motions to lift heavy objects
US11400594B2 (en) 2018-09-10 2022-08-02 Fanuc America Corporation Zero teach for robotic continuous path
CN109483234B (zh) * 2018-11-02 2020-06-09 北京卫星制造厂有限公司 一种基于移动机器人的智能制造系统及方法
US11455234B2 (en) * 2018-11-21 2022-09-27 Amazon Technologies, Inc. Robotics application development architecture
US11429762B2 (en) 2018-11-27 2022-08-30 Amazon Technologies, Inc. Simulation orchestration for training reinforcement learning models
US11836577B2 (en) 2018-11-27 2023-12-05 Amazon Technologies, Inc. Reinforcement learning model training through simulation
CN109683630B (zh) * 2019-01-25 2021-11-09 南京邮电大学 基于粒子群和prm算法的无人机航迹规划方法
US20220137597A1 (en) * 2019-03-07 2022-05-05 Abb Schweiz Ag Method Of Controlling An Industrial System, Control System And Industrial System
US11014237B2 (en) * 2019-07-11 2021-05-25 Intelligrated Headquarters, Llc Methods, systems, and apparatuses, for path planning and execution in a robotic system
JP7384602B2 (ja) * 2019-09-12 2023-11-21 ファナック株式会社 ロボット制御装置
EP4019204A4 (en) * 2019-09-30 2023-05-03 Siemens Ltd., China METHOD, DEVICE AND ROBOT CONTROL SYSTEM, INFORMATION HOLDER AND TERMINAL
JP7493926B2 (ja) * 2019-10-30 2024-06-03 キヤノン株式会社 制御方法、制御装置、ロボットシステム、物品の製造方法、動作プログラム作成方法、動作プログラム作成装置、表示装置、表示装置の制御方法、プログラムおよび記録媒体
CN110815226B (zh) * 2019-11-15 2022-03-01 四川长虹电器股份有限公司 一种机器人任意姿态任意位置下回初始位置的方法
CN111113426A (zh) * 2019-12-31 2020-05-08 芜湖哈特机器人产业技术研究院有限公司 一种基于cad平台的机器人离线编程系统
US11707843B2 (en) 2020-04-03 2023-07-25 Fanuc Corporation Initial reference generation for robot optimization motion planning
US11858141B2 (en) * 2020-07-08 2024-01-02 Ubtech Robotics Corp Ltd Impedance control method, and controller and robot using the same
US20220032461A1 (en) * 2020-07-31 2022-02-03 GrayMatter Robotics Inc. Method to incorporate complex physical constraints in path-constrained trajectory planning for serial-link manipulator
CN114603552B (zh) * 2020-12-08 2024-05-10 北京配天技术有限公司 一种机器人仿真方法、电子设备和存储介质
DE112021007003T5 (de) * 2021-04-06 2023-11-30 Fanuc Corporation Auswahlvorrichtung, Kommunikationsregelungsvorrichtung, Simulationsvorrichtung und Aufzeichnungsmedium
CN113655717B (zh) * 2021-08-16 2023-09-22 中冶东方工程技术有限公司 一种自动控制配矿料槽连续加料方法和系统
CN113703461B (zh) * 2021-08-31 2023-10-27 库卡机器人制造(上海)有限公司 路径确定方法、装置、机器人和可读存储介质
DE102021212542B3 (de) * 2021-11-08 2022-12-22 Volkswagen Aktiengesellschaft Verfahren zum Betreiben eines mehrachsigen Roboters und Roboter
WO2023089435A1 (en) * 2021-11-16 2023-05-25 3M Innovative Properties Company Robotic application of tapes
CN117253198B (zh) * 2023-11-20 2024-01-26 山东大学 一种智能制造动态管理方法及系统
CN117817673B (zh) * 2024-03-05 2024-05-03 泓浒(苏州)半导体科技有限公司 晶圆搬运机械臂动态路径调整系统及方法
CN117885115B (zh) * 2024-03-07 2024-06-14 中建三局集团有限公司 焊接机器人多优化目标的轨迹优化方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090006445A (ko) * 2007-07-11 2009-01-15 (주) 엔씨비 공구경로 수정 방법
KR20090006446A (ko) * 2007-07-11 2009-01-15 (주) 엔씨비 공구경로 수정 방법
JP4763614B2 (ja) * 2003-11-23 2011-08-31 アーベーベー・リサーチ・リミテッド タスクを実行するロボットに対するタスクのロケイションを最適化するための方法及びシステム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598076A (en) * 1991-12-09 1997-01-28 Siemens Aktiengesellschaft Process for optimizing control parameters for a system having an actual behavior depending on the control parameters
SE501867C2 (sv) * 1993-11-15 1995-06-12 Asea Brown Boveri Förfarande och system för kalibrering av en industrirobot utnyttjande en sfärisk kalibreringskropp
JP3002097B2 (ja) 1994-08-25 2000-01-24 ファナック株式会社 ビジュアルトラッキング方法
WO1997011416A1 (fr) * 1995-09-19 1997-03-27 Kabushiki Kaisha Yaskawa Denki Processeur de langage robotique
JP2001515236A (ja) * 1997-09-04 2001-09-18 ダイナログ インコーポレイテッド ロボット検査システムを較正するための方法
US6076030A (en) * 1998-10-14 2000-06-13 Carnegie Mellon University Learning system and method for optimizing control of autonomous earthmoving machinery
US6157873A (en) * 1998-04-09 2000-12-05 Motoman, Inc. Robot programming system and method
FR2818168B1 (fr) * 2000-12-19 2003-09-19 Eisenmann France Sarl Procede de controle d'une installation de revetement de surface par pistolage
JP2002192486A (ja) 2000-12-25 2002-07-10 Seiko Epson Corp ロボット制御方法及び該方法を適用したロボットコントローラ
ATE303209T1 (de) 2001-10-26 2005-09-15 Inropa Aps Verfahren zur automatischen flächenbehandlung
GB0130986D0 (en) 2001-12-27 2002-02-13 Prophet Control Systems Ltd Programming robots with offline design
US7236854B2 (en) * 2004-01-05 2007-06-26 Abb Research Ltd. Method and a system for programming an industrial robot
DE102004028565A1 (de) * 2004-06-15 2006-01-05 Abb Patent Gmbh Verfahren und System zur Ermittlung eines Wartungsbedarfs
JP2006048244A (ja) * 2004-08-02 2006-02-16 Fanuc Ltd 加工プログラム作成装置
DE102004046351A1 (de) * 2004-09-24 2006-03-30 Daimlerchrysler Ag Verfahren zur automatischen Konservierung der Hohlräume eines Kraftfahrzeugs
JP2006247677A (ja) 2005-03-09 2006-09-21 Fanuc Ltd レーザ溶接教示装置及び方法
JP4210270B2 (ja) * 2005-06-07 2009-01-14 ファナック株式会社 ロボット制御装置及びロボット制御方法
JP4056542B2 (ja) 2005-09-28 2008-03-05 ファナック株式会社 ロボットのオフライン教示装置
US7853356B2 (en) * 2006-04-14 2010-12-14 Fanuc Robotics America, Inc. Method for optimizing a robot program and a robot system
DE102008027475A1 (de) 2008-06-09 2009-12-10 Kuka Roboter Gmbh Vorrichtung und Verfahren zur rechnergestützten Generierung einer Manipulatorbahn
DE112008003963B4 (de) 2008-08-12 2016-11-24 Abb Technology Ltd. System und Verfahren zur Off-line-Programmierung eines Industrieroboters
EP2345512A1 (en) 2010-01-14 2011-07-20 Syddansk Universitet Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (N>5)
US8972056B2 (en) 2010-01-14 2015-03-03 Syddansk Universitet Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (n>5)
IT1397985B1 (it) * 2010-02-08 2013-02-04 Prima Ind Spa Procedimento di monitoraggio della qualità di processi di lavorazione laser e relativo sistema
US20120156362A1 (en) 2010-12-21 2012-06-21 Alexandr Sadovoy Method and device for coating path generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4763614B2 (ja) * 2003-11-23 2011-08-31 アーベーベー・リサーチ・リミテッド タスクを実行するロボットに対するタスクのロケイションを最適化するための方法及びシステム
KR20090006445A (ko) * 2007-07-11 2009-01-15 (주) 엔씨비 공구경로 수정 방법
KR20090006446A (ko) * 2007-07-11 2009-01-15 (주) 엔씨비 공구경로 수정 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200037253A (ko) * 2017-07-27 2020-04-08 컨버전트 인포메이션 테크놀로지스 게엠베하 서로 다른 변형들을 갖는 작업편들을 처리하기 위한 로봇들의 효율적인 프로그래밍
KR20190029844A (ko) 2017-09-12 2019-03-21 한국기계연구원 모듈 기반 로봇의 기구학 소프트웨어를 자동으로 생성하는 장치 및 방법
KR20200097896A (ko) 2019-02-11 2020-08-20 경희대학교 산학협력단 매니퓰레이터 urdf파일 생성장치 및 방법
CN116533236A (zh) * 2023-05-09 2023-08-04 北京航空航天大学 一种基于离散工作空间的服务机器人操作评估策略
CN116533236B (zh) * 2023-05-09 2024-04-12 北京航空航天大学 一种基于离散工作空间的服务机器人操作评估策略

Also Published As

Publication number Publication date
WO2013037693A2 (de) 2013-03-21
WO2013037693A3 (de) 2013-06-06
KR102028770B1 (ko) 2019-10-04
US20140371905A1 (en) 2014-12-18
US9701019B2 (en) 2017-07-11
CN104010774B (zh) 2017-10-13
CN104010774A (zh) 2014-08-27

Similar Documents

Publication Publication Date Title
KR102028770B1 (ko) 로봇 프로그램의 자동 생성을 위한 시스템 및 방법
US11110611B2 (en) Automatic detection and robot-assisted machining of surface defects
RU2549161C2 (ru) Способ автономного программирования манипулятора с цифровым управлением
DE102011082800B4 (de) System und Verfahren zur automatisierten Erstellung von Roboterprogrammen
Suh et al. A framework for an intelligent CNC and data model
JP5848152B2 (ja) ロボット作業シーケンスの自動化プログラミングおよび最適化方法
EP1485766B1 (en) Intelligent step-nc controller
CN111014879B (zh) 一种基于激光焊缝跟踪的机器人波纹板自动焊接方法
CN111152229A (zh) 3d机械视觉的机械手引导方法和装置
CN111152226B (zh) 一种机器人工作轨迹规划方法及系统
US11305429B2 (en) Synchronization of multiple robots
CN110154043B (zh) 基于加工结果进行学习控制的机器人系统及其控制方法
Kleinkes et al. Laser Tracker and 6DoF measurement strategies in industrial robot applications
CN117282580A (zh) 一种用于喷涂流水线的智能机械手及控制方法
CN116214531A (zh) 一种工业机器人的路径规划方法及装置
Brown Metrology Assisted Robotic Automation 2
CN116348912A (zh) 用于机器人视觉引导中的对象跟踪的方法和系统
CN117226858B (zh) 一种工业多轴机器人的协调控制方法及系统
CN114683283B (zh) 一种焊接机器人免示教焊接方法及装置
Horváth et al. Human–robot collaborative workcell calibration and control
Ozaki et al. Quick-adapting and flexible autonomous robot system
Ferreras-Higuerol Check for updates Analysis of the Behaviour of Vertical Articulated Robots in Machining Operations Eugenio Ferreras-Higuerol (), Eduardo Díez-Cifuentes2. Erardo Leal-Muñoz², Miguel Clavijo-Jiménez¹ and Antonio Vizán-Idoipe D ID
Makulavicius et al. Industrial Robots in Mechanical Machining: Perspectives and Limitations. Robotics 2023, 12, 160
Pavol et al. Path correction algorithm for spot welding robot in body-in-white applications
Müller et al. System identification of assembly cells–increased accuracy and demand-driven reconfiguration

Legal Events

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