[go: up one dir, main page]

KR102701952B1 - 제어 방법, 제어 장치, 로봇 시스템, 프로그램 및 기록 매체 - Google Patents

제어 방법, 제어 장치, 로봇 시스템, 프로그램 및 기록 매체 Download PDF

Info

Publication number
KR102701952B1
KR102701952B1 KR1020227014074A KR20227014074A KR102701952B1 KR 102701952 B1 KR102701952 B1 KR 102701952B1 KR 1020227014074 A KR1020227014074 A KR 1020227014074A KR 20227014074 A KR20227014074 A KR 20227014074A KR 102701952 B1 KR102701952 B1 KR 102701952B1
Authority
KR
South Korea
Prior art keywords
target point
return
information
motion
end effector
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020227014074A
Other languages
English (en)
Other versions
KR20220100865A (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 KR20220100865A publication Critical patent/KR20220100865A/ko
Application granted granted Critical
Publication of KR102701952B1 publication Critical patent/KR102701952B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50042Return to origin, reference point, zero point, homing

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

제어 방법은, 로봇(10)의 엔드 이펙터(11)가 동작 경로의 동작 목표점으로 이동할 때마다, 이동처의 동작 목표점의 정보를 기록하고, 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하고, 복귀 목표점의 정보를, 상기 엔드 이펙터를 동작 경로의 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하고, 제(k+1) 복귀 목표점으로서, 제k 복귀 목표점보다 전에 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료 또는 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점의 정보를 검출하고, 상기 복귀 목표점의 정보의 검출을 반복함으로써 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하고, 상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 통과하여 상기 원점으로 되돌아가는 상기 복귀 경로를 따라 상기 엔드 이펙터를 이동시킨다.

Description

제어 방법, 제어 장치, 로봇 시스템, 프로그램 및 기록 매체
본건 출원은, 2019년 10월 9일에 일본 특허청에 출원된 일본 특허출원 2019-186009호의 우선권을 주장하는 것이고, 그의 전체를 참조함으로써 본건 출원의 일부가 되는 것으로서 인용한다.
본 개시는 제어 방법, 제어 장치, 로봇 시스템, 프로그램 및 기록 매체에 관한 것이다.
종래에, 로봇을 원점 복귀시키는 기술이 알려져 있다. 예를 들어, 동작 중의 로봇이 어떠한 원인으로 정지한 경우, 로봇의 재시동 전에, 로봇의 가동 부분이 초기 위치인 원점 위치로 복귀된다, 즉, 로봇이 원점 복귀된다. 예를 들어, 특허문헌 1은 로봇의 원점 복귀 제어 방법을 개시한다. 이러한 제어 방법은 이미 실행된 제어 프로그램을 순차적으로 역실행함으로써 로봇이 정지 위치로부터 작업 원점으로 복귀하게 한다.
일본 특허공개 특개평7-28520호 공보
예를 들어, 로봇이 동작하는 경로가 2개의 점 사이에서 왕복하는 왕복 경로를 포함하는 경우, 특허문헌 1의 원점 복귀 제어 방법은, 작업 원점으로 복귀하는 동작 중에서, 로봇에 왕복 경로를 왕복하게 할 수 있다. 따라서, 로봇을 작업 원점으로 복귀시키는 동작이 복잡해질 가능성이 있다.
본 개시는 원점 복귀를 위한 로봇의 동작을 간략화하는 제어 방법, 제어 장치, 로봇 시스템, 프로그램 및 기록 매체를 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해, 본 개시의 일 실시예에 따른 제어 방법은, 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 동작을 수행하는 로봇의 제어 방법으로서, 상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록하고, 상기 동작 경로의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하고, 상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점 또는 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점인 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하고, 제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 또는 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점인 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하고, 여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며, 상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하고, 상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 그 순서로 통과하여 상기 원점으로 되돌아가는 상기 복귀 경로를 결정하고, 상기 복귀 경로를 따라 상기 엔드 이펙터를 이동시킨다.
또한, 본 개시의 일 실시예에 따른 제어 장치는, 본 개시의 일 실시예에 따른 제어 방법을 실행하는 제어 장치이다.
또한, 본 개시의 일 실시예에 따른 로봇 시스템은 본 개시의 일 실시예에 따른 제어 장치와, 상기 로봇을 구비하고, 상기 제어 장치는 상기 로봇의 동작을 제어한다.
본 개시의 일 실시예에 따른 프로그램은, 컴퓨터에 실행시키는 프로그램으로서, 로봇이 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 과정에서 상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록하고, 상기 동작 목표점의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하고, 상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점 또는 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점인 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하고, 제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 또는 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점인 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하고, 여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며, 상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하고, 상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 그 순서로 통과하여 상기 원점으로 되돌아가는 상기 복귀 경로를 결정하는 것을 상기 컴퓨터에 실행시킨다.
또한, 본 개시의 일 실시예에 따른 기록 매체에는, 본 개시의 일 실시예에 따른 프로그램이 기록되어 있다.
본 개시의 기술에 의하면, 원점 복귀를 위한 로봇의 동작을 간략화하는 것이 가능해진다.
[도 1] 도 1은 실시예에 따른 로봇 시스템의 일례를 도시하는 개략도이다.
[도 2] 도 2는 도 1의 로봇의 사시도이다.
[도 3] 도 3은 도 2의 로봇 암의 선단부의 측면도이다.
[도 4] 도 4는 도 2의 엔드 이펙터의 측면도이다.
[도 5] 도 5는 본 실시예에 따른 제어 장치의 하드웨어 구성의 일례를 도시하는 블록도이다.
[도 6] 도 6은 실시예에 따른 제어 장치의 기능적 구성의 일례를 도시하는 블록도이다.
[도 7] 도 7은 본 실시예에 따른 로봇의 교시 정보에 따른 동작 경로의 일례를 도시하는 도면이다.
[도 8] 도 8은 실시예에 따른 로봇의 교시 정보에 따른 동작 경로의 일례를 도시하는 도면이다.
[도 9a] 도 9a는 실시예에 따른 로봇 시스템의 동작의 일례를 도시하는 플로우 차트이다.
[도 9b] 도 9b는 실시예에 따른 로봇 시스템의 동작의 일례를 도시하는 플로우 차트이다.
[도 9c] 도 9c는 실시예에 따른 로봇 시스템의 동작의 일례를 도시하는 플로우 차트이다.
먼저, 본 개시의 실시예를 설명한다. 본 개시의 일 실시예에 따른 제어 방법은, 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 동작을 수행하는 로봇의 제어 방법으로서, 상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록하고, 상기 동작 경로의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하고, 상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점 또는 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점인 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하고, 제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 또는 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점인 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하고, 여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며, 상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하고, 상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 그 순서로 통과하여 상기 원점으로 되돌아가는 상기 복귀 경로를 결정하고, 상기 복귀 경로를 따라 상기 엔드 이펙터를 이동시킨다.
상기 실시예에 따르면, 엔드 이펙터의 동작 중에 기록된 동작 목표점을 이용하여 엔드 이펙터의 원점 복귀를 위한 복귀 경로 상의 복귀 목표점이 검출된다. 복귀 목표점으로서, 직전에 도달 완료한 동작 목표점 또는 가장 가까운 거리의 동작 목표점이 검출된다. 이에 따라서, 기록된 동작 목표점의 일부를 통과하지 않는 복귀 경로의 설정이 가능해지고, 복귀 경로를 구성하는 복귀 목표점의 수량의 저감이 가능해진다. 따라서, 원점 복귀를 위한 로봇의 동작을 간략화하는 것이 가능해진다.
본 개시의 일 실시예에 따른 제어 방법에서, 상기 복귀 목표점의 후보로서 복수의 상기 동작 목표점을 검출한 경우, 가장 빨리 도달 완료한 상기 동작 목표점을 상기 복귀 목표점으로 결정하여도 좋다.
상기 실시예에 따르면, 복귀 목표점으로서, 동작 경로 상의 원점에 더 가까운 동작 목표점이 결정된다. 이에 따라서, 복귀 경로를 구성하는 복귀 목표점의 수량이 저감이 가능해지고, 복귀 경로의 간략화가 가능해진다.
본 개시의 일 실시예에 따른 제어 방법에서, 기록된 상기 동작 목표점과 상기 현재 위치의 거리인 목표점 거리를 검출하고, 상기 목표점 거리가 제1 임계값 이내인 경우, 상기 현재 위치는, 상기 목표점 거리가 상기 제1 임계값 이내인 상기 동작 목표점에 위치한다고 보아도 좋다.
상기 실시예에 따르면, 현재 위치로부터 동작 목표점까지의 복귀 경로를 결정하는 처리와, 당해 복귀 경로를 따라 엔드 이펙터를 이동시키는 처리가 불필요해진다. 따라서, 원점 복귀를 위한 처리 및 로봇의 동작을 간략화하는 것이 가능해진다.
본 개시의 일 실시예에 따른 제어 방법에서, 상기 현재 위치와 상기 동작 경로의 거리인 이격 거리를 검출하고, 상기 이격 거리가 제2 임계값 이내인 경우, 상기 복귀 목표점의 검출을 실행하고, 상기 이격 거리가 상기 제2 임계값 초과인 경우, 상기 복귀 목표점의 검출을 중지하여도 좋다.
상기 실시예에 따르면, 예를 들어, 이격 거리가 제2 임계값 초과인 경우, 엔드 이펙터를 제1 복귀 목표점으로 되돌리면, 로봇의 일부가 주위의 물체와 간섭할 가능성이 있다. 따라서, 원점 복귀 시에 로봇에 손상이 발생하는 것을 억제하는 것이 가능해진다.
본 개시의 일 실시예에 따른 제어 방법에서, 상기 현재 위치 또는 상기 복귀 목표점과 상기 동작 목표점의 거리는 상기 동작 경로를 따르는 거리라도 좋다.
상기 실시예에 따르면, 로봇을 동작 경로를 따라 원점 복귀시킬 수 있다. 이에 따라서, 로봇이 동작 경로로부터 벗어난 동작을 수행함으로써 주위의 물체와 간섭하는 것을 억제한다.
본 개시의 일 실시예에 관한 제어 방법에서, 2개의 상기 동작 목표점 사이의 거리가 제3 임계값 이하인 경우, 상기 2개의 동작 목표점의 위치가 동일하다고 보아도 좋다.
상기 실시예에 따르면, 로봇의 현재 위치 또는 복귀 목표점과 동작 목표점의 거리를 검출하는 처리가 간략화된다. 나아가, 거리가 제3 임계값 이하인 2개의 동작 목표점 사이의 동작 경로를 통과하지 않는 복귀 경로의 설정이 가능하다. 이러한 복귀 경로는 원점 복귀를 위한 로봇의 동작을 간략화하는 것이 가능하다.
본 개시의 일 실시예에 따른 제어 방법에서, 상기 동작 목표점의 정보는, 상기 동작 목표점의 위치, 직전의 상기 동작 목표점으로부터 상기 동작 목표점까지의 경로인 구간 동작 경로, 상기 엔드 이펙터의 상태, 및 상기 로봇의 위치의 정보를 포함하여도 좋다.
상기 실시예에 따르면, 엔드 이펙터에 복귀 목표점 사이에서 원점 복귀를 위한 동작을 시키는 경우, 엔드 이펙터의 위치 변화뿐만 아니라, 엔드 이펙터의 동작 경로, 엔드 이펙터의 상태의 변화, 및 로봇의 위치의 변화를 고려한 로봇의 동작이 가능해진다. 따라서, 원점 복귀 시에 로봇이 주위의 물체와 간섭하는 것이 억제된다.
본 개시의 일 실시예에 따른 제어 방법에서, 상기 동작 목표점의 위치는, 상기 동작 목표점의 3차원 위치와, 상기 동작 목표점에서의 기준축의 자세를 포함하여도 좋다.
상기 실시예에 따르면, 엔드 이펙터에 복귀 목표점 사이에서 원점 복귀를 위한 동작을 시키는 경우, 엔드 이펙터의 위치 변화뿐만 아니라, 엔드 이펙터의 자세 변화를 고려한 엔드 이펙터의 동작이 가능하게 된다. 따라서, 원점 복귀 시에 엔드 이펙터 등이 주위의 물체와 간섭하는 것이 억제된다.
본 개시의 일 실시예에 따른 제어 방법에서, 상기 현재 위치 또는 상기 복귀 목표점과 상기 동작 목표점의 거리는, 상기 현재 위치 또는 상기 복귀 목표점의 3차원 위치와 상기 동작 목표점의 3차원 위치 사이의 거리와, 상기 현재 위치 또는 상기 복귀 목표점에서의 기준축의 자세와 상기 동작 목표점에서의 기준축의 자세 사이의 거리를 포함하여도 좋다.
상기 실시예에 따르면, 현재 위치 또는 복귀 목표점과 동작 목표점 사이의 거리는 3차원 위치의 거리뿐만 아니라 자세 변화의 거리를 포함한다. 이러한 거리는 현재 위치 또는 복귀 목표점과 동작 목표점 사이에서의 엔드 이펙터의 이동 거리를 나타낼 수 있다. 따라서, 현재 위치 또는 복귀 목표점과 동작 목표점 사이의 정확한 거리를 이용하여, 다음의 복귀 목표점을 검출하는 것이 가능해진다.
본 개시의 일 실시예에 따른 제어 방법에서, 상기 엔드 이펙터를 상기 제k 복귀 목표점으로부터 상기 제(k+1) 복귀 목표점으로 이동시키는 경우, 상기 제(k+1) 복귀 목표점의 위치를 상기 엔드 이펙터의 목표의 위치로 하고, 상기 제k 복귀 목표점의 정보에 포함되는 상기 구간 동작 경로의 역방향의 경로를 상기 엔드 이펙터의 목표의 동작 경로로 하며, 상기 제k 복귀 목표점의 정보에 포함되는 상기 엔드 이펙터의 상태를 상기 엔드 이펙터의 목표의 상태로 하고, 상기 제(k+1) 복귀 목표점의 정보에 포함되는 상기 로봇의 위치를 상기 로봇의 목표의 위치로 하여도 좋다.
상기 실시예에 따르면, 엔드 이펙터를 제k 복귀 목표점으로부터 제(k+1) 복귀 목표점으로 이동시키는 경우, 원점 복귀 시의 로봇의 동작 영역이, 엔드 이펙터가 동작 경로를 따라 이동했을 때의 로봇의 동작 영역으로부터 크게 벗어나는 것이 억제된다. 따라서, 원점 복귀 시에 로봇이 주위의 물체와 간섭하는 것이 억제된다.
본 개시의 일 실시예에 따른 제어 방법에서, 상기 엔드 이펙터를 상기 현재 위치로부터 상기 제1 복귀 목표점으로 이동시키는 경우, 상기 제1 복귀 목표점의 위치를 상기 엔드 이펙터의 목표의 위치로 하고, 상기 현재 위치에서의 이동처의 상기 동작 목표점인 이동처 동작 목표점의 정보에 포함되는 상기 구간 동작 경로의 역방향의 경로를 상기 엔드 이펙터의 목표의 동작 경로로 하며, 상기 이동처 동작 목표점의 정보에 포함되는 상기 엔드 이펙터의 상태를 상기 엔드 이펙터의 목표의 상태로 하고, 상기 제1 복귀 목표점의 정보에 포함되는 상기 로봇의 위치를 상기 로봇의 목표의 위치로 하여도 좋다.
상기 실시예에 따르면, 엔드 이펙터를 현재 위치로부터 제1 복귀 목표점으로 이동시키는 경우, 원점 복귀 시의 로봇의 동작 영역이, 엔드 이펙터가 동작 경로를 따라 이동했을 때의 로봇의 동작 영역으로부터 크게 벗어나는 것이 억제된다.
본 개시의 일 실시예에 따른 제어 방법에서, 상기 동작 목표점은, 상기 로봇에의 동작의 교시 과정에서 상기 로봇에 교시된 동작의 목표점이라도 좋다.
상기 구성에 따르면, 동작 목표점의 설정이 간략해지고, 동작 목표점을 이용한 복귀 목표점의 검출이 간략해진다.
본 개시의 일 실시예에 따른 제어 장치는, 본 개시의 일 실시예에 따른 제어 방법을 실행하는 제어 장치이다. 상기 실시예에 따르면, 본 개시의 일 실시예에 따른 제어 방법과 마찬가지의 효과를 얻을 수 있다.
본 개시의 일 실시예에 따른 로봇 시스템은 본 개시의 일 실시예에 따른 제어 장치와, 상기 로봇을 구비하고, 상기 제어 장치는 상기 로봇의 동작을 제어한다. 상기 실시예에 따르면, 본 개시의 일 실시예에 따른 제어 방법과 마찬가지의 효과를 얻을 수 있다.
본 개시의 일 실시예에 따른 프로그램은, 컴퓨터에 실행시키는 프로그램으로서, 로봇이 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 과정에서 상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록하고, 상기 동작 목표점의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하고, 상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점 또는 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점인 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하고, 제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 또는 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점인 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하고, 여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며, 상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하고, 상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 그 순서로 통과하여 상기 원점으로 되돌아가는 상기 복귀 경로를 결정하는 것을 상기 컴퓨터에 실행시킨다. 상기 실시예에 따르면, 본 개시의 일 실시예에 따른 제어 방법과 마찬가지의 효과를 얻을 수 있다.
본 개시의 일 실시예에 따른 프로그램은, 상기 로봇의 동작을 제어하는 제어 장치의 시스템 프로그램 상에서 동작하는 어플리케이션 프로그램이라도 좋다.
상기 실시예에 따르면, 애플리케이션 프로그램은, 예를 들어, 시스템 프로그램에 일부로서 내장되거나, 또는, 시스템 프로그램에 인스톨되어서 기능 가능해진다.
본 개시의 일 실시예에 따른 프로그램에서, 상기 어플리케이션 프로그램은, 인스톨되어 상기 시스템 프로그램에 탑재됨으로써 동작 가능하게 되어도 좋다.
상기 실시예에 따르면, 애플리케이션 프로그램은 다양한 시스템 프로그램에 인스톨될 수 있도록 구성될 수 있고, 범용성을 가질 수 있다.
본 개시의 일 실시예에 따른 프로그램에서, 상기 복귀 목표점의 후보로서 복수의 상기 동작 목표점을 검출한 경우, 가장 빨리 도달 완료한 상기 동작 목표점을 상기 복귀 목표점으로 결정하여도 좋다.
본 개시의 일 실시예에 따른 프로그램에서, 기록된 상기 동작 목표점과 상기 현재 위치의 거리인 목표점 거리를 검출하고, 상기 목표점 거리가 제1 임계값 이내인 경우, 상기 현재 위치는, 상기 목표점 거리가 상기 제1 임계값 이내인 상기 동작 목표점에 위치한다고 보아도 좋다.
본 개시의 일 실시예에 따른 프로그램에서, 상기 현재 위치와 상기 동작 경로의 거리인 이격 거리를 검출하고, 상기 이격 거리가 제2 임계값 이내인 경우, 상기 복귀 목표점의 검출을 실행하고, 상기 이격 거리가 상기 제2 임계값 초과인 경우, 상기 복귀 목표점의 검출을 중지하여도 좋다.
본 개시의 일 실시예에 따른 프로그램에서, 상기 현재 위치 또는 상기 복귀 목표점과 상기 동작 목표점의 거리는 상기 동작 경로를 따르는 거리라도 좋다.
본 개시의 일 실시예에 따른 프로그램에서, 2개의 상기 동작 목표점 사이의 거리가 제3 임계값 이하인 경우, 상기 2개의 동작 목표점의 위치가 동일하다고 보아도 좋다.
본 개시의 일 실시예에 따른 프로그램에서, 상기 동작 목표점의 정보는, 상기 동작 목표점의 위치, 직전의 상기 동작 목표점으로부터 상기 동작 목표점까지의 경로인 구간 동작 경로, 상기 엔드 이펙터의 상태, 및 상기 로봇의 위치의 정보를 포함하여도 좋다.
본 개시의 일 실시예에 따른 프로그램에서, 상기 동작 목표점의 위치는, 상기 동작 목표점의 3차원 위치와, 상기 동작 목표점에서의 기준축의 자세를 포함하여도 좋다.
본 개시의 일 실시예에 따른 프로그램에서, 상기 현재 위치 또는 상기 복귀 목표점과 상기 동작 목표점의 거리는, 상기 현재 위치 또는 상기 복귀 목표점의 3차원 위치와 상기 동작 목표점의 3차원 위치 사이의 거리와, 상기 현재 위치 또는 상기 복귀 목표점에서의 기준축의 자세와 상기 동작 목표점에서의 기준축의 자세 사이의 거리를 포함하여도 좋다.
본 개시의 일 실시예에 따른 프로그램에서, 상기 복귀 경로에서 상기 제k 복귀 목표점으로부터 상기 제(k+1) 복귀 목표점으로의 구간 복귀 경로에서는, 상기 제(k+1) 복귀 목표점의 위치를 상기 엔드 이펙터의 목표의 위치로 하고, 상기 제k 복귀 목표점의 정보에 포함되는 상기 구간 동작 경로의 역방향의 경로를 상기 엔드 이펙터의 목표의 동작 경로로 하며, 상기 제k 복귀 목표점의 정보에 포함되는 상기 엔드 이펙터의 상태를 상기 엔드 이펙터의 목표의 상태로 하고, 상기 제(k+1) 복귀 목표점의 정보에 포함되는 상기 로봇의 위치를 상기 로봇의 목표의 위치로 하여도 좋다.
본 개시의 일 실시예에 따른 프로그램에서, 상기 복귀 경로에서 상기 현재 위치로부터 상기 제1 복귀 목표점으로의 구간 복귀 경로에서는, 상기 제1 복귀 목표점의 위치를 상기 엔드 이펙터의 목표의 위치로 하고, 상기 현재 위치에서의 이동처의 상기 동작 목표점인 이동처 동작 목표점의 정보에 포함되는 상기 구간 동작 경로의 역방향의 경로를 상기 엔드 이펙터의 목표의 동작 경로로 하며, 상기 이동처 동작 목표점의 정보에 포함되는 상기 엔드 이펙터의 상태를 상기 엔드 이펙터의 목표의 상태로 하고, 상기 제1 복귀 목표점의 정보에 포함되는 상기 로봇의 위치를 상기 로봇의 목표의 위치로 하여도 좋다.
본 개시의 일 실시예에 따른 프로그램에서, 상기 동작 목표점은 상기 로봇에의 동작의 교시 과정에서 상기 로봇에 교시된 동작의 목표점이라도 좋다.
본 개시의 일 실시예에 따른 기록 매체에는, 본 개시의 일 실시예에 따른 프로그램이 기록되어 있다. 상기 실시예에 따르면, 본 개시의 일 실시예에 따른 프로그램과 동일한 효과를 얻을 수 있다.
(실시예)
이하에서, 본 개시의 실시예를 도면을 참조하여 설명한다. 여기서, 이하에 설명하는 실시예는, 모두 포괄적 또는 구체적인 예를 나타내는 것이다. 또한, 이하의 실시예에서 구성 요소 중, 최상위 개념을 나타내는 독립 청구항에 기재되어 있지 않은 구성 요소에 대해서는, 임의의 구성 요소로서 설명한다. 또한, 첨부의 도면의 각각의 도면은 개략적인 도면이고, 반드시 엄밀하게 도시된 것은 아니다. 나아가, 각각의 도면에서, 실질적으로 동일한 구성 요소에 대해서는 동일한 부호를 부여하고, 중복되는 설명은 생략 또는 간략화될 수 있다. 또한, 본 명세서 및 청구의 범위에서는, 「장치」란, 1개의 장치를 의미할 뿐만 아니라, 복수의 장치로 이루어지는 시스템도 의미할 수 있다.
[로봇 시스템의 구성]
실시예에 따른 로봇 시스템(1)의 구성을 설명한다. 도 1은 본 실시예에 따른 로봇 시스템(1)의 일례를 도시하는 개략도이다. 도 1에 도시된 바와 같이, 실시예에 따른 로봇 시스템(1)은 로봇(10)과, 제어 장치(20)와, 촬상 장치(30)와, 입력 장치(40)와, 제시 장치(50)를 구비한다. 로봇 시스템(1)은 교시된 동작 순서에 따라 로봇(10)을 자동 운전시켜서 소정의 작업을 실행시킬 수 있다. 로봇 시스템(1)은 입력 장치(40)를 통해 입력되는 조작 정보에 따라 로봇(10)을 수동 운전시켜서 작업을 실행시킬 수 있다. 나아가, 로봇 시스템(1)은, 예를 들어, 입력 장치(40)를 통해 로봇(10)을 동작의 원점 위치로 복귀시키는 지령인 원점 복귀 지령이 입력되면, 원점 위치로 되돌아가도록 로봇(10)을 자동으로 동작시킬 수 있다.
본 실시예에서는, 로봇(10)은 산업용 로봇이지만, 이것에 한정되는 것은 아니다. 로봇(10)은, 처리 대상물(W)에 대해 작용을 가하는 엔드 이펙터(11)와, 당해 작용을 실행하도록 엔드 이펙터(11)를 움직이는 로봇 암(12)과, 로봇(10)의 위치를 변경하도록 로봇(10)을 이동시키는 반송 장치(13)를 구비한다.
로봇 암(12)은, 그 선단의 엔드 이펙터(11)의 위치 및 자세를 변경할 수 있는 구성을 구비한다면, 특별히 한정되지 않지만, 본 실시예에서는 수직 다관절형 로봇 암이다. 여기서, 로봇 암(12)은, 예를 들어, 수평 다관절형, 극좌표형, 원통 좌표형, 직각 좌표형 또는 그 밖의 형식의 로봇 암으로서 구성되어도 좋다.
로봇 암(12)은, 그 기부로부터 선단을 향해 순서대로 배치된 링크(12a ~ 12f)와, 링크(12a ~ 12f)를 순차 접속하는 관절(JT1 ~ JT6)과, 관절(JT1~JT6) 각각을 회전 구동하는 암 구동 장치(M1 ~ M6)를 구비한다. 암 구동 장치(M1 ~ M6)의 동작은 제어 장치(20)에 의해 제어된다. 암 구동 장치(M1 ~ M6)는 각각 전력을 동력원으로 하고, 이들을 구동하는 전기 모터로서 서보 모터(SMa)(도 5 참조)를 구비하지만, 이것에 한정되지 않는다. 여기서, 로봇 암(12)의 관절의 수량은 6개에 한정되지 않고, 7개 이상이라도 좋고, 1개 이상 5개 이하라도 좋다.
링크(12a)는 반송 장치(13)에 장착된다. 링크(12f)의 선단부는 메커니컬 인터페이스를 구성하고, 엔드 이펙터(11)와 접속된다. 관절(JT1)은, 반송 장치(13)와 링크(12a)의 기단부를, 반송 장치(13)를 지지하는 바닥면에 대해 수직인 연직 방향의 축 둘레로 회전 가능하게 연결한다. 관절(JT2)은, 링크(12a)의 선단부와 링크(12b)의 기단부를, 당해 바닥면에 평행한 수평 방향의 축 둘레로 회전 가능하게 연결한다. 관절(JT3)은, 링크(12b)의 선단부와 링크(12c)의 기단부를, 수평 방향의 축 둘레로 회전 가능하게 연결한다. 관절(JT4)은, 링크(12c)의 선단부와 링크(12d)의 기단부를, 링크(12c)의 길이 방향의 축 둘레로 회전 가능하게 연결한다. 관절(JT5)은, 링크(12d)의 선단부와 링크(12e)의 기단부를, 링크(12d)의 길이 방향과 직교하는 방향의 축 둘레로 회전 가능하게 연결한다. 관절(JT6)은, 링크(12e)의 선단부와 링크(12f)의 기단부를, 링크(12e)에 대해 비틀림 회전 가능하게 연결한다.
엔드 이펙터(11)는 로봇 암(12)의 선단부에 착탈 가능하게 장차되어 있다. 엔드 이펙터(11)는 파지, 흡착, 매달아올리기 또는 떠올리기와 같은 처리 대상물(W)에 대응하는 다양한 작용을 처리 대상물(W)에 가할 수 있도록 구성된다. 도 1의 예에서는, 엔드 이펙터(11)는 처리 대상물(W)을 파지하여 피처리 대상물(T)의 구멍에 나사 체결하는 동작을 수행할 수 있도록 구성되고, 로봇(10)은 처리 대상물(W)을 피처리 대상물(T)에 조립하는 작업을 수행한다. 엔드 이펙터(11)는 엔드 이펙터(11)를 구동하는 엔드 이펙터 구동 장치(11a)(도 5 참조)를 구비한다. 엔드 이펙터 구동 장치(11a)의 동작은 제어 장치(20)에 의해 제어된다. 엔드 이펙터 구동 장치(11a)는, 전력을 동력원으로 하고, 이것을 구동하는 전기 모터로서 서보 모터(SMb)(도 5 참조)를 구비하지만, 이것에 한정되는 것은 아니다. 여기서, 로봇(10)의 작업은 상기 조립에 한정되지 않고, 어떠한 작업이라도 좋다. 로봇(10)의 작업의 예는, 분류, 조립, 도장, 용접, 접합, 치핑, 연마, 실링, 반도체 제조, 약제 조합 및 수술 등의 의료 행위 등이다.
반송 장치(13)는, 바닥면 등의 위에서 로봇(10)을 이동하는 것이 가능하고, 로봇 암(12)이 올려져 이것을 지지하는 기대(13a)와, 기대(13a)의 주행 수단으로서의 크롤러(「캐터필러(등록 상표)」라고도 칭함)(13b)와, 크롤러(13b)를 구동하는 반송 구동 장치(13c)(도 5 참조)를 구비한다. 주행 수단은 크롤러(13b)에 한정되지 않고, 차륜 등의 다른 주행 수단이라도 좋다. 반송 구동 장치(13c)는 전력을 동력원으로 하고, 전기 모터로서 서보 모터(SMc)(도 5 참조)를 구비하지만, 이에 한정되지 않는다. 반송 장치(13)는, AGV(무인 반송차: Automated Guided Vehicle) 등이라도 좋다.
촬상 장치(30)는 로봇(10)을 촬상하고, 구체적으로는, 로봇(10)의 처리 대상물(W)의 처리 상황을 촬상한다. 촬상 장치(30)의 예는, 디지털 카메라 및 디지털 비디오 카메라 등이다. 예를 들어, 촬상 장치(30)는 로봇(10)으로부터 떨어진 위치에 배치되지만, 로봇(10)에 배치되어도 좋다. 촬상 장치(30)는, 촬상한 화상의 신호를 제시 장치(50)에 출력하지만, 제어 장치(20)에 출력하여도 좋다. 로봇 시스템(1)을 관리하는 유저는 제시 장치(50)를 통해 로봇(10)에 의한 처리 대상물(W)의 처리 상태를 확인할 수 있다. 여기서, 촬상 장치(30)의 동작은 제어 장치(20)에 의해 제어되어도 좋다.
입력 장치(40)는 로봇 시스템(1)의 사용자에 의한 지령, 정보 및 데이터 등의 입력을 접수하고, 당해 지령, 정보 및 데이터 등을 제어 장치(20)에 출력한다. 입력 장치(40)는 제어 장치(20)와 유선 통신 또는 무선 통신을 통해 접속된다. 유선 통신 및 무선 통신의 형식은 어떠한 형식이라도 좋다. 예를 들어, 입력 장치(40)는 로봇(10)에 원점 복귀시키는 지령의 입력을 접수하고, 당해 지령을 제어 장치(20)에 출력한다. 입력 장치(40)는 로봇(10)에 소정의 작업의 동작 순서를 교시하기 위한 티칭 펜던트 등의 교시 장치를 포함하여도 좋다.
제시 장치(50)는 제어 장치(20) 및 촬상 장치(30) 등으로부터 수취한 각종 화상 및 음성 등을, 로봇 시스템(1)의 유저에 제시한다. 제시 장치(50)의 예는, 액정 디스플레이(Liquid Crystal Display), 유기 또는 무기 EL 디스플레이(Electro-Luminescence Display) 등이지만, 이에 한정되지 않는다. 제시 장치(50)는 음성을 발하는 스피커를 구비하여도 좋다.
제어 장치(20)는 로봇 시스템(1) 전체를 제어한다. 예를 들어, 제어 장치(20)는 컴퓨터 장치를 포함한다. 로봇(10)에는 하기의 4개의 좌표계가 설정된다. 제어 장치(20)는 4 개의 좌표계에 기초하여, 로봇(10)의 각 부의 위치, 자세, 동작 상태 등을 제어한다.
제1 좌표계는, 로봇(10)이 배치되는 공간에 설정된 좌표계이고, 월드 좌표계라고 칭한다. 예를 들어, 도 2에 도시된 바와 같이, 월드 좌표계에서는, Xw축, Yw축 및 Zw축이 정의된다. Xw축 및 Yw축은, 로봇(10)이 배치된 바닥면을 따라 연장되고 또한 서로 직교한다. Zw축은 Xw축 및 Yw축에 수직으로, 즉 바닥면에 수직으로 연장되고, 바닥면으로부터 상방으로 향하는 방향은 Zw축 정방향이고, 그 반대 방향은 Zw축 부방향이다. 여기서, 도 2는 도 1의 로봇(10)의 사시도이다.
제2 좌표계는 로봇 암(12)이 설치된 반송 장치(13)의 기대(13a)를 기준으로 한 좌표계이고, 베이스 좌표계라고 칭한다. 예를 들어, 도 2에 도시된 바와 같이, 베이스 좌표계에서는, Xb축, Yb축 및 Zb축이 정의된다. 예를 들어, Xb축 및 Yb축은 기대(13a)의 표면(13aa)을 따라 연장되고 또한 서로 직교한다. Zb축은 Xb축 및 Yb축에 수직으로, 즉 표면(13aa)에 수직으로 연장된다. 예를 들어, 베이스 좌표계의 원점은 관절(JT1)의 회전 중심축(S1)과 표면(13aa)의 교점(S1a)이다. 표면(13aa)으로부터 상방으로 향하는 방향은 Zb축 정방향이고, 그 반대 방향은 Zb축 부방향이다.
제3 좌표계는 로봇 암(12)의 링크(12f)의 선단부에서 엔드 이펙터(11)와의 접속면(12fa)을 기준으로 한 좌표계이고, 핸드 좌표계라고 칭한다. 예를 들어, 도 3에 도시된 바와 같이, 핸드 좌표계에서는, Xh, Yh 및 Zh축이 정의된다. 예를 들어, Xh 및 Yh축은 접속면(12fa)을 따라 연장되고 또한 서로 직교한다. Zh축은 Xh축 및 Yh축에 수직으로, 즉 접속면(12fa)에 수직으로 연장된다. 예를 들어, 핸드 좌표계의 원점은 관절(JT6)의 회전 중심축(S6)과 접속면(12fa)의 교점(S6a)이고, Zh축은 회전 중심축(S6)과 평행하다. 링크(12f)로부터 엔드 이펙터(11)로 향하는 방향은 Zh축 정방향이고, 그 반대 방향은 Zh축 부방향이다. Xh축, Yh축 및 Zh축은 축(S6)의 방향 및 축(S6) 둘레의 링크(12f)의 회전에 대응하여, 각각의 방향을 변경한다. 여기서, 도 3은 도 2의 로봇 암(12)의 선단부의 측면도이다.
제4 좌표계는 엔드 이펙터(11)의 선단부(11b) 등의 특정의 점을 기준으로 한 좌표계이고, 툴 좌표계라고 칭한다. 예를 들어, 도 4에 도시된 바와 같이, 툴 좌표계에서는, Xt축, Yt축 및 Zt축이 정의된다. 예를 들어, Zt축은, 선단부(11b)가 연장되는 방향 중 1개를 따르는 축이다. Xt축 및 Yt축은 서로 직교하고 또한 Zt와 직교하며, 예를 들어, 접속면(12fa)과 평행하다. 예를 들어, 툴 좌표계의 원점은 선단부(11b)이다. 선단부(11b)로부터 멀어지는 방향은 Zt축 정방향이며, 그 반대 방향은 Zt축 부방향이다. Xt축, Yt축 및 Zt축은 선단부(11b)의 방향에 대응하여, 각각의 방향을 변화시킨다. 여기서, 도 4는 도 2의 엔드 이펙터(11)의 측면도이다.
예를 들어, 제어 장치(20)는 월드 좌표계에서의 반송 장치(13)의 교점(S1a)의 좌표 및 축(S1)의 방향 벡터에 기초하여, 반송 장치(13)의 위치 및 자세를 제어한다. 제어 장치(20)는 베이스 좌표계에서의 로봇 암(12)의 링크(12f)의 교차점(S6a)의 좌표 및 축(S6)의 방향 벡터에 기초하여 링크(12f)의 접속면(12fa)의 위치 및 자세를 제어한다. 제어 장치(20)는 핸드 좌표계의 Xh축, Yh축 및 Zh축과 툴 좌표계의 Xt축, Yt축 및 Zt축과의 관계에 기초하여, 엔드 이펙터(11)의 선단부(11b)의 위치 및 자세를 제어한다.
[제어 장치의 하드웨어 구성]
제어 장치(20)의 하드웨어 구성을 설명한다. 도 5는 본 실시예에 따른 제어 장치(20)의 하드웨어 구성의 일례를 도시하는 블록도이다. 도 5에 도시된 바와 같이, 제어 장치(20)는 CPU(Central Processing Unit)(201)와, ROM(Read Only Memory)(202)과, RAM(Random Access Memory)(203)과, 메모리(204)와, 입출력 I/F(인터페이스: Interface)(205 ~ 207)와, 암 구동 회로(208)와, 엔드 이펙터 구동 회로(209)와, 반송 구동 회로(210)를 구성 요소로서 포함한다. 상기 구성 요소는 각각 버스, 유선 통신 또는 무선 통신을 통해 접속되어 있다. 여기서, 상기 구성 요소 모두가 필수적인 것은 아니다.
예를 들어, CPU(201)는 프로세서이고, 제어 장치(20)의 전체 동작을 제어한다. ROM(202)은 비휘발성 반도체 메모리 등으로 구성되고, CPU(201)가 동작을 제어하게 하기 위한 프로그램 및 데이터 등을 격납한다. RAM(203)은 휘발성 반도체 메모리 등으로 구성되고, CPU(201)에서 실행되는 프로그램 및 처리 도중 또는 처리된 데이터 등을 일시적으로 격납한다. 메모리(204)는 휘발성 메모리 및 비휘발성 메모리 등의 반도체 메모리, 하드 디스크(HDD: Hard Disc Drive) 및 SSD(Solid State Drive) 등의 기억 장치로 구성되고, 각종 정보를 기억한다. 메모리(204)는 제어 장치(20)의 외부 장치라도 좋다.
예를 들어, CPU(201)가 동작하기 위한 프로그램은 ROM(202) 또는 메모리(204)에 미리 유지되어 있다. CPU(201)는 ROM(202) 또는 메모리(204)로부터 프로그램을 RAM(203)으로 판독하여 전개한다. CPU(201)는, RAM(203)에 전개된 프로그램 중의 코드화된 각각의 명령을 실행한다.
제어 장치(20)의 각 기능은 CPU(201), ROM(202) 및 RAM(203) 등으로 이루어지는 컴퓨터 시스템에 의해 실현되어도 좋고, 전자 회로 또는 집적 회로 등의 전용의 하드웨어 회로에 의해 실현되어도 좋으며, 상기 컴퓨터 시스템 및 하드웨어 회로의 조합에 의해 실현되어도 좋다.
이와 같은 제어 장치(20)는, 예를 들어 마이크로 컨트롤러, MPU(Micro Processing Unit), LSI(대규모 집적 회로: Large Scale Integration), 시스템 LSI, PLC(Programmable Logic Controller), 논리 회로 등으로 구성되어도 좋다. 제어 장치(20)의 복수의 기능은, 개별적으로 1칩화함으로써 실현되어도 좋고, 일부 또는 전부를 포함하도록 1칩화함으로써 실현되어도 좋다. 또한, 회로는 각각 범용 회로라도 좋고, 전용의 회로라도 좋다. LSI로서, LSI 제조 후에 프로그램하는 것이 가능한 FPGA(Field Programmable Gate Array), LSI 내부의 회로 셀의 접속 및/또는 설정을 재구성 가능한 컨피규러블 프로세서(configurable processor), 또는 특정 용도를 위한 복수의 기능의 회로가 1개로 결합된 ASIC(Application Specific Integrated Circuit) 등이 이용되어도 좋다.
제1 입출력 I/F(205)는 외부 장치(60)에 접속되고, 외부 장치(60)에 대해 정보, 데이터 및 지령 등을 입출력한다. 제1 입출력 I/F(205)는 신호를 변환하는 회로 등을 포함하여도 좋다. 예를 들어, 제1 입출력 I/F(205)는, 외부 장치(60)로부터, 프로그램 파일의 입력을 접수한다. 프로그램 파일의 예는, 로봇을 원점으로 복귀시키는 애플리케이션 프로그램의 프로그램 파일이다. 외부 장치(60)의 예는, 기록 미디어에 대한 각종 데이터의 판독 또는 기록을 제어하는 기록 미디어 드라이브, 기억 장치, 퍼스널 컴퓨터 등의 컴퓨터 장치, 정보 단말, 스마트 폰, 스마트 워치, 태블릿 등의 스마트 장치 등이다. 기록 미디어의 예는, 플래시 메모리, 메모리 카드 및 CD(Compact Disc)-R(Recordable), CD-RW(Rewritable), DVD(Digital Versatile Disc)-R, DVD-RW, BD(Blu-ray)(등록 상표) Disc)-R 및 BD-RE(Rewritable) 등의 기록 디스크 등이다. 여기서, 외부 장치(60)는 제어 장치(20)에 내장되어도 좋다.
제1 입출력 I/F(205)는 네트워크 I/F를 구성하고, 데이터 통신 가능한 통신망을 통해 외부 장치(60)와 접속되어도 좋다. 통신망의 예는, 인트라넷, 유선 또는 무선 LAN(Local Area Network), WAN(Wide Area Network), 모바일 통신망, 전화 회선 통신망 또는 다른 유선 또는 무선 통신을 사용하는 통신망이라도 좋다. 이 경우, 외부 장치(60)는 서버 장치, 클라우드 서버 등이라도 좋다. 프로그램 파일은 통신망 및 제1 입출력 I/F(205)를 통해 메모리(204) 등에 다운로드되어도 좋다.
제2 입출력 I/F(206)는 입력 장치(40)에 접속되고, 입력 장치(40)에 대해 정보, 데이터 및 지령 등을 입출력한다. 제2 입출력 I/F(206)는 신호를 변환하는 회로 등을 포함하여도 좋다. 제3 입출력 I/F(207)는 제시 장치(50)에 접속되고, 제시 장치(50)에 대해, 화면 데이터, 음성 데이터, 정보 및 지령 등을 입출력한다. 제3 입출력 I/F(207)는, 제시 장치(50)에 표시시키는 화면을 생성 가능한 GPU(Graphics Processing Unit), 제시 장치(50)에 출력시키는 음성을 생성 가능한 DSP(Digital Signal Processor), 및 신호를 변환하는 회로 등을 포함하여도 좋다.
암 구동 회로(208)는 CPU(201)의 지령에 따라 로봇(10)의 암 구동 장치(M1 ~ M6)의 서보 모터(SMa)에 전력을 공급하여 각각의 서보 모터(SMa)의 구동을 제어한다. 엔드 이펙터 구동 회로(209)는 CPU(201)의 지령에 따라 엔드 이펙터 구동 장치(11a)의 서보 모터(SMb)에 전력을 공급하여 서보 모터(SMb)의 구동을 제어한다. 반송 구동 회로(210)는 CPU(201)의 지령에 따라 반송 장치(13)의 반송 구동 장치(13c)의 서보 모터(SMc)에 전력을 공급하여 서보 모터(SMc)의 구동을 제어한다.
[제어 장치의 기능적 구성]
제어 장치(20)의 기능적 구성을 설명한다. 도 6은 본 실시예에 따른 제어 장치(20)의 기능 구성의 일례를 도시하는 블록도이다. 도 6에 도시된 바와 같이, 제어 장치(20)는 수동 지령 생성부(20a)와, 자동 지령 생성부(20b)와, 목표점 기록부(20c)와, 동작 제어부(20d)와, 기억부(20e)와, 원점 복귀 기동부(21)와, 목표점 취득부(22)와, 복귀 목표점 결정부(23)와, 경로 연산부(24)를 기능적 구성 요소로서 포함한다. 동작 제어부(20d)는 구동 제어부(20da)와 반송 제어부(20db)를 포함한다. 수동 지령 생성부(20a), 자동 지령 생성부(20b), 목표점 기록부(20c) 및 동작 제어부(20d)는 제어 장치(20)를 동작시키는 시스템 소프트웨어(26) 상에서 기능한다. 원점 복귀 기동부(21), 목표점 취득부(22), 복귀 목표점 결정부(23) 및 경로 연산부(24)는 시스템 소프트웨어(26) 상에서 동작하는 원점 복귀 어플리케이션 소프트웨어(이하, 「원점 복귀 어플리케이션」이라고도 칭함)(25) 상에서 기능한다. 원점 복귀 어플리케이션(25)은 로봇(10)에 원점 복귀 동작을 하게 하기 위한 소프트웨어이다. 상기 기능적 구성 요소는 모두가 필수적인 것은 아니다.
기억부(20e)를 제외한 기능적 구성 요소의 기능은 CPU(201) 등에 의해 실현되고, 기억부(20e)의 기능은 메모리(204), ROM(202) 및/또는 RAM(203)에 의해 실현된다.
기억부(20e)는 다양한 정보를 기억하고, 기억하고 있는 정보를 판독하는 것을 가능하게 한다. 예를 들어, 기억부(20e)는 제어 장치(20)를 동작시키는 시스템 소프트웨어(26)의 시스템 프로그램(20ea)을 기억한다.
나아가, 기억부(20e)는 로봇(10)에 소정의 작업을 수행하게 하기 위한 교시에 의해 기억된 교시 정보(20eb)를 기억한다. 로봇(10)의 교시 방식으로서는, 예를 들어, 교시자가 로봇(10)을 직접 접촉하여 움직이는 것에 의한 다이렉트 교시, 티칭 펜던트를 이용한 원격 조종에 의한 교시, 프로그래밍에 의한 교시, 마스터 슬레이브에 의한 교시 등이 있지만, 어떠한 교시 방식이라도 좋다.
교시 정보(20eb)는 동작 목표점의 정보를 포함한다. 동작 목표점은 교시되는 점이고, 작업을 수행하기 위한 로봇(10)의 동작 중에, 엔드 이펙터(11)의 핸드 좌표계의 원점(S6a) 등의 로봇(10)의 소정의 점이 통과하는 점이다. 1개의 소정의 작업에 대해서, 복수의 동작 목표점이 설정된다. 복수의 동작 목표점에는, 로봇(10)의 통과 순서에 따른 순서가 부여되어 있다. 복수의 동작 목표점은 작업을 수행하기 위해 로봇(10)의 소정의 점이 더듬어 찾는 동작 경로를 구성한다.
예를 들어, 교시 정보(20eb)는, 도 7 및 도 8에 도시된 바와 같은 복수의 동작 목표점으로 구성된 동작 경로를 포함한다. 도 7 및 도 8은 실시예에 따른 로봇(10)의 교시 정보(20eb)에 따른 동작 경로의 일례를 도시하는 도면이다.
예를 들어, 도 7에 도시된 동작 경로(OR1)는 개시 위치인 원점(O)으로부터, 각각의 위치가 다른 제1 동작 목표점(OTP1) ~ 제5 동작 목표점(OTP5)을 순차적으로 통과해 원점(O)으로 되돌아가는 경로이다. 원점(O)은 소정의 작업을 실행하기 위한 동작 경로 모두에 대한 개시 위치라도 좋고, 소정의 작업을 실행하는 중에 입력 장치(40)로부터의 지령 등에 의해 동작 경로의 중간에 지정된 위치라도 좋다.
도 8에 도시된 동작 경로(OR2)는 원점(O)으로부터 제1 동작 목표점(OTP1) ~ 제9 동작 목표점(OTP9)을 순차적으로 통과해 원점(O)으로 돌아가는 경로이다. 그러나, 제1 동작 목표점(OTP1) 및 제3 동작 목표점(OTP3)은 동일한 제1 목표점(TP1)에 위치한다. 제4 동작 목표점(OTP4) 및 제6 동작 목표점(OTP6)은 동일한 제2 목표점(TP2)에 위치한다. 제7 동작 목표점(OTP7) 및 제9 동작 목표점(OTP9)은 동일한 제3 목표점(TP3)에 위치한다. 여기서, 제1 동작 목표점(OTP1) 및 제3 동작 목표점(OTP3) 사이, 제4 동작 목표점(OTP4) 및 제6 동작 목표점(OTP6) 사이, 및 제7 동작 목표점(OTP7) 및 제9 동작 목표점(OTP9) 사이의 각각에서, 후술하는 동작 목표점의 위치 이외의 정보는 다르게 되어 있어도 좋다.
동작 목표점의 정보는 동작 목표점의 위치, 직전의 동작 목표점으로부터 동작 목표점까지의 경로인 구간 동작 경로, 동작 목표점에서의 엔드 이펙터(11)의 상태, 및 동작 목표점에서의 로봇의 위치 등의 정보를 포함할 수 있다. 동작 목표점의 위치는 동작 목표점의 3차원 위치와, 당해 동작 목표점에서의 기준축의 자세를 포함하여도 좋다. 3차원 위치는 3차원 공간 내에서의 위치이다.
동작 목표점의 3차원 위치는 월드 좌표계에서의 동작 목표점의 3차원 위치라도 좋다. 예를 들어, 동작 목표점은 엔드 이펙터(11)의 목표점이고, 이에 한정되지 않지만, 본 실시예에서는, 로봇 암(12)의 링크(12f)의 접속면(12fa) 상의 점(S6a)의 목표점이다. 기준축은 로봇(10)의 핸드 좌표계의 Zh축, 즉, 로봇 암(12)의 관절(JT6)의 회전 중심축(S6)이라도 좋다. Zh축의 자세, 즉 축(S6)의 자세는 기준축의 자세의 일례이다.
동작 목표점의 3차원 위치 및 자세는 월드 좌표계를 기준으로 한 월드 좌표계의 Xw축, Yw축 및 Zw축과 핸드 좌표계의 Xh축, Yh축 및 Zh축과의 관계에 기초한 위치 및 오일러 각을 이용해 나타낸다. 이러한 동작 목표점의 3차원 위치 및 자세는 월드 좌표계에서 Xw축 요소 「xw」, Yw축 요소 「yw」 및 Zw축 요소 「zw」, 및 오일러 각 요소 「Ow」, 「Aw」 및 「Tw」를 포함한다.
구간 동작 경로의 정보는, 동작 목표점의 한 개 전의 순서의 동작 목표점(이하, 「직전 동작 목표점」이라고도 칭한다)으로부터 당해 동작 목표점까지의 경로의 정보이고, 동작 목표점과 직전 동작 목표점 사이를 보간하는 보간 정보이다. 이러한 보간 정보는, 구간 동작 경로의 형상, 사이즈 및 방향, 및 구간 동작 경로에서의 로봇 암(12)의 관절(JT1 ~ JT6)의 구동 방향 및 구동량 등을 포함한다. 경로 형상의 예는, 직선 형상, 및, 호 및 스플라인 곡선과 같은 곡선 형상 등이다. 경로의 사이즈는 곡선 형상의 곡률 등이다. 경로의 방향은 곡선 형상의 굴곡 방향 등이다. 구간 동작 경로의 정보는 「보간 모드」라고도 칭한다.
엔드 이펙터의 상태 정보는 엔드 이펙터(11)의 특정의 부위의 위치 및 자세를 포함한다. 이에 한정되지 않지만, 본 실시예에서는, 상기 특정의 부위는 엔드 이펙터(11)의 선단부(11b)이다. 선단부(11b)의 위치 및 자세는 로봇 암(12)의 링크(12f)의 접속면(12fa)에 대한 위치 및 자세라도 좋다. 선단부(11b)의 위치 및 자세는, 핸드 좌표계를 기준으로 하여, 핸드 좌표계의 Xh축, Yh축 및 Zh축과 툴 좌표계의 Xt축, Yt축 및 Zt축과의 관계에 기초한 위치 및 오일러 각으로 나타낸다. 이러한 선단부(11b)의 위치 및 자세는, 핸드 좌표계에서, Xh축 요소 「xht」, Yh축 요소 「yht」 및 Zh축 요소 「zht」, 및 오일러 각 요소 「Oht」, 「Aht」 및 「Tht」를 포함한다. 또한, 엔드 이펙터의 상태에 대한 정보는 엔드 이펙터 구동 장치(11a)에 의해 동작된 엔드 이펙터(11)의 상태를 포함하여도 좋다. 엔드 이펙터의 상태에 대한 정보는 「툴 값」이라고도 칭한다.
로봇(10)의 위치 정보는 월드 좌표계에서 로봇(10)의 3차원 위치를 포함하여도 좋다. 이에 한정되지 않지만, 본 실시예에서, 로봇(10)의 3차원 위치는 로봇(10)의 축(S1) 상의 교점(S1a)의 3차원 위치이다. 로봇(10)의 위치 정보는 월드 좌표계에서의 로봇(10)의 자세를 포함하여도 좋다. 이에 한정되지 않지만, 본 실시예에서는, 로봇(10)의 자세는 축(S1)의 자세이다. 로봇(10)의 위치의 정보는, 「베이스 값」이라고도 칭한다.
나아가, 기억부(20e)는 기록 목표점 정보(20ec)를 포함한다. 기록 목표점 정보(20ec)는 목표점 기록부(20c)에 의해 기록된 동작 목표점의 정보이다. 기록 목표점 정보(20ec)는 작업을 실행하는 중의 로봇(10)의 엔드 이펙터(11)가 동작 목표점으로 이동할 때마다 기록된 이동처의 동작 목표점의 정보이다. 예를 들어, 기록 목표점 정보(20ec)는, 교시 정보(20eb)에 따라 로봇(10)이 동작할 때에 목표점 기록부(20c)에 의해 기록된 동작 목표점의 정보를 포함한다.
나아가, 기억부(20e)는 원점 복귀 어플리케이션(25)의 어플리케이션 프로그램(20ed)을 기억한다. 본 실시예에서는, 애플리케이션 프로그램(20ed)은 패키지화된 단일의 프로그램이고, 인스톨된 제어 장치(20)의 시스템 프로그램(20ea) 상에 탑재되어서 동작 가능하다. 애플리케이션 프로그램(20ed)은 시스템 프로그램(20ea) 상에서 동작한다. 즉, 원점 복귀 어플리케이션(25)은 제어 장치(20)의 시스템 소프트웨어(26) 상에서 동작한다. 애플리케이션 프로그램(20ed)은 외부 장치(60)로부터 기억부(20e)로 보내져 기억되어도 좋다. 이러한 어플리케이션 프로그램(20ed)은 다양한 로봇의 제어 장치에 적용 가능하고, 범용성이 있다. 여기서, 원점 복귀를 위한 프로그램은 시스템 프로그램(20ea)에 미리 내장되어 있어도 좋다.
수동 지령 생성부(20a)는 입력 장치(40)로부터 출력되는 조작 정보에 대응하는 동작을 로봇(10)에 하게 하기 위한 수동 동작 지령을 생성하고, 동작 제어부(20d)에 출력한다. 로봇(10)을 조작하기 위해 입력 장치(40)에 입력되는 정보는, 엔드 이펙터(11)의 위치, 자세, 이동, 이동 속도 및 힘 등의 엔드 이펙터(11)의 동작 및 작용력을 지령하는 정보이다. 입력 장치(40)는 입력된 정보에 대응하는 엔드 이펙터(11)의 동작 및 작용력을 나타내는 정보를 조작 정보로서 수동 지령 생성부(20a)에 출력한다.
여기서, 동작 지령은, 엔드 이펙터(11)가 대상물에 가하는 힘, 즉 작업 환경에 작용시키는 힘을 나타내는 힘 지령과, 엔드 이펙터(11)의 위치를 나타내는 위치 지령을 포함한다. 힘 지령은 힘의 크기의 지령을 포함하고, 나아가, 힘의 방향의 지령을 포함하여도 좋다. 나아가, 힘 지령은 힘을 발생시키는 시각의 지령을 포함하여도 좋다. 위치 지령은, 엔드 이펙터(11)의 위치의 지령을 포함하고, 나아가, 엔드 이펙터(11)의 자세의 지령을 포함하여도 좋다. 나아가, 위치 지령은 위치 및/또는 자세를 발생시키는 시각의 지령을 포함하여도 좋다.
또한, 동작 지령은, 엔드 이펙터(11)의 엔드 이펙터 구동 장치(11a)의 구동 및 구동 정지의 지령, 및 반송 장치(13)의 위치 지령을 포함하여도 좋다. 반송 장치(13)의 위치 지령은, 3차원 공간 내의 반송 장치(13)의 위치 및 자세 중 적어도 반송 장치(13)의 위치를 포함한다.
자동 지령 생성부(20b)는 교시 정보(20eb)에 따라 로봇(10)에 자동으로 소정의 작업을 시키기 위한 자동 동작 지령을 생성하고, 동작 제어부(20d)에 출력한다. 자동 지령 생성부(20b)는 입력 장치(40)를 통해 로봇(10)에 실행시키는 소정의 작업의 정보를 취득하고, 소정의 작업에 대응하는 교시 정보(20eb)를 판독하여 교시 정보(20eb)에 따른 자동 동작 지령을 생성한다. 예를 들어, 자동 지령 생성부(20b)는 동작 목표점의 정보에 기초하여 자동 동작 지령을 생성한다. 자동 동작 지령은 동작 경로를 따라 로봇(10)을 자동으로 동작시키기 위한 지령이고, 수동 동작 지령과 마찬가지로 위치 지령 및 힘 지령 등을 포함한다.
나아가, 자동 지령 생성부(20b)는 로봇(10)을 원점 복귀시키기 위한 복귀 경로 정보를 경로 연산부(24)로부터 수취하면, 당해 복귀 경로를 따라 로봇(10)을 자동으로 원점으로 복귀하도록 동작시키기 위한 자동 복귀 동작 지령을 생성하고, 동작 제어부(20d)로 출력한다. 자동 복귀 동작 지령에 따라 동작하는 로봇(10)은 실제로 대상물에 대해 작업을 수행하지 않으므로, 자동 복귀 동작 지령은 힘 지령을 포함하지 않아도 좋다.
동작 제어부(20d)는, 수동 동작 지령, 자동 동작 지령 또는 자동 복귀 동작 지령에 따라서, 로봇(10)의 동작을 제어한다. 동작 제어부(20d)는 각각의 동작 지령에 따라 로봇(10)의 각 부를 동작시키기 위한 지령을 생성하고, 로봇(10)으로 출력한다. 또한, 동작 제어부(20d)는, 로봇(10)으로부터 로봇(10)의 각 부의 동작 상태의 정보를 취득하고, 당해 정보를 피드백 정보로서 이용하여 상기 지령을 생성한다. 나아가, 동작 제어부(20d)는, 로봇(10)의 각 부의 동작 상태의 정보로부터 로봇(10)의 각 부의 위치를 검출하고, 검출 결과를 목표점 기록부(20c)에 출력하여도 좋다.
동작 제어부(20d)의 구동 제어부(20da)는 로봇 암(12)의 암 구동 장치(M1 ~ M6)의 서보 모터(SMa)와 엔드 이펙터(11)의 엔드 이펙터 구동 장치(11a)의 서보 모터(SMb)를 동작시키기 위한 지령을 생성한다. 암 구동 장치(M1 ~ M6) 및 엔드 이펙터 구동 장치(11a)는 각각 서보 모터(SMa 및 SMb)의 회전자의 회전량을 검출하는 엔코더 등의 회전 센서(도시하지 않음)와, 서보 모터(SMa 및 SMb)의 구동 전류를 검출하는 전류 센서(도시하지 않음)를 구비한다. 나아가, 엔드 이펙터(11)는 엔드 이펙터(11)에 작용하는 힘의 크기 및 방향을 검출하는 힘 센서(도시하지 않음)를 구비한다. 회전 센서, 전류 센서 및 힘 센서는 각각 서보 모터의 회전량 및 구동 전류 값과 힘 센서의 검출 값을 피드백 정보로서 구동 제어부(20da)에 출력한다. 구동 제어부(20da)는 각각의 서보 모터의 회전량 및 구동 전류 값 및 힘 센서의 검출 값을 이용하여, 각각의 서보 모터의 회전 개시, 회전 정지, 회전 속도 및 회전 토크를 제어한다.
나아가, 구동 제어부(20da)는 암 구동 장치(M1 ~ M6)의 모든 서보 모터(SMa)의 회전량을 통합함으로써, 엔드 이펙터(11)의 3차원 위치 및 3차원 자세를 산출한다. 구동 제어부(20da)는, 엔드 이펙터(11)의 3차원 위치, 3차원 자세 및 힘 센서의 검출 값이 동작 지령의 위치 지령 및 힘 지령에 대응하도록, 암 구동 장치(M1 ~ M6) 및 엔드 이펙터 구동 장치(11a)의 서보 모터(SMa 및 SMb)를 구동시키는 지령을 생성한다.
또한, 동작 제어부(20d)의 반송 제어부(20db)는, 반송 장치(13)의 반송 구동 장치(13c)의 서보 모터(SMc)를 동작시키기 위한 지령을 생성한다. 반송 구동 장치(13c)는, 서보 모터(SMc)의 회전자의 회전량을 검출하는 회전 센서(도시하지 않음)와, 서보 모터(SMc)의 구동 전류를 검출하는 전류 센서(도시하지 않음)를 구비한다. 반송 구동 장치(13c)는 서보 모터(SMc)의 회전량 및 구동 전류 값을 피드백 정보로서 반송 제어부(20db)에 출력한다. 반송 제어부(20db)는 서보 모터(SMc)의 회전량 및 구동 전류 값을 이용하여 서보 모터(SMc)를 제어한다. 반송 제어부(20db)는, 로봇(10)의 위치가 동작 지령의 위치 지령에 대응하도록, 서보 모터(SMc)를 구동시키는 지령을 생성한다.
여기서, 반송 장치(13)는 GPS(Global Positioning System) 수신기 및 IMU(관성 계측 장치: Inertial Measurement Unit) 등의 위치 계측 장치를 구비하여도 좋다. 반송 제어부(20db)는 GPS 수신기의 수신 신호 또는 IMU에 의해 계측된 가속도 및 각속도 등을 이용하여, 반송 장치(13)의 위치 및 자세를 검출하여도 좋다. 또한, 반송 장치(13)는, 예를 들어, 바닥면에 매설된 전선으로부터 미약한 유도 전류를 검출하는 검출 장치를 구비하고, 반송 제어부(20db)는, 이 검출 값에 기초하여 반송 장치(13)의 위치 및 자세를 검출하여도 좋다.
목표점 기록부(20c)는, 본 실시예에서는, 원점 복귀 어플리케이션(25)이 시스템 소프트웨어(26)에 인스톨됨으로써 생성되어 기능하도록 된 기능적 구성 요소이지만, 미리 시스템 소프트웨어(26)에 내장되어 있다 좋다. 목표점 기록부(20c)는, 로봇(10)이 작업을 실행하는 중, 엔드 이펙터(11)가 동작 목표점으로 이동할 때마다, 이동처의 동작 목표점의 정보를 기록 목표점 정보(20ec)로서 기록하고, 기억부(20e)에 기억시킨다. 따라서, 원점 복귀 어플리케이션(25)의 어플리케이션 프로그램(20ed)은 목표점 기록부(20c)에 상기 동작 목표점의 정보를 기록시킨다. 동작 목표점으로 이동하는 것은 다른 동작 목표점으로부터 당해 동작 목표점으로 이동하는 것이다. 이 경우, 2개의 동작 목표점의 정보의 적어도 일부가 서로 다르다면 좋다. 예를 들어, 2개의 동작 목표점 사이에서, 3차원 위치가 동일하여도 좋고, 자세가 동일하여도 좋고, 3차원 위치 및 자세가 동일하여도 좋다.
또한, 엔드 이펙터(11)가 동작 목표점으로 이동할 때마다, 이동처의 동작 목표점의 정보를 기록하는 것은, 엔드 이펙터(11)가 이동처의 동작 목표점으로 이동하기 시작한 시점부터 엔드 이펙터(11)가 이동처의 동작 목표점에 도달한 시점까지의 사이의 어느 시점에서, 이동처의 동작 목표점의 정보를 기록하는 것이라도 좋다. 따라서, 엔드 이펙터(11)가 도달하지 않은 동작 목표점의 정보가 기록되는 경우가 포함되어도 좋고, 엔드 이펙터(11)가 도달한 동작 목표점의 정보가 기록되는 경우가 포함되어도 좋다. 본 실시예에서는, 목표점 기록부(20c)는, 엔드 이펙터(11)가 이동처의 동작 목표점으로 이동하기 시작한 시점에서 이동처의 동작 목표점의 정보를 기록한다.
본 실시예에서는, 목표점 기록부(20c)는 입력 장치(40)를 통해 동작 목표점을 기록하는 것을 지령하는 기록 지령을 수취하면, 동작 목표점의 정보의 기록을 개시한다. 이 때, 목표점 기록부(20c)는 기록의 개시 지점인 기록 원점을 결정한다. 예를 들어, 목표점 기록부(20c)는, 기록 지령을 수취한 시점에서의 엔드 이펙터(11)의 위치를 기록 원점으로 결정하여도 좋고, 당해 위치의 직전 또는 직후의 동작 목표점을 기록 원점으로 결정하여도 좋다. 목표점 기록부(20c)는 기록 원점의 정보를 기억부(20e)에 기억시킨다.
목표점 기록부(20c)는, 기록 원점을 결정한 후, 엔드 이펙터(11)가 동작 목표점으로 이동할 때마다 이동처의 동작 목표점의 정보를 기억부(20e)에 기억시킨다. 목표점 기록부(20c)는 동작 목표점의 정보에 도달 순서를 나타내는 정보를 부가하여 기억부(20e)에 기억시킨다. 예를 들어, 목표점 기록부(20c)는 제m 동작 목표점(m은 자연수)의 「m」 등의 도달 순서 번호를 동작 목표점에 부가하여도 좋다.
여기서, 목표점 기록부(20c)는, 로봇(10)의 동작 중에, 동작 제어부(20d)로부터 로봇(10)의 각 부의 위치의 정보를 취득하여도 좋다. 당해 위치의 정보는 엔드 이펙터(11)의 3차원 위치 및 자세의 정보를 포함한다. 목표점 기록부(20c)는 엔드 이펙터(11)의 3차원 위치 및 자세의 정보에 기초하여, 엔드 이펙터(11)의 동작 목표점으로의 이동을 검출하여도 좋다. 또는, 목표점 기록부(20c)는, 자동 지령 생성부(20b)로부터 엔드 이펙터(11)를 동작 목표점으로 이동시키는 지령을 취득하고, 당해 지령에 기초하여 엔드 이펙터(11)의 당해 동작 목표점으로의 이동을 검출하여도 좋다.
원점 복귀 기동부(21)는 입력 장치(40)를 통해 로봇(10)을 원점 복귀시키는 것을 지령하는 원점 복귀 지령을 수취하면, 기억부(20e)의 어플리케이션 프로그램(20ed)을 판독하여 원점 복귀 어플리케이션(25)을 기동한다. 원점 복귀 기동부(21)는, 원점 복귀 지령을 수취한 시점인 복귀 지령 수취 시점에서 로봇(10)이 동작하고 있는 경우, 정지 지령을 자동 지령 생성부(20b)에 출력하여 로봇(10)의 동작을 정지시켜도 좋다.
목표점 취득부(22)는 원점 복귀 어플리케이션(25)의 기동 후, 엔드 이펙터(11)의 현재 위치를 취득한다. 예를 들어, 엔드 이펙터(11)의 현재 위치는 복귀 지령 수취 시점에서의 엔드 이펙터(11)의 위치라도 좋고, 원점 복귀 애플리케이션(25)의 기동 후의 소정 타이밍에서의 엔드 이펙터(11)의 위치라도 좋다. 예를 들어, 목표점 취득부(22)는, 동작 제어부(20d)로부터 로봇(10)의 각 부의 위치의 정보를 취득하고, 당해 정보에 기초하여 엔드 이펙터(11)의 현재 위치를 취득하여도 좋고, 목표점 기록부(20c)로부터 엔드 이펙터(11)의 현재 위치를 취득하여도 좋다.
나아가, 목표점 취득부(22)는 기억부(20e)의 기록 목표점 정보(20ec)를 검색하고, 기록 원점 정보와, 기록 원점 출발 시점으로부터 복귀 지령 수신 시점까지에 기록 목표점 정보(20ec)로서 기억된 동작 목표점의 정보를 취득한다. 당해 동작 목표점의 정보는 엔드 이펙터(11)의 현재 위치보다 전에 엔드 이펙터(11)가 도달 완료한 동작 목표점의 정보와, 복귀 지령 수취 시점에서의 엔드 이펙터(11)의 이동처의 동작 목표점인 이동처 동작 목표점의 정보를 포함한다. 이동처 동작 목표점은 엔드 이펙터(11)가 현재 위치로부터 먼저 도달해야 하는 동작 목표점이다.
복귀 목표점 결정부(23)는 로봇(10)을 원점 복귀시키기 위해 엔드 이펙터(11)가 통과하는 목표점인 복귀 목표점을 결정한다. 복귀 목표점 결정부(23)는 엔드 이펙터를 기록 원점으로 복귀시키기 위한 복귀 경로 상의 점으로서, 복귀 목표점을 결정한다.
먼저, 복귀 목표점 결정부(23)는, 엔드 이펙터(11)의 현재 위치가 동작 목표점인지의 여부를 판정한다. 복귀 목표점 결정부(23)는 목표점 취득부(22)에 의해 취득된 동작 목표점 각각과 현재 위치의 거리인 제1 목표점 거리를 검출한다. 복귀 목표점 결정부(23)는 제1 목표점 거리가 제1 임계값 이내인 동작 목표점이 존재하는 경우, 현재 위치가 당해 동작 목표점이라고 결정하고, 엔드 이펙터(11)의 복귀 경로의 검출을 결정한다. 복귀 목표점 결정부(23)는 모든 동작 목표점의 제1 목표점 거리가 제1 임계값 초과인 경우, 현재 위치가 당해 동작 목표점이 아닌 것으로 결정한다.
여기서, 제1 목표점 거리는 현재 위치와 동작 목표점 사이의 3차원 위치의 거리라도 좋고, 3차원 위치의 거리 및 기준축의 자세의 거리를 포함하는 거리라도 좋다. 제1 임계값은, 예를 들어, 엔드 이펙터(11) 및 로봇 암(12)의 구성 등에 따라 미리 설정되어, 기억부(20e)에 미리 기억되어 있어도 좋다.
복귀 목표점 결정부(23)는, 엔드 이펙터(11)의 현재 위치가 어느 동작 목표점도 아닌 경우, 현재 위치가 엔드 이펙터(11)의 동작 경로 상에 위치하는지의 여부를 판정한다. 동작 경로 상에 위치하는 것은 동작 경로뿐만 아니라 동작 경로 근방에 위치하는 것을 포함하여도 좋다. 예를 들어, 복귀 목표점 결정부(23)는 현재 위치와 동작 경로 사이의 거리인 이격 거리를 검출한다. 구체적으로는, 복귀 목표점 결정부(23)는, 현재 위치와 이동처 동작 목표점에 이르는 구간 동작 경로의 이격 거리를 검출한다. 당해 구간 동작 경로는 현재 위치에 대한 이동처 동작 목표점의 정보에 포함되는 구간 동작 경로이다.
복귀 목표점 결정부(23)는, 이격 거리가 제2 임계값 이내인 경우, 현재 위치가 동작 경로 상에 위치한다고 판정하고 또한 복귀 경로의 검출을 결정하고, 이격 거리가 제2 임계값 초과인 경우, 현재 위치가 동작 경로 상에 위치하지 않는다고 판정하고 또한 복귀 경로의 검출을 중지한다. 예를 들어, 이격 거리가 제2 임계값 초과인 경우, 검출되는 복귀 경로 상에 장애물이 존재하는 가능성이 있기 때문에, 복귀 경로의 검출이 중단된다. 이 경우, 복귀 목표점 결정부(23)는, 로봇 시스템(1)의 유저에 엔드 이펙터(11)의 주위의 점검을 촉구하는 통지를 제시 장치(50) 등을 통해 수행하여도 좋다. 여기서, 이격 거리는 현재 위치의 3차원 위치와 동작 경로의 3차원 위치 사이의 거리라도 좋다. 제2 임계값은, 예를 들어, 로봇(10)의 작업 환경 등에 따라 미리 설정되어, 기억부(20e)에 미리 기억되어 있어도 좋다.
복귀 경로의 검출이 결정된 경우, 복귀 목표점 결정부(23)는 엔드 이펙터(11)를 현재 위치로부터 최초로 복귀시키는 제1 복귀 목표점을 결정한다. 복귀 목표점 결정부(23)는 현재 위치 보다 전에 엔드 이펙터(11)가 도달 완료한 동작 목표점의 정보 중에서, 현재 위치 직전에 도달 완료한 동작 목표점 또는 현재 위치에 가장 가까운 거리의 동작 목표점을 제1 복귀 목표점으로서 결정한다. 이 때, 복귀 목표점 결정부(23)는 현재 위치에서의 이동처 동작 목표점의 정보를 취득한다. 예를 들어, 복귀 목표점 결정부(23)는 이동처 동작 목표점으로서 제(i+1) 동작 목표점(i는 자연수)의 정보를 취득한다.
복귀 목표점 결정부(23)는, 현재 위치 직전에 도달 완료한 동작 목표점을 제1 복귀 목표점으로 결정하는 경우, 제(i+1) 동작 목표점의 직전에 도달 완료한 제i 동작 목표점을 제1 복귀 목표점으로 결정한다.
복귀 목표점 결정부(23)는, 현재 위치에 가장 가까운 거리의 동작 목표점을 제1 복귀 목표점으로 결정하는 경우, 제1 동작 목표점 ~ 제i 동작 목표점 중의 현재 위치에 가장 가까운 거리의 동작 목표점을 제1 복귀 목표점으로 결정한다. 본 실시예에서는, 현재 위치와 제1 ~ 제i 동작 목표점의 거리는 3차원 위치의 거리와 자세의 거리를 포함한다. 상술한 바와 같이, 동작 목표점 및 엔드 이펙터(11)의 위치는 월드 좌표계에서 표현되는 Xw축 요소 「xw」, Yw축 요소 「yw」 및 Zw축 요소 「zw」, 및 오일러 각 요소 「Ow」, 「Aw」 및 「Tw」를 포함한다. 3차원 위치의 거리는 Xw축 요소 「xw」, Yw축 요소 「yw」 및 Zw축 요소 「zw」를 이용하여 표현되는 거리이고, 자세의 거리는 오일러 각 요소 「Ow」, 「Aw」 및 「Tw」를 이용하여 표현되는 거리이다. 여기서, 예를 들어, 현재 위치와 제1 ~ 제i 동작 목표점의 거리는 3차원 위치의 거리만을 포함하여도 좋다.
복귀 목표점 결정부(23)는 2개의 동작 목표점 사이의 거리가 제3 임계값 이하인 경우, 당해 2개의 동작 목표점의 위치가 동일한 것으로 본다. 2개의 동작 목표점 사이의 거리는, 당해 2개의 동작 목표점 사이의 3차원 위치의 거리라도 좋고, 3차원 위치의 거리 및 기준축의 자세의 거리를 포함하는 거리라도 좋다. 제3 임계값은, 예를 들어, 엔드 이펙터(11) 및 로봇 암(12)의 구성 등에 따라 미리 설정되어, 기억부(20e)에 미리 기억되어 있어도 좋다. 제3 임계값은 제1 임계값과 동일하여도 좋다. 또한, 위치가 동일한 동작 목표점의 정보가 기억부(20e)에 미리 기억되고, 복귀 목표점 결정부(23)는 기억부(20e)로부터 당해 정보를 취득하여도 좋다. 여기서, 복귀 목표점 결정부(23)는, 2개의 동작 목표점 사이의 거리가 제3 임계값 이하라도, 당해 2개의 동작 목표점의 위치가 동일하다고 보지 않도록 구성되어도 좋다.
또한, 본 실시예에서는, 현재 위치와 제1 ~ 제i 동작 목표점 각각의 거리는 동작 경로를 따라 현재 위치와 제1 ~ 제i 동작 목표점 각각을 잇는 거리이지만, 현재 위치와 제1 ~ 제i 동작 목표점 각각을 직접 잇는 경로의 거리라도 좋다. 예를 들어, 동작 경로를 따른 현재 위치와 제i 동작 목표점의 거리는 현재 위치와 제i 동작 목표점 사이의 구간 동작 경로 모두를 통과하는 경로의 거리라도 좋고, 구간 동작 경로의 일부가 생략된 경로의 거리라도 좋다. 예를 들어, 본 실시예에서와 같이, 위치가 동일한 동작 목표점이 포함되는 경우, 이들의 동작 목표점 사이의 구간 동작 경로가 거리의 검출 대상으로부터 제외되어도 좋다. 예를 들어, 도 8에서, 동작 목표점(OTP7 및 OTP8) 사이에 있는 현재 위치와 제4 동작 목표점(OTP4)의 거리에서는, 동작 목표점(OTP4 ~ OTP6)의 구간 동작 경로의 거리가 제외되어도 좋다.
복귀 목표점 결정부(23)가 제1 복귀 목표점으로서, 현재 위치의 직전에 도달 완료한 동작 목표점과 현재 위치에 가장 가까운 거리의 동작 목표점 중 어느 것을 선택하는지의 선택 규칙은 미리 설정되어도 좋다. 선택 규칙은 특별히 한정되지 않지만, 예를 들어, 동작 경로 전체에 대해 설정되어도 좋고, 구간 동작 경로에 대해 개별적으로 설정되어도 좋으며, 구간 동작 경로 상에서의 엔드 이펙터(11)의 위치에 대응하여 설정되어도 좋고, 이동처 동작 목표점에 대응하여 설정되어도 좋고, 동작 목표점마다 설정되어도 좋다.
복귀 목표점 결정부(23)는 제1 복귀 목표점의 후보로서 복수의 동작 목표점을 검출한 경우, 가장 빨리 도달 완료한 동작 목표점을 제1 복귀 목표점으로 결정한다. 예를 들어, 복귀 목표점 결정부(23)는 검출된 복수의 동작 목표점 중 가장 작은 도달 순서 번호의 동작 목표점을 제1 복귀 목표점으로 결정한다.
다음으로, 복귀 목표점 결정부(23)는 엔드 이펙터(11)를 제k 복귀 목표점(k는 1 이상의 자연수)로부터 복귀시키는 다음의 복귀 목표점인 제(k+1) 복귀 목표점을 결정한다. 제k 복귀 목표점 및 제(k+1) 복귀 목표점은 동작 목표점이다. 복귀 목표점 결정부(23)는 제k 복귀 목표점 보다 전에 엔드 이펙터(11)가 도달 완료한 동작 목표점의 정보 중에서, 제k 복귀 목표점의 직전에 도달 완료한 동작 목표점 또는 제k 복귀 목표점에 가장 가까운 거리의 동작 목표점을 제(k+1) 복귀 목표점으로 결정한다. 이 때, 복귀 목표점 결정부(23)는 제k 복귀 목표점에 대응하는 제(j+1) 동작 목표점(j는 i보다 작은 자연수)의 정보를 취득한다.
복귀 목표점 결정부(23)는, 제k 복귀 목표점인 제(j+1) 동작 목표점의 직전에 도달 완료한 동작 목표점을 제(k+1) 복귀 목표점으로 결정하는 경우, 제(j+1) 동작 목표점의 직전에 도달한 제j 동작 목표점을 제(k+1) 복귀 목표점으로 결정한다.
복귀 목표점 결정부(23)는, 제k 복귀 목표점에 대응하는 제(j+1) 동작 목표점에 가장 가까운 거리의 동작 목표점을 제(k+1) 복귀 목표점으로 결정하는 경우, 제1 동작 목표점 ~ 제j 동작 목표점 중 제(j+1) 동작 목표점에 가장 가까운 거리의 동작 목표점을 제(k+1) 복귀 목표점으로 결정한다. 본 실시예에서는, 제(j+1) 동작 목표점과 제1 ~ 제j 동작 목표점 사이의 거리인 제2 목표점 거리는 3차원 위치의 거리와 자세의 거리를 포함하지만, 3차원 위치 거리만 포함하여도 좋다. 또한, 동작 목표점 각각에 대응하여, 제2 목표점 거리가 3차원 위치의 거리와 자세의 거리 중 어느 것을 포함하는지 여부를 미리 설정하여도 좋다.
또한, 본 실시예에서는, 제2 목표점 거리는 동작 경로를 통해 제(j+1) 동작 목표점과 제1 ~ 제j 동작 목표점을 각각을 잇는 경로의 거리이지만, 제(j+1) 동작 목표점과 제1 ~ 제j 동작 목표점 각각을 직접 잇는 경로의 거리라도 좋다. 동작 경로를 따르는 제2 목표점 거리는 제1 복귀 목표점의 경우와 마찬가지로, 2개의 동작 목표점 사이의 구간 동작 경로의 일부가 제외된 경로의 거리가 될 수 있지만, 구간 동작 경로 모두를 통과하는 경로의 거리라도 좋다. 복귀 목표점 결정부(23)는 2개의 동작 목표점 사이의 거리가 제3 임계값 이하인 경우, 당해 2개의 동작 목표점의 위치가 동일한 것으로 본다.
복귀 목표점 결정부(23)가 제(k+1) 복귀 목표점으로서, 제k 복귀 목표점의 직전에 도달 완료한 동작 목표점과 제k 복귀 목표점에 가장 가까운 거리의 동작 목표점 중 어느 하나를 선택하는지의 선택 규칙은, 제1 복귀 목표점의 경우와 마찬가지로, 미리 설정되어 있어도 좋다.
또한, 복귀 목표점 결정부(23)는 제(k+1) 복귀 목표점의 후보로서 복수의 동작 목표점을 검출한 경우, 가장 빨리 도달 완료한 동작 목표점을 제(k+1) 복귀 목표점으로 결정한다.
복귀 목표점 결정부(23)는, 제(k+1) 복귀 목표점이 기록 원점에 도달할 때까지, 제k 복귀 목표점으로부터 제(k+1) 복귀 목표점을 검출하는 처리를 반복한다. 이에 따라서, 엔드 이펙터(11)를 기록 원점으로 되돌리기 위해 엔드 이펙터(11)가 통과해야 하는 모든 복귀 목표점, 예를 들어, 제1 복귀 목표점 ~ 제(n+1) 복귀 목표점(n은 1 이상의 자연수)이 검출된다.
경로 연산부(24)는 복귀 목표점 결정부(23)에 의해 검출된 모든 복귀 목표점의 정보를 이용하여, 복귀 경로를 산출한다. 경로 연산부(24)는 엔드 이펙터(11)를 현재 위치로부터 제1 복귀 목표점 ~ 제(n+1) 복귀 목표점을 순차적으로 경유하여 기록 원점으로 되돌리기 위한 정보를 연산한다.
예를 들어, 경로 연산부(24)는 엔드 팩터(11)를 제k 복귀 목표점으로부터 제(k+1) 복귀 목표점으로 이동시키기 위한 정보를 연산한다. 이 경우, 경로 연산부(24)는 제(k+1) 복귀 목표점의 위치를 엔드 이펙터(11)의 목표 위치로 한다. 본 실시예에서는, (k+1) 복귀 목표점의 위치는 3차원 위치 및 자세를 포함한다.
나아가, 경로 연산부(24)는, 제k 복귀 목표점에 대응하는 제(j+1) 동작 목표점의 정보에 포함되는 구간 동작 경로의 역방향의 경로를, 제(k+1) 복귀 목표점에 이르는 엔드 이펙터(11)의 목표의 동작 경로로 한다. 예를 들어, 상기 구간 동작 경로는 제j 동작 목표점으로부터 제(j+1) 동작 목표점에 이르는 구간 동작 경로이다. 경로 연산부(24)는 제(j+1) 동작 목표점의 보간 모드를 역방향으로 나아가는 보간 모드를, 제k 복귀 목표점으로부터 제(k+1) 복귀 목표점에 이르는 보간 모드로 결정한다.
나아가, 경로 연산부(24)는 제k 복귀 목표점에 대응하는 동작 목표점의 정보에 포함되는 엔드 이펙터(11)의 상태를 제(k+1) 복귀 목표점에서의 엔드 이펙터(11)의 목표의 상태로 설정한다. 경로 연산부(24)는 제k 복귀 목표점에 대응하는 동작 목표점의 툴 값을 제(k+1) 복귀 목표점에서의 엔드 이펙터(11)의 목표의 툴 값으로 결정한다.
나아가, 경로 연산부(24)는 제(k+1) 복귀 목표점에 대응하는 동작 목표점의 정보에 포함되는 로봇(10)의 위치를 로봇(10)의 목표의 위치로 한다. 경로 연산부(24)는 제(k+1) 복귀 목표점에 대응하는 동작 목표점의 베이스 값을 제(k+1) 복귀 목표점에서의 로봇(10)의 목표의 베이스 값으로 결정한다.
경로 연산부(24)는, 제(k+1) 복귀 목표점이 기록 원점에 도달할 때까지, 엔드 이펙터(11)를 제k 복귀 목표점으로부터 제(k+1) 복귀 목표점으로 이동시키기 위한 정보의 연산 처리를 반복한다.
여기서, 경로 연산부(24)는, 엔드 이펙터(11)를 현재 위치로부터 제1 복귀 목표점으로 이동시키기 위한 정보도 상기와 마찬가지로 연산한다. 이 경우, 경로 연산부(24)는 제1 복귀 목표점의 위치를 엔드 이펙터(11)의 목표의 위치로 한다. 경로 연산부(24)는, 복귀 지령 수취 시점에서의 엔드 이펙터(11)의 이동처 동작 목표점의 정보에 포함되는 구간 동작 경로의 역방향의 경로를, 제1 복귀 목표점에 이르는 엔드 이펙터(11)의 목표의 동작 경로로 한다. 즉, 경로 연산부(24)는, 이동처 동작 목표점의 보간 모드를 역방향으로 나아가는 보간 모드를, 현재 위치로부터 제1 복귀 목표점에 이르는 보간 모드로 결정한다.
나아가, 경로 연산부(24)는 복귀 지령 수취 시점에서의 이동처 동작 목표점의 정보에 포함되는 엔드 이펙터(11)의 상태를 제1 복귀 목표점에서의 엔드 이펙터(11)의 목표의 상태로 한다. 즉, 경로 연산부(24)는 이동처 동작 목표점의 툴 값을 제1 복귀 목표점에서의 목표의 툴 값으로 결정한다. 나아가, 경로 연산부(24)는, 제1 복귀 목표점에 대응하는 동작 목표점의 정보에 포함되는 로봇(10)의 위치를 로봇(10)의 목표의 위치로 하고, 즉, 제1 복귀 목표점에 대응하는 동작 목표점의 베이스 값을 제1 복귀 목표점에서의 로봇(10)의 목표의 베이스 값으로 결정한다.
이와 같이, 경로 연산부(24)는 엔드 이펙터(11)를 현재 위치로부터 제1 복귀 목표점 ~ 제(n+1) 복귀 목표점을 순차 경유하여 기록 원점으로 되돌리기 위한 정보인 복귀 경로의 정보를 연산한다.
[로봇 시스템의 동작]
실시예에 따른 로봇 시스템(1)의 동작을 도 8을 예시하면서 설명한다. 도 9a ~ 도 9c는 실시예에 따른 로봇 시스템(1)의 동작의 일례를 도시하는 플로우 차트이다. 도 9a ~ 도 9c에 도시된 바와 같이, 먼저, 스텝(S101)에서, 제어 장치(20)의 시스템 소프트웨어(26)는, 유저에 의한 입력 장치(40)에의 입력을 통해서, 교시 완료된 소정의 작업을 실행하는 지령인 작업 실행 지령을 수취한다.
다음으로, 스텝(S102)에서, 시스템 소프트웨어(26)는 기억부(20e)에 기억된 교시 정보(20eb)를 탐색하여 당해 소정의 작업의 교시 정보를 판독하고, 로봇(10)에, 당해 교시 정보에 따른 작업, 즉 교시 작업을 실행시킨다. 로봇(10)은 엔드 이펙터(11)를 동작 목표점으로 순차적으로 이동시키면서 작업을 수행한다.
스텝(S103)에서, 시스템 소프트웨어(26)는 유저에 의한 입력 장치(40)에의 입력을 통해 기록 지령을 수취한다. 기록 지령은, 엔드 이펙터(11)가 동작 목표점으로 이동할 때마다, 이동처의 동작 목표점을 기록하는 것을 지령한다. 그 후, 스텝(S104)에서, 시스템 소프트웨어(26)는 기록의 개시 지점인 기록 원점을 결정한다. 나아가, 스텝(S105)에서, 시스템 소프트웨어(26)는 기록 원점 이후의 이동처의 동작 목표점의 정보를 기억부(20e)에 기록한다.
스텝(S106)에서, 시스템 소프트웨어(26)는 유저에 의한 입력 장치(40)에의 입력을 통해 원점 복귀 지령을 수취한다. 예를 들어, 장애물 등과 접촉함으로써 로봇(10)이 정지하거나, 또는, 로봇(10)의 위치가 크게 변화하는 등의 로봇(10)의 동작에 이상이 생기는 경우 등에, 유저가 원점 복귀 지령을 입력 장치(40)에 입력한다.
다음으로, 스텝(S107)에서, 시스템 소프트웨어(26)는 원점 복귀 애플리케이션(25)을 기동한다. 이 때, 시스템 소프트웨어(26)는, 동작 중이면, 로봇(10)을 정지시켜도 좋다. 나아가, 스텝(S108)에서, 원점 복귀 어플리케이션(25)은 엔드 이펙터(11)의 현재 위치를 취득한다. 도 8의 예에서, 엔드 이펙터(11)는 제7 동작 목표점(OTP7)과 제8 동작 목표점(OTP8) 사이에 위치한다.
나아가, 스텝(S109)에서, 원점 복귀 어플리케이션(25)은 기억부(20e)의 기록 목표점 정보(20ec)를 탐색하고, 기록 원점의 정보와, 기록 원점 출발 시점으로부터 복귀 지령 수취 시점까지에 기록된 동작 목표점의 정보를 취득한다. 도 8의 예에서, 원점 복귀 어플리케이션(25)은 제1 동작 목표점(OTP1) ~ 제8 동작 목표점(OTP8)의 정보를 취득한다.
다음으로, 스텝(S110)에서, 원점 복귀 어플리케이션(25)은, 취득된 동작 목표점 각각과 엔드 이펙터(11)의 현재 위치의 제1 목표점 거리를 검출하고, 제1 목표점 거리가 제1 임계값 이하인 동작 목표점이 존재하는지의 여부를 판정한다. 원점 복귀 어플리케이션(25)은, 존재하는 경우(스텝(S110)에서 Yes)에 스텝(S111)으로 진행하고, 존재하지 않는 경우(스텝(S110)에서 No)에 스텝(S115)으로 진행한다.
스텝(S111)에서, 원점 복귀 어플리케이션(25)은 엔드 이펙터(11)의 현재 위치가 동작 목표점이라고 판정하고, 복귀 경로의 검출 실행을 결정한다.
다음으로, 스텝(S112)에서, 원점 복귀 어플리케이션(25)은 엔드 이펙터(11)의 현재 위치의 동작 목표점인 현재 위치 동작 목표점에 설정되어 있는 복귀 목표점이 직전에 도달 완료한 동작 목표점인지 여부를 판정한다. 원점 복귀 어플리케이션(25)은, 직전에 도달 완료한 동작 목표점인 경우(스텝(S112)에서 Yes)에 스텝(S113)으로 진행하고, 직전에 도달 완료한 동작 목표점이 아닌 경우(스텝(S112)에서 No)에 스텝(S114)으로 진행한다.
스텝(S113)에서, 원점 복귀 어플리케이션(25)은 현재 위치 동작 목표점 직전에 도달 완료한 동작 목표점의 정보를 검출하고, 당해 목표점을 엔드 이펙터(11)의 제1 복귀 목표점으로 결정하고, 스텝(S121)으로 진행한다.
스텝(S114)에서, 원점 복귀 어플리케이션(25)은 현재 위치 동작 목표점보다 전에 도달 완료한 동작 목표점의 정보 중에서, 현재 위치 동작 목표점에 가장 가까운 거리의 동작 목표점의 정보를 검출하여 제1 복귀 목표점으로 결정한다. 여기서, 복수의 동작 목표점이 검출되는 경우, 원점 복귀 어플리케이션(25)은 복수의 동작 목표점 중에서 엔드 이펙터(11)가 가장 빨리 도달한 동작 목표점을 제1 복귀 목표점으로 결정한다. 즉, 원점 복귀 어플리케이션(25)은 복수의 동작 목표점 중에서 가장 작은 도달 순서 번호의 동작 목표점을 제1 복귀 목표점으로 결정하고, 스텝(S121)으로 진행한다.
또한, 스텝(S115)에서, 원점 복귀 어플리케이션(25)은 엔드 이펙터(11)의 현재 위치와 엔드 이펙터(11)의 동작 경로 사이의 이격 거리가 제2 임계값 이내인지의 여부를 판정한다. 원점 복귀 어플리케이션(25)은, 현재 위치와 이동처 동작 목표점에 이르는 구간 동작 경로의 이격 거리를 판정한다. 도 8의 예에서는, 엔드 이펙터(11)의 현재 위치와, 제7 동작 목표점(OTP7)과 제8 동작 목표점(OTP8) 사이의 구간 동작 경로의 이격 거리가 판정된다.
제2 임계값 이내인 경우(스텝(S115)에서 Yes), 원점 복귀 어플리케이션(2520)은 복귀 경로의 검출 실행을 결정하고, 스텝(S118)으로 진행한다(스텝(S116)). 제2 임계값을 초과하는 경우(스텝(S115)에서 No), 원점 복귀 어플리케이션(25)은 복귀 경로의 검출의 중지를 결정하고, 엔드 이펙터(11) 주위의 점검을 촉구하는 통지 등을 제시 장치(50)를 통해 유저에게 제시한다(스텝(S117)). 도 8의 예에서는, 이격 거리는 제2 임계값 이내이다.
다음으로, 스텝(S118)에서, 원점 복귀 어플리케이션(25)은 현재 위치의 이동처 동작 목표점에 설정된 복귀 목표점이 직전에 도달 완료한 동작 목표점인지의 여부를 판정한다. 원점 복귀 어플리케이션(25)은 직전에 도달 완료한 동작 목표점인 경우(스텝(S118)에서 Yes)에 스텝(S119)으로 진행하고, 직전에 도달 완료한 동작 목표점이 아닌 경우(스텝(S118)에서 No)에 스텝(S120)으로 진행한다.
스텝(S119)에서, 원점 복귀 어플리케이션(25)은 현재 위치 직전에 도달 완료한 동작 목표점의 정보를 검출하고, 당해 동작 목표점을 제1 복귀 목표점으로 결정하고, 스텝(S121)으로 진행한다.
스텝(S120)에서, 원점 복귀 어플리케이션(25)은 현재 위치보다 전에 엔드 이펙터(11)가 도달 완료한 동작 목표점의 정보 중에서, 현재 위치에 가장 가까운 거리의 동작 목표점의 정보를 검출하여 제1 복귀 목표점으로 결정한다. 여기서, 복수의 동작 목표점이 검출된 경우, 원점 복귀 어플리케이션(25)은, 복수의 동작 목표점 중에서, 엔드 이펙터(11)가 가장 빨리 도달한 동작 목표점을 제1 복귀 목표점으로 결정하고, 스텝(S121)으로 진행한다. 도 8의 예에서, 원점 복귀 애플리케이션(25)은 현재 위치에 가장 가까운 거리의 제7 동작 목표점(OTP7)을 제1 복귀 목표점으로 결정한다.
다음으로, 스텝(S121)에서, 원점 복귀 어플리케이션(25)은 제k 복귀 목표점(k는 1 이상의 자연수)에 대응하는 동작 목표점으로 설정된 복귀 목표점이 직전에 도달 완료한 동작 목표점에서 있는지 여부를 판정한다. 원점 복귀 어플리케이션(25)은 직전에 도달 완료한 동작 목표점인 경우(스텝(S121)에서 Yes)에 스텝(S122)으로 진행하고, 직전에 도달 완료한 동작 목표점이 아닌 경우(스텝(S121)에서 No)에 스텝(S123)으로 진행한다.
스텝(S122)에서, 원점 복귀 어플리케이션(25)은 제k 복귀 목표점 직전에 도달 완료한 동작 목표점의 정보를 검출하고, 당해 목표점을 제(k+1) 복귀 목표점으로 결정하고, 스텝(S124)으로 진행한다.
스텝(S123)에서, 원점 복귀 어플리케이션(25)은 제k 복귀 목표점보다 전에 도달한 동작 목표점의 정보 중에서, 제k 복귀 목표점에 가장 가까운 거리의 동작 목표점의 정보를 검출하여 제(k+1) 복귀 목표점으로 결정한다. 여기서, 복수의 동작 목표점이 검출되는 경우, 원점 복귀 어플리케이션(25)은 복수의 동작 목표점 중에서 엔드 이펙터(11)가 가장 빨리 도달한 동작 목표점을 제(k+1) 복귀 목표점으로 결정하고, 스텝(S124)으로 진행한다. 도 8의 예에서, 원점 복귀 어플리케이션(25)은, 예를 들어, 제1 복귀 목표점인 제7 동작 목표점(OTP7)에 가장 가까운 거리의 제4 동작 목표점(OTP4) 및 제6 동작 목표점(OTP6) 중, 제4 동작 목표점(OTP4)를 제2 복귀 목표점으로 결정한다.
스텝(S124)에서, 원점 복귀 어플리케이션(25)은 제(k+1) 복귀 목표점이 기록 원점에 도달했는지의 여부를 판정한다. 기록 원점에 도달하면, 제(k+1) 복귀 목표점이 기록 원점과 일치하는 경우, 제(k+1) 복귀 목표점과 제k 복귀 목표점 사이의 구간 복귀 경로가 기록 원점을 통과하는 경우, 및 제(k+1) 복귀 목표점이 기록 원점 보다 전에 엔드 이펙터(11)가 통과한 동작 목표점과 일치하는 경우 등을 포함한다. 원점 복귀 어플리케이션(25)은 기록 원점에 도달한 경우(스텝(S124)에서 Yes)에 스텝(S125)으로 진행하고, 기록 원점에 도달하지 않은 경우(스텝(S124)에서 No)에 다음의 복귀 목표점을 검출하기 위해 스텝(S121)으로 되돌아 간다.
스텝(S125)에서, 원점 복귀 어플리케이션(25)은 모든 복귀 목표점을 경유하여 엔드 이펙터(11)를 현재 위치로부터 기록 원점으로 되돌리기 위한 정보인 복귀 경로의 정보를 연산한다.
다음으로, 스텝(S126)에서, 시스템 소프트웨어(26)는 복귀 경로의 정보에 따라 로봇(10)을 제어함으로써, 로봇(10)을 원점 복귀시킨다.
상술한 바와 같이, 제어 장치(20)는 원점 복귀 어플리케이션(25)에 의해 스텝(S121 ~ S124)의 처리를 반복하면서 스텝(S101 ~ S126)의 처리를 실행함으로써, 로봇(10)에 자동으로 원점 복귀시킨다.
여기서, 원점 복귀 어플리케이션(25)은, 스텝(S110)의 처리를 포함하지 않고, 엔드 이펙터(11)의 현재 위치가 동작 목표점인지의 여부의 판정을 실행하지 않도록 구성되어도 좋다. 이 경우, 원점 복귀 애플리케이션(25)은 제1 목표점 거리의 검출 및 판정을 실행하지 않고, 스텝(S109)의 다음의 스텝(S115)의 처리를 실행하도록 구성되어도 좋다.
(그 외의 실시예)
이상으로, 본 개시의 실시예의 예에 대해 설명하였지만, 본 개시는 상기 실시예에 한정되지 않는다. 즉, 본 개시의 범위 내에서 다양한 변형 및 개량이 가능하다. 예를 들어, 각종 변형예를 실시예에 실시하는 것, 및 다른 실시예에서 구성 요소를 조합하여 구성된 형태도, 본 개시의 범위 내에 포함된다.
예를 들어, 실시예에 따른 제어 장치(20)는 모든 복귀 목표점 및 모든 구간 복귀 경로를 검출하여 복귀 경로 전체를 결정한 후에, 로봇(10)을 동작시켜 엔드 이펙터(11)를 원점 복귀시키지만, 이에 한정되지 않는다. 예를 들어, 제어 장치(20)는, 복귀 목표점을 검출할 때마다, 당해 복귀 목표점에 이르는 구간 복귀 경로를 따라 엔드 이펙터(11)를 이동시키도록 로봇(10)을 제어하여도 좋다.
또한, 본 개시의 기술은, 제어 방법이라도 좋다. 예를 들어, 본 개시의 일 실시예에 따른 제어 방법은, 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 동작을 수행하는 로봇의 제어 방법으로서, 상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록하고, 상기 동작 경로의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하고, 상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점, 또는 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점인 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하고, 제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 또는 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점인 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하고, 여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며, 상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하고, 상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 그 순서로 통과하여 상기 원점으로 복귀하는 상기 복귀 경로를 결정하고, 상기 복귀 경로를 따라 상기 엔드 이펙터를 이동시킨다. 이러한 제어 방법은, CPU, LSI 등의 회로, IC 카드 또는 단일의 모듈 등에 의해 실현되어도 좋다.
또한, 본 개시의 기술은 프로그램이라도 좋고, 상기 프로그램이 기록되어 있는 비일시적인 컴퓨터 판독 가능한 기록 매체이라도 좋다. 기록 매체는, 프로그램을 기록할 수 있는 구성을 가지면 특별히 한정되지 않지만, 예를 들어, CD-ROM(Read only memory), DVD-ROM, BD-ROM, 플렉시블 디스크, 광자기 디스크 등의 정보를 광학적, 전기적 또는 자기적으로 기록하는 매체라도 좋고, ROM, 플래시 메모리, 메모리 카드 등의 정보를 전기적으로 기록하는 반도체 메모리, 하드 디스크 등의 매체라도 좋다.
예를 들어, 본 개시의 일 실시예에 따른 프로그램은, 컴퓨터로 실행시키는 프로그램으로서, 로봇이 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 과정에서 상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록하고, 상기 동작 목표점의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하고, 상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점, 또는 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점인 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되될리기 위한 복귀 경로 상의 점의 정보로서 검출되고, 제k 복귀 목표 포인트보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 또는 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점인 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하고, 여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며, 상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하고, 상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 그 순서로 통과하여 상기 원점으로 되돌아가는 복귀 경로를 결정하는 것은 컴퓨터로 실행시킨다. 예를 들어, 본 개시의 일 실시예에 따른 기록 매체에는, 상기 프로그램이 기록되어 있다. 또한, 상기 프로그램은 인터넷 등의 전송 매체를 통해 유통시킬 수 있는 것은 말할 것도 없다.
또한, 상기에서 사용한 서수, 수량 등의 숫자는, 모두 본 개시의 기술을 구체적으로 설명하기 위해 예시하는 것이며, 본 개시는 예시된 숫자에 제한되지 않는다. 또한, 구성 요소 간의 접속 관계는, 본 개시의 기술을 구체적으로 설명하기 위해 예시한 것이며, 본 개시의 기능을 실현하는 접속 관계는 이에 한정되지 않는다.
또한, 기능 블록도에서 블록의 분할은 일례이고, 복수의 블록을 1개의 블록으로서 실현, 1개의 블록을 복수로 분할 및/또는 일부의 기능을 다른 블록으로 옮겨도 좋다. 또한, 유사한 기능을 가진 복수의 블록의 기능을 단일의 하드웨어 또는 소프트웨어가 병렬 또는 시분할로 처리하여도 좋다.
1: 로봇 시스템
10: 로봇
11: 엔드 이펙터
12: 로봇 암
20: 제어 장치

