KR20210006431A - 로봇 시스템 및 추가 학습 방법 - Google Patents

로봇 시스템 및 추가 학습 방법 Download PDF

Info

Publication number
KR20210006431A
KR20210006431A KR1020207035037A KR20207035037A KR20210006431A KR 20210006431 A KR20210006431 A KR 20210006431A KR 1020207035037 A KR1020207035037 A KR 1020207035037A KR 20207035037 A KR20207035037 A KR 20207035037A KR 20210006431 A KR20210006431 A KR 20210006431A
Authority
KR
South Korea
Prior art keywords
state
work
robot
unit
operator
Prior art date
Application number
KR1020207035037A
Other languages
English (en)
Other versions
KR102403073B1 (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 KR20210006431A publication Critical patent/KR20210006431A/ko
Application granted granted Critical
Publication of KR102403073B1 publication Critical patent/KR102403073B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36039Learning task dynamics, process
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36489Position and force
    • 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/40032Peg and hole insertion, mating and joining, remote center compliance
    • 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/40102Tasks are classified in types of unit motions
    • 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/40116Learn by operator observation, symbiosis, show, watch
    • 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/40153Teleassistance, operator assists, controls autonomous robot
    • 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/40223If insertion force to high, alarm, stop for operator assistance
    • 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/40391Human to robot skill transfer
    • 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/40496Hierarchical, learning, recognition level controls adaptation, servo level

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)

Abstract

로봇 시스템(1)은 로봇(10), 상태 검출 센서(11 내지 13), 계시부(46), 학습 제어부(42), 판정부(44), 조작 장치(21), 입력부(23) 및 추가 학습부(43)를 구비한다. 판정부(44)는 상태 검출 센서(11 내지 13)가 검출한 상태값에 기초하여, 학습 제어부(42)에 의한 제어로 로봇(10)의 작업을 계속 가능한지의 여부를 나타내는 판정 결과를 출력한다. 추가 학습부(43)는 로봇(10)의 작업의 계속을 할 수 없다는 것을 나타내는 판정 결과, 조작 장치(21) 및 입력부(23)가 출력한 작업자 조작력 및 작업 상태, 검출된 상태값 및 계시부(46)가 출력하는 타이머 신호에 기초하여 추가 학습한다.

Description

