KR20130122899A - 로봇의 제어 장치 및 제어 방법 - Google Patents

로봇의 제어 장치 및 제어 방법 Download PDF

Info

Publication number
KR20130122899A
KR20130122899A KR1020127029521A KR20127029521A KR20130122899A KR 20130122899 A KR20130122899 A KR 20130122899A KR 1020127029521 A KR1020127029521 A KR 1020127029521A KR 20127029521 A KR20127029521 A KR 20127029521A KR 20130122899 A KR20130122899 A KR 20130122899A
Authority
KR
South Korea
Prior art keywords
value
control
robot
movement trajectory
virtual
Prior art date
Application number
KR1020127029521A
Other languages
English (en)
Other versions
KR101871212B1 (ko
Inventor
류마 다가시라
Original Assignee
로제 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 로제 가부시키가이샤 filed Critical 로제 가부시키가이샤
Publication of KR20130122899A publication Critical patent/KR20130122899A/ko
Application granted granted Critical
Publication of KR101871212B1 publication Critical patent/KR101871212B1/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/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34175Overlap, between two blocks, continuous, smooth speed change, movement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40449Continuous, smooth robot motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

원하는 이동 궤적의 도중에, 적어도 2개의 동작을 합성한 합성 이동 궤적을 따라 툴을 이동시킬 때에, 합성 이동 궤적을 구하는 연산 처리를 불필요하게 하고, 로봇 제어의 전처리에 요하는 처리 시간을 비약적으로 단축시키는 제어 장치 및 제어 방법이다. 선행 동작을 실현하기 위한 선행 동작용 제어값을 초기값에서 종단값까지 연산해 두는 동시에, 후행 동작을 실현하기 위한 후행 동작용 제어값을 초기값에서 종단값까지 연산한다. 후행 동작용 제어값의 초기값을, 선행 동작용 제어값의 종단값에 일치시키는 조건을 부가한 후에, 툴이 합성 이동 궤적을 따라 이동하는 구간에 있어서의 액츄에이터의 금회의 목표 제어값을, 선행 동작용 제어값의 금회값과 전회값의 차분값과, 후행 동작용 제어값의 금회값과 전회값의 차분값을 가산한 값에 의거하여 연산하고, 이 연산된 목표 제어값이 얻어지도록 액츄에이터를 제어한다.

Description

로봇의 제어 장치 및 제어 방법{ROBOT CONTROL DEVICE AND CONTROL METHOD}
본 발명은 로봇의 제어 장치에 관한 것으로서, 특히 복수의 이동 궤적을 합성한 합성 이동 궤적을 따라 툴을 이동시키는 제어 장치 및 제어 방법에 관한 것이다.
(종래기술 1)
하기의 특허문헌 1에는 수직 다관절 로봇으로서 구성되고, 프레스 장치에 워크(가공물)를 반송하는 워크 반송 로봇의 제어에 관한 발명이 기재되어 있다. 즉, 도 1에 나타내는 바와 같이, 워크 반송 로봇의 핸드를 이동 개시 위치 R1에서 이동 종료 위치 R3까지 이동시킬 때에, 이동 개시 위치 R1에서 도중 위치 R2로 이동하는 제 1 동작이 완료하기 전에, 도중 위치 R2에서 이동 종료 위치 R3으로 이동하는 제 2 동작을 개시시킴으로써, 로봇 핸드를 도중 위치 R2의 근방의 완만한 보정 이동 경로(310)를 따라 이동시킨다고 하는 제어가 실행된다(인용문헌 1의 도 9). 이 경우, 직선형상의 이동 경로의 경우와 마찬가지로, 보정 이동 경로(310)상의 제어 시간 간격마다의 순차의 이동 위치가 계산되고, 계산된 이동 위치를 역변환 연산하는 것에 의해 로봇 각 축의 목표 위치가 구해지고, 이 구해진 로봇 각 축의 목표 위치가 얻어지도록 로봇 각 축을 제어하는 것에 의해, 로봇 핸드가 보정 이동 경로(310)를 따라 이동하게 된다(특허문헌 1의 단락 0063 및 단락 0077∼0079 및 도 3).
(종래기술 2)
하기의 특허문헌 2에는 도 2에 나타내는 바와 같이, 수평 다관절 로봇으로서 구성되고, 반도체 웨이퍼 W의 반출 및 반입을 실행하는 워크 반송 로봇(300)의 제어에 관한 발명이 기재되어 있다. 즉, 도 2에 있어서, 수평 다관절 로봇으로서 구성된 워크 반송 로봇(300)의 암(301, 302)을 신축 동작시켜, 반도체 웨이퍼 W가 탑재된 핸드(303)를 점 Q1에서 점 Q2 방향을 향해 직선 이동시키고, 다음에 점 Q2의 바로 앞의 점 Q5로부터 암 신축 동작과 선회 동작을 합성한 쇼트컷(shortcut) 궤적을 따라 점 Q2를 쇼트컷하도록 점 Q6까지 이동시키고, 다음에 점 Q6에서 점 Q3을 향해 암(301, 302)을 선회 동작시키고, 다음에 점 Q3의 바로 앞의 점 Q7에서 점 Q8까지 쇼트컷 궤적을 따라 점 Q3을 쇼트컷하도록 점 Q8까지 이동시키고, 다음에 암(301, 302)을 신축 동작시켜, 반도체 웨이퍼 W가 탑재된 핸드(303)를 점 Q8에서 점 Q4까지 직선 이동시킨다고 하는 제어가 실행된다(인용문헌 2의 도 3). 이 경우, 쇼트컷 궤적을 따라 이동할 때에는 워크 반송 로봇(300)의 핸드(303)가, 암 신축 동작에 필요한 속도 패턴과 선회 동작에 필요한 속도 패턴을 합성한 속도 패턴에 따른 속도로 이동하도록 로봇 각 축 위치가 구동 제어된다(인용문헌 2의 도 19).
특허문헌 1 : 일본국 특허공개공보 제2006-243926호(특히, 단락 0063 및 단락 0077∼0079 및 도 3, 도 9) 특허문헌 2 : 국제 공개 번호 WO97/34742(특히, 도 3 및 도 19)
종래기술 1에 의하면, 워크 반송 로봇의 핸드가 도면 중 대략 원호형상의 보정 이동 경로(310)를 따라 이동하기 때문에, 위치 R1, R2를 연결한 직선형상의 이동 경로 및 위치 R2, R3을 연결한 직선형상의 이동 경로를 따라 이동하는 경우에 비해, 도중 위치(R2)에서 로봇 핸드를 정지시킬 필요가 없다. 이 때문에, 워크를 고속으로 원활하게 반송시킬 수 있다.
그러나, 워크 반송 로봇의 핸드를 대략 원호형상의 보정 이동 경로(310)를 따라 이동시키기 위해서는 미리 보정 이동 경로(310)를 원호 보간이나 교시에 의해서 구해 둘 필요가 있다. 보정 이동 경로(310)을 미리 구해 두지 않으면, 보정 이동 경로(310)상의 제어 시간 간격마다의 순차의 로봇 핸드 이동 위치에 대응하는 로봇 각 축의 목표 위치를 구할 수 없기 때문이다. 이와 같이 종래기술 1에 있어서는 로봇 각 축을 제어하기 위해, 대략 원호형상의 보정 이동 경로(310)를 미리 구해 둘 필요가 있고, 로봇 제어의 전처리로서의 연산 처리에 다대한 시간을 요하는 것으로 되고 있었다.
마찬가지로, 종래기술 2에 의하면, 워크 반송 로봇(300)의 핸드(303)가 점 Q2를 쇼트컷한 대략 원호형상의 쇼트컷 궤적 및 점 Q3을 쇼트컷한 쇼트컷 궤적을 따라 이동하기 때문에, 직선 이동 궤적 Q5∼Q2를 이동하고 다음에 선회 이동 궤적 P2∼P3을 이동하고 다음에 직선 이동 궤적 Q3∼Q4를 이동하는 경우에 비해, 점 Q2, 점 Q3에서 로봇 핸드(203)를 정지시킬 필요가 없다. 이 때문에, 워크 W를 고속으로 원활하게 반출, 반입시킬 수 있다.
그러나, 종래기술 2에 있어서도 종래기술 1과 마찬가지로, 워크 반송 로봇(300)의 핸드(303)를 대략 원호형상의 쇼트컷 궤적을 따라 이동시키기 위해서는 미리 쇼트컷 궤적을 원호 보간이나 교시에 의해서 구해 둘 필요가 있다. 쇼트컷 궤적을 미리 구해 두지 않으면, 쇼트컷 궤적상의 제어 시간 간격마다의 순차의 로봇 핸드(303)의 이동 위치에 대응하는 로봇 각 축의 목표 위치를 구할 수 없고, 합성 속도 패턴에 따른 원하는 속도로 로봇 핸드를 이동시킬 수 없기 때문이다. 이와 같이 종래기술 2에 있어서도 종래기술 1과 마찬가지로, 로봇 각 축을 제어하기 위해, 대략 원호형상의 쇼트컷 궤적을 미리 구해 둘 필요가 있으며, 로봇 제어의 전처리로서의 연산 처리에 다대한 시간을 요하는 것으로 되고 있었다.
이상과 같이, 종래기술에는 원하는 이동 궤적(예를 들면, 도 2의 점 Q1∼점 Q4)의 도중에, 2개의 동작(직선 동작과 선회 동작)을 합성한 합성 이동 궤적(쇼트컷 궤적)을 따라 툴(로봇 핸드)을 이동시킨다고 하는 고려가 시사되어 있지만, 겨우 속도 패턴을 합성한 합성 속도 패턴으로 툴을 속도 제어하는 것에 그치고, 로봇 각 축(각 축을 구동하는 액츄에이터)을 제어하기 위해서는 합성 이동 궤적을 구하는 연산 처리가 필수인 것으로 되고 있었다.
본 발명은 이러한 실정을 감안해서 이루어진 것으로서, 원하는 이동 궤적의 도중에, 적어도 2개의 동작을 합성한 합성 이동 궤적을 따라 툴을 이동시킬 때에, 합성 이동 궤적을 구하는 연산 처리를 불필요하게 하고, 로봇 제어의 전처리에 요하는 처리 시간을 비약적으로 단축시키는 것을 해결 과제로 하는 것이다.
제 1 발명은, 액츄에이터를 갖고, 해당 액츄에이터의 제어값을 소정의 제어 주기마다 변화시키는 것에 의해 로봇의 툴을 원하는 이동 궤적을 따라 이동 개시점에서 이동 종료점까지 변화시키는 로봇의 제어 장치에 있어서, 상기 원하는 이동 궤적의 도중에, 적어도 2개의 동작을 합성한 합성 이동 궤적을 따라 상기 툴을 이동시킬 때에 적용되는 제어 장치로서, 상기 합성 이동 궤적에 들어가기 전부터 실행될 선행 동작의 가상상의 동작 종료점과, 상기 합성 이동 궤적을 빠져나간 이후에도 실행될 후행 동작의 가상상의 동작 개시점이 일치하도록 가상상의 동작 개시/종료점을 탐색하는 가상상의 동작 개시/종료점 탐색 수단과, 상기 선행 동작이 상기 가상상의 동작 개시/종료점에서 종료하고, 또한 상기 후행 동작이 상기 가상상의 동작 개시/종료점부터, 상기 선행 동작이 종료하는 것보다도 시간적으로 전에 개시하도록, 상기 선행 동작을 실현하기 위한 선행 동작용 제어값을 초기값에서 종단값까지 연산하는 동시에, 상기 후행 동작을 실현하기 위한 후행 동작용 제어값을 초기값에서 종단값까지 연산하는 제어값 연산 수단과, 상기 후행 동작용 제어값의 초기값을, 상기 선행 동작용 제어값의 종단값에 일치시키는 조건을 부가한 후에, 상기 툴이 상기 합성 이동 궤적을 따라 이동하는 구간에 있어서의 액츄에이터의 금회의 목표 제어값을, 상기 선행 동작용 제어값의 금회값과 전회값의 차분값과, 상기 후행 동작용 제어값의 금회값과 전회값의 차분값을 가산한 값에 의거하여 연산하는 액츄에이터 목표 제어값 연산 수단과, 상기 연산된 목표 제어값이 얻어지도록 액츄에이터를 제어하여 상기 툴을 상기 합성 이동 궤적을 따라 이동시키는 제어 수단을 구비한 것을 특징으로 한다.
제 2 발명은, 제 1 발명에 있어서, 상기 로봇은 상기 툴로서 워크를 반송하는 핸드를 구비한 워크 반송 로봇인 것을 특징으로 한다.
제 3 발명은, 제 1 발명 또는 제 2 발명에 있어서, 액츄에이터는 복수의 모터이고, 선행 동작용 제어값 및 후행 동작용 제어값은 각각, 상기 툴의 위치에 대응하는 복수의 모터의 제어 위치로서 연산되는 것을 특징으로 한다.
제 4 발명은, 제 1 발명 또는 제 2 발명에 있어서, 상기 액츄에이터는 복수의 가상 모터이고, 상기 적어도 2개의 동작에 대응해서 가상 모터가 정해지고, 선행 동작용 제어값 및 후행 동작용 제어값은 각각, 선행 동작에 대응하는 가상 모터의 제어값 및 후행 동작에 대응하는 가상 모터의 제어값으로서 연산되는 것을 특징으로 한다.
제 5 발명은, 제 1 발명 내지 제4 발명에 있어서, 선행 동작용 제어값 및 후행 동작용 제어값은 각각, 순차의 제어 주기마다의 함수값으로서 연산되는 것을 특징으로 한다.
제 6 발명은, 액츄에이터를 가진 로봇의 해당 액츄에이터의 제어값을 소정의 제어 주기마다 변화시키는 것에 의해 로봇의 툴을 원하는 이동 궤적을 따라 이동 개시점에서 이동 종료점까지 변화시키는 로봇의 제어 방법에 있어서, 상기 원하는 이동 궤적의 도중에, 적어도 2개의 동작을 합성한 합성 이동 궤적을 따라 상기 툴을 이동시킬 때에 적용되는 제어 방법으로서, 상기 합성 이동 궤적에 들어가기 전부터 실행될 선행 동작의 가상상의 동작 종료점과, 상기 합성 이동 궤적을 빠져나간 이후에도 실행될 후행 동작의 가상상의 동작 개시점이 일치하도록 가상상의 동작 개시/종료점을 연산하고, 상기 선행 동작이 상기 가상상의 동작 개시/종료점에서 종료하고, 또한 상기 후행 동작이 상기 가상상의 동작 개시/종료점부터, 상기 선행 동작이 종료하는 것보다도 시간적으로 전에 개시하도록, 상기 선행 동작을 실현하기 위한 선행 동작용 제어값을 초기값에서 종단값까지 연산하는 동시에, 상기 후행 동작을 실현하기 위한 후행 동작용 제어값을 초기값에서 종단값까지 연산하고, 상기 후행 동작용 제어값의 초기값을, 상기 선행 동작용 제어값의 종단값에 일치시키는 조건을 부가한 후에, 상기 툴이 상기 합성 이동 궤적을 따라 이동하는 구간에 있어서의 액츄에이터의 금회의 목표 제어값을, 상기 선행 동작용 제어값의 금회값과 전회치의 차분값과, 상기 후행 동작용 제어값의 금회값과 전회값의 차분값을 가산한 값에 의거하여 연산하고, 상기 연산된 목표 제어값이 얻어지도록 액츄에이터를 제어하여 상기 툴을 상기 합성 이동 궤적을 따라 이동시키는 제어를 실행하는 것을 특징으로 한다.
제 7 발명은, 제 1 발명에 있어서, 선행 동작용 제어값을 초기값에서 종단값까지 연산하기 위한 선행 동작용 변환 함수를 미리 준비하는 동시에, 후행 동작용 제어값을 초기값에서 종단값까지 연산하기 위한 후행 동작용 변환 함수를 미리 준비하고, 소정의 제어 주기마다, 선행 동작용 변환 함수를 이용하여 선행 동작용 제어값이 연산되는 동시에, 후행 동작용 변환 함수를 이용하여 후행 동작용 제어값이 연산되는 것을 특징으로 한다.
제 8 발명은, 제 6 발명에 있어서, 선행 동작용 제어값을 초기값에서 종단값까지 연산하기 위한 선행 동작용 변환 함수를 미리 준비하는 동시에, 후행 동작용 제어값을 초기값에서 종단값까지 연산하기 위한 후행 동작용 변환 함수를 미리 준비하고, 소정의 제어 주기마다, 선행 동작용 변환 함수를 이용하여 선행 동작용 제어값이 연산되는 동시에, 후행 동작용 변환 함수를 이용하여 후행 동작용 제어값이 연산되는 것을 특징으로 한다.
본 발명에 따르면, 도 6 및 도 8에 나타내는 바와 같이, 선행 동작(P1∼P2까지의 직선 동작 A)을 실현하기 위한 선행 동작용 제어값(A1nA, A2nA, A3nA)을 초기값(A1sA, A2sA, A3sA)에서 종단값(A1EA, A2EA, A3EA)까지 연산되는 동시에, 후행 동작(P2∼P3까지의 직선 동작 B)을 실현하기 위한 후행 동작용 제어값(B1nB, B2nB, B3nB)을 초기값(B1sB, B2sB, B3sB)에서 종단값(B1EB, B2EB, B3EB)까지 연산된다. 이 경우, 선행 동작용 제어값을 초기값에서 종단값까지 연산하기 위한 선행 동작용 변환 함수 FA가 미리 준비되는 동시에, 후행 동작용 제어값을 초기값에서 종단값까지 연산하기 위한 후행 동작용 변환 함수 FB가 미리 준비되고, 소정의 제어 주기마다 선행 동작용 변환 함수 FA를 이용하여 선행 동작용 제어값이 연산되는 동시에, 후행 동작용 변환 함수 FB를 이용하여 후행 동작용 제어값이 연산된다(제 7 발명, 제 8 발명).
이와 같이 해서 얻어진 선행 동작용 제어값(A1nA, A2nA, A3nA), 후행 동작용 제어값(B1nB, B2nB, B3nB)에 의거하여, 후행 동작용 제어값의 초기값(B1sB, B2sB, B3sB)을, 선행 동작용 제어값의 종단값(A1EA, A2EA, A3EA)에 일치시키는 조건(B1sB=A1EA, B2sB=A2EA, B3sB=A3EA)을 부가한 후에, 툴이 합성 이동 궤적(AB)을 따라 이동하는 구간에 있어서의 액츄에이터의 금회의 목표 제어값(M1n, M2n, M3n)을, 선행 동작용 제어값의 금회값과 전회값의 차분값(A1nA-A1nA-1, A2nA-A2nA-1, A3nA-A3nA-1)과, 후행 동작용 제어값의 금회값과 전회값의 차분값(B1nB-B1nB-1, B2nB-B2nB-1, B3nB-B3nB-1)을 가산한 값((A1nA-A1nA-1)+(B1nB-B1nB-1), (A2nA-A2nA-1)+(B2nB-B2nB-1), (A3nA-A3nA-1)+(B3nB-B3nB-1))에 의거하여 연산하고, 이 연산된 목표 제어값이 얻어지도록 액츄에이터를 제어함으로써, 툴을 합성 이동 궤적을 따라 이동시킬 수 있다.
이와 같이 합성 이동 궤적(P4∼P5의 대략 원호 궤적 AB)상의 제어값은 선행 동작용 제어값과 후행 동작용 제어값으로부터 구해지며, 미리 합성 이동 궤적을 구해 둘 필요는 없다. 또한, 선행 동작용 제어값과 후행 동작용 제어값은 제어 동작 중에 소정의 제어 주기마다 얻어지는 것이며, 미리 이들 제어값을 구해 두고 소정의 메모리에 기억해 둔다고 하는 전처리는 불필요하다.
따라서, 합성 이동 궤적을 미리 계산해 둔다고 하는 전처리에 요하는 시간을 단축할 수 있다. 또한, 선행 동작용 제어값을 구하기 위한 선행 동작용 변환 함수 FA, 후행 동작용 제어값을 구하기 위한 후행 동작용 변환 함수 FB만을 미리 준비해 두면 좋고, 합성 이동 궤적상의 제어값을 구하기 위한 특별한 함수를 준비하는 것은 불필요하다.
이와 같이 본 발명에 따르면, 원하는 이동 궤적의 도중에, 적어도 2개의 동작을 합성한 합성 이동 궤적을 따라 툴을 이동시킬 때에, 미리 합성 이동 궤적을 구해 둔다고 하는 전처리나 합성 이동 궤적상의 제어값을 구하기 위한 특별한 함수가 불필요하게 되기 때문에, 로봇 제어의 전처리에 요하는 처리 시간을 비약적으로 단축시킬 수 있다. 그 결과, 연산 처리의 부담이 줄어들고 로봇 제어 시스템의 간소화를 도모할 수 있다.
도 1은 종래 기술 1을 설명하는 도면이다.
도 2는 종래 기술 2를 설명하는 도면이다.
도 3은 실시예의 로봇 제어 시스템의 구성을 나타내는 도면이다.
도 4의 (a), (b)는 로봇의 움직임을 수평면에서 개념적으로 나타낸 도면이다.
도 5의 (a), (b)는 각각, 핸드 위치를 직선 동작시키는 경우, 핸드 위치를 선회 동작시키는 경우의 이동 궤적과, 모터의 구동 제어 지령의 관계를 나타낸 도면이다.
도 6은 실시예의 이동 궤적의 일예를 나타낸 도면이다.
도 7은 실시예의 처리의 흐름을 개략적으로 나타낸 흐름도이다.
도 8은 도 7의 처리를 상세하게 나타낸 흐름도이다.
도 9는 선행 직선 동작과 후행 직선 동작의 속도 변화 패턴의 일예를 나타낸 도면이다.
도 10은 도 2와 마찬가지의 이동 궤적을 나타낸 도면이다.
이하, 도면을 참조하여 본 발명에 관한 로봇의 제어 장치 및 제어 방법의 실시의 형태에 대해 설명한다.
또한, 이하에서는 로봇으로서 수평 다관절 로봇으로서 구성되고, 반도체 웨이퍼나 액정 기판 등을 반송하는 워크 반송 로봇을 상정하여 설명한다.
도 3은 실시예의 로봇 제어 시스템의 구성을 나타내는 도면이다.
동일 도면 도 3에 나타내는 바와 같이, 로봇 제어 시스템은 크게는 명령용 PC(퍼스널 컴퓨터)(30)와, 로봇 컨트롤러(40)와, 모터 드라이버(51, 52, 53)와, 로봇(10)으로 이루어진다.
로봇(10)은 도 3 중에 사시도로 나타내는 바와 같이, 제 1 축(1), 제 2 축(2), 제 3 축(3)을 구비한 수평 다관절 로봇이다. 로봇(10)은 베이스대(29)와, 제 1 링크(21)와, 제 2 링크(22)와, 핸드(23)와, 모터(11)와, 모터(12)와, 모터(13)를 구비하고 있다.
모터(11, 12, 13)는 각각, 로봇(10)의 각 축(1, 2, 3)을 구동하는 액츄에이터를 구성한다. 이 실시예에서는 모터(11, 12, 13)는 회전 구동하는 액츄에이터이며, 「제어값」으로서 「제어 위치(회전 위치)」가 주어져 구동되는 것으로 한다. 모터(11)는 제 1 축(1)을 회전운동하는 액츄에이터이고, 모터(12)는 제 2 축(2)을 회전운동하는 액츄에이터이며, 모터(13)는 제 3 축(3)을 회전운동하는 액츄에이터이다.
제 1 링크(21)는 베이스대(29)에 대해 그 일단이 회전운동 자유롭게 연결되어 있고, 제 1 축(1)이 회전운동하는 것에 의해서 베이스대(29)에 대해 수평 방향으로 상대적으로 회전운동한다. 제 2 링크(22)는 그 일단이 제 1 링크(21)의 타단에 회전운동 자유롭게 연결되어 있고, 제 2 축(2)이 회전운동하는 것에 의해서 제 1 링크(21)에 대해 수평 방향으로 상대적으로 회전운동한다. 핸드(23)는 그 위에 워크 W가 탑재되고, 경우에 따라서는 워크 W를 파지하는 기구를 구비한 툴을 구성하고 있으며, 제 2 링크(22)의 타단에 회전운동 자유롭게 연결되어 있고, 제 3 축(3)이 회전운동하는 것에 의해서 제 2 링크(22)에 대해 수평 방향으로 상대적으로 회전운동한다. 또한, 도면에서는 베이스대(29)를 연직 방향으로 이동시키는 모터 등에 대한 기구의 도시는 생략하고 있다.
모터(11)는 예를 들면, 그 회전축이 제 1 축(1)에 일치하는 위치에 설치되어 있다. 마찬가지로, 모터(12)는 예를 들면, 그 회전축이 제 2 축(2)에 일치하는 위치에 설치되어 있다. 마찬가지로, 모터(13)는 예를 들면, 그 회전축이 제 3 축(3)에 일치하는 위치에 설치되어 있다.
도 4는 로봇(10)의 움직임을 수평면에서 개념적으로 나타낸 도면이며, 각 축(1, 2, 3)의 회전운동전(도 4의 (a))과, 각 축(1, 2, 3)의 회전운동 후(도 4의 (b))에 있어서의 로봇(10)의 위치·자세 변화의 일예를 나타내고 있다.
모터(11, 12, 13)를 구동 제어하고, 각 축(1, 2, 3)을, 도면 중 화살표로 나타내는 바와 같이 좌회전 또는 우회전으로 회전운동시킴으로써, 핸드(23)의 기준점(23a)(예를 들면 핸드(23)의 중심점; 이하, 핸드 위치(23a)라고 함)을 수평 방향의 원하는 이동 궤적을 따라 이동시켜, 워크 W를 이동 개시점 P1로부터 이동 개시점 P3으로 반송시킬 수 있다.
도 5의 (a), (b)는 각각, 핸드 위치(23a)를 직선 동작시키는 경우, 핸드 위치(23a)를 선회 동작시키는 경우의 이동 궤적과, 모터(11, 12, 13)의 구동 제어 지령의 관계를 나타내고 있다.
 도 5의 (a)에 나타내는 바와 같이, 모터(11), 모터(12), 모터(13)를 각각, 1:-2:1의 속도 비율로 구동 제어하는 것에 의해, 핸드 위치(23a)를 직선 동작시킬 수 있다. 또한, 모터(11), 모터(12), 모터(13)의 회전 방향을 정역 반대로 하는 것에 의해, 핸드 위치(23a)가 직선 동작하는 방향을 정역 반대(신장 방향, 축퇴 방향)로 할 수 있다.
도 5의 (b)에 나타내는 바와 같이, 모터(12, 13)의 회전을 정지시키고 모터(11)만을 구동 제어하는 것에 의해, 핸드 위치(23a)를 선회 동작시킬 수 있다. 또한, 모터(11)의 회전 방향을 정역 반대로 하는 것에 의해, 핸드 위치(23a)가 선회 동작하는 방향을 정역 반대(좌선회, 우선회)로 할 수 있다.
도 6은 실시예의 이동 궤적의 일예를 나타내고 있다. 실시예에서는 이동 개시점 P1에서 이동 종료점 P3까지 이동 궤적 C를 따라 이동시키는 것으로 한다. 이 이동 궤적 C는 이동 궤적 C의 도중에, 직선 동작 A와 직선 동작 B를 합성한 합성 이동 궤적 AB를 포함하고 있다.
그런데, 도 3에 있어서 명령용 PC(30)와, 로봇 컨트롤러(40)와, 모터 드라이버(51, 52, 53)는 모터(11, 12, 13)를 구동 제어하는 장치를 구성한다.
즉, 명령용 PC(30)로부터는 이동 궤적 C의 이동 종료점 P3까지 이동시키는 것을 지시하는 이동 명령이 출력되고, 로봇 컨트롤러(40)에 입력된다.
로봇 컨트롤러(40)는 가상상의 동작 개시/종료점 탐색 수단(41)과, 제어값 연산 수단(42)과, 액츄에이터 목표 제어값 연산 수단(43)과, 제어 수단(44)을 구성하는 드라이버 통신부(45)와, 메모리(46)를 구비하고 있다. 가상상의 동작 개시/종료점 탐색 수단(41)과, 제어값 연산 수단(42)과, 액츄에이터 목표 제어값 연산 수단(43)은 CPU에 의해서 구성되고, 도 7 및 상세한 것은 도 8에 나타나는 제어 프로그램에 따라 메모리(46)에 기억된 데이터를 이용해서 연산 처리를 순차 실행한다.
액츄에이터 목표 제어값 연산 수단(43)에서는 최종적으로 각 모터(11, 12, 13)의 제어 주기마다의 목표 제어 위치가 구해진다.
각 모터(11, 12, 13)의 제어 주기마다의 목표 제어 위치는 드라이버 통신부(45)에 주어진다. 드라이버 통신부(45)는 인터페이스를 통해 목표 제어 위치에 위치시키기 위한 위치 지령을 모터 드라이버(51, 52, 53)에 부여한다. 모터 드라이버(51, 52, 53)는 제어 수단(44)을 구성한다. 모터 드라이버(51, 52, 53)는 각각 위치 지령에 대응하는 구동 신호를 모터(11, 12, 13)에 출력한다.
이것에 의해 모터(11, 12, 13)가 구동 제어되고, 제어 주기마다 목표 제어 위치에 위치되며, 그 결과, 핸드 위치(23a)는 이동 개시점 P1에서 이동 궤적 C를 따라 이동 종료점 P3까지 이동된다.
이하, 도 7 및 도 8의 흐름도에서 실행되는 처리의 수순에 대해, 도 6을 아울러 참조해서 설명한다.
도 7은 로봇 컨트롤러(40)에서 실행되는 처리의 흐름을 개략적으로 나타낸다.
우선, 명령용 PC(30)로부터 이동 명령이 입력되었는지의 여부가 판단된다(스텝 101).
이동 명령이 입력되었다고 판단되면(스텝 101의 판단 Y), 다음에 입력된 이동 명령을 실현하기 위한 각 동작 A, B가 구해진다(스텝 102).
다음에, 동작 A, B마다 제어 위치가 연산된다(스텝 103, 104).
다음에, 동작 A, B마다의 제어 위치의 차분값이 가산되어, 이동 궤적 C를 따라 이동시키기 위한 목표 제어 위치가 구해진다(스텝 105).
다음에, 목표 제어 위치에 위치시키도록 모터(11, 12, 13)가 제어된다(스텝 106).
도 8은 도 7의 스텝 102∼105의 처리를 상세하게 나타내고 있다.
(가상상의 동작 개시/종료점 P2의 탐색)
도 7의 스텝 102에서는 동작 A, 동작 B가 구해지고, 동작 A의 가상상의 동작 종료점 및 동작 B의 가상상의 동작 개시점인 가상상의 동작 개시/종료점 P2가 탐색된다.
메모리(46)에는 핸드 위치(23a)의 현재 위치 P1을 포함한 핸드(23)의 움직임을 규제하는 규제 데이터가 기억되어 있다. 규제 데이터는 로봇(10)의 현재의 위치, 자세, 로봇(10)의 동작 환경(예를 들면, 반도체 제조 장치)의 기지<旣知>의 치수, 로봇(10)의 동작 범위 등을 고려해서 미리 기억, 저장해 두는 것으로 한다.
우선, 이동 명령으로서 주어지는 이동 종료점은 P3이지만, 이동 종료점 P3은 예를 들면 프로세스 챔버의 게이트(90)내의 위치라고 하면, 게이트(90)에 대해 수직인 방향으로 워크 W를 반입해야 한다고 하는 제한에 의해, 이동 종료점 P3에 있어서의 이동 방향 V3은 동일 게이트(90)에 대한 수직인 방향으로서 일의적으로 정해진다.
또, 이동 종료점 P3 부근의 이동 구간에서는 선회 동작은 불가능하며, 직선 동작만 실행할 수 있다고 하는 제한이 있는 것으로 한다.
따라서, 이들 제한 데이터를 고려하면, 이동 종료점 P3까지 핸드 위치(23a)를 이동시키기 위해서는 이동 방향 V3의 방향으로 이동 종료점 P3까지의 직선 동작 B를 실행하지 않으면 안 되는 것을 알 수 있다.
핸드 위치(23a)의 현재 위치 P1은 예를 들면 전회의 이동 명령에 의한 이동 궤적의 이동 종료 위치로서, 또는 핸드 위치(23a)의 계측 위치로서 주어진다. 핸드 위치(23a)의 현재 위치 P1에 있어서의 이동 방향 V1은 전회의 이동 명령에 의한 이동 궤적의 이동 종료 위치에 있어서의 이동 방향으로서 주어진다. 금회의 이동 명령이 초기의 이동 명령이고, 이동 개시점 P1에 있어서의 이동 방향에 전회의 이동 명령의 제한을 받지 않는 것이면, 동작 환경을 고려해서 최적의 이동 방향 V1로 정해진다. 또, 이동 개시점 P1 부근의 이동 구간에서는 직선 동작만 실행할 수 있다고 하는 제한이 있는 것으로 한다.
따라서, 이들 제한 데이터를 고려하면, 이동 개시점 P1로부터 핸드 위치(23a)를 이동시키기 위해서는 이동 개시점 P1을 시점으로 해서 이동 방향 V1의 방향으로의 직선 동작 A를 실행하지 않으면 안 되는 것을 알 수 있다.
또, 금회의 이동 명령은 이동 개시점 P1에서 이동 종료점 P3까지의 이동이기 때문에, 이동 개시점 P1을 시점으로 하는 직선 동작 A는 이동 종료점 P3을 종점으로 하는 직선 동작 B에 선행하는 직선 동작으로 되고, 직선 동작 B는 직선 동작 A에 후행하는 직선 동작으로 된다.
선행 직선 동작 A와 후행 직선 동작 B가 구해지면, 그 교점으로서의 가상상의 동작 개시/종료점 P2가 탐색된다.
선행 직선 동작 A와 후행 직선 동작 B의 교점 P2는 선행 직선 동작 A의 가상상의 동작 종료점으로 되고, 후행 직선 동작 B의 가상상의 동작 개시점으로 된다. 「가상상」으로 정의한 것은 핸드 위치(23a)는 실제로는 점 P2에는 위치하지 않기 때문이다. 본 실시예에서는 선행 직선 동작 A와 후행 직선 동작 B의 도중에 선행 직선 동작 A와 선행 직선 동작 B를 합성한 합성 이동 궤적 AB를 생성하여 핸드 위치(23a)를 도중의 가상상의 동작 개시/종료점 P2에서 정지시키지 않고 합성 이동 궤적 AB를 따라 고속이고 또한 원활하게 이동시키도록 하고 있다.
이상과 같이 해서, 합성 이동 궤적 AB에 들어가기 전부터 실행될 선행 직선 동작 A의 가상상의 동작 종료점과, 합성 이동 궤적 AB를 빠져나간 이후에도 실행될 후행 직선 동작 B의 가상상의 동작 개시점이 일치하도록 가상상의 동작 개시/종료점 P2가 연산된다. 이 연산은 가상상의 동작 개시/종료점 탐색 수단(41)에서 실행된다. 또한, 이 예에서는 가상상의 동작 개시/종료점 P2를 연산에 의해 탐색하고 있지만, 가상상의 동작 개시/종료점 P2를 교시에 의해 탐색해도 좋다. 예를 들며, 로봇(10)을 실제로 동작시켜, 핸드 위치(23a)를 선행 직선 동작 A와 후행 직선 동작 B를 따라 이동시켜 가상상의 동작 개시/종료점 P2를 교시할 수 있다. 이와 같이 실시예에 의하면, 선행 직선 동작 A와 후행 직선 동작 B를 구하고 가상상의 동작 개시/종료점 P2를 탐색하는 것만으로 좋고, 합성 이동 궤적 AB를 연산에 의해 구하거나 교시에 의해 구할 필요가 없으므로, 연산 처리나 교시 작업을 간이하게 실행할 수 있으며, CPU의 부하가 경감되는 동시에 제어의 전처리에 요하는 시간을 비약적으로 단축할 수 있다(스텝 201).
이하, 제어 동작 중에 실행되는 처리 내용에 대해 설명한다. 또한, 이하의 스텝 202에 있어서의 「직선 동작 A, B마다의 모터(11, 12, 13)의 제어 위치의 연산」 처리 및, 스텝 203에 있어서의 「이동 궤적 C를 따라서 핸드 위치(23a)를 이동시키기 위한 모터(11, 12, 13)의 목표 제어 위치의 연산」 처리는 제어 동작 중에 소정의 주기마다 실행되는 것이다. 직선 동작 A에 대응하는 모터(11, 12, 13)의 제어 위치는 후술하는 선행 동작용의 변환 함수 FA에 의거하여 구해지고, 직선 동작 B에 대응하는 모터(11, 12, 13)의 제어 위치는 후술하는 후행 동작용의 변환 함수 FB에 의거하여 구해지는 변환 함수 FA, FB는 미리 준비되어 두어진다.
(직선 동작 A, B마다의 모터(11, 12, 13)의 제어 위치의 연산)
다음에, 선행 직선 동작 A가 가상상의 동작 개시/종료점 P2에서 종료하고, 또한 후행 직선 동작 B가 가상상의 동작 개시/종료점 P2로부터, 선행 직선 동작 A가 종료하는 것보다도 시간적으로 전에 시작하도록, 선행 직선 동작 A를 실현하기 위한 모터(11, 12, 13) 각각의 선행 직선 동작용 제어 위치 A1nA, A2nA, A3nA를 초기 위치 A1sA, A2sA, A3sA에서 종단값 A1EA, A2EA, A3EA까지 연산하는 동시에, 후행 직선 동작 B를 실현하기 위한 모터(11, 12, 13) 각각의 후행 직선 동작용 제어 위치 B1nB, B2nB, B3nB를 초기 위치 B1sB, B2sB, B3sB에서 종단 위치 B1EB, B2EB, B3EB까지 연산한다. 이 연산은 제어값 연산 수단(42)에서 실행된다.
모터(11, 12, 13)는 소정의 제어 주기마다 구동 제어되기 때문에, 제어 주기의 회수를 n으로 나타낸다. 제어 주기는 컨트롤러(40)의 연산 처리의 사이클 타임 등을 고려해서 정해진다.
즉, 현재, 다음과 같이 정의한다.
nA:선행 직선 동작 A에 있어서의 이동 개시부터 n회째의 제어 주기
nB:후행 직선 동작 B에 있어서의 이동 개시부터 n회째의 제어 주기
A1sA:선행 직선 동작 A를 실현하기 위한 모터(11)의 초기 제어 위치
A2sA:선행 직선 동작 A를 실현하기 위한 모터(12)의 초기 제어 위치
A3sA:선행 직선 동작 A를 실현하기 위한 모터(13)의 초기 제어 위치
A1nA:선행 직선 동작 A를 실현하기 위한 모터(11)의 현재(n주기째) 제어 위치
A2nA:선행 직선 동작 A를 실현하기 위한 모터(12)의 현재(n주기째) 제어 위치
A3nA:선행 직선 동작 A를 실현하기 위한 모터(13)의 현재(n주기째) 제어 위치
A1EA:선행 직선 동작 A를 실현하기 위한 모터(11)의 종단 제어 위치
A2EA:선행 직선 동작 A를 실현하기 위한 모터(12)의 종단 제어 위치
A3EA:선행 직선 동작 A를 실현하기 위한 모터(13)의 종단 제어 위치
B1sB:후행 직선 동작 B를 실현하기 위한 모터(11)의 초기 제어 위치
B2sB:후행 직선 동작 B를 실현하기 위한 모터(12)의 초기 제어 위치
B3sB:후행 직선 동작 B를 실현하기 위한 모터(13)의 초기 제어 위치
B1nB:후행 직선 동작 B를 실현하기 위한 모터(11)의 현재(n주기째) 제어 위치
B2nB:후행 직선 동작 B를 실현하기 위한 모터(12)의 현재(n주기째) 제어 위치
B3nB:후행 직선 동작 B를 실현하기 위한 모터(13)의 현재(n주기째) 제어 위치
B1EB:후행 직선 동작 B를 실현하기 위한 모터(11)의 종단 제어 위치
B2EB:후행 직선 동작 B를 실현하기 위한 모터(12)의 종단 제어 위치
B3EB:후행 직선 동작 B를 실현하기 위한 모터(13)의 종단 제어 위치
여기서, 선행 직선 동작용 제어 위치 A1nA, A2nA, A3nA(nA=sA,…nA-1, nA…, EA) 및 후행 직선 동작용 제어 위치 B1nB, B2nB, B3nB(nB=sB,…nB-1, nB…, EB)는 각각, 핸드 위치(23a)에 대응하는 모터(11, 12, 13)의 제어 위치로서 연산할 수 있다. 일반적으로, 로봇(10)의 핸드 위치(23a)(정의축의 위치)의 순차의 위치와 모터(11, 12, 13)의 제어 위치의 관계는 1대 1의 관계에 있고, 핸드 위치(23a)의 순차의 위치를 연산 또는 교시에 의해 구하고, 로봇(10)의 역(逆)운동학에 의거하여 역변환하는 것에 의해, 그 순차의 핸드 위치(23a)에 대응하는 모터(11, 12, 13)의 순차의 제어 위치를 일의적인 수치로서 구할 수 있다.
이 경우, 선행 직선 동작용 제어 위치 A1nA, A2nA, A3nA(nA=sA,…nA-1, nA…, EA) 및 후행 직선 동작용 제어 위치 B1nB, B2nB, B3nB(nB=sB,…nB-1, nB…, EB)를, 순차의 핸드 위치(23a)에 대응하는 각도 위치로서 수치로 구해도 좋고, 순차의 핸드 위치(23a)로부터 순차의 모터 제어 위치를 연산하는 변환 함수를 준비해 두고, 그 변환 함수의 함수값으로서 구해도 좋다.
예를 들면, 다음식,
A1nA=FA(1,nA)
A2nA=FA(2,nA)
A3nA=FA(3,nA)
B1nB=FB(1,nB)
B2nB=FB(2,nB)
B3nB=FB(3,nB) …(1)
과 같이, 변환 함수 Fx(a, nX), 즉 「동작 X에 있어서의 모터(1a)의 n주기째의 제어 위치 Xan을 계산하는 함수」를 준비해 두고, 그 변환 함수의 함수값으로서 순차의 동작용 제어 위치를 구할 수 있다. 변환 함수는 통상은 순차의 핸드 위치(23a)로부터 각 모터(11, 12, 13)의 제어 위치를 계산하는 함수로서 주어진다.
또한, 다음식,
B1sB=A1EA
B2sB=A2EA
B3sB=A3EA …(2)
에 나타나는 바와 같이, 후행 직선 동작용 제어 위치의 초기 위치 B1sB, B2sB, B3sB는 각각, 선행 직선 동작용 제어 위치의 종단 위치 A1EA, A2EA, A3EA에 일치한다. 이것은 선행 직선 동작 A의 가상상의 동작 종료점은 후행 직선 동작 B의 가상상의 동작 개시점과 점 P2에서 일치하고 있고, 핸드 위치(23a)는 각 동작 모두 가상적으로 동일 점 P2에 위치하기 때문이다.
또, 전술한 바와 같이 선행 직선 동작 A가 종료하는 타이밍과 후행 직선 동작 B가 개시하는 타이밍은 동일하지 않고, 후행 직선 동작 B가 가상상의 동작 개시/종료점 P2부터 이동을 개시하는 타이밍은 선행 직선 동작 A가 가상상의 동작 개시/종료점 P2에서 이동을 종료하는 타이밍보다 시간적으로 전으로 되기 때문에, 후행 직선 동작 B의 최초의 제어 주기째(nB=sB)에서 제어가 실행되는 시각은 선행 직선 동작 A의 마지막의 제어 주기째(nA=EA)에서 제어가 실행되는 시각보다도 전의 시각으로 된다.
이와 같이 해서 점 P1에서 점 P2까지의 선행 직선 동작 A를 실현하기 위한 선행 직선 동작용 제어 위치 A1n, A2n, A3n이 초기 위치 A1s, A2s, A3s에서 종단 위치 A1E, A2E, A3E까지 연산되는 동시에, 점 P2에서 점 P3까지의 후행 직선 동작 B를 실현하기 위한 후행 직선 동작용 제어 위치 B1n, B2n, B3n이 초기 위치 B1s, B2s, B3s에서 종단 위치 A1E, A2E, A3E까지 연산된다.
상술한 바와 같이, 후행 직선 동작 B의 최초의 제어 주기째(nB=sB)에서 제어가 실행되는 시각은 선행 직선 동작 A의 마지막의 제어 주기째(nA=EA)에서 제어가 실행되는 시각보다 전의 시각으로 되기 때문에, 양 동작 A, B는 중첩된다. 양 동작 A, B를 임의의 원하는 타이밍에서 중첩하는 것에 의해, 점 P4에서 점 P5까지의 대략 원호형상의 합성 이동 궤적 AB를 생성할 수 있고, 합성 이동 궤적 AB를 따라 핸드 위치(23a)를 이동시키는 것이 가능해진다.
도 9는 선행 직선 동작 A와 후행 직선 동작 B의 속도 변화 패턴의 일예를 나타내고 있다.
도 9에 나타내는 바와 같이, 선행 직선 동작 A는 시각 τ1에서 시각 τ3까지 실행된다. 선행 직선 동작 A의 속도 변화 패턴은 제어 위치 A1nA, A2nA, A3nA와 제어 주기에 의해 일의적으로 정해진다. 마찬가지로, 후행 직선 동작 B는 시각 τ2에서 시각 τ4까지 실행된다. 후행 직선 동작 B의 속도 변화 패턴은 제어 위치 B1nB, B2nB, B3nB와 제어 주기에 의해 일의적으로 정해진다.
선행 직선 동작 A가 시각 τ1부터 시작되면, 선행 직선 동작 A가 시각 τ3에서 종료하는 것보다도 전의 시각 τ2부터 후행 직선 동작 B가 개시되게 된다. 시각 τ2에서 시각 τ3까지의 기간이, 합성 이동 궤적 AB가 선행 직선 동작 A와 후행 직선 동작 B의 중첩에 의해 생성되고 있는 기간이다. 합성 이동 궤적 AB의 속도 변화 패턴은 선행 직선 동작 A의 속도 변화 패턴과 후행 직선 동작 B의 속도 변화 패턴을 합성한 패턴, 즉 각각의 속도를 가산한 속도(예를 들면 기간 τ2∼τ3에서 일정 속도)로 된다.
이상과 같이, 실시예에 의하면, 직선 동작 A, B에 대응하는 직선형상의 이동 궤적과는 별도로, 원호형상의 이동 궤적 AB를 구하고, 그 원호형상의 이동 궤적 AB에 대응하는 모터(11, 12, 13)의 제어 위치를 미리 계산해 둘 필요가 없기 때문에, 연산 처리를 간이하게 실행할 수 있고, CPU의 부하가 경감되며 제어의 전처리에 요하는 시간을 비약적으로 단축할 수 있다(스텝 202).
(이동 궤적 C를 따라 핸드 위치(23a)를 이동시키기 위한 모터(11, 12, 13)의 목표 제어 위치의 연산)
다음에, 상기 (2)식과 같이, 후행 직선 동작용 제어 위치의 초기 위치 B1sB, B2sB, B3sB를 각각, 선행 직선 동작용 제어 위치의 종단 위치 A1EA, A2EA, A3EA에 일치시키는 조건을 부가한 후에, 예를 들면 상기 (1)식에 나타나는 선행 직선 동작용 제어 위치와 후행 직선 동작용 제어 위치에 의거하여, 핸드 위치(23a)가 이동 궤적 C를 따라 이동하기 위한 각 모터(11, 12, 13)의 금회 n의 목표 제어 위치 M1n, M2n, M3n을 연산한다. 이 연산은 액츄에이터 목표 제어값 연산 수단(43)에서 실행된다.
즉, 현재, 다음과 같이 정의한다.
n:각 모터(11, 12, 13)의 금회(n회째)의 제어 주기
n-1:각 모터(11, 12, 13)의 전회(n-1회째)의 제어 주기
M1n:모터(11)의 금회 n(n주기째)의 목표 제어 위치
M2n:모터(12)의 금회 n(n주기째)의 목표 제어 위치
M3n:모터(13)의 금회 n(n주기째)의 목표 제어 위치
모터(11, 12, 13) 각각의 금회 n(n주기째)의 목표 제어 위치
M1n, M2n, M3n은 일반식으로서 다음식,
M1n=M1n-1+(A1nA-A1nA-1)+(B1nB-B1nB-1) …(3)
M2n=M2n-1+(A2nA-A2nA-1)+(B2nB-B2nB-1) …(4)
M3n=M3n-1+(A3nA-A3nA-1)+(B3nB-B3nB-1) …(5)
로 주어진다.
선행 직선 동작 A만이 실행되고 있는 구간, 즉 핸드 위치(23a)가 합성 이동 궤적 AB에 들어가기 전의 구간 P1∼P4에 있어서의 각 모터(11, 12, 13)의 금회 n의 목표 제어 위치 M1n, M2n, M3n은 상기 (3), (4), (5)식에 대해 각각, 후행 직선 동작용 제어 위치의 금회 위치와 전회 위치의 차분값(B1nB-B1nB-1), (B2nB-B2nB-1), (B3nB-B3nB-1)을 생략한 다음식,
M1n=M1n-1+(A1nA-A1nA-1) …(6)
M2n=M2n-1+(A2nA-A2nA-1) …(7)
M3n=M3n-1+(A3nA-A3nA-1) …(8)
로 주어진다.
선행 직선 동작 A와 후행 직선 동작 B가 동시에 실행되고 있는 구간, 즉 핸드 위치(23a)가 합성 이동 궤적 AB를 따라 이동하는 구간 P4∼P5에 있어서의 각 모터(11, 12, 13)의 금회 n의 목표 제어 위치 M1n, M2n, M3n은 각각, 상기(3), (4), (5)식과 같이, 선행 직선 동작용 제어 위치의 금회 위치와 전회 위치의 차분값(A1nA-A1nA-1), (A2nA-A2nA-1), (A3nA-A3nA-1)과, 후행 직선 동작용 제어 위치의 금회 위치와 전회 위치의 차분값(B1nB-B1nB-1), (B2nB-B2nB-1), (B3nB-B3nB-1)을 가산한 값(A1nA-A1nA-1)+(B1nB-B1nB-1), (A2nA-A2nA-1)+(B2nB-B2nB-1), (A3nA-A3nA-1)+(B3nB-B3nB-1)에 의거하여 연산되게 된다. 단, 선행 직선 동작 A에 부가해서 후행 직선 동작 B를 시작할 때에는 전술한 (2)식(B1sB=A1EA, B2sB=A2EA, B3sB=A3EA)을 이용하여, 후행 직선 동작 B 개시시의 각 모터(11, 12, 13)의 초기의 목표 제어 위치 M1n, M2n, M3n을 정하도록 한다.
후행 직선 동작 B만이 실행되고 있는 구간, 즉 핸드 위치(23a)가 합성 이동 궤적 AB를 빠져나간 이후의 구간 P5∼P3에 있어서의 각 모터(11, 12, 13)의 금회 n의 목표 제어 위치 M1n, M2n, M3n은 상기 (3), (4), (5)식에 있어서 각각, 선행 직선 동작용 제어 위치의 금회 위치와 전회 위치의 차분값(A1nA-A1nA-1), (A2nA-A2nA-1), (A3nA-A3nA-1)을 생략한 다음식,
M1n=M1n-1+(B1nB-B1nB-1) …(9)
M2n=M2n-1+(B2nB-B2nB-1) …(10)
M3n=M3n-1+(B3nB-B3nB-1) …(11)
로 주어진다.
이상과 같이, 각 모터(11, 12, 13)의 목표 제어 위치 M1n, M2n, M3n은 원호형상의 이동 궤적 AB 전용의 제어 위치를 연산해서 그것을 이용하는 일 없이, 선행 직선 동작용 제어 위치와 후행 직선 동작용 제어 위치만을 이용해서 그들 합성값으로서 구할 수 있기 때문에, 연산 처리를 간이하게 실행할 수 있고, CPU의 부하가 경감되고 제어의 전처리에 요하는 시간을 비약적으로 단축할 수 있다(스텝 203).
(모터(11, 12, 13)의 제어)
다음에, 상기(3)∼(11)을 이용하여 목표 제어 위치 M1n, M2n, M3n이 각각 얻어지도록 모터(11, 12, 13)를 제어하여, 핸드 위치(23a)를 이동 궤적 C를 따라 이동시킨다. 이 제어는 제어 수단(44)에서 실행된다.
즉, 상기(6), (7), (8)식을 이용하여, 최초의 제어 주기(n=1)부터 순차 각 제어주기마다 각 모터(11, 12, 13)의 위치가 각각 목표 제어 위치 M1n, M2n, M3n이 되도록 모터(11, 12, 13)가 구동 제어된다. 이 제어는 후행 직선 동작 B가 개시하는 제어 주기까지 실행된다. 그 결과, 핸드 위치(23a)는 이동 개시점 P1에서 점 P4까지 직선형상으로 이동한다.
다음에, 전술한 (2)식(B1sB=A1EA, B2sB=A2EA, B3sB=A3EA)의 조건을 부가한 후에, 상기(3), (4), (5)식을 이용하여, 후행 직선 동작 B가 개시되는 제어 주기부터 순차 각 제어 주기마다 각 모터(11, 12, 13)의 위치가 각각 목표 제어 위치 M1n, M2n, M3n이 되도록 모터(11, 12, 13)이 구동 제어된다. 이 제어는 선행 직선 동작 A가 종료하는 제어 주기까지 실행된다. 그 결과, 핸드 위치(23a)는 점 P4에서 점 P5까지 대략 원호형상으로 합성 이동 궤적 AB를 따라 이동한다.
다음에, 상기 (9), (10), (11)식을 이용하여, 선행 직선 동작 A가 종료하여 후행 직선 동작 B가 개시되는 제어 주기부터 순차 각 제어 주기마다 각 모터(11, 12, 13)의 위치가 각각 목표 제어 위치 M1n, M2n, M3n이 되도록 모터(11, 12, 13)가 구동 제어된다. 이 제어는 후행 직선 동작 B가 종료하는 제어 주기까지 실행된다. 그 결과, 핸드 위치(23a)는 점 P5에서 이동 종료점 P3까지 직선형상으로 이동한다.
이상과 같이 핸드 위치(23a)는 이동 개시점 P1에서 합성 이동 궤적 AB를 포함하는 이동 궤적 C를 따라 이동 종료점 P3까지 이동되기 때문에, 워크를 고속이고 또한 원활하게 반송시킬 수 있다(스텝 204).
이상과 같이, 이 실시예에 의하면, 원하는 이동 궤적 C의 도중에, 2개의 직선 동작 A, B를 합성한 합성 이동 궤적 AB를 따라 핸드 위치(23a)를 이동시킬 때에, 합성 이동 궤적 AB상의 제어 위치는 선행 동작용 제어값과 후행 동작용 제어값으로부터 구해지며, 미리 합성 이동 궤적을 구해 둘 필요는 없다. 또한, 선행 동작용 제어 위치와 후행 동작용 제어 위치는 제어 동작 중에 소정의 제어 주기마다 얻어지는 것이며, 미리 이들 제어값을 구해 두고 소정의 메모리에 기억해 둔다고 하는 전처리는 불필요하다.
따라서, 합성 이동 궤적을 미리 계산해 둔다고 하는 전처리에 요하는 시간을 단축할 수 있다. 또한, 선행 동작용 제어 위치를 구하기 위한 선행 동작용 변환 함수 FA, 후행 동작용 제어 위치를 구하기 위한 후행 동작용 변환 함수 FB만을 미리 준비해 두면 좋고, 합성 이동 궤적상의 제어 위치를 구하기 위한 특별한 함수를 준비하는 것은 불필요하다.
이와 같이, 본 실시예에 의하면, 원하는 이동 궤적의 도중에, 적어도 2개의 동작을 합성한 합성 이동 궤적 AB를 따라 툴을 이동시킬 때에, 미리 합성 이동 궤적 AB를 구해 둔다고 하는 전처리나 합성 이동 궤적 AB상의 제어 위치를 구하기 위한 특별한 함수가 불필요하게 되기 때문에, 로봇 제어의 전처리에 요하는 처리 시간을 비약적으로 단축시킬 수 있다. 그 결과, 연산 처리의 부담이 줄고 로봇 제어 시스템의 간소화를 도모할 수 있다.
또한, 본 실시예에서는 선행 동작용 변환 함수 FA, 후행 동작용 변환 함수 FB의 함수값만으로부터 합성 이동 궤적 AB를 포함한 전체 궤적상의 순차의 제어 위치가 구해진다. 여기서, 종래 기술에 있어서는 합성 이동 궤적에 도달하면, 합성 이동 궤적상의 제어 위치를 구하기 위해 합성 이동 궤적상의 제어 위치를 구하기 위한 특별한 함수를 이용한 연산 처리가 새로이 연산 부하로서 가해지기 때문에, 처리 능력이 높은 연산 장치(처리 능력이 높은 CPU)가 필요했지만, 본 실시예에 의하면, 비교적 처리 능력이 낮고 연산 장치(처리 능력이 낮은 CPU)로 충분하다.
이상의 설명에서는 2개의 직선 동작 A, B를 합성한 합성 이동 궤적 AB를 따라 핸드 위치(23a)를 이동시키는 경우를 예로 들어 설명하였다. 그러나, 직선 동작과 선회 동작을 합성한 합성 이동 궤적을 따라 핸드 위치(23a)를 이동시키는 실시도 당연 가능하다.
도 10은 도중에 직선 동작 A와 선회 동작 D를 합성한 합성 이동 궤적 AD와, 선회 동작 D와 직선 동작 B를 포함한 합성 이동 궤적 DB를 포함하는 이동 궤적 C를 예시하고 있다. 또한, 도 10은 종래 기술로서 설명한 도 2에 대응하는 이동 궤적이다.
즉, 이동 개시점 P1에서 점 P2 방향을 향해 핸드 위치(23a)의 직선 동작 A를 실행하고, 다음에 점 P2의 바로 앞의 점 P5에서 합성 이동 궤적 AD를 따라 점 P2를 쇼트컷하도록 점 P6까지 이동시키며, 다음에 점 P6에서 점 P3을 향해 핸드 위치(23a)의 선회 동작 D를 실행하고, 다음에 점 P3의 바로 앞의 점 P7에서 점 P8까지 합성 이동 궤적 DB를 따라 점 P3을 쇼트컷하도록 점 P8까지 이동시키며, 다음에 점 P8에서 이동 종료점 P4까지 핸드 위치(23a)의 직선 동작 B를 실행하고, 워크 W를 한쪽의 프로세스 챔버에서 다른쪽의 프로세스 챔버까지 반송시키는 경우를 상정한다.
이 경우도 전술한 실시예와 마찬가지로 해서 제어를 실행할 수 있다. 또한, 이하에서는 중복된 상세한 설명은 생략한다.
(가상상의 동작 개시/종료점 P2, P3의 탐색)
·합성 이동 궤적 AD를 따라 이동시키기 위한 가상상의 동작 개시/종료점 P2의 탐색에 대해
합성 이동 궤적 AD에 들어가기 전부터 실행될 선행 직선 동작 A의 가상상의 동작 종료점과, 합성 이동 궤적 AD를 빠져나간 이후에도 실행될 후행 선회 동작 D의 가상상의 동작 개시점이 일치하도록 가상상의 동작 개시/종료점 P2가 탐색된다.
·합성 이동 궤적 DB를 따라 이동시키기 위한 가상상의 동작 개시/종료점 P3의 탐색에 대해
합성 이동 궤적 DB에 들어가기 전부터 실행될 선행 선회 동작 D의 가상상의 동작 종료점과, 합성 이동 궤적 DB를 빠져나간 이후에도 실행될 후행 직선 동작 B의 가상상의 동작 개시점이 일치하도록 가상상의 동작 개시/종료점 P3이 탐색된다.
(직선 동작 A, 선회 동작 D, 직선 동작 B마다의 모터(11, 12, 13)의 제어 위치의 연산)
·합성 이동 궤적 AD를 따라 이동시키기 위한 모터 제어 위치의 연산
선행 직선 동작 A가 가상상의 동작 개시/종료점 P2에서 종료하고, 또한 후행 선회 동작 D가 가상상의 동작 개시/종료점 P2로부터, 선행 직선 동작 A가 종료하는 것보다도 시간적으로 전에 개시하도록, 선행 직선 동작 A를 실현하기 위한 모터(11, 12, 13) 각각의 선행 직선 동작용 제어 위치 A1nA, A2nA, A3nA를 초기 위치 A1sA, A2sA, A3sA에서 종단값 A1EA, A2EA, A3EA까지 연산하는 동시에, 후행 선회 동작 D를 실현하기 위한 모터(11, 12, 13) 각각의 후행 선회 동작용 제어 위치 D1nD, D2nD, D3nD를 초기 위치 D1sD, D2sD, D3sD에서 종단 위치 D1ED, D2ED, D3ED까지 연산한다.
상세한 연산은 전술한 (1), (2) 식에 있어서 「B」를 「D」로 바꾸어 읽은 것으로서 나타난다.
·합성 이동 궤적 DB를 따라 이동시키기 위한 모터 제어 위치의 연산
선행 선회 동작 D가 가상상의 동작 개시/종료점 P3에서 종료하고, 또한 후행 직선 동작 B가 가상상의 동작 개시/종료점 P3에서, 선행 선회 동작 D가 종료하는 것보다도 시간적으로 전에 개시하도록, 선행 선회 동작 D를 실현하기 위한 모터(11, 12, 13) 각각의 선행 선회 동작용 제어 위치 D1nD, D2nD, D3nD를 초기 위치 D1sD, D2sD, D3sD에서 종단값 D1ED, D2ED, D3ED까지 연산하는 동시에, 후행 직선 동작 B를 실현하기 위한 모터(11, 12, 13) 각각의 후행 직선 동작용 제어 위치 B1nB, B2nB, B3nB를 초기 위치 B1sB, B2sB, B3sB에서 종단 위치 B1EB, B2EB, B3EB까지 연산한다.
상세한 연산은 전술한 (1), (2) 식에 있어서 「A」를 「D」로 바꾸어 읽은 것으로서 나타난다.
또한, 선회 동작 D에 관한 중복된 연산은 당연 생략할 수 있다.
(이동 궤적 C를 따라서 핸드 위치(23a)를 이동시키기 위한 모터(11, 12, 13)의 목표 제어 위치의 연산)
·합성 이동 궤적 AD를 따라 이동시키기 위한 모터 목표 제어 위치의 연산
후행 선회 동작용 제어 위치의 초기 위치 D1sD, D2sD, D3sD를 각각, 선행 직선 동작용 제어 위치의 종단 위치 A1EA, A2EA, A3EA에 일치시키는 조건을 부가한 후에, 선행 직선 동작용 제어 위치와 후행 선회 동작용 제어 위치에 의거하여, 핸드 위치(23a)가 이동 궤적 C를 따라 이동하기 위한 각 모터(11, 12, 13)의 금회 n의 목표 제어 위치 M1n, M2n, M3n을 연산한다.
상세한 연산은 전술한 (2)∼(11)식에 있어서 「B」를 「D」로 바꾸어 읽은 것으로서 나타난다.
·합성 이동 궤적 DB를 따라 이동시키기 위한 모터 목표 제어 위치의 연산
후행 직선 동작용 제어 위치의 초기 위치 B1sB, B2sB, B3sB를 각각, 선행 선회 동작용 제어 위치의 종단 위치 D1ED, D2ED, D3ED에 일치시키는 조건을 부가한 후에, 선행 선회 동작용 제어 위치와 후행 직선 동작용 제어 위치에 의거하여, 핸드 위치(23a)가 이동 궤적 C를 따라 이동하기 위한 각 모터(11, 12, 13)의 금회 n의 목표 제어 위치 M1n, M2n, M3n을 연산한다.
상세한 연산은 전술한 (2)∼(11)식에 있어서 「A」를 「D」로 바꾸어 읽은 것으로서 나타난다.
또한, 선회 동작 D에 관한 중복된 연산은 당연 생략할 수 있다.
(모터(11, 12, 13)의 제어)
다음에, 상기와 같이 바꾸어 읽은 (3)∼(11)을 이용하여 목표 제어 위치 M1n, M2n, M3n이 각각 얻어지도록 모터(11, 12, 13)를 제어하여, 핸드 위치(23a)를 이동 궤적 C를 따라서 이동시킨다.
그 결과, 핸드 위치(23a)는 이동 개시점 P1에서 점 P5까지 직선형상으로 이동하고, 다음에 점 P5에서 점 P6까지 대략 원호형상으로 합성 이동 궤적 AD를 따라 이동하며, 다음에 점 P6에서 점 P7까지 선회 이동하고, 다음에 점 P7에서 점 P8까지 대략 원호형상으로 합성 이동 궤적 DB를 따라 이동하고, 다음에 점 P8에서 이동 종료점 P4까지 직선형상으로 이동한다.
이 때문에, 워크 W를 고속이고 또한 원활하게 반송시키면서도, 합성 이동 궤적 AD 및 DB를 미리 구해 둔다고 하는 전처리나 합성 이동 궤적 AD 및 DB상의 제어값을 구하기 위한 특별한 함수가 불필요하게 되기 때문에, 로봇 제어의 전처리에 요하는 처리 시간을 비약적으로 단축시킬 수 있고, 그 결과로서, 연산 처리의 부담이 줄고 로봇 제어 시스템의 간소화를 도모할 수 있다.
이상의 설명에서는 직선 동작과 직선 동작을 합성하는 예, 직선 동작과 선회 동작을 합성하는 예에 대해 설명했지만, 이들은 어디까지나 일예이며, 임의의 동작끼리를 마찬가지로 합성하는 실시도 당연 가능하다. 또, 2개의 동작을 합성하는 경우를 예로 들어 설명했지만, 3개 이상의 동작을 마찬가지로 합성하는 실시도 당연 가능하다.
복수의 모터의 복합적인 동작으로서 직선 동작, 선회 동작 등이 실현되고, 그들을 합성하는 경우를 예로 들어 설명하였다. 그러나, 하나의 모터에 의한 동작과 하나의 모터에 의한 동작을 합성하는 실시도 당연 가능하다.
여기서, 가상 모터라고 하는 고려가 있다. 가상 모터는 로봇의 동작에 따른 전용의 모터가 있다고 하는 고려이다. 예를 들면, 핸드를 직선적으로 움직일 때에는 핸드를 직선형상으로 이동시키는 가상 모터가 있고, 핸드를 선회 동작시킬 때에는 핸드를 선회 동작시키는 가상 모터가 있다고 고려한다. 가상 모터에도 본 발명을 적용할 수 있다.
예를 들면, 도 10에 나타내는 합성 이동 궤적을 따라 핸드 위치(23a)를 이동시키는 경우에는 직선 동작에 대응하는 가상 모터와 선회 동작에 대응하는 가상 모터를 정하고, 선행 직선 동작용 제어값(직동 위치) 및 후행 선회 동작용 제어값(선회 각도)을 각각, 선행 동작에 대응하는 가상 모터의 제어값 및 후행 선회 동작에 대응하는 가상 모터의 제어값으로서 마찬가지의 연산을 실행하면 좋다.
이상 실시예에서는 로봇으로서 수평 다관절 로봇을 상정하여 설명했지만, 이것은 어디까지나 일예이며, 수직 다관절 로봇 등의 임의의 형식의 로봇에 적용할 수 있다.
또, 실시예에서는 로봇을 구동하는 액츄에이터로서 모터를 상정했지만, 실린더 등의 다른 임의의 액츄에이터에 의해서 구동되는 로봇에도 당연 본 발명을 적용할 수 있다. 또, 액츄에이터를 구동하는 매체는 전기, 유압, 공압 등 임의의 것을 당연 사용할 수 있다. 또, 툴로서 핸드를 구비한 워크 반송 로봇을 상정하여 설명했지만, 본 발명은 워크 반송 로봇에 한정되는 것은 아니고, 용접 작업용의 토치, 절단 가공용의 토치 등 다른 임의의 툴을 구비한 로봇에 당연 적용할 수 있다.
1; 제 1 축 2; 제 2 축,
3: 제 3 축 10; 로봇
11, 12, 13; 모터 21; 제 1 링크
22; 제 2 링크 23; 핸드,
29; 베이스대 30; 명령용 PC
41; 가상상의 동작 개시/종료점 탐색 수단
42; 제어값 연산 수단
43; 액츄에이터 목표 제어값 연산 수단
45; 드라이버 통신부 46; 메모리
51, 52, 53; 모터 드라이버

Claims (8)

  1. 액츄에이터를 갖고, 해당 액츄에이터의 제어값을 소정의 제어 주기마다 변화시키는 것에 의해 로봇의 툴을 원하는 이동 궤적을 따라 이동 개시점에서 이동 종료점까지 변화시키는 로봇의 제어 장치에 있어서,
    상기 원하는 이동 궤적의 도중에, 적어도 2개의 동작을 합성한 합성 이동 궤적을 따라 상기 툴을 이동시킬 때에 적용되는 제어 장치로서,
    상기 합성 이동 궤적에 들어가기 전부터 실행될 선행 동작의 가상상의 동작 종료점과, 상기 합성 이동 궤적을 빠져나간 이후에도 실행될 후행 동작의 가상상의 동작 개시점이 일치하도록 가상상의 동작 개시/종료점을 탐색하는 가상상의 동작 개시/종료점 탐색 수단과,
    상기 선행 동작이 상기 가상상의 동작 개시/종료점에서 종료하고, 또한 상기 후행 동작이 상기 가상상의 동작 개시/종료점부터, 상기 선행 동작이 종료하는 것보다도 시간적으로 전에 개시하도록, 상기 선행 동작을 실현하기 위한 선행 동작용 제어값을 초기값에서 종단값까지 연산하는 동시에, 상기 후행 동작을 실현하기 위한 후행 동작용 제어값을 초기값에서 종단값까지 연산하는 제어값 연산 수단과,
    상기 후행 동작용 제어값의 초기값을, 상기 선행 동작용 제어값의 종단값에 일치시키는 조건을 부가한 후에, 상기 툴이 상기 합성 이동 궤적을 따라 이동하는 구간에 있어서의 액츄에이터의 금회의 목표 제어값을, 상기 선행 동작용 제어값의 금회값과 전회값의 차분값과, 상기 후행 동작용 제어값의 금회값과 전회값의 차분값을 가산한 값에 의거하여 연산하는 액츄에이터 목표 제어값 연산 수단과,
    상기 연산된 목표 제어값이 얻어지도록 액츄에이터를 제어하여 상기 툴을 상기 합성 이동 궤적을 따라 이동시키는 제어 수단을 구비한 것을 특징으로 하는 로봇의 제어 장치.
  2. 제 1 항에 있어서,
    상기 로봇은 상기 툴로서 워크를 반송하는 핸드를 구비한 워크 반송 로봇인 것을 특징으로 하는 로봇의 제어 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 액츄에이터는 복수의 모터이고,
    상기 선행 동작용 제어값 및 후행 동작용 제어값은 각각, 상기 툴의 위치에 대응하는 복수의 모터의 제어 위치로서 연산되는 것을 특징으로 하는 로봇의 제어 장치.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 액츄에이터는 복수의 가상 모터이고,
    상기 적어도 2개의 동작에 대응해서 가상 모터가 정해지고,
    상기 선행 동작용 제어값 및 후행 동작용 제어값은 각각, 선행 동작에 대응하는 가상 모터의 제어값 및 후행 동작에 대응하는 가상 모터의 제어값으로서 연산되는 것을 특징으로 하는 로봇의 제어 장치.
  5. 제 1 항 내지 제 4 항 중의 어느 한 항에 있어서,
    상기 선행 동작용 제어값 및 후행 동작용 제어값은 각각, 순차의 제어 주기마다의 함수값으로서 연산되는 것을 특징으로 하는 로봇의 제어 장치.
  6. 액츄에이터를 가진 로봇의 해당 액츄에이터의 제어값을 소정의 제어 주기마다 변화시키는 것에 의해 로봇의 툴을 원하는 이동 궤적을 따라 이동 개시점에서 이동 종료점까지 변화시키는 로봇의 제어 방법에 있어서,
    상기 원하는 이동 궤적의 도중에, 적어도 2개의 동작을 합성한 합성 이동 궤적을 따라 상기 툴을 이동시킬 때에 적용되는 제어 방법으로서,
    상기 합성 이동 궤적에 들어가기 전부터 실행될 선행 동작의 가상상의 동작 종료점과, 상기 합성 이동 궤적을 빠져나간 이후에도 실행될 후행 동작의 가상상의 동작 개시점이 일치하도록 가상상의 동작 개시/종료점을 연산하고,
    상기 선행 동작이 상기 가상상의 동작 개시/종료점에서 종료하고, 또한 상기 후행 동작이 상기 가상상의 동작 개시/종료점부터, 상기 선행 동작이 종료하는 것보다도 시간적으로 전에 개시하도록, 상기 선행 동작을 실현하기 위한 선행 동작용 제어값을 초기값에서 종단값까지 연산하는 동시에, 상기 후행 동작을 실현하기 위한 후행 동작용 제어값을 초기값에서 종단값까지 연산하고,
    상기 후행 동작용 제어값의 초기값을, 상기 선행 동작용 제어값의 종단값에 일치시키는 조건을 부가한 후에, 상기 툴이 상기 합성 이동 궤적을 따라 이동하는 구간에 있어서의 액츄에이터의 금회의 목표 제어값을, 상기 선행 동작용 제어값의 금회값과 전회값의 차분값과, 상기 후행 동작용 제어값의 금회값과 전회값의 차분값을 가산한 값에 의거하여 연산하고, 상기 연산된 목표 제어값이 얻어지도록 액츄에이터를 제어하여 상기 툴을 상기 합성 이동 궤적을 따라 이동시키는 제어를 실행하는 것을 특징으로 하는 로봇의 제어 방법.
  7. 제 1 항에 있어서,
    상기 선행 동작용 제어값을 초기값에서 종단값까지 연산하기 위한 선행 동작용 변환 함수를 미리 준비하는 동시에, 상기 후행 동작용 제어값을 초기값에서 종단값까지 연산하기 위한 후행 동작용 변환 함수를 미리 준비하고,
    소정의 제어 주기마다, 선행 동작용 변환 함수를 이용하여 선행 동작용 제어값이 연산되는 동시에, 후행 동작용 변환 함수를 이용하여 후행 동작용 제어값이 연산되는 것을 특징으로 하는 로봇의 제어 장치.
  8. 제 6 항에 있어서,
    상기 선행 동작용 제어값을 초기값에서 종단값까지 연산하기 위한 선행 동작용 변환 함수를 미리 준비하는 동시에, 후행 동작용 제어값을 초기값에서 종단값까지 연산하기 위한 후행 동작용 변환 함수를 미리 준비하고,
    소정의 제어 주기마다, 선행 동작용 변환 함수를 이용하여 선행 동작용 제어값이 연산되는 동시에, 후행 동작용 변환 함수를 이용하여 후행 동작용 제어 장치 값이 연산되는 것을 특징으로 하는 로봇의 제어 방법.
KR1020127029521A 2010-11-26 2011-11-22 로봇의 제어 장치 및 제어 방법 KR101871212B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2010-263663 2010-11-26
JP2010263663 2010-11-26
PCT/JP2011/076908 WO2012070572A2 (ja) 2010-11-26 2011-11-22 ロボットの制御装置および制御方法

Publications (2)

Publication Number Publication Date
KR20130122899A true KR20130122899A (ko) 2013-11-11
KR101871212B1 KR101871212B1 (ko) 2018-06-27

Family

ID=46146228

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127029521A KR101871212B1 (ko) 2010-11-26 2011-11-22 로봇의 제어 장치 및 제어 방법

Country Status (7)

Country Link
US (1) US9199373B2 (ko)
EP (1) EP2644334B1 (ko)
JP (1) JP5933450B2 (ko)
KR (1) KR101871212B1 (ko)
CN (1) CN102917843B (ko)
TW (1) TWI489234B (ko)
WO (1) WO2012070572A2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6023517B2 (ja) * 2012-09-06 2016-11-09 株式会社ダイヘン 算出装置、制御装置、及び算出方法
JP6438189B2 (ja) * 2013-10-01 2018-12-12 川崎重工業株式会社 ロボット及びロボットの制御方法
US10269606B2 (en) * 2014-05-05 2019-04-23 Persimmon Technologies Corporation Two-link arm trajectory
US10515834B2 (en) 2015-10-12 2019-12-24 Lam Research Corporation Multi-station tool with wafer transfer microclimate systems
US11458626B2 (en) * 2018-02-05 2022-10-04 Canon Kabushiki Kaisha Trajectory generating method, and trajectory generating apparatus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123531A (ja) * 1994-10-24 1996-05-17 Hitachi Ltd 軌道の制御方法
JPH08328627A (ja) * 1995-06-01 1996-12-13 Sony Corp サーボ制御装置及びサーボ制御方法並びにこれらを用いたロボット制御装置及びロボット制御方法
WO1997034742A1 (fr) 1996-03-18 1997-09-25 Komatsu Ltd. Dispositif de commande d'un systeme de transport de pieces
JP2006243926A (ja) 2005-03-01 2006-09-14 Kawasaki Heavy Ind Ltd ロボットの制御装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0075792B1 (en) * 1981-09-24 1987-08-26 Hitachi, Ltd. Control system for robot hand
GB8626734D0 (en) * 1986-11-08 1986-12-10 Renishaw Plc Coordinate positioning apparatus
JPH04111006A (ja) * 1990-08-30 1992-04-13 Kobe Steel Ltd ロボットの経路補間方法
JP2697399B2 (ja) * 1991-09-13 1998-01-14 三菱電機株式会社 位置決め装置及びそのプログラム表示方法
KR100439466B1 (ko) * 1995-09-11 2004-09-18 가부시키가이샤 야스가와덴끼 로봇제어장치
US6216058B1 (en) * 1999-05-28 2001-04-10 Brooks Automation, Inc. System of trajectory planning for robotic manipulators based on pre-defined time-optimum trajectory shapes
WO2002077729A1 (fr) * 2001-03-27 2002-10-03 Technowave, Inc. Appareil pour finition a multibroche et procede de commande moteur de celui-ci
TWI336822B (en) * 2005-03-23 2011-02-01 Hurco Co Inc Method of tolerance-based trajectory planning and control
US8676379B2 (en) 2006-07-04 2014-03-18 Panasonic Corporation Device and method for controlling robot arm, robot, and robot arm control program
US20100302526A1 (en) * 2008-11-13 2010-12-02 Nikon Corporation Drive control method for moving body, exposure method, robot control method, drive control apparatus, exposure apparatus and robot apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123531A (ja) * 1994-10-24 1996-05-17 Hitachi Ltd 軌道の制御方法
JPH08328627A (ja) * 1995-06-01 1996-12-13 Sony Corp サーボ制御装置及びサーボ制御方法並びにこれらを用いたロボット制御装置及びロボット制御方法
WO1997034742A1 (fr) 1996-03-18 1997-09-25 Komatsu Ltd. Dispositif de commande d'un systeme de transport de pieces
JP2006243926A (ja) 2005-03-01 2006-09-14 Kawasaki Heavy Ind Ltd ロボットの制御装置

Also Published As

Publication number Publication date
EP2644334A4 (en) 2018-02-28
US9199373B2 (en) 2015-12-01
TWI489234B (zh) 2015-06-21
KR101871212B1 (ko) 2018-06-27
EP2644334B1 (en) 2019-02-20
CN102917843A (zh) 2013-02-06
JP5933450B2 (ja) 2016-06-08
TW201234148A (en) 2012-08-16
JPWO2012070572A1 (ja) 2014-05-19
US20130085606A1 (en) 2013-04-04
CN102917843B (zh) 2016-08-31
WO2012070572A3 (ja) 2012-08-02
WO2012070572A2 (ja) 2012-05-31
EP2644334A2 (en) 2013-10-02

Similar Documents

Publication Publication Date Title
US11116593B2 (en) Robot system
JP6268819B2 (ja) 多軸型ロボットの軌道生成方法
JP6167770B2 (ja) 多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置
KR20130122899A (ko) 로봇의 제어 장치 및 제어 방법
US20060195228A1 (en) Robot locus control method and apparatus and program of robot locus control method
US10429815B2 (en) Motor control device, position control system, and motor control method
US20190077010A1 (en) Robot system, robot controller, and method for producing to-be-worked material
JP6165322B2 (ja) ロボット制御装置およびロボット制御方法
JP2010110878A (ja) 多関節型ロボット装置およびその制御方法
JP2014076498A (ja) 多関節ロボット及び半導体ウェハ搬送装置
KR20160003774A (ko) 다관절 링크 기구의 역운동학 해법, 및 이 역운동학 해법을 이용한 교시 데이터 작성 장치
KR101681076B1 (ko) Scara 로봇 궤적 오차 보정 방법
JP2007316862A (ja) サーボドライバおよび複数軸のサーボシステム
CN106976077A (zh) 一种杆式并串联结构搬运机械手
JP2005246547A (ja) ロボット制御システム
JP2010036293A (ja) 多関節ロボット
KR101257793B1 (ko) 복수 축의 동기화 방식에 기반한 고속 병렬형 로봇의 제어 방법
JP6057283B2 (ja) 多関節ロボット及び半導体ウェハ搬送装置
WO2018055745A1 (ja) ロボットシステム、ロボットコントローラー、ロボットコントロール方法、ロボットプログラム
Lin Path generation for robot polishing system based on cutter location data
Maťuga Control and positioning of robotic arm on CNC cutting machines and their applications in industry
JP2005193306A (ja) 産業用ロボットおよびその制御方法
Lai et al. Determination of the singularity-free postprocessor for hybrid five-axis machine tools
JP2004276181A (ja) パラレルリンクステージ装置
JP2001306119A (ja) 多軸機械の動作指令生成方法とその装置

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