Claims (29)

  1. 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 동작을 수행하는 로봇의 제어 방법으로서,
    상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록하는 것과,
    상기 동작 경로의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하는 것과,
    상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제1 복귀 목표점으로서 선택하고, 상기 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하는 것과,
    제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제(k+1) 복귀 목표점으로서 선택하고, 상기 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하는 것과,
    여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며,
    상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하는 것과,
    상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 이 순서로 통과하여 상기 원점으로 되돌아가는 상기 복귀 경로를 결정하는 것과,
    상기 복귀 경로를 따라 상기 엔드 이펙터를 이동시키는 것을 포함하고,
    상기 동작 목표점의 정보는, 상기 동작 목표점의 위치, 직전의 상기 동작 목표점으로부터 상기 동작 목표점까지의 경로인 구간 동작 경로, 상기 엔드 이펙터의 상태, 및 상기 로봇의 위치 정보를 포함하고,
    상기 동작 목표점의 위치는, 상기 동작 목표점의 3차원 위치와, 상기 동작 목표점에서의 기준축의 자세를 포함하고,
    상기 현재 위치 또는 상기 복귀 목표점과 상기 동작 목표점의 거리는, 상기 현재 위치 또는 상기 복귀 목표점의 3차원 위치와 상기 동작 목표점의 3차원 위치와의 사이의 거리와, 상기 현재 위치 또는 상기 복귀 목표점에서의 기준축의 자세와 상기 동작 목표점에서의 기준축의 자세와의 사이의 거리를 포함하는, 제어 방법.
  2. 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 동작을 수행하는 로봇의 제어 방법으로서,
    상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록하는 것과,
    상기 동작 경로의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하는 것과,
    상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제1 복귀 목표점으로서 선택하고, 상기 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하는 것과,
    제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제(k+1) 복귀 목표점으로서 선택하고, 상기 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하는 것과,
    여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며,
    상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하는 것과,
    상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 이 순서로 통과하여 상기 원점으로 되돌아가는 상기 복귀 경로를 결정하는 것과,
    상기 복귀 경로를 따라 상기 엔드 이펙터를 이동시키는 것을 포함하고,
    상기 동작 목표점의 정보는, 상기 동작 목표점의 위치, 직전의 상기 동작 목표점으로부터 상기 동작 목표점까지의 경로인 구간 동작 경로, 상기 엔드 이펙터의 상태, 및 상기 로봇의 위치 정보를 포함하고,
    상기 엔드 이펙터의 상태는, 상기 로봇에 있어서 상기 엔드 이펙터가 접속되는 부분에 대한 상기 엔드 이펙터의 특정 부분의 위치 및 자세를 포함하고,
    상기 제어 방법은,
    상기 엔드 이펙터를 상기 제k 복귀 목표점으로부터 상기 제(k+1) 복귀 목표점으로 이동시키는 경우,
    상기 제(k+1) 복귀 목표점의 위치를 상기 엔드 이펙터의 목표의 위치로 하는 것과,
    상기 제k 복귀 목표점의 정보에 포함되는 상기 구간 동작 경로의 역방향의 경로를 상기 엔드 이펙터의 목표의 동작 경로로 하는 것과,
    상기 제k 복귀 목표점의 정보에 포함되는 상기 엔드 이펙터의 상기 특정 부분의 위치 및 자세를 상기 엔드 이펙터의 목표의 상태로 하는 것과,
    상기 제(k+1) 복귀 목표점의 정보에 포함되는 상기 로봇의 위치를 상기 로봇의 목표의 위치로 하는 것을 더 포함하는, 제어 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 엔드 이펙터를 상기 현재 위치로부터 상기 제1 복귀 목표점으로 이동시키는 경우,
    상기 제1 복귀 목표점의 위치를 상기 엔드 이펙터의 목표의 위치로 하고,
    상기 현재 위치에서의 이동처의 상기 동작 목표점인 이동처 동작 목표점의 정보에 포함되는 상기 구간 동작 경로의 역방향의 경로를 상기 엔드 이펙터의 목표의 동작 경로로 하고,
    상기 이동처 동작 목표점의 정보에 포함되는 상기 엔드 이펙터의 상태를 상기 엔드 이펙터의 목표의 상태로 하고,
    상기 제1 복귀 목표점의 정보에 포함되는 상기 로봇의 위치를 상기 로봇의 목표의 위치로 하는, 제어 방법.
  4. 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 동작을 수행하는 로봇의 제어 방법으로서,
    상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록하는 것과,
    상기 동작 경로의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하는 것과,
    상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제1 복귀 목표점으로서 선택하고, 상기 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하는 것과,
    제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제(k+1) 복귀 목표점으로서 선택하고, 상기 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하는 것과,
    여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며,
    상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하는 것과,
    상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 이 순서로 통과하여 상기 원점으로 되돌아가는 상기 복귀 경로를 결정하는 것과,
    상기 복귀 경로를 따라 상기 엔드 이펙터를 이동시키는 것을 포함하고,
    상기 제어 방법은,
    기록된 상기 동작 목표점과 상기 현재 위치와의 거리인 목표점 거리를 검출하는 것과,
    상기 목표점 거리가 제1 임계값 이내인 경우, 상기 현재 위치는, 상기 목표점 거리가 상기 제1 임계값 이내인 상기 동작 목표점에 위치한다고 보는 것을 더 포함하는, 제어 방법.
  5. 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 동작을 수행하는 로봇의 제어 방법으로서,
    상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록하는 것과,
    상기 동작 경로의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하는 것과,
    상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제1 복귀 목표점으로서 선택하고, 상기 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하는 것과,
    제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제(k+1) 복귀 목표점으로서 선택하고, 상기 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하는 것과,
    여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며,
    상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하는 것과,
    상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 이 순서로 통과하여 상기 원점으로 되돌아가는 상기 복귀 경로를 결정하는 것과,
    상기 복귀 경로를 따라 상기 엔드 이펙터를 이동시키는 것을 포함하고,
    상기 제어 방법은,
    상기 현재 위치와 상기 동작 경로의 거리인 이격 거리를 검출하는 것과,
    상기 이격 거리가 제2 임계값 이내인 경우, 상기 복귀 목표점의 검출을 실행하는 것과,
    상기 이격 거리가 상기 제2 임계값 초과인 경우, 상기 복귀 목표점의 검출을 중지하는 것을 더 포함하는, 제어 방법.
  6. 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 동작을 수행하는 로봇의 제어 방법으로서,
    상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록하는 것과,
    상기 동작 경로의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하는 것과,
    상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제1 복귀 목표점으로서 선택하고, 상기 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하는 것과,
    제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제(k+1) 복귀 목표점으로서 선택하고, 상기 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하는 것과,
    여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며,
    상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하는 것과,
    상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 이 순서로 통과하여 상기 원점으로 되돌아가는 상기 복귀 경로를 결정하는 것과,
    상기 복귀 경로를 따라 상기 엔드 이펙터를 이동시키는 것을 포함하고,
    상기 제어 방법은,
    2개의 상기 동작 목표점 사이의 거리가 제3 임계값 이하인 경우, 상기 2개의 동작 목표점의 위치가 동일하다고 보는 것을 더 포함하는, 제어 방법.
  7. 제1항, 제2항, 제4항 내지 제6항 중 어느 한 항에 있어서,
    상기 복귀 목표점의 후보로서 복수의 상기 동작 목표점을 검출한 경우, 가장 먼저 도달 완료한 상기 동작 목표점을 상기 복귀 목표점으로 결정하는, 제어 방법.
  8. 제1항, 제2항, 제4항 내지 제6항 중 어느 한 항에 있어서,
    상기 현재 위치 또는 상기 복귀 목표점과 상기 동작 목표점의 거리는, 상기 동작 경로를 따르는 거리인, 제어 방법.
  9. 제1항, 제2항, 제4항 내지 제6항 중 어느 한 항에 있어서,
    상기 동작 목표점은, 상기 로봇에 대한 동작의 교시 과정에 있어서 상기 로봇에 교시된 동작의 목표점인, 제어 방법.
  10. 제1항, 제2항, 제4항 내지 제6항 중 어느 한 항에 기재된 제어 방법을 실행하는, 제어 장치.
  11. 제10항에 기재된 제어 장치와,
    상기 로봇을 구비하고,
    상기 제어 장치가 상기 로봇의 동작을 제어하는, 로봇 시스템.
  12. 컴퓨터에 실행시키기 위한 프로그램으로서,
    로봇이 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 과정에서 상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록시키는 것과,
    상기 동작 목표점의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하는 것과,
    상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제1 복귀 목표점으로서 선택하고, 상기 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하는 것과,
    제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제(k+1) 복귀 목표점으로서 선택하고, 상기 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하는 것과,
    여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며,
    상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하는 것과,
    상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 이 순서로 통과하여 상기 원점으로 복귀하는 상기 복귀 경로를 결정하는 것을 포함하고,
    상기 동작 목표점의 정보는, 상기 동작 목표점의 위치, 직전의 상기 동작 목표점으로부터 상기 동작 목표점까지의 경로인 구간 동작 경로, 상기 엔드 이펙터의 상태, 및 상기 로봇의 위치 정보를 포함하고,
    상기 동작 목표점의 위치는, 상기 동작 목표점의 3차원 위치와, 상기 동작 목표점에서의 기준축의 자세를 포함하고,
    상기 현재 위치 또는 상기 복귀 목표점과 상기 동작 목표점과의 거리는, 상기 현재 위치 또는 상기 복귀 목표점의 3차원 위치와 상기 동작 목표점의 3차원 위치와의 사이의 거리와, 상기 현재 위치 또는 상기 복귀 목표점에서의 기준축의 자세와 상기 동작 목표점에서의 기준축의 자세와의 사이의 거리를 포함하는, 프로그램.
  13. 컴퓨터에 실행시키기 위한 프로그램으로서,
    로봇이 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 과정에서 상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록시키는 것과,
    상기 동작 목표점의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하는 것과,
    상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제1 복귀 목표점으로서 선택하고, 상기 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하는 것과,
    제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제(k+1) 복귀 목표점으로서 선택하고, 상기 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하는 것과,
    여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며,
    상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하는 것과,
    상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 이 순서로 통과하여 상기 원점으로 복귀하는 상기 복귀 경로를 결정하는 것을 포함하고,
    상기 동작 목표점의 정보는, 상기 동작 목표점의 위치, 직전의 상기 동작 목표점으로부터 상기 동작 목표점까지의 경로인 구간 동작 경로, 상기 엔드 이펙터의 상태, 및 상기 로봇의 위치 정보를 포함하고,
    상기 엔드 이펙터의 상태는 상기 로봇에 있어서 상기 엔드 이펙터가 접속되는 부분에 대한 상기 엔드 이펙터의 특정 부분의 위치 및 자세를 포함하고,
    상기 프로그램은,
    상기 복귀 경로에 있어서의 상기 제k 복귀 목표점으로부터 상기 제(k+1) 복귀 목표점으로의 구간 복귀 경로에서는,
    상기 제(k+1) 복귀 목표점의 위치를 상기 엔드 이펙터의 목표의 위치로 하는 것과,
    상기 제k 복귀 목표점의 정보에 포함되는 상기 구간 동작 경로의 역방향의 경로를 상기 엔드 이펙터의 목표의 동작 경로로 하는 것과,
    상기 제k 복귀 목표점의 정보에 포함되는 상기 엔드 이펙터의 상기 특정 부분의 위치 및 자세를 상기 엔드 이펙터의 목표의 상태로 하는 것과,
    상기 제(k+1) 복귀 목표점의 정보에 포함되는 상기 로봇의 위치를 상기 로봇의 목표의 위치로 하는 것을 더 포함하는, 프로그램.
  14. 제12항 또는 제13항에 있어서,
    상기 복귀 경로에 있어서의 상기 현재 위치로부터 상기 제1 복귀 목표점으로의 구간 복귀 경로에서는,
    상기 제1 복귀 목표점의 위치를 상기 엔드 이펙터의 목표의 위치로 하고,
    상기 현재 위치에서의 이동처의 상기 동작 목표점인 이동처 동작 목표점의 정보에 포함되는 상기 구간 동작 경로의 역방향의 경로를 상기 엔드 이펙터의 목표의 동작 경로로 하고,
    상기 이동처 동작 목표점의 정보에 포함되는 상기 엔드 이펙터의 상태를 상기 엔드 이펙터의 목표의 상태로 하고,
    상기 제1 복귀 목표점의 정보에 포함되는 상기 로봇의 위치를 상기 로봇의 목표의 위치로 하는, 프로그램.
  15. 컴퓨터에 실행시키기 위한 프로그램으로서,
    로봇이 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 과정에서 상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록시키는 것과,
    상기 동작 목표점의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하는 것과,
    상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제1 복귀 목표점으로서 선택하고, 상기 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하는 것과,
    제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제(k+1) 복귀 목표점으로서 선택하고, 상기 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하는 것과,
    여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며,
    상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하는 것과,
    상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 이 순서로 통과하여 상기 원점으로 복귀하는 상기 복귀 경로를 결정하는 것을 포함하고,
    상기 프로그램은,
    기록된 상기 동작 목표점과 상기 현재 위치와의 거리인 목표점 거리를 검출하는 것과,
    상기 목표점 거리가 제1 임계값 이내인 경우, 상기 현재 위치는, 상기 목표점 거리가 상기 제1 임계값 이내인 상기 동작 목표점에 위치한다고 보는 것을 더 포함하는, 프로그램.
  16. 컴퓨터에 실행시키기 위한 프로그램으로서,
    로봇이 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 과정에서 상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록시키는 것과,
    상기 동작 목표점의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하는 것과,
    상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제1 복귀 목표점으로서 선택하고, 상기 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하는 것과,
    제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제(k+1) 복귀 목표점으로서 선택하고, 상기 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하는 것과,
    여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며,
    상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하는 것과,
    상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 이 순서로 통과하여 상기 원점으로 복귀하는 상기 복귀 경로를 결정하는 것을 포함하고,
    상기 프로그램은,
    상기 현재 위치와 상기 동작 경로의 거리인 이격 거리를 검출하는 것과,
    상기 이격 거리가 제2 임계값 이내인 경우, 상기 복귀 목표점의 검출을 실행하는 것과,
    상기 이격 거리가 상기 제2 임계값 초과인 경우, 상기 복귀 목표점의 검출을 중지하는 것을 더 포함하는, 프로그램.
  17. 컴퓨터에 실행시키기 위한 프로그램으로서,
    로봇이 엔드 이펙터를 동작 경로 상의 복수의 동작 목표점으로 순차적으로 이동시키는 과정에서 상기 엔드 이펙터가 상기 동작 목표점으로 이동할 때마다, 이동처의 상기 동작 목표점의 정보를 기록시키는 것과,
    상기 동작 목표점의 원점으로 상기 엔드 이펙터를 되돌리는 원점 복귀 지령을 접수하면, 상기 엔드 이펙터의 현재 위치를 취득하는 것과,
    상기 현재 위치보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 현재 위치의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 현재 위치에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제1 복귀 목표점으로서 선택하고, 상기 제1 복귀 목표점의 정보를, 상기 엔드 이펙터를 상기 원점으로 되돌리기 위한 복귀 경로 상의 점의 정보로서 검출하는 것과,
    제k 복귀 목표점보다 전에 상기 엔드 이펙터가 도달 완료한 상기 동작 목표점의 정보 중에서, 상기 제k 복귀 목표점의 직전에 도달 완료한 상기 동작 목표점, 및, 상기 제k 복귀 목표점에 가장 가까운 거리의 상기 동작 목표점 중 어느 하나를, 제(k+1) 복귀 목표점으로서 선택하고, 상기 제(k+1) 복귀 목표점의 정보를 상기 복귀 경로 상의 점의 정보로서 검출하는 것과,
    여기서, k는 1 ~ n의 자연수이고, n은 1 이상의 자연수이며,
    상기 제(k+1) 복귀 목표점의 정보의 검출을 반복함으로써, 제2 복귀 목표점 ~ 제(n+1) 복귀 목표점의 정보를 검출하는 것과,
    상기 제1 복귀 목표점 ~ 상기 제(n+1) 복귀 목표점을 이 순서로 통과하여 상기 원점으로 복귀하는 상기 복귀 경로를 결정하는 것을 포함하고,
    상기 프로그램은,
    2개의 상기 동작 목표점 사이의 거리가 제3 임계값 이하인 경우, 상기 2개의 동작 목표점의 위치가 동일하다고 보는 것을 더 포함하는, 프로그램.
  18. 제12항, 제13항, 제15항 내지 제17항 중 어느 한 항에 있어서,
    상기 프로그램은, 상기 로봇의 동작을 제어하는 제어 장치의 시스템 프로그램 상에서 동작하는 어플리케이션 프로그램인 것인, 프로그램.
  19. 제18항에 있어서,
    상기 어플리케이션 프로그램은, 인스톨되어 상기 시스템 프로그램에 탑재됨으로써 동작 가능하게 되는, 프로그램.
  20. 제12항, 제13항, 제15항 내지 제17항 중 어느 한 항에 있어서,
    상기 복귀 목표점의 후보로서 복수의 상기 동작 목표점을 검출한 경우, 가장 먼저 도달 완료한 상기 동작 목표점을 상기 복귀 목표점으로 결정하는, 프로그램.
  21. 제12항, 제13항, 제15항 내지 제17항 중 어느 한 항에 있어서,
    상기 현재 위치 또는 상기 복귀 목표점과 상기 동작 목표점의 거리는, 상기 동작 경로를 따르는 거리인, 프로그램.
  22. 제12항, 제13항, 제15항 내지 제17항 중 어느 한 항에 있어서,
    상기 동작 목표점은, 상기 로봇에 대한 동작의 교시 과정에 있어서 상기 로봇에 교시된 동작의 목표점인 것인, 프로그램.
  23. 제12항, 제13항, 제15항 내지 제17항 중 어느 한 항에 기재된 프로그램이 기록되어 있는, 기록 매체.
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
KR1020227014074A 2019-10-09 2020-10-07 제어 방법, 제어 장치, 로봇 시스템, 프로그램 및 기록 매체 Active KR102701952B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019186009A JP7393178B2 (ja) 2019-10-09 2019-10-09 制御方法、制御装置、ロボットシステム及びプログラム
JPJP-P-2019-186009 2019-10-09
PCT/JP2020/037981 WO2021070859A1 (ja) 2019-10-09 2020-10-07 制御方法、制御装置、ロボットシステム、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
KR20220100865A KR20220100865A (ko) 2022-07-18
KR102701952B1 true KR102701952B1 (ko) 2024-09-02

