KR102536129B1 - Processing apparatus and processing method for processing portion - Google Patents

Processing apparatus and processing method for processing portion Download PDF

Info

Publication number
KR102536129B1
KR102536129B1 KR1020190083565A KR20190083565A KR102536129B1 KR 102536129 B1 KR102536129 B1 KR 102536129B1 KR 1020190083565 A KR1020190083565 A KR 1020190083565A KR 20190083565 A KR20190083565 A KR 20190083565A KR 102536129 B1 KR102536129 B1 KR 102536129B1
Authority
KR
South Korea
Prior art keywords
value
sensor
predetermined
sensor value
processing unit
Prior art date
Application number
KR1020190083565A
Other languages
Korean (ko)
Other versions
KR20200011360A (en
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 KR20200011360A publication Critical patent/KR20200011360A/en
Application granted granted Critical
Publication of KR102536129B1 publication Critical patent/KR102536129B1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0275Fault isolation and identification, e.g. classify fault; estimate cause or root of failure
    • G05B23/0281Quantitative, e.g. mathematical distance; Clustering; Neural networks; Statistical analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0283Predictive maintenance, e.g. involving the monitoring of a system and, based on the monitoring results, taking decisions on the maintenance schedule of the monitored system; Estimating remaining useful life [RUL]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39412Diagnostic of robot, estimation of parameters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39413Robot self diagnostics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Manipulator (AREA)

Abstract

처리장치는 처리부를 구비한다. 이 처리부는, 제1센서를 구비하는 소정장치로부터, 상기 소정장치의 동작에 대응해서 출력되는 상기 제1센서의 센서 값을 시계열로 취득하고, 상기 제1센서의 센서 값을 소정조건에 근거하여 구분하고, 구분한 상기 제1센서의 센서 값을 클러스터링 한다.The processing device has a processing unit. This processing unit obtains, in time series, a sensor value of the first sensor that is output in response to an operation of the predetermined device from a predetermined device including the first sensor, and determines the sensor value of the first sensor based on predetermined conditions. and clustering the sensor values of the first sensor.

Figure R1020190083565
Figure R1020190083565

Description

처리장치, 및 처리부의 처리방법{PROCESSING APPARATUS AND PROCESSING METHOD FOR PROCESSING PORTION}Processing device and processing method of processing unit {PROCESSING APPARATUS AND PROCESSING METHOD FOR PROCESSING PORTION}

본 발명은, 처리장치의 기술에 관한 것이다.The present invention relates to the technology of a processing device.

다관절의 로봇 암등을 움직이는 장치에 있어서는, 그 보수의 효율화가 과제로 되어 있다. 예를 들면, 로봇 암이 로봇 암의 감속기나 베어링의 파손으로 인해 고장났을 경우, 로봇 암은 생산 라인을 정지시켜서 수리된다. 이 때문에, 장치의 고장이 일어나기 전에 정기적인 점검시에 그 장치의 보전을 행하는 것이 요구된다.In a device that moves an articulated robot arm or the like, efficiency in maintenance has become a subject. For example, when a robot arm breaks down due to damage to a reducer or bearing of the robot arm, the robot arm is repaired by stopping the production line. For this reason, it is required to maintain the device at the time of periodic inspection before failure of the device occurs.

일본 특허공개소 63-123105호 공보에는, 정상상태의 장치를 동작시켜서 기준값을 취득하고, 기준값과 실측값과의 괴리에 근거해서 장치의 고장을 예지하는 방법이 개시되어 있다. 일본 특허공개평 5-77143호 공보에는, 장치의 시뮬레이션 결과를 기준값으로 해서 기준값과 실측값과의 괴리에 근거해서 장치의 고장을 예지하는 방법이 개시되어 있다.Japanese Patent Laid-open Publication No. 63-123105 discloses a method of operating a device in a steady state to obtain a reference value and predicting a failure of the device based on a discrepancy between the reference value and the measured value. Japanese Unexamined Patent Publication No. 5-77143 discloses a method for predicting failure of a device based on a discrepancy between a reference value and an actually measured value using a simulation result of the device as a reference value.

장치의 동작에는, 복수의 종류가 있다. 로봇 암을 예로서 들면, 2종류의 동작이 알려져 있다. 첫번째는, 티칭(teaching)/플레이백 제어등, 매회 반복되는 같은 동작이다. 두번째는, 시각 센서를 사용한 랜덤 픽킹 제어, 또는 역각 센서를 사용한 힘 제어등, 매회 다른 동작이다. 이것들 2종류의 동작을 조합하는 것으로, 로봇 암의 일련의 동작이 실현된다.There are a plurality of types of operation of the device. Taking a robot arm as an example, two types of motions are known. The first is the same operation repeated every time, such as teaching/playback control. The second is a different operation each time, such as random picking control using a visual sensor or force control using a force sensor. By combining these two types of motions, a series of motions of the robot arm are realized.

그건 그렇고, 장치의 고장을 예지하는 방법은, 대상 장치의 동작의 종류에 따라 변경하는 것이 바람직하다. 예를 들면, 로봇 암의 경우, 티칭/플레이백 제어에 있어서는, 일본 특허공개소 63-123105호 공보에 개시되어 있는 방법이 바람직하고, 랜덤 픽킹 제어나 힘 제어에 있어서는, 일본 특허공개평 5-77143호 공보에 개시되어 있는 방법이 바람직하다. 그렇지만, 장치의 고장을 예지하는데 사용된 처리장치는, 대상 장치가 어느 종류의 동작을 수행하는지를 나타내는 정보를 수신할 수 있다고는 할 수 없다.By the way, it is preferable to change the method for predicting device failure according to the type of operation of the target device. For example, in the case of a robot arm, for teaching/playback control, the method disclosed in Japanese Patent Laid-Open Publication No. 63-123105 is preferable, and for random picking control and force control, Japanese Patent Laid-Open No. 5- The method disclosed in Publication No. 77143 is preferred. However, it cannot be said that the processing unit used to predict device failure can receive information indicating what kind of operation the target device is performing.

본 발명의 제1 국면에 의하면, 처리장치는 처리부를 구비한다. 이 처리부는, 제1센서를 구비하는 소정장치로부터, 상기 소정장치의 동작에 대응해서 출력되는 상기 제1센서의 센서 값을 시계열로 취득하고, 상기 제1센서의 센서 값을 소정조건에 근거하여 구분하고, 구분한 상기 제1센서의 센서 값을 클러스터링 한다.According to the first aspect of the present invention, a processing device includes a processing unit. This processing unit obtains, in time series, a sensor value of the first sensor that is output in response to an operation of the predetermined device from a predetermined device including the first sensor, and determines the sensor value of the first sensor based on predetermined conditions. and clustering the sensor values of the first sensor.

본 발명의 제2 국면에 의하면, 처리부의 처리방법은, 제1센서를 구비하는 소정장치로부터, 상기 소정장치의 동작에 대응해서 출력되는 상기 제1센서의 센서 값을 시계열로 취득하는 단계; 상기 제1센서의 센서 값을 소정의 조건에 근거하여 구분하는 단계; 및 구분한 상기 제1센서의 센서 값을 클러스터링 하는 단계를 포함한다.According to a second aspect of the present invention, a processing method of a processing unit includes: obtaining, from a predetermined device having a first sensor, a sensor value of a first sensor output corresponding to an operation of the predetermined device in time series; classifying the sensor value of the first sensor based on a predetermined condition; and clustering the sensor values of the first sensors.

본 발명의 또 다른 특징들은, 첨부도면을 참조하여 이하의 실시예들의 설명으로부터 명백해질 것이다.Further features of the present invention will become apparent from the following description of embodiments with reference to the accompanying drawings.

도1은 실시예에 따른 생산 시스템의 일례인 로봇 장치의 모식적 사시도다.
도2는 그 실시예에 따른 로봇 암의 관절의 단면 모식도다.
도3은 그 실시예에 따른 로봇 장치의 제어계를 나타내는 블록도다.
도4는 그 실시예에 따른 모터 제어장치의 블록도다.
도5는 그 실시예에 따른 처리방법을 실행하는 처리장치의 기능 블록도다.
도6a는 그 실시예에 따른 인코더 값의 예를 나타내는 도다.
도6b는 그 실시예에 따른 토크(torque) 전류값의 예를 도다.
도7은 그 실시예에 따른 클러스터의 예를 나타내는 도다.
1 is a schematic perspective view of a robot device as an example of a production system according to an embodiment.
2 is a schematic cross-sectional view of joints of a robot arm according to the embodiment.
Fig. 3 is a block diagram showing the control system of the robot device according to the embodiment.
4 is a block diagram of a motor control device according to the embodiment.
Fig. 5 is a functional block diagram of a processing device executing a processing method according to the embodiment.
Fig. 6A is a diagram showing an example of encoder values according to the embodiment.
6B shows an example of a torque current value according to the embodiment.
Fig. 7 is a diagram showing an example of a cluster according to the embodiment.

이하, 본 발명의 실시예를 도면을 참조하여 상세히 설명한다. 도1은, 실시예에 따른 생산 시스템의 일례인 로봇 장치(100)의 모식적 사시도다. 로봇 장치(100)는, 로봇(250)과, 교시 펜던트(400)와, 처리장치(1000)와, 시각 센서(800)를 구비한다. 로봇(250)은, 조립 동작 등을 행하는 산업용 로봇이다. 처리장치(1000)는, 처리장치 본체(500)와, 표시장치(600)와, 입력장치(700)를 구비한다. 표시장치(600)는, 유저에 음성, 화상, 문장등으로 경고를 발행하는 장치의 일례다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Fig. 1 is a schematic perspective view of a robot device 100 as an example of a production system according to an embodiment. The robot device 100 includes a robot 250 , a teaching pendant 400 , a processing device 1000 , and a visual sensor 800 . The robot 250 is an industrial robot that performs an assembly operation or the like. The processing device 1000 includes a processing device body 500 , a display device 600 , and an input device 700 . The display device 600 is an example of a device that issues a warning to a user by voice, image, text, or the like.

로봇(250)은, 매니퓰레이터(manipulator)인 다관절의 로봇 암(200)과, 로봇 암(200)을 제어하는 로봇 콘트롤러(300)를 구비한다. 로봇 암(200)은, 소정장치의 일례이며, 생산 장치의 일례다. 로봇 콘트롤러(300)는, 제1워크피스(workpiece)인 워크피스W1을 물품W0을 제조하는 제2워크피스인 워크피스W2에 맞붙이는 동작을, 로봇 암(200)이 수행하게 한다. 로봇 암(200)은, 암 본체(201)와, 암 본체(201)의 선단에 설치된 엔드 이펙터(end effector)의 일례인 핸드(202)를 구비한다. 그 핸드(202)는 로봇 암(200)의 선단부다. 핸드(202)는, 물체, 예를 들면 워크피스W1, 부품, 툴, 지그(jig), 또는 카메라를 파지가능한 파지부다. 암 본체(201)와 핸드(202)와의 사이에는, 역각 센서(280)가 설치된다.The robot 250 includes an articulated robot arm 200 serving as a manipulator and a robot controller 300 that controls the robot arm 200 . The robot arm 200 is an example of a predetermined device and an example of a production device. The robot controller 300 causes the robot arm 200 to perform an operation of attaching the workpiece W1, which is a first workpiece, to the workpiece W2, which is a second workpiece for manufacturing the article W0. The robot arm 200 includes an arm body 201 and a hand 202 that is an example of an end effector installed on the front end of the arm body 201 . The hand 202 is the distal end of the robot arm 200. The hand 202 is a gripping portion capable of gripping an object, for example, a workpiece W1, a part, a tool, a jig, or a camera. A force sensor 280 is installed between the arm body 201 and the hand 202 .

로봇 콘트롤러(300), 로봇 암(200), 교시 펜던트(400) 및 처리장치 본체(500)는, 서로 통신가능하게 접속되어 있다. 처리장치 본체(500)와 로봇 콘트롤러(300)는, 예를 들면 공장내의 근거리 통신망: LAN에 의해 접속되어 있다. 로봇 암(200)은, 대좌의 상면(150)에 고정되어 있다. 교시 펜던트(400)는, 작업자가 조작하는 것이며, 로봇 암(200)과 로봇 콘트롤러(300)에 지시하는데 사용된다.The robot controller 300, the robot arm 200, the teaching pendant 400, and the processing device body 500 are connected to each other so that communication is possible. The processing unit main body 500 and the robot controller 300 are connected by LAN, for example, a local area network in a factory. The robot arm 200 is fixed to the upper surface 150 of the pedestal. The teaching pendant 400 is operated by an operator and is used to instruct the robot arm 200 and the robot controller 300 .

암 본체(201)는, 복수의 관절J1∼J6로 연결된 복수의 링크2100∼2106을 구비한다. 암 본체(201)의 관절이 회전 관절일 경우에 대해서 설명하지만, 관절이 직동 관절이여도 좋다. 각 관절J1∼J6은, 소정부위의 일례다.The arm body 201 includes a plurality of links 210 0 to 210 6 connected by a plurality of joints J 1 to J 6 . Although the case where the joint of the arm body 201 is a rotary joint is described, the joint may be a linear joint. Each joint J 1 to J 6 is an example of a predetermined part.

암 본체(201)는, 관절Ji를 회전 구동하는 구동기구(230i)를 구비한다. 이 경우에, i는, 1, 2, 3, 4, 5 또는 6이다. 이때, 도1에서는, i는 2다. 즉, 도1은 관절J2의 구동기구(2302)만을 도시하고, 다른 구동기구의 도시는 생략하고 있다. 구동기구(230i)가 관절Ji를 회전 구동함으로써, 로봇 암(200)의 자세를 변경할 수 있다. 로봇 암(200)의 자세를 변경함으로써, 로봇 암(200)의 선단부인 핸드(202)를, 임의의 위치 및 자세에 이동시킬 수 있다.The arm body 201 includes a driving mechanism 230 i for rotationally driving the joint J i . In this case, i is 1, 2, 3, 4, 5 or 6. At this time, in FIG. 1, i is 2. That is, FIG. 1 shows only the driving mechanism 230 2 of the joint J 2 , and other driving mechanisms are omitted. The posture of the robot arm 200 can be changed by rotationally driving the joint J i by the driving mechanism 230 i . By changing the posture of the robot arm 200, the hand 202, which is the distal end of the robot arm 200, can be moved to an arbitrary position and posture.

경고를 발행하는 장치의 일례인 표시장치(600)는, 액정 디스플레이나 유기 일렉트로루미네슨스 디스플레이 등의 디스플레이이며, 입력된 소정 데이터의 일례인 화상 데이터에 대응한 화상을 표시한다. 입력장치(700)는, 예를 들면 키보드(701)와 마우스(702)이다. 이때, 경고를 발행하는 장치는, 표시장치(600)에 한정하는 것이 아니고, 스피커, 또는 처리장치 본체(500)와 통신가능한 단말이여도 좋다.The display device 600, which is an example of a device issuing a warning, is a display such as a liquid crystal display or an organic electroluminescence display, and displays an image corresponding to image data that is an example of input predetermined data. The input device 700 is, for example, a keyboard 701 and a mouse 702. At this time, the device issuing the warning is not limited to the display device 600, and may be a speaker or a terminal capable of communicating with the processing device main body 500.

각 관절J1∼J6은, 사이즈 및 형상이 다르지만, 거의 같은 구성이다. 도2는, 실시예에 따른 로봇 암(200)의 관절J1∼J6 중 1개의 관절Ji를 나타내는 단면 모식도다. 도2에 도시한 바와 같이, 로봇 암(200)의 관절Ji는, 구동기구(230i), 입력 축 인코더(261i), 출력 축 인코더(262i) 등을 구비한다.Each of the joints J 1 to J 6 has a substantially the same configuration, although the size and shape are different. Fig. 2 is a cross-sectional schematic diagram showing one joint J i among joints J 1 to J 6 of the robot arm 200 according to the embodiment. As shown in FIG. 2 , the joint J i of the robot arm 200 includes a driving mechanism 230 i , an input axis encoder 261 i , an output axis encoder 262 i , and the like.

구동기구(230i)는, 구동부의 일례인 전동의 모터(231i)와, 모터(231i)의 회전축(232i)의 회전속도를 감속해서 출력하는 감속기(233i)를 구비한다. 모터(231i)의 회전자로부터 연장되는 회전축(232i)는, 감속기(233i)의 입력 축에 고정되어 있다. 감속기(233i)의 출력 축은, 링크(210i)에 고정되어 있다. 감속기(233i)를 통해 전달된 모터(231i)의 구동력에 의해, 링크(210i)가 링크(210i-1)에 대하여 상대적으로 회전한다.The drive mechanism 230i includes an electric motor 231i that is an example of a drive unit , and a speed reducer 233i that reduces and outputs the rotational speed of the rotating shaft 232i of the motor 231i. The rotating shaft 232 i extending from the rotor of the motor 231 i is fixed to the input shaft of the reduction gear 233 i . The output shaft of the reduction gear 233 i is fixed to the link 210 i . By the driving force of the motor 231 i transmitted through the reducer 233 i , the link 210 i relatively rotates with respect to the link 210 i-1 .

모터(231i)는, 예를 들면 브러시없는 DC 서보모터나 교류 서보모터: AC서보모터이며, 모터 제어장치(350i)의 서보 제어하에 있다. 이때, 도2에 있어서, 모터 제어장치(350i)는, 로봇 암(200)의 내부에 배치되어 있을 경우에 대해서 도시하고 있지만, 로봇 암(200)의 외부에 배치되어 있어도 좋다. 예를 들면, 모터 제어장치(350i)는, 로봇 콘트롤러(300)의 케이싱 내부에 배치되어도 좋다.The motor 231i is, for example, a brushless DC servomotor or AC servomotor: AC servomotor, and is under servo control of the motor controller 350i . At this time, although FIG. 2 shows the case where the motor controller 350 i is disposed inside the robot arm 200, it may be disposed outside the robot arm 200. For example, the motor controller 350 i may be disposed inside the casing of the robot controller 300 .

감속기(233i)는, 예를 들면 파동치차 감속기이며, 모터(231i)의 회전속도를 감속해서 관절Ji를 동작시킨다. 이에 따라, 관절Ji를 중심으로 링크210i가 링크210i-1에 대하여 상대적으로 회전한다. 감속기(233i)의 출력 축의 회전 각도가, 관절Ji의 회전 각도가 된다.The reducer 233i is, for example, a wave gear reducer, and reduces the rotational speed of the motor 231i to operate the joint Ji . Accordingly, the link 210 i rotates relative to the link 210 i-1 around the joint J i . The rotation angle of the output shaft of the reducer 233 i becomes the rotation angle of the joint J i .

인코더인 입력 축 인코더(261i) 및 인코더인 출력 축 인코더(262i)는, 로터리 인코더이며, 광학식 혹은 자기식의 인코더이여도 좋고, 앱솔루트형 혹은 인크리멘털(incremental)형의 인코더이여도 좋다.The input-axis encoder 261 i , which is an encoder, and the output-axis encoder 262 i , which is an encoder, are rotary encoders, and may be optical or magnetic type encoders, or may be absolute type or incremental type encoders. .

입력 축 인코더(261i)는, 감속기(233i)의 입력측에 설치되고, 출력 축 인코더(262i)는, 감속기(233i)의 출력측에 설치된다. 입력 축 인코더(261i)는, 관절Ji의 변위에 대응한 신호, 구체적으로는 모터(231i)의 회전축(232i)의 회전 각도에 상당하는 신호를 출력한다. 출력 축 인코더(262i)는, 관절Ji의 변위에 대응한 신호, 구체적으로는 링크210i-1에 대한 링크210i의 상대 각도, 즉 관절Ji의 회전 각도에 상당하는 신호를 출력한다.The input shaft encoder 261 i is installed on the input side of the reduction gear 233 i , and the output shaft encoder 262 i is installed on the output side of the reduction gear 233 i . The input shaft encoder 261 i outputs a signal corresponding to the displacement of the joint J i , specifically, a signal corresponding to the rotation angle of the rotating shaft 232 i of the motor 231 i . The output shaft encoder 262 i outputs a signal corresponding to the displacement of joint J i , specifically, a signal corresponding to the relative angle of link 210 i with respect to link 210 i-1 , that is, a signal corresponding to the rotation angle of joint J i . .

이때, 링크210i-1과 링크210i는, 크로스 롤러 베어링(237i)을 통해 회전 가능하게 연결되어 있다.At this time, the link 210 i-1 and the link 210 i are rotatably connected through a cross roller bearing 237 i .

도3은, 실시예에 따른 로봇 장치(100)의 제어계를 나타내는 블록도다. 로봇 콘트롤러(300) 및 처리장치 본체(500)는, 각각 컴퓨터로 구성되어 있다.Fig. 3 is a block diagram showing the control system of the robot device 100 according to the embodiment. The robot controller 300 and the processing unit body 500 are each constituted by a computer.

처리장치 본체(500)는, 처리부의 일례인 프로세서로서의 중앙처리유닛(CPU)(501)을 구비하고 있다. 또한, 처리장치 본체(500)는, 기억부의 일례로서, 판독전용 메모리(ROM)(502), 랜덤 액세스 메모리(RAM)(503), 및 하드 디스크 드라이브(HDD)(504)를 구비하고 있다. 또한, 처리장치 본체(500)는, 기록 디스크 드라이브(505), 및 입/출력 인터페이스인 I/O(511)를 구비하고 있다.The processing device main body 500 includes a central processing unit (CPU) 501 as a processor, which is an example of a processing unit. Further, the processing unit body 500 includes a read-only memory (ROM) 502, a random access memory (RAM) 503, and a hard disk drive (HDD) 504 as an example of a storage unit. In addition, the processing device main body 500 includes a recording disk drive 505 and an I/O 511 as an input/output interface.

CPU(501), ROM(502), RAM(503), HDD(504), 기록 디스크드라이브(505), 및 I/0(511)은, 서로 통신가능하게 버스(510)로 접속되어 있다. I/0(511)에는, 로봇 콘트롤러(300), 표시장치(600) 및 입력장치(700)가 접속된다.CPU (501), RAM (502), RAM (503), HDD (504), recording disk drive (505), and I/0 (511) are connected by bus 510 so that they can communicate with each other. The robot controller 300, the display device 600, and the input device 700 are connected to the I/0 511.

로봇 콘트롤러(300)는, 프로세서의 일례인 CPU(301)를 구비하고 있다. 또한, 로봇 콘트롤러(300)는, 기억부의 일례로서, ROM(302), RAM(303), 및 HDD(304)를 구비하고 있다. 또한, 로봇 콘트롤러(300)는, 입/출력 인터페이스인 I/O(311)를 구비하고 있다.The robot controller 300 includes a CPU 301 that is an example of a processor. In addition, the robot controller 300 is provided with an RAM (302), an RAM (303), and an HD (304) as an example of a storage unit. In addition, the robot controller 300 has an I/O 311 as an input/output interface.

CPU(301), ROM(302), RAM(303), HDD(304), 및 I/0(311)은, 서로 통신가능하게 버스(310)로 접속되어 있다. I/0(311)에는, 처리장치 본체(500), 모터 제어장치(350i), 교시 펜던트(400), 시각 센서(800), 및 역각 센서(280)가 접속된다.The CPU 301, the RAM 302, the RAM 303, the HDD 304, and the I/0 311 are connected by a bus 310 so as to be able to communicate with each other. To the I/0 311 , the processing unit body 500 , the motor control unit 350 i , the teaching pendant 400 , the visual sensor 800 , and the force sensor 280 are connected.

도3에는, 1개의 관절의 모터 제어장치(350i)를 도시하고 있다. 그렇지만, 본 실시예에서는 6개의 관절J1∼J6이 설치되므로, 6개의 모터 제어장치(3501∼3506)가 설치되어 있다. 모터 제어장치(350i)에는, 관절Ji에 대응하는 모터(231i), 전류 센서(270i), 입력 축 인코더(261i) 및 출력 축 인코더(262i)가 접속되어 있다. 도3에는, 1개의 관절의 모터(231i), 전류 센서(270i), 입력 축 인코더(261i) 및 출력 축 인코더(262i)를 도시하고 있지만, 본 실시예에서는, 6개의 관절이 설치되어 있다. 따라서, 관절J1∼J6에 대응하여, 모터2311∼2316, 전류 센서2701∼2706, 입력 축 인코더2611∼2616 및 출력 축 인코더2621∼2626이 설치되어 있다.3 shows a motor controller 350 i for one joint. However, since six joints J 1 to J 6 are provided in this embodiment, six motor control devices 350 1 to 350 6 are provided. A motor 231 i , a current sensor 270 i , an input shaft encoder 261 i , and an output shaft encoder 262 i corresponding to the joint J i are connected to the motor controller 350i. Although FIG. 3 shows a motor 231 i , a current sensor 270 i , an input axis encoder 261 i , and an output axis encoder 262 i of one joint, in this embodiment, six joints It is installed. Therefore, corresponding to the joints J 1 to J 6 , motors 231 1 to 231 6 , current sensors 270 1 to 270 6 , input shaft encoders 261 1 to 261 6 , and output shaft encoders 262 1 to 262 6 are provided.

CPU(301)는, 로봇 암(200)의 관절Ji를 구동하는 모터(231i)를, 모터 제어장치(350i)를 통해 제어함으로써, 로봇 암(200)의 동작을 제어한다. 또한, CPU(301)는, 작업자의 조작에 의해 교시 펜던트(400)로부터 송신된 지시를 나타내는 신호를 접수한다.The CPU 301 controls the operation of the robot arm 200 by controlling the motor 231 i that drives the joint J i of the robot arm 200 through the motor controller 350 i . In addition, the CPU 301 receives a signal representing an instruction transmitted from the teaching pendant 400 by an operator's operation.

HDD(304)에는, 태스크 프로그램(321)이 격납된다. 태스크 프로그램(321)에는, 로봇 암(200)에 재현 동작이나 적응 동작을 행하게 하는 명령이 기술된다. 재현 동작은, 티칭/플레이백 제어하에 로봇 암(200)에 의해 수행된, 로봇 암(200)에 파지시킨 부품을 소정의 위치에 두고, 원점에 역으로 이동하는 것과 같은 동작을, 로봇 암(200)에 반복하여 행하게 하는 제1동작이다. 적응 동작은, 시각 센서(800)를 사용한 랜덤 픽킹 제어나, 역각 센서(280)를 사용한 힘 제어등, 매회 다른 동작을 로봇 암(200)에 행하게 하는 제2동작이다. 제2동작은, 제1동작과는 다른 동작이다. 본 실시예에서는, 제1동작과 제2동작의 2종류의 동작을 로봇 암(200)에 행하게 하는 경우에 대해서 설명한다.In the HDD 304, the task program 321 is stored. In the task program 321, a command for causing the robot arm 200 to perform a reproduction operation or an adaptation operation is described. The reproduction operation is an operation performed by the robot arm 200 under teaching/playback control, such as placing a part gripped by the robot arm 200 at a predetermined position and moving it in reverse to the origin, the robot arm ( 200) is the first operation to be repeatedly performed. The adaptive operation is a second operation that causes the robot arm 200 to perform a different operation each time, such as random picking control using the visual sensor 800 or force control using the force sensor 280. The second operation is an operation different from the first operation. In this embodiment, a case where the robot arm 200 is made to perform two types of operations, the first operation and the second operation, will be described.

CPU(301)는, 태스크 프로그램(321)을 판독하고, 로봇 암(200)의 관절Ji의 궤도 데이터를 생성한다. 궤도 데이터는, 소정시간마다 각각 지령하는, 관절Ji의 모터(231i)의 각도지령 값θ1i 의 집합이다. CPU(301)는, 관절Ji의 모터(231i)에 대한 각도지령 값θ1i 을, 소정시간마다 모터 제어장치(350i)에 출력한다. 모터 제어장치(350i)는 입력 축 인코더(261i)에 의해 검출되는 각도값θ1i가 각도지령 값θ1i 에 근접하도록 모터(231i)를 제어한다.The CPU 301 reads the task program 321 and generates trajectory data of joint J i of the robot arm 200 . The trajectory data is a set of angle command values θ1 i * of the motor 231 i of the joint J i , each of which is commanded at predetermined time intervals. The CPU 301 outputs the angle command value θ1 i * for the motor 231 i of the joint J i to the motor controller 350 i at predetermined time intervals. The motor controller 350 i controls the motor 231 i such that the angle value θ1 i detected by the input shaft encoder 261 i approaches the angle command value θ1 i * .

도4는, 실시예의 모터 제어장치(350i)의 블록도다. 본 실시예의 모터 제어장치(350i)가 행하는 피드백 제어는, 입력 축 인코더(261i)를 사용한 세미클로즈드 루프 제어다. 이때, 모터 제어장치(350i)가 행하는 피드백 제어는, 세미클로즈드 루프 제어에 한정하는 것이 아니고, 출력 축 인코더(262i)를 사용한 풀클로즈드(full-closed) 루프 제어이여도 좋다. 또한, 모터 제어장치(350i)가, 세미클로즈드 루프 제어와 풀클로즈드 루프 제어 중에서 한 종류의 피드백 제어를 선택적으로 실행하여도 좋다.Fig. 4 is a block diagram of a motor control device 350 i of the embodiment. The feedback control performed by the motor controller 350 i of the present embodiment is semi-closed loop control using the input shaft encoder 261 i . At this time, the feedback control performed by the motor controller 350 i is not limited to semi-closed loop control, and may be full-closed loop control using the output shaft encoder 262 i . Further, the motor controller 350 i may selectively perform one kind of feedback control from among semi-closed loop control and full closed loop control.

모터 제어장치(350i)는, 위치 제어부(351i), 비례-적분-미분(PID) 연산부(352qi, 352di), 전압연산부(353i), 드라이버(354i), 브리지 회로(355i), A/D변환부(356i), 전류연산부(357i), 변환부 358i 및 변환부 359i를 구비한다.The motor controller 350 i includes a position control unit 351 i , a proportional-integral-differential (PD) calculation unit 352q i , 352 d i , a voltage calculation unit 353 i , a driver 354 i , and a bridge circuit 355 i ), an A/D conversion unit 356 i , a current operation unit 357 i , a conversion unit 358 i and a conversion unit 359 i .