로봇 시스템 및 추가 학습 방법
본 발명은 주로, 기계 학습에 의해 구축된 모델에 기초하여 로봇에 작업을 행하게 하는 로봇 시스템에 관한 것이다.
특허문헌 1은, 로봇 아암을 제어해서 복수의 부품을 조립하는 조립 방법을 개시한다. 이 조립 방법에서는, 로봇 아암으로 유지한 2개의 부품의 좌표를 각각 취득하고, 2개의 부품의 좌표가 적절하다고 판정했을 경우에, 두 부품을 접속한다.
특허문헌 2는, 복수의 워크로부터 1개의 워크를 파지하여 이동시키는 로봇의 동작을 기계 학습 장치에 의해 학습하는 방법을 개시한다. 이 기계 학습 장치의 출력에 기초하여 로봇을 제어함으로써, 복수의 워크가 난잡하게 놓여 있는 상황이어도, 로봇은 목적으로 하는 워크를 취출한다.
일본 특허 공개 제2017-7064호 공보 일본 특허 공개 제2017-30135호 공보
특허문헌 1의 방법에서는, 예를 들어 로봇 아암이 걸리거나 해서 동작할 수 없게 되었을 때는, 로봇 아암은 작업을 계속할 수 없다. 또한, 특허문헌 2의 방법에서는, 미리 학습되어 있지 않은 상황이 되었을 때는, 로봇은 작업을 계속할 수 없다.
본 발명은 이상의 사정을 감안하여 이루어진 것이며, 그 주요한 목적은, 로봇이 작업을 계속할 수 없게 되었을 경우에 있어서, 다음에 동종의 상태가 되었을 경우에 작업을 계속 가능하게 하도록 추가 학습을 행하는 로봇 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 과제는 이상과 같으며, 다음에 과제의 해결 수단과 그 효과를 설명한다.
본 발명의 관점에 의하면, 이하의 구성의 로봇 시스템이 제공된다. 즉, 이 로봇 시스템은, 로봇과 상태 검출 센서와 계시부와 학습 제어부와 판정부와 조작 장치와 입력부와 전환 장치와 추가 학습부를 구비한다. 상기 로봇은, 동작 지령에 기초하여 작업을 행한다. 상기 상태 검출 센서는, 상기 로봇의 작업 진행을 나타내는 상태값을 검출하여 출력한다. 상기 계시부는, 소정의 시간 간격으로 타이머 신호를 출력한다. 상기 학습 제어부는, 작업 상태 및 당해 작업 상태에 대응지어지는 다음 작업 상태와, 적어도 1조의 상기 상태값 및 당해 상태값에 대응지어지는 조작력을 기계 학습함으로써 구축된 모델을 사용하여, 상기 상태 검출 센서에 의해 검출된 상기 상태값 및 상기 타이머 신호에 기초하여, 연산 조작력을 출력한다. 상기 판정부는, 상기 상태 검출 센서에 의해 검출된 상기 상태값에 기초하여, 상기 학습 제어부에 의한 제어로 상기 로봇의 작업을 계속 가능한지의 여부를 나타내는 판정 결과를 출력한다. 상기 조작 장치는, 작업자가 조작하는 장치로서, 작업자가 가한 조작력인 작업자 조작력을 검출하여 출력한다. 상기 입력부는, 작업자에 의한 상기 작업 상태의 입력을 접수하여 출력한다. 상기 전환 장치는, 상기 작업자 조작력 및 상기 연산 조작력에 기초하여, 상기 작업자 조작력 또는 상기 연산 조작력 중 어느 것을 상기 동작 지령으로 변환하여 출력한다. 상기 추가 학습부는, 상기 로봇의 작업을 계속할 수 없다는 것을 나타내는 상기 판정 결과와, 상기 입력부가 출력한 상기 작업 상태와, 상기 조작 장치가 출력한 상기 작업자 조작력과, 상기 상태 검출 센서가 검출한 상기 상태값과, 상기 타이머 신호에 기초하여, 상기 작업 상태 및 당해 작업 상태에 대응지어지는 다음 작업 상태와, 적어도 1조의 상기 상태값 및 당해 상태값에 대응지어지는 상기 작업자 조작력을 추가 학습하여 상기 모델을 갱신한다.
본 발명의 다른 관점에 의하면, 이하의 추가 학습 방법이 제공된다. 즉, 이 추가 학습 방법은, 로봇과, 상태 검출 센서와, 계시부와, 학습 제어부와, 조작 장치와, 전환 장치를 구비하는 로봇 시스템에 대하여 판정 공정과, 입력 접수 공정과, 추가 학습 공정을 포함하는 처리를 행한다. 상기 판정 공정에서는, 상기 상태 검출 센서에 의해 검출된 상태값에 기초하여, 상기 학습 제어부에 의한 제어로 상기 로봇의 작업을 계속 가능한지의 여부를 나타내는 판정 결과를 출력한다. 상기 입력 접수 공정에서는, 작업 상태와, 상기 조작 장치로부터의 작업자 조작력과의 입력을 접수한다. 상기 추가 학습 공정에서는, 상기 로봇의 작업을 계속할 수 없다는 것을 나타내는 상기 판정 결과와, 입력된 상기 작업 상태와, 입력된 상기 작업자 조작력과, 상기 상태 검출 센서가 검출한 상기 상태값과, 타이머 신호에 기초하여, 상기 작업 상태 및 당해 작업 상태에 대응지어지는 다음 작업 상태와, 적어도 1조의 상기 상태값 및 당해 상태값에 대응지어지는 상기 작업자 조작력을 추가 학습하여 상기 모델을 갱신한다.
이에 따라, 작업 상태 및 다음 작업 상태와, 조작력과, 상태값을 추가 학습시킴으로써, 로봇이 작업을 계속할 수 없게 되었을 경우에도, 로봇 시스템측에서 자율적으로 해결하여 작업을 계속하는 것이 가능해진다.
본 발명에 따르면, 로봇이 작업을 계속할 수 없게 되었을 경우에 있어서, 다음으로 동종의 상태가 되었을 경우를 위해서 작업을 계속 가능하게 하도록 추가 학습을 행하는 로봇 시스템을 제공할 수 있다.
도 1은 제1 실시 형태에 따른 로봇 시스템의 구성을 도시하는 블록도.
도 2는 로봇이 행하는 작업의 흐름 및 작업 상태를 도시하는 도면.
도 3은 기계 학습하는 데이터의 일례를 도시하는 도면.
도 4는 모델 내에 있어서의, 상태값 및 작업 상태의 대응 일례를 개념적으로 도시하는 도면.
도 5는 추가 학습에 관하여 로봇 시스템이 행하는 처리를 나타내는 흐름도.도 6은 현재의 작업 상태가 모델 내의 작업 상태라고 입력되었을 때의 추가 학습의 내용을 개념적으로 도시하는 도면.
도 7은 현재의 작업 상태가 새로운 작업 상태라고 입력되어, 앞서의 작업 상태로 복귀시키는 동작이 입력되었을 때의 추가 학습의 내용을 개념적으로 도시하는 도면.
도 8은 현재의 작업 상태가 모델 내의 작업 상태라고 입력되었을 때에 추가 학습하는 데이터의 일례를 도시하는 도면.
도 9는 현재의 작업 상태가 새로운 작업 상태라고 입력되었을 때에 추가 학습하는 데이터의 일례를 도시하는 도면.
도 10은 제2 실시 형태에서 로봇이 행하는 동작을 설명하는 도면.
도 11은 제2 실시 형태에 따른 로봇 시스템의 구성을 도시하는 블록도.
도 12는 진행도의 취득에 대해서 설명하는 도면.
도 13은 로봇의 동작에 따른 진행도의 값의 추이예를 나타내는 도면.
도 14는 확신도의 취득에 대해서 설명하는 도면.
도 15는 로봇의 동작에 따른 확신도의 값의 추이예를 나타내는 도면.
이어서, 도면을 참조하여 본 발명의 실시 형태를 설명한다. 처음에, 도 1을 참조하여, 제1 실시 형태의 로봇 시스템(1)에 대해서 설명한다. 도 1은, 로봇 시스템(1)의 구성을 도시하는 블록도이다.
로봇 시스템(1)은 로봇(10)에 작업을 행하게 하기 위한 시스템이다. 로봇(10)에게 행하게 하는 작업으로서는 다양한데, 예를 들어 조립, 가공, 도장, 세정 등이 있다. 로봇(10)은 후술하는 데이터를 기계 학습함으로써 구축된 모델을 사용하여 제어되고 있다. 그 때문에, 로봇 시스템(1)은 기본적으로는 작업자의 보조를 필요로 하지 않고, 작업을 자율적으로 행할 수 있다. 이와 같이 로봇(10)이 작업을 자율적으로 행하는 것을 "자율 운전"이라고 칭하는 경우가 있다. 또한, 본 실시 형태의 로봇 시스템(1)에서는, 작업자의 조작에 따라서 로봇(10)을 동작시킬 수도 있다. 또한, 로봇(10)은 자율적으로 작업을 행할 뿐만 아니라, 작업자의 조작에 따라 작업을 행할 수도 있다. 도 1에 도시한 바와 같이, 로봇 시스템(1)은 로봇(10)과, 조작부(20)와, 전환 장치(30)와, 제어부(40)를 구비한다. 각각의 장치는, 유선 또는 무선의 네트워크를 통해서 서로 접속되어 있다.
로봇(10)은 받침대에 설치된 아암부를 구비한다. 아암부는, 복수의 관절을 가지고 있으며, 각 관절에는 액추에이터가 구비되어 있다. 로봇(10)은 외부로부터 입력된 동작 지령에 따라서 액추에이터를 동작시킴으로써 아암부를 동작시킨다. 이 동작 지령은 직선상의 속도 지령과, 각속도의 지령을 포함한다. 아암부의 선단에는, 작업 내용에 따른 엔드 이펙터가 설치되어 있다. 로봇(10)은 외부로부터 입력된 동작 지령에 따라서 엔드 이펙터를 동작시킴으로써 작업을 행한다.
또한, 로봇(10)에는, 로봇(10)의 동작 및 주위 환경 등을 검출하기 위한 센서가 설치되어 있다. 본 실시 형태에서는, 동작 센서(11)과, 힘 센서(12)과, 카메라(13)가 로봇(10)에 설치되어 있다. 동작 센서(11)는 로봇(10)의 아암부의 관절마다 마련되어 있고, 각 관절의 회전 각도 또는 각속도를 검출한다. 힘 센서(12)는 로봇(10)의 동작 시에, 로봇(10)이 받은 힘을 검출한다. 힘 센서(12)는 엔드 이펙터에 걸리는 힘을 검출하는 구성이어도 좋고, 아암부의 각 관절에 걸리는 힘을 검출하는 구성이어도 좋다. 또한, 힘 센서(12)는 힘 대신에 또는 덧붙여서 모멘트를 검출하는 구성이어도 좋다. 카메라(13)는 작업 대상인 워크의 영상(워크에의 작업의 진행 상황)을 검출한다. 카메라(13) 대신에 또는 덧붙여서, 소리를 검출하는 소리 센서 및/또는 진동을 검출하는 진동 센서를 마련하고, 이들의 센서의 검출 결과에 기초하여, 워크로의 작업의 진행 상황을 검출할 수도 있다. 동작 센서(11)가 검출하는 데이터는, 로봇(10)의 동작을 나타내는 동작 데이터이며, 힘 센서(12) 및 카메라(13)가 검출하는 데이터는, 로봇(10)의 주위 환경 상태를 나타내는 주위 환경 데이터이며, 동작 센서(11), 힘 센서(12) 및 카메라(13)가 검출하는 데이터는, 로봇(10)의 작업(워크로의 작업)의 진행 상태를 나타내는 상태값이다. 이하의 설명에서는, 로봇(10)에 마련된 동작 센서(11), 힘 센서(12) 및 카메라(13)를 통합하여 "상태 검출 센서(11 내지 13)"라고 칭하는 경우가 있다. 또한, 상태 검출 센서(11 내지 13)가 검출한 데이터를, 특히 "센서 정보"라고 칭하는 경우가 있다. 또한, 상태 검출 센서(11 내지 13)는, 로봇(10)에 설치하는 대신, 로봇(10)의 주위에 마련해도 좋다.
조작부(20)는 조작 장치(21)과, 표시 장치(22)와, 입력부(23)를 구비한다. 조작 장치(21)는 로봇(10)을 동작시키기 위해서 작업자가 조작하는 부재이다. 조작 장치(21)는 작업 내용에 따라 다르지만, 예를 들어 작업자가 손으로 조작하는 레버 또는 발로 조작하는 페달이다. 조작 장치(21)는 도시를 생략한 공지의 조작력 검출 센서를 구비한다. 조작력 검출 센서는, 작업자가 조작 장치(21)에 가한 힘인 조작력을 검출한다. 조작 장치(21)가 여러 방향으로 움직일 수 있도록 구성되어 있는 경우, 조작력은 힘의 방향 및 크기를 포함하는 값, 예를 들어 벡터이어도 좋다. 또한, 조작력은, 작업자가 가한 힘(N)뿐만 아니라, 힘에 연동하는 값인 가속도(즉, 작업자가 가한 힘을 조작 장치(21)의 질량으로 나눈 값)이어도 좋다. 이하의 설명에서는, 작업자가 조작 장치(21)에 가한 조작력을, 특별히 "작업자 조작력"이라고 칭하는 경우가 있다. 작업자가 조작부(20)(조작 장치(21))를 조작함으로써 출력된 작업자 조작력은, 후술하는 바와 같이 전환 장치(30)에서 동작 지령으로 변환된다.
표시 장치(22)는 액정 또는 유기 EL 등의 도트 매트릭스식의 디스플레이이다. 표시 장치(22)는 조작 장치(21)의 근방에 배치되어 있고, 영상 신호, 예를 들어 후술하는 통지 신호에 기초하여, 로봇 시스템(1)이 행하는 작업에 관한 정보를 표시한다. 조작 장치(21)가 로봇(10)으로부터 이격된 위치에 배치되었을 경우에는, 표시 장치(22)에 로봇(10)의 근방 영상을 표시시키도록 해도 된다. 입력부(23)는 후술하는 추가 학습 시에 있어서, 작업자에 의한 작업 상태의 입력을 접수하는 도시를 생략한 키 등이며, 입력된 작업 상태를 제어부(40)(추가 학습부(43))로 출력한다.
전환 장치(30)에는, 로봇(10), 조작부(20) 및 제어부(40)가 접속되어 있다. 전환 장치(30)에는, 조작부(20)가 출력한 작업자 조작력과, 후술하는 제어부(40)가 출력한 연산 조작력이 입력된다. 전환 장치(30)는 로봇(10)을 동작시키기 위한 동작 지령을 로봇(10) 및 제어부(40)(통신부(41))로 출력한다. 전환 장치(30)는, 예를 들어 공지의 컴퓨터로 구성되어 있고, 연산 장치(CPU 등)과, 기억부(예를 들어 ROM, RAM, HDD 등)를 구비한다. 기억부에 기억된 프로그램을 연산 장치가 판독하여 실행함으로써, 전환 장치(30)는 여러가지 수단으로서 기능할 수 있다. 기능마다 명칭을 붙이면, 전환 장치(30)는 전환부(31)와, 변환부(32)를 구비한다.
전환부(31)는 입력된 작업자 조작력 및 연산 조작력으로부터, 작업자 조작력 또는 연산 조작력 중 어느 것을 변환부(32)로 출력하도록 구성되어 있다. 또한, 전환부(31)는 커넥터 또는 안테나를 구비하고 있고, 전환 장치(30)의 외부에서, 작업자 조작력 또는 연산 조작력 중 어느 것을 변환하는지를 나타내는 설정 신호에 기초하여, 작업자 조작력 또는 연산 조작력 중 어느 것을 변환부(32)로 출력하도록 구성되어 있다. 이에 따라, 작업자가 로봇(10)을 동작시키는 상태(즉, 조작부(20)가 출력한 작업자 조작력에 기초하여, 로봇(10)이 동작하는 상태)와, 로봇 시스템(1)이 로봇(10)에 자율적으로 작업을 행하게 하는 상태(즉, 제어부(40)가 출력한 연산 조작력에 기초하여, 로봇(10)이 동작하는 상태)를 전환할 수 있다. 또한, 전환부(31)에 조작력을 검지하는 도시를 생략한 센서를 마련하고, 전환부(31)는 작업자가 조작부(20)(조작 장치(21))를 조작하고 있다고 판정했을 때(예를 들어 조작부(20)가 출력한 작업자 조작력의 크기가 역치 이상이다라고 판정했을 때)는 작업자 조작력을 변환부(32)로 출력하고, 작업자가 조작부(20)를 조작하고 있지 않다고 판정했을 때(예를 들어 조작부(20)가 출력한 작업자 조작력의 크기가 역치 미만이라고 판정했을 때)는 제어부(40)가 출력한 연산 조작력을 변환부(32)로 출력하도록 구성해도 된다. 이에 따라, 전환부(31)는 설정 신호에 기초하지 않고도, 작업자가 조작부(20)를 조작하고 있는 동안, 작업자가 로봇(10)을 동작시키는 상태로 할 수 있다.
변환부(32)는 전환부(31)로부터 입력된 작업자 조작력 또는 연산 조작력 중 어느 것을, 로봇(10)을 동작시키기 위한 동작 지령으로 변환하고, 로봇(10) 및 제어부(40)(통신부(41))로 출력한다.
제어부(40)는 공지의 컴퓨터로 구성되어 있고, 연산 장치(CPU 등)와 기억부(예를 들어 ROM, RAM, HDD 등)를 구비하고 있다. 기억부에 기억된 프로그램을 연산 장치가 판독하여 실행함으로써, 제어부(40)는 여러가지 수단으로서 기능할 수 있다. 기능마다 명칭을 붙이면, 제어부(40)는 통신부(41)와, 학습 제어부(42)와, 추가 학습부(43)와, 판정부(44)와, 통지부(45)와, 계시부(46)를 구비한다. 통신부(41)는 커넥터 또는 안테나를 구비하고 있고, 제어부(40)의 외부로부터의 입력을, 제어부(40) 내의 각 부(42 내지 46)로 출력하도록 구성되어 있다. 통신부(41)는 제어부(40) 내의 각 부(42 내지 46)에 의한 출력을, 제어부(40)의 외부로 출력하도록 구성되어 있다. 예를 들어 통신부(41)가 수취하는, 제어부(40)의 외부로부터의 입력으로서는, 조작부(20)(조작 장치(21))가 출력하는 작업자 조작력, 조작부(20)(입력부(23))가 출력하는 작업 상태, 전환 장치(30)(변환부(32))가 출력하는 동작 지령, 상태 검출 센서(11 내지 13)가 출력하는 센서 정보가 있다. 또한, 예를 들어 통신부(41)가 출력하는, 제어부(40)의 외부로의 출력으로서는, 후술하는 전환 장치(30)로 출력하는 연산 조작력, 후술하는 조작부(20)(표시 장치(22))로 출력하는 통지 신호가 있다. 이하, 제어부(40) 내의 각 부(42 내지 46)에 의한, 제어부(40)의 외부와의 입출력에 대해서는, 통신부(41)를 개재하는 것을 특별히 언급하지 않는 경우가 있다. 계시부(46)는 연산 장치의 내부 클럭 등을 사용한, 주지의 계시 기능을 갖는다. 계시 기능은, 예를 들어 계시부(46)의 외부로부터의 트리거 신호에 기초하여, 트리거 신호의 입력 시로부터 소정의 시간 간격(예를 들어 1초 마다)으로 타이머 신호의 출력을 개시하는 타이머 기능을 포함한다. 또한, 계시부(46)는 계시부(46)의 외부로부터의 트리거 신호 및 시간 간격(예를 들어 1초)을 나타내는 신호에 기초하여, 트리거 신호의 입력시부터 당해 시간 간격으로 타이머 신호의 출력을 개시하는 타이머 기능을 갖도록 구성해도 된다. 또한, 계시부(46)의 외부로부터의 트리거 신호는, 계시부(46)에 타이머 신호의 출력을 개시시키는 제1 트리거 신호와, 계시부(46)에 타이머 신호의 출력을 종료시키는 제2 트리거 신호를 포함해도 좋다.
학습 제어부(42)는 기계 학습에 의해 구축된 모델을 사용하여 전환 장치(30)를 개재하여 로봇(10)에 조작력을 출력함으로써, 로봇(10)에게 작업을 행하게 한다. 이하, 제어부(40)(학습 제어부(42))가 출력하는 조작력을 "연산 조작력"이라고 칭하는 경우가 있다. 이하, 이 모델의 구축 방법에 대해서 구체적으로 설명한다. 또한, 본 실시 형태에서는, 연산 조작력의 출력은 1초 마다(즉, 계시부(46)의 타이머 신호의 시간 간격) 전환되는 것으로 한다.
도 2에 도시한 바와 같이, 워크(100)를 오목부(110)에 넣는 작업을 로봇(10)에게 행하게 하는 경우, 예를 들어 공중, 접촉, 삽입 및 완료의 4개의 작업 상태로 분류할 수 있다. 작업 상태 1(공중)은 로봇(10)이 워크(100)를 유지하여 오목부(110)의 상부에 위치시키고 있는 상태이다. 작업 상태 2(접촉)는 로봇(10)이 유지한 워크(100)를 오목부(110)가 형성되어 있는 면에 접촉시키고 있는 상태이다. 작업 상태 3(삽입)는 로봇(10)이 유지한 워크(100)를 오목부(110)에 삽입하고 있는 상태이다. 작업 상태 4(완료)은 로봇(10)이 유지한 워크(100)가 오목부(110)에 완전히 삽입된 상태이다. 이와 같이, 4개의 작업 상태는, 로봇(10)에 의한 일련의 작업을 공정마다 분류한 것이며, 로봇(10)의 작업이 올바르게 진행되면, 작업 상태 1(공중), 작업 상태 2(접촉), 작업 상태 3(삽입), 작업 상태 4(완료)의 순서로 작업 상태가 천이한다. 또한, 다른 작업 상태로서 작업 상태 5(비틀림)가 있다. 작업 상태 5(비틀림)는 최초에 기계 학습시키는 단계에서는 작업 상태로서 등록되어 있지 않다. 작업 상태 5(비틀림)는 워크(100)가 오목부(110)에 삽입되고 있지만, 삽입을 더 진행시킬 수 없어, 작업 상태 1(공중)로 천이시키지 않으면, 즉 한번 워크(100)를 상방으로 이동시켜 오목부(110)로부터 이격하지 않으면, 작업을 계속할 수 없는 상태이다.
이어서, 학습 제어부(42)가 기계 학습하는 데이터에 대해서 설명한다. 학습 제어부(42)는 현재의 작업 상태 및 현재의 작업 상태에 대응지어지는 다음 작업 상태(즉, 다음으로 천이하는 작업 상태)와, 적어도 1조의 상태값 및 이 상태값에 대응지어지는 조작력을 기계 학습하여 모델을 구축한다. 상태값은, 로봇(10)의 작업 진행을 나타내는 값이며, 작업의 진행에 따라 변화하는 값이다. 상태값으로서는, 상태 검출 센서(11 내지 13)가 검출한 센서 정보(예를 들어 위치, 속도, 힘, 모멘트, 영상 등의 작업 상황)가 있다. 상태값에는, 당해 센서 정보에 기초하여 산출된 정보(예를 들어 과거로부터 현재까지의 센서 정보의 경시 변화를 나타내는 값)을 포함해도 좋다.
도 3은 학습 제어부(42)가 기계 학습하는 데이터의 일례를 도시하는 도면이다. 도 4는 모델 내에 있어서의, 상태값 및 작업 상태의 대응 일례를 개념적으로 도시하는 도면이다. 도 3 및 도 4에 도시한 바와 같이, 현재의 작업 상태가 작업 상태 2(접촉), 현재의 상태값이 S 210 이며, 작업 상태 3(삽입)로 천이시키는(상태값 S 310으로 하는) 것과 같은, 로봇(10)의 n초간(n은 1 이상의 정수)의 동작을 학습 제어부(42)에 기계 학습시키는 경우를 생각한다. 학습 제어부(42)는 도 3에 도시하는 데이터를 기계 학습하여 모델을 구축한다. 상세하게는, 학습 제어부(42)는 현재의 작업 상태 2(접촉) 및 다음 작업 상태 3(삽입)와, 현재의 상태값 S 210 및 조작력 I 210과, m(m은 1 내지 (n-1)의 정수)초 후의 상태값 S 21m 및 조작력 I 21m과, n초 후의 상태값 S 21n 및 더미의 조작력을 나타내는 I null을 기계 학습한다. 도 3에 도시한 바와 같이, 현재의 작업 상태 2(접촉)는 다음 작업 상태 3(삽입)과 달리, 상태값 및 조작력은 (n+1)조, 즉 복수 조이다. 학습 제어부(42)는 시각(예를 들어 0 내지 n초 후)과, 당해 시각에 있어서의 상태값(예를 들어 S 210 내지 S 21n) 및 조작력(예를 들어 I 210 내지 I null)을 대응지어서 기계 학습해도 되고, 본 실시 형태와 같이, 조작력의 출력의 시간 순을 유지하도록 기계 학습을 행함으로써, 시각의 기계 학습을 생략해도 된다. 또한, 학습 제어부(42)는 n초 후의 상태값 S 21n 및 더미의 조작력을 나타내는 I null을 기계 학습하지 않도록 구성해도 된다. 여기서, 학습시키는 조작력은, 조작부(20)(조작 장치(21))가 출력하는 작업자 조작력이어도 되고, 데이터로서 미리 준비된 것이어도 된다.
현재의 작업 상태가 작업 상태 2(접촉)이며, 작업 상태 3(삽입)로 천이시키는 로봇(10)의 동작은 다양하다. 예를 들어 현재의 상태값이 작업 상태 2(접촉)을 나타내는 S 220이며, 작업 상태 3(삽입)를 나타내는 상태값 S 310으로 하는 것과 같은 로봇(10)의 동작도 포함된다. 본 실시 형태에서는, 학습 제어부(42)는 이러한 로봇(10)의 동작도 기계 학습하여 모델을 구축한다. 기계 학습의 방법은 도 3을 참조하여 상술한 방법과 동일하므로, 그 상세한 설명을 생략한다.
작업 상태 2(접촉)를 작업 상태 3(삽입)로 천이시키는 로봇(10)의 동작이나, 작업 상태 3(삽입)를 작업 상태 4(완료)로 천이시키는 로봇(10)의 동작에 대해서도, 학습 제어부(42)는 기계 학습을 행하여 모델을 구축한다. 기계 학습의 방법은 도 3을 참조하여 상술한 방법과 동일하므로, 그 상세한 설명을 생략한다. 또한, 현재의 작업 상태가 작업 상태 4(완료)인 경우에는, 로봇(10)은 동작의 필요가 없다. 이 경우에는, 학습 제어부(42)는 현재의 작업 상태 4(완료) 및 다음 작업 상태 4(완료)와, 0초 후(즉, 현재)의 상태값 S 4 및 더미의 조작력을 나타내는 I null을 기계 학습해도 된다.
학습 제어부(42)는 구축된 모델에 기초하여, 현재의 상태값으로부터 현재의 작업 상태를 추정하는 작업 상태 추정 처리와, 현재의 상태값 및 추정한 현재의 작업 상태로부터 다음 작업 상태를 추정하는 다음 작업 상태 추정 처리와, 현재의 상태값 및 추정한 현재의 작업 상태 및 다음 작업 상태에 기초하여, 출력하는 조작력(연산 조작력)을 결정하고, 이 연산 조작력을 전환 장치(30)로 출력하는 출력 처리를 행한다. 이에 따라, 학습 제어부(42)는 작업을 적절하게 행하도록 로봇(10)의 동작을 제어할 수 있다.
처음에, 현재의 작업 상태의 추정(작업 상태 추정 처리)에 대해서 설명한다. 상술한 바와 같이, 학습 제어부(42)는 상태값과, 작업 상태(및 다음 작업 상태)를 기계 학습하고, 현재의 상태값에 기초하여, 현재의 작업 상태(및 다음 작업 상태)를 추정한다. 도 4에 도시한 바와 같이, 상태값이 3개이며, 기계 학습된 상태값(도 4에 있어서의 점에 대응)이 모델 내에 분포하고 있을 경우를 생각한다. 도 4에는 각 작업 상태에 대응하는 영역(공간)이 기재되고 있는데, 상태값이 이들 영역의 내부에 위치하는 경우는, 당해 상태값은 당해 영역과 대응지어져 있는 작업 상태일 확률이 높다는 것을 나타내는 것이다. 예를 들어 "작업 상태 2(접촉)"의 영역은, 기계 학습한 상태값 중 작업 상태 2(접촉)라고 판정된 상태값의 집합(클러스터)을 나타내는 것이며, 이 집합(클러스터)은 작업 상태 2(접촉)라고 판정된 상태값을 나타내는 점의 좌표가, 당해 영역으로부터의 중심점으로부터의 거리가 제1 거리 이하가 되고, 또한 다른 영역의 중심점으로부터의 거리가 제1 거리보다 긴 제2 거리 이상이 되도록, "작업 상태 2(접촉)"의 영역의 중심점을 정함으로써 형성된 것이다. 따라서, 도 4에 도시한 바와 같이, 현재의 상태값이 S 210, S 310인 경우는, 학습 제어부(42)는 현재의 작업 상태를 각각, 작업 상태 2(접촉), 작업 상태 3(삽입)라고 추정한다.
이어서, 다음 작업 상태를 추정하는 처리(다음 작업 상태 추정 처리)에 대해서 설명한다. 상술한 바와 같이, 학습 제어부(42)는 상태값과, 작업 상태 및 다음 작업 상태를 기계 학습하여 현재의 상태값과, 추정한 현재의 작업 상태에 기초하여 다음 작업 상태를 추정한다. 예를 들어 도 4에 도시한 바와 같이, 현재의 상태값이 S 210이며, 현재의 작업 상태가 작업 상태 2(접촉)라고 추정된 경우로서, 도 3에 도시한 바와 같이, 기계 학습 시에 있어서의 현재의 상태값이 S 210이며, 이 현재의 작업 상태가 작업 상태 2(접촉)일 때, 다음 작업 상태가 작업 상태 3(삽입)인(즉, 작업 상태를 작업 상태 2(접촉)로부터 작업 상태 3(삽입)로 천이시킴) 로봇(10)의 동작을 학습 제어부(42)가 기계 학습했을 경우를 생각한다. 이 경우, 학습 제어부(42)는 다음 작업 상태를 작업 상태 3(삽입)라고 추정한다.
이어서, 연산 조작력을 결정하여 출력하는 처리(출력 처리)에 대해서 설명한다. 상술한 바와 같이, 학습 제어부(42)는 작업 상태 및 다음 작업 상태와, 상태값 및 조작력을 기계 학습하고, 현재의 작업 상태 및 다음 작업 상태와, 현재의 상태값에 기초하여, 전환 장치(30)로 출력하는 연산 조작력을 결정한다. 예를 들어 도 4에 도시한 바와 같이, 현재의 상태값이 S 210이며, 현재의 작업 상태가 작업 상태 2(접촉), 다음 작업 상태가 작업 상태 3(삽입)라고 추정된 경우를 생각한다. 도 4에는, 상태값 S 210로부터 상태값 S 310으로 연장하는 화살표가 나타나 있다. 이 화살표는, 도 3에 도시하는 작업 상태 2(접촉)로부터 작업 상태 3(삽입)로 작업 상태를 천이시키는, 학습 제어부(42)가 기계 학습한 로봇(10)의 n초 동안의 동작에 대응한다. 이 경우, 학습 제어부(42)는 도 3에 도시하는 최초의 조작력 I 210을 전환 장치(30)로 연산 조작력으로서 출력할 때에, 계시부(46)에 트리거 신호를 출력한다. 계시부(46)는 트리거 신호에 기초하여, 트리거 신호의 입력시부터 1초 마다 타이머 신호를 출력한다. 이어서, 학습 제어부(42)는 도 3에 도시하는 조작력 I 210 내지 I 21(n-1)을 계시부(46)로부터의 타이머 신호에 기초하여 1초마다 전환하면서, 전환 장치(30)에 연산 조작력으로서 출력한다. 그리고, 학습 제어부(42)는 도 3에 도시하는 조작력이 더미의 조작력을 나타내는 I null인 것을 검지하면, 연산 조작력의 출력을 정지한다.
이상 설명한 바와 같이, 학습 제어부(42)는 기계 학습에 의해 구축된 모델에 기초하여, 현재의 상태값으로부터, 로봇(10)을 동작시키기 위한 연산 조작력을 결정한다. 이에 따라, 학습 제어부(42)는 현재의 작업 상태에 따라, 또한 다음 작업 상태에도 따르는 보다 적절한 연산 조작력을 사용하여, 로봇(10)을 동작시킬 수 있다. 또한, 워크(100)의 형상 편차, 워크(100)의 유지 위치의 편차, 오목부(110) 위치 편차 등이 있을 경우에도, 학습 제어부(42)는 상술한 기계 학습을 반복함으로써, 로봇(10)이 이러한 편차에 유연하게 대응하도록 작업을 행하게 할 수 있다.
추가 학습부(43), 판정부(44) 및 통지부(45)는 상기의 기계 학습에서 대응 할 수 없는 경우에 행하는 추가 학습을 행하기 위한 기능을 가지고 있다. 이하, 이 추가 학습에 대해서 도 5 내지 도 7을 참조하여 설명한다. 도 5는, 추가 학습에 관하여 로봇 시스템이 행하는 처리를 나타내는 흐름도이다. 도 6 및 도 7은, 모델 내에 있어서의, 작업 상태의 판정 결과에 따른 추가 학습의 내용을 개념적으로 도시하는 도면이다.
본 실시 형태에서는, 로봇 시스템(1)이 자율적으로 작업을 행할 수 없게 되었을 경우에, 작업자가 로봇(10)을 조작하여 작업을 보조하고, 이 보조한 작업자의 조작 내용을 추가 학습한다는 방법으로 모델의 최적화를 행하고 있다. 이하, 구체적으로 설명한다. 또한, 본 실시 형태에서는, 작업자의 조작 내용을 1초 마다(즉, 계시부(46)의 타이머 신호의 시간 간격) 추가 학습하는 것으로 한다.
처음에, 학습 제어부(42)가 로봇(10)을 동작시켜, 로봇 시스템(1)에 의한 자율적인 작업이 개시된다(S101), 작업의 개시 전에, 연산 조작력을 변환하는 것을 나타내는 설정 신호를 학습 제어부(42)가 전환 장치(30)로 출력함으로써, 전환 장치(30)는 학습 제어부(42)로부터 출력되는 연산 조작력을 변환한 동작 지령을 로봇(10)으로 출력하도록 설정되어 있다.
학습 제어부(42)는 로봇(10)을 제어하고 있는 동안(즉, 연산 조작력만이 전환 장치(30)로 출력되고 있는 동안)에 있어서, 현재의 상태값에 기초하여, 현재의 작업 상태가 작업 상태 4(완료)에 해당하는지 여부를 판정한다(S102, 작업 상태 추정 처리), 현재의 작업 상태가 작업 상태 4(완료)에 해당하는 경우, 학습 제어부(42)는 작업이 완료하였다고 판정하고, 다음 작업의 개시 위치(예를 들어 다음 워크(100)가 적재되어 있는 장소)까지 로봇(10)의 아암부를 이동시키는 것과 같은 연산 조작력을, 전환 장치(30)로 출력하고, 전환 장치(30)는 이 연산 조작력을 변환한 동작 지령을 로봇(10)으로 출력한다(S112).
현재의 작업 상태가 작업 상태 4(완료)가 아닌 경우(즉 작업이 완료되지 않은 경우), 판정부(44)는 학습 제어부(42)에 의한 제어로 작업이 계속 가능한지 여부를 현재의 상태값에 기초하여 판정하고, 계속 여부를 나타내는 판정 결과를 출력한다(S103, 판정 공정). 바꿔 말하면, 판정부(44)는 작업자의 보조 없이 작업이 계속 가능한지 여부를 현재의 상태값에 기초하여 판정한다. 이 판정은, 예를 들어 현재의 상태값(예를 들어 센서 정보) 및 미리 설정된 조건 등에 기초하여 판정된다. 구체적으로는, 힘 센서(12)에 의해 검출된 힘이 급격하게 커진 것, 힘 센서(12)에 의해 검출된 힘이 기준값을 초과한 것 등이 조건으로서 설정된다. 또한, 판정부(44)는 미리 설정된 조건 대신에, 자율적으로(바꿔 말하면 판정 기준을 스스로 작성하여) 판정해도 된다. 구체적으로는, 판정부(44)는 후술하는 작업 상태의 유사도의 출력을 학습 제어부(42)로부터 수취하고, 이 유사도에 기초하여, 현재의 상태값이 어느 작업 상태에도 속하지 않는다(예를 들어 유사도가 어느 작업 상태에 있어서도 소정의 역치보다 낮다)고 판정했을 때에, 작업을 계속할 수 없다고 판정한다.
학습 제어부(42)에 의한 제어로 로봇(10)의 작업이 계속 가능하다는 것을 나타내는 판정 결과가 판정부(44)에 의해 출력된 경우, 계속해서, 학습 제어부(42)가 연산 조작력을 전환 장치(30)로 출력함으로써, 로봇(10)을 동작시킨다. 한편으로, 학습 제어부(42)에 의한 제어로 로봇(10)의 작업을 계속할 수 없다는 것을 나타내는 판정 결과가 판정부(44)에 의해 출력된 경우, 작업자의 보조를 요구하여 추가 학습을 행하기 위한 처리가 이루어진다. 추가 학습을 행하기 위해서는, 현재의 올바른 작업 상태 및 다음 작업 상태와, 상태값 및 작업을 계속할 수 없는 상태를 해소하는 조작력이 필요해진다.
구체적으로는, 로봇(10)의 작업을 계속할 수 없다는 것을 나타내는 판정 결과에 기초하여, 통지부(45)는 작업을 계속할 수 없다는 것을 통지한다. 상세하게는, 통지부(45)는 작업을 계속할 수 없다는 취지를 표시시키는 제1 통지 신호를 표시 장치(22)로 출력함과 함께, 학습 제어부(42)는 현재의 올바른 작업 상태를 작업자가 특정하기 위한 정보로서, 작업 상태의 유사도를 모델로부터 산출하여 출력하고, 통지부(45)는 이 유사도를 표시시키는 제2 통지 신호를 표시 장치(22)로 출력한다(S104, 통지 공정). 유사도란, 모델 내의(등록 완료된) 작업 상태에 대하여 현재의 상태값이 유사하다는 정도를 나타내는 값이다. 유사도는, 현재의 상태값과, 모델 내의 각 작업 상태에 속하는 상태값(즉, 기계 학습한 상태값 중, 각 작업 상태에 속하는 것)의 분포를 비교함으로써 산출된다. 예를 들어 설명하면, 도 6 상측의 그래프에 나타내는 바와 같이 작업 상태 1 내지 작업 상태 4의 영역이 존재하고 있는 상황에 있어서, 이들의 영역으로부터 벗어난 현재의 상태값 S 5, S 6이 있을 때, 학습 제어부(42)는 현재의 상태값 S 5, S 6을 나타내는 좌표와, 작업 상태 1 내지 작업 상태 4의 영역 각각의 중심점과의 거리(또는 작업 상태 1 내지 작업 상태 4 각각과의 최단 거리)에 기초하여, 거리가 짧을수록 높아지는 유사도를 산출한다. 학습 제어부(42)는 상태값마다 유사도를 산출해도 되고, 모든 상태값의 비교 결과를 고려한 1개의 유사도를 산출해도 된다. 또한, 학습 제어부(42)는 등록 완료된 모든 작업 상태에 대한 유사도를 각각 산출하여 출력해도 되고, 가장 유사도가 높은 1개의 작업 상태에 대한 유사도만을 출력해도 된다. 유사도는, 예를 들어 텍스트 데이터로 표시 장치(22)에 표시되지만, 그래프 등의 도형을 사용하여 표시 장치(22)에 표시시켜도 된다.
이어서, 제어부(40)는 작업자에 의해 특정된 작업 상태의 입력을 접수하기 위한 처리를 행한다(S105, 입력 접수 공정). 예를 들어 제어부(40)(통지부(45))는 표시 장치(22)에 제3 통지 신호를 송신함으로써, 입력부(23)를 사용하여 작업자가 올바른 작업 상태를 입력하기 위한 입력란을 표시 장치(22)에 표시시킨다. 이에 따라, 작업자에게 작업 상태의 특정 및 그 입력을 재촉할 수 있다. 또한, 스텝 S105의 처리 전후에 있어서, 제어부(40)는 작업자 조작력을 변환하는 것을 나타내는 설정 신호를 전환 장치(30)로 출력함으로써, 전환 장치(30)는 조작부(20)(조작 장치(21))가 출력하는 작업자 조작력을 변환한 동작 지령을 출력하도록, 설정을 변경한다. 전환 장치(30)의 설정 변경은, 표시 장치(22)가 입력란을 표시할 때 또는 그 이전(예를 들어 판정부(44)가 로봇(10)의 작업을 계속할 수 없다는 것을 나타내는 판정 결과를 출력했을 때)에 행하는 것이 바람직하다. 이에 따라, 작업자가 표시 장치(22)의 표시를 확인하고 나서 입력을 행할 수 있게 되어, 작업자 조작력에 기초하는 동작 지령을 로봇(10)에게 확실하게 출력할 수 있다.
작업자는, 표시 장치(22)에 표시된 유사도를 확인함과 동시에, 로봇(10), 워크(100) 및 오목부(110)의 위치 관계를 직접 또는 카메라를 개재하여 시인함으로써, 올바른 작업 상태를 특정한다. 또한, 작업자는, 조작 장치(21)를 조작하여 로봇(10)을 동작시키거나, 로봇(10)을 손으로 직접 만지거나 함으로써, 올바른 작업 상태를 특정해도 좋다. 이상과 같이 하여, 작업자는 올바른 작업 상태(예를 들어 모델 내의 작업 상태인 작업 상태 3)를 특정하고, 조작부(20)의 입력부(23)을 사용하여 입력한다. 또한, 모델 내의 작업 상태의 어디에도 해당하지 않을 경우, 작업자는 새로운 작업 상태(예를 들어 모델 내의 작업 상태가 아닌 작업 상태 5)를 작성하여 조작부(20)의 입력부(23)에 이것을 입력한다.
제어부(40)(추가 학습부(43))는 모델 내의 작업 상태가 입력부(23)에 입력되었다고 판정했을 경우(S106), 현재의 상태값을 취득하고, 이 상태값에 기초하여, 모델 내의 작업 상태의 추정 기준을 수정하는 처리를 행한다(S107, 작업 상태 추정 기준 수정 공정). 예를 들어 설명하면 도 6의 상측 그래프에 나타내는 바와 같이, 모델 내에 작업 상태 1 내지 작업 상태 4의 영역이 존재하고 있는 상황에 있어서, 이들 영역에서 벗어난 현재의 상태값 S 5가, 작업 상태 3(삽입)에 해당하면 작업자가 입력부(23)에 입력했다고 판정된 경우를 생각한다. 이 경우, 도 6의 하측 그래프에 나타내는 바와 같이, 추가 학습부(43)는 현재의 상태값 S 5를 나타내는 좌표가 작업 상태 3(삽입)의 영역 내에 위치하도록, 작업 상태 3(삽입)의 영역을 변경한다. 예를 들어 추가 학습부(43)는 현재의 상태값 S 5를 나타내는 점의 좌표 또는 그것과 가까운 좌표가 작업 상태 3(삽입)이라고 판정되기 쉬워지도록, 모델 내의 작업 상태 3(삽입)의 영역에 있어서의 중심점 및/또는 제1 거리를 수정한다.
한편, 제어부(40)(추가 학습부(43))는 모델 내의 작업 상태와는 다른 새로운 작업 상태가 입력부(23)에 입력되었다고 판정했을 경우(S106), 현재의 상태값을 취득하고, 이 상태값에 기초하여 새로운 작업 상태를 모델에 등록하는 처리를 행한다(S108, 작업 상태 등록 공정), 예를 들어 설명하면 도 7의 상측 그래프에 나타내는 바와 같이, 모델 내에 작업 상태 1 내지 작업 상태 4의 영역이 존재하고 있는 상황에 있어서, 이들 영역에서 벗어난 현재의 상태값 S 6이, 기존의 작업 상태 1 내지 작업 상태 4와는 다른 작업 상태인 작업 상태 5(비틀림)에 해당한다고 작업자가 입력부(23)에 입력했다고 판정된 경우를 생각한다. 이 경우, 도 7의 하측 그래프에 나타내는 바와 같이, 추가 학습부(43)는 새로운 작업 상태인 작업 상태 5(비틀림)를 모델에 추가하도록 설정한다. 이 단계에서는, 작업 상태 5(비틀림)와 대응지어진 좌표는 1점 밖에 없기 때문에, 예를 들어 추가 학습부(43)는 현재의 상태값 S 6을 나타내는 점(중심점)으로부터 소정의 초기 거리(다른 작업 상태의 영역에 있어서의 제1 거리에 대응) 이내의 영역을, 작업 상태 5(비틀림)의 영역으로 하여 모델에 추가한다.
이어서, 작업자는, 조작부(20)(조작 장치(21))를 조작한다. 조작부(20)는 작업자 조작력을 전환 장치(30)로 출력하고, 전환 장치(30)는 작업자 조작력을 동작 지령으로 변환하여 출력하고, 로봇(10)을 동작시킨다. 예를 들어 현재의 작업 상태가 작업 상태 3(삽입)이라고 작업자가 입력부(23)에 입력한 경우, 작업자는, 조작 장치(21)를 조작함으로써, 로봇(10)을 동작시켜 워크(100)의 삽입을 속행시키고, 작업 상태를 작업 상태 4(완료)로 천이, 즉 작업을 완료시킨다. 또한, 현재의 작업 상태가 새로운 작업 상태 5(비틀림)라고 작업자가 입력부(23)에 입력한 경우, 작업자는, 조작 장치(21)를 조작함으로써, 로봇(10)을 동작시키고 워크(100)를 상방으로 이동시켜 오목부(110)로부터 이격하고, 작업 상태 5(비틀림)를 작업 상태 1(공중)로 천이시킨다.
이 때, 조작부(20)는 작업 상태를 천이시키도록 작업자가 로봇(10)을 동작시킨 작업자 조작력을 제어부(40)(추가 학습부(43))로 출력하고, 추가 학습부(43)는 작업자 조작력 및 상태값을 취득한다(S109). 예를 들어 추가 학습부(43)는 조작부(20)로부터 작업자 조작력이 입력된 것을 검지했을 때, 계시부(46)에 트리거 신호를 출력한다. 계시부(46)는 트리거 신호에 기초하여, 트리거 신호의 입력 시부터 소정의 시간 간격(본 실시 형태에서는 1초간)으로 타이머 신호를 출력한다. 이어서, 추가 학습부(43)는 현재의 상태값을 취득(예를 들어 상태 검출 센서(11 내지 13)로부터 센서 정보를 취득)하고, 조작부(20)로부터 작업자 조작력을 취득하고, 수치 0인 인덱스와, 상태값과, 조작력(즉, 작업자 조작력)을 대응지어 기억한다. 또한, 추가 학습부(43)는 계시부(46)로부터의 1초마다의 타이머 신호에 기초하여, 1초마다 상태값 및 작업자 조작력을 취득하고, 인덱스를 1 증가시켜 당해 인덱스와, 상태값과, 조작력(즉, 작업자 조작력)을 대응지어 기억하는 처리를, 작업자의 조작에 의한 로봇(10)의 동작이 완료될 때까지 반복한다.
여기서, 추가 학습부(43)는 작업자의 조작에 의한 로봇(10)의 동작이 완료되었다는 판정 및 동작 완료 시의 작업 상태(즉, 상태 천이 후의 작업 상태)의 특정을, 취득한 상태값에 기초하여 행한다(S110, 상태 천이 완료 판정 공정). 예를 들어 로봇(10)의 동작이 완료되었다는 판정은, 추가 학습부(43)가 대응지어 기억된 인덱스와 상태값과 조작력에 기초하여, 상태값이 변화하지 않게 되고 나서 일정 시간 이상 경과한 것(즉, 동일한 상태값이 일정 횟수 이상 연속해서 기억되어 있는 것), 또는 작업자 조작력의 출력이 없어지고 나서 일정 시간 이상 경과한 것(즉, 조작력이 없다는 것이 일정 횟수 이상 연속해서 기억되어 있는 것)을 검지함으로써 행해도 된다. 이때, 추가 학습부(43)는 작업자의 조작에 의한 로봇(10)의 동작이 완료되었을 때를, 상태값이 변화하지 않게 된 최초의 때(예를 들어 동일한 상태값이 일정 횟수 이상 연속해서 기억되어 있는 경우에 있어서의, 가장 젊은 인덱스), 또는 작업자 조작력의 출력이 없어진 최초의 때(예를 들어 조작력이 없다는 것이 일정 횟수 이상 연속해서 기억되어 있는 경우에 있어서의, 가장 젊은 인덱스)로 해도 된다. 바람직하게는, 추가 학습부(43)는 작업자의 조작에 의한 로봇(10)의 동작이 완료되었을 때(즉, 가장 젊은 인덱스)에 대응지어져 있는 조작력을, 더미의 조작력을 나타내는 I null로 치환하여 덮어쓰기 기억한다. 또한, 예를 들어 동작 완료 시의 작업 상태의 특정은, 추가 학습부(43)가 대응지어서 기억된 인덱스와 상태값과 조작력에 기초하여, 작업자의 조작에 의한 로봇(10)의 동작이 완료되었을 때(즉, 가장 젊은 인덱스)에 대응지어져 있는 상태값을 구하고, 이 상태값에 기초하여, 제어부(40)(추가 학습부(43))가 작업 상태를 추정하는 처리(작업 상태 추정 처리)를 행함으로써 구하여도 된다.
추가 학습부(43)는 취득한 작업자 조작력, 상태값 및 상태 천이 전후의 작업 상태를 추가 학습한다(S111, 추가 학습 공정). 또한, 상태 천이 전의 작업 상태란, 스텝 S105 내지 S107에 있어서, 작업자가 입력부(23)에 입력하고, 추가 학습부(43)로 출력된 작업 상태이다. 예를 들어 스텝 S106에 있어서, 상태값이 S 5일 때에 현재의 작업 상태(천이 전의 작업 상태)가 작업 상태 3(삽입)이라고 입력되고, 스텝 S109에 있어서, 작업자가 워크(100)의 삽입을 속행시켜서 작업을 완료시킴으로써, 스텝 S110에 있어서, 추가 학습부(43)가 작업 상태가 작업 상태 3(삽입)로부터 작업 상태 4(완료)로 천이한 것을 특정하고, 상태 천이 후의 상태값이 S 4라고 구했을 경우, 추가 학습부(43)는 현재의 작업 상태 3(삽입) 및 다음 작업 상태 4(완료)와 대응지어 기억한 인덱스와 상태값과 조작력에 기초하여, 도 8에 나타내는 추가 학습용 데이터(로봇(10)의 p초간(p 는 1 이상의 정수)의 동작에 대응)을 생성하고, 이것을 추가 학습하여 모델을 갱신한다. 추가 학습의 방법은, 도 3을 참조하여 상술한 기계 학습의 방법과 동일하므로, 그 상세한 설명을 생략한다. 이 추가 학습을 행함으로써, 워크(100)의 삽입을 진행시키기 위한 새로운 방법을 학습 제어부(42)가 취득한다. 이에 따라, 다음 번 이후에 동종의 상황이 발생했을 경우에 있어서도, 작업자의 보조 없이 작업을 계속할 수 있다.
또한, 스텝 S106에 있어서, 상태값이 S 6일 때에 현재의 작업 상태(천이 전의 작업 상태)가 새로운 작업 상태 5(비틀림)라고 입력되어, 스텝 S109에 있어서, 작업자가 워크(100)를 상방으로 이동시켜 오목부(110)로부터 이격함으로써, 스텝 S110에 있어서, 추가 학습부(43)가, 작업 상태가 작업 상태 5(비틀림)로부터 작업 상태 1(공중)로 천이한 것을 특정하고, 상태 천이 후의 상태값이 S 1이라는 것을 구했을 경우, 추가 학습부(43)는 현재의 작업 상태 5(비틀림) 및 다음 작업 상태 1(공중)과, 대응지어서 기억한 인덱스와 상태값과 조작력에 기초하여, 도 9에 나타내는 추가 학습용 데이터(로봇(10)의 q초간(q는 1 이상의 정수)의 동작에 대응)를 생성하고, 이것을 추가 학습하여 모델을 갱신한다. 추가 학습의 방법은, 도 3을 참조하여 상술한 기계 학습의 방법과 동일하므로, 그 상세한 설명을 생략한다. 이 추가 학습을 행함으로써, 비틀림이 발생했을 경우에 당해 비틀림을 해소하기 위한 방법을 학습 제어부(42)가 취득하게 된다. 이에 따라, 다음 번 이후에 동종의 상황이 발생했을 경우에 있어서도, 작업자의 보조없이 작업을 계속할 수 있다.
추가 학습부(43)가 추가 학습을 완료하면(S111), 학습 제어부(42)는 로봇(10)을 동작시켜, 로봇 시스템(1)에 의한 자율적인 작업을 다시 개시한다(S101). 여기서, 스텝 S101의 처리로 복귀하기 전에, 제어부(40)는 연산 조작력을 변환하는 것을 나타내는 설정 신호를 전환 장치(30)로 출력함으로써, 전환 장치(30)는 학습 제어부(42)가 출력하는 연산 조작력을 변환한 동작 지령을 로봇(10)으로 출력하도록, 전환 장치(30)의 설정을 변경한다.
이상과 같이, 로봇 시스템(1)이 자율적으로 해소할 수 없는 상태를 검출하여 작업 상태와 대응지은 추가 학습을 행함으로써, 효율적으로 추가 학습을 행할 수 있으므로, 로봇 시스템(1)을 그다지 정지시키지 않고 작업을 계속시키는 것이 가능하게 된다.
본 실시 형태는 여러가지 변형이 가능하다. 본 실시 형태에서는, 로봇 시스템(1)이 로봇(10) 동작의 추가 학습 및 출력을, 타이머 신호의 시간 간격인 1초 단위로 행하는데, 타이머 신호가 보다 짧은 시간 간격(예를 들어 0.1초 또는 그것 미만의 시간 간격)이어도 로봇(10) 동작의 추가 학습 및 출력이 가능하도록, 로봇 시스템(1)을 구성해도 된다. 이에 따라, 로봇(10)의 동작을 보다 높은 정밀도로 추가 학습하여 로봇(10)을 보다 높은 정밀도로 동작시키는 것이 가능해진다.
본 실시 형태에서는, 계시부(46)는 트리거 신호에 기초하여, 트리거 신호의 수신시부터 1초마다. 타이머 신호를 출력하고, 제어부(40)는 이 타이머 신호에 기초하여, 로봇(10)의 동작을 추가 학습하거나, 또는 로봇(10)을 동작시킨다. 여기서, 타이머 신호가 보다 짧은 시간 간격(예를 들어 0.1초 또는 그것 미만의 시간 간격)이어도 로봇(10) 동작의 추가 학습 및 출력이 가능하도록 로봇 시스템(1)을 구성했을 경우에는, 계시부(46)는 트리거 신호에 기초하지 않고, 상시, 이 짧은 시간 간격으로 타이머 신호를 출력하도록 구성해도 된다. 이에 따라, 로봇(10) 동작의 추가 학습 및 로봇(10) 동작의 정밀도를 내리지 않고, 계시부(46)의 구성을 간소한 것으로 할 수 있다. 구체적으로 설명하면 계시부(46)가 소정 시간 간격으로 타이머 신호를 상시 출력하는 구성이면, 타이머 신호에 기초하는 로봇(10) 동작의 추가 학습 및 출력에, 최대로 당해 시간 간격의 지연이 발생한다. 본 실시 형태와 같이 계시부(46)가 1초 간격으로 타이머 신호를 출력하는 경우, 최대 1초의 지연이 발생하기 때문에 지연의 영향을 무시할 수 없다. 한편, 타이머 신호의 출력시간 간격이 0.1초 또는 그것 미만과 같이 짧은 시간 간격일 경우(즉, 로봇 시스템(1)이 대략 실시간으로, 로봇(10) 동작의 추가 학습 및 출력을 처리할 수 있는 경우)는 상기 지연의 영향은 경미해진다.
본 실시 형태에서는, 작업 상태의 개수는 최대 5 개이었지만, 작업 상태의 개수를 증가시켜도 좋다. 이에 따라, 현재의 상태값에 대응하는 것보다 적절한 작업 상태를 정하는 것이 가능해진다.
본 실시 형태에서는, 스텝 S105에 있어서, 입력부(23)는 작업자에 의한 현재의 작업 상태의 입력을 접수하여 추가 학습부(43)로 출력하는데, 입력부(23)에 다음 작업 상태의 입력을 접수하여 출력하는 수단(예를 들어 도시를 생략한 키)을 마련하고, 이 다음 작업 상태를 추가 학습부(43)가 수취하도록 구성해도 된다. 이에 따라, 스텝 S110에 있어서, 추가 학습부(43)가 행하는 천이 후의 작업 상태의 특정을 생략할 수 있다.
본 실시 형태에서는, 작업 상태 2(접촉)로부터 작업 상태 3(삽입)으로 작업 상태가 천이하지만, 이것으로 한정되지 않고, 작업 상태 2(접촉)로부터 작업 상태 1(공중)로 작업 상태를 천이시켜도 된다. 이에 따라, 보다 적절한 작업 상태의 천이를 정하는 것이 가능해진다. 예를 들어 도 4에 도시한 바와 같이, 현재의 작업 상태가 작업 상태 2(접촉), 현재의 상태값이 S 230일 경우를 생각한다. 현재의 상태값 S 230으로부터 작업 상태 3(삽입)의 영역은 멀고, 작업 상태 1(공중)의 영역은 가깝다. 이러한 경우, 현재의 상태값 S 230으로부터 작업 상태 3(삽입)로 작업 상태를 천이시키는 로봇(10)의 동작을 학습시켜도 되지만, 워크(100)를 상방으로 이동 시킴으로써 상태값을 S 1로 변화시키고(즉, 작업 상태 1(공중)로 천이시키고) 나서, 다시 워크(100)를 이동시켜 상태값을 S 210으로 변화시키도록, 로봇(10)을 동작시키는 것이, 작업의 완료를 빠르게 할 수 있다. 어느 쪽 동작이 보다 적절한가는, 예를 들어 로봇(10)의 동작이 완료될 때까지(즉, 작업 상태 4(완료)에 도달할 때까지)의 시간 등에 의해 평가해도 된다.
본 실시 형태에서는, 전환 장치(30)는 전환부(31)와, 변환부(32)를 구비하는데, 전환 장치(30)의 구성은 이것으로 한정되지 않는다. 예를 들어 전환 장치(30)에, 힘 센서(12)가 검지한 로봇(10)이 받은 힘과, 변환부(32)에 입력된 조작력에 기초하여, 변환부(32)가 동작 지령을 출력하는 것을 정지하도록 제어하는 규제부를 마련해도 좋다. 이에 따라, 상정되어 있지 않은 상황이 되었을 경우에 로봇(10)의 동작을 규제할 수 있다. 예를 들어 힘 센서(12)의 검출값이 역치 이상이 된 것, 작업자 조작력 또는 연산 조작력이 역치 이상이 된 것, 힘 센서(12)의 검출값이 계속해서 상승하고 있는데도 불구하고 동일한 방향으로 로봇(10)을 동작시키는 지시(조작력)이 계속해서 입력되고 있는 것 등을 검지함으로써, 로봇(10) 또는 주위 환경이 상정 외의 상황에 빠져 있다고 규제부가 판정했을 경우, 규제부는 변환부(32)가 동작 지령을 출력하는 것을 정지하도록 제어해도 된다.
본 실시 형태에서는, 스텝 S105의 처리 전후에 있어서(예를 들어 판정부(44)가 로봇(10)의 작업을 계속할 수 없다는 것을 나타내는 판정 결과를 출력했을 때), 제어부(40)는 전환 장치(30)가 작업자 조작력을 변환한 동작 지령을 출력하도록 설정을 변경하고, 스텝 S110 및 S111에 있어서, 추가 학습이 완료되었다고 판정했을 때, 제어부(40)는 전환 장치(30)가 연산 조작력을 변환한 동작 지령을 출력하도록 설정을 변경한다. 여기서, 제어부(40)(학습 제어부(42))은 전환 장치(30)가 작업자 조작력을 변환한 동작 지령을 출력하도록 설정을 변경하는 대신 연산 조작력의 출력을 중단하고, 전환 장치(30)가 연산 조작력을 변환한 동작 지령을 출력하도록 설정을 변경하는 대신 연산 조작력의 출력을 재개하도록 구성해도 된다. 이에 따라, 학습 제어부(42)에 의한 제어로 로봇(10)의 작업을 계속할 수 없을 때에, 연산 조작력에 의한 로봇(10)의 쓸데없는 동작의 우려를 억제할 수 있다.
이어서, 도 10 내지 도 15를 참조하여, 제2 실시 형태에 대해서 설명한다. 또한, 제2 실시 형태의 설명에 있어서는, 제1 실시 형태와 동일 또는 유사한 부재에는 도면에 동일한 부호를 부여하고, 설명을 생략하는 경우가 있다.
제2 실시 형태에서는, 로봇(10)에 의해 이루어지는 작업을 도 10에 도시하는 바와 같이 복수의 동작으로 나누어 분류한다. 구체적으로는, 동작 A에서는, 로봇(10)에 워크를 유지시킨 상태에서, 부재의 상방에 워크를 위치시켜, 당해 워크를 부재의 면에 접근시킨다. 동작 B에서는, 그대로 워크를 이동시키고, 당해 부재의 면에 워크를 접촉시킨다. 동작 C에서는, 개구부의 위치를 향하여 워크를 이동시킨다. 또한, 워크의 이동 시에, 워크가 부재의 면에 접촉한 상태를 유지한다. 동작 D에서는, 개구부의 내벽에 워크의 단부를 접촉시킨다. 동작 E에서는, 개구부에 워크를 삽입시킨다.
여기서, 제1 실시 형태에서 설명한 "작업 상태"와 제2 실시 형태의 "동작"은 유사한 개념이다. 예를 들어 제2 실시 형태에 있어서, 동작 A를 행하고 있는 동안을 작업 상태 A라고 파악하고, 동작 B를 행하고 있는 동안을 작업 상태 B라고 파악할 수도 있다(동작 C, D에 대해서도 동일).
이어서, 도 11을 참조하여, 제2 실시 형태의 로봇 시스템(1)에 대해서 설명한다. 제2 실시 형태에서는, 진행도 및 확신도를 취득하여 이용하는 점에 있어서, 상기의 제1 실시 형태와는 다르다. 제1 실시 형태에서 설명한 바와 같이, 제어부(40)는 기억부에 기억된 프로그램을 연산 장치가 판독하여 실행함으로써, 여러가지 수단으로서 기능할 수 있다. 제2 실시 형태의 제어부(40)는 추가로 진행도 취득부(51)와, 확신도 취득부(52)와, 진행도 감시부(56)와, 확신도 감시부(57)를 구비한다.
진행도 취득부(51)는 진행도를 취득한다. 진행도는, 상술한 기계 학습(추가 학습 포함)에 의해 구축된 모델의 출력에 기초하여 로봇(10)이 행하는 동작이, 일련의 작업 중에서 어느 진척 정도에 상당하는지에 대해서 평가하기 위해서 사용하는 파라미터이다. 본 실시 형태에서는, 진행도는 0 내지 100까지의 범위의 값을 취하고, 100에 가까울수록, 일련의 작업이 진행하고 있다는 것을 나타낸다.
도 12를 참조하여, 진행도의 산출에 대해서 설명한다. 본 실시 형태에서는, 도 12에 나타내는 바와 같이, 진행도는, 시계열적으로 취득할 수 있는 로봇(10)의 상태를 클러스터링하여 얻어지는 클러스터와, 로봇(10)의 동작 이력을 고려하여 산출된다.
상기한 로봇(10)의 상태는, 상태 검출 센서(11 내지 13) 로부터의 센서 정보 및 모델의 연산 조작력을 포함한 다차원의 벡터(특징 벡터)로서 표현할 수 있다. 특징 벡터는, 로봇(10)이 일련의 작업을 행하는 과정에서, 다양하게 변화한다. 특징 벡터는, 센서 정보 및 연산 조작력의 당해 시점에서의 값뿐만 아니라, 센서 정보 및 연산 조작력의 과거의 이력이 포함되어도 좋다.
이하의 설명에서는, 로봇(10) 및 그 주변의 상태와, 그에 따라 모델이 추정한 결과를 종합한 것을, 로봇(10)의 국면이라고 칭하는 경우가 있다. 전술한 특징 벡터로서, 로봇(10)의 국면을 나타내는 데이터(국면 데이터)가 사용된다. 국면 데이터는, 모델에 입력되는 입력 데이터(구체적으로는 센서 정보)와, 모델로부터 출력되는 출력 데이터(구체적으로는 연산 조작력)의 양쪽을 종합한 것에 상당한다.
클러스터링이란, 교사없는 학습의 1종이며, 다수의 데이터로부터 분포 법칙을 학습하고, 서로 특징이 비슷한 데이터의 종합인 복수의 클러스터를 취득하는 방법이다. 클러스터링의 방법으로서는, 공지의 비계층 클러스터링 방법을 적절하게 사용할 수 있다.
로봇(10)의 국면은, 상술한 동작(동작 A 내지 동작 E)별로 특징이 있다. 예를 들어 동작 A에서의 상태의 특징(즉, 동작 A 시에 취득하는 국면 데이터)은 동작 B에서의 상태의 특징과는 다르다. 따라서, 상술한 특징 벡터를 대상으로 하여 적당한 클러스터링을 행함으로써, 로봇(10)의 국면을 동작별로 분류할 수 있다.
학습 제어부(42)는 상기의 클러스터링 결과를 사용하여, 현재의 로봇(10)의 국면에 대응하는 진행도를 산출한다. 도 12에 나타내는 바와 같이, 진행도의 값은, 각 클러스터가 나타내는 동작의 순번을 따라서 단계적 또한 누적적으로 증가하도록 미리 정해진다. 로봇(10)의 일련의 작업은 특징 벡터를 시계열 순으로 배열한 것으로서 표현할 수 있으므로, 이 시계열순의 정보를 사용하여, 각 클러스터의 시계열순을 구할 수 있다.
학습 제어부(42)는 현시점의 로봇(10)의 국면을 나타내는 특징 벡터가 어느 클러스터에 속하는지를 계산에 의해 구하고, 당해 클러스터에 대응하는 진행도를, 진행도 취득부(51) 또는 확신도 취득부(52)의 요구에 따라서 출력한다. 특징 벡터가 어느 클러스터에 속하는지를 특정하기 위해서는, 예를 들어 각 클러스터의 무게 중심 위치와 특징 벡터와의 거리를 구하고, 거리가 최단이 되는 무게 중심을 갖는 클러스터를 구하면 좋다.
도 13에 나타내는 바와 같이, 로봇(10)의 작업이 진행하고 있을 경우(즉, 로봇(10)의 국면이 적절하게 천이하고 있을 경우), 시간의 경과에 따라 진행도의 값이 증가한다. 그러나, 로봇(10)의 작업이 진행하지 않을 경우(예를 들어 특정한 국면으로의 천이를 반복하는 경우), 시간이 경과해도 진행도의 값이 증가하지 않는다. 그 때문에, 유저는, 진행도의 변화를 봄으로써, 로봇(10)에 의한 자율작업이 진행하고 있는지 여부에 대해서, 용이하게 파악할 수 있다. 그 결과, 로봇(10)의 동작의 정체를 용이하게 발견할 수 있으므로, 당해 동작의 수정 등의 적절한 대응을 할 수 있다.
확신도 취득부(52)는 확신도를 취득한다. 확신도는, 로봇(10)의 동작이 확실한 것 같은지 여부(바꿔말하면, 모델이 추정하는 출력이 확실한 것 같은지 여부)에 대해서 평가하기 위해서 사용하는 파라미터이다.
학습 제어부(42)의 모델은, 로봇(10) 및 그 주변의 상태와, 그 때에 이루어진 유저의 조작에 의한 작업자 조작력과의 대응 관계를 미리 학습하고 있다. 바꿔 말하면, 모델은, 기지의 다수의 상태로부터 획득한 법칙에 기초하여 동작한다. 기계 학습 모델이 원래 갖는 범화 능력에 의해, 미지의 상황에 대해서도, 모델이 적절한 연산 조작력을 출력하는 것이 기대된다. 그러나, 인간이 지금까지의 과거의 경험으로부터 예측이 어려운 것 같은 전혀 신규 상황에 놓여졌을 때에, 확신을 가지고 행동하기 어려운 것과 마찬가지로, 모델의 입장에 서면, 지금까지 학습한 기지의 상태에서 먼 상태일수록, 추정 결과에 대한 확신을 갖기 어렵다고 할 수 있다. 확신도는, 이 의미에서, 추정의 정확도를 나타내는 것이다.
본 실시 형태에 있어서, 학습 제어부(42)에는, 로봇(10)의 국면을 판별하기 위한 확률적 판별기가, 기계 학습에 의해 구축되어 있다. 이 확률적 판별기는, 상술한 클러스터링에 의해 분류된 클러스터의 수에 따라, 복수 구비되어 있다.
예를 들어 동작 A의 클러스터의 확률적 판별기에 있어서는, 클러스터링에 의해 동작 A의 클러스터로 분류된 특징 벡터가 입력되었을 때는, 100에 가까운 값을 출력하고, 다른 동작의 클러스터로 분류된 특징 벡터가 입력되었을 때는, 0에 가까운 값을 출력하도록, 기계 학습이 이루어진다. 따라서, 학습이 완료된 확률적 판별기에, 현재의 로봇(10)의 국면을 나타내는 특징 벡터를 입력하면, 확률적 판별기는, 당해 국면이 동작 A다운지 여부를 나타내는 값을 출력한다. 이 값은, 현재의 로봇(10)의 국면이 동작 A일 확률(추정 확률)을 실질적으로 나타내고 있다고 할 수 있다. 다른 클러스터(다른 동작 B 내지 E)의 확률적 판별기에서도, 상기와 동일하게 학습이 이루어진다.
복수의 확률적 판별기의 각각에 특징 벡터를 입력함으로써, 현재의 상황이 동작 A 내지 E 중 어느 동작에 대응한다고 추정되는지, 또한 당해 추정이 확실할 것 같은지 여부를, 확률적 판별기에 기초하여 얻을 수 있다.
본 실시 형태에 있어서는 도 14에 도시하는 바와 같이, 확신도로서, 복수의 확률적 판별기가 출력하는 추정 확률 중, 최대의 값이 사용되고 있다. 기지의 로봇(10)의 국면(바꿔 말하면, 클러스터링에 의해 동작 A 내지 E 중 어느 것으로 분류되어 있는 국면)에 대하여 현재의 국면이 비슷한 경우에는, 확신도의 값이 커진다. 그 한편, 기존에 알려진 로봇(10)의 국면에 대하여 현재의 국면이 비슷하지 않은 경우에는, 확신도의 값이 작아진다.
도 15에 도시하는 바와 같이, 유저는, 예를 들어 일련의 작업 시에 있어서의 확신도의 값을 봄으로써, 로봇(10)의 동작이 확실할 것 같은지 여부에 대해서 평가할 수 있다. 즉, 모델이 기억하고 있지 않은 움직임을 할 경우, 확신도의 값이 저하된다. 따라서, 유저는, 일련의 작업에 있어서, 학습이 불충분한 동작이 포함되어 있는 것을 파악할 수 있다. 확신도가 작은 동작을, 제어부(40)가 자동적으로 검출해도 된다. 그 한편으로, 모델이 기억하고 있는 움직임을 할 경우, 확신도의 값이 상승한다. 따라서, 유저는, 어떤 국면에서의 로봇(10)의 동작이, 기지의 동작과 일치하고 있다는 것을 알 수도 있다.
또한, 유저는, 확신도의 값을 사용하여, 로봇(10)의 동작이 기지의 어느 상태(예를 들어 동작 A 내지 E 중 어느 것)에 도달하고 있는 것을 확인할 수도 있다.
진행도 감시부(56)는 전술한 진행도 취득부(51)가 취득하는 진행도를 감시한다. 진행도 감시부(56)는 도 13에 나타내는 바와 같이 소정 시간 진행도가 변화하지 않는 상황을 검지하여 로봇(10) 동작의 정체를 검출할 수 있다.
로봇(10) 동작의 정체를 진행도 감시부(56)가 검출했을 경우, 제어부(40)는 로봇(10)의 제어를 중지하고, 로봇(10)에 의한 작업을 정지시키는 처리를 행해도 좋다. 이 경우, 진행도 감시부(56)의 감시 결과에 기초하는 타임 아웃 기능(작업의 계속을 포기하는 기능)을 실현할 수 있다.
제2 실시 형태에서는, 이 타임 아웃 기능을 사용하여, 제1 실시 형태의 판정 공정(S103)이 이루어진다. 구체적으로는, 판정부(44)는 진행도 감시부(56)가 출력하는 진행도가 상승하지 않는 시간이 역치보다도 오랫동안 계속되었을 경우, 학습 제어부(42)에 의한 제어로 작업을 계속할 수 없다고 판정한다.
또한, 진행도는, 제1 실시 형태의 작업 상태 추정 처리(S102)에 있어서, 작업이 완료되었는지의 여부를 판정하는 처리에도 사용된다. 구체적으로는, 학습 제어부(42)는 현재가 동작 E에 대응하는 작업 상태이며 진행도가 역치(예를 들어 100) 이상인지의 여부를 판정하고, 진행도가 역치 이상일 경우에, 작업이 완료되었다고 판정한다.
확신도 감시부(57)는 확신도 취득부(52)가 취득하는 확신도를 감시한다. 확신도 감시부(57)는 확신도의 값을 상시 감시하여 도 15에 도시하는 바와 같이 확신도의 값이 소정값에 도달하지 않은 동작을 검출하거나, 미리 설정된 작업 상태에 대하여 현재의 작업 상태가 어느 정도 유사한지를 검출하거나 한다.
이 확신도는, 제1 실시 형태의 유사도 대신에 사용할 수 있다. 따라서, 학습 제어부(42)는 예를 들어 확신도 감시부(57)가 출력하는 확신도를 사용하여, 제1 실시 형태의 작업 상태 추정 처리(S102)를 행할 수 있다. 구체적으로는, 학습 제어부(42)는 현재의 작업 상태가 "완료"에 상당하는 작업 상태이며 또한 확신도가 역치 이상일 경우, 작업이 완료되었다고 판정한다.
또한, 제1 실시 형태에 있어서, 유사도는 판정 공정(S103) 등에도 사용되고 있기 때문에, 확신도를 사용하여 판정 공정 등을 행할 수도 있다. 구체적으로는, 판정부(44)는 확신도 감시부(57)가 출력하는 확신도에 기초하여, 현재의 확신도가 역치보다도 낮다고 판정했을 때에, 작업을 계속할 수 없다고 판정한다. 왜냐하면, 확신도가 낮은 경우, 현재의 작업 상태가 기지의 작업 상태와는 다를 가능성이 높기 때문이다.
또한, 확신도는, 제1 실시 형태의 유사도와 마찬가지로, 현재의 올바른 작업 상태를 작업자가 특정하기 위한 정보로서도 사용할 수 있다. 구체적으로는, 통지부(45)는 작업을 계속할 수 없다는 취지를 표시시키는 제1 통지 신호를 표시 장치(22)로 출력함과 함께, 확신도를 표시시키는 제2 통지 신호를 표시 장치(22)로 출력한다.
이와 같이, 진행도 및/또는 확신도를 사용함으로써, 작업의 진척 정도를 수치화할 수 있으므로, 보다 정확한 판단을 행할 수 있다.
이상에서 설명한 바와 같이 이 로봇 시스템(1)은 로봇(10)과, 상태 검출 센서(11 내지 13)와, 계시부(46)과, 학습 제어부(42)와, 판정부(44)와, 조작 장치(21)와, 입력부(23)와, 전환 장치(30)와, 추가 학습부(43)를 구비한다. 로봇(10)은 동작 지령에 기초하여 작업을 행한다. 상태 검출 센서(11 내지 13)는, 로봇(10)의 작업 진행 상태를 나타내는 상태값을 검출하여 출력한다. 계시부(46)는 소정의 시간 간격으로 타이머 신호를 출력한다. 학습 제어부(42)는 작업 상태 및 당해 작업 상태에 대응지어지는 다음 작업 상태와, 적어도 1조의 상태값 및 당해 상태값에 대응지어지는 조작력을 기계 학습함으로써 구축된 모델을 사용하고, 상태 검출 센서(11 내지 13)에 의해 검출된 상태값 및 타이머 신호에 기초하여, 연산 조작력을 출력한다. 판정부(44)는 상태 검출 센서(11 내지 13)에 의해 검출된 상태값에 기초하여, 학습 제어부(42)에 의한 제어로 로봇(10)의 작업을 계속 가능한지의 여부를 나타내는 판정 결과를 출력한다(판정 공정). 조작 장치(21)는 작업자가 조작하는 장치이며, 작업자가 가한 조작력인 작업자 조작력을 검출하여 출력한다. 입력부(23)(도시를 생략한 키)는 작업자에 의한 작업 상태의 입력을 접수하여 출력한다. 전환 장치(30)는 작업자 조작력 및 연산 조작력에 기초하여, 작업자 조작력 또는 연산 조작력 중 어느 것을 동작 지령으로 변환하여 출력한다. 추가 학습부(43)는 로봇(10)의 작업 계속을 할 수 없다는 것을 나타내는 판정 결과와, 입력부(23)가 출력한 작업 상태와, 조작 장치(21)가 출력한 작업자 조작력과, 상태 검출 센서(11 내지 13)가 검출한 상태값과, 타이머 신호에 기초하여, 작업 상태 및 당해 작업 상태에 대응지어지는 다음 작업 상태와, 적어도 1조의 상태값 및 당해 상태값에 대응지어지는 작업자 조작력을 추가 학습하여 모델을 갱신한다(추가 학습 공정).
이에 따라, 현재 및 다음 작업 상태와, 조작력과, 상태값을 추가 학습시킴으로써, 로봇(10)이 작업을 계속할 수 없게 되었을 경우에도, 로봇 시스템(1)측에서 자율적으로 해결하여 작업을 계속하는 것이 가능하게 된다.
또한, 상기 실시 형태의 로봇 시스템(1)에 있어서, 추가 학습부(43)는 상태값에 기초하여, 작업 상태에 대응지어지는 다음 작업 상태를 구하고(상태 천이 완료 판정 공정), 작업 상태 및 다음 작업 상태와, 상태값 및 작업자 조작력을 추가 학습하여 모델을 갱신한다.
또한, 상기 실시 형태의 로봇 시스템(1)에 있어서, 입력부(23)는 입력된 작업 상태에 대응지어지는 다음 작업 상태의 작업자에 의한 입력을 접수하여 추가 학습부(43)로 출력하고, 추가 학습부(43)는 작업 상태 및 다음 작업 상태와, 상태값 및 작업자 조작력을 추가 학습하여 모델을 갱신한다.
이에 따라, 작업 상태의 천이를 포함하도록 로봇(10)의 작업을 추가 학습할 수 있고, 로봇(10)의 작업을 보다 적절하게 추가 학습할 수 있다.
또한, 상기 실시 형태의 로봇 시스템(1)에 있어서, 추가 학습부(43)는 작업 상태가 다음 작업 상태와 다른 경우, 작업 상태 및 다음 작업 상태와, 복수 조의 상태값 및 당해 상태값에 대응지어지는 작업자 조작력을 추가 학습하여 모델을 갱신한다.
이에 따라, 로봇(10)의 동작을 높은 정밀도로 추가 학습할 수 있다.
또한, 상기 실시 형태의 로봇 시스템(1)에 있어서, 전환 장치(30)는 작업자 조작력 또는 연산 조작력 중 어느 것을 변환하는 것을 나타내는 설정 신호에 기초하여, 작업자 조작력 또는 연산 조작력 중 어느 것을 동작 지령으로 변환하여 출력한다.
이에 따라, 작업자가 로봇(10)을 동작시키는 상태와, 로봇 시스템(1)이 자율 운전을 행하는 상태를, 전환 장치(30)의 외부, 특히 제어부(40)로부터 전환할 수 있다.
또한, 상기 실시 형태의 로봇 시스템(1)에 있어서, 전환 장치(30)는 센서를 구비한다. 센서는, 조작 장치(21)가 출력한 작업자 조작력의 크기를 검지한다. 전환 장치(30)는 검지된 작업자 조작력의 크기에 기초하여, 작업자 조작력 또는 연산 조작력 중 어느 것을 동작 지령으로 변환하여 출력한다.
이에 따라, 전환 장치(30)는 작업자가 조작부(20)를 조작하고 있는 동안, 작업자가 로봇(10)을 동작시키는 상태로 할 수 있다.
또한, 상기 실시 형태의 로봇 시스템(1)에 있어서, 학습 제어부(42)는 로봇(10)의 작업을 계속할 수 없다는 것을 나타내는 판정 결과에 기초하여, 연산 조작력의 출력을 중단하고, 추가 학습이 완료되었다고 판정했을 때, 연산 조작력의 출력을 재개한다.
이에 따라, 학습 제어부(42)에 의한 제어로 로봇(10)의 작업을 계속할 수 없을 때에, 연산 조작력에 의한 로봇(10)의 쓸데없는 동작의 우려를 억제할 수 있다.
또한, 상기 실시 형태의 로봇 시스템(1)은 통지부(45)와, 표시 장치(22)를 구비한다. 통지부(45)는 로봇(10)의 작업 계속을 할 수 없다는 것을 나타내는 판정 결과에 기초하여, 통지 신호를 출력한다(통지 공정). 표시 장치(22)는 통지 신호에 기초하여 표시를 행한다.
이에 따라, 작업자는, 로봇(10)의 작업의 추가 학습을 필요로 하는 타이밍이나 추가 학습에 관련하는 정보 등을 적확하게 파악할 수 있다.
또한, 상기 실시 형태의 로봇 시스템(1)에 있어서, 학습 제어부(42)는 상태 검출 센서(11 내지 13)에 의해 검출된 상태값에 기초하여, 모델 내의 작업 상태에 대하여 현재의 상태값이 유사한 정도를 나타내는 유사도를 산출하여 출력하고, 통지부(45)는 당해 유사도 및 로봇(10)의 작업 계속을 할 수 없다는 것을 나타내는 판정 결과에 기초하여, 통지 신호(제1·제2 통지 신호)를 출력한다.
이에 따라, 통지된 유사도를, 표시 장치(22)가 표시하기 때문에, 작업자는 현재의 작업 상태를 적확하게 특정할 수 있다.
또한, 상기 실시 형태의 로봇 시스템(1)에 있어서, 학습 제어부(42)는 상태 검출 센서(11 내지 13)에 의해 검출된 상태값에 기초하여, 모델 내의 작업 상태에 대하여 현재의 상태값이 유사한 정도를 나타내는 유사도를 산출하여 출력하고, 판정부(44)는 상태값 및 유사도에 기초하여, 판정 결과를 출력한다.
예를 들어 유사도에 기초하여, 어느 작업 상태에 대해서도 유사하지 않다고 판정되는 경우에는, 미지의 상태이며, 로봇 시스템(1)측에서 작업을 계속하는 것이 곤란할 가능성이 높다. 이와 같이, 유사도를 사용함으로써 작업의 계속 여부를 적확하게 판정할 수 있다.
또한, 상기 실시 형태의 로봇 시스템(1)은 모델에 입력되는 입력 데이터에 따라 당해 모델이 연산 조작력을 추정하여 출력하는 경우의, 당해 추정의 정확도를 나타내는 확신도를 취득하는 확신도 취득부(52)를 구비한다. 통지부(45)는 당해 확신도 및 로봇(10)의 작업 계속을 할 수 없다는 것을 나타내는 판정 결과에 기초하여, 통지 신호를 출력한다.
이에 따라, 작업자는 표시 장치(22)에 표시된 확신도에 기초하여, 현재의 작업 상태를 적확하게 특정할 수 있다.
또한, 상기 실시 형태의 로봇 시스템(1)은 모델에 입력되는 입력 데이터에 따라 당해 모델이 연산 조작력을 추정하여 출력하는 경우의, 당해 추정의 정확도를 나타내는 확신도를 취득하는 확신도 취득부(52)를 구비한다. 판정부(44)는 확신도에 기초하여, 판정 결과를 출력한다.
예를 들어 확신도가 낮은 경우에는, 미지의 작업 상태 또는 그것과 유사한 상태이기 때문에, 로봇 시스템(1)측에서 작업을 계속하는 것이 곤란할 가능성이 높다. 이와 같이, 확신도를 사용함으로써 작업의 계속 여부를 적확하게 판정할 수 있다.
또한, 상기 실시 형태의 로봇 시스템(1)은 모델이 출력하는 연산 조작력에 기초하여 실현되는 로봇(10)의 작업 상태가, 로봇(10)의 작업 중 어느 진척 정도에 상당하는지를 나타내는 진행도를 취득하는 진행도 취득부(51)를 구비한다. 판정부(44)는 진행도에 기초하여, 판정 결과를 출력한다.
예를 들어 진행도가 변화하지 않을 경우에는, 로봇(10)에 의한 작업이 정체되어 있을 가능성이 높다. 이와 같이, 진행도를 사용함으로써 로봇 시스템(1)측에서 작업을 계속 가능한지를 적확하게 판정할 수 있다.
또한, 상기 실시 형태의 로봇 시스템(1)에 있어서, 추가 학습부(43)는 입력부(23)에 입력된 작업 상태가, 모델 내에 포함되어 있다고 판정했을 경우, 상태 검출 센서(11 내지 13)에 의해 검출된 상태값에 기초하여, 모델 내의 당해 작업 상태의 추정 기준을 수정한다(작업 상태 추정 기준 수정 공정).
이에 따라, 학습 제어부(42)가 작업 상태를 한층 적확하게 추정할 수 있는 모델을 설정할 수 있다.
또한, 상기 실시 형태의 로봇 시스템(1)에 있어서, 추가 학습부(43)는 입력부(23)에 입력된 작업 상태가, 모델 내에 포함되어 있지 않다고 판정했을 경우, 상태 검출 센서(11 내지 13)에 의해 검출된 상태값에 기초하여, 입력된 당해 작업 상태를 모델에 등록한다(작업 상태 등록 공정).
이에 따라, 사전의 기계 학습 시에 모든 작업 상태가 망라되어 있지 않은 경우이어도, 새로운 작업 상태를 추가 학습시킬 수 있다.
또한, 상기 실시 형태의 로봇 시스템(1)에 있어서, 계시부(46)는 트리거 신호에 기초하여, 당해 트리거 신호의 수신 시부터 소정의 시간 간격으로 타이머 신호를 출력하고, 학습 제어부(42)는 연산 조작력의 출력을 개시할 때에 트리거 신호를 출력하고, 추가 학습부(43)는 작업자 조작력의 입력을 검지했을 때에 트리거 신호를 출력한다.
이에 따라, 로봇(10)의 동작 추가 학습 및 로봇(10)의 동작으로 발생하는 지연의 영향을 적게 할 수 있다.
이상으로 본 발명의 적합한 실시 형태를 설명했지만, 상기의 구성은 예를 들어 이하와 같이 변경할 수 있다.
도 5의 흐름도 내용은 일례이며, 처리의 추가, 처리의 생략, 처리의 순서 변경 등을 행해도 된다. 예를 들어 유사도를 표시하지 않고 작업자가 작업 상태를 특정할 수 있을 것 같은 장면에서는, 유사도의 산출 및 출력을 생략해도 된다. 또한, 추가 학습에 관한 데이터를 축적해 두고, 어느 정도 데이터가 축적된 후에 추가 학습을 행하게 해도 좋다.
상태값으로서 든 데이터는 일례이며, 다른 데이터를 상태값으로서 사용해도 좋다. 예를 들어 방향에 관한 데이터를 상태값으로서 사용하는 경우, 로봇(10)과 작업자(조작 장치(21) 및 표시 장치 (22))가 공통인 좌표계에서의 데이터를 사용함으로써 처리를 단순하게 할 수 있다.
상기 실시 형태에서는, 로봇 시스템(1)을 구성하는 각 장치가 동일한 작업 현장에 배치되는 것을 상정하고 있는데, 네트워크로 정보를 교환할 수 있는 것이면, 적어도 하나의 장치(예를 들어 조작 장치(21))가 원격지에 배치되어 있어도 좋다. 또한, 제어부(40)가 갖는 기능의 적어도 일부가, 물리적으로 떨어진 위치에 배치되어 있어도 좋다. 또한, 조작 장치(21)를 구비하고 있지 않은 로봇 시스템(1)에 대해서도 본 발명을 적용할 수 있다.
진행도 및 확신도가 취할 수 있는 범위는 임의이며, 예를 들어 0 내지 1까지로 할 수도 있다.
상기 실시 형태에서는, 로봇(10)은 받침대부에 설치되어 있지만, 자율적으로 주행 가능한 구성이어도 좋다. 또한, 로봇(10)은 아암부 이외의 부재로 작업을 행하는 구성이어도 좋다.
1 로봇 시스템
10 로봇
11 동작 센서
12 힘 센서
13 카메라
21 조작 장치
22 표시 장치
23 입력부
30 전환 장치
40 제어부
41 통신부
42 학습 제어부
43 추가 학습부
44 판정부
45 통지부
46 계시부