Family

ID=75379486

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227014074A Active KR102701952B1 (ko) 2019-10-09 2020-10-07 제어 방법, 제어 장치, 로봇 시스템, 프로그램 및 기록 매체

Country Status (7)

Country Link
US (1) US11992951B2 (ko)
JP (1) JP7393178B2 (ko)
KR (1) KR102701952B1 (ko)
CN (1) CN114845841B (ko)
DE (1) DE112020004852T5 (ko)
TW (1) TWI767350B (ko)
WO (1) WO2021070859A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7393178B2 (ja) 2019-10-09 2023-12-06 川崎重工業株式会社 制御方法、制御装置、ロボットシステム及びプログラム
US11967063B2 (en) * 2020-03-30 2024-04-23 Industrial Technology Research Institute Automatic bio-specimen inspection system and inspection method thereof
WO2025169655A1 (ja) * 2024-02-06 2025-08-14 株式会社Ihi 加工装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009090383A (ja) * 2007-10-04 2009-04-30 Nidec Sankyo Corp ロボットの原点復帰方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3201425B2 (ja) * 1992-03-02 2001-08-20 株式会社安川電機 産業用ロボットの制御装置
JPH0728520A (ja) * 1993-07-14 1995-01-31 Toyota Motor Corp ロボットの原点復帰制御方法
JP2000061870A (ja) * 1998-08-24 2000-02-29 Daihatsu Motor Co Ltd ロボットの原点復帰方法
US8829460B2 (en) * 2005-04-27 2014-09-09 Lawrence Livermore National Security, Llc Three-dimensional boron particle loaded thermal neutron detector
US7689320B2 (en) * 2005-12-20 2010-03-30 Intuitive Surgical Operations, Inc. Robotic surgical system with joint motion controller adapted to reduce instrument tip vibrations
JP5060619B2 (ja) * 2007-06-08 2012-10-31 本田技研工業株式会社 モーション計画方法、モーション計画システム及び記録媒体
JP5228783B2 (ja) * 2008-10-15 2013-07-03 株式会社デンソーウェーブ ロボットの原点復帰装置
CN102802884B (zh) * 2010-11-12 2015-04-08 松下电器产业株式会社 移动路径搜索装置及移动路径搜索方法
JP5468058B2 (ja) * 2011-12-21 2014-04-09 富士フイルム株式会社 画像形成装置及び画像形成方法
JP5998816B2 (ja) * 2012-10-04 2016-09-28 セイコーエプソン株式会社 経路探索方法、経路探索装置、ロボット制御装置、ロボット及びプログラム
JP6659238B2 (ja) * 2015-05-28 2020-03-04 ライフロボティクス株式会社 ロボット装置及びステッピングモータ制御装置
CN105096662B (zh) * 2015-07-24 2017-07-04 陶文英 一种合作驾驶航空器系统的设计方法及系统
JP2018144171A (ja) * 2017-03-06 2018-09-20 三菱電機株式会社 ロボット制御方法
CN107030695B (zh) * 2017-04-19 2019-07-09 广州视源电子科技股份有限公司 机器人返回原点运动控制方法和系统
JP6962784B2 (ja) * 2017-11-07 2021-11-05 日本電産サンキョー株式会社 水平多関節型ロボットの原点復帰方法
JP7393178B2 (ja) 2019-10-09 2023-12-06 川崎重工業株式会社 制御方法、制御装置、ロボットシステム及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009090383A (ja) * 2007-10-04 2009-04-30 Nidec Sankyo Corp ロボットの原点復帰方法

