KR101207248B1 - 산업용 로봇, 및 산업용 로봇의 운동을 제어하기 위한 방법 - Google Patents
산업용 로봇, 및 산업용 로봇의 운동을 제어하기 위한 방법 Download PDFInfo
- Publication number
- KR101207248B1 KR101207248B1 KR1020107010644A KR20107010644A KR101207248B1 KR 101207248 B1 KR101207248 B1 KR 101207248B1 KR 1020107010644 A KR1020107010644 A KR 1020107010644A KR 20107010644 A KR20107010644 A KR 20107010644A KR 101207248 B1 KR101207248 B1 KR 101207248B1
- Authority
- KR
- South Korea
- Prior art keywords
- data record
- industrial robot
- instructions
- path
- interpreted
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34175—Overlap, between two blocks, continuous, smooth speed change, movement
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36032—Script, interpreted language
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40395—Compose movement with primitive movement segments from database
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
본 발명은 제어장치 (8) 를 구비한 산업용 로봇 (1), 및 상기 산업용 로봇 (1) 의 운동을 제어하기 위한 방법에 관한 것이다. 상기 방법에 따르면, 산업용 로봇 (1) 을 제어하도록 예정된 명령이 인출되고, 상기 인출된 명령을 인터프리터 (13) 를 이용해 해석함으로써 해석된 명령이 생성되며, 상기 해석된 명령은 임시기억장치 (10) 안에 저장된다. 이 과정은 제 1 키워드가 발견되기까지 반복된다. 그 후, 상기 임시기억장치 (10) 안에 저장된 상기 해석된 명령들로부터 데이터 레코드 (15) 가 생성되고, 이때 상기 데이터 레코드 (15) 는 산업용 로봇 (1) 이 지나가야 하는 경로의 적어도 하나의 부분경로에 관한 정보를 갖고 있다. 상기 데이터 레코드 (15) 는 버퍼기억장치 (11) 안에 적재되고, 상기 버퍼기억장치 (11) 로부터 인출되며, 산업용 로봇 (1) 을 상기 부분경로에서 움직이기 위해 인터폴레이터 (14) 를 이용해 인터폴레이션된다.
Description
본 발명은 산업용 로봇, 및 산업용 로봇의 운동을 제어하기 위한 방법에 관한 것이다.
일반적으로 산업용 로봇은 대상물을 자동으로 핸들링하기 위해 목적에 부합하는 공구를 갖추고 있고 다수의 운동축과 관련하여, 특히 방향, 위치 및 작업 진행과 관련하여 프로그래밍 가능한 핸들링 기계이다. 산업용 로봇은 일반적으로 로봇암과 제어장치와 경우에 따라서는 이펙터 (effector) 를 포함하며, 상기 이펙터는 예컨대 공구를 그립핑하기 위한 그립퍼로서 형성되어 있을 수 있고 로봇암에 고정되어 있거나 또는 이에 고정될 수 있다. 로봇암은 본질적으로 산업용 로봇의 이동식 부품이며, 다수의 축을 구비하고, 상기 축들은 예컨대 이펙터가 사전 결정된 경로에서 움직여지도록 예컨대 전기 드라이브들을 이용해 산업용 로봇의 운동을 위한 제어장치에 의해 작동된다.
산업용 로봇의 운동을 제어하기 위한 종래의 방법은, 산업용 로봇의 제어장치가 산업용 로봇이 지나가야 하는 경로를 도 1 에 도시되어 있는 흐름도와 같이 계획하는 것에 그 근거를 두고 있다.
상기 계획을 위해, 제어장치 또는 상기 제어장치에서 진행되는 계산 프로그램의 인터프리터 (Ipr) 는 예컨대 상기 제어장치의 기억장치 안에 저장되어 있는 경로에 할당된 프로그램화된 지점 (programmed point) 들로부터 특히 산업용 로봇의 운동 동안의 기하학 프로파일 및 속도 프로파일을 포함하는 개별 데이터 레코드 (data record) 들을 생성한다. 상기 개별 데이터 레코드들에는 산업용 로봇을 위한 각각 하나의 개별 운동명령이 할당되어 있고, 상기 운동명령들의 전체는 경로를 지나갈 때의 산업용 로봇의 운동을 결정한다. 그 후, 인터프리터 (Ipr) 에 의해 계획된 상기 개별 데이터 레코드들은 제어장치의 제한된 길이를 가진 버퍼 ('초기 버퍼' V) 안에 기록된다 ('초기실행'). 기술적 명령 또는 기술 명령이라고도 불리우는 개별 기술명령들도 마찬가지로 경로에 대한 시간적 및/또는 기하학적 관련성과 함께 초기 버퍼 안에 기록된다. 기술적 명령이란 특히 산업용 로봇의 아날로그 또는 디지털 아웃풋의 경로와 관련된 만일의 삽입 또는 삭제, 속도에 비례하는 아날로그 아웃풋, 기하학적 또는 열적 진동 등을 말한다. 상기 프로그램화된 개별 지점들은 예컨대 직접적인 또는 간접적인 프로그래밍 방법을 통해 미리 검출되었다.
특히 산업용 로봇의 운동을 위한 목표 위치값을 얻기 위해, 상기 계획된 개별 데이터 레코드들은 산업용 로봇의 운동 동안 제어장치의 이른바 인터폴레이터 (Ipol) 에 의해 상기 초기 버퍼 (V) 에서 벗어난다 ('주실행'). 상기 개별 데이터 레코드들로부터의 목표 위치값의 산출은 일정한 계산법칙들에 따라 수행되고, '인터폴레이션 (interpolation)' 이라고 불리운다. 인터폴레이션 및 개별 데이터 레코드들의 계획은 여러 가지 태스크 (task) 를 제시한다. 제어장치의 멀티태스킹은, '초기실행' 의 맥락에서 그 밖의 개별 데이터 레코드들이 인터폴레이션에 대해 준평행으로 (quasi-parallel) 계획될 수 있게 한다.
'초기실행' 에서의 운동 계획은, 개별 데이터 레코드들 (운동 명령들) 로부터 운동의 평활화 (smoothing) 또는 스플라인 (spline) 윤곽의 계산을 실행하기 위해 특히 필요하다. 산업용 로봇의 운동의 현재 실행되는 부분운동에 뒤따르는 부분운동을 계산할 수 있기 위해서는, 산업용 로봇의 현재의 부분운동에 할당된 개별 데이터 레코드 (운동 명령) 이외에 산업용 로봇에 의해 현재 실행되는 개별 데이터 레코드에 대한 평활화 연결을 포함하여 현재의 개별 데이터 레코드에 뒤따르는 적어도 하나의 계획된 개별 데이터 레코드가 필요하다. 평활화는 다수의 개별 데이터 레코드 (운동 명령들) 가 미리 계획됨으로써 실현된다.
개별 데이터 레코드를 계획하기 위해서는 일반적으로 비교적 짧은 시간이 필요하며, 오늘날의 제어장치를 사용할시 30 ms 미만의 자릿수에서의 시간이 필요하다. 이에 반해, 개별 데이터 레코드에 할당된 산업용 로봇에서의 부분운동의 실제 실행기간은 일반적으로 훨씬 더 길고, 예컨대 몇백 ms 내지 몇초의 범위에 있다.
종래의 방법을 토대로 한 산업용 로봇 (도시되어 있지 않음) 의 운동의 계산 또는 계획은 다음과 같이 도시될 수 있다:
이때, 식별자 'C_DIS' 를 가진 운동들은 '평활화' 를 위해 표시된다.
종래의 제어의 예를 위해 산업용 로봇은 현재 그의 주실행/인터폴레이션 (요약하여: HL) 동안 그의 전체 운동의 부분운동 (상기 부분운동은 개별 데이터 레코드 (운동 명령) LIN P2 C_DIS 에 할당되어 있다) 을 실행한다. 예컨대 산업용 로봇의 드라이브들을 개별 데이터 레코드 LIN P2 D_DIS 에 할당된 운동 명령을 위해 실제로 실행하기 위해, 인터폴레이터 (Ipol) 는 이 개별 데이터 레코드로부터 상기 드라이브들을 위한 상응하는 커맨드 (command) 들을 생성한다.
상기 현재의 부분운동에 선행하는, 개별 데이터 레코드 LIN P1 C_DIS 에 할당되어 있는 부분운동을 산업용 로봇은 이미 끝냈다.
산업용 로봇이 개별 데이터 레코드 LIN P3 C_DIS 에 할당된 부분운동에서 그의 운동을 시작하면, 초기실행은 초기 버퍼 (V) 로부터 상기 초기실행 (요약하여 : VL) 의 맥락에서 계획된 개별 데이터 레코드 LIN P3 C_DIS 를 인출하고, 계획은 초기 버퍼의 지금 비어 있는 위치에 새로 계획된 개별 데이터 레코드 LIN P6 C_DIS 를 삽입할 수 있다.
상기 종래의 계획의 장점은, 산업용 로봇이 지나가는 경로의 윤곽 자체가 아직 완전히 알려져 있지 않을지라도 인터폴레이터 (Ipol) 가 예컨대 평활화된 윤곽의 실제 실행을 이미 비교적 조기에 시작할 수 있다는 데에 있다.
하지만 제어장치의 처리 능력이 다른 태스크들을 위해 사용될 수도 있고, 따라서 제어장치의 활용이 결정론적이지 않다. 이는 특히 제어장치가 운동명령들의 사이에 특히 잠재적으로 계산 집중적인 그 밖의 연산을 실행하면 그러하다. 이는 예컨대 다음과 같이 도시될 수 있다:
이 경우, 제어장치는 명령 'FOR I = 1 TO N DO CALL Subroutine ENDFOR' 에 할당되어 있는 태스크를 실행한다. 이러한 경우, 초기실행이 어쩌면 비교적 긴 시간 동안 다음 운동 커맨드 (프로그램화된 지점) 를 얻지 않는 것이 가능하다. 이로 인해, 얼마나 많은 개별 데이터 레코드들을 초기실행이 미리 앞서게 할 수 있는지가 결정론적이지 않다. 이는 프로세스의 실행주기마다 다를 수 있다.
이로 인해, 다음과 같은 단점들이 생길 수 있다:
1. 속도 프로파일은 프로세서 활용, 즉 제어장치의 활용에 좌우된다. 하지만 산업용 로봇은 초기실행에서 가시적인 (visible) 나머지 경로에서 경로에 충실하게 항상 멈출 수 있어야만 한다. 계획을 위해 이용 가능한 계산시간에 따라, 가시적인 나머지 경로가 변화된다. 동일한 경로 윤곽을 위한, 제어장치의 활용에 따른 속도 프로파일 (PR1, PR2) 들이 도 2 및 도 3 에 도시되어 있다. 도 2 에 도시되어 있는 속도 프로파일 (PR1) 은 제어장치의 비교적 적은 활용에 할당되어 있고, 도 3 에 도시되어 있는 속도 프로파일 (PR2) 은 제어장치의 비교적 큰 활용에 할당되어 있다.
2. 산업용 로봇이 반드시 시간 최적 (time-optimal) 속도로 움직이는 것이 아니다: 만약 한 이그젝트 스톱 (exact stop) 으로부터 다른 이그젝트 스톱으로의 전체 윤곽이 알려져 있다면, 산업용 로봇은 초기 버퍼의 길이에 의해 제한된 프리뷰 (preview) 를 가진 것보다 더 높은 속도로 (언제든지 멈출 수 있는 가능성을 포함하고) 움직일 수 있을 것이다.
3. 산업용 로봇이 지나가는 기하학적 경로는 프로세서 활용, 즉 제어장치의 활용에 좌우된다: 평활화가 가능한지 아닌지에 따라 이그젝트 스톱을 지나가거나 또는 지나가지 않는다. 즉, 제어는 우선 경우에 따라서는 비상정지 (emergency stop) 도 실행되는 이그젝트 스톱 경로를 항상 계산한다.
4. 특정한 작동유형들에서, 예컨대 '개별 스텝 방법' 또는 '후진' 에서 또는 세트 설렉션 (set selection) 에 따라, 경로의 프로그램화된 개별 지점들로 다가가는데, 왜냐하면 간단한 실행을 이유로 제어장치의 컴파일러/인터프리터는 하나의 운동명령만 실행하고, 경우에 따라서는 평활화된 운동 데이터 레코드 주위의 환경은 분석하지 않기 때문이다.
5. '비상정지' 에 있어서, 산업용 로봇은 방해를 받지 않은 프로그램 작동에서와는 다른 경로에서 움직일 수도 있다 (이그젝트 스톱 지점에 대해 잠재적으로 '경로에서의 멈춤').
상기 단점 1 및 3 때문에 프로세스 기하학과 프로세스 속도는 결정론적이지 않다.
상기 단점 3, 4 및 5 때문에 경로 및 프로그램화된 지점들 둘레에는 안전 간격이 유지되어야만 하는데, 왜냐하면 이그젝트 스톱 경로뿐만 아니라 평활화 경로도 충돌 없이 지나갈 수 있어야만 하기 때문이다.
따라서 본 발명의 목적은 산업용 로봇의 잠재적으로 보다 높은 운동속도를 위한 전제조건을 가능하게 하는, 산업용 로봇의 운동을 제어하기 위한 방법을 제공하는 것이다.
상기 목적은 하기의 방법단계들을 구비한 산업용 로봇의 운동을 제어하기 위한 방법을 통해 달성된다:
a) 산업용 로봇을 제어하도록 예정된 명령을 인출하는 단계,
b) 상기 인출된 명령을 인터프리터를 이용해 해석함으로써 해석된 명령을 생성하는 단계,
c) 상기 해석된 명령을 임시기억장치 안에 저장하는 단계,
d) 제 1 키워드 (keyword) 가 발견되기까지 상기 단계들 a) 내지 c) 를 반복하는 단계,
e) 상기 임시기억장치 안에 저장된 상기 해석된 명령들로부터 데이터 레코드를 생성하는 단계로서, 상기 데이터 레코드는 산업용 로봇이 지나가야 하는 경로의 적어도 하나의 부분경로에 관한 정보를 갖고 있는, 상기 데이터 레코드를 생성하는 단계,
f) 상기 데이터 레코드를 버퍼기억장치 안에 저장하는 단계,
g) 상기 버퍼기억장치 안에 저장된 상기 데이터 레코드를 인출하며, 상기 버퍼기억장치로부터 인출된 상기 데이터 레코드를 산업용 로봇을 상기 부분경로에서 움직이기 위해 인터폴레이터를 이용해 인터폴레이션하는 단계.
이 이외에, 본 발명은 본 발명에 따른 상기 방법을 실행하는 제어장치를 구비한 산업용 로봇을 제공한다.
본 발명의 그 밖의 관점에서, 곧바로 산업용 로봇의 제어장치의 기억장치 안에 적재될 수 있고 소프트웨어 코드를 구비한 컴퓨터 프로그램 제품이 제공되며, 상기 컴퓨터 프로그램 제품이 산업용 로봇의 상기 제어장치에서 진행되면 상기 소프트웨어 코드를 이용해 본 발명에 따른 방법이 실행된다.
도입부에 기술되었던 계획방법과 같은 종래의 계획방법과는 달리, 본 발명에 따른 방법에 따르면 다수의 명령들은 한 섹션 (section) 으로 합해지고, 상기 섹션은 임시기억장치 안에 데이터 레코드로서 저장된다. 상기 임시기억장치는 예컨대 산업용 로봇의 제어장치의 일부이며, 상기 섹션은 예컨대 키워드들을 가진 괄호에 의해 특징지워진다.
산업용 로봇의 운동을 제어하기 위해, 본 발명에 따르면 개별 명령들, 특히 개별 운동 및 기술 명령들은 예컨대 상기 제어장치의 기억장치로부터 인출되고, 인터프리터를 이용해 해석된다. 모든 뒤따르는 명령들은 제 1 키워드에 도달하기까지, 사용된 로봇 프로그래밍 언어의 인터프리터에 의해 해석된다. 제 1 명령의 해석의 시작 또는 해석된 명령들의 저장의 시작은 예컨대 인터프리터가 제 2 키워드를 발견하면 시작될 수 있다.
그러나 개별 명령들의 상기 해석의 결과는 곧바로 상기 제어장치의 버퍼기억장치 (초기 버퍼) 안에 기록되는 것이 아니라 임시기억장치 안에 기록된다. 그러므로 상기 임시기억장치는 해석된 명령들을 수집하는데에 쓰이며, 하지만 특히 버퍼기억장치 안의 기하학 세트, 속도 세트 및 기술 세트와 동일한 데이터 포맷 (data format) 을 가질 수 있다. 그 밖에는 일반적인 속도 프로파일들과는 달리, 상기 임시기억장치는 예컨대 대기 명령들을 토대로 속도 '0' 의 공간들도 구비할 수 있다. 상기 버퍼기억장치는 특히 사전 결정된 길이를 가질 수 있다.
제 1 키워드에 도달하자마자 상기 임시기억장치의 내용은 데이터 레코드로서 상기 버퍼기억장치 안으로 전달된다.
본 발명에 따른 방법의 실시형태에 따르면, 상기 데이터 레코드에 대해서는 감소된 명령세트 (instruction set) 를 가진 명령들만 사용된다.
본 발명에 따른 방법의 그 밖의 실시형태에 따르면, 상기 데이터 레코드에 대해서는 제어 구조들 또는 제어 명령들, 특히 무한 루프를 발생시킬 수 있는 제어 구조들 (예컨대, 고정 끝을 가진 이른바 'FOR' 루프를 제외하고 귀납적인 함수호출, 'while/repeat' 루프) 이 사용되지 않는다. 이를 통해, 데이터 레코드의 계산이 끝없는 기간을 요구하는 것이 저지된다.
또한, 상기 데이터 레코드에 대해서는 센서 가이디드 (sensor-guided) 명령들 또는 시간적으로 결정되지 않은 기간을 갖는 명령들, 예컨대 상응하는 신호가 놓여질 때까지 인터프리터를 기다리게 하는 대기 명령들을 허용하지 않는 것이 가능하다.
본 발명에 따른 방법의 그 밖의 실시형태에 따르면, 상기 데이터 레코드는 적어도 운동 명령들, 기술 명령들, 및 시간적으로 구체적으로 명시된 대기 명령들을 구비한다. 상기 운동 명령들은 예컨대 point to point (PTP) 운동, 선형 (LIN) 운동 명령, 원호 운동 (CIRC) 명령 또는 스플라인 (spline) 명령이다.
상기 기술 명령이란 아날로그 및 디지털 아웃풋의 경로와 관련된 만일의 삽입 및/또는 삭제, 속도에 비례하는 아날로그 아웃풋, 기하학적 또는 열적 (thermal) 진동을 말한다.
본 발명에 따른 방법의 그 밖의 실시형태에 따르면, 상기 데이터 레코드는 섹션 (section) 들의 네스팅 (nesting) 이 없다.
그러므로, 인터프리터는 본 발명에 따른 방법에 따라 부분경로를 상기 데이터 레코드에 할당된 섹션을 이용해 하나의 기본적인 명령 (하나의 유일한 기존의 운동 또는 기술 명령과 등가적으로 (equivalently)) 으로서 계획한다. 종래의 초기실행 컨셉에서는, 섹션은 정확히 하나의 유일한 운동 또는 기술 명령에 일치한다.
본 발명에 따른 방법으로 인해 계획시간이 증가하기는 하나 (왜냐하면 인터폴레이터가 보다 늦게 시작하기 때문이다), 하지만 이에 대해 결과는 결정론적이며 (deterministic), 이를 통해 산업용 로봇의 잠재적으로 보다 높은 운동속도가 가능하다.
종래의 계획방법에서는, 하나의 유일한 운동 또는 기술 명령의 섹션이 한 요소 (개별 데이터 레코드) 로 간주된다. 하나의 유일한 개별 데이터 레코드의 초기실행에 있어서, 본 발명에 따른 방법에 따른 완전한 섹션은 버퍼기억장치 (초기 버퍼) 안의 단 하나의 기록에 일치하며, 하지만 상기 기록은 내부에서 다수의 명령으로 구성되었다. 즉, 버퍼기억장치 (초기 버퍼) 의 동일한 길이에 있어서, 실제 경로에서의 보다 큰 프리뷰 (preview) 가 실현될 수 있다. 이 섹션의 내부에서의 시간 거동은 결정론적인데, 왜냐하면 다수의 부분운동 (부분경로) 로 구성된 계획된 운동이 비로소 완전히 계획되기 때문이며, 그 후 주실행 (인터폴레이터) 에게 넘겨지기 때문이다.
본 발명에 따른 방법의 실시형태들에 따르면, 상기 데이터 레코드는 전체 경로에 관한 정보를 포함하며, 또는 부분경로를 뒤따라가는 경로의 그 밖의 부분경로에 관한 정보를 포함하는 그 밖의 데이터 레코드를 생성하기 위해 상기 단계들 a) 내지 g) 이 추가적으로 반복된다.
상기 섹션 (데이터 레코드) 은 예컨대 평활화된 또는 평활화되지 않은 다수의 운동 또는 스플라인 (spline) 운동을 구비할 수도 있다.
실현, 즉 상기 데이터 레코드 (섹션) 의 프로그래밍은 높은 프로그래밍 언어들, 예컨대 C, C++ "{ ..}" 또는 Pascal (BEGIN .. END) 에 있어서의 논리적 그루핑 (grouping) 으로서의 공지의 블록들 또는 서브루틴 호출을 능가한다 (본 발명에 따른 컨셉이 구문론적으로 (syntactically) 이것들과 유사하고 상기 섹션이 예컨대 키워드들, 예컨대 'BEGIN' 또는 'END' 에 의해 정의될지라도). 왜냐하면 프로그램 언어 'C' 에서의 블록은 예컨대 컴파일러 (compiler) 에게 다수의 스테이트먼트 (statement) 의 연속, 예컨대 제어흐름 (control flow) 안의 스테이트먼트가 고려되어야 하는 것만을 통지하기 때문이다. 시간 거동에 관해서는 언급이 없다. 이에 반해, 본 발명에 따른 방법은 결정론적인 주실행 거동 (인터폴레이션) 을 구체적으로 명시한다.
본 발명에 따른 방법은 오히려 멀티 태스킹 시스템 안의 태스크 록 (Task Lock) 에 일치한다. 멀티 태스킹 환경에서, 계산은 예컨대 인터럽트 명령에 의해 중단될 수 없다 (적어도 인터폴레이터의 관점에서 볼 때).
이에 따라, 본 발명에 따른 방법은 산업용 로봇의 보다 높은 (결정론적인) 경로속도를 위한 전제조건을 만들어낸다. 즉, 안전을 이유로, 운동계획을 토대로 계획된 나머지 경로에서, 즉 산업용 로봇이 아직 지나가야 하는 경로의 일부에서 다음 이그젝트 스톱 (exact stop) 쪽으로 정지될 수 있는 운동들만 생성되는 것이 일반적으로 필요한데, 왜냐하면 예컨대 비상정지 반응이 필요할 수 있거나 또는 그 밖의 운동이 더 이상 뒤따를 수 없기 때문이다. 즉, 산업용 로봇의 운동의 최대속도는 초기실행에서 이용 가능한 나머지 경로 프리뷰 (preview) 를 통해 제한되어 있다.
도 2 는 속도 프로파일 (PR1) 을 토대로, 도입부에 기술된 종래의 방법을 위한 이 거동을 나타낸다: 초기실행이 그 밖의 개별 데이터 레코드를 계획하고, 그리고 이로써 가시적인 나머지 경로를 확대할 때마다 계획에서의 속도가 높아질 수 있다. 하지만 보다 높은 이 속도는 제어장치의 프로세서 활용에 좌우된다.
본 발명에 따른 방법을 이용해, 운동계획에게는 간단한 방식으로 하나의 유닛보다 긴 프로세스 경로가 통지되며, 따라서 이 전체경로에서 신뢰성 있는 최대속도가 계획될 수 있다.
그렇기 때문에, 본 발명에 따른 방법의 실시형태에 따르면, 상기 임시기억장치에 저장된 상기 해석된 명령들을 토대로 한 상기 데이터 레코드는 산업용 로봇이 상기 데이터 레코드에 할당된 부분경로에서 움직일 때 이용되는 위치에 따른 (location-dependent) 속도에 관한 정보를 갖고 있다. 대안적으로 또는 추가적으로, 상기 임시기억장치에 저장된 상기 해석된 명령들을 토대로 한 상기 데이터 레코드는 산업용 로봇이 상기 데이터 레코드에 할당된 부분경로에서 움직일 때 이용되는 시간에 기초한 (time-based) 운동에 관한 정보를 가질 수 있다.
본 발명에 따른 방법은 모든 작동유형에서의 계획 또는 동일한 윤곽의 운동을 허용한다. 초기실행/주실행 컨셉을 가진 종래의 제어에서는, 예컨대 프로그램을 테스트하기 위한 개별 스텝 모드에 있어서, 또는 후진에 있어서, 또는 세트 설렉션 (set selection) 에 있어서, 또한 프로그램 작동시 평활화되는 지점들에 있어서 이그젝트 스톱 지점 (exact stop point) 에게 다가간다. 즉, 가능한 제어 구조들, 계산된 지점들, 및 평활화에 필요한 환경의 분석으로 인해 프로그램 작동의 윤곽을 결정하는 것이 어렵다. 예컨대, 한 지점 둘레의 스플라인 (Spilne) 경로의 윤곽은 스플라인 (spline) 의 사용된 순서에 따라 다수의 선행 및 후행 지점들을 알아야 비로소 알려진다. 이는 흔한 컴파일러 및 인터프리터를 갖고는 실현하기 어려운데, 왜냐하면 그 크기가 알려져 있지 않은 커맨드 (command) 의 환경이 분석되어야만 하기 때문이다.
본 발명에 따른 방법을 통해, 전체 윤곽 또는 부분 윤곽은 데이터 레코드로서 이해되고, 전체로서 이용 가능하다. 이를 통해, 비교적 간단히 '개별 스텝', '프로그램 작동', '후진' '세트 설렉션' 함수들에 있어서 프로그램 윤곽을 지나갈 수 있다. 그러므로, 평활화 경로 또는 스플라인 경로에 있어서, 프로그램화된 지점들을 항상 지나가는 것이 가능하다.
이를 통해, 상기 프로그램화된 지점들 둘레의 보다 작은 안전간격이 선택될 수 있다.
평활화된 윤곽들에 있어서, 한 이그젝트 스톱으로부터 다른 이그젝트 스톱까지의 이 윤곽이 경로 및 시간에 있어 얼마나 걸리는지가 일반적으로 알려져 있지 않은데, 왜냐하면 상기 윤곽은 피스별로 (piecewise) 구성되기 때문이다. 하지만, 프로세스에 특정한 시간이 걸려야만 하는 적용예들이 있다. 이런 프로세스의 예들은 다음과 같다:
1. 포밍 (foaming) 과 같은 적용에 있어서, 주형은 윤곽을 따라 미리 주어진 양의 폼 (foam) 으로 채워져야만 한다. 폼의 도징 (dosing) 은 일반적으로 제어 가능하지 않고, 비율 R = 시간 당 폼의 양은 일정하다. 즉 원하는 양 (M) 을 삽입하기 위해, 윤곽을 시간 T = M/R 내에 지나가야 한다. 이동 시간이 미리 주어질 수 없다면, 우선 러닝 (learning) 실행에서 윤곽을 위한 이동 시간이 검출되고, 그 후 상응하여 속도가 맞춰져야만 한다.
윤곽이 본 발명에 따른 방법을 토대로 알려져 있다면, 산업용 로봇의 제어장치는 우선 윤곽을 사전 설정 '시간 최적 (time-optimal)' 을 갖고 계획할 수 있고, 그 후 결과로 생기는 시간 (Topt) 은 예컨대 타임 스케일링 (time scaling) 을 통해 속도 프로파일을 소망하는 시간 (T) 으로 늘리기 위해 (Topt < T 인 경우에만, 그렇지 않으면 과제를 풀 수 없다) 사용된다. 이는 시간 최적 계획이 경로 묘사를 함수 fopt:[0, Topt]-> Rn 으로서 제공하나 실제로는 함수 f: [0, T] -> Rn with fopt(t) = f(t * Topt/T) 가 인터폴레이션되는 것을 의미한다. 시간의 사전 설정은 부분 섹션들 또는 중간 지점들에만 관한 것일 수도 있다.
2. 폼 유입과 유사하게, 윤곽을 따른 열유입의 사전 설정. 비디오 신호 또는 오디오 신호에 대해 동기식으로 움직이기 위해 엔터테인먼트 로봇이 필요로 하는 시간의 사전 설정.
또한, 개별 섹션들을 평활화하기 위해, 상기 개별 섹션들을 운동 데이터 레코드로서 이해하는 것이 가능하다.
데이터 레코드 (섹션) 는 프로세스 윤곽으로서 이해될 수도 있다.
세트 설렉션은, 섹션의 윤곽 쪽으로의 가장 짧은 경로를 지나감으로써 세트에서뿐만 아니라 프로세스 윤곽에서도 수행될 수 있다.
섹션의 내부에서의 제한된 명령범위: IT THEN ELSE, WHILE, REPEAT 와 같은 제어 구조들 및 운동 커맨드들을 위한 지점들의 계산과 같은 제어 구조들은, 섹션의 결정론적인 계획을 보장하기 위해 섹션의 내부에서 허용되어 있지 않다. 특히, 섹션 안의 부분운동들의 수량은 고정되어 있다.
본 발명의 실시예는 첨부된 개략적인 도면들에 도시되어 있다.
도 1 은 종래의 계획방법을 위한 흐름도,
도 2 및 도 3 은 종래의 제어장치를 가진 종래의 산업용 로봇의 운동의 속도 프로파일,
도 4 는 제어장치를 구비한 산업용 로봇,
도 5 는 도 4 의 산업용 로봇의 제어장치에서 진행되는 계획방법을 도시한 흐름도,
도 6 은 도 4 의 산업용 로봇의 제어장치의 거동,
도 7 은 도 4 의 산업용 로봇의 운동의 속도 프로파일이다.
도 2 및 도 3 은 종래의 제어장치를 가진 종래의 산업용 로봇의 운동의 속도 프로파일,
도 4 는 제어장치를 구비한 산업용 로봇,
도 5 는 도 4 의 산업용 로봇의 제어장치에서 진행되는 계획방법을 도시한 흐름도,
도 6 은 도 4 의 산업용 로봇의 제어장치의 거동,
도 7 은 도 4 의 산업용 로봇의 운동의 속도 프로파일이다.
도 1 내지 도 3 은 도입부에서 이미 설명되었다.
도 4 는 예컨대 6 개의 자유도에서의 운동을 위한 키네메틱스 (kinematics) 를 구비한 산업용 로봇 (1) 을 나타낸다. 산업용 로봇 (1) 은 일반적으로 알려져 있는 방식으로 조인트 (2 내지 4) 와, 레버 (5, 6) 와, 6 개의 운동축 (A1 내지 A6) 과, 플랜지 (7) 를 구비하며, 상기 플랜지에는 이펙터 (effector, 도시되어 있지 않음), 예컨대 공구가 고정될 수 있다.
각각의 운동축 (A1 내지 A6) 은 도시되어 있지 않은 드라이브에 의해 움직여진다. 상기 드라이브들은 당업자에게 일반적으로 알려져 있는 바와 같이 예컨대 각각 전동기 및 기어를 포함한다.
이 이외에, 산업용 로봇 (1) 은 제어장치, 본 실시예의 경우에는 제어용 컴퓨터 (8) 를 구비하며, 상기 제어용 컴퓨터는 산업용 로봇 (1) 의 상기 드라이브들과 연결되어 있고 (도시되어 있지 않음), 상기 드라이브들을 제어용 컴퓨터 (8) 에서 진행되는 계산 프로그램을 이용해 제어하며, 따라서 산업용 로봇 (1) 의 플랜지 (7) 는 미리 설정된 운동을 실행한다.
제어용 컴퓨터 (8) 는 기억장치 (12) 와, 상기 기억장치에 연결되어 있는 프로세서 (9) 와, 상기 프로세서 (9) 에 연결되어 있는 임시기억장치 (10) 와, 상기 프로세서에 연결되고 본 실시예의 경우 고정 길이를 가진 초기 버퍼 (11) 를 구비한다. 기억장치 (12) 안에는, 산업용 로봇 (1) 이 움직여야 하는 그의 플랜지 (7) 또는 상기 플랜지 (7) 에 고정된 이펙터의 경로를 위한 프로그램화된 지점들이 있다. 상기 경로의 상기 프로그램화된 개별 지점들은 일반적으로 알려져 있는 방식으로 미리 예컨대 직접적인 또는 간접적인 프로그래밍 방법을 이용해 검출되었다.
이 이외에, 제어용 컴퓨터 (8) 에서는 계산 프로그램이 진행되며, 상기 계산 프로그램은 상기 프로그램화된 지점들을 기초로 산업용 로봇 (1) 의 운동을 계획하고, 상기 계획을 토대로 상기 전기 드라이브들을 작동시키며, 따라서 플랜지 또는 이펙터는 소망하는 경로에서 움직인다.
본 실시예의 경우 프로그램화된 계획방법은 도 5 의 흐름도를 근거로 도시되어 있고, 도 6 에는 산업용 로봇 (1) 의 제어용 컴퓨터 (8) 의 거동이 도시되어 있다.
도입부에 기술되었던 계획방법과 같은 종래의 계획방법과는 달리, 제어용 컴퓨터 (8) 에서 진행되는 계산 프로그램 또는 그의 인터프리터 (13) 는, 다수의 명령, 도 6 에 도시되어 있는 예의 경우에는 선형 운동 명령들 'LIN P1', 'LIN P2', 'LIN P3', 'LIN P4', 'LIN P5', 'LIN P6' 및 'LIN P7' 를 한 섹션 (section, 15) 으로 합하도록 셋업되어 있다. 이 섹션 (15) 은 본 실시예의 경우 키워드 'BEGIN SECTION' 과 'END SECTION' 을 가진 괄호에 의해 특징지워진다.
본 실시예의 경우, 경로 계획의 시작 후 개별 운동 및 기술 명령들은 기억장치 (12) 로부터 인출되고, 인터프리터 (13) 를 이용해 해석된다. 사용된 로봇 프로그래밍 언어의 인터프리터 (13) 가 키워드, 본 실시예의 경우 'BEGIN SECTION' 에 도달하자마자, 모든 뒤따르는 명령들은 다음번 키워드까지, 본 실시예의 경우에는 'END_SECTION' 까지 해석된다.
하지만 개별 운동 및 기술 명령들의 상기 해석의 결과는 제어용 컴퓨터 (8) 의 초기 버퍼 (11) 안에 곧장 기록되는 것이 아니라, 제어용 컴퓨터 (8) 의 내부 임시기억장치 (10) 안에 기록된다. 임시기억장치 (10) 는 운동 명령들과 기술 명령들과 대기 명령들을 수집하는데에 쓰이며, 하지만 초기 버퍼 (11) 안의 기학학 세트, 속도 세트 및 기술 세트와 동일한 데이터 포맷을 가진다. 그 밖에는 일반적인 속도 프로파일들과는 달리, 임시기억장치 (10) 는 예컨대 대기 명령들을 토대로 속도 '0' 을 가진 공간들도 구비할 수 있다.
키워드 'END SECTION' 에 도달하자마자, 임시기억장치 (10) 의 내용은 데이터 레코드로서 초기 버퍼 (11) 안으로 전달된다.
본 실시예의 경우, 상기 섹션 (15) 의 내부에는 감소된 명령범위만 허용되어 있다.
특히, 본 실시예의 경우에는, 무한 루프를 발생시킬 수 있는 제어 구조들 또는 제어 명령들 (예컨대, 고정 끝을 가진 이른바 'FOR' 루프를 제외하고 귀납적인 함수호출, 'while/repeat' 루프) 이 허용되어 있지 않으며, 또는 제어 구조들 또는 제어 명령들이 전혀 허용되어 있지 않다. 이를 통해, 상기 섹션 (15) 에 할당된 데이터 레코드의 계산이 끝없는 기간을 요구하는 것이 저지된다.
이 이외에, 본 실시예의 경우에는, 센서 가이디드 (sensor-guided) 운동들, 또는 시간적으로 결정되지 않은 기간을 가진 명령들, 예컨대 상응하는 신호가 놓여 있을 때까지 인터프리터 (13) 를 기다리게 하는 대기 명령들이 허용되어 있지 않다.
하지만 본 실시예의 경우, 섹션 (15) 의 내부에서 적어도 하기의 명령들의 해석이 가능하다:
1. 운동 명령들, 예컨대 point to point (PTP) 운동, 선형 (LIN) 운동 명령, 원호 운동 (CIRC), 또는 스플라인 (SPLINE) 명령,
2. 기술 명령들, 즉 아날로그 및 디지털 아웃풋의 경로와 관련된 만일의 삽입 및/또는 삭제, 속도에 비례하는 아날로그 아웃풋, 기하학적 또는 열적 진동, 및
3. 시간적으로 구체적으로 명시된 대기 명령들.
이 이외에, 상기 섹션 (15) 의 내부에서는 섹션들의 네스팅 (nesting) 이 허용되어 있지 않다.
상기 섹션 (15) 안에 합해진 명령들은 본 실시예의 경우 산업용 로봇 (1) 이 지나가야 하는 전체 윤곽, 또는 전체 윤곽의 적어도 부분 섹션을 만들어낸다.
안전을 이유로, 운동계획을 토대로 계획된 나머지 경로에서, 즉 산업용 로봇 (1) 이 아직 지나가야 하는 경로의 일부에서 다음 이그젝트 스톱 (exact stop) 쪽으로 정지될 수 있는 운동들만 생성되는 것이 일반적으로 필요한데, 왜냐하면 예컨대 비상정지 반응이 필요할 수 있거나 또는 그 밖의 운동이 더 이상 뒤따를 수 없기 때문이다. 즉, 산업용 로봇 (1) 의 운동의 최대속도는 초기실행에서 이용 가능한 나머지 경로 프리뷰 (preview) 통해 제한되어 있다.
도 2 는 속도 프로파일 (PR1) 을 토대로, 도입부에서 이미 기술된 종래의 방법을 위한 이 거동을 나타낸다: 초기실행이 그 밖의 개별 데이터 레코드를 계획하고, 그리고 이로써 가시적인 (visible) 나머지 경로를 확대할 때마다 계획에서의 속도가 높아질 수 있다. 하지만, 보다 높은 이 속도는 제어장치의 프로세서 활용에 좌우된다.
산업용 로봇 (1) 의 제어용 컴퓨터 (8) 에서의 계획을 통해, 운동계획에게는 간단한 방식으로 하나의 유닛보다 긴 프로세스 경로가 통지되고, 따라서 이 전체경로에서 신뢰성 있는 최대속도가 계획될 수 있다. 이는 도 7 에 도시되어 있는 속도 프로파일 (PR 3) 과 함께 분명히 나타나 있다.
Claims (13)
- a) 산업용 로봇 (1) 을 제어하도록 예정된 명령을 인출하는 단계,
b) 상기 인출된 명령을 인터프리터 (13) 를 이용해 해석함으로써 해석된 명령을 생성하는 단계,
c) 상기 해석된 명령을 임시기억장치 (10) 안에 저장하는 단계,
d) 제 1 키워드가 발견되기까지 상기 단계들 a) 내지 c) 를 반복하는 단계,
e) 상기 임시기억장치 (10) 안에 저장된 상기 해석된 명령들로부터 데이터 레코드 (15) 를 생성하는 단계로서, 상기 데이터 레코드 (15) 는 산업용 로봇 (1) 이 지나가야 하는 경로의 적어도 하나의 부분경로에 관한 정보를 갖고 있는, 상기 데이터 레코드 (15) 를 생성하는 단계,
f) 상기 데이터 레코드 (15) 를 버퍼기억장치 (11) 안에 저장하는 단계, 및
g) 상기 버퍼기억장치 (11) 안에 저장된 상기 데이터 레코드를 인출하며, 상기 버퍼기억장치 (11) 로부터 인출된 상기 데이터 레코드를, 산업용 로봇 (1) 을 상기 부분경로에서 움직이기 위해 인터폴레이터 (14) 를 이용해 인터폴레이션하는 단계를 포함하는, 산업용 로봇의 운동을 제어하기 위한 방법. - 제 1 항에 있어서,
제 2 키워드가 발견되었으면 상기 해석된 명령의 저장을 시작하는, 산업용 로봇의 운동을 제어하기 위한 방법. - 제 1 항에 있어서,
상기 데이터 레코드에 대해서는 감소된 명령세트를 가진 명령들만 사용되는, 산업용 로봇의 운동을 제어하기 위한 방법. - 제 3 항에 있어서,
상기 데이터 레코드에서는, 무한 루프를 발생시키는 제어 구조들을 포함하는 제어 구조들과, 무기한의 시간을 갖는 명령들과, 센서 가이디드 (sensor-guided) 명령들이 생성되는 것이 저지되는, 산업용 로봇의 운동을 제어하기 위한 방법. - 제 1 항에 있어서,
상기 데이터 레코드는 적어도 운동 명령들과, 기술 명령들과, 시간적으로 구체적으로 명시된 대기 명령들을 구비하는, 산업용 로봇의 운동을 제어하기 위한 방법. - 제 1 항에 있어서,
상기 데이터 레코드는 섹션들의 네스팅이 없는, 산업용 로봇의 운동을 제어하기 위한 방법. - 제 1 항에 있어서,
상기 데이터 레코드는 전체 경로에 관한 정보를 포함하는, 산업용 로봇의 운동을 제어하기 위한 방법. - 제 1 항에 있어서,
상기 부분경로를 뒤따라가는 경로의 그 밖의 부분경로에 관한 정보를 포함하는 그 밖의 데이터 레코드를 생성하기 위해 상기 단계들 a) 내지 g) 를 추가적으로 반복하는, 산업용 로봇의 운동을 제어하기 위한 방법. - 제 8 항에 있어서,
상기 데이터 레코드 및 상기 그 밖의 데이터 레코드의 평활화를 구비한, 산업용 로봇의 운동을 제어하기 위한 방법. - 제 1 항에 있어서,
상기 데이터 레코드는 평활화된 다수의 해석된 명령 및/또는 스플라인 (spline) 명령들을 구비한, 산업용 로봇의 운동을 제어하기 위한 방법. - 제 1 항에 있어서,
상기 임시기억장치 (10) 안에 저장된 상기 해석된 명령들을 토대로 한 상기 데이터 레코드 (15) 는 산업용 로봇 (1) 이 상기 데이터 레코드 (15) 에 할당된 상기 부분경로에서 움직일 때 이용되는 위치에 따른 (location-dependent) 속도에 관한 정보를 갖고 있고/있거나 상기 임시기억장치 (10) 안에 저장된 상기 해석된 명령들을 토대로 한 상기 데이터 레코드 (15) 는 산업용 로봇 (1) 이 상기 데이터 레코드 (15) 에 할당된 상기 부분경로에서 움직일 때 이용되는 시간에 기초한 (time-based) 운동에 관한 정보를 갖고 있는, 산업용 로봇의 운동을 제어하기 위한 방법. - 컴퓨터 판독가능 저장매체로서,
상기 컴퓨터 판독가능 저장매체는 곧바로 산업용 로봇 (1) 의 제어장치 (8) 의 기억장치 안에 적재될 수 있고 소프트웨어 코드를 구비하며, 상기 컴퓨터 판독가능 저장매체가 산업용 로봇 (1) 의 제어장치 (8) 에서 진행되면 상기 소프트웨어 코드를 이용해 제 1 항 내지 제 11 항 중 어느 한 항에 기재된 방법이 실행되는, 컴퓨터 판독가능 저장매체. - 제 1 항 내지 제 11 항 중 어느 한 항에 기재된 방법을 실행하는 제어장치 (8) 를 구비한, 산업용 로봇.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102007056117.4 | 2007-11-15 | ||
DE102007056117A DE102007056117A1 (de) | 2007-11-15 | 2007-11-15 | Industrieroboter und Verfahren zum Steuern der Bewegung eines Industrieroboters |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100083169A KR20100083169A (ko) | 2010-07-21 |
KR101207248B1 true KR101207248B1 (ko) | 2012-12-03 |
Family
ID=40316868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107010644A KR101207248B1 (ko) | 2007-11-15 | 2008-10-22 | 산업용 로봇, 및 산업용 로봇의 운동을 제어하기 위한 방법 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8255083B2 (ko) |
EP (1) | EP2209596B1 (ko) |
KR (1) | KR101207248B1 (ko) |
CN (1) | CN101861233B (ko) |
AT (1) | ATE518629T1 (ko) |
DE (1) | DE102007056117A1 (ko) |
WO (1) | WO2009062826A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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) |
JP5715840B2 (ja) * | 2011-02-04 | 2015-05-13 | 本田技研工業株式会社 | 軌道計画方法、軌道制御方法、軌道計画システム及び軌道計画・制御システム |
DE102015103451B4 (de) | 2015-03-10 | 2021-09-23 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen und Computerprogrammprodukt |
CN105082135B (zh) * | 2015-09-11 | 2016-11-30 | 东南大学 | 一种机器人点动操作的速度控制方法 |
US10766140B2 (en) | 2017-04-13 | 2020-09-08 | Battelle Memorial Institute | Teach mode collision avoidance system and method for industrial robotic manipulators |
DE102018203078B3 (de) | 2018-03-01 | 2019-05-09 | Kuka Deutschland Gmbh | Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie und zugehöriges Computerprogrammprodukt |
CN109279252B (zh) * | 2018-10-30 | 2022-10-11 | 北京极智嘉科技股份有限公司 | 货物拣选系统和方法 |
CN112677155B (zh) * | 2020-12-28 | 2022-07-12 | 北京配天技术有限公司 | 机器人单步运动的控制方法及控制设备、存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4333952B4 (de) * | 1993-10-05 | 2006-06-01 | Siemens Ag | Numerische Steuerung für Werkzeugmaschinen |
SE9401012L (sv) * | 1994-03-25 | 1995-09-26 | Asea Brown Boveri | Robotstyrsystem |
DE19511530A1 (de) * | 1995-03-29 | 1996-10-02 | Siemens Ag | Verfahren zur automatischen Durchführung von reproduzierbaren, parallelen technischen Prozessen |
DE59813267D1 (de) * | 1997-06-12 | 2006-01-12 | Siemens Ag | Verfahren und vorrichtung zur steuerung eines bahnvorschubs |
US6341246B1 (en) * | 1999-03-26 | 2002-01-22 | Kuka Development Laboratories, Inc. | Object oriented motion system |
DE19944607A1 (de) * | 1999-09-17 | 2001-03-22 | Isg Ind Steuerungstechnik Gmbh | Satzübergreifende Geschwindigkeitsführung bei einer numerisch gesteuerten Werkzeugmaschine oder einem Roboter |
JP2001222309A (ja) * | 2000-02-10 | 2001-08-17 | Yaskawa Electric Corp | ロボット制御装置 |
SE0001312D0 (sv) * | 2000-04-10 | 2000-04-10 | Abb Ab | Industrirobot |
DE10114871A1 (de) * | 2000-12-27 | 2002-07-04 | Siemens Ag | Verfahren zum Betrieb einer industriellen Steuerung |
DE10144788A1 (de) * | 2001-09-11 | 2003-04-30 | Siemens Ag | Verfahren und Vorrichtung zur sicheren hochperformanten Aufzeichnung von Prozessdaten bei numerisch gesteuerten industriellen Bearbeitungsmaschinen |
SE518850C2 (sv) * | 2001-11-12 | 2002-11-26 | Abb Ab | Ett robotsystem samt en metod och en programvaruprodukt för robotsystemet |
DE102004031485B4 (de) * | 2004-06-30 | 2015-07-30 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Steuern des Handhabungsgeräts |
JP4388427B2 (ja) | 2004-07-02 | 2009-12-24 | オークマ株式会社 | スクリプト言語で記述されたプログラムを呼出し可能な数値制御装置 |
DE102004056861A1 (de) | 2004-11-25 | 2006-06-08 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Regeln, Steuern von Manipulatoren |
EP1724676A1 (en) * | 2005-05-20 | 2006-11-22 | ABB Research Ltd. | Method and apparatus for developing a software program |
CN1730248A (zh) * | 2005-08-20 | 2006-02-08 | 大连海事大学 | 一种逆向工程机器人系统 |
JP3971773B2 (ja) * | 2005-10-12 | 2007-09-05 | ファナック株式会社 | ロボットのオフライン教示装置 |
-
2007
- 2007-11-15 DE DE102007056117A patent/DE102007056117A1/de not_active Withdrawn
-
2008
- 2008-10-22 CN CN2008801164181A patent/CN101861233B/zh active Active
- 2008-10-22 EP EP08848979A patent/EP2209596B1/de active Active
- 2008-10-22 WO PCT/EP2008/064294 patent/WO2009062826A1/de active Application Filing
- 2008-10-22 AT AT08848979T patent/ATE518629T1/de active
- 2008-10-22 KR KR1020107010644A patent/KR101207248B1/ko active IP Right Grant
- 2008-10-22 US US12/739,552 patent/US8255083B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20100083169A (ko) | 2010-07-21 |
DE102007056117A1 (de) | 2009-05-28 |
EP2209596B1 (de) | 2011-08-03 |
US8255083B2 (en) | 2012-08-28 |
ATE518629T1 (de) | 2011-08-15 |
EP2209596A1 (de) | 2010-07-28 |
WO2009062826A1 (de) | 2009-05-22 |
CN101861233B (zh) | 2011-12-28 |
CN101861233A (zh) | 2010-10-13 |
US20100312389A1 (en) | 2010-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101207248B1 (ko) | 산업용 로봇, 및 산업용 로봇의 운동을 제어하기 위한 방법 | |
JP7419001B2 (ja) | マニピュレータの衝突回避のための動作計画方法および装置 | |
Tajima et al. | Accurate interpolation of machining tool-paths based on FIR filtering | |
CN107263484A (zh) | 机器人关节空间点到点运动的轨迹规划方法 | |
JPS61157909A (ja) | ロボツトの経路誤差補正方式 | |
Shimano | VAL: a versatile robot programming and control system | |
US4683543A (en) | Time-based interpolation control of a robot | |
JP3853752B2 (ja) | シミュレーション装置 | |
EP0785490A1 (en) | Method for controlling robot | |
JP4667417B2 (ja) | ロボットの動作設定方法 | |
JP4222828B2 (ja) | ロボット | |
JPH05303411A (ja) | 数値制御装置 | |
CN106826814B (zh) | 一种机器人的运动控制方法和运动控制系统 | |
JPS62123504A (ja) | ロボツトの制御方法 | |
JP4560191B2 (ja) | 数値制御装置 | |
JP4667415B2 (ja) | ロボット | |
CN115987176B (zh) | 对电机位置进行回零控制的方法、装置和边缘控制器 | |
WO2002033815A1 (fr) | Procede de commande de l'acceleration/deceleration d'un moteur | |
JPH0628004B2 (ja) | 複数ロボットの制御方法 | |
CN114179085B (zh) | 机器人控制、轨迹衔接与平滑处理的方法及系统 | |
JPH02144705A (ja) | ロボットアームの制御方法 | |
JPH081557A (ja) | 産業用ロボットの制御装置 | |
JP2707729B2 (ja) | 産業用ロボットのウィービング装置 | |
JPH074647Y2 (ja) | ロボットの制御装置 | |
CN115697643A (zh) | 控制多个执行机构的方法、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20151030 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20161028 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20171027 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20191029 Year of fee payment: 8 |