Claims (17)

  1. 동작 지령에 기초하여 작업을 행하는 로봇과,
    상기 로봇의 작업 진행 상태를 나타내는 상태값을 검출하여 출력하는 상태 검출 센서와,
    소정의 시간 간격으로 타이머 신호를 출력하는 계시부와,
    작업 상태 및 당해 작업 상태에 대응지어지는 다음 작업 상태와, 적어도 1조의 상기 상태값 및 당해 상태값에 대응지어지는 조작력을 기계 학습함으로써 구축된 모델을 사용하여, 상기 상태 검출 센서에 의해 검출된 상기 상태값 및 상기 타이머 신호에 기초하여, 연산 조작력을 출력하는 학습 제어부와,
    상기 상태 검출 센서에 의해 검출된 상기 상태값에 기초하여, 상기 학습 제어부에 의한 제어로 상기 로봇의 작업을 계속 가능한지의 여부를 나타내는 판정 결과를 출력하는 판정부와,
    작업자가 조작하는 장치로서, 작업자가 가한 조작력인 작업자 조작력을 검출하여 출력하는 조작 장치와,
    작업자에 의한 상기 작업 상태의 입력을 접수하여 출력하는 입력부와,
    상기 작업자 조작력 및 상기 연산 조작력에 기초하여, 상기 작업자 조작력 또는 상기 연산 조작력 중 어느 것을 상기 동작 지령으로 변환하여 출력하는 전환 장치와,
    상기 로봇의 작업을 계속할 수 없다는 것을 나타내는 상기 판정 결과와, 상기 입력부가 출력한 상기 작업 상태와, 상기 조작 장치가 출력한 상기 작업자 조작력과, 상기 상태 검출 센서가 검출한 상기 상태값과, 상기 타이머 신호에 기초하여, 상기 작업 상태 및 당해 작업 상태에 대응지어지는 상기 다음 작업 상태와, 적어도 1조의 상기 상태값 및 당해 상태값에 대응지어지는 상기 작업자 조작력을 추가 학습하여 상기 모델을 갱신하는 추가 학습부
    를 구비하는 것을 특징으로 하는 로봇 시스템.
  2. 제1항에 있어서, 상기 추가 학습부는, 상기 상태값에 기초하여, 상기 작업 상태에 대응지어지는 상기 다음 작업 상태를 구하고, 상기 작업 상태 및 상기 다음 작업 상태와, 상기 상태값 및 상기 작업자 조작력을 추가 학습하여 상기 모델을 갱신하는 것을 특징으로 하는 로봇 시스템.
  3. 제1항에 있어서, 상기 입력부는, 입력된 상기 작업 상태에 대응지어지는 상기 다음 작업 상태의 작업자에 의한 입력을 접수하여 상기 추가 학습부로 출력하고,
    상기 추가 학습부는, 상기 작업 상태 및 상기 다음 작업 상태와, 상기 상태값 및 작업자 조작력을 추가 학습하여 상기 모델을 갱신하는 것을 특징으로 하는 로봇 시스템.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 추가 학습부는, 상기 작업 상태가 상기 다음 작업 상태와 다른 경우, 상기 작업 상태 및 상기 다음 작업 상태와, 복수 조의 상기 상태값 및 당해 상태값에 대응지어지는 상기 작업자 조작력을 추가 학습하여 상기 모델을 갱신하는 것을 특징으로 하는 로봇 시스템.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 전환 장치는, 상기 작업자 조작력 또는 상기 연산 조작력 중 어느 것을 변환하는 것을 나타내는 설정 신호에 기초하여, 상기 작업자 조작력 또는 상기 연산 조작력 중 어느 것을 상기 동작 지령으로 변환하여 출력하는 것을 특징으로 하는 로봇 시스템.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 전환 장치는, 상기 조작 장치가 출력한 상기 작업자 조작력의 크기를 검지하는 센서를 구비하고,
    상기 전환 장치는, 검지된 상기 작업자 조작력의 크기에 기초하여, 상기 작업자 조작력 또는 상기 연산 조작력 중 어느 것을 상기 동작 지령으로 변환하여 출력하는 것을 특징으로 하는 로봇 시스템.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 학습 제어부는, 상기 로봇의 작업을 계속할 수 없다는 것을 나타내는 상기 판정 결과에 기초하여, 상기 연산 조작력의 출력을 중단하고, 추가 학습이 완료되었다고 판정했을 때, 상기 연산 조작력의 출력을 재개하는 것을 특징으로 하는 로봇 시스템.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 로봇의 작업을 계속할 수 없다는 것을 나타내는 상기 판정 결과에 기초하여, 통지 신호를 출력하는 통지부와,
    상기 통지 신호에 기초하여 표시를 행하는 표시 장치
    를 구비하는 것을 특징으로 하는 로봇 시스템.
  9. 제8항에 있어서, 상기 학습 제어부는, 상기 상태 검출 센서에 의해 검출된 상기 상태값에 기초하여, 상기 모델 내의 상기 작업 상태에 대하여 현재의 상기 상태값이 유사한 정도를 나타내는 유사도를 산출하여 출력하고,
    상기 통지부는, 당해 유사도 및 상기 로봇의 작업 계속을 할 수 없다는 것을 나타내는 상기 판정 결과에 기초하여, 상기 통지 신호를 출력하는 것을 특징으로 하는 로봇 시스템.
  10. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 학습 제어부는, 상기 상태 검출 센서에 의해 검출된 상기 상태값에 기초하여, 상기 모델 내의 상기 작업 상태에 대하여 현재의 상기 상태값이 유사한 정도를 나타내는 유사도를 산출하여 출력하고,
    상기 판정부는, 상기 상태값 및 상기 유사도에 기초하여, 상기 판정 결과를 출력하는 것을 특징으로 하는 로봇 시스템.
  11. 제8항에 있어서, 상기 모델에 입력되는 입력 데이터에 따라 당해 모델이 상기 연산 조작력을 추정하여 출력하는 경우의, 당해 추정의 정확도를 나타내는 확신도를 취득하는 확신도 취득부를 구비하고,
    상기 통지부는, 당해 확신도 및 상기 로봇의 작업 계속을 할 수 없다는 것을 나타내는 상기 판정 결과에 기초하여, 상기 통지 신호를 출력하는 것을 특징으로 하는 로봇 시스템.
  12. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 모델에 입력되는 입력 데이터에 따라 당해 모델이 상기 연산 조작력을 추정하여 출력하는 경우의, 당해 추정의 정확도를 나타내는 확신도를 취득하는 확신도 취득부를 구비하고,
    상기 판정부는, 상기 확신도에 기초하여, 상기 판정 결과를 출력하는 것을 특징으로 하는 로봇 시스템.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 모델이 출력하는 상기 연산 조작력에 기초하여 실현되는 상기 로봇의 작업 상태가, 상기 로봇의 작업 중 어느 진척 정도에 상당하는지를 나타내는 진행도를 취득하는 진행도 취득부를 구비하고,
    상기 판정부는, 상기 진행도에 기초하여, 상기 판정 결과를 출력하는 것을 특징으로 하는 로봇 시스템.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서, 상기 추가 학습부는, 상기 입력부에 입력된 상기 작업 상태가, 상기 모델 내에 포함되어 있다고 판정했을 경우, 상기 상태 검출 센서에 의해 검출된 상기 상태값에 기초하여, 상기 모델 내의 당해 작업 상태의 추정 기준을 수정하는 것을 특징으로 하는 로봇 시스템.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서, 상기 추가 학습부는, 상기 입력부에 입력된 상기 작업 상태가, 상기 모델 내에 포함되어 있지 않다고 판정했을 경우, 상기 상태 검출 센서에 의해 검출된 상기 상태값에 기초하여, 입력된 당해 작업 상태를 상기 모델에 등록하는 것을 특징으로 하는 로봇 시스템.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서, 상기 계시부는, 트리거 신호에 기초하여, 당해 트리거 신호의 수신 시부터 상기 소정의 시간 간격으로 상기 타이머 신호를 출력하고,
    상기 학습 제어부는, 상기 연산 조작력의 출력을 개시할 때에 상기 트리거 신호를 출력하고,
    상기 추가 학습부는, 상기 작업자 조작력의 입력을 검지했을 때에 상기 트리거 신호를 출력하는 것을 특징으로 하는 로봇 시스템.
  17. 동작 지령에 기초하여 작업을 행하는 로봇과,
    상기 로봇의 작업 진행 상태를 나타내는 상태값을 검출하여 출력하는 상태 검출 센서와,
    소정의 시간 간격으로 타이머 신호를 출력하는 계시부와,
    작업 상태 및 당해 작업 상태에 대응지어지는 다음 작업 상태와, 적어도 1조의 상기 상태값 및 당해 상태값에 대응지어지는 조작력을 기계 학습함으로써 구축된 모델을 사용하여, 상기 상태 검출 센서에 의해 검출된 상기 상태값 및 상기 타이머 신호에 기초하여, 연산 조작력을 출력하는 학습 제어부와,
    작업자가 조작하는 장치로서, 작업자가 가한 조작력인 작업자 조작력을 검출하여 출력하는 조작 장치와,
    상기 작업자 조작력 및 상기 연산 조작력에 기초하여, 상기 작업자 조작력 또는 상기 연산 조작력 중 어느 것을 상기 동작 지령으로 변환하여 출력하는 전환 장치
    를 구비하는 로봇 시스템에 대하여
    상기 상태 검출 센서에 의해 검출된 상기 상태값에 기초하여, 상기 학습 제어부에 의한 제어로 상기 로봇의 작업을 계속 가능한지의 여부를 나타내는 판정 결과를 출력하는 판정 공정과,
    상기 작업 상태와, 상기 조작 장치로부터의 상기 작업자 조작력과의 입력을 접수하는 입력 접수 공정과,
    상기 로봇의 작업을 계속할 수 없다는 것을 나타내는 상기 판정 결과와, 입력된 상기 작업 상태와, 입력된 상기 작업자 조작력과, 상기 상태 검출 센서가 검출한 상기 상태값과, 상기 타이머 신호에 기초하여, 상기 작업 상태 및 당해 작업 상태에 대응지어지는 상기 다음 작업 상태와, 적어도 1조의 상기 상태값 및 당해 상태값에 대응지어지는 상기 작업자 조작력을 추가 학습하여 상기 모델을 갱신하는 추가 학습 공정
    을 포함하는 처리를 행하는 것을 특징으로 하는 추가 학습 방법.