Also Published As

Publication number Publication date
US20220379472A1 (en) 2022-12-01
US11992951B2 (en) 2024-05-28
KR20220100865A (ko) 2022-07-18
DE112020004852T5 (de) 2022-08-11
CN114845841A (zh) 2022-08-02
JP2021058987A (ja) 2021-04-15
TWI767350B (zh) 2022-06-11
JP7393178B2 (ja) 2023-12-06
CN114845841B (zh) 2024-02-06
WO2021070859A1 (ja) 2021-04-15
TW202130475A (zh) 2021-08-16

Similar Documents

Publication Publication Date Title
US11241796B2 (en) Robot system and method for controlling robot system
US11446820B2 (en) Robot path generating device and robot system
KR102701952B1 (ko) 제어 방법, 제어 장치, 로봇 시스템, 프로그램 및 기록 매체
US8306661B2 (en) Method and system for establishing no-entry zone for robot
JP5754454B2 (ja) ロボットピッキングシステム及び被加工物の製造方法
US20190308322A1 (en) Robot Control Device, Robot, And Simulation Device
US12059814B2 (en) Object-based robot control
US20150231785A1 (en) Robot system for preventing accidental dropping of conveyed objects
JP2010152664A (ja) 画像を利用したセンサレスモータ駆動ロボット
US20220088795A1 (en) Manipulator controller, manipulator control method, and non-transitory computer-readable storage medium storing manipulator control program
EP3936286A1 (en) Robot control device, robot control method, and robot control program
WO2021039775A1 (ja) 画像処理装置、撮像装置、ロボット及びロボットシステム
US12190536B2 (en) Device and method for training a neural network for controlling a robot
CN114829076B (zh) 主从系统以及控制方法
JP6671226B2 (ja) ロボットアームシステム及びロボットアームの教示方法
US20250162159A1 (en) Aligning a robotic arm to an object
CN114599485B (zh) 主从系统以及控制方法
JP2012240144A (ja) ロボット制御装置およびロボットシステム
Burns et al. Exploring the Performance of the iRobot Create for Object Relocation in Outer Space.

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20220426

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20240612

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20240816

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20240829

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20240829

End annual number: 3

Start annual number: 1

PG1601 Publication of registration