전류 센서(270i)는, 모터(231i)의 각 상에서 흐르는 전류량을 나타내는 신호를, A/D변환부(356i)에 출력한다. A/D변환부(356i)는, 전류량을 나타내는 신호를 양자화하고, 이 신호를 수치 데이터로 변환하고, 그 수치 데이터를 3상의 전류값으로서 전류연산부(357i)에 출력한다.The current sensor 270 i outputs a signal representing the amount of current flowing in each phase of the motor 231 i to the A/D conversion unit 356 i . The A/D conversion unit 356i quantizes a signal representing the amount of current, converts this signal into numerical data, and outputs the numerical data to the current computation unit 357i as three-phase current values.

입력 축 인코더(261i)는, 모터(231i)의 회전자, 즉 감속기(233i)의 입력 축의 회전 각도에 따른 펄스 신호를 변환부(358i)에 출력한다. 변환부(358i)는, 입력 축 인코더(261i)로부터 송신된 펄스 신호를, 각도를 나타내는 수치 데이터인 센서 값으로 변환하고, 이 센서 값인 인코더 값θ1i를, 전압연산부(353i), 전류연산부(357i) 및 위치 제어부(351i)에 피드백 한다. 더욱, 변환부(358i)는, 입력 축 인코더(261i)의 인코더 값θ1i를 나타내는 데이터 신호를, 외부기기, 본 실시예에서는 로봇 콘트롤러(300)에 출력한다.The input shaft encoder 261 i outputs a pulse signal according to a rotational angle of the rotor of the motor 231 i , that is, the input shaft of the reduction gear 233 i , to the converter 358 i . The conversion unit 358 i converts the pulse signal transmitted from the input shaft encoder 261 i into a sensor value that is numerical data representing an angle, and the encoder value θ1 i , which is the sensor value, is converted into a voltage operation unit 353 i , Feedback is given to the current calculating unit 357 i and the position control unit 351 i . Furthermore, the conversion unit 358 i outputs a data signal representing the encoder value θ1 i of the input axis encoder 261 i to an external device, the robot controller 300 in this embodiment.

전류연산부(357i)는, 입력된 3상의 전류값 및 인코더 값θ1i에 근거하여, q축 전류값인 토크 전류값Iqi, 및 d축 전류값인 여자 전류값Idi를 구한다. 전류연산부(357i)는, 토크 전류값Iqi를, PID연산부 352qi에 피드백 함과 아울러, 여자 전류값Idi를, PID연산부 352di에 피드백 한다. 더욱, 전류연산부(357i)는, 토크 전류값Iqi를 나타내는 데이터 신호를, 외부기기, 본 실시예에서는 로봇 콘트롤러(300)에 출력한다.The current calculating unit 357 i calculates the torque current value Iq i, which is the q-axis current value, and the excitation current value Id i , which is the d-axis current value, based on the input three-phase current values and the encoder value θ1 i . The current calculating unit 357i feeds back the torque current value Id i to the PID calculating unit 352d i , and also feeds back the excitation current value Id i to the PID calculating unit 352d i . Furthermore, the current calculating unit 357 i outputs a data signal representing the torque current value Iq i to an external device, the robot controller 300 in this embodiment.

출력 축 인코더(262i)는, 관절의 각도, 즉 감속기(233i)의 출력 축의 회전 각도에 따른 펄스 신호를 변환부(359i)에 출력한다. 변환부(359i)는, 출력 축 인코더(262i)로부터 송신된 펄스 신호를, 각도를 나타내는 수치 데이터인 센서 값으로 변환하고, 이 센서 값인 인코더 값θ2i를 나타내는 데이터 신호를, 외부기기, 본 실시예에서는 로봇 콘트롤러(300)에 출력한다.The output shaft encoder 262 i outputs a pulse signal according to the angle of the joint, that is, the rotation angle of the output shaft of the reducer 233i to the conversion unit 359 i . The conversion unit 359 i converts the pulse signal transmitted from the output shaft encoder 262 i into a sensor value, which is numerical data representing an angle, and converts the data signal representing the encoder value θ2 i , which is the sensor value, to an external device, In this embodiment, it is output to the robot controller 300.

한편, 위치 제어부(351i)는, 각도지령 값θ1i 과 인코더 값θ1i와의 차이가 작아지도록, q축 전류지령 값인 토크 전류지령 값Iqi , 및 d축 전류지령 값인 여자 전류지령 값Idi 을 구한다.On the other hand, the position control unit 351 i sets the torque current command value Iq i * , which is the q-axis current command value, and the excitation current command value, which is the d-axis current command value, so that the difference between the angle command value θ1 i * and the encoder value θ1 i is small. Find Id i .

PID연산부 352qi는, 토크 전류지령 값Iqi 과 토크 전류값Iqi와의 차이에 근거하는 PID제어에 의해 전압값vqi를 구한다. PID연산부 352di는, 여자 전류지령 값Idi 과 여자 전류값Idi와의 차이에 근거한 PID제어에 의해 전압값vdi를 구한다.The PID calculation unit 352qi calculates the voltage value vqi by PID control based on the difference between the torque current command value Iqi * and the torque current value Iqi . The PD calculation unit 352di obtains the voltage value vidi by PDD control based on the difference between the excitation current command value IDi * and the excitation current value IDi .

전압연산부(353i)는, 전압값vdi, vqi를, 모터(231i)의 각 상에 인가하는 전압에 따른 펄스폭 변조(PWM) 신호Ui, Vi, Wi로 변환한다. 드라이버(354i)는, PWM신호Ui, Vi, Wi에 따라서 브리지 회로(355i)의 각 반도체 스위칭 소자의 제어 포트를 PWM구동에 의해 제어한다. 제어 포트는, 각각 게이트 또는 베이스다. 이에 따라, 브리지 회로(355i)는, 모터(231i)에 출력하는 전압을 온/오프 제어 함으로써, 토크 전류 및 여자 전류를 제어한다.The voltage calculation unit 353i converts the voltage values Vdi and Vqi into pulse width modulation (PWM) signals Ui , Vi and Wi according to the voltage applied to each phase of the motor 231i . The driver 354i controls the control port of each semiconductor switching element of the bridge circuit 355i by PWM drive according to the PWM signals Ui , Vi , and Wi . The control port is a gate or base, respectively. Accordingly, the bridge circuit 355 i controls the torque current and the excitation current by on/off controlling the voltage output to the motor 231 i .

로봇 콘트롤러(300)는, 관절Ji에 대응하는 인코더 값θ1i, θ2i 및 토크 전류값Iqi를 나타내는 데이터 신호를 수신하여, 각종 연산을 행한다. 또한, 본 실시예에서는, 로봇 콘트롤러(300)는, 관절Ji에 대응하는 인코더 값θ1i를 나타내는 데이터 신호, 및 토크 전류값Iqi를 나타내는 데이터 신호를, 순차로, 소정주기로 처리장치 본체(500)에 출력한다. 이때, 관절Ji에 대응하는 모터 제어장치(350i)가, 로봇 콘트롤러(300)를 통하지 않고, 직접, 인코더 값θ1i를 나타내는 데이터 신호, 및 토크 전류값Iqi를 나타내는 데이터 신호를, 순차로, 처리장치 본체(500)에 출력하여도 좋다.The robot controller 300 receives data signals representing the encoder values θ1 i and θ2 i corresponding to the joint J i and the torque current value Iq i , and performs various calculations. Further, in the present embodiment, the robot controller 300 sequentially transmits a data signal representing the encoder value θ1 i corresponding to the joint J i and a data signal representing the torque current value Iq i to the processing device main body ( 500) is output. At this time, the motor controller 350 i corresponding to the joint J i directly, without passing through the robot controller 300, sequentially transmits a data signal representing the encoder value θ1 i and a data signal representing the torque current value i q i , , may be output to the processing device main body 500.

생산 라인에 있어서, 물품의 조립 동작등, 로봇 장치(100)의 자동운전중에, 로봇 콘트롤러(300)가 로봇 암(200)에 행하게 하는 일련의 동작에는, 제1동작과 제2동작 양쪽이 포함되어 있다. 로봇 콘트롤러(300)는, 태스크 프로그램(321)을 따르는 자동운전중에, 제1동작과 제2동작을 전환하고, 물품W0의 조립 동작을 로봇 암(200)에 행하게 한다. 로봇 콘트롤러(300)는, 제1동작 및 제2동작 중 어느쪽의 동작을 로봇 암(200)에 행하게 하는 중인지를 나타내는 정보를, 외부기기에 출력하도록 구성되어 있지 않다. 또한, 로봇 암(200)이 고장날 것인가 아닌가의 예지는, 실측값과 기준값과의 차이에 근거해서 행해지지만, 실측값과 비교하는 기준값은, 제1동작과 제2동작 사이에서 변경되어야 한다.A series of operations that the robot controller 300 causes the robot arm 200 to perform during automatic operation of the robot device 100, such as an assembly operation of articles on a production line, includes both a first operation and a second operation. has been During automatic operation following the task program 321, the robot controller 300 switches between the first operation and the second operation, and causes the robot arm 200 to perform the assembly operation of the article W0. The robot controller 300 is not configured to output information indicating which one of the first operation and the second operation is being made to the robot arm 200 to an external device. In addition, prediction of whether or not the robot arm 200 will fail is performed based on the difference between the measured value and the reference value, but the reference value to be compared with the measured value must be changed between the first operation and the second operation.

본 실시예에서는, 처리장치 본체(500)는, 소정주기로 로봇(250)이 출력하는 인코더 값θ1i 및 토크 전류값Iqi각각의 시계열 데이터를 취득하고, 통계적 처리를 행하여, 로봇 암(200)의 고장을 예지한다. 기억부의 일례인 HDD(504)에는, 처리부의 일례인 CPU(501)에, 후술하는 처리방법을 실행시키는 프로그램(521)이 격납되어 있다. 도5는, 실시예에 따른 처리방법을 실행하는 처리장치 본체(500)의 기능 블록도다. 도3에 나타낸 CPU(501)가 프로그램(521)을 실행 함에 의해, 도5에 나타낸 취득부(551), 구분부(552), 분류 모델 생성부(554), 특정부(556), 예지부(557), 및 출력부(558)로서 기능한다. 도3에 나타낸 HDD(504)가, 데이터 기억부(553), 및 분류 모델 기억부(555)로서 기능한다.In this embodiment, the processing unit main body 500 acquires time-series data of each of the encoder value θ1 i and the torque current value Iq i output by the robot 250 at a predetermined period, performs statistical processing, and obtains the robot arm 200 predict failure of In the HDD 504, which is an example of the storage unit, a program 521 for executing a processing method described later is stored in the CPU 501, which is an example of the processing unit. Fig. 5 is a functional block diagram of a processing device main body 500 executing a processing method according to an embodiment. When the CPU 501 shown in FIG. 3 executes the program 521, the acquisition unit 551, the classification unit 552, the classification model generation unit 554, the specification unit 556, and the prediction unit shown in FIG. 5 557, and functions as an output section 558. The HDD 504 shown in FIG. 3 functions as a data storage unit 553 and a classification model storage unit 555.

이때, 본 실시예에서는, 컴퓨터 판독 가능한 비일시적인 기록 매체가 HDD(504)이며, HDD(504)에 프로그램(521)이 격납될 경우에 대해서 설명하지만, 이 구성은 이것에 한정되는 것이 아니다. 프로그램(521)은, 기록 매체가 컴퓨터 판독 가능하고 비일시적이면, 어떠한 기록 매체에도 기록되어도 좋다. 예를 들면, 프로그램(521)을 공급하기 위한 기록 매체로서는, 도3에 나타낸 ROM(502), 기록 디스크(530), 또는 도시되지 않은 외부 기억장치를, 사용해도 좋다. 구체적인 기록 매체의 예들로서는, 플렉시블 디스크, 하드 디스크, 광디스크, 광자기 디스크, 자기 테이프, 및 불휘발성 메모리가 있다. 광디스크의 예들로서는, DVD-ROM, CD-ROM, CD-R이 있다. 불휘발성 메모리의 예들로서는, USB메모리, 메모리 카드, ROM이 있다.Incidentally, in the present embodiment, the case where the non-transitory computer-readable recording medium is the HDD 504 and the program 521 is stored in the HDD 504 is explained, but this configuration is not limited to this. The program 521 may be recorded on any recording medium as long as the recording medium is computer readable and non-transitory. For example, as the recording medium for supplying the program 521, the RAM 502 shown in FIG. 3, the recording disk 530, or an external storage device not shown may be used. Examples of specific recording media include flexible disks, hard disks, optical disks, magneto-optical disks, magnetic tapes, and nonvolatile memories. Examples of optical disks include CD-ROM, CD-ROM, and CD-R. Examples of the nonvolatile memory include USB memory, memory card, and RAM.

도3에 나타낸 CPU(501)는, 제1모드인 학습 모드M1과, 제2모드인 감시 모드M2를 선택적으로 실행가능하고, 유저에 의해 그 모드가 선택 가능할 수 있다. 학습 모드M1이 선택되었을 경우에 대해서 설명한다. CPU(501)는, 로봇 암(200)의 동작이 제1동작인가 제2동작인가를 특정하는데도 사용하는 지표를 설정함과 아울러, 제1동작시에 있어서 사용하는 제1기준값A1을 설정한다. 제2동작시에 있어서 사용하는 제2기준값A2은, 감시 모드M2을 실행하기 전에 설정된다. 학습 모드M1은, 예를 들면 로봇 암(200)을 생산 라인에 설치했을 때등의 초기의 스테이지에서 실제로 로봇 암(200)을 자동운전시켜서 수행된다.The CPU 501 shown in FIG. 3 can selectively execute a learning mode M1 as a first mode and a monitoring mode M2 as a second mode, and the user can select the modes. The case where learning mode M1 is selected will be described. The CPU 501 also sets an index used for specifying whether the operation of the robot arm 200 is the first operation or the second operation, and also sets a first reference value A1 used in the first operation. The second reference value A2 used in the second operation is set before executing the monitoring mode M2. The learning mode M1 is performed by actually automatically operating the robot arm 200 at an early stage, such as when the robot arm 200 is installed on a production line.

감시 모드M2가 선택되었을 경우에 대해서 설명한다. CPU(501)는, 학습 모드M1에 있어서 설정된 지표를 사용하여서 로봇 암(200)의 자동운전중에 제1동작과 제2동작의 어느 동작인지를 특정하고, 그 동작에 대응하는 기준값을 사용하여서 로봇 암(200)의 고장을 예지한다. 이때, 유저가 모드를 선택할 경우에 대해서 설명했지만, 그 구성은 이것에 한정되는 것이 아니다. CPU(501)는, 미리 지정된 기간에 따라서 자동적으로 모드를 선택해도 좋다.The case where monitoring mode M2 is selected will be described. The CPU 501 identifies which of the first and second actions during the automatic operation of the robot arm 200 using the index set in the learning mode M1, and uses a reference value corresponding to the action to determine the robot Failure of the arm 200 is predicted. At this time, the case where the user selects the mode has been described, but the configuration is not limited to this. The CPU 501 may automatically select a mode according to a predetermined period.

우선, CPU(501)가 학습 모드M1에서 기능하는 경우에 대해서 상세히 설명한다. CPU(501)가 학습 모드M1에서 기능하는 경우, CPU(501)는, 도5에 있어서, 취득부(551), 구분부(552) 및 분류 모델 생성부(554)로서 기능한다.First, a case in which the CPU 501 functions in the learning mode M1 will be described in detail. When the CPU 501 functions in the learning mode M1, the CPU 501 functions as an acquisition unit 551, a classification unit 552, and a classification model generation unit 554 in FIG.

취득부(551)는, 로봇(250)로부터 각 데이터를 시계열로 취득한다. 구체적으로는, 취득부(551)는, 제1센서인 입력 축 인코더(261i)가 출력하는 신호에 근거하는 센서 값인 인코더 값θ1i를, 로봇 콘트롤러(300)로부터 시계열로 취득한다. 취득부(551)는, 제2센서인 전류 센서(270i)가 출력하는 신호에 근거하는 센서 값인 토크 전류값Iqi를, 로봇(250)의 로봇 콘트롤러(300)로부터 시계열로 취득한다. 각 시계열 데이터, 즉 인코더 값θ1i 및 토크 전류값Iqi는, 모터 제어장치(350i)에 있어서 취득된 시간과 관련되어 있다. 따라서, 이것들 시계열의 데이터는 동기하고 있다. 이때, 취득부(551)인 CPU(501)에 의해 취득된 인코더 값θ1i의 시계열 데이터는, 일시적으로 RAM(503)에 기억된다.The acquisition unit 551 acquires each data from the robot 250 in time series. Specifically, the acquisition unit 551 acquires an encoder value θ1 i , which is a sensor value based on a signal output from the input axis encoder 261 i , which is the first sensor, from the robot controller 300 in time series. The acquisition unit 551 acquires the torque current value Iq i , which is a sensor value based on a signal output by the current sensor 270 i as the second sensor, from the robot controller 300 of the robot 250 in time series. Each time-series data, that is, the encoder value θ1 i and the torque current value Iq i , is related to the time acquired in the motor controller 350 i . Therefore, these time series data are synchronized. At this time, the time-series data of the encoder value θ1i acquired by the CPU 501 as the acquisition unit 551 is temporarily stored in the RAM 503.

도6a는, 실시예에 있어서의 인코더 값θ11∼θ16의 예를 나타내는 도다. 도6b는, 실시예에 있어서의 토크 전류값Iq1∼Iq6의 예를 나타내는 도다. 도5에 나타내는 구분부(552)는, 시계열로 취득한 각 인코더 값θ11∼θ16을 단위동작마다 구분한다. 도6a 및 도6b의 예에서는, 구분부(552)는, 시계열로 취득한 각 인코더 값θ11∼θ16을, 복수의 구간C1,C2,C3,...,C으로 구분한다. 다시 말해, 구분부(552)는, 입력된 다차원의 시계열 데이터를, 로봇 암(200)의 자세의 변화를 나타내는 각 관절J1∼J6의 인코더 값θ11∼θ16의 시계열 데이터에 근거해서 단위동작으로 구분한다. 각 단위동작은, 로봇 암(200)의 일련의 동작을 구성하는 소구간을 가리킨다. 로봇 암(200)의 일련의 동작은, 단위동작의 조합으로 구성된다. 트레이 위에 적재된 부품을 로봇 암(200)이 픽업하는 경우를 예로서 설명한다. 로봇 암(200)의 단위동작은, 예를 들면 "원점에서 트레이 상공에 이동", "픽킹(picking) 대상부품의 부근까지 이동해서 촬상", "핸드의 위치를 조정하면서 그 픽킹 대상부품을 파지", "배치대(placing stage)에 이동해서 파지를 해제", "원점에 되돌아감"등이다. 그러나, 이것들 단위동작의 정보는, 로봇 콘트롤러(300)로부터는 출력되지 않는다. 이 때문에, CPU(501)는, 인코더 값θ1i에 근거하여 로봇 암(200)의 단위동작을 판단한다.Fig. 6A is a diagram showing an example of encoder values θ1 1 to θ1 6 in the embodiment. 6B is a diagram showing examples of torque current values Iq 1 to Iq 6 in the embodiment. The sorting unit 552 shown in FIG. 5 classifies each of the encoder values θ1 1 to θ1 6 obtained in time series for each unit operation. In the example of FIG. 6A and FIG. 6B, the division unit 552 divides each of the encoder values θ1 1 to θ1 6 obtained in time series into a plurality of sections C 1 , C 2 , C 3 ,..., C N . . In other words, the classifying unit 552 converts the input multidimensional time-series data based on the time-series data of encoder values θ1 1 to θ1 6 of joints J 1 to J 6 representing changes in the posture of the robot arm 200. Divided into unit operations. Each unit motion refers to a subsection constituting a series of motions of the robot arm 200 . A series of motions of the robot arm 200 are composed of a combination of unit motions. A case where the robot arm 200 picks up parts loaded on a tray will be described as an example. The unit motion of the robot arm 200 is, for example, "moving from the origin to the top of the tray", "moving to the vicinity of the part to be picked and taking an image", "holding the part to be picked while adjusting the position of the hand ", "move to the placing stage and release the grip", "return to the origin", etc. However, these unit motion information is not output from the robot controller 300. For this reason, the CPU 501 determines the unit motion of the robot arm 200 based on the encoder value θ1 i .

본 실시예에서는, 구분부(552)는, 로봇 암(200)의 관절J1∼J6 중 하나의 관절의 변위속도의 값, 바람직하게는 모든 관절J1∼J6의 변위속도의 값이, 미리 정해진 제1임계치인 속도임계치V1보다도 낮은 부분에서에서 구분을 행한다. 도6a 및 도6b의 예에서는, 인코더 값θ11∼θ16의 시계열 데이터가, 음영부분에서 구분된다. 관절Ji의 변위속도는, 본 실시예에서는 각속도다. 구분부(552)는, 인코더 값θ1i의 단위시간당의 변화량을 구하는 것으로, 관절Ji의 변위속도를 산출한다. 다시 말해, 구분부(552)는, 인코더 값θ1i를 시간으로 1차 미분함으로써 관절Ji의 변위속도를 산출한다. 속도임계치V1은, 로봇(250)가 정지하고 있는, 즉 관절의 변위속도가 0으로서 간주할 수 있는 값이며, 그 정보는, 도3에 나타내는 HDD(504)에 기억되어 있다. 도6a 및 도6b에서의 음영부분은, 모든 관절J1∼J6에 있어서 인코더 값θ11∼θ16의 시간변화가 0으로서 간주할 수 있는 구간, 즉, 로봇 암(200)의 동작이 정지하는 기간이다. 로봇 암(200)의 동작이 정지하는 기간을 제외한 나머지의 구간C1,C2,C3,...,C이 단위동작에 해당한다. 구간Ci는, 인코더 값θ1i의 시계열 데이터로부터 추출된, 인코더 값θ1i를 미분한 값, 즉 변위속도의 값이 속도임계치V1보다도 큰 구간이다. 이렇게, 로봇 암(200)의 일련의 동작을, 예를 들면 로봇 암(200)이 정지하는 부분에서 단위동작으로 구분하는 것이 바람직하다. 이것은, 단위동작의 천이 부분에 있어서는, 외부기기와의 인터록 등으로 인해 로봇 암(200)이 정지하는 경우가 많이 있기 때문이다. 소정조건으로서, 로봇 암(200)의 정지를 사용하여서 인코더 값θ1i의 시계열 데이터를 구분함으로써, 단위동작에 각각 대응하는 각 구간의 시계열 데이터를 쉽게 얻을 수 있다. 구분부(552)는, 구분 처리를, 시계열 데이터의 일부의 양을 축적하고나서 행해도 좋지만, 인코더 값θ1i 및 토크 전류값Iqi의 데이터를 취득할 때마다 그 구분 처리를 행하여도 좋다.In this embodiment, the division unit 552 determines the displacement speed value of one joint among the joints J 1 to J 6 of the robot arm 200, preferably the displacement speed values of all the joints J 1 to J 6 , The division is performed at a portion lower than the speed threshold value V1, which is a predetermined first threshold value. In the example of FIGS. 6A and 6B, time-series data of encoder values θ1 1 to θ1 6 are distinguished by shaded portions. The displacement speed of joint J i is an angular speed in this embodiment. The division unit 552 calculates the displacement speed of the joint J i by obtaining the amount of change per unit time of the encoder value θ1 i . In other words, the division unit 552 calculates the displacement speed of the joint J i by first differentiating the encoder value θ1 i with time. The speed threshold value V1 is a value that can be regarded as 0 when the robot 250 is stationary, that is, the displacement speed of the joint is 0, and the information is stored in the HDD 504 shown in FIG. 3 . The shaded parts in FIGS. 6A and 6B are sections in which the temporal change of encoder values θ1 1 to θ1 6 in all joints J 1 to J 6 can be regarded as 0, that is, the motion of the robot arm 200 is stopped. is a period of The remaining sections C 1 , C 2 , C 3 ,..., C N excluding the period during which the operation of the robot arm 200 is stopped correspond to the unit motion. Section C i is a section in which the differential value of the encoder value θ1 i extracted from the time-series data of the encoder value θ1 i , that is, the value of the displacement velocity is greater than the speed threshold V1. In this way, it is preferable to divide a series of operations of the robot arm 200 into unit operations, for example, in a part where the robot arm 200 stops. This is because there are many cases in which the robot arm 200 stops due to an interlock with an external device or the like in a transition portion of a unit operation. As a predetermined condition, by using the stop of the robot arm 200 to divide the time-series data of the encoder value θ1 i , time-series data of each section corresponding to each unit motion can be easily obtained. The sorting unit 552 may perform the sorting process after accumulating a part of the time-series data, or may perform the sorting process every time data of the encoder value θ1 i and the torque current value Iq i are acquired.

각 구간C1,C2,C3,...,C으로 구분된 시계열 데이터는, 데이터 기억부(553)에 기억된다. 데이터 기억부(553)는, 기억된 과거의 시계열 데이터를 분류 모델 생성부(554)에 의해 참조 가능하게 구분부(552)에 의해 단위동작으로 구분된 시계열 데이터를 기억한다.Time-series data divided into sections C 1 , C 2 , C 3 ,..., C N are stored in the data storage unit 553 . The data storage unit 553 stores the time-series data divided into unit operations by the sorting unit 552 so that the stored past time-series data can be referred to by the classification model generating unit 554.

분류 모델 생성부(554)는, 데이터 기억부(553)에 기억된 과거의 단위동작의 시계열 데이터를, 로봇 암(200)의 자세의 변화에 근거하여 클러스터링 하여, 분류 모델을 생성한다. 클러스터링의 수법으로서는, k-means등의 기존의 수법을 사용하는 것이 가능하다. 본 실시예에서는, 전제로서, 로봇 암(200)의 동작의 종류, 즉 클러스터 수는 미지이다. 이 때문에, 클러스터링의 수법은, 엘보(elbow)법이나 X-means 등의 클러스터 수의 추정 수법과 조합하는 것이 바람직하다.The classification model generation unit 554 clusters the time-series data of past unit motions stored in the data storage unit 553 based on the change in posture of the robot arm 200 to generate a classification model. As a method of clustering, it is possible to use an existing method such as k-micons. In this embodiment, as a premise, the type of operation of the robot arm 200, that is, the number of clusters is unknown. For this reason, it is preferable to combine the clustering method with a method for estimating the number of clusters, such as an elbow method or X-mAns.

이하, 분류 모델 생성부(554)가 행하는 클러스터링의 일례에 대해서 상세히 설명한다. 도6a는, 각 구간C1,C2,C3,...,C으로 구분된 인코더 값θ11∼θ16의 시계열 데이터를 나타낸다. 분류 모델 생성부(554)는, 각 구간의 다차원의 시계열 데이터를, 주성분 분석(PCA)등의 수법에 의해 점 데이터, 예를 들면 2차원의 점 데이터로 압축한다. 이렇게 얻어진 점 데이터는, 구간C1,C2,C3,...,C에 대응한 수, 즉 N개 존재한다. 각 점 데이터는, 1구간의의 인코더 값θ11∼θ16의 시계열 데이터를 나타내고 있다.Hereinafter, an example of clustering performed by the classification model generation unit 554 will be described in detail. 6A shows time-series data of encoder values θ1 1 to θ1 6 divided into sections C 1 , C 2 , C 3 ,..., C N . The classification model generation unit 554 compresses the multidimensional time-series data of each section into point data, for example, two-dimensional point data by a method such as principal component analysis (PCA). In the point data obtained in this way, the number corresponding to the intervals C 1 , C 2 , C 3 , ..., C N , that is, N pieces exist. Each point data represents time-series data of encoder values θ1 1 to θ1 6 in one section.

도7은, 실시예에 있어서의 클러스터의 예를 나타내는 도다. 분류 모델 생성부(554)는, 구간C1∼C으로 구분된 인코더 값θ11∼θ16, 즉 복수의 점 데이터를, 클러스터링 한다. 분류 모델 생성부(554)는, 복수의 점 데이터를, 클러스터링에 의해, 분산이 제2임계치인 임계치TH이하의 제1클러스터D11, D12와, 분산이 임계치TH보다도 큰 제2클러스터D21으로, 분류한다. 임계치TH의 정보는, 도3에 나타내는 HDD(504)에 미리 기억되어 있다. 구분한 인코더 값θ11∼θ16의 시계열 데이터는, 점 데이터로 변환되므로, 도7의 이차원 평면에 있어서는 1개의 점으로 나타낸다. 임계치TH는, 예를 들면 0.1로 설정된다. 도7에는, 분산이 임계치TH보다도 작은 0.002인 복수의 점 데이터로 이루어진 제1클러스터D11과, 분산이 임계치TH보다도 작은 0.044인 복수의 점 데이터로 이루어진 제1클러스터D12가 도시되어 있다. 또한, 도7에는, 분산이 임계치TH보다도 큰 0.927인 복수의 점 데이터로 이루어진 제2클러스터D21이 도시되어 있다.Fig. 7 is a diagram showing an example of a cluster in the embodiment. The classification model generation unit 554 clusters encoder values θ1 1 to θ1 6 , that is, a plurality of point data divided into intervals C 1 to C N . The classification model generation unit 554 classifies the plurality of point data into first clusters D11 and D12 whose variance is equal to or less than the second threshold value TH and second cluster D21 whose variance is greater than the threshold value TH by clustering. do. Information on the threshold value TH is stored in advance in the HDD 504 shown in FIG. Since the time-series data of the divided encoder values θ1 1 to θ1 6 are converted into point data, they are represented by one dot on the two-dimensional plane in FIG. 7 . The threshold value TH is set to 0.1, for example. 7 shows a first cluster D11 composed of a plurality of point data having a variance of 0.002 smaller than the threshold TH, and a first cluster D12 composed of a plurality of point data having a variance smaller than the threshold TH of 0.044. In addition, FIG. 7 shows a second cluster D21 composed of a plurality of point data having a variance of 0.927 greater than the threshold value TH.

제1클러스터D11, D12에 속하는 점 데이터에 대응하는 단위동작은, 제1동작이며, 제2클러스터D21에 속하는 점 데이터에 대응하는 단위동작은, 제2동작이다. 즉, 제1동작에서는, 로봇 암(200)이 같은 동작을 반복하므로, 점 데이터의 분산이 비교적 작다. 제2동작에서는, 로봇 암(200)이 매회 다른 동작을 행하므로, 점 데이터의 분산이 비교적 크다. 따라서, 점 데이터의 분산이 임계치TH를 상회한 것인가 아닌가에서, 제1동작에 대응하는 제1클러스터D11, D12와, 제2동작에 대응하는 제2클러스터D21을 결정할 수 있다.The unit operation corresponding to the point data belonging to the first clusters D11 and D12 is the first operation, and the unit operation corresponding to the point data belonging to the second cluster D21 is the second operation. That is, in the first operation, since the robot arm 200 repeats the same operation, the dispersion of point data is relatively small. In the second operation, since the robot arm 200 performs a different operation each time, the dispersion of point data is relatively large. Therefore, the first clusters D11 and D12 corresponding to the first operation and the second cluster D21 corresponding to the second operation can be determined based on whether or not the dispersion of point data exceeds the threshold value TT.

분류 모델 생성부(554)는, 구간C1∼C의 인코더 값θ1i의 시계열 데이터를 클러스터D11,D12,D21으로 분류하는 작업을 마친 후, 점 데이터를 클러스터D11,D12,D21에 분류하는 분류 모델을, 분류 모델 기억부(555)에 기억시킨다. 분류 모델 기억부(555)는, 특정부(556)에 의해 분류 모델을 참조 가능하게 분류 모델 생성부(554)에서 생성된 분류 모델을 기억한다. 이렇게 하여, 동작이 뒤의 감시 모드M2에서 사용하는 제1동작인가 제2동작인가를 판정하는 지표가 되는 분류 모델이 설정된다. 도7에는, 제1클러스터D11에 대응하는 분류 모델을 영역R11로 모식적으로 나타내고, 제2클러스터D12에 대응하는 분류 모델을 영역R12로 모식적으로 나타내고, 제2클러스터D21에 대응하는 분류 모델을 영역R21로 모식적으로 나타내고 있다.The classification model generator 554 classifies the time series data of the encoder values θ1 i of the interval C 1 to C N into clusters D11, D12, and D21, and then classifies the point data into clusters D11, D12, and D21. The classification model is stored in the classification model storage unit 555 . The classification model storage unit 555 stores the classification model generated by the classification model generation unit 554 so that the classification model can be referred to by the specification unit 556 . In this way, a classification model serving as an index for determining whether the operation is the first operation or the second operation used in the monitoring mode M2 later is set. In FIG. 7, a classification model corresponding to the first cluster D11 is schematically represented by region R11, a classification model corresponding to the second cluster D12 is schematically represented by region R12, and a classification model corresponding to the second cluster D21 is It is schematically represented by region R21.

다음에, 뒤에 수행되는 감시 모드M2에서 로봇 암(200)의 동작이 제1동작으로서 특정되었을 때에 사용할, 도3에 나타내는 제1기준값A1에 대해서 설명한다. 본 실시예에서는, CPU(501)는, 학습 모드M1에 있어서, 제1기준값A1을, 고장이 생기지 않고 있는 정상상태에서의 로봇 암(200)의 전류 센서(270i)의 실측 값인 토크 전류값Iqi로부터 구한다. 다시 말해, 로봇 암(200)의 고장은, 종종, 모터(231i) 또는 감속기(233i)의 고장등의 이상이다. 모터(231i) 또는 감속기(233i)의 이상은, 전류 센서(270i)의 전류값의 일례인 토크 전류값Iqi에 반영되는 경우가 많다. 즉, 모터(231i) 또는 감속기(233i)가 열화하면, 관절Ji를 구동하기 위한 토크 전류값Iqi가 높아지는 경향에 있다. 따라서, 본 실시예에서는, 토크 전류값Iqi를 감시 대상으로서 설정한다. 또한, CPU(501)는, 감시 모드M2에 있어서, 로봇 암(200)의 각 관절을 개별로 감시해도 좋지만, 본 실시예에서는, 로봇 암(200) 전체를 종합적으로 감시한다.Next, a first reference value A1 shown in FIG. 3 to be used when the operation of the robot arm 200 is specified as the first operation in monitoring mode M2 performed later will be described. In this embodiment, the CPU 501 sets the first reference value A1 in the learning mode M1 to a torque current value that is an actual measured value of the current sensor 270i of the robot arm 200 in a normal state in which no failure occurs. It is obtained from Iq i . In other words, the failure of the robot arm 200 is often an abnormality such as a failure of the motor 231 i or the reduction gear 233 i . An abnormality of the motor 231 i or the reduction gear 233 i is often reflected in the torque current value Iq i , which is an example of the current value of the current sensor 270 i . That is, when the motor 231 i or the reduction gear 233 i deteriorates, the torque current value Iq i for driving the joint J i tends to increase. Therefore, in this embodiment, the torque current value Iq i is set as the monitoring target. Further, the CPU 501 may individually monitor each joint of the robot arm 200 in the monitoring mode M2, but in this embodiment, the entire robot arm 200 is comprehensively monitored.

CPU(501)는, 학습 모드M1에 있어서, 로봇(250)로부터 시계열로, 인코더 값θ1i와 함께 토크 전류값Iqi를 취득하여, 인코더 값θ1i와 관련지어 구분하고 있다. 다시 말해, CPU(501)는, 도6b에 도시한 바와 같이, 인코더 값θ1i와 마찬가지로 토크 전류값Iqi를 구간C1,C2,C3,...,C으로 구분한다. CPU(501)는, 이것들 구간C1,C2,C3,...,C으로부터, 도7에 나타내는 제1클러스터D11에 속하는 인코더 값θ1i와 같은 구간의 토크 전류값Iqi의 시계열 데이터를 추출한다. 다시 말해, CPU(501)는, 제1동작에 대응하는 구간의 토크 전류값Iqi의 시계열 데이터를 추출한다. 그리고, CPU(501)는, 추출한 데이터를 사용해서 제1기준값A1을 구한다. 예를 들면, CPU(501)는, 제1클러스터D11에 대응하는 각 구간의 토크 전류값Iqi의 시계열 데이터를, 소정 수법에 의해 점 데이터로 압축한다. 소정 수법으로서는, 상술한 PCA 등의 어떤 수법이여도 좋다. 이하, 다른 수법의 일례에 대해서 설명한다. CPU(501)는, 제1클러스터D11에 대응하는 1구간의 1관절의 시계열 데이터에 포함된 각 토크 전류값에 대해서 절대치를 구하고, 그 구간의 절대치의 평균값을 구한다. CPU(501)는, 이 평균값을 구하는 연산을 6개의 관절 각각에 대해서 행하는 것으로, 6개의 평균값을 파라미터로 하는 6차원의 점 데이터를 얻는다. 상술한 소정 수법에 의해, CPU(501)는, 구간C1,C2,C3,...,C중, 제1클러스터D11에 대응하는 구간에 대해서, 토크 전류값Iqi를 나타내는 점 데이터를 구한다. CPU(501)는, 제1클러스터D11에 대응해서 구한 복수의 점 데이터에 근거하여, 제1기준값A1을 구한다. 예를 들면, CPU(501)는, 구한 복수의 점 데이터의 대표값, 중간값 또는 평균값을, 제1기준값A1으로 한다. 구한 제1기준값A1은, 기억부인 HDD(504)에 기억된다. 제1클러스터D12에 대하여도 마찬가지로 제1기준값A1을 설정한다. 다시 말해, 제1클러스터가 복수 있을 경우, 복수의 제1클러스터의 각각에 대하여, 개별로 제1기준값A1을 설정하는 것이 바람직하다.The CPU 501 acquires the torque current value Iq i together with the encoder value θ1 i in time series from the robot 250 in the learning mode M1, and classifies them in association with the encoder value θ1 i . In other words, as shown in FIG. 6B, the CPU 501 divides the torque current value Iq i into sections C 1 , C 2 , C 3 ,..., C N , similarly to the encoder value θ1 i . The CPU 501 is a time series of torque current values Iq i in the same section as the encoder value θ1 i belonging to the first cluster D11 shown in FIG. 7 from these sections C 1 , C 2 , C 3 ,..., C N extract data In other words, the CPU 501 extracts time-series data of the torque current value Iqi in the section corresponding to the first operation. Then, the CPU 501 obtains the first reference value A1 using the extracted data. For example, the CPU 501 compresses the time-series data of the torque current value Iq i of each section corresponding to the first cluster D11 into point data by a predetermined method. As the predetermined method, any method such as the above-mentioned PCA may be used. An example of another technique will be described below. CPU 501 obtains an absolute value for each torque current value included in the time-series data of one joint in one section corresponding to the first cluster D11, and obtains an average value of absolute values in that section. The CPU 501 obtains 6-dimensional point data having the 6 average values as parameters by performing calculation for obtaining this average value for each of the 6 joints. According to the predetermined method described above, the CPU 501 obtains a point representing the torque current value Iq i for the section corresponding to the first cluster D11 among the sections C 1 , C 2 , C 3 ,..., C N . get data The CPU 501 obtains a first reference value A1 based on a plurality of point data obtained corresponding to the first cluster D11. For example, the CPU 501 uses the first reference value A1 as the representative value, median value, or average value of the obtained plurality of point data. The obtained first reference value A1 is stored in the HDD 504 as a storage unit. The first reference value A1 is similarly set for the first cluster D12. In other words, when there are a plurality of first clusters, it is preferable to individually set the first reference value A1 for each of the plurality of first clusters.

다음에, 감시 모드M2에서 로봇 암(200)의 동작이 제2동작으로서 특정되었을 때에 사용될, 도3에 나타내는 제2기준값A2에 대해서 설명한다. 제2기준값A2로서는, 규격값 또는 시뮬레이션 값등의 설계 값을 사용한다. 따라서, 제2기준값A2을 설정하는 타이밍은, 학습 모드M1시에 한하지 않고, 감시 모드M2가 실행되기 전이면 어떠한 타이밍이어도 좋다. 제2기준값A2은, 기억부인 HDD(504)에 기억된다.Next, the second reference value A2 shown in FIG. 3 to be used when the operation of the robot arm 200 in monitoring mode M2 is specified as the second operation will be described. As the second reference value A2, a standard value or a design value such as a simulated value is used. Therefore, the timing for setting the second reference value A2 is not limited to the learning mode M1, and any timing may be used as long as it is before the monitoring mode M2 is executed. The second reference value A2 is stored in the HDD 504 as a storage unit.

다음에, CPU(501)가 감시 모드M2에서 기능하는 경우에 대해서 설명한다. 유저에 의해 모드를 전환하고 CPU(501)가 감시 모드M2에서 기능하는 경우, CPU(501)는, 도5에 있어서, 취득부(551), 구분부(552), 특정부(556), 예지부(557), 및 출력부(558)로서 기능한다.Next, a case where the CPU 501 functions in the monitoring mode M2 will be described. When the mode is switched by the user and the CPU 501 functions in the monitoring mode M2, the CPU 501, in FIG. It functions as a branch unit 557 and an output unit 558.

취득부(551)는, 로봇 암(200)의 자동운전중, 로봇 콘트롤러(300)로부터 시계열로 인코더 값θ1i 및 토크 전류값Iqi를 취득한다. 이때, 취득부(551)에 의해 취득된 인코더 값θ1i 및 토크 전류값Iqi 각각의 시계열 데이터는, 일시적으로 RAM(503)에 기억된다.The acquisition unit 551 acquires the encoder value θ1 i and the torque current value Iq i in time series from the robot controller 300 during automatic operation of the robot arm 200 . At this time, time-series data of each of the encoder value θ1 i and the torque current value Iq i acquired by the acquisition unit 551 is temporarily stored in the RAM 503 .

그리고, 구분부(552)는, 소정구간으로서, 구분한 1구간의 단위동작에 있어서의 인코더 값θ1i 및 토크 전류값Iqi를 취득했을 때에, 이것들 단위동작에 있어서의 데이터를, 특정부(556)에 출력한다. 도6a 및 도6b의 예에서는, 소정구간의 일례인 구간CN+1의 데이터를, 특정부(556)에 출력한다.Then, the division unit 552 acquires the encoder value θ1 i and the torque current value Iq i in the unit operation of one divided section as a predetermined section, the data in these unit operations is assigned to the specifying unit ( 556). In the example of FIGS. 6A and 6B , data of a section C N+1 , which is an example of a predetermined section, is output to the specifying unit 556 .

특정부(556)는, 분류 모델 기억부(555)에 기억된 분류 모델에 근거하여, 입력된 구간CN+1의 데이터가, 어느 클러스터D11,D12,D21에 속하는지를 특정한다. 예를 들면, 특정부(556)는, 구간CN+1의 인코더 값θ1i를 나타내는 점 데이터가, 도7에 나타내는 영역R11, R12, R21의 어느 영역에 속하는지를 특정한다. 클러스터D11, D12, D21 즉, 영역R11, R12, R21은, 로봇 암(200)의 동작이 제1동작일 경우와 로봇 암(200)의 동작이 제2동작일 경우 중 한쪽의 동작에 각각 대응한다.Based on the classification model stored in the classification model storage unit 555, the specifying unit 556 specifies to which cluster D11, D12, or D21 the data of the input section C N+1 belongs. For example, the specifying unit 556 specifies which area of the areas R11, R12, and R21 shown in FIG. 7 belongs to the point data representing the encoder value θ1 i of the section C N+1 . Clusters D11, D12, and D21, that is, regions R11, R12, and R21 respectively correspond to one of the cases where the operation of the robot arm 200 is the first operation and the case where the operation of the robot arm 200 is the second operation. do.

특정부(556)는, 특정한 결과를 구간CN+1의 토크 전류값Iqi의 시계열 데이터와 함께 예지부(557)에 출력한다. 각 클러스터D11, D12, D21은, 제1동작 및 제2동작 중 한쪽의 동작에 대응하고 있다. 이 때문에, 특정부(556)는, 입력된 구간CN+1의 시계열 데이터가 제1동작 및 제2동작 중 어느 동작에 대응하고 있을지를, 클러스터의 특정과 동시에 특정하고 있게 된다.The specifying unit 556 outputs the specified result to the predicting unit 557 together with the time-series data of the torque current value Iq i in the interval C N+1 . Each cluster D11, D12, D21 corresponds to one of the first operation and the second operation. For this reason, the specification unit 556 specifies which operation of the first operation and the second operation the input time-series data of the section C N+1 corresponds to at the same time as specifying the cluster.

예지부(557)는, 입력된 구간CN+1의 시계열 데이터와, 그 클러스터의 분류에 따라, 적절한 알고리즘을 선택하고, 예를 들면 호텔링(Hotelling)의 T2법에 의해, 이동도의 계산을 행하고, 고장을 예지한 것인가 아닌가의 결과를 출력부(558)에 출력한다. 다시 말해, 예지부(557)는, 클러스터가 제1동작에 대응한 것으로서 특정되는 경우에, 제1기준값A1과 실측 값인 토크 전류값Iqi를 비교하여, 로봇 암(200)이 고장날 것인가 아닌가를 예지한다. 예지부(557)는, 클러스터가 제2동작에 대응한 것으로서 특정되는 경우에, 제2기준값A2과 실측 값인 토크 전류값Iqi를 비교하여, 로봇 암(200)이 고장날 것인가 아닌가를 예지한다.The prediction unit 557 selects an appropriate algorithm according to the input time series data of the interval C N + 1 and the classification of the cluster, and calculates the mobility by, for example, Hotelling's T2 method. is performed, and a result of whether or not a failure has been predicted is output to the output unit 558. In other words, when the cluster is identified as one corresponding to the first operation, the prediction unit 557 compares the first reference value A1 with the measured torque current value Iq i to determine whether or not the robot arm 200 will fail. foretell When the cluster is identified as one corresponding to the second operation, the prediction unit 557 compares the second reference value A2 and the measured torque current value Iq i to predict whether or not the robot arm 200 will fail.

이하, 구체예에 대해서 설명한다. 예지부(557)는, 구간CN+1의 토크 전류값Iqi의 시계열 데이터로부터 상술한 소정 수법과 같은 수법에 의해 6차원의 점 데이터를 구한다. 예지부(557)는, 구간CN+1의 인코더 값θ1i의 시계열 데이터를 나타내는 점 데이터가 제1클러스터D11 또는 D12에 속하는 것으로서 특정되는 경우, 구간CN+1의 토크 전류값Iqi의 시계열 데이터를 나타내는 점 데이터와 제1기준값A1과의 차이를 구한다. 이 차이는, 통계적 거리다. 예지부(557)는, 구한 차이가 제1소정값B1을 초과할 경우, 이상을 통지하기 위한 지령을 출력부(558)에 보낸다. 이때, 예지부(557)는, 구한 차이가 제1소정값B1이하일 경우는 그대로 처리를 종료한다.Hereinafter, specific examples are described. The prediction unit 557 obtains 6-dimensional point data from the time-series data of the torque current value Iqi in the interval C N+1 by the same method as the above-described predetermined method. The predictor 557 determines the torque current value Iqi of the section C N+1 when the point data representing the time-series data of the encoder value θ1 i of the section C N+1 is specified as belonging to the first cluster D11 or D12. A difference between point data representing time series data and the first reference value A1 is obtained. This difference is a statistical distance. The prediction unit 557 sends a command for notifying an abnormality to the output unit 558 when the obtained difference exceeds the first predetermined value B1. At this time, if the obtained difference is equal to or less than the first predetermined value B1, the prediction unit 557 ends the process as it is.

또한, 예지부(557)는, 구간CN+1의 인코더 값θ1i의 점 데이터가 제2클러스터D21에 속하는 것으로서 특정되는 경우, 구간CN+1의 토크 전류값Iqi를 나타내는 점 데이터와 제2기준값A2과의 차이를 구한다. 이 차이는, 통계적 거리다. 예지부(557)는, 구한 차이가 제2소정값B2를 초과할 경우, 이상을 통지하기 위한 지령을 출력부(558)에 송신한다. 이때, 예지부(557)는, 구한 차이가 제2소정값B2이하일 경우는 그대로 처리를 종료한다.In addition, when the point data of the encoder value θ1 i of the section C N + 1 is specified as belonging to the second cluster D21, the prediction unit 557 determines the point data indicating the torque current value Iq i of the section C N + 1 and A difference from the second reference value A2 is obtained. This difference is a statistical distance. The prediction unit 557 transmits, to the output unit 558, a command for notifying an abnormality when the obtained difference exceeds the second predetermined value B2. At this time, if the calculated difference is equal to or less than the second predetermined value B2, the prediction unit 557 ends the process as it is.

제1소정값B1과 제2소정값B2는, 미리 HDD(504)에 기억된 값이며, 로봇 암(200)의 고장이 일어나기 전에 설정된 값이다. 그 차이가 소정값B1 또는 B2를 상회하면, CPU(501)에 있어서 로봇 암(200)의 고장이 예지되게 된다.The first predetermined value B1 and the second predetermined value B2 are values previously stored in the HDD 504, and are values set before failure of the robot arm 200 occurs. If the difference exceeds the predetermined value B1 or B2, failure of the robot arm 200 is predicted in the CPU 501.

출력부(558)는, 예지부(557)에서 고장이 예지되었을 경우, 즉 예지부(557)로부터 이상을 통지하기 위한 지령을 받았을 경우에, 소정 데이터, 본 실시예에서는 화상 데이터를, 표시장치(600)에 출력한다. 표시장치(600)는, 취득한 화상 데이터에 근거하는 화상을 표시한다. 이에 따라, 로봇 암(200)이 고장이 날 가능성이 높은 것을 나타내는 경고는, 유저에 통지된다. 이때, 이러한 경고가 통지될 때에, 로봇 암(200)의 고장은 아직 일어나지 않고 있다. 유저는, 이 통지를 받았을 경우, 다음에 계획된 정기적인 검사에서 로봇 암(200)의 수리등의 보전을 실시하여도 좋다.The output unit 558 outputs predetermined data, image data in this embodiment, to the display device when a failure is predicted by the prediction unit 557, that is, when a command for notifying an abnormality is received from the prediction unit 557. output to (600). The display device 600 displays an image based on the acquired image data. Accordingly, a warning indicating that the robot arm 200 is highly likely to fail is notified to the user. At this time, when this warning is notified, the failure of the robot arm 200 has not yet occurred. When the user receives this notification, maintenance such as repair of the robot arm 200 may be carried out in a periodic inspection planned next.

이상, 구간CN+1에 대해서 설명했다. CPU(501)는, 구간CN+2이후에 감시 모드M2의 처리를 행한다. 또한, 학습 모드M1의 처리 타이밍은, 상기 장치를 부트업한 후 초기의 스테이지에 한정되지 않고, 정기적인 검사를 행한 후나 태스크 프로그램(321)을 변경한 후 등의, 임의의 타이밍이어도 좋다.In the above, the section C N+1 has been explained. The CPU 501 performs processing in the monitoring mode M2 after section C N+2 . Further, the processing timing of the learning mode M1 is not limited to the initial stage after booting up the device, and may be any timing, such as after performing periodic inspection or after changing the task program 321.

본 실시예에서는, CPU(501)는, 로봇 암(200)의 동작에 대응해서 출력되는 입력 축 인코더(261i)의 인코더 값θ1i를 시계열로 취득한다. 그리고, CPU(501)는, 인코더 값θ1i의 시계열 데이터를, 소정조건에 근거해서 구간C1∼C으로 구분하고, 구간C1∼C으로 구분한 인코더 값θ1i의 시계열 데이터를, 클러스터링 한다. 이에 따라, 각 구간C1∼C의 인코더 값θ1i의 시계열 데이터가, 로봇 암(200)의 동작의 종류에 대응해서 클러스터D11, D12, D21으로 분류되게 된다. 따라서, CPU(501)는, 로봇(250)가 제1동작과 제2동작 중 어느 동작을 수행하는지를 나타내는 동작의 종류에 대한 정보를 받지 않고서, 그 동작에 적합한 기준값을 사용해서 로봇 암(200)의 고장을 예지할 수 있게 된다. 이에 따라, CPU(501)는, 로봇 암(200)의 동작에 적합한 처리를 행할 수 있다.In the present embodiment, the CPU 501 acquires the encoder value θ1 i of the input axis encoder 261 i output corresponding to the operation of the robot arm 200 in time series. Then, the CPU 501 divides the time series data of encoder values θ1 i into sections C 1 to C N based on predetermined conditions, and divides the time series data of encoder values θ 1 i into sections C 1 to C N , clustering. Accordingly, the time-series data of encoder values θ1 i of each section C 1 to C N are classified into clusters D11, D12, and D21 corresponding to the type of operation of the robot arm 200. Therefore, the CPU 501 performs the robot arm 200 using a reference value suitable for the operation without receiving information about the type of operation indicating which of the first operation and the second operation the robot 250 performs. failure can be predicted. Accordingly, the CPU 501 can perform processing suitable for the operation of the robot arm 200 .

또한, CPU(501)는, 소정조건으로서, 인코더 값θ1i를 미분한 값, 즉 관절Ji의 변위속도의 값이, 속도임계치V1보다도 큰 구간을, 인코더 값θ1i의 시계열 데이터로부터 추출 함으로써, 이 시계열 데이터를 구간C1∼C으로 구분한다. 이에 따라, CPU(501)는, 인코더 값θ1i의 시계열 데이터를 로봇 암(200)의 단위동작마다 구분할 수 있어, 로봇 암(200)의 동작에 적합한 처리를 행할 수 있다.In addition, the CPU 501 extracts, as a predetermined condition, a section in which the value obtained by differentiating the encoder value θ1 i , that is, the value of the displacement velocity of the joint J i , is greater than the velocity threshold V1, from the time-series data of the encoder value θ1 i . , this time series data is divided into sections C 1 to C N. Accordingly, the CPU 501 can classify the time-series data of the encoder value θ1 i for each unit motion of the robot arm 200, and can perform processing suitable for the motion of the robot arm 200.

또한, 본 실시예에서는, CPU(501)는, 로봇 암(200)이 고장날 것이라고 예지한 결과로서, 표시장치(600)에 화상 데이터를 출력한다. 이에 따라, 적정한 시기에 경고가 유저에 통지되게 되고, 계획외, 즉 정기적인 검사이외에 로봇(250)을 정지시켜서 보전 작업을 행하는 것이 줄고, 물품W0의 생산성이 향상한다.Further, in this embodiment, the CPU 501 outputs image data to the display device 600 as a result of predicting that the robot arm 200 will fail. Accordingly, a warning is notified to the user at an appropriate time, reducing unplanned, i.e., maintenance work by stopping the robot 250 other than periodic inspection, and improving the productivity of the article W0.

이때, 본 발명은, 이상 설명한 실시예에 한정되는 것이 아니고, 본 발명의 기술적 개념내에서 여러가지 방식으로 변형이 가능하다. 또한, 실시예에 기재된 효과는, 본 발명에 의해 달성될 수 있는 가장 적합한 효과를 열거한 것에 지나치지 않고, 본 발명의효과는 실시예에 기재된 것에 한정되지 않는다.At this time, the present invention is not limited to the above-described embodiment, and can be modified in various ways within the technical concept of the present invention. In addition, the effects described in the examples do not merely enumerate the most suitable effects that can be achieved by the present invention, and the effects of the present invention are not limited to those described in the examples.

상술한 실시예에서는, 로봇 암(200)이 수직 다관절의 로봇 암일 경우에 대해서 설명했지만, 그 구성은 이것에 한정되는 것이 아니다. 로봇 암이, 예를 들면, 수평 관절형 로봇 암, 병렬 링크의 로봇 암, 직교 로봇 등의, 여러 가지의 로봇 암이여도 좋다.In the above-described embodiment, the case where the robot arm 200 is a vertical multi-joint robot arm has been described, but the configuration is not limited to this. The robot arm may be various types of robot arms, such as a horizontal joint robot arm, a parallel link robot arm, and an orthogonal robot, for example.

상술한 실시예에서는, 경고를 발행하는 장치가, 표시장치(600)일 경우에 대해서 설명했지만, 그 구성은 이것에 한정되는 것이 아니다. CPU(501)가 출력하는 소정 데이터가 음성 데이터일 경우에는, 경고를 발행하는 장치는, 예를 들면 스피커이어도 좋다. 또한, CPU(501)가 출력하는 소정 데이터가, 전자 메일 등에 사용된 텍스트 데이터일 경우에는, 경고를 발행하는 장치는, 처리장치 본체(500)와 통신가능한 단말이어도 좋다.In the above embodiment, the case where the device issuing the warning is the display device 600 has been described, but the configuration is not limited to this. When the predetermined data output by the CPU 501 is audio data, the device issuing a warning may be, for example, a speaker. Further, when the predetermined data output by the CPU 501 is text data used for e-mail or the like, the device issuing the warning may be a terminal capable of communicating with the processing device main body 500.

상술한 실시예에서는, 제1센서가, 입력 축 인코더(261i)일 경우에 대해서 설명했지만, 그 구성은 이것에 한정되는 것이 아니다. 제1센서가, 예를 들면 출력 축 인코더(262i)이여도 좋다.In the above-described embodiment, the case where the first sensor is the input axis encoder 261i has been described, but the configuration is not limited to this. The first sensor may be, for example, an output axis encoder 262 i .

또한, 상술한 실시예에서는, 제2센서가, 전류 센서(270i)일 경우에 대해서 설명했지만, 그 구성은 이것에 한정되는 것이 아니다. 제2센서가, 예를 들면 출력 축 인코더(262i)이여도 좋거나, 모터(231i) 또는 모터(231i)의 근방에 설치된 도시되지 않은 온도 센서이여도 좋다. 또한, 제2센서의 센서 값을 나타내는 시계열의 정보가, 예를 들면 로봇(250)과 도시되지 않은 외부기기와의 사이에서 통신된 디지털I/0정보이여도 좋다.In addition, in the above-described embodiment, the case where the second sensor is the current sensor 270i has been described, but the configuration is not limited to this. The second sensor may be, for example, the output shaft encoder 262 i , or may be the motor 231 i or a temperature sensor not shown provided near the motor 231 i . Further, the time-sequential information representing the sensor value of the second sensor may be, for example, digital I/0 information communicated between the robot 250 and an external device (not shown).

또한, 상술한 실시예에서는, 제1센서와 제2센서가 다른 경우에 대해서 설명했지만, 그 구성은 이것에 한정되는 것이 아니다. 다시 말해, 제1센서와 제2센서가 같은 센서이여도 좋다. 이 동일한 센서로서, 예를 들면 출력 축 인코더(262i)를 사용해도 좋다. 다시 말해, 학습 모드M1에 있어서는, 출력 축 인코더(262i)의 인코더 값θ2i로부터 분류 모델과 제1기준값A1을 구하여도 좋다. 감시 모드M2에 있어서는, 그 동작이 제1동작인가 아닌가의 판별에 사용하는 데이터, 및 제1기준값A1 또는 제2기준값A2과 비교하는 데이터로서, 1구간의 인코더 값θ2i를 사용하여도 좋다.In addition, in the above-described embodiment, the case where the first sensor and the second sensor are different has been described, but the configuration is not limited to this. In other words, the first sensor and the second sensor may be the same sensor. As this same sensor, you may use the output axis encoder 262i , for example. In other words, in the learning mode M1, the classification model and the first reference value A1 may be obtained from the encoder value θ2 i of the output axis encoder 262 i . In the monitoring mode M2, the encoder value θ2 i of one section may be used as data used to determine whether or not the operation is the first operation and data to be compared with the first reference value A1 or the second reference value A2.

또한, 상술한 실시예에서는, 모터 제어장치(350i)가 전류 센서(270i)의 신호에 근거하는 3상의 전류값으로부터 토크 전류값Iqi를 구할 경우에 대해서 설명했지만, CPU(501)가 3상의 전류값으로부터 토크 전류값Iqi를 구해도 좋다.Further, in the above-described embodiment, the case where the motor controller 350 i obtains the torque current value Iq i from the three-phase current value based on the signal of the current sensor 270 i has been described, but the CPU 501 The torque current value Iq i may be obtained from the three-phase current values.

또한, 상술한 실시예에서는, CPU(501)가, 로봇 암(200) 전체를 종합적으로 감시할 경우에 대해서 설명했지만, 그 구성은 이것에 한정되는 것이 아니다. CPU(501)가, 로봇 암(200)의 복수의 관절J1∼J6의 각각을, 개별로 감시해도 좋다. 이 경우, 기준값A1, A2는, 각 관절J1∼J6에 대해 개별로 설정된다.Further, in the above-described embodiment, the case where the CPU 501 comprehensively monitors the entire robot arm 200 has been described, but the configuration is not limited to this. The CPU 501 may individually monitor each of the plurality of joints J 1 to J 6 of the robot arm 200 . In this case, the reference values A1 and A2 are individually set for each of the joints J 1 to J 6 .

또한, 상술한 실시예에서는, 인코더 값을 시간으로 1차 미분하고, 인코더 값의 시간변화가 0으로서 간주할 수 있는 구간을 인코더 값의 시계열 데이터로부터 제외 함으로써, 인코더 값의 시계열 데이터의 구분을 행할 경우에 대해서 설명했다. 그러나, 로봇 암(200)의 동작의 수가 적을 경우는, 로봇 암(200)의 동작을 교시할 때에, 제1동작을 나타내는 정보, 또는 제2동작을 나타내는 정보는, 로봇 암(200)의 동작과 관련되어도 좋다.In addition, in the above-described embodiment, the time-series data of the encoder value is differentiated by first differentiating the encoder value with respect to time and excluding a period in which the time change of the encoder value can be regarded as 0 from the time-series data of the encoder value. case was explained. However, when the number of operations of the robot arm 200 is small, when teaching the operation of the robot arm 200, the information representing the first operation or the information representing the second operation is the operation of the robot arm 200 may be related to

예를 들면, "원점에서 트레이 상공에 이동"이라고 하는 동작과 제1동작을 나타내는 정보가 교시시에 관련되고, "핸드의 위치를 조정하면서 파지"라고 하는 동작과 제2동작을 나타내는 정보가 교시시에 관련된다. 이에 따라, 제1동작을 나타내는 정보, 또는 제2동작을 나타내는 정보에 근거하여, 로봇 암(200)이 각 동작을 행했을 때에 로봇 암(200)으로부터 취득한 인코더 값을 구분할 수 있다. 따라서, 인코더 값을 미분하는 처리를 생략할 수 있고, 이 처리에 필요로 하는 양만큼 CPU(501)의 처리 부하를 감소할 수 있다.For example, an operation of "moving from the origin to the top of the tray" and information representing the first operation are related to teaching, and an operation of "holding while adjusting the position of the hand" and information representing the second operation are taught. related to poetry Accordingly, based on the information indicating the first motion or the information indicating the second motion, the encoder value obtained from the robot arm 200 when the robot arm 200 performs each motion can be distinguished. Therefore, the process of differentiating the encoder value can be omitted, and the processing load of the CPU 501 can be reduced by the amount required for this process.

또한, 제1동작을 나타내는 정보, 또는 제2동작을 나타내는 정보에 근거하여, 각 동작을 행했을 때에 취득한 토크 전류값의 시계열 데이터를 직접 구분해도 좋다. 이에 따라 인코더 값의 처리를 한층 더 생략할 수 있으므로, 이 처리에 필요로 하는 양만큼 CPU(501)의 처리 부하를 한층 더 감소할 수 있다.Further, based on information indicating the first operation or information indicating the second operation, time-series data of torque current values obtained when each operation is performed may be directly divided. As a result, since the processing of encoder values can be further omitted, the processing load of the CPU 501 can be further reduced by the amount required for this processing.

또한, 교시시에, 동작의 종류를 나타내는 정보가 각 동작과 관련되어도 되고, 동작의 종류를 나타내는 정보에 근거하여, 각 동작을 행했을 때에 취득한 인코더 값과 토크 전류값을 구분해도 좋다.Further, at the time of teaching, information indicating the type of motion may be associated with each motion, or based on the information indicating the type of motion, an encoder value obtained when each motion is performed and a torque current value may be distinguished.

또한, 상술한 실시예에서는, 소정장치가, 로봇 암(200)일 경우를 예로서 설명했지만, 그 구성은 이것에 한정되는 것이 아니다. 소정장치가, 예를 들면 워크피스를 반송하는 리니어 기기, 표면거칠기를 검출하는 프로브 기기, 및 렌즈에 막을 증착하는 증착 장치등의, 여러 가지의 생산 장치이여도 좋다. 그 경우, 소정부위를 구동하는 구동부에, 인코더 또는 전류 센서등의 센서가 설치되어도 좋고, 상술한 실시예와 같은 프로그램을 CPU(501)에 입력 함으로써, 상술한 실시예와 같은 처리방법을 CPU(501)가 수행할 수 있다.Further, in the above-described embodiment, the case where the predetermined device is the robot arm 200 has been described as an example, but the configuration is not limited to this. The predetermined device may be various production devices, such as, for example, a linear device for conveying a workpiece, a probe device for detecting surface roughness, and a deposition device for depositing a film on a lens. In that case, a sensor such as an encoder or a current sensor may be provided in the drive unit that drives the predetermined part, and by inputting a program similar to that of the above-described embodiment into the CPU 501, the CPU 501 executes the same processing method as the above-mentioned embodiment. 501) can be performed.

또한, 소정장치는, 생산 장치에 한정되는 것이 아니고, 생산 장치이외의 장치이여도 좋다. 예를 들면, 소정장치가, 간호용 로봇, 소비자용 로봇, 사무기기, 또는 광학장치이여도 좋다. 소정장치로서, 소정부위를 이동시켜서 유저의 목적을 달성하는 장치가 사용될 수 있다. 그 경우도, 이동하는 소정부위의 구동부에, 인코더나 전류 센서라고 한 센서가 설치되어도 좋고, 상술한 실시예와 같은 프로그램을 CPU(501)에 입력 함으로써, 상술한 실시예와 같은 처리방법을 CPU(501)가 수행할 수 있다.In addition, the predetermined device is not limited to the production device, and may be a device other than the production device. For example, the predetermined device may be a nursing robot, a consumer robot, office equipment, or an optical device. As the predetermined device, a device that achieves a user's purpose by moving a predetermined part can be used. Also in that case, a sensor such as an encoder or a current sensor may be provided in the driving unit of the moving predetermined part, and the same processing method as in the above-described embodiment can be performed by inputting a program similar to the above-described embodiment into the CPU 501. (501) can be performed.

또한, 로봇 암(200)의 각 관절을 구동하는 구동부의 구성은, 상술한 실시예의 구성에 한정되는 것이 아니다. 각 관절을 구동하는 구동부는, 예를 들면 인공근육과 같은 디바이스 등이여도 좋다. 그 경우, 디바이스의 변위를 검출할 수 있는 센서를, 인코더나 전류 센서 대신에 적절하게 설치하여도 좋다.In addition, the configuration of the driving unit that drives each joint of the robot arm 200 is not limited to the configuration of the above-described embodiment. The driving unit for driving each joint may be, for example, a device such as an artificial muscle. In that case, a sensor capable of detecting the displacement of the device may be appropriately provided instead of an encoder or a current sensor.

또한, 소정장치는, 제어장치에 설치되는 기억장치에 기억된 정보에 근거하여, 신/축, 굽힘, 상하 이동, 좌우 이동, 선회동작, 또는 이것들의 조합 동작을 자동적으로 행할 수 있는 기계인 것이 바람직하다.In addition, the predetermined device is a machine capable of automatically extending/contracting, bending, vertical movement, left/right movement, turning, or a combination thereof based on information stored in a storage device installed in the control device. desirable.

그 밖의 실시예other examples

또한, 본 발명의 실시예(들)는, 기억매체(보다 완전하게는 '비일시적 컴퓨터 판독 가능한 기억매체'라고도 함)에 레코딩된 컴퓨터 실행가능한 명령들(예를 들면, 하나 이상의 프로그램)을 판독하고 실행하여 상술한 실시예(들)의 하나 이상의 기능을 수행하는 것 및/또는 상술한 실시예(들)의 하나 이상의 기능을 수행하기 위한 하나 이상의 회로(예를 들면, 특정 용도 지향 집적회로(ASIC))를 구비하는 것인, 시스템 또는 장치를 갖는 컴퓨터에 의해 실현되고, 또 예를 들면 상기 기억매체로부터 상기 컴퓨터 실행가능한 명령을 판독하고 실행하여 상기 실시예(들)의 하나 이상의 기능을 수행하는 것 및/또는 상술한 실시예(들)의 하나 이상의 기능을 수행하는 상기 하나 이상의 회로를 제어하는 것에 의해 상기 시스템 또는 상기 장치를 갖는 상기 컴퓨터에 의해 행해지는 방법에 의해 실현될 수 있다. 상기 컴퓨터는, 하나 이상의 프로세서(예를 들면, 중앙처리유닛(CPU), 마이크로처리유닛(MPU))을 구비하여도 되고, 컴퓨터 실행 가능한 명령을 판독하여 실행하기 위해 별개의 컴퓨터나 별개의 프로세서의 네트워크를 구비하여도 된다. 상기 컴퓨터 실행가능한 명령을, 예를 들면 네트워크나 상기 기억매체로부터 상기 컴퓨터에 제공하여도 된다. 상기 기억매체는, 예를 들면, 하드 디스크, 랜덤액세스 메모리(RAM), 판독전용 메모리(ROM), 분산형 컴퓨팅 시스템의 스토리지, 광디스크(콤팩트 디스크(CD), 디지털 다기능 디스크(DVD) 또는 블루레이 디스크(BD)TM등), 플래시 메모리 소자, 메모리 카드 등 중 하나 이상을 구비하여도 된다.In addition, the embodiment(s) of the present invention may read computer-executable instructions (eg, one or more programs) recorded on a storage medium (more fully referred to as a 'non-transitory computer-readable storage medium'). Doing and executing to perform one or more functions of the above-described embodiment (s) and / or one or more circuits for performing one or more functions of the above-described embodiment (s) (eg, a specific application-oriented integrated circuit ( ASIC)), and to perform one or more functions of the embodiment(s) by reading and executing the computer-executable instructions, for example, from the storage medium. and/or controlling the one or more circuits to perform one or more functions of the above-described embodiment(s). The computer may include one or more processors (for example, a central processing unit (CPU) or a microprocessing unit (MPU)), and may include a separate computer or separate processor to read and execute computer-executable instructions. A network may be provided. The computer-executable instructions may be provided to the computer from, for example, a network or the storage medium. The storage medium may be, for example, a hard disk, a random access memory (RAM), a read-only memory (ROM), a storage of a distributed computing system, an optical disk (compact disk (CD), a digital versatile disk (DVD) or Blu-ray). At least one of a disk (BD) TM , etc.), a flash memory device, a memory card, and the like may be provided.

본 발명은 실시예들을 참조하여 기재하였지만, 본 발명은 상기 개시된 실시예들에 한정되지 않는다는 것을 알 것이다. 아래의 청구항의 범위는, 모든 변형예, 동등한 구조 및 기능을 포함하도록 폭 넓게 해석해야 한다.Although the present invention has been described with reference to examples, it will be appreciated that the present invention is not limited to the above disclosed examples. The scope of the claims below is to be interpreted broadly to include all modifications and equivalent structures and functions.

Claims (25)

처리부를 구비하고,
상기 처리부는,
소정 부위의 변위에 따라 제1센서 값을 출력하는 제1센서를 구비한 소정장치로부터, 상기 제1센서 값을 취득하고,
상기 소정 부위의 변위의 변화 정도를 상기 제1센서 값에 근거하여 취득하며,
상기 제1센서 값을 상기 변화 정도에 근거하여 구분하고,
상기 구분한 제1센서 값을 클러스터링 하는, 처리장치.
Equipped with a processing unit,
The processing unit,
Obtaining a first sensor value from a predetermined device having a first sensor outputting a first sensor value according to a displacement of a predetermined part;
Obtaining a degree of change in the displacement of the predetermined part based on the first sensor value,
Classifying the first sensor value based on the degree of change,
A processing device for clustering the divided first sensor values.
제 1 항에 있어서,
상기 처리부는, 상기 제1센서 값을 미분하여 상기 변화 정도를 취득하고, 상기 변화 정도가 제1 임계치에서 벗어나는 구간을 상기 제1센서 값으로부터 추출하여서, 상기 제1 센서값을 구분하는, 처리장치.
According to claim 1,
The processing unit differentiates the first sensor value by differentiating the first sensor value to obtain the degree of change, extracting a section in which the degree of change deviates from a first threshold value from the first sensor value, and classifying the first sensor value. .
제 1 항에 있어서,
상기 처리부는, 상기 구분한 제1센서 값을, 클러스터링에 의해, 분산이 제2임계치이하의 제1클러스터, 또는 분산이 상기 제2임계치보다도 큰 제2클러스터로 분류하는, 처리장치.
According to claim 1,
The processing unit classifies the classified first sensor values into a first cluster having a variance less than or equal to a second threshold, or a second cluster having a variance greater than the second threshold, by clustering.
제 3 항에 있어서,
상기 처리부는, 상기 소정장치로부터 더욱 소정구간의 상기 제1센서 값을 취득하고, 상기 소정구간의 상기 제1센서 값이, 상기 제1클러스터 및 상기 제2클러스터 중 어느쪽에 속하는지를 특정하는, 처리장치.
According to claim 3,
The processing unit obtains the first sensor value of a further predetermined section from the predetermined device, and specifies which of the first cluster and the second cluster the first sensor value of the predetermined section belongs to. Device.
제 4 항에 있어서,
상기 소정장치는, 상기 소정장치의 동작에 대응해서 제2센서 값을 출력하는, 상기 제1센서와는 다른, 제2센서를 구비하고,
상기 처리부는,
상기 제1센서 값과 같은 시계열로, 상기 제2센서 값을 취득하고,
상기 제1클러스터에 속하는 것으로서 특정된, 상기 소정구간의 상기 제1센서 값에 대응하는 상기 제2센서 값과, 제1기준값과의 차이가, 제1소정값보다 큰 경우에, 소정 데이터를 출력하는, 처리장치.
According to claim 4,
The predetermined device includes a second sensor, different from the first sensor, that outputs a second sensor value in response to an operation of the predetermined device;
The processing unit,
Obtaining the second sensor value in the same time series as the first sensor value;
When the difference between the second sensor value corresponding to the first sensor value of the predetermined period and the first reference value, which is specified as belonging to the first cluster, is greater than a first predetermined value, predetermined data is output. Doing, processing unit.
제 5 항에 있어서,
상기 처리부는,
상기 제2클러스터에 속하는 것으로서 특정된, 상기 소정구간의 상기 제1센서 값에 대응하는 상기 제2센서 값과, 제2기준값과의 차이가, 제2소정값보다 큰 경우에, 상기 소정 데이터를 출력하는, 처리장치.
According to claim 5,
The processing unit,
When a difference between the second sensor value corresponding to the first sensor value of the predetermined period and the second reference value, which is specified as belonging to the second cluster, is greater than a second predetermined value, the predetermined data Output processing unit.
제 1 항에 있어서,
상기 처리부는, 상기 구분한 제1센서 값을 점 데이터로 압축해서 클러스터링 하는, 처리장치.
According to claim 1,
The processing unit compresses and clusters the divided first sensor values into point data.
제 1 항에 있어서,
상기 제1센서는, 상기 소정부위의 변위에 대응한 신호를 출력하는 인코더이며,
상기 제1센서 값은, 상기 인코더의 인코더 값인, 처리장치.
According to claim 1,
The first sensor is an encoder that outputs a signal corresponding to the displacement of the predetermined part,
The first sensor value is an encoder value of the encoder.
제 8 항에 있어서,
상기 인코더가, 상기 소정부위를 구동하는 모터의 회전자의 회전 각도에 대응한 신호를 출력하는 로터리 인코더인, 처리장치.
According to claim 8,
The processing device, wherein the encoder is a rotary encoder that outputs a signal corresponding to a rotational angle of a rotor of a motor driving the predetermined portion.
제 5 항 또는 제 6 항에 있어서,
상기 제2센서가, 상기 소정부위를 구동하는 모터에 공급된 전류에 대응한 신호를 출력하는 전류 센서이며,
상기 제2센서 값이, 상기 전류 센서의 전류값인, 처리장치.
According to claim 5 or 6,
The second sensor is a current sensor that outputs a signal corresponding to the current supplied to the motor driving the predetermined part,
The processing device, wherein the second sensor value is a current value of the current sensor.
제 8 항에 있어서,
상기 처리부는, 상기 인코더 값에 근거해 상기 소정부위의 변위속도를 취득하고, 상기 변위속도의 값이, 제1임계치에서 벗어나는 구간을, 상기 인코더 값으로부터 추출하여서, 상기 인코더 값을 구분하는, 처리장치.
According to claim 8,
The processing unit obtains the displacement velocity of the predetermined portion based on the encoder value, extracts a section in which the value of the displacement velocity deviates from a first threshold value from the encoder value, and classifies the encoder value. Device.
제 5 항 또는 제 6 항에 있어서,
상기 처리부는,
상기 제1기준값을, 상기 제1클러스터에 속하는, 상기 구분한 제1센서 값에 대응하는 상기 제2센서 값으로부터 구하는, 처리장치.
According to claim 5 or 6,
The processing unit,
The processing device, wherein the first reference value is obtained from the second sensor value belonging to the first cluster and corresponding to the classified first sensor value.
제 5 항 또는 제 6 항에 있어서,
상기 처리부로부터 상기 소정 데이터의 입력에 응답하여 경고를 발행하는 장치를 더 구비하는, 처리장치.
According to claim 5 or 6,
and a device for issuing a warning in response to input of the predetermined data from the processing unit.
제 4 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 처리부는, 상기 소정구간의 상기 제1센서 값이, 상기 제1클러스터 및 상기 제2클러스터 중 어느쪽에 속하는지에 따라, 상기 소정장치가 동작한 동작의 종류를 특정하는, 처리장치.
According to any one of claims 4 to 6,
wherein the processing unit specifies a type of operation performed by the predetermined device according to which of the first cluster and the second cluster the first sensor value of the predetermined period belongs to.
제 1 항에 따른 상기 처리장치; 및
제 1 항에 따른 상기 소정장치를 구비하고,
상기 소정장치는 생산 장치인, 생산 시스템.
The treatment device according to claim 1; and
Equipped with the predetermined device according to claim 1;
The production system, wherein the predetermined device is a production device.
제 1 항에 따른 상기 처리장치와 상기 소정장치를 구비하고,
상기 소정장치는 로봇 암인, 로봇 장치.
Equipped with the treatment device according to claim 1 and the predetermined device,
The predetermined device is a robot arm, the robot device.
제 15 항에 따른 상기 생산 시스템을 사용해서 물품을 제조하는 제조 방법.
A method of manufacturing an article using the production system according to claim 15 .
처리부의 처리방법으로서,
소정 부위의 변위에 따라 제1센서 값을 출력하는 제1센서를 구비한 소정장치로부터, 상기 제1센서 값을 취득하는 단계;
상기 소정 부위의 변위의 변화 정도를 상기 제1센서 값에 근거하여 취득하는 단계;
상기 제1센서 값을 상기 변화 정도에 근거하여 구분하는 단계; 및
상기 구분한 제1센서 값을 클러스터링 하는 단계를 포함하는, 처리방법.
As a processing method of the processing unit,
obtaining a first sensor value from a predetermined device having a first sensor outputting a first sensor value according to a displacement of a predetermined part;
obtaining a degree of change in displacement of the predetermined part based on the first sensor value;
classifying the first sensor value based on the degree of change; and
And a processing method comprising the step of clustering the separated first sensor values.
제 18 항에 있어서,
상기 제1센서 값을 미분하여 상기 변화 정도를 취득하고, 상기 변화 정도가 제1 임계치에서 벗어나는 구간을 상기 제1센서 값으로부터 추출하여서, 상기 제1 센서값을 구분하는, 처리방법.
According to claim 18,
The first sensor value is differentiated by differentiating the first sensor value to obtain the degree of change, and a section in which the degree of change deviates from a first threshold is extracted from the first sensor value to distinguish the first sensor value.
제 18 항 또는 제 19 항에 따른 상기 처리방법을 컴퓨터에 실행시키는 프로그램을 기억하는, 컴퓨터 판독 가능한 비일시적인 기록 매체.A computer-readable non-transitory recording medium storing a program for causing a computer to execute the processing method according to claim 18 or 19. 제 12 항에 있어서,
상기 처리부는 상기 제1 클러스터에 속하는 상기 구분한 제1센서 값에 대응하는 상기 제2센서 값의 대표값, 중간값, 및 평균값 중 적어도 하나에 근거하여 상기 제1기준값을 취득하는, 처리장치.
According to claim 12,
Wherein the processing unit obtains the first reference value based on at least one of a representative value, a median value, and an average value of the second sensor value corresponding to the classified first sensor value belonging to the first cluster.
제 12 항에 있어서,
상기 처리부는, 상기 소정장치의 동작의 규격값 및 시뮬레이션 값 중 적어도 하나에 근거하여 상기 제2기준값을 취득하는, 처리장치.
According to claim 12,
wherein the processing unit acquires the second reference value based on at least one of a standard value and a simulation value of an operation of the predetermined device.
제 14 항에 있어서,
상기 종류는 매회 반복되는 동작의 제1종류 또는 매회 다르게 수행되는 동작의 제2종류인, 처리장치.
15. The method of claim 14,
wherein the type is a first kind of operation that is repeated each time or a second kind of operation that is performed differently each time.
제 1 항에 있어서,
상기 변화 정도는 상기 변위의 시간 변화인, 처리장치.
According to claim 1,
The processing device, wherein the degree of change is a time change of the displacement.
제 2 항에 있어서,
상기 처리부는, 상기 제1임계치 내의 구간이 상기 소정장치가 정지된 구간이라고 판정하는, 처리장치.
According to claim 2,
The processing unit determines that a section within the first threshold is a section in which the predetermined device is stopped.
KR1020190083565A 2018-07-24 2019-07-11 Processing apparatus and processing method for processing portion KR102536129B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2018138894 2018-07-24
JPJP-P-2018-138894 2018-07-24
JP2019109202A JP2020019133A (en) 2018-07-24 2019-06-12 Processing device, production system, robot device, article manufacturing method, processing method and recording medium
JPJP-P-2019-109202 2019-06-12

Publications (2)

Publication Number Publication Date
KR20200011360A KR20200011360A (en) 2020-02-03
KR102536129B1 true KR102536129B1 (en) 2023-05-24

Family

ID=69589356

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190083565A KR102536129B1 (en) 2018-07-24 2019-07-11 Processing apparatus and processing method for processing portion

Country Status (2)

Country Link
JP (1) JP2020019133A (en)
KR (1) KR102536129B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230072363A1 (en) * 2020-02-17 2023-03-09 Kyocera Corporation Method for creating amount of wear estimation model, method for estimating amount of wear, amount of wear estimation model creation apparatus, program for creating amount of wear estimation model, amount of wear estimation apparatus, and program for estimating amount of wear
JP7349038B1 (en) * 2022-04-08 2023-09-21 株式会社イトーキ Care robot control device and care robot system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005279834A (en) * 2004-03-29 2005-10-13 Advanced Telecommunication Research Institute International Communication robot
JP2015088078A (en) * 2013-11-01 2015-05-07 株式会社日立パワーソリューションズ Abnormality sign detection system and abnormality sign detection method
JP2016168650A (en) * 2015-03-13 2016-09-23 キヤノン株式会社 Robot device, robot control method, program, and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6221414B2 (en) * 2013-06-27 2017-11-01 富士通株式会社 Determination apparatus, determination program, and determination method
JP5684941B1 (en) * 2014-07-31 2015-03-18 株式会社日立パワーソリューションズ Abnormal sign diagnostic apparatus and abnormal sign diagnostic method
JP6414127B2 (en) * 2016-04-18 2018-10-31 トヨタ自動車株式会社 Abnormality determination apparatus and abnormality determination method
KR101946842B1 (en) * 2016-07-22 2019-02-11 주식회사 인포리언스 Data searching apparatus
JP6144404B1 (en) * 2016-12-27 2017-06-07 川崎重工業株式会社 Reduction gear failure diagnosis device, failure diagnosis method, and mechanical device including the failure diagnosis device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005279834A (en) * 2004-03-29 2005-10-13 Advanced Telecommunication Research Institute International Communication robot
JP2015088078A (en) * 2013-11-01 2015-05-07 株式会社日立パワーソリューションズ Abnormality sign detection system and abnormality sign detection method
JP2016168650A (en) * 2015-03-13 2016-09-23 キヤノン株式会社 Robot device, robot control method, program, and storage medium

Also Published As

Publication number Publication date
KR20200011360A (en) 2020-02-03
JP2020019133A (en) 2020-02-06

Similar Documents

Publication Publication Date Title
CN108227633B (en) Numerical controller and machine learning device
US9898815B2 (en) Fault diagnostic device of robot system for judging fault by camera image
JP6621059B2 (en) Mechanical equipment control system, mechanical equipment control device, and mechanical equipment control method
KR102536129B1 (en) Processing apparatus and processing method for processing portion
KR102015664B1 (en) Method and device for executing a manipulator process
CN110799917B (en) Method and device for health assessment of a delivery device
EP2431137A2 (en) Reducer abnormality determination method, abnormality determination device, and robot system
CN110187694B (en) Failure prediction device and machine learning device
JP6744277B2 (en) Life prediction device
US20190184566A1 (en) Robot arm, robot control apparatus, and robot system
US11597083B2 (en) Robot apparatus, robot system, control method of robot apparatus, product manufacturing method using robot apparatus, and storage medium
JP2013031913A (en) Method and system for controlling dexterous robot execution sequence using state classification
US11789437B2 (en) Processing apparatus and processing method for processing portion
JP7226411B2 (en) An expansion module, an industrial device, and a method for estimating a parameter of an industrial device or an internal state of a device controlled by said industrial device
WO2021060104A1 (en) Information processing device, information processing system, and information processing method
JP2021088042A (en) Robot control device, gripping system and robot hand control method
JP6949284B1 (en) Numerical control device
CN109352678B (en) Gravity compensation method and device for robot shaft and robot
US11249455B2 (en) Automation system and wear detection controller
Dániel et al. Joint level collision avoidance for industrial robots
JP7278803B2 (en) Information processing method, information processing device, robot system, robot system control method, article manufacturing method using robot system, program, and recording medium
JP7267725B2 (en) Robot control method, program, recording medium, robot system, article manufacturing method
CN113021411A (en) Robot failure prediction device, robot failure prediction system, and robot failure prediction method
US11613006B2 (en) Robot apparatus, control method of robot apparatus, power transmission module, power reception module, power supply method, article manufacturing method using robot apparatus, and storage medium
US20240139948A1 (en) Robot, robot control method, article manufacturing method using robot, and control program and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right