KR1020207035037A 2018-05-25 2019-05-24 로봇 시스템 및 추가 학습 방법 KR102403073B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JPJP-P-2018-100520 2018-05-25
JP2018100520 2018-05-25
JPJP-P-2018-245459 2018-12-27
JP2018245459 2018-12-27
PCT/JP2019/020697 WO2019225746A1 (ja) 2018-05-25 2019-05-24 ロボットシステム及び追加学習方法

Publications (2)

Publication Number Publication Date
KR20210006431A true KR20210006431A (ko) 2021-01-18
KR102403073B1 KR102403073B1 (ko) 2022-05-30

Family

ID=68616335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207035037A KR102403073B1 (ko) 2018-05-25 2019-05-24 로봇 시스템 및 추가 학습 방법

Country Status (6)

Country Link
US (1) US11858140B2 (ko)
EP (1) EP3804918A4 (ko)
JP (1) JP7167141B2 (ko)
KR (1) KR102403073B1 (ko)
CN (1) CN112203812B (ko)
WO (1) WO2019225746A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018146770A1 (ja) * 2017-02-09 2018-08-16 三菱電機株式会社 位置制御装置及び位置制御方法
JP7117237B2 (ja) * 2018-12-27 2022-08-12 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
WO2020138436A1 (ja) * 2018-12-27 2020-07-02 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
JP7463777B2 (ja) 2020-03-13 2024-04-09 オムロン株式会社 制御装置、学習装置、ロボットシステム、および方法
US11472025B2 (en) * 2020-05-21 2022-10-18 Intrinsic Innovation Llc Robotic demonstration learning device
JP2022023737A (ja) 2020-07-27 2022-02-08 トヨタ自動車株式会社 ロータの組立方法及びロータ組立装置の制御装置
JP2022073192A (ja) * 2020-10-30 2022-05-17 セイコーエプソン株式会社 ロボットの制御方法
JP2023072601A (ja) * 2021-11-12 2023-05-24 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009125920A (ja) * 2007-11-28 2009-06-11 Mitsubishi Electric Corp ロボットの作業動作最適化装置
JP2016159407A (ja) * 2015-03-03 2016-09-05 キヤノン株式会社 ロボット制御装置およびロボット制御方法
JP2017007064A (ja) 2015-06-25 2017-01-12 ダイハツ工業株式会社 組立方法
JP2017030135A (ja) 2015-07-31 2017-02-09 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3832517B2 (ja) * 1996-07-05 2006-10-11 セイコーエプソン株式会社 ロボット用コントローラ及びその制御方法
JP4169063B2 (ja) * 2006-04-06 2008-10-22 ソニー株式会社 データ処理装置、データ処理方法、及びプログラム
CN101433491B (zh) * 2008-12-05 2010-12-22 华中科技大学 多自由度的穿戴式手功能康复训练机器人及其控制系统
JP5522403B2 (ja) * 2010-12-28 2014-06-18 株式会社安川電機 ロボットシステム及びロボットの状態判定方法
EP2637594A4 (en) 2010-11-11 2015-05-06 Univ Johns Hopkins ROBOT SYSTEMS FOR HUMAN MACHINE COLLABORATION
JP5803155B2 (ja) * 2011-03-04 2015-11-04 セイコーエプソン株式会社 ロボット位置検出装置及びロボットシステム
US11074495B2 (en) * 2013-02-28 2021-07-27 Z Advanced Computing, Inc. (Zac) System and method for extremely efficient image and pattern recognition and artificial intelligence platform
US9085080B2 (en) * 2012-12-06 2015-07-21 International Business Machines Corp. Human augmentation of robotic work
JP2014128857A (ja) * 2012-12-28 2014-07-10 Yaskawa Electric Corp ロボット教示システムおよびロボット教示方法
DE102016009030B4 (de) * 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102017000063B4 (de) * 2016-01-14 2019-10-31 Fanuc Corporation Robotereinrichtung mit Lernfunktion
WO2017130286A1 (ja) * 2016-01-26 2017-08-03 富士機械製造株式会社 ジョブ作成装置および作業システム並びに作業ロボットの制御装置
JP6567998B2 (ja) 2016-03-23 2019-08-28 国立大学法人 東京大学 制御方法
JP6457421B2 (ja) 2016-04-04 2019-01-23 ファナック株式会社 シミュレーション結果を利用して学習を行う機械学習装置,機械システム,製造システムおよび機械学習方法
US9751212B1 (en) 2016-05-05 2017-09-05 Toyota Jidosha Kabushiki Kaisha Adapting object handover from robot to human using perceptual affordances
CN107536698B (zh) * 2016-06-29 2022-06-03 松下知识产权经营株式会社 行走辅助机器人以及行走辅助方法
US10186130B2 (en) * 2016-07-28 2019-01-22 The Boeing Company Using human motion sensors to detect movement when in the vicinity of hydraulic robots
JP6431017B2 (ja) * 2016-10-19 2018-11-28 ファナック株式会社 機械学習により外力の検出精度を向上させた人協調ロボットシステム
JP6392825B2 (ja) * 2016-11-01 2018-09-19 ファナック株式会社 学習制御機能を備えたロボット制御装置
JP2018126798A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
US10807242B2 (en) * 2017-12-13 2020-10-20 Verb Surgical Inc. Control modes and processes for positioning of a robotic manipulator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009125920A (ja) * 2007-11-28 2009-06-11 Mitsubishi Electric Corp ロボットの作業動作最適化装置
JP2016159407A (ja) * 2015-03-03 2016-09-05 キヤノン株式会社 ロボット制御装置およびロボット制御方法
JP2017007064A (ja) 2015-06-25 2017-01-12 ダイハツ工業株式会社 組立方法
JP2017030135A (ja) 2015-07-31 2017-02-09 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法

Also Published As

Publication number Publication date
US11858140B2 (en) 2024-01-02
US20210197369A1 (en) 2021-07-01
KR102403073B1 (ko) 2022-05-30
WO2019225746A1 (ja) 2019-11-28
CN112203812B (zh) 2023-05-16
EP3804918A1 (en) 2021-04-14
CN112203812A (zh) 2021-01-08
JP7167141B2 (ja) 2022-11-08
JPWO2019225746A1 (ja) 2021-06-10
EP3804918A4 (en) 2022-03-30

Similar Documents

Publication Publication Date Title
KR20210006431A (ko) 로봇 시스템 및 추가 학습 방법
US9108321B2 (en) Motion prediction control device and method
JP5550671B2 (ja) 自律走行ロボット及び自律走行ロボットの走行制御方法
JP4746349B2 (ja) ロボット行動選択装置及びロボット行動選択方法
JP2023504220A (ja) 軌道中心モデルに基づく強化学習のロバスト最適化を行うためのシステムおよび方法
KR102477585B1 (ko) 로봇 시스템 및 로봇 제어방법
JP5733518B2 (ja) 運動予測制御装置と方法
JP5169273B2 (ja) 移動ロボットの制御装置および移動ロボットシステム
JP2012247835A (ja) ロボットの運動予測制御方法と装置
JP6758915B2 (ja) 自律作業制御システムおよび自律作業制御方法
JP5733516B2 (ja) 移動体把持装置と方法
KR102243052B1 (ko) 사용자의 적어도 한 가지 움직임을 보조하기 위한 방법 및 이에 대응되는 장치
US20220371203A1 (en) Assistance for robot manipulation
US20240139950A1 (en) Constraint condition learning device, constraint condition learning method, and storage medium
US20220080603A1 (en) Image analysis system
WO2022264333A1 (ja) 遠隔作業装置の制御装置、制御方法及び制御プログラム
Araujo et al. Path planning-by-learning with a Nomad 200 mobile robot
Zhang et al. Comparison of two strategies of path planning for underwater robot navigation under uncertainty

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant