KR20220148310A - Robot control device, robot control method, and robot control program - Google Patents
Robot control device, robot control method, and robot control program Download PDFInfo
- Publication number
- KR20220148310A KR20220148310A KR1020227036407A KR20227036407A KR20220148310A KR 20220148310 A KR20220148310 A KR 20220148310A KR 1020227036407 A KR1020227036407 A KR 1020227036407A KR 20227036407 A KR20227036407 A KR 20227036407A KR 20220148310 A KR20220148310 A KR 20220148310A
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- value
- collision
- threshold
- temperature
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1641—Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40317—For collision avoidance and detection
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50391—Robot
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
본 발명의 로봇 제어 장치는, 로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하는 검지하고, 상기 로봇을 동작시키고, 상기 검지부에 의해 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하고, 상기 로봇의 온도가 낮음을 나타내는 미리 정해진 조건이 충족되면, 상기 미리 정해진 조건이 충족되지 않을 때에 비해 상기 충돌 검지 감도를 저하시키는 것이다.The robot control apparatus of the present invention detects a collision between a robot and another object with a predetermined collision detection sensitivity, operates the robot, and controls to stop the robot when the collision is detected by the detection unit, When a predetermined condition indicating that the temperature of the robot is low is satisfied, the collision detection sensitivity is lowered compared to when the predetermined condition is not met.
Description
본 발명은, 로봇을 제어하는 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램에 관한 것이다.The present invention relates to a robot control apparatus for controlling a robot, a robot control method, and a robot control program.
위치 명령, 속도 명령, 가속도 명령 중 적어도 하나로부터 필요 구동 토크 명령의 각 요소를 연산하는 필요 구동 토크 명령 요소 연산 수단과, 위치, 속도, 가속도 중 적어도 하나 및 필요 구동 토크 명령 요소 연산 수단에 의해 연산된 필요 구동 토크 명령의 각 요소 중 적어도 하나를 사용하여 필요 구동 토크를 연산하는 필요 구동 토크 연산 수단과, 상측 역치 및 하측 역치를 연산하는 역치 연산 수단과, 필요 구동 토크, 상측 역치, 하측 역치 및 로봇의 각 축을 구동하는 모터의 전류에 기초하여 충돌을 판별하는 충돌 판별 수단을 구비한 로봇 제어 장치는, 알려져 있다. 이 로봇 제어 장치에 있어서, 역치 연산 수단이, 기억되어 있는 시간의 규정값과 타이머 수단으로부터 출력되는 모터 전원 투입 후의 경과 시간을 비교하여, 시간 규정값쪽이 큰 경우에는, 제1 상측 역치 및 제1 하측 역치를 채용하고, 시간 규정값쪽이 작은 경우에는, 제2 상측 역치 및 제2 하측 역치를 채용하는 것도, 알려져 있다. 또한, 이 로봇 제어 장치에 있어서, 파라미터 추정 수단이, 각축의 점성 마찰 계수와 쿨롬 마찰 계수를 온라인으로 동정하고, 동정한 각 축의 마찰 계수를 필요 구동 토크 명령 요소 연산 수단 및 필요 구동 토크 연산 수단에 송신하고, 동정 진행도 판별 수단이, 파라미터 추정 수단으로부터 입력된 파라미터 동정값으로부터 각 축의 쿨롬 마찰 계수와 점성 마찰 계수를 선택하고, 각각의 변화량을 산출하고, 실제의 쿨롬 마찰 계수 변화량 및 점성 마찰 계수 변화량의 양쪽이 규정값 이하인 축에 관해서는 동정 진행도를 1로 하고, 실제의 쿨롬 마찰 계수 변화량 및 점성 마찰 계수 변화량 중 적어도 한쪽이 규정값 이상인 축은 동정 진행도를 0으로 하고, 역치 연산 수단이, 동정 진행도 판별 수단으로부터 출력되는 동정 진행도가 1인 축에 관해서는, 파라미터 동정 진행 후의 상측 역치 및 하측 역치를 설정하고, 동정 진행도 판별 수단으로부터 출력되는 동정 진행도가 0인 축에 관해서는, 파라미터 동정 진행 전의 상측 역치 및 하측 역치를 설정하는 것도, 알려져 있다(예를 들어, 특허문헌 1 참조).calculated by the required drive torque command element calculating means for calculating each element of the required drive torque command from at least one of the position command, the speed command, and the acceleration command, and at least one of the position, speed, and acceleration, and the required drive torque command element calculating means Required drive torque calculation means for calculating a required drive torque using at least one of the elements of the required drive torque command, threshold value calculation means for calculating upper and lower thresholds; BACKGROUND ART A robot control device having a collision determination means for determining a collision based on a current of a motor driving each axis of the robot is known. In this robot control apparatus, the threshold calculation means compares the prescribed value of the stored time with the elapsed time after motor power supply output from the timer means, and when the prescribed time value is larger, the first upper threshold and the first It is also known to employ a lower threshold and employ a second upper threshold and a second lower threshold when the time prescribed value is smaller. Further, in this robot control device, the parameter estimating means identifies the viscous friction coefficient and the Coulomb friction coefficient of each axis on-line, and uses the identified friction coefficient of each axis to the required drive torque command element calculation means and the required drive torque calculation means. and the identification progress determination means selects the Coulomb friction coefficient and the viscous friction coefficient of each axis from the parameter identification values input from the parameter estimation means, calculates the respective change amounts, and the actual Coulomb friction coefficient change amount and the viscous friction coefficient With respect to an axis in which both variations of the change amount are equal to or less than the specified value, the identification progress is set to 1, and the axis of which at least one of the actual change in the Coulombic friction coefficient and the change in the viscous friction coefficient is greater than or equal to the specified value sets the identification progress to 0, and the threshold calculation means , with respect to the axis in which the identification progress output from the identification progress determination means is 1, the upper and lower threshold values after parameter identification are set, and for the axis in which the identification progress output from the identification progress determination means is 0 It is also known to set an upper threshold and a lower threshold before parameter identification progress (for example, refer to Patent Document 1).
로봇의 동작 중에, 로봇과 다른 물체가 충돌한 경우, 로봇을 그대로 동작시키는 것은 바람직하지 않다. 그래서, 로봇과 다른 물체의 충돌을 고정밀도로 검지할 것이 요망되고 있다. 여기서, 로봇과 다른 물체의 충돌을 판정하기 위한 역치를, 모터 전원 투입 후의 경과 시간이 규정값을 초과하였는지 여부로 변경하는 구성을 채용한 경우, 예를 들어 로봇의 온도가 낮아서 마찰이 크기 때문에 역치를 변경할 필요가 있는 상황에 있어서, 역치를 변경하지 않으면, 충돌을 오검지할 가능성이 높아진다.When the robot collides with another object during operation of the robot, it is not preferable to operate the robot as it is. Therefore, it is desired to detect a collision between a robot and another object with high accuracy. Here, in the case of adopting a configuration in which the threshold for determining the collision between the robot and another object is changed to whether the elapsed time after turning on the motor power exceeds the specified value, for example, the temperature of the robot is low and the friction is large, so the threshold value In a situation where it is necessary to change , if the threshold is not changed, the possibility of erroneous detection of a collision increases.
로봇과 다른 물체의 충돌을 판정하기 위한 역치를, 마찰 계수의 추정값의 변화량이 규정값 이하로 되었는지 여부로 변경하는 구성을 채용한 경우, 로봇의 온도가 낮은 영역에서는 온도 변화에 수반되는 마찰 변화에 의해 마찰 계수의 추정값의 수렴값이 변화되기 때문에, 추정값이 수렴되었는지 여부의 판단이 곤란해져, 충돌을 오검지할 가능성이 높아진다.When a configuration is adopted that changes the threshold for judging the collision of the robot with another object to whether the amount of change in the estimated value of the friction coefficient is less than or equal to the specified value, in the area where the robot temperature is low, the friction change accompanying the temperature change is Since the convergence value of the estimated value of the friction coefficient is changed by this, it becomes difficult to determine whether the estimated value converges, and the possibility of erroneous detection of a collision increases.
본 발명은, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있는 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a robot control device, a robot control method, and a robot control program that can prevent the possibility of erroneous detection of a collision from increasing.
본 발명의 일 양태는, 로봇 제어 장치이며,One aspect of the present invention is a robot control device,
로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하고,Detects a collision between the robot and another object with a predetermined collision detection sensitivity,
상기 로봇을 동작시키고, 검지부에 의해 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하고,Control the robot to operate, and to stop the robot when the collision is detected by a detection unit,
상기 로봇의 온도가 낮음을 나타내는 미리 정해진 조건이 충족되면, 상기 미리 정해진 조건이 충족되지 않을 때에 비해 상기 충돌 검지 감도를 저하시키는 것이다.When a predetermined condition indicating that the temperature of the robot is low is satisfied, the collision detection sensitivity is lowered compared to when the predetermined condition is not met.
도 1은 본 실시 형태에 있어서의 용접 로봇 시스템의 개략 구성도이다.
도 2는 용접 로봇의 관절의 마찰력과 용접 로봇의 감속기의 온도의 관계를 나타낸 그래프이다.
도 3은 제1 실시 형태에 있어서의 로봇 컨트롤러의 구성예를 도시하는 블록도이다.
도 4는 제1 실시 형태에 있어서의 로봇 컨트롤러의 동작예를 나타낸 흐름도이다.
도 5는 제2 실시 형태에 있어서의 로봇 컨트롤러의 구성예를 도시하는 블록도이다.
도 6은 쿨롬 마찰 계수가 2로부터 1로 시간 변화하였을 때의 쿨롬 마찰 계수 추정값의 변화를 나타내는 그래프이다.
도 7은 트레이스 tr(Ak TAk)의 변화를 나타내는 그래프이다.
도 8a는 행렬 Ak TAk의 특이값의 변화를 나타내는 그래프이다.
도 8b는 행렬 Ak TAk의 특이값의 변화를 나타내는 그래프이다.
도 9는 행렬 Ak TAk의 1행1열 요소의 변화를 나타내는 그래프이다.
도 10은 제2 실시 형태에 있어서의 로봇 컨트롤러의 동작예를 나타낸 흐름도이다.
도 11은 제3 실시 형태에 있어서의 로봇 컨트롤러의 구성예를 도시하는 블록도이다.
도 12는 제3 실시 형태에 있어서의 로봇 컨트롤러의 동작예를 나타낸 흐름도이다.
도 13은 제4 실시 형태에 있어서의 로봇 컨트롤러의 구성예를 도시하는 블록도이다.
도 14는 제4 실시 형태에 있어서의 타임 시퀀스도이다.
도 15는 제4 실시 형태에 있어서의 로봇 컨트롤러의 동작예를 나타낸 흐름도이다.
도 16a는 충돌 판정 역치의 상태를 표시하는 화면예를 도시한 도면이다.
도 16b는 충돌 판정 역치의 상태를 표시하는 화면예를 도시한 도면이다.BRIEF DESCRIPTION OF THE DRAWINGS It is a schematic block diagram of the welding robot system in this embodiment.
2 is a graph showing the relationship between the friction force of the joints of the welding robot and the temperature of the reducer of the welding robot.
Fig. 3 is a block diagram showing a configuration example of the robot controller according to the first embodiment.
4 is a flowchart showing an operation example of the robot controller according to the first embodiment.
Fig. 5 is a block diagram showing a configuration example of a robot controller according to the second embodiment.
6 is a graph showing a change in the estimated value of the Coulomb friction coefficient when the Coulomb friction coefficient is changed from 2 to 1 with time.
7 is a graph showing a change in the trace tr(A k T A k ).
8A is a graph illustrating a change in singular values of a matrix A k T A k .
8B is a graph illustrating a change in singular values of a matrix A k T A k .
9 is a graph showing changes in the elements of one row, one column, of the matrix A k T A k .
Fig. 10 is a flowchart showing an operation example of the robot controller according to the second embodiment.
11 is a block diagram showing a configuration example of a robot controller according to the third embodiment.
12 is a flowchart showing an operation example of the robot controller according to the third embodiment.
13 is a block diagram showing a configuration example of a robot controller according to the fourth embodiment.
Fig. 14 is a time sequence diagram according to the fourth embodiment.
15 is a flowchart showing an operation example of the robot controller according to the fourth embodiment.
16A is a diagram showing an example of a screen that displays the state of the collision determination threshold.
16B is a diagram showing an example of a screen that displays the state of the collision determination threshold.
이하, 첨부 도면을 참조하여, 본 발명의 실시 형태가 상세하게 설명된다. 또한, 각 도면에 있어서, 동일한 구성 요소에 대해서는 동일한 부호가 사용되고, 적절히, 상세한 설명은 생략된다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, in each figure, the same code|symbol is used about the same component, and detailed description is abbreviate|omitted suitably.
[용접 로봇 시스템의 구성][Configuration of welding robot system]
도 1은 본 실시 형태에 있어서의 용접 로봇 시스템(1)의 개략 구성도이다. 도 1에 도시된 바와 같이, 용접 로봇 시스템(1)은, 아크 용접을 행하는 용접 로봇(10)과, 용접 로봇(10)에 설치된 용접 와이어에 고전압을 인가하여, 아크를 발생시키는 용접 전원(20)과, 이들 용접 로봇(10) 및 용접 전원(20)을 제어하는 로봇 컨트롤러(30)와, 교시 데이터를 입력하는 교시 장치(80)를 구비하고 있다. 용접 전원(20)의 전원 스위치(20a)가 온으로 되면, 용접 로봇 시스템(1)의 전체의 전원이 온으로 되도록 구성되어 있다.1 is a schematic configuration diagram of a
용접 로봇(10)은, 6관절(축) 구성의 수직 다관절 로봇인 아크 용접 로봇이다. 즉, 용접 로봇(10)은, 모터에 의해 구동되는 관절을 복수(본 실시 형태에서는 도 1에 화살표로 나타낸 바와 같이 6개) 갖는 산업용 로봇이다. 용접 로봇(10)은, 로봇 컨트롤러(30)로부터 후술하는 필요 구동 토크 τ'가 인가되면, 내장하는 서보 모터가 구동되어, 원하는 자세를 취할 수 있다. 본 실시 형태에 있어서의 용접 로봇(10)의 암 선단에는, 용접을 행하기 위한 용접 전류나 실드 가스 등의 공급을 행하는 용접 토치(11)가 장착되어 있다. 용접 로봇(10)에는, 용접 와이어를 용접 토치(11)쪽으로 이송 공급하는 송급 장치(12)가 장착되어 있다.The
로봇 컨트롤러(30)는, 용접의 제어를 행할 때의 연산 처리 등을 행하는 CPU(Central Processing Unit)(30a)와, 메모리(30f)를 구비한다. 메모리(30f)는, 각종 데이터나 CPU(30a)에서 실행되는 프로그램 등이 기억된 ROM(Read Only Memory)(30b)과, CPU(30a)의 작업용 메모리 등으로서 사용되는 RAM(Random Access Memory)(30c)과, 내용을 재기입 가능한 EEPROM(Electrically Erasable & Programmable Read Only Memory)(30d)과, HDD(Hard Disk Drive)(30e)를 구비하고 있다.The
ROM(30b)에 기억된 프로그램 중에는, 예를 들어 용접 로봇(10)에 설치된 용접 토치(11)가 이동하는 목표 위치, 지정 속도가 기술된 교시 프로그램 등이 포함된다. 또한, 프로그램은, EEPROM(30d) 혹은 HDD(30e)에 기억되어도 된다. 교시 프로그램은, 교시 장치(80)로부터의 입력 조작 또는 퍼스널 컴퓨터 등의 도시하지 않은 접속 기기로부터의 입력 조작에 의해 작성, 편집 가능하다.Among the programs stored in the
로봇 컨트롤러(30)에 대해서는, 후에 상술한다.The
교시 장치(80)는, 용접 로봇(10)의 교시 작업 시에, 용접 경로 및 용접 작업 조건 등을 입력하기 위해 사용되는 장치이다. 교시 장치(80)는, 액정 등에 의해 구성된 표시 화면(81)과, 입력 버튼(82)을 구비하고 있다. 혹은, 교시 장치(80)는, 예를 들어 저압의 전계를 형성한 패널의 표면 전하의 변화를 검지함으로써 손가락이 접촉한 위치를 전기적으로 검출하는 정전 용량 방식, 또는, 서로 이격되는 전극의 손가락이 접촉한 위치가 비통전 상태로부터 통전 상태로 변화됨으로써 그 위치를 전기적으로 검출하는 저항막 방식 등의 주지의 터치 패널을 구비해도 된다.The
[제1 실시 형태][First embodiment]
용접 로봇 시스템(1)에 있어서, 용접 로봇(10)의 동작 중에, 용접 로봇(10)과 다른 물체가 충돌한 경우, 용접 로봇(10)을 그대로 동작시키면, 중대한 사고 또는 용접 로봇(10)의 파손으로 이어진다. 그래서, 제1 실시 형태에 있어서의 용접 로봇 시스템(1)은, 용접 로봇(10)과 다른 물체가 충돌하면, 이것을 검지하여 용접 로봇(10)을 정지시키는 충돌 검지 기능을 실장한다.In the welding robot system (1), if the welding robot (10) collides with another object during operation of the welding robot (10), if the welding robot (10) is operated as it is, a serious accident or damage of the welding robot (10) lead to breakage Then, the
충돌 검지 기능은, 용접 로봇(10)에 실제로 발생한 토크인 실제 토크와, 용접 로봇(10)에 발생하는 관성력, 원심력, 중력, 마찰력 등의 추정값의 합계인 추정 토크의 토크차로부터 계산되는 충돌 판정값이, 충돌 판정 역치를 초과한 경우에, 용접 로봇(10)과 다른 물체가 충돌하였다고 판정하여 용접 로봇(10)을 정지시킨다.The collision detection function is a collision determination calculated from a torque difference between an actual torque that is a torque actually generated in the
여기서, 용접 로봇(10)의 구동부의 마찰력은 온도에 의해 변화된다. 이 때문에, 마찰력이 통상 시보다도 커진 경우에, 충돌 판정값이 충돌 판정 역치를 초과하면, 충돌 검지 기능은, 용접 로봇(10)과 다른 물체가 충돌하였다고 오검지한다. 특히, 극한지에서의 동계의 이른 아침 등의 저온 시에 있어서의 용접 로봇(10)의 기동 직후는 마찰력이 크기 때문에, 충돌 검지 기능의 오검지가 많이 발생한다.Here, the frictional force of the driving part of the
그래서, 제1 실시 형태에서는, 충돌 검지 기능에 있어서의 용접 로봇(10)과 다른 물체가 충돌하였다고 판정하기 위한 충돌 판정 조건을 온도에 따라서 변경하고, 이에 의해 충돌 검지 기능의 오검지를 저감시킨다.Then, in 1st Embodiment, the collision determination condition for judging that the
도 2는 용접 로봇(10)의 관절의 마찰력과 용접 로봇(10)의 감속기의 온도의 관계를 나타낸 그래프이다. 이 그래프는, 항온조 내에서 용접 로봇(10)의 손목을 계속해서 동작시켜, 온도의 변화와 마찰력의 변화를 계측한 결과를 나타낸다. 이 그래프에 의해, 용접 로봇(10)의 관절의 마찰력의 변화는, 용접 로봇(10)의 감속기의 온도에 의해 잘 표현할 수 있음을 알 수 있다. 따라서, 본 제1 실시 형태에서는, 용접 로봇(10)의 감속기 등의 온도가 측정되고, 이 온도에 따라서 충돌 판정 조건이 변경된다.2 is a graph showing the relationship between the friction force of the joints of the
도 3은 제1 실시 형태에 있어서의 로봇 컨트롤러(30)의 구성예를 도시하는 블록도이다. 도 3에 도시된 바와 같이, 로봇 컨트롤러(30)의 메모리(30f)는, 역치 기억부(44)를 구비한다. 역치 기억부(44)는, 메모리(30f)의 예를 들어 RAM(30c)(도 1) 또는 EEPROM(30d)(도 1)에 포함된다. 로봇 컨트롤러(30)의 CPU(30a)는, ROM(30b)(도 1)에 기억된 제1 실시 형태의 프로그램을 RAM(30c)(도 1)에 읽어들여 실행함으로써, 제어부(41), 추정 토크 산출부(42), 판정값 산출부(43), 비교부(45), 온도 데이터 취득부(46), 역치 설정부(48)로서 기능한다.3 is a block diagram showing a configuration example of the
또한, 본 제1 실시 형태의 로봇 컨트롤러(30)에 있어서의 기능을 실현하는 프로그램은, 통신 기능에 의해 외부로부터 제공되어도 되고, DVD-ROM(Digital Versatile Disc-Read Only Memory) 또는 플래시 메모리 등의 기록 매체에 저장되어 제공되어도 된다.In addition, the program which implement|achieves the function in the
제어부(41)는, 메모리(30f)의 예를 들어 ROM(30b)(도 1) 또는 EEPROM(30d)(도 1)에 기억된 용접 로봇(10)의 모델(동특성)을 읽어들이고, 읽어들인 모델에 대하여, 원하는 동작을 행하게 하기 위한 각 관절(축)의 필요 구동 토크를 산출하고, 이 필요 구동 토크를 용접 로봇(10)에 인가한다. 이에 의해, 용접 로봇(10)은, 제어부(41)로부터의 필요 구동 토크에 기초하여 이동한다. 그리고, 용접 로봇(10)의 모터의 인코더에 의해 검출된 각 관절의 각도가 로봇 컨트롤러(30)에 피드백된다. 제어부(41)는, 용접 로봇(10)과 다른 물체가 충돌하였다는 취지가 비교부(45)로부터 통지된 경우에는, 용접 로봇(10)의 동작을 정지하기 위해, 필요 구동 토크를 0으로 하는 등의 처리를 행한다. 본 실시 형태에 있어서, 제어부(41)는, 로봇 제어부의 일례에 상당한다.The
추정 토크 산출부(42)는, 제어부(41)로부터 서보 모터로 입력되는 필요 구동 토크, 용접 로봇(10)의 인코더로부터 입력되는 관절 각도 등에 기초하여, 각 관절에 발생하는 관성력, 원심력, 중력, 마찰력 등의 추정값의 합계인 추정 토크를 정기적으로 산출한다. 추정 토크 산출부(42)는, 산출한 추정 토크를 판정값 산출부(43)에 통지한다.The estimated
판정값 산출부(43)는, 추정 토크 산출부(42)가 산출한 추정 토크와, 용접 로봇(10)으로부터 출력된 실제 토크의 토크차로부터, 충돌 검지의 판정에 사용할 충돌 판정값을 산출하고, 이 충돌 판정값을 비교부(45)에 출력한다.The determination
역치 기억부(44)는, 충돌 검지의 판정에 사용할 충돌 판정 역치를 기억한다.The threshold
비교부(45)는, 판정값 산출부(43)가 산출한 충돌 판정값과, 역치 기억부(44)에 기억된 충돌 판정 역치를 비교하고, 비교 결과에 기초하여, 용접 로봇(10)과 다른 물체가 충돌하였는지 여부를 판정한다. 구체적으로는, 비교부(45)는, 충돌 판정값이 충돌 판정 역치보다도 크면 용접 로봇(10)과 다른 물체가 충돌하였다고 판정하고, 충돌 판정값이 충돌 판정 역치 이하이면 용접 로봇(10)과 다른 물체가 충돌하지 않았다고 판정한다. 비교부(45)는, 용접 로봇(10)과 다른 물체가 충돌하였다고 판정한 경우에는 제어부(41)에 그 취지를 통지한다. 본 실시 형태에 있어서, 비교부(45)는, 검지부의 일례에 상당한다. 즉, 비교부(45)는, 충돌 판정 역치의 크기에 의해 결정되는 소정의 충돌 검지 감도로, 용접 로봇(10)과 다른 물체의 충돌을 검지한다.The
온도 데이터 취득부(46)는, 용접 로봇(10)의 감속기의 온도를 나타내는 온도 데이터를 취득한다. 온도 데이터 취득부(46)는, 취득한 온도 데이터를 역치 설정부(48)에 통지한다. 감속기의 온도로서는, 감속기 내부의 온도(예를 들어 그리스 온도), 또는, 감속기 표면의 온도가 사용되어도 된다. 혹은, 온도 센서의 설치 용이성으로부터, 감속기의 커버의 온도가 사용되어도 되고, 인코더 자체가 온도를 취득할 수 있는 인코더가 감속기의 인코더로서 사용되어도 된다.The temperature
역치 설정부(48)는, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도에 기초하여, 충돌 판정 역치를 역치 기억부(44)에 설정한다. 본 제1 실시 형태에 있어서, 역치 설정부(48)는, 검지 제어부의 일례에 상당한다. 이 충돌 판정 역치의 설정 방법에는, 예를 들어 다음과 같은 방법이 있다.The threshold
제1 방법은, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도가 기준 온도 이상인 경우에는, 통상의 역치를 충돌 판정 역치로서 설정하고, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도가 기준 온도 미만인 경우에는, 통상보다도 큰 역치를 충돌 판정 역치로서 설정하는 방법이다. 이 경우, 미리 측정된 마찰력과 온도의 관계(예를 들어 도 2)에 있어서, 어떤 온도 이하로 되면 실제의 마찰력과 기준이 되는 마찰력의 차가 통상의 역치로 상정되는 마찰 오차 이상이 되는 경우에, 그 온도를 기준 온도로 하면 된다.In the first method, when the temperature indicated by the temperature data acquired by the temperature
제2 방법은, 온도 데이터 취득부(46)가 취득한 온도 데이터로부터 산출된 역치를 충돌 판정 역치로서 설정하는 방법이다. 미리 측정된 마찰력과 온도의 관계(예를 들어 도 2)에 기초하여, 통상 동작에서 충돌 판정값이 초과되지 않는 역치를, 온도에 대하여 선형으로 변화되는 값으로서 산출하면 된다. 예를 들어, 역치 산출식A 2nd method is a method of setting the threshold value calculated from the temperature data acquired by the temperature
(역치)=a×(온도)+b(threshold) = a × (temperature) + b
에 의해 산출하면 된다. 상기 역치 산출식에 있어서, 계수 a 및 b는 임의의 상수를 나타낸다. 단, 온도가 낮을수록 큰 역치를 설정할 필요가 있으므로, a<0으로 한다. 여기에서는, 역치 산출식으로서, 감소 1차 함수를 사용하였지만, 2차 함수 등의 다른 함수의 감소 구간을 사용해도 된다.It should be calculated by In the above threshold calculation formula, the coefficients a and b represent arbitrary constants. However, since it is necessary to set a large threshold value so that temperature is low, let a<0. Here, a decreasing linear function is used as the threshold value calculation formula, but a decreasing interval of another function such as a quadratic function may be used.
제3 방법은, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도가 기준 온도 이상인 경우에는, 통상의 역치를 충돌 판정 역치로서 설정하고, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도가 기준 온도 미만인 경우에는, 그 온도 데이터로부터 산출된 역치를 충돌 판정 역치로서 설정하는 방법이다. 이 경우, 미리 측정된 마찰력과 온도의 관계(예를 들어 도 2)에 있어서, 어떤 온도 이하로 되면, 실제의 마찰력과 기준이 되는 마찰력의 차가, 통상의 역치로 상정되는 마찰 오차 이상이 되는 경우에, 그 온도를 기준 온도로 하면 된다. 온도가 기준 온도 미만인 경우에는, 예를 들어 상기 역치 산출식에 의해 역치를 설정하면 된다. 단, 온도가 낮을수록 큰 역치를 설정할 필요가 있으므로, 상기 역치 산출식에서 온도를 기준 온도로 한 경우의 역치가 통상의 역치 이상이 되도록, 계수 a 및 b의 값을 정할 필요가 있다.In the third method, when the temperature indicated by the temperature data acquired by the temperature
제4 방법은, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도가 기준 온도 이상인 경우에는, 그 온도 데이터로부터 산출된 역치를 충돌 판정 역치로서 설정하고, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도가 기준 온도 미만인 경우에는, 통상보다도 큰 역치를 설정하는 방법이다. 단, 온도가 낮을수록 큰 역치를 설정할 필요가 있으므로, 상기 역치 산출식에서 온도를 기준 온도로 한 경우의 역치가 상기 통상보다도 큰 역치 이하가 되도록, 계수 a 및 b의 값을 정할 필요가 있다.In the fourth method, when the temperature indicated by the temperature data acquired by the temperature
상기 제1 내지 제4 방법 중 어느 것을 사용하여, 역치 설정부(48)에 의해, 통상보다도 큰 역치가 충돌 판정 역치로서 설정되면, 통상의 역치가 충돌 판정 역치로서 설정되는 경우에 비해, 비교부(45)의 충돌 검지 감도는, 저하되게 된다.When the threshold value larger than normal is set as the collision determination threshold by the threshold
본 제1 실시 형태에서는, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도는, 로봇의 실제로 측정된 온도인 측정 온도의 일례이다. 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도가 낮다고 하는 조건은, 로봇의 온도가 낮음을 나타내는 미리 정해진 조건의 일례이다.In the first embodiment, the temperature indicated by the temperature data acquired by the temperature
또한, 상기에서는, 추정 토크 산출부(42)가 추정 토크를 산출할 때, 온도 데이터 취득부(46)가 취득한 온도 데이터를 사용하는 것은 설명하지 않았지만, 온도 데이터 취득부(46)가 취득한 온도 데이터를 사용하도록 해도 된다. 구체적으로는, 추정 토크 산출부(42)는, 추정 토크를 추정할 때의 마찰력의 추정에 온도 데이터 취득부(46)가 취득한 온도 데이터를 사용하여, 보다 정확한 마찰 추정값을 구해도 된다. 이 마찰 추정값의 도출 방법에는, 예를 들어 다음과 같은 방법이 있다.In addition, although the use of the temperature data acquired by the temperature
제1 방법은, 미리 측정된 마찰력과 온도의 관계를 테이블로서 메모리(30f)의 예를 들어 ROM(30b)에 보유해 두고, 추정 토크 산출부(42)는, 메모리(30f)의 테이블로부터, 온도 데이터 취득부(46)가 취득한 온도 데이터에 대응하는 마찰력의 값을 판독하고, 이 판독한 마찰력의 값을 사용하는 방법이다.In the first method, the relationship between frictional force and temperature measured in advance is stored in, for example, the
제2 방법은, 미리 측정된 마찰력과 온도의 관계를 근사하여 온도를 변수로 한 마찰의 모델을 작성하여 메모리(30f)의 예를 들어 ROM(30b)에 보유해 두고, 추정 토크 산출부(42)는, 온도 데이터 취득부(46)가 취득한 온도 데이터와 메모리(30f)의 마찰 모델로부터 마찰 추정값을 구한다는 방법이다. 마찰 모델은, 예를 들어In the second method, a friction model using temperature as a variable is created by approximating the relationship between friction force and temperature measured in advance, stored in, for example, the
log(마찰 추정값)=c×(온도)+dlog(estimate of friction)=c×(temperature)+d
와 같이 근사하면 된다. 상기 식에 있어서, 계수 c 및 d는 임의의 상수이다.should be approximated as In the above formula, the coefficients c and d are arbitrary constants.
도 4는 제1 실시 형태에 있어서의 로봇 컨트롤러(30)의 동작예를 나타낸 흐름도이다.4 is a flowchart showing an operation example of the
도 4에 도시된 바와 같이, 로봇 컨트롤러(30)에서는, 먼저, 제어부(41)가, 용접 로봇(10)을 기동한 후, 소정의 동작을 실현하기 위해, 용접 로봇(10)을 모터 구동에 의해 제어한다(스텝 401).As shown in FIG. 4 , in the
다음에, 추정 토크 산출부(42)가, 용접 로봇(10)에 발생하는 관성력, 원심력, 마찰력 등을 추정하여, 추정 토크를 산출한다(스텝 402).Next, the estimated
다음에, 판정값 산출부(43)가, 용접 로봇(10)에 실제로 발생한 토크의 측정값인 실제 토크와, 스텝 402에서 산출된 추정 토크의 토크차로부터, 충돌 판정값을 산출한다(스텝 403).Next, the determination
한편, 로봇 컨트롤러(30)에서는, 온도 데이터 취득부(46)가, 온도 센서가 측정한 용접 로봇(10)의 감속기의 온도를 나타내는 온도 데이터를 취득한다(스텝 404).On the other hand, in the
다음에, 역치 설정부(48)가, 스텝 404에서 취득된 온도 데이터가 나타내는 측정 온도에 기초하여, 역치 기억부(44)에 충돌 판정 역치를 설정한다. 여기에서는, 역치 설정부(48)는, 충돌 판정값이 충돌 판정 역치를 초과하면 충돌하였다고 판정하도록, 충돌 판정 역치를 설정한다. 구체적으로는, 역치 설정부(48)는, 먼저, 스텝 404에서 취득된 온도 데이터가 나타내는 측정 온도가 기준 온도보다도 높은지 여부를 판정한다(스텝 405). 스텝 404에서 취득된 온도 데이터가 나타내는 측정 온도가 기준 온도보다도 높다고 판정되지 않으면, 즉, 측정 온도가 기준 온도 이하라고 판정되면(스텝 405에서 "아니오"), 역치 설정부(48)는, 통상의 역치보다도 큰 역치를 충돌 판정 역치로서 설정한다(스텝 406). 한편, 스텝 404에서 취득된 온도 데이터가 나타내는 측정 온도가 기준 온도보다도 높다고 판정되면(스텝 405에서 "예"), 역치 설정부(48)는, 통상의 역치를 충돌 판정 역치로서 설정한다(스텝 407).Next, the threshold
그 후, 비교부(45)가, 스텝 403에서 산출된 충돌 판정값과, 스텝 406 또는 스텝 407에서 설정된 충돌 판정 역치를 비교하여, 충돌 판정값이 충돌 판정 역치를 초과하였는지 여부를 판정한다(스텝 408). 충돌 판정값이 충돌 판정 역치를 초과하였다고 판정되지 않으면(스텝 408에서 "아니오"), 제어부(41)는, 처리를 스텝 401로 되돌려, 용접 로봇(10)의 동작을 속행한다. 한편, 충돌 판정값이 충돌 판정 역치를 초과하였다고 판정되면(스텝 405에서 "아니오"), 제어부(41)는, 용접 로봇(10)을 정지하고(스텝 409), 처리를 종료한다.Thereafter, the
또한, 이 동작예에서는, 로봇 컨트롤러(30)는, 스텝 402 내지 403을 실행한 후에 스텝 404 내지 407을 실행하도록 하였지만, 이것에 한정되지는 않는다. 로봇 컨트롤러(30)는, 스텝 402 내지 403과 스텝 404 내지 407을 병렬로 실행하도록 해도 되고, 스텝 404 내지 407을 실행한 후에 스텝 402 내지 403을 실행하도록 해도 된다.In addition, in this operation example, although the
그런데, 추정 토크 산출부(42)가 스텝 402에서 추정 토크를 산출할 때 사용하는 모터 입력, 및 판정값 산출부(43)가 스텝 403에서 충돌 판정값을 산출할 때 사용하는 실제 토크에는, 노이즈가 포함되는 경우가 많다. 따라서, 외란 추정 옵저버에 의해 외란 토크를 직접 추정해도 된다. 외란 추정 옵저버는, 공지의 구성을 갖고, 원심력 및 마찰 등에 기초하는 부하 토크와, 관성 모멘트의 변동 및 모터의 토크 리플 등에 기초하는 변동 토크의 합계인 외란 토크를 추정한다. 그 경우, 도 3에서는, 추정 토크 산출부(42) 대신에, 외란 추정 옵저버를 마련하면 된다. 도 4에서는, 스텝 402를, 외란 추정 옵저버에 의해 외란 토크를 추정하는 스텝으로 변경하고, 스텝 403을, 스텝 402에서 추정된 외란 토크를 충돌 판정값으로 하는 스텝으로 변경하면 된다.By the way, the motor input used when the estimated
이상 설명된 바와 같이, 제1 실시 형태에 따르면, 예를 들어 로봇(10)의 온도가 낮아서 마찰이 크기 때문에 역치를 변경할 필요가 있는 상황에 있어서, 로봇(10)의 측정 온도가 기준 온도 이하인 경우에는, 충돌 판정 역치를 크게 하고 있기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.As described above, according to the first embodiment, for example, in a situation where it is necessary to change the threshold value because the temperature of the
[제2 실시 형태][Second embodiment]
제2 실시 형태에 있어서의 용접 로봇 시스템(1)도, 제1 실시 형태에 있어서의 용접 로봇 시스템(1)과 마찬가지로, 용접 로봇(10)과 다른 물체가 충돌하면, 이것을 검지하여 용접 로봇(10)을 정지시키는 충돌 검지 기능을 실장한다. 단, 제2 실시 형태에서는, 동작 상황이나 온도에 의한 마찰의 변화가 망각 계수 구비 축차 최소 제곱법에 의해 추정된다.Similarly to the
도 5는 제2 실시 형태에 있어서의 로봇 컨트롤러(30)의 구성예를 도시하는 블록도이다. 도 5에 도시된 바와 같이, 로봇 컨트롤러(30)의 메모리(30f)는, 역치 기억부(54)를 구비한다. 역치 기억부(54)는, 메모리(30f)의 예를 들어 RAM(30c)(도 1) 또는 EEPROM(30d)(도 1)에 포함된다. 로봇 컨트롤러(30)의 CPU(30a)는, ROM(30b)(도 1)에 기억된 제2 실시 형태의 프로그램을 RAM(30c)(도 1)에 읽어들여 실행함으로써, 제어부(51), 추정 토크 산출부(52), 판정값 산출부(53), 비교부(55), 동정 진행도 산출부(57), 역치 설정부(58)로서 기능한다.5 is a block diagram showing a configuration example of the
또한, 본 제2 실시 형태의 로봇 컨트롤러(30)에 있어서의 기능을 실현하는 프로그램은, 통신 기능에 의해 외부로부터 제공되어도 되고, DVD-ROM 또는 플래시 메모리 등의 기록 매체에 저장되어 제공되어도 된다.In addition, the program which implement|achieves the function in the
제어부(51)는, 메모리(30f)의 예를 들어 ROM(30b)(도 1) 또는 EEPROM(30d)(도 1)에 기억된 용접 로봇(10)의 모델(동특성)을 읽어들이고, 읽어들인 모델에 대하여, 원하는 동작을 행하게 하기 위한 각 관절(축)의 필요 구동 토크를 산출하고, 이 필요 구동 토크를 용접 로봇(10)에 인가한다. 이에 의해, 용접 로봇(10)은, 제어부(51)로부터의 필요 구동 토크에 기초하여 이동한다. 그리고, 용접 로봇(10)의 모터의 인코더에 의해 검출된 각 관절의 각도가 로봇 컨트롤러(30)에 피드백된다. 제어부(51)는, 용접 로봇(10)과 다른 물체가 충돌하였다는 취지가 비교부(55)로부터 통지된 경우에는, 용접 로봇(10)의 동작을 정지하기 위해, 필요 구동 토크를 0으로 하는 등의 처리를 행한다. 본 실시 형태에 있어서, 제어부(51)는, 로봇 제어부의 일례에 상당한다.The
추정 토크 산출부(52)는, 제어부(51)로부터 용접 로봇(10)의 모터에 입력되는 필요 구동 토크, 용접 로봇(10)의 인코더로부터 입력되는 관절 각도 등에 기초하여, 각 관절에 발생하는 관성력, 원심력, 중력, 마찰력 등의 추정값의 합계인 추정 토크를 정기적으로 산출한다.The estimated
제어부(51)로부터 입력되는 필요 구동 토크에 의해 용접 로봇(10)의 모터에 발생하는 토크를 τ, 제어부(51)로부터 입력되는 필요 구동 토크에 의한 용접 로봇(10)의 모터 각도를 θ라 하면, 토크 τ는 다음 식으로 표시된다.When the torque generated in the motor of the
상기 식에 있어서, 우변 제2항 Fr(dθ/dt)는 마찰력을 나타내고, 우변 제1항 f(θ, dθ/dt, d2θ/dt2)는 관성력, 원심력 등의 마찰력 이외의 추정값을 나타내고, 우변 제3항 d는 외란항이다.In the above formula, the right-hand side second term Fr(dθ/dt) represents frictional force, the right-hand side first term f(θ, dθ/dt, d2θ/dt2) represents estimated values other than frictional forces such as inertial force and centrifugal force, and the right side Paragraph 3 d is a disturbance term.
Fr(dθ/dt)+d=D로 하면, D는 다음 식에 의해 구해진다.When Fr(dθ/dt)+d=D, D is obtained by the following equation.
마찰력으로서 쿨롬 마찰력 및 점성 마찰력만이 작용한다고 가정하고, 쿨롬 마찰 계수를 F라 하고, 점성 마찰 계수를 B라 하면, Fr(dθ/dt)는 다음 식으로 표시된다.Assuming that only the Coulomb friction force and the viscous friction force act as frictional forces, assuming that the Coulomb friction coefficient is F and the viscous friction coefficient is B, Fr(dθ/dt) is expressed by the following equation.
그래서, 추정 토크 산출부(52)는, 망각 계수 구비 축차 최소 제곱법에 의해 마찰 모델을 동정하여, 쿨롬 마찰 계수 F 및 점성 마찰 계수 B의 추정값을 구한다.Then, the estimated
즉, 시각 스텝 k에서의 모터 각도를 θk라 하고, 시각 스텝 k에서의 마찰을 포함하는 외란을 Dk라 하여, 행렬 Ak, Bk를 다음과 같이 정의한다.That is, let the motor angle at the time step k be θ k and the disturbance including friction at the time step k be D k , and the matrices A k and B k are defined as follows.
상기 행렬에 있어서, 계수 ρ는 망각 계수이다. 행렬 A0, B0을 다음과 같이 정의한다.In the above matrix, the coefficient ρ is the forgetting coefficient. The matrices A 0 , B 0 are defined as follows.
시각 스텝 k에서의 쿨롬 마찰 계수 F 및 점성 마찰 계수 B의 추정값을 각각 Fk^, Bk^라 하고, 행렬 Xk를 다음과 같이 정의한다. 또한, 본 명세서에서는, 해트 기호를, 수식 중에서는 문자의 바로 위에 첨부하였지만, 문장 중에서는 문자의 뒤에 첨부하는 것으로 한다.Let the estimated values of the Coulomb friction coefficient F and the viscous friction coefficient B at the time step k be F k ^ and B k ^, respectively, and the matrix X k is defined as follows. In addition, in this specification, although a hat symbol is attached immediately above a character in a numerical formula, it shall be attached after a character in a sentence.
그렇게 하면, 마찰 모델은 다음 식으로 표시된다.Then, the friction model is expressed as
따라서, 최소 제곱법에 의해, Xk는, 다음과 같이 동정할 수 있다.Therefore, by the least squares method, X k can be identified as follows.
이에 의해, 시각 스텝 k에서의 추정 마찰력 Frk^(dθk/dt)는, 다음과 같이 된다.Thereby, the estimated frictional force Fr k ^ (dθ k /dt) at the time step k becomes as follows.
따라서, 추정 토크 τk^는, 다음 식에 의해 산출할 수 있다.Therefore, the estimated torque τ k ^ can be calculated by the following formula.
추정 토크 산출부(52)는, 산출한 추정 토크를 판정값 산출부(53)에 통지한다.The estimated
판정값 산출부(53)는, 추정 토크 산출부(52)가 산출한 추정 토크와, 용접 로봇(10)으로부터 출력된 실제 토크의 토크차, 또는, 고주파 노이즈에 의한 오검지를 피하기 위해 그 토크차를 필터링한 값으로부터, 충돌 검지의 판정에 사용할 충돌 판정값을 산출하고, 이 충돌 판정값을 비교부(55)에 출력한다.The determination
실제 토크로서는, 예를 들어 토크 센서에 의해 측정된 토크에 한정되지 않는다. 예를 들어, 제어부(51)로부터 용접 로봇(10)으로 입력되는 필요 구동 토크가, 실제 토크로서 사용되어도 된다. 이 경우에는, 토크 센서를 구비하지 않아도 된다. 혹은, 서보 모터로 공급되는 전류값과 용접 로봇(10)의 관절에 발생하는 토크의 대응 관계를 미리 구하여 메모리(30f)에 보유해 두고, 토크 센서는, 서보 모터로 공급되는 전류값을 검출해도 된다. 그리고, 검출된 전류값으로부터 상기 대응 관계를 사용하여 환산된 토크가, 실제 토크로서 사용되어도 된다.The actual torque is not limited to, for example, a torque measured by a torque sensor. For example, the required drive torque input from the
역치 기억부(54)는, 충돌 검지의 판정에 사용할 충돌 판정 역치를 기억한다.The threshold
비교부(55)는, 판정값 산출부(53)가 산출한 충돌 판정값과, 역치 기억부(54)에 기억된 충돌 판정 역치를 비교하고, 비교 결과에 기초하여, 용접 로봇(10)과 다른 물체가 충돌하였는지 여부를 판정한다. 구체적으로는, 비교부(55)는, 충돌 판정값이 충돌 판정 역치보다도 크면 용접 로봇(10)과 다른 물체가 충돌하였다고 판정하고, 충돌 판정값이 충돌 판정 역치 이하이면 용접 로봇(10)과 다른 물체가 충돌하지 않았다고 판정한다. 그리고, 비교부(55)는, 용접 로봇(10)과 다른 물체가 충돌하였다고 판정한 경우에는 제어부(51)에 그 취지를 통지한다. 본 실시 형태에 있어서, 비교부(55)는, 검지부의 일례에 상당한다. 즉, 비교부(55)는, 충돌 판정 역치의 크기에 의해 결정되는 소정의 충돌 검지 감도로, 용접 로봇(10)과 다른 물체의 충돌을 검지한다.The
동정 진행도 산출부(57)는, 추정 토크 산출부(52)가 동정한 마찰 모델에 의해, 마찰 모델의 동정의 진행 정도를 산출한다. 예를 들어, 용접 로봇(10)의 모델을 다음 식으로 나타낸 것으로 한다.The identification
상기 식 (1)에 있어서, 좌변 제1항 Jd2θ/dt2은 관성항이다. 망각 계수 ρ=0.9999로 하였다.In the formula (1), the left-hand side first term Jd 2 θ/dt 2 is an inertia term. The forgetting coefficient ρ = 0.9999.
도 6은 쿨롬 마찰 계수 F가 2로부터 1로 시간 변화하였을 때의 쿨롬 마찰 계수 추정값 Fk^의 변화를 도시하는 도면이다. 도 7은 추정 토크 산출부(52)가 동정한 마찰 모델 AkXk=Bk로부터 구해진 행렬(Ak TAk)의 트레이스 tr(Ak TAk)의 변화를 도시하는 도면이다. 이들 도면으로부터, 쿨롬 마찰 계수 추정값의 수렴과 트레이스 tr(Ak TAk)의 수렴이 대응하고 있음을 알 수 있다. 따라서, 동정 진행도 산출부(57)는, 트레이스 tr(Ak TAk)의 값을 마찰 모델의 동정의 진행 정도의 지표로서 사용할 수 있다.6 is a diagram showing a change in the estimated value of the Coulombic friction coefficient F k ^ when the Coulombic friction coefficient F changes from 2 to 1 with time. 7 is a diagram showing changes in the trace tr(A k T A k ) of the matrix (A k T A k ) obtained from the friction model A k X k =B k identified by the estimated
혹은, 동정 진행도 산출부(57)는, 행렬 Ak TAk의 특이값을 마찰 모델의 동정의 진행 정도 지표로 해도 된다. 도 8a, 도 8b는, 각각, 식 (1)의 모델에서의 마찰 추정의 시뮬레이션에 있어서의 행렬 Ak TAk의 2개의 특이값의 변화를 도시하는 도면이다. 도 8a는 행렬 Ak TAk의 특이값의 첫번째를 나타내고, 도 8b는 행렬 Ak TAk의 특이값의 두번째를 나타낸다. 도 6과 도 8a, 도 8b로부터, 쿨롬 마찰 계수 추정값의 수렴과 행렬 Ak TAk의 특이값의 수렴이 대응하고 있음을 알 수 있다. 따라서, 동정 진행도 산출부(57)는, 행렬 Ak TAk의 특이값을 마찰 모델의 동정의 진행 정도의 지표로서 사용할 수 있다.Alternatively, the identification
혹은, 동정 진행도 산출부(57)는, 행렬 Ak TAk의 1행1열 요소를 마찰 모델의 동정의 진행 정도의 지표로 해도 된다. 도 9는 식 (1)의 모델에서의 마찰 추정의 시뮬레이션에 있어서의 행렬 Ak TAk의 1행1열 요소의 변화를 도시하는 도면이다. 도 6과 도 9로부터, 쿨롬 마찰 계수 추정값의 수렴과 행렬 Ak TAk의 1행1열 요소의 수렴이 대응하고 있음을 알 수 있다. 따라서, 동정 진행도 산출부(57)는, 행렬 Ak TAk의 1행1열 요소를 마찰 모델의 동정의 진행 정도의 지표로 할 수 있다.Alternatively, the identification
혹은, 동정 진행도 산출부(57)는, 행렬 Ak의 조건수를 마찰 모델의 동정의 진행 정도 지표로 해도 된다. 예를 들어, 행렬 Ak의 조건수가 100 이하 등의 어느 정도 작은 값으로 되어 있는 경우에, 마찰 모델의 동정이 진행되었다고 판단할 수 있다.Alternatively, the identification
또한, 여기서는, 동정 진행도 산출부(57)는, 행렬 Ak TAk의 트레이스 tr(Ak TAk)의 값, 행렬 Ak TAk의 특이값, 행렬 Ak TAk의 1행1열 요소, 및 행렬 Ak의 조건수 중 어느 것을, 단독으로 사용하는 것을 상정하였지만, 동정 진행도 산출부(57)는, 이들 중 적어도 2개를 조합하여 사용해도 된다.In addition, here, the identification
본 제2 실시 형태에 있어서, 행렬 Ak TAk의 트레이스 tr(Ak TAk)의 값, 행렬 Ak TAk의 특이값, 행렬 Ak TAk의 1행1열 요소, 및 행렬 Ak의 조건수는, 마찰 모델을 동정할 때 사용되는 행렬 Ak TAk의 대각 요소를 사용하여 산출되는 지표의 일례에 상당한다. 본 제2 실시 형태에 있어서, 추정 토크 산출부(52)는, 추정부의 일례에 상당한다.In the second embodiment, the value of the trace tr(A k T A k ) of the matrix A k T A k , the singular value of the matrix A k T A k , the elements of one row and one column of the matrix A k T A k ; and the condition number of the matrix A k corresponds to an example of an index calculated using the diagonal elements of the matrix A k T A k used when identifying the friction model. In the second embodiment, the estimated
역치 설정부(58)는, 동정 진행도 산출부(57)가 산출한 동정의 진행 정도에 기초하여, 충돌 판정 역치를 역치 기억부(54)에 설정한다. 역치 설정부(58)는, 예를 들어 행렬 Ak TAk의 트레이스 tr(Ak TAk)가 도 7과 같이 변화되는 경우, tr(Ak TAk)<5000에서는 동정이 진행되지 않았다고 판단하여 통상보다도 큰 역치를 설정하고, tr(Ak TAk)≥5000에서는 동정이 이루어졌다고 판단하여 통상의 역치를 설정한다.The
본 제2 실시 형태에 있어서, 역치 설정부(58)는, 검지 제어부의 일례에 상당한다.In the second embodiment, the
또한, 상기에서는, 추정 토크 산출부(52)가 마찰력을 추정할 때, 용접 로봇(10)의 온도 변화는 고려하지 않았지만, 용접 로봇(10)의 온도 변화를 고려해도 된다. 즉, 식 (1)에 마찰의 온도 변화 모델을 추가한 용접 로봇(10)의 모델은 다음과 같이 된다.In addition, in the above, when the estimated
이 식 (2)에 있어서, 부호 T는, 온도를 나타내고, 부호 FT(T), BT(T)는, 각각 마찰의 온도 변화 모델에 의해 얻어지는 쿨롬 마찰 계수 및 점성 마찰 계수를 나타내고, 부호 ΔF, ΔB는, 각각 실제의 마찰 계수와 FT(T), BT(T)의 오차를 나타낸다. 마찰의 온도 변화 모델은 미리 실험에 의해 얻어진 것으로 하면, 용접 로봇(10)의 온도 변화를 고려한 마찰 모델은, 다음과 같이 표시된다.In this formula (2), the symbol T represents the temperature, and the symbols F T (T) and B T (T) represent the Coulomb friction coefficient and the viscous friction coefficient obtained by the temperature change model of friction, respectively, and the symbol ΔF and ΔB represent the errors of the actual friction coefficient and F T (T) and B T (T), respectively. Assuming that the temperature change model of friction is obtained by experiment in advance, the friction model in consideration of the temperature change of the
추정 토크 산출부(52)는, 이 마찰 모델에 의해 마찰 모델을 동정함으로써, 보다 정확한 마찰 추정을 할 수 있다.The estimated
도 10은 제2 실시 형태에 있어서의 로봇 컨트롤러(30)의 동작예를 나타낸 흐름도이다.10 is a flowchart showing an operation example of the
도 10에 도시된 바와 같이, 로봇 컨트롤러(30)에서는, 먼저, 제어부(51)가, 용접 로봇(10)을 기동한 후, 소정의 동작을 실현하기 위해, 용접 로봇(10)을 모터 구동에 의해 제어한다(스텝 501).10 , in the
다음에, 추정 토크 산출부(52)가, 용접 로봇(10)에 발생하는 관성력, 원심력, 마찰력 등을 추정하여, 추정 토크를 산출한다(스텝 502). 그때, 추정 토크 산출부(52)는, 상술한 바와 같이, 망각 계수 구비 축차 최소 제곱법에 의해 마찰 모델을 동정하고, 이 마찰 모델을 사용하여 추정 토크를 산출한다.Next, the estimated
다음에, 판정값 산출부(53)가, 용접 로봇(10)에 실제로 발생한 토크의 측정값인 실제 토크와, 스텝 502에서 산출된 추정 토크의 토크차로부터, 충돌 판정값을 산출한다(스텝 503).Next, the determination
한편, 로봇 컨트롤러(30)에서는, 동정 진행도 산출부(57)가, 스텝 502에서 동정된 마찰 모델을 사용하여, 동정의 진행 정도를 산출한다(스텝 504).On the other hand, in the
다음에, 역치 설정부(58)가, 스텝 504에서 산출된 동정의 진행 정도에 기초하여, 역치 기억부(54)에 충돌 판정 역치를 설정한다. 여기에서는, 역치 설정부(58)는, 충돌 판정값이 충돌 판정 역치를 초과하면 충돌하였다고 판정하도록, 충돌 판정 역치를 설정한다. 구체적으로는, 역치 설정부(58)는, 먼저, 스텝 504에서 산출된 마찰 모델의 동정의 진행 정도가 기준값보다도 높은지 여부를 판정한다(스텝 505). 스텝 504에서 산출된 동정의 진행 정도가 기준값보다도 높다고 판정되지 않으면, 즉, 동정의 진행 정도가 기준값 이하라고 판정되면(스텝 505에서 "아니오"), 역치 설정부(58)는, 통상의 역치보다도 큰 역치를 충돌 판정 역치로서 설정한다(스텝 506). 한편, 스텝 504에서 산출된 동정의 진행 정도가 기준값보다도 높다고 판정되면(스텝 505에서 "예"), 역치 설정부(58)는, 통상의 역치를 충돌 판정 역치로서 설정한다(스텝 507).Next, the threshold
그 후, 비교부(55)가, 스텝 503에서 산출된 충돌 판정값과, 스텝 506 또는 스텝 507에서 설정된 충돌 판정 역치를 비교하여, 충돌 판정값이 충돌 판정 역치를 초과하였는지 여부를 판정한다(스텝 508). 충돌 판정값이 충돌 판정 역치를 초과하였다고 판정되지 않으면(스텝 508에서 "아니오"), 제어부(51)는, 처리를 스텝 501로 되돌려, 용접 로봇(10)의 동작을 속행한다. 한편, 충돌 판정값이 충돌 판정 역치를 초과하였다고 판정되면(스텝 508에서 "예"), 제어부(51)는, 용접 로봇(10)을 정지하고(스텝 509), 처리를 종료한다.Thereafter, the
또한, 이 동작예에서는, 로봇 컨트롤러(30)는, 스텝 503을 실행한 후에 스텝 504 내지 507을 실행하도록 하였지만, 이것에 한정되는 것은 아니다. 로봇 컨트롤러(30)는, 스텝 503과 스텝 504 내지 507을 병렬로 실행하도록 해도 되고, 스텝 504 내지 507을 실행한 후에 스텝 503을 실행하도록 해도 된다.In addition, in this operation example, although the
그런데, 추정 토크 산출부(52)가 스텝 502에서 추정 토크를 산출할 때 사용하는 모터 입력이나, 판정값 산출부(53)가 스텝 503에서 충돌 판정값을 산출할 때 사용하는 실제 토크에는, 노이즈가 포함되는 경우가 많다. 따라서, 외란 추정 옵저버에 의해 외란값을 직접 추정해도 된다. 그 경우, 도 5에서는, 추정 토크 산출부(52) 대신에, 외란 추정 옵저버를 마련하면 된다. 또한, 도 10에서는, 스텝 502를, 외란 추정 옵저버에 의해 외란값을 추정하는 스텝으로 변경하고, 스텝 503을, 스텝 502에서 추정된 외란값을 충돌 판정값으로 하는 스텝으로 변경하면 된다.By the way, the motor input used when the estimated
이상 설명된 바와 같이, 제2 실시 형태에 따르면, 예를 들어 행렬(Ak TAk)의 트레이스 tr(Ak TAk)의 값을 마찰 모델의 동정의 진행 정도 지표로서 사용하고 있기 때문에, 마찰 계수의 추정값이 수렴되었는지 여부의 판단을 용이하게 할 수 있어, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.As described above, according to the second embodiment, for example, the value of the trace tr(A k T A k ) of the matrix (A k T A k ) is used as an indicator of the progress of the friction model identification. , it is possible to easily determine whether or not the estimated values of the friction coefficients converge, so that the possibility of erroneous detection of a collision can be prevented from increasing.
[제3 실시 형태][Third embodiment]
제3 실시 형태에 있어서의 용접 로봇 시스템(1)은, 제1 실시 형태에 있어서의 용접 로봇 시스템(1)과, 제2 실시 형태에 있어서의 용접 로봇 시스템(1)을 합한 것이다.A
도 11은 제3 실시 형태에 있어서의 로봇 컨트롤러(30)의 구성예를 도시하는 블록도이다. 도 11에 도시된 바와 같이, 로봇 컨트롤러(30)의 메모리(30f)는, 역치 기억부(64)를 구비한다. 역치 기억부(64)는, 메모리(30f)의 예를 들어 RAM(30c)(도 1) 또는 EEPROM(30d)(도 1)에 포함된다. 로봇 컨트롤러(30)의 CPU(30a)는, ROM(30b)(도 1)에 기억된 제3 실시 형태의 프로그램을 RAM(30c)(도 1)에 읽어들여 실행함으로써, 제어부(61), 추정 토크 산출부(62), 판정값 산출부(63), 비교부(65), 온도 데이터 취득부(66), 동정 진행도 산출부(67), 역치 설정부(68)로서 기능한다.11 is a block diagram showing a configuration example of the
제어부(61), 추정 토크 산출부(62), 판정값 산출부(63), 역치 기억부(64), 비교부(65), 및 동정 진행도 산출부(67)는, 각각, 도 5의 (제2 실시 형태)의 제어부(51), 추정 토크 산출부(52), 판정값 산출부(53), 역치 기억부(54), 비교부(55), 및 동정 진행도 산출부(57)와 동일하므로, 상세한 설명은 생략된다. 온도 데이터 취득부(66)는, 도 3의 (제1 실시 형태)의 온도 데이터 취득부(46)와 동일하므로, 상세한 설명은 생략된다.The
역치 설정부(68)는, 동정 진행도 산출부(67)가 산출한 마찰 모델의 동정의 진행 정도와, 온도 데이터 취득부(66)가 취득한 온도 데이터에 기초하여, 충돌 판정 역치를 역치 기억부(64)에 설정한다. 본 제3 실시 형태에 있어서, 역치 설정부(68)는, 검지 제어부의 일례에 상당한다.The threshold
도 12는 제3 실시 형태에 있어서의 로봇 컨트롤러(30)의 동작예를 나타낸 흐름도이다.12 is a flowchart showing an operation example of the
스텝 601 내지 603은, 도 10의 스텝 501 내지 503과 동일하므로, 상세한 설명은 생략된다.Steps 601 to 603 are the same as steps 501 to 503 in FIG. 10, and thus detailed description is omitted.
한편, 로봇 컨트롤러(30)에서는, 동정 진행도 산출부(67)가, 스텝 602에서 동정된 마찰 모델을 사용하여, 마찰 모델의 동정의 진행 정도를 산출한다(스텝 604).On the other hand, in the
온도 데이터 취득부(66)가, 온도 센서가 측정한 용접 로봇(10)의 감속기의 온도를 나타내는 온도 데이터를 취득한다(스텝 605).The temperature
다음에, 역치 설정부(68)가, 스텝 604에서 산출된 마찰 모델의 동정의 진행 정도와, 스텝 605에서 취득된 온도 데이터가 나타내는 측정 온도에 기초하여, 역치 기억부(64)에 충돌 판정 역치를 설정한다. 여기에서는, 역치 설정부(68)는, 충돌 판정값이 충돌 판정 역치를 초과하면 충돌하였다고 판정하도록, 충돌 판정 역치를 설정한다. 구체적으로는, 역치 설정부(68)는, 먼저, 스텝 604에서 산출된 마찰 모델의 동정의 진행 정도가 기준값보다도 높고, 또한, 스텝 605에서 취득된 온도 데이터가 나타내는 감속기의 측정 온도가 기준 온도보다도 높은지 여부를 판정한다(스텝 606).Next, the threshold
스텝 604에서 산출된 마찰 모델의 동정의 진행 정도가 기준값보다도 높고, 또한, 스텝 605에서 취득된 온도 데이터가 나타내는 측정 온도가 기준 온도보다도 높다고 판정되지 않으면, 즉, 스텝 604에서 산출된 마찰 모델의 동정의 진행 정도가 기준값 이하이거나, 또는, 스텝 605에서 취득된 온도 데이터가 나타내는 측정 온도가 기준 온도 이하라고 판정되면(스텝 606에서 "아니오"), 역치 설정부(68)는, 통상의 역치보다도 큰 역치를 충돌 판정 역치로서 설정한다(스텝 607). 한편, 스텝 604에서 산출된 마찰 모델의 동정의 진행 정도가 기준값보다도 높고, 또한, 스텝 605에서 취득된 온도 데이터가 나타내는 측정 온도가 기준 온도보다도 높다고 판정되면(스텝 606에서 "예"), 역치 설정부(68)는, 통상의 역치를 충돌 판정 역치로서 설정한다(스텝 608).If it is not determined that the progress of the identification of the friction model calculated in step 604 is higher than the reference value and the measured temperature indicated by the temperature data acquired in step 605 is higher than the reference temperature, that is, the identification of the friction model calculated in step 604 is higher than the reference value. When it is determined that the degree of progress of is less than or equal to the reference value, or it is determined that the measured temperature indicated by the temperature data obtained in step 605 is equal to or less than the reference temperature (NO in step 606), the
그 후의 스텝 609 내지 610은, 각각, 도 10의 스텝 508 내지 509와 동일하므로, 상세한 설명은 생략된다.
또한, 이 동작예에서는, 로봇 컨트롤러(30)는, 스텝 603을 실행한 후에 스텝 604 내지 608을 실행하도록 하였지만, 이것에 한정되는 것은 아니다. 로봇 컨트롤러(30)는, 스텝 603과 스텝 604 내지 608을 병렬로 실행하도록 해도 되고, 스텝 604 내지 608을 실행한 후에 스텝 603을 실행하도록 해도 된다. 혹은, 로봇 컨트롤러(30)는, 스텝 604 내지 608 중 스텝 605만을, 스텝 602보다 전에 실행하도록 해도 되고, 스텝 602와 병렬로 실행하도록 해도 된다.In addition, in this operation example, although the
그런데, 추정 토크 산출부(62)가 스텝 602에서 추정 토크를 산출할 때 사용하는 모터 입력이나, 판정값 산출부(63)가 스텝 603에서 충돌 판정값을 산출할 때 사용하는 실제 토크에는, 노이즈가 포함되는 경우가 많다. 따라서, 외란 추정 옵저버에 의해 외란값을 직접 추정해도 된다. 그 경우, 도 11에서는, 추정 토크 산출부(62) 대신에, 외란 추정 옵저버를 마련하면 된다. 또한, 도 12에서는, 스텝 602를, 외란 추정 옵저버에 의해 외란값을 추정하는 스텝으로 변경하고, 스텝 603을, 스텝 602에서 추정된 외란값을 충돌 판정값으로 하는 스텝으로 변경하면 된다.By the way, the motor input used when the estimated
이상 설명된 바와 같이, 제3 실시 형태에 따르면, 예를 들어 로봇(10)의 온도가 낮아서 마찰이 크기 때문에 역치를 변경할 필요가 있는 상황에 있어서, 로봇(10)의 측정 온도가 기준 온도 이하인 경우에는, 충돌 판정 역치를 크게 하고 있기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있고, 또한, 예를 들어 행렬(Ak TAk)의 트레이스 tr(Ak TAk)의 값을 마찰 모델의 동정의 진행 정도의 지표로서 사용하고 있기 때문에, 마찰 계수의 추정값이 수렴되었는지 여부의 판단을 용이하게 할 수 있어, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.As described above, according to the third embodiment, for example, in a situation where it is necessary to change the threshold value because the temperature of the
[제4 실시 형태][Fourth embodiment]
제4 실시 형태에 있어서의 용접 로봇 시스템(1)도, 제1 내지 제3 실시 형태에 있어서의 용접 로봇 시스템(1)과 마찬가지로, 용접 로봇(10)과 다른 물체가 충돌하면, 이것을 검지하여 용접 로봇(10)을 정지시키는 충돌 검지 기능을 실장한다. 단, 제4 실시 형태에서는, 동계 기간 중에 용접 로봇(10)의 동작 상황이 소정의 조건을 충족하는 경우에, 충돌 검지 기능에 있어서의 충돌 판정 역치가 변경된다.Similarly to the
도 13은 제4 실시 형태에 있어서의 로봇 컨트롤러(30)의 구성예를 도시하는 블록도이다. 도 13에 도시된 바와 같이, 로봇 컨트롤러(30)의 메모리(30f)는, 역치 기억부(74), 파라미터 기억부(76), 변동값 기억부(77)를 구비한다. 역치 기억부(74), 파라미터 기억부(76), 변동값 기억부(77)는, 메모리(30f)의 예를 들어 RAM(30c)(도 1) 또는 EEPROM(30d)(도 1)에 포함된다. 로봇 컨트롤러(30)의 CPU(30a)는, ROM(30b)(도 1)에 기억된 제4 실시 형태의 프로그램을 RAM(30c)(도 1)에 읽어들여 실행함으로써, 제어부(71), 추정 토크 산출부(72), 판정값 산출부(73), 비교부(75), 역치 설정부(78), 변동값 산출부(79)로서 기능한다.13 is a block diagram showing a configuration example of the
제어부(71), 추정 토크 산출부(72), 판정값 산출부(73), 역치 기억부(74), 및 비교부(75)는, 각각, 도 3의 (제1 실시 형태)의 제어부(41), 추정 토크 산출부(42), 판정값 산출부(43), 역치 기억부(44), 및 비교부(45)와 동일하므로, 상세한 설명은 생략된다.The
파라미터 기억부(76)는, 역치 설정부(78)가 충돌 판정 역치를 역치 기억부(74)에 설정할 때 참조하는 각종 파라미터를 기억한다. 각종 파라미터는, 다음 파라미터를 포함한다.The
즉, 제1 파라미터는, 동계 기간의 개시 시기이다. 개시 시기는, 개시월(예를 들어 11월)이어도 된다. 제2 파라미터는, 동계 기간의 종료 시기이다. 종료 시기는, 종료월(예를 들어 3월)이어도 된다.That is, the first parameter is the start time of the winter period. The start time may be a start month (for example, November). The second parameter is the end time of the winter period. The end time may be an end month (for example, March).
제3 파라미터는, 동계 기간 중에 충돌 판정 역치로서 통상보다도 큰 역치가 설정되기 위한 전제가 되는 용접 로봇(10)(또는 서보 모터)이 정지한 시간의 역치(이하, 「정지 시간 역치」라 칭해짐)이다. 이하에서는, 이 정지 시간 역치를 t0이라 한다. 정지 시간 역치 t0은 예를 들어 1시간이어도 된다.The third parameter is a threshold value of the time when the welding robot 10 (or servo motor), which is a premise for setting a threshold value larger than normal as a collision determination threshold value during the winter period, stopped (hereinafter referred to as "stop time threshold") )to be. Hereinafter, this stop time threshold is referred to as t0. The stop time threshold t0 may be, for example, 1 hour.
제4 파라미터는, 동계 기간 중에 충돌 판정 역치로서 통상보다도 큰 역치가 설정된 동작(이하, 「동계 동작」이라 함)이 행해지기 위해 필요로 되는 용접 로봇(10)이 서보 모터를 ON한 누적의 시간(누적 서보 ON 시간)이다. 이하에서는, 이 시간을 t1이라 한다. 시간 t1은 예를 들어 30분이어도 된다.The fourth parameter is the accumulated time for the
제5 파라미터는, 동계 기간 중에 충돌 판정값의 감시가 개시되기 위해 필요로 되는 용접 로봇(10)이 서보 모터를 ON한 누적의 시간(누적 서보 ON 시간)이다. 이하에서는, 이 시간을 t2라 한다. 시간 t2는 예를 들어 24분이어도 된다. 혹은, 제5 파라미터로서, 시간 t2 대신에, 그 시점에 있어서의 동계 동작이 행해지기 위해 필요로 되는 용접 로봇(10)의 누적 서보 ON 시간에 대한 비율을 정해 두어도 된다.The 5th parameter is the accumulated time (accumulated servo ON time) for which the
제6 파라미터는, 동계 기간 중에 충돌 판정 역치로서 설정되는 통상보다도 큰 역치로부터 통상의 역치를 감한 차분값이다. 이하에서는, 이 차분값을 ΔTh라 한다. 차분값 ΔTh는 예를 들어 통상의 역치의 60%여도 된다. 즉, 통상보다도 큰 역치는, 통상의 역치의 160%여도 된다.The sixth parameter is a difference value obtained by subtracting the normal threshold from the larger than normal threshold set as the collision determination threshold during the winter period. Hereinafter, this difference value is referred to as ?Th. The difference value ΔTh may be, for example, 60% of the normal threshold value. That is, 160% of a normal threshold value may be sufficient as a threshold larger than usual.
변동값 기억부(77)는, 용접 로봇 시스템(1)의 동작에 수반하여 변동되는 값인 각종 변동값을 기록한다. 각종 변동값은, 다음 변동값을 포함한다.The fluctuation
즉, 제1 변동값은, 그 시점에 있어서의 동계 동작이 행해지기 위해 필요로 되는 용접 로봇(10)의 누적 서보 ON 시간이다. 이하에서는, 이 시간을 T1이라 한다. 또한, 제1 변동값인 시간 T1에는, 초기 상태에 있어서는, 파라미터 기억부(76)에 기억된 제4 파라미터인 시간 t1이 설정되어 있는 것으로 한다.That is, the 1st variation value is the accumulated servo ON time of the
제2 변동값은, 그 시점에 있어서의 충돌 판정값의 감시가 개시되기 위해 필요로 되는 용접 로봇(10)의 누적 서보 ON 시간이다. 이하에서는, 이 시간을 T2라 한다. 또한, 제2 변동값인 시간 T2에는, 초기 상태에 있어서는, 파라미터 기억부(76)에 기억된 제5 파라미터인 시간 t2가 설정되어 있는 것으로 한다. 단, 파라미터 기억부(76)에 제5 파라미터로서, 시간 t2가 아니라, 그 시점에 있어서의 동계 동작이 행해지기 위해 필요로 되는 용접 로봇(10)의 누적 서보 ON 시간에 대한 비율이 기억되어 있는 경우에는, 변동값 기억부(77)는 제2 변동값을 기억하고 있지 않아도 된다.The 2nd variation value is the cumulative servo ON time of the
제3 변동값은, 그 시점에 있어서의 충돌 판정값의 감시가 행해지는 구간 내에서 최대의 충돌 판정값(이하, 「최대 판정값」이라 함)이다. 또한, 제3 변동값인 최대 판정값에는, 초기 상태에 있어서는, 충돌 판정값의 최솟값(예를 들어 0)이 설정되어 있는 것으로 한다.The third variation value is the maximum collision determination value (hereinafter referred to as a "maximum determination value") within the section in which the collision determination value is monitored at that point in time. In addition, it is assumed that the minimum value (for example, 0) of a collision determination value is set to the maximum determination value which is a 3rd variation value in an initial state.
역치 설정부(78)는, 일시를 계시하는 계시 기능을 갖는다. 역치 설정부(78)는, 파라미터 기억부(76)에 기억된 각종 파라미터와, 변동값 기억부(77)에 기억된 각종 변동값에 기초하여, 충돌 판정 역치를 역치 기억부(74)에 설정한다.The threshold
구체적으로는, 역치 설정부(78)는, 현재 날짜가, 파라미터 기억부(76)에 기억된 제1 파라미터인 동계 기간의 개시 시기와 제2 파라미터인 동계 기간의 종료 시기 사이에 있는 경우에, 용접 로봇(10)의 동작 상황에 관한 조건이 충족되면, 통상의 역치 대신에, 통상보다도 큰 역치를 역치 기억부(74)에 설정한다. 여기서, 용접 로봇(10)의 동작 상황에 관한 조건은, 용접 로봇 시스템(1)이 전원 ON된 후, 또는, 파라미터 기억부(76)에 기억된 제3 파라미터인 정지 시간 역치 t0 이상 용접 로봇(10)의 서보 모터가 OFF된 후, 서보 모터의 동작 개시로부터의 누적 서보 ON 시간이, 변동값 기억부(77)에 기억된 제1 변동값인 시간 T1에 도달하지 않았다고 하는 조건이다. 그리고, 통상보다도 큰 역치는, 파라미터 기억부(76)에 기억된 제6 파라미터인 값 ΔTh를 통상의 역치에 가산한 역치이다.Specifically, when the current date is between the start time of the winter period as the first parameter and the end time of the winter period as the second parameter stored in the
본 제4 실시 형태에 있어서, 파라미터 기억부(76)에 기억된 제1 파라미터인 동계 기간의 개시 시기로부터 파라미터 기억부(76)에 기억된 제2 파라미터인 동계 기간의 종료 시기까지의 동계 기간은, 로봇의 온도가 소정 온도보다 낮은 것이 상정되는 기간으로서 미리 정해진 기간의 일례이다. 본 제4 실시 형태에 있어서, 현재 날짜가 파라미터 기억부(76)에 기억된 제1 파라미터인 동계 기간의 개시 시기와 제2 파라미터인 동계 기간의 종료 시기 사이에 있다는 조건은, 로봇의 온도가 소정 온도보다 낮은 것을 나타내는 미리 정해진 조건의 일례이다. 본 제4 실시 형태에 있어서, 역치 설정부(78)는, 검지 제어부의 일례이다.In the fourth embodiment, the winter period from the start time of the winter period as the first parameter stored in the
변동값 산출부(79)는, 용접 로봇(10)이, 전원 ON된 후, 또는, 파라미터 기억부(76)에 기억된 제3 파라미터인 정지 시간 역치 t0 이상 용접 로봇(10)이 정지한 후, 서보 모터의 동작 개시로부터의 누적 서보 ON 시간을 카운트한다. 변동값 산출부(79)는, 카운트한 누적 서보 ON 시간이, 변동값 기억부(77)에 기억된 제2 변동값인 시간 T2를 경과하고 나서, 변동값 기억부(77)에 기억된 제1 변동값인 시간 T1에 도달할 때까지, 그 시점에서의 판정값 산출부(73)에 의해 산출된 충돌 판정값이 최대이면, 이것을 제3 변동값인 최대 판정값으로서, 변동값 기억부(77)에 기억한다.After the
변동값 산출부(79)는, 용접 로봇(10)이, 전원 ON된 후, 또는, 파라미터 기억부(76)에 기억된 제3 파라미터인 정지 시간 역치 t0 이상 용접 로봇(10)이 정지한 후, 서보 모터의 동작 개시로부터의 누적 서보 ON 시간이, 변동값 기억부(77)에 기억된 제1 변동값인 시간 T1에 도달한 시점에서, 변동값 기억부(77)에 기억된 최대 판정값이, 통상의 역치보다도 크고, 또한, 파라미터 기억부(76)에 기억된 제6 파라미터인 값 ΔTh를 통상의 역치(초깃값의 일례에 상당)에 가산한 역치(증댓값의 일례에 상당)보다도 작은 경우에는, 변동값 기억부(77)에 기억된 제1 변동값인 시간 T1에, 파라미터 기억부(76)에 기억된 제4 파라미터인 시간 t1을 가산한다. 이에 의해, 동계 동작을 행하는 시간이 연장된다.After the
파라미터 기억부(76)가 제5 파라미터로서 시간 t2를 기억하고 있는 경우에는 마찬가지로, 변동값 기억부(77)에 기억된 제2 변동값인 시간 T2에, 파라미터 기억부(76)에 기억된 제5 파라미터인 시간 t2를 가산한다. 이에 의해, 동계 기간 중에 충돌 판정값의 감시를 개시하는 타이밍도, 다시 설정된다.When the
또한, 여기서는, 변동값 산출부(79)는, 변동값 기억부(77)에 기억된 최대 판정값이, 통상의 역치보다도 크고, 또한, 통상의 역치에 값 ΔTh를 가산한 역치보다도 작은 경우에, 동계 동작을 행하는 시간을 연장하기로 하였지만, 이것에 한정되는 것은 아니다. 변동값 산출부(79)는, 판정값 산출부(73)가 산출한 충돌 판정값이, 통상의 역치에 값 ΔTh를 가산한 역치에 접근한 것을 나타내는 다른 조건이 충족되는 경우에, 동계 동작을 행하는 시간을 연장하는 것으로 해도 된다.In addition, here, the variation
본 제4 실시 형태에 있어서, 변동값 산출부(79)는, 연장 제어부의 일례이다.In the fourth embodiment, the variation
여기서, 변동값 산출부(79)는, 제1 파라미터 내지 제6 파라미터의 변경을, 파라미터 기억부(76)에 즉시 반영하는 것으로 한다. 단, 제3 파라미터인 시간 t0이나 제4 파라미터인 시간 t1의 카운트 중에 제1 파라미터 내지 제5 파라미터를 변경한 경우에는, 카운트 종료 후에 변경을 적용하는 것으로 한다.Here, it is assumed that the change
도 14는 제4 실시 형태에 있어서의 타임 시퀀스도이다. 이 타임 시퀀스도에 있어서, 서보 ON(721) 및 서보 OFF(722)는, 서보 모터가 ON되어 있는 상태 및 서보 모터가 OFF되어 있는 상태의 추이를 나타낸다. 적용 시간(723)은, 동계 동작이 적용되는 시간을 나타낸다. 구체적으로는, 적용 시간(723)은, 서보 모터가 ON으로 된 시점으로부터, 누적 서보 ON 시간이 시간 t1에 도달한 동계 동작의 종료 시점까지를 나타낸다. 충돌 판정값 감시 구간(724)은, 충돌 판정값이 최대인지 여부가 감시되는 구간을 나타낸다. 구체적으로는, 충돌 판정값 감시 구간(724)은, 누적 서보 ON 시간이 시간 t2에 도달한 시점으로부터 시간 t1에 도달한 시점까지를 나타낸다.Fig. 14 is a time sequence diagram according to the fourth embodiment. In this time sequence diagram, servo ON 721 and servo OFF 722 indicate transitions between the state in which the servo motor is ON and the state in which the servo motor is OFF. The application time 723 indicates a time during which the winter operation is applied. Specifically, the application time 723 indicates from the time when the servo motor is turned ON to the end time of the winter operation when the accumulated servo ON time reaches the time t1. The collision determination
리셋 시간(725)은, 서보 모터가 OFF되어 있는 시간을 나타낸다. 리셋 시간(725) 동안은, 누적 서보 ON 시간의 카운트가 정지된다. 리셋 시간(725)이 개시되면, 서보 모터의 정지 시간이 카운트되고, 리셋 시간(725)이 종료되면, 서보 모터의 정지 시간의 카운트값이 제로로 리셋된다. 동계 동작(726) 및 통상 동작(727)은, 각각, 통상보다도 큰 역치가 역치 기억부(74)에 설정되어 있는 기간 및 통상의 역치가 역치 기억부(74)에 설정되어 있는 기간을 나타낸다. 단, 이 타임 시퀀스도에 있어서는, 동계 동작을 행하는 시간의 연장은 고려되어 있지 않다.The
도 14에 도시된 바와 같이, 전원이 ON된 후, 서보 모터의 동작 개시로부터의 누적 서보 ON 시간이 시간 t1에 도달할 때까지 동계 동작이 행해진다. 그때, 서보 모터의 동작 개시로부터의 누적 서보 ON 시간이 시간 t2에 도달한 후, 시간 t1에 도달할 때까지의 구간에 있어서는, 충돌 판정값이 그 구간 내에서 최대인지 여부의 판정도 행해진다.As shown in Fig. 14, after the power is turned on, the winter operation is performed until the accumulated servo ON time from the start of the operation of the servo motor reaches time t1. At that time, in the section from when the accumulated servo ON time from the start of the servo motor reaches the time t2 until the time t1 is reached, it is also determined whether the collision determination value is the maximum within the section.
도 14의 우측 단부 부근에 도시된 바와 같이, 서보 모터가 OFF되고 나서 정지 시간 역치 t0이 경과한 후에도, 전원이 ON된 후와 마찬가지로, 동계 동작이 행해진다. 그 후의 도시는 생략되어 있지만, 서보 모터의 동작 개시로부터의 누적 서보 ON 시간이 시간 t1에 도달할 때까지 동계 동작이 행해진다.As shown in the vicinity of the right end of Fig. 14, even after the stop time threshold t0 elapses after the servo motor is turned OFF, the winter operation is performed in the same manner as after the power supply is ON. Although illustration after that is abbreviate|omitted, the winter operation|movement is performed until the accumulated servo ON time from the operation start of the servo motor reaches time t1.
도 15는 제4 실시 형태에 있어서의 로봇 컨트롤러(30)의 동작예를 나타낸 흐름도이다.15 is a flowchart showing an operation example of the
도 15에 도시된 바와 같이, 로봇 컨트롤러(30)에서는, 먼저, 제어부(71)가, 용접 로봇(10)을 기동한 후, 소정의 동작을 실현하기 위해, 용접 로봇(10)을 모터 구동에 의해 제어한다(스텝 701).15 , in the
다음에, 추정 토크 산출부(72)가, 용접 로봇(10)에 발생하는 관성력, 원심력, 마찰력 등을 추정하여, 추정 토크를 산출한다(스텝 702).Next, the estimated
다음에, 판정값 산출부(73)가, 용접 로봇(10)에 실제로 발생한 토크의 측정값인 실제 토크와, 스텝 702에서 산출된 추정 토크의 토크차로부터, 충돌 판정값을 산출한다(스텝 703).Next, the determination
한편, 로봇 컨트롤러(30)에서는, 역치 설정부(78)가, 파라미터 기억부(76)에 기억된 각종 파라미터와, 변동값 기억부(77)에 기억된 각종 변동값에 기초하여, 역치 기억부(74)에 충돌 판정 역치를 설정한다. 여기에서는, 역치 설정부(78)는, 충돌 판정값이 충돌 판정 역치를 초과하면 충돌하였다고 판정하도록, 충돌 판정 역치를 설정한다.On the other hand, in the
구체적으로는, 역치 설정부(78)는, 현재 일시가 동계 기간 내에 있는지 여부를 판정한다(스텝 704). 구체적으로는, 역치 설정부(78)는, 계시 기능에 의해 계시하고 있는 현재 일시가, 파라미터 기억부(76)에 기억된 동계 기간의 개시 시기와 종료 시기 사이에 있는지 여부를 판정한다.Specifically, the
먼저, 현재 일시가 동계 기간 내에 있다고 역치 설정부(78)가 판정한 경우(스텝 704에서 "예")에 대하여 설명한다. 이 경우, 역치 설정부(78)는, 전원 ON 후, 또는, 파라미터 기억부(76)에 기억된 시간 t0 이상 용접 로봇(10)이 정지한 후, 동작 개시로부터의 누적 서보 ON 시간이, 변동값 기억부(77)에 기억된 시간 T1에 도달하였는지 여부를 판정한다(스텝 705).First, the case where the threshold
서보 모터의 동작 개시로부터의 누적 서보 ON 시간이 시간 T1에 도달하지 않았다고 변동값 산출부(79)가 판정하면(스텝 705에서 "아니오"), 역치 설정부(78)는, 파라미터 기억부(76)에 기억된 값 ΔTh를 통상의 역치에 가산한 통상보다도 큰 역치를 충돌 판정 역치로서 역치 기억부(74)에 설정한다(스텝 706). 그 후, 역치 설정부(78)는, 동작 개시로부터의 누적 서보 ON 시간이, 변동값 기억부(77)에 기억된 시간 T2에 도달하였는지 여부를 판정한다(스텝 707). 동작 개시로부터의 누적 서보 ON 시간이 시간 T2에 도달하였다고 판정되면(스텝 707에서 "예"), 변동값 산출부(79)가, 스텝 703에서 산출된 충돌 판정값이, 변동값 기억부(77)에 기억된 최대 판정값보다도 큰지 여부를 판정한다(스텝 708).If the variable
스텝 703에서 산출된 충돌 판정값이, 변동값 기억부(77)에 기억된 최대 판정값보다도 크다고 변동값 산출부(79)가 판정하면(스텝 708에서 "예"), 변동값 산출부(79)는, 스텝 703에서 산출된 충돌 판정값을 최대 판정값으로서 갱신하여 변동값 기억부(77)에 기억하고(스텝 709), 처리를 스텝 713으로 진행시킨다. 한편, 스텝 703에서 산출된 충돌 판정값이, 변동값 기억부(77)에 기억된 최대 판정값보다도 크다고 변동값 산출부(79)가 판정하지 않으면(스텝 708에서 "아니오"), 변동값 산출부(79)는, 스텝 703에서 산출된 충돌 판정값을 변동값 기억부(77)에 기억하지 않고, 처리를 스텝 713으로 진행시킨다. 또한, 동작 개시로부터의 누적 서보 ON 시간이 시간 T2에 도달하였다고 역치 설정부(78)가 판정하지 않는 경우도(스텝 707에서 "아니오"), 역치 설정부(78)가, 그대로 처리를 스텝 713으로 진행시킨다.If the fluctuation
한편, 서보 모터의 동작 개시로부터의 누적 서보 ON 시간이 시간 T1에 도달하였다고 변동값 산출부(79)가 판정하면(스텝 705에서 "예"), 변동값 산출부(79)가, 변동값 기억부(77)에 기억된 최대 판정값이, 통상의 역치보다도 크고, 또한, 파라미터 기억부(76)에 기억된 값 ΔTh를 통상의 역치에 가산한 역치보다도 작은지 여부를 판정한다(스텝 710).On the other hand, if the fluctuation
변동값 기억부(77)에 기억된 최대 판정값이, 통상의 역치보다도 크고, 또한 파라미터 기억부(76)에 기억된 값 ΔTh를 통상의 역치에 가산한 역치보다도 작다고 변동값 산출부(79)가 판정하면(스텝 710에서 "예"), 변동값 산출부(79)는, 변동값 기억부(77)에 기억된 시간 T1에, 파라미터 기억부(76)에 기억된 시간 t1을 가산하고(스텝 711), 처리를 스텝 713으로 진행시킨다.If the maximum judgment value stored in the variable
한편, 변동값 기억부(77)에 기억된 최대 판정값이, 통상의 역치보다도 크고, 또한, 파라미터 기억부(76)에 기억된 값 ΔTh를 통상의 역치에 가산한 역치보다도 작다고 변동값 산출부(79)가 판정하지 않으면(스텝 710에서 "아니오"), 변동값 산출부(79)는, 변동값 기억부(77)에 기억된 시간 T1을 변경하지 않고, 역치 설정부(78)가, 역치 기억부(74)에 충돌 판정 역치로서 기억된 통상보다도 큰 역치를, 통상의 역치로 되돌리고(스텝 712), 처리를 스텝 713으로 진행시킨다.On the other hand, if the maximum judgment value stored in the variable
다음에, 현재 일시가 동계 기간 내에 있다고 역치 설정부(78)가 판정하지 않은 경우(스텝 704에서 "아니오")가 설명된다. 이 경우, 역치 설정부(78)는, 통상의 역치를 충돌 판정 역치로서 역치 기억부(74)에 기억하고(스텝 712), 처리를 스텝 713으로 진행시킨다.Next, the case where the threshold
그 후, 비교부(75)가, 스텝 703에서 산출된 충돌 판정값과, 스텝 706 또는 스텝 712에서 설정된 충돌 판정 역치를 비교하여, 충돌 판정값이 충돌 판정 역치를 초과하였는지 여부를 판정한다(스텝 713). 충돌 판정값이 충돌 판정 역치를 초과하였다고 판정되지 않으면(스텝 713에서 "아니오"), 제어부(71)는, 처리를 스텝 701로 되돌려, 용접 로봇(10)의 동작을 속행한다. 한편, 충돌 판정값이 충돌 판정 역치를 초과하였다고 판정되면(스텝 713에서 "예"), 제어부(71)는, 용접 로봇(10)을 정지하고(스텝 714), 처리를 종료한다.Thereafter, the
그런데, 추정 토크 산출부(72)가 스텝 702에서 추정 토크를 산출할 때 사용하는 모터 입력, 및 판정값 산출부(73)가 스텝 703에서 충돌 판정값을 산출할 때 사용하는 실제 토크에는, 노이즈가 포함되는 경우가 많다. 따라서, 외란 추정 옵저버에 의해 외란 토크를 직접 추정해도 된다. 외란 추정 옵저버는, 공지의 구성을 갖고, 원심력 및 마찰 등에 기초하는 부하 토크와, 관성 모멘트의 변동 및 모터의 토크 리플 등에 기초하는 변동 토크의 합계인 외란 토크를 추정한다. 그 경우, 도 13에서는, 추정 토크 산출부(72) 대신에, 외란 추정 옵저버를 마련하면 된다. 또한, 도 15에서는, 스텝 702를, 외란 추정 옵저버에 의해 외란 토크를 추정하는 스텝으로 변경하고, 스텝 703을, 스텝 702에서 추정된 외란 토크를 충돌 판정값으로 하는 스텝으로 변경하면 된다.By the way, the motor input used when the estimated
도 16a, 도 16b는, 각각, 역치 기억부(74)에 기억된 충돌 판정 역치의 상태를 표시하는 화면예를 도시한 도면이다.16A and 16B are diagrams showing examples of screens each displaying the state of the collision determination threshold stored in the threshold
도 16a는 통상 동작이 행해졌을 때의 화면(741)을 도시한다. 도 16a에 도시된 바와 같이, 화면(741)에서는, 역치란(742)에 있어서, 각 축에 대하여, 통상 동작용의 충돌 판정 역치로서, 통상의 역치 「50」이 설정되어 있다.Fig. 16A shows a
도 16b는 동계 동작이 행해졌을 때의 화면(751)을 도시한다. 도 16b에 도시한 바와 같이, 화면(751)에서는, 역치란(752)에 있어서, 각 축에 대하여, 동계 동작용의 충돌 판정 역치로서, 통상의 역치 「50」의 60% 증가인 통상보다도 큰 역치 「80」이 설정되어 있다. 이와 같이 동계 동작용의 충돌 판정 역치가 설정되어 있는 것은, 역치란(752)을, 도 16a의 역치란(742)과는 다른 양태로 표시함으로써 나타내면 된다. 도 16b의 예에서는, 역치란(752)은, 굵은 프레임으로 둘러싸서 표시되어 있다.Fig. 16B shows a
또한, 도 16a의 화면(741) 및 도 16b의 화면(751)에 있어서, 「현잿값」은 현재의 충돌 판정값의 순시값을 나타내고 있다. 한편, 「최댓값」은 지금까지의 충돌 판정값의 최댓값을 나타내고 있다. 이 최댓값이 충돌 판정 역치에 대하여 충분히 작으면, 정상적으로 동작하고 있음을 나타내고 있다. 또한 역치를 결정할 때, 이 일련의 동작을 행하였을 때의 최댓값에 대하여 여유를 갖고 큰 값을 역치에 부여하면 되고, 최댓값은 역치의 결정에 대하여 참고로 할 수 있다.In addition, in the
이상 설명된 바와 같이, 제4 실시 형태에 따르면, 현재 일시가 동계 기간이며, 또한, 누적 서보 ON 시간이 시간 t1에 도달하지 않았을 때는, 로봇(10)의 온도가 낮다고 판단하여, 충돌 판정 역치를 크게 하고 있기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.As described above, according to the fourth embodiment, when the current date and time is the winter period and the accumulated servo ON time has not reached time t1, it is determined that the temperature of the
본 명세서는, 상기와 같이 다양한 양태의 기술을 개시하고 있지만, 그 중 주된 기술을 이하에 정리한다.Although this specification discloses the technique of various aspects as mentioned above, the main technique among them is put together below.
본 개시의 제1 양태는, 로봇 제어 장치이며,A first aspect of the present disclosure is a robot control device,
로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하는 검지부와,a detection unit for detecting a collision between the robot and another object with a predetermined collision detection sensitivity;
상기 로봇을 동작시키고, 상기 검지부에 의해 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하는 로봇 제어부와,A robot control unit which operates the robot and controls to stop the robot when the collision is detected by the detection unit;
상기 로봇의 온도가 낮음을 나타내는 미리 정해진 조건이 충족되면, 상기 미리 정해진 조건이 충족되지 않을 때에 비해 상기 충돌 검지 감도를 저하시키는 검지 제어부를 구비하는 것이다.When a predetermined condition indicating that the temperature of the robot is low is satisfied, a detection control unit for lowering the collision detection sensitivity compared to when the predetermined condition is not satisfied.
본 개시의 제2 양태는, 로봇 제어 방법이며,A second aspect of the present disclosure is a robot control method,
로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하는 검지 스텝과,a detection step of detecting a collision between the robot and another object with a predetermined collision detection sensitivity;
상기 로봇을 동작시키고, 상기 검지 스텝에 있어서 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하는 로봇 제어 스텝과,a robot control step of operating the robot and controlling to stop the robot when the collision is detected in the detection step;
상기 로봇의 온도가 낮음을 나타내는 미리 정해진 조건이 충족되면, 상기 미리 정해진 조건이 충족되지 않을 때에 비해 상기 충돌 검지 감도를 저하시키는 검지 제어 스텝을 구비하는 것이다.and a detection control step of lowering the collision detection sensitivity when a predetermined condition indicating that the temperature of the robot is low is satisfied compared to when the predetermined condition is not satisfied.
본 개시의 제3 양태는, 로봇 제어 프로그램이며,A third aspect of the present disclosure is a robot control program,
로봇의 컴퓨터에,on the robot's computer,
상기 로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하는 검지 기능과,a detection function for detecting a collision between the robot and another object with a predetermined collision detection sensitivity;
상기 로봇을 동작시키고, 상기 검지 기능에 의해 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하는 로봇 제어 기능과,A robot control function that operates the robot and controls to stop the robot when the collision is detected by the detection function;
상기 로봇의 온도가 낮음을 나타내는 미리 정해진 조건이 충족되면, 상기 미리 정해진 조건이 충족되지 않을 때에 비해 상기 충돌 검지 감도를 저하시키는 검지 제어 기능을 실현시키는 것이다.When a predetermined condition indicating that the temperature of the robot is low is satisfied, a detection control function for lowering the collision detection sensitivity compared to when the predetermined condition is not met is realized.
제1 양태 또는 제2 양태 또는 제3 양태에서는, 로봇의 온도가 낮음을 나타내는 미리 정해진 조건이 충족되면, 미리 정해진 조건이 충족되지 않을 때에 비해, 충돌 검지 감도가 저하된다. 로봇의 온도가 낮은 경우에는, 로봇의 구동부에 있어서의 마찰력이 증대되기 때문에, 충돌 검지 감도가 변화되지 않으면, 충돌을 오검지할 가능성이 높아진다. 이에 반해, 제1 양태 또는 제2 양태 또는 제3 양태에 의하면, 로봇의 온도가 낮은 경우에는, 충돌 검지 감도가 저하되기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.In the first aspect or the second aspect or the third aspect, when a predetermined condition indicating that the temperature of the robot is low is satisfied, the collision detection sensitivity is lowered compared to when the predetermined condition is not met. When the temperature of the robot is low, the frictional force in the driving part of the robot increases. Therefore, if the collision detection sensitivity does not change, the possibility of erroneous detection of a collision increases. On the other hand, according to the first aspect, the second aspect, or the third aspect, when the temperature of the robot is low, since the collision detection sensitivity decreases, the possibility of erroneous detection of a collision can be prevented from increasing.
상기 제1 양태에 있어서, 예를 들어In the first aspect, for example
상기 미리 정해진 조건은, 상기 로봇의 실제로 측정된 온도인 측정 온도가 낮다고 하는 조건이어도 된다.The predetermined condition may be a condition that the measured temperature, which is the actually measured temperature of the robot, is low.
이 양태에 의하면, 미리 정해진 조건은, 로봇의 실제의 측정 온도가 낮다고 하는 조건이기 때문에, 로봇의 온도가 낮은 것을, 보다 확실하게 나타낼 수 있다.According to this aspect, since the predetermined condition is a condition that the actual measurement temperature of the robot is low, it is possible to more reliably indicate that the temperature of the robot is low.
상기 제1 양태에 있어서, 예를 들어,In the first aspect, for example,
상기 검지 제어부는, 상기 측정 온도가 미리 정해진 온도보다도 낮을 때, 상기 미리 정해진 온도 이상일 때에 비해 상기 충돌 검지 감도를 저하시켜도 된다.When the measurement temperature is lower than the predetermined temperature, the detection control unit may decrease the collision detection sensitivity compared to when the measurement temperature is equal to or higher than the predetermined temperature.
이 양태에서는, 측정 온도가 미리 정해진 온도보다도 낮을 때, 미리 정해진 온도 이상일 때에 비해, 충돌 검지 감도가 저하된다. 로봇의 온도가 미리 정해진 온도보다도 낮은 경우에는, 로봇의 구동부에 있어서의 마찰력이 증대되기 때문에, 충돌 검지 감도가 변화되지 않으면, 충돌을 오검지할 가능성이 높아진다. 이에 반해, 이 양태에 의하면, 측정 온도가 미리 정해진 온도보다도 낮을 때, 미리 정해진 온도 이상일 때에 비해, 충돌 검지 감도가 저하되기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.In this aspect, when the measurement temperature is lower than the predetermined temperature, the collision detection sensitivity is lower than when the measurement temperature is equal to or higher than the predetermined temperature. When the temperature of the robot is lower than the predetermined temperature, the frictional force in the driving part of the robot increases, so that if the collision detection sensitivity does not change, the possibility of erroneous detection of a collision increases. On the other hand, according to this aspect, when the measurement temperature is lower than the predetermined temperature, compared to when the measurement temperature is equal to or higher than the predetermined temperature, since the collision detection sensitivity is lowered, the possibility of erroneous detection of a collision can be prevented from increasing.
상기 양태에 있어서, 예를 들어,In this aspect, for example,
상기 검지부는, 상기 로봇의 추정 토크와 실제 토크의 토크차 또는 상기 로봇으로부터 직접 추정된 외란 토크가 소정 역치를 초과한 경우에, 상기 충돌을 검지하고,The detection unit detects the collision when a torque difference between the estimated torque of the robot and the actual torque or the disturbance torque directly estimated from the robot exceeds a predetermined threshold,
상기 검지 제어부는, 상기 측정 온도가 상기 미리 정해진 온도보다도 낮을 때, 상기 미리 정해진 온도 이상일 때에 비해 상기 소정 역치를 크게 하는 것이어도 된다.The detection control unit may increase the predetermined threshold value when the measurement temperature is lower than the predetermined temperature compared to when the measurement temperature is equal to or higher than the predetermined temperature.
이 양태에 의하면, 측정 온도가 미리 정해진 온도보다도 낮을 때, 미리 정해진 온도 이상일 때에 비해 소정 역치가 크게 된다. 따라서, 측정 온도가 미리 정해진 온도보다도 낮아져, 토크차 또는 외란 토크가 커져도, 소정 역치가 크게 되어 있기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.According to this aspect, when the measurement temperature is lower than a predetermined temperature, compared with the case where it is more than predetermined temperature, a predetermined threshold becomes large. Therefore, even if the measured temperature becomes lower than the predetermined temperature and the torque difference or disturbance torque increases, since the predetermined threshold is large, the possibility of erroneous detection of a collision can be prevented from increasing.
상기 양태에 있어서, 예를 들어,In this aspect, for example,
상기 검지 제어부는, 상기 측정 온도가 낮을수록 상기 충돌 검지 감도를 저하시키는 것이어도 된다.The detection control unit may decrease the collision detection sensitivity as the measurement temperature is lower.
이 양태에 의하면, 측정 온도가 낮을수록, 충돌 검지 감도가 저하되기 때문에, 로봇의 온도가, 보다 낮아진 경우에도, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.According to this aspect, since a collision detection sensitivity falls so that the measurement temperature is low, even when the temperature of a robot becomes lower, it can prevent that a possibility of erroneous detection of a collision increases.
상기 양태에 있어서, 예를 들어,In this aspect, for example,
상기 검지부는, 상기 로봇의 추정 토크와 실제 토크의 토크차 또는 상기 로봇으로부터 직접 추정된 외란 토크가 소정 역치를 초과한 경우에, 상기 충돌을 검지하고,The detection unit detects the collision when a torque difference between the estimated torque of the robot and the actual torque or the disturbance torque directly estimated from the robot exceeds a predetermined threshold,
상기 검지 제어부는, 상기 측정 온도가 낮을수록 상기 소정 역치를 크게 하는 것이어도 된다.The detection control unit may increase the predetermined threshold value as the measurement temperature is lower.
이 양태에 의하면, 측정 온도가 낮을수록 소정 역치가 크게 된다. 따라서, 로봇의 온도가, 보다 낮아져, 토크차 또는 외란 토크가, 보다 커진 경우에도, 소정 역치가, 보다 크게 되어 있기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.According to this aspect, the predetermined threshold value becomes large, so that a measurement temperature is low. Therefore, even when the temperature of the robot becomes lower and the torque difference or disturbance torque becomes larger, the predetermined threshold value becomes larger, so that the possibility of erroneous detection of a collision can be prevented from increasing.
상기 양태에 있어서, 예를 들어,In this aspect, for example,
상기 미리 정해진 조건은, 상기 로봇의 온도가 낮은 것이 상정되는 기간으로서 미리 정해진 기간 내에 현재 일시가 포함된다고 하는 조건이어도 된다.The predetermined condition may be a condition that the current date and time is included within the predetermined period as a period in which it is assumed that the temperature of the robot is low.
이 양태에 의하면, 미리 정해진 조건은, 로봇의 온도가 낮은 것이 상정되는 기간으로서 미리 정해진 기간 내에, 현재 일시가 포함된다고 하는 조건이기 때문에, 미리 정해진 조건으로서, 로봇의 온도가 낮은 것을, 보다 간이하게 나타낼 수 있다.According to this aspect, since the predetermined condition is a condition that the present date and time are included within the predetermined period as a period in which the robot temperature is assumed to be low, can indicate
상기 양태에 있어서, 예를 들어,In this aspect, for example,
상기 검지 제어부는, 상기 로봇의 전원이 온된 후 또는 상기 로봇의 서보 모터가 소정의 정지 시간 이상 오프된 후에, 상기 서보 모터가 온되어 있는 누적의 시간이, 미리 정해진 시간에 도달하기 전에는, 상기 미리 정해진 시간에 도달한 후에 비해 상기 충돌 검지 감도를 저하시키는 것이어도 된다.The detection control unit, after the power of the robot is turned on or after the servo motor of the robot is turned off for a predetermined stop time or more, before the accumulated time in which the servo motor is on reaches a predetermined time, the previously It may reduce the said collision detection sensitivity compared with after reaching|attaining a predetermined time.
로봇의 전원이 온된 후 또는 로봇의 서보 모터가 소정의 정지 시간 이상 오프된 후에, 서보 모터가 온되어 있는 누적의 시간이, 미리 정해진 시간에 도달하기 전에는, 로봇의 온도가 낮은 상태가 유지되고 있다고 생각된다. 이 경우, 이 양태에 의하면, 미리 정해진 시간에 도달한 후에 비해 충돌 검지 감도가 저하되기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.After the robot's power is turned on or the robot's servo motor is turned off for more than a predetermined stop time, before the accumulated time that the servo motor is on reaches a predetermined time, the robot's temperature is maintained at a low state. I think. In this case, according to this aspect, since a collision detection sensitivity falls compared with after the predetermined time is reached, it can prevent that a possibility of erroneous detection of a collision increases.
상기 양태에 있어서, 예를 들어,In this aspect, for example,
상기 검지부는, 상기 로봇의 추정 토크와 실제 토크의 토크차 또는 상기 로봇으로부터 직접 추정된 외란 토크가 소정 역치를 초과한 경우에, 상기 충돌을 검지하고,The detection unit detects the collision when a torque difference between the estimated torque of the robot and the actual torque or the disturbance torque directly estimated from the robot exceeds a predetermined threshold,
상기 검지 제어부는, 상기 로봇의 전원이 온된 후 또는 상기 로봇의 서보 모터가 소정의 정지 시간 이상 오프된 후에, 상기 서보 모터가 온되어 있는 누적의 시간이, 상기 미리 정해진 시간에 도달하기 전에는 상기 소정 역치를 초깃값보다 큰 증댓값으로 변경하고, 상기 미리 정해진 시간에 도달한 후에는 상기 소정 역치를 상기 초깃값으로 되돌리는 것이어도 된다.The detection control unit is, after the power of the robot is turned on or after the servo motor of the robot is turned off for a predetermined stop time or longer, before the accumulated time during which the servo motor is on reaches the predetermined time, the predetermined time is reached. The threshold value may be changed to an increased value larger than the initial value, and after the predetermined time is reached, the predetermined threshold value may be returned to the initial value.
로봇의 전원이 온된 후 또는 로봇의 서보 모터가 소정의 정지 시간 이상 오프된 후에, 서보 모터가 온되어 있는 누적의 시간이, 미리 정해진 시간에 도달하기 전에는, 로봇의 온도가 낮은 상태로 유지되어 있다고 생각된다. 이 경우, 이 양태에 의하면, 미리 정해진 시간에 도달하기 전에는 소정 역치가 초깃값보다 큰 증댓값으로 변경되기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다. 한편, 미리 정해진 시간에 도달한 후에는 소정 역치가 초깃값으로 되돌려지기 때문에, 충돌을 검지할 수 없을 가능성을 낮게 할 수 있다.After the robot's power is turned on or the robot's servo motor is turned off for a predetermined stop time or longer, the accumulated time that the servo motor is on reaches a predetermined time, and the robot's temperature is maintained in a low state. I think. In this case, according to this aspect, since the predetermined threshold value is changed to an increased value larger than the initial value before the predetermined time is reached, it is possible to prevent the possibility of erroneous detection of a collision from increasing. On the other hand, since the predetermined threshold is returned to the initial value after the predetermined time is reached, the possibility that the collision cannot be detected can be reduced.
상기 양태에 있어서, 예를 들어In this aspect, for example
상기 서보 모터가 온되어 있는 누적의 시간이 상기 미리 정해진 시간에 도달하기 전의 소정의 감시 시간에 있어서, 상기 토크차 또는 상기 외란 토크와, 상기 증댓값의 차가 소정값 미만인 경우에, 당해 미리 정해진 시간을 연장하는 연장 제어부를 더 구비하는 것이어도 된다.When the difference between the torque difference or the disturbance torque and the increased value is less than a predetermined value in a predetermined monitoring time before the accumulated time during which the servo motor is turned on reaches the predetermined time, the predetermined time It may further include an extension control unit extending the .
서보 모터가 온되어 있는 누적의 시간이 미리 정해진 시간에 도달하기 전의 소정의 감시 시간에 있어서, 토크차 또는 외란 토크와, 증댓값의 차가 소정값 미만인 경우에는, 로봇의 온도가 낮은 상태로 유지되어 있을 가능성이 높다고 생각된다. 그래서, 이 양태에 의하면, 미리 정해진 시간이 연장되어, 소정 역치가 증댓값으로 변경된 상태가 계속되기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.In the predetermined monitoring time before the accumulated time that the servo motor is turned on reaches the predetermined time, if the difference between the torque difference or the disturbance torque and the increased value is less than a predetermined value, the robot temperature is maintained in a low state. I think it is highly likely that there is. Then, according to this aspect, since the predetermined time is extended and the state in which the predetermined threshold value was changed to an increased value continues, it can prevent that a possibility of erroneous detection of a collision increases.
상기 양태에 있어서, 예를 들어,In this aspect, for example,
상기 연장 제어부는, 상기 토크차 또는 상기 외란 토크의 최댓값이, 상기 초깃값을 초과하였지만 상기 증댓값 미만인 경우에, 상기 토크차 또는 상기 외란값과 상기 증댓값의 차가 상기 소정값 미만이라고 판정하는 것이어도 된다.When the maximum value of the torque difference or the disturbance torque exceeds the initial value but is less than the increased value, the extension control unit determines that the torque difference or the difference between the disturbance value and the increased value is less than the predetermined value okay
토크차 또는 외란 토크의 최댓값이 초깃값을 초과하였지만 증댓값 미만이면, 로봇의 온도가 낮은 상태로 유지되어 있을 가능성이 높다고 생각된다. 그래서, 이 양태에 의하면, 토크차 또는 외란 토크의 최댓값이 초깃값을 초과하였지만 증댓값 미만인 경우에, 토크차 또는 외란 토크와 증댓값의 차가 소정값 미만으로 판정되어, 미리 정해진 시간이 연장된다. 따라서, 미리 정해진 시간의 연장을 간이하게 판정할 수 있다.If the maximum value of the torque difference or disturbance torque exceeds the initial value but is less than the increased value, it is considered that the robot temperature is highly likely to be maintained in a low state. Therefore, according to this aspect, when the maximum value of the torque difference or disturbance torque exceeds the initial value but is less than the increased value, the torque difference or the difference between the disturbance torque and the increased value is determined to be less than a predetermined value, and the predetermined time is extended. Accordingly, it is possible to simply determine the extension of the predetermined time.
본 개시의 제4 양태는, 로봇 제어 장치이며,A fourth aspect of the present disclosure is a robot control device,
로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하는 검지부와,a detection unit for detecting a collision between the robot and another object with a predetermined collision detection sensitivity;
상기 로봇을 동작시키고, 상기 검지부에 의해 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하는 로봇 제어부와,A robot control unit which operates the robot and controls to stop the robot when the collision is detected by the detection unit;
상기 로봇에 발생하는 마찰을 모델화한 마찰 모델을, 소정의 행렬을 사용하여 동정하여, 상기 로봇의 추정 토크를 구하는 추정부와,an estimator for identifying a friction model that models friction generated in the robot using a predetermined matrix to obtain an estimated torque of the robot;
상기 소정의 행렬에 기초하여, 상기 마찰 모델의 동정의 진행 정도를 구하는 동정 진행도 산출부와,an identification progress calculation unit for obtaining a progress degree of identification of the friction model based on the predetermined matrix;
상기 진행도가 작으면 상기 충돌 검지 감도를 저하시키는 검지 제어부를 구비하는 것이다.When the degree of progress is small, a detection control unit for reducing the collision detection sensitivity is provided.
본 개시의 제5 양태는, 로봇 제어 방법이며,A fifth aspect of the present disclosure is a robot control method,
로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하는 검지 스텝과,a detection step of detecting a collision between the robot and another object with a predetermined collision detection sensitivity;
상기 로봇을 동작시키고, 상기 검지 스텝에 있어서 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하는 로봇 제어 스텝과,a robot control step of operating the robot and controlling to stop the robot when the collision is detected in the detection step;
상기 로봇에 발생하는 마찰을 모델화한 마찰 모델을, 소정의 행렬을 사용하여 동정하여, 상기 로봇의 추정 토크를 구하는 추정 스텝과,an estimation step of identifying a friction model that models friction generated in the robot using a predetermined matrix to obtain an estimated torque of the robot;
상기 소정의 행렬에 기초하여, 상기 마찰 모델의 동정의 진행 정도를 구하는 동정 진행도 산출 스텝과,an identification progress calculation step of calculating the progress degree of identification of the friction model based on the predetermined matrix;
상기 진행도가 작으면 상기 충돌 검지 감도를 저하시키는 검지 제어 스텝을 구비하는 것이다.If the degree of progress is small, a detection control step of reducing the collision detection sensitivity is provided.
본 개시의 제6 양태는, 로봇 제어 프로그램이며,A sixth aspect of the present disclosure is a robot control program,
로봇의 컴퓨터에,on the robot's computer,
로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하는 검지 기능과,a detection function for detecting a collision between the robot and another object with a predetermined collision detection sensitivity;
상기 로봇을 동작시키고, 상기 검지 기능에 의해 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하는 로봇 제어 기능과,A robot control function that operates the robot and controls to stop the robot when the collision is detected by the detection function;
상기 로봇에 발생하는 마찰을 모델화한 마찰 모델을, 소정의 행렬을 사용하여 동정하여, 상기 로봇의 추정 토크를 구하는 추정 기능과,an estimation function of identifying a friction model that models friction generated in the robot using a predetermined matrix to obtain an estimated torque of the robot;
상기 소정의 행렬에 기초하여, 상기 마찰 모델의 동정의 진행 정도를 구하는 동정 진행도 산출 기능과,an identification progress calculation function for calculating the progress degree of identification of the friction model based on the predetermined matrix;
상기 진행도가 작으면 상기 충돌 검지 감도를 저하시키는 검지 제어 기능을 실현시키는 것이다.When the degree of progress is small, a detection control function that lowers the collision detection sensitivity is realized.
제4 양태 또는 제5 양태 또는 제6 양태에서는, 마찰 모델의 동정의 진행 정도가 작으면 충돌 검지 감도가 저하된다. 마찰 모델의 동정의 진행 정도가 작으면, 로봇의 구동부에 있어서의 마찰력을 정확하게 추정할 수 없기 때문에, 로봇의 추정 토크를 정확하게 추정할 수 없고, 그 결과, 충돌 검지 감도가 변화되지 않으면, 충돌을 오검지할 가능성이 높아진다. 이에 반해, 제4 양태 또는 제5 양태 또는 제6 양태에 의하면, 마찰 모델의 동정의 진행 정도가 작으면 충돌 검지 감도가 저하되기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.In the fourth aspect, the fifth aspect, or the sixth aspect, when the degree of progress of identification of the friction model is small, the collision detection sensitivity decreases. If the degree of progress of the friction model identification is small, since the friction force in the driving part of the robot cannot be accurately estimated, the estimated torque of the robot cannot be accurately estimated. The possibility of false detection increases. On the other hand, according to the fourth aspect, the fifth aspect, or the sixth aspect, since the collision detection sensitivity decreases when the progress degree of identification of the friction model is small, the possibility of erroneous detection of a collision can be prevented from increasing.
상기 제4 양태에 있어서, 예를 들어,In the fourth aspect, for example,
상기 추정부는, 상기 소정의 행렬로서, 시각 스텝 k에 있어서의 행렬 Ak, Bk를 사용하여, AkXk=Bk로 표시되는 마찰 모델 Xk를 동정하고,The estimator identifies the friction model X k expressed by A k X k = B k using the matrices A k and B k in the time step k as the predetermined matrix,
상기 동정 진행도 산출부는, 행렬 Ak TAk의 대각 요소를 사용하여 산출되는 지표에 기초하여, 상기 진행도를 구하는 것이어도 된다.The identification progress calculation unit may calculate the progress level based on an index calculated using diagonal elements of the matrix A k T A k .
이 양태에 의하면, 행렬 Ak TAk의 대각 요소를 사용하여 산출되는 지표에 기초하여, 마찰 모델의 동정의 진행 정도가 구해지기 때문에, 마찰 모델의 동정의 진행 정도를, 간이하게 구할 수 있다.According to this aspect, based on the index calculated using the diagonal elements of the matrix A k T A k , the progress degree of the friction model identification is obtained, so the progress degree of the friction model identification can be easily obtained. .
상기 양태에 있어서, 예를 들어,In this aspect, for example,
상기 지표는, 상기 행렬 Ak TAk의, 트레이스의 값, 특이값, 1행1열 요소, 및 조건수 중 1개 또는 적어도 2개의 조합이어도 된다.The index may be one or a combination of at least two of a trace value, a singular value, one row, one column element, and a condition number of the matrix A k T A k .
이 양태에 의하면, 행렬 Ak TAk의, 트레이스의 값, 특이값, 1행1열 요소, 및 조건수 중 1개 또는 적어도 2개의 조합에 기초하여, 마찰 모델의 동정의 진행 정도를, 간이하게 구할 수 있다.According to this aspect, based on one or a combination of at least two of trace values, singular values, one row, one column element, and a condition number of the matrix A k T A k , the progress of the friction model identification is determined, can be obtained easily.
상기 양태에 있어서, 예를 들어,In this aspect, for example,
상기 검지 제어부는, 상기 진행도가 미리 정해진 값보다도 작을 때, 상기 미리 정해진 값 이상일 때에 비해 상기 충돌 검지 감도를 저하시켜도 된다.The detection control unit may decrease the collision detection sensitivity when the degree of progress is smaller than the predetermined value compared to when the progress is equal to or greater than the predetermined value.
이 양태에서는, 마찰 모델의 동정의 진행 정도가 미리 정해진 값보다도 작을 때, 미리 정해진 값 이상일 때에 비해 충돌 검지 감도가 저하된다. 마찰 모델의 동정의 진행 정도가 미리 정해진 값보다도 작을 때는, 로봇의 구동부에 있어서의 마찰력을 정확하게 추정할 수 없기 때문에, 로봇의 추정 토크를 정확하게 추정할 수 없고, 그 결과, 충돌 검지 감도가 변화되지 않으면, 충돌을 오검지할 가능이 높아진다. 이에 반해, 이 양태에 의하면, 마찰 모델의 동정의 진행 정도가 미리 정해진 값보다도 작을 때, 미리 정해진 값 이상일 때에 비해 충돌 검지 감도가 저하되기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.In this aspect, when the progress degree of the identification of the friction model is smaller than the predetermined value, the collision detection sensitivity is lowered compared to the case where it is equal to or greater than the predetermined value. When the degree of progress of the friction model identification is smaller than a predetermined value, since the friction force in the driving part of the robot cannot be accurately estimated, the estimated torque of the robot cannot be accurately estimated, and as a result, the collision detection sensitivity does not change. Otherwise, the possibility of erroneous detection of a collision increases. On the other hand, according to this aspect, when the degree of progress of identification of the friction model is smaller than the predetermined value, the collision detection sensitivity is lowered compared to when the friction model is greater than or equal to the predetermined value. .
상기 양태에 있어서, 예를 들어,In this aspect, for example,
상기 검지부는, 상기 로봇의 추정 토크와 실제 토크의 토크차가 소정 역치를 초과한 경우에, 상기 충돌을 검지하고,The detection unit detects the collision when a torque difference between the estimated torque of the robot and the actual torque exceeds a predetermined threshold,
상기 검지 제어부는, 상기 진행도가 상기 미리 정해진 값 미만일 때는, 상기 미리 정해진 값 이상일 때에 비해 상기 소정 역치를 크게 하는 것이어도 된다.When the degree of progress is less than the predetermined value, the detection control unit may increase the predetermined threshold value compared to when the progress is equal to or greater than the predetermined value.
이 양태에 의하면, 마찰 모델의 동정의 진행 정도가 미리 정해진 값 미만일 때는, 미리 정해진 값 이상일 때에 비해 소정 역치가 크게 된다. 따라서, 마찰 모델의 동정의 진행 정도가 미리 정해진 값 미만일 때, 토크차가 커져도, 소정 역치가 크게 되어 있기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.According to this aspect, when the progress degree of identification of a friction model is less than a predetermined value, compared with the case where it is more than a predetermined value, a predetermined threshold becomes large. Therefore, when the progress degree of identification of the friction model is less than a predetermined value, even if the torque difference becomes large, since the predetermined threshold value is large, it is possible to prevent the possibility of erroneous detection of a collision from increasing.
상기 양태에 있어서, 예를 들어,In this aspect, for example,
상기 검지 제어부는, 상기 로봇의 실제로 측정된 온도인 측정 온도가 낮으면 상기 충돌 검지 감도를 저하시키는 것이어도 된다.The detection control unit may decrease the collision detection sensitivity when the measured temperature, which is the actually measured temperature of the robot, is low.
이 양태에 의하면, 측정 온도가 낮으면 충돌 검지 감도가 저하된다. 이 때문에, 로봇의 온도가 낮을 때, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.According to this aspect, when the measurement temperature is low, the collision detection sensitivity will fall. For this reason, when the temperature of the robot is low, it can prevent that the possibility of erroneous detection of a collision increases.
본 발명의 실시 형태가 상세하게 도시되고, 또한, 설명되었지만, 그것은 단순한 도시예 및 실례이며 한정은 아니다. 본 발명의 범위는, 첨부된 클레임의 문언에 의해 해석되어야 한다.Although embodiments of the present invention have been shown and described in detail, they are merely illustrative and non-limiting examples. The scope of the present invention should be construed by the language of the appended claims.
2018년 8월 2일에 제출된 일본 특허 출원 번호 제2018-146103호의 전체의 개시는, 그 전체에 있어서 참조에 의해 여기에 포함된다.The entire disclosure of Japanese Patent Application No. 2018-146103 filed on August 2, 2018 is incorporated herein by reference in its entirety.
본 개시의 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램은, 산업용 로봇을 제어하는 장치에 사용된다.The robot control apparatus, the robot control method, and the robot control program of this indication are used for the apparatus which controls an industrial robot.
Claims (4)
상기 로봇을 동작시키고, 상기 검지부에 의한 상기 로봇의 충돌 검지에 따라 상기 로봇을 정지시키도록 제어하는 제어부와,
상기 로봇에 발생하는 마찰을 모델화한 마찰 모델을 동정할 때 사용되는 행렬에 기초하여, 상기 마찰 모델의 동정 진행 정도를 추정하는 추정부와,
상기 진행 정도가 작으면 상기 로봇의 충돌을 검지하기 어려워지도록 상기 검지부을 제어하는 검지 제어부를 구비하고,
상기 추정부는, 상기 마찰 모델을 동정할 때 사용되는 행렬 ATA의 대각 요소를 사용하여 산출되는 지표에 기초하여, 상기 진행 정도를 추정하는 것을 특징으로 하는 로봇 제어 장치.a detection unit for detecting the collision of the robot;
a control unit which operates the robot and controls to stop the robot according to detection of a collision of the robot by the detection unit;
an estimator for estimating the identification progress of the friction model based on a matrix used when identifying a friction model that models friction occurring in the robot;
A detection control unit for controlling the detection unit so that it is difficult to detect the collision of the robot when the degree of progress is small;
The estimating unit estimates the degree of progress based on an index calculated using diagonal elements of a matrix A T A used when identifying the friction model.
상기 지표는, 상기 행렬 ATA의 트레이스 값, 특이값, 1행1열 요소, 및 조건수 중 1개 또는 적어도 2개의 조합인 것을 특징으로 하는 로봇 제어 장치.The method of claim 1,
The indicator is one or a combination of at least two of a trace value, a singular value, one row, one column element, and a condition number of the matrix A T A.
상기 로봇을 동작시키고, 상기 검지 스텝에서의 상기 로봇의 충돌 검지에 따라 상기 로봇을 정지시키도록 제어하는 제어 스텝과,
상기 로봇에 발생하는 마찰을 모델화한 마찰 모델을 동정할 때 사용되는 행렬에 기초하여, 상기 마찰 모델의 동정 진행 정도를 추정하는 추정 스텝과,
상기 진행 정도가 작으면 상기 로봇의 충돌을 검지하기 어려워지도록 상기 검지 스텝을 제어하는 검지 제어 스텝을 포함하고,
상기 추정 스텝에서는 상기 마찰 모델을 동정할 때 사용되는 행렬 ATA의 대각 요소를 사용하여 산출되는 지표에 기초하여, 상기 진행 정도를 추정하는 것을 특징으로 하는 로봇 제어 방법.a detection step for detecting the collision of the robot;
a control step of operating the robot and controlling to stop the robot according to detection of a collision of the robot in the detection step;
an estimation step of estimating the identification progress of the friction model based on a matrix used when identifying a friction model that models friction generated in the robot;
a detection control step for controlling the detection step so that it is difficult to detect the collision of the robot when the degree of progress is small;
In the estimation step, the degree of progress is estimated based on an index calculated using diagonal elements of a matrix A T A used when identifying the friction model.
로봇의 충돌을 검지하는 검지 기능과,
상기 로봇을 동작시키고, 상기 검지 기능에 의한 상기 로봇의 충돌 검지에 따라 상기 로봇을 정지시키도록 제어하는 제어 기능과,
상기 로봇에 발생하는 마찰을 모델화한 마찰 모델을 동정할 때 사용되는 행렬에 기초하여, 상기 마찰 모델의 동정 진행 정도를 추정하는 추정 기능과,
상기 진행 정도가 작으면 상기 로봇의 충돌을 검지하기 어려워지도록 상기 검지 기능을 제어하는 검지 제어 기능을 실현시키고,
상기 추정 기능은 상기 마찰 모델을 동정할 때 사용되는 행렬 ATA의 대각 요소를 사용하여 산출되는 지표에 기초하여, 상기 진행 정도를 추정하는 컴퓨터로 판독가능한 매체에 저장된 로봇 제어 프로그램.
on the computer,
a detection function to detect the collision of the robot;
a control function to operate the robot and control to stop the robot according to the detection of a collision of the robot by the detection function;
An estimation function for estimating the identification progress of the friction model based on a matrix used when identifying a friction model modeling friction generated in the robot;
Realizing a detection control function for controlling the detection function so that it is difficult to detect the collision of the robot when the degree of progress is small,
The estimating function is a robot control program stored in a computer-readable medium for estimating the degree of progression based on an index calculated using diagonal elements of a matrix A T A used when identifying the friction model.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2018-146103 | 2018-08-02 | ||
JP2018146103A JP7105646B2 (en) | 2018-08-02 | 2018-08-02 | ROBOT CONTROL DEVICE, ROBOT CONTROL METHOD AND PROGRAM |
PCT/JP2019/029808 WO2020027118A1 (en) | 2018-08-02 | 2019-07-30 | Robot control device, robot control method, and robot control program |
KR1020217003887A KR102469653B1 (en) | 2018-08-02 | 2019-07-30 | Robot control device, robot control method and robot control program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217003887A Division KR102469653B1 (en) | 2018-08-02 | 2019-07-30 | Robot control device, robot control method and robot control program |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220148310A true KR20220148310A (en) | 2022-11-04 |
KR102470437B1 KR102470437B1 (en) | 2022-11-25 |
Family
ID=69232536
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217003887A KR102469653B1 (en) | 2018-08-02 | 2019-07-30 | Robot control device, robot control method and robot control program |
KR1020227036407A KR102470437B1 (en) | 2018-08-02 | 2019-07-30 | Robot control device, robot control method, and robot control program |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217003887A KR102469653B1 (en) | 2018-08-02 | 2019-07-30 | Robot control device, robot control method and robot control program |
Country Status (6)
Country | Link |
---|---|
US (1) | US11813755B2 (en) |
EP (1) | EP3808516A4 (en) |
JP (1) | JP7105646B2 (en) |
KR (2) | KR102469653B1 (en) |
CN (1) | CN112437714B (en) |
WO (1) | WO2020027118A1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112020007659T5 (en) * | 2020-10-05 | 2023-08-03 | Mitsubishi Electric Corporation | Robot collision detection device |
US20230405851A1 (en) * | 2020-12-07 | 2023-12-21 | Sony Interactive Entertainment Inc. | Information processing device, information processing method, and program |
KR102521151B1 (en) * | 2021-05-26 | 2023-04-13 | 주식회사 뉴로메카 | Collaborative robot with collision detectiong function and collision detection method of collaborative robot |
WO2023058203A1 (en) | 2021-10-07 | 2023-04-13 | ファナック株式会社 | Control device, machine system, and display device |
CN118871239A (en) * | 2022-06-27 | 2024-10-29 | 发那科株式会社 | Robot control device and robot system |
KR102659130B1 (en) * | 2022-06-29 | 2024-04-24 | 한국표준과학연구원 | Safety Skin to measure contact position and forces for robotic arms |
US20240326244A1 (en) * | 2023-03-30 | 2024-10-03 | Omron Corporation | Control of robotic arm and end effector via virtual force sensing |
JP7398024B1 (en) * | 2023-07-04 | 2023-12-13 | 株式会社ユーシン精機 | Collision detection method and collision detection system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1115511A (en) * | 1997-06-20 | 1999-01-22 | Fanuc Ltd | Robot collision detection system |
JP3878054B2 (en) | 2001-05-08 | 2007-02-07 | 三菱電機株式会社 | Robot controller |
JP2007286904A (en) * | 2006-04-17 | 2007-11-01 | Fanuc Ltd | Controller and control method for motor |
JP2015090779A (en) * | 2013-11-05 | 2015-05-11 | 本田技研工業株式会社 | Fuel battery system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03250307A (en) * | 1990-02-28 | 1991-11-08 | Canon Inc | Route controller for rigid body |
JP2006263916A (en) * | 2001-05-08 | 2006-10-05 | Mitsubishi Electric Corp | Robot control device |
EP1652634B1 (en) | 2003-07-29 | 2011-12-28 | Panasonic Corporation | Robot arm control method and control device |
JP4335286B2 (en) * | 2008-02-08 | 2009-09-30 | ファナック株式会社 | Robot control apparatus and robot control method having component protection function |
JP5912683B2 (en) | 2012-03-07 | 2016-04-27 | 株式会社神戸製鋼所 | System having motor drive structure, program used for motor drive structure system, and welded article manufacturing method |
FR3002048B1 (en) * | 2013-02-14 | 2016-07-01 | Commissariat Energie Atomique | METHOD FOR ENHANCED COLLISION COLLECTION OF A ROBOT WITH ITS ENVIRONMENT, SYSTEM AND COMPUTER PROGRAM PRODUCT IMPLEMENTING THE METHOD |
EP3351356B1 (en) * | 2015-09-16 | 2020-11-18 | Panasonic Intellectual Property Management Co., Ltd. | Robot collision detection method |
JP2018146103A (en) | 2017-03-09 | 2018-09-20 | 株式会社ジェイテクト | Solenoid valve device |
WO2019215998A1 (en) * | 2018-05-10 | 2019-11-14 | パナソニックIpマネジメント株式会社 | Robot control method |
-
2018
- 2018-08-02 JP JP2018146103A patent/JP7105646B2/en active Active
-
2019
- 2019-07-30 CN CN201980048053.1A patent/CN112437714B/en active Active
- 2019-07-30 US US17/253,973 patent/US11813755B2/en active Active
- 2019-07-30 WO PCT/JP2019/029808 patent/WO2020027118A1/en unknown
- 2019-07-30 KR KR1020217003887A patent/KR102469653B1/en active IP Right Grant
- 2019-07-30 KR KR1020227036407A patent/KR102470437B1/en active IP Right Grant
- 2019-07-30 EP EP19843354.2A patent/EP3808516A4/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1115511A (en) * | 1997-06-20 | 1999-01-22 | Fanuc Ltd | Robot collision detection system |
JP3878054B2 (en) | 2001-05-08 | 2007-02-07 | 三菱電機株式会社 | Robot controller |
JP2007286904A (en) * | 2006-04-17 | 2007-11-01 | Fanuc Ltd | Controller and control method for motor |
JP2015090779A (en) * | 2013-11-05 | 2015-05-11 | 本田技研工業株式会社 | Fuel battery system |
Also Published As
Publication number | Publication date |
---|---|
US20210268657A1 (en) | 2021-09-02 |
US11813755B2 (en) | 2023-11-14 |
KR102469653B1 (en) | 2022-11-22 |
WO2020027118A1 (en) | 2020-02-06 |
EP3808516A1 (en) | 2021-04-21 |
CN112437714A (en) | 2021-03-02 |
EP3808516A4 (en) | 2022-01-19 |
KR102470437B1 (en) | 2022-11-25 |
JP7105646B2 (en) | 2022-07-25 |
JP2020019117A (en) | 2020-02-06 |
KR20210030423A (en) | 2021-03-17 |
CN112437714B (en) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102470437B1 (en) | Robot control device, robot control method, and robot control program | |
JP5198514B2 (en) | Robot controller | |
EP3173891B1 (en) | Control device, control program, and recording medium | |
KR101889248B1 (en) | Fault Diagnosis Device and Fault Diagnosis Method | |
US20130325164A1 (en) | Electric discharge machine and electric discharge machining system | |
TWI533589B (en) | Electric motor control device | |
CN104742125A (en) | External force judgment method and external force judgment device of human-collaborative industrial robot | |
JP6985174B2 (en) | Machine tool accuracy diagnostic equipment | |
JP2006281421A (en) | Robot and abnormality detection method of robot | |
JP2007072879A (en) | Machine provided with movable part drive controlled by servo motor | |
CN110614537B (en) | Adjustment necessity determining device | |
US20210132579A1 (en) | Diagnostic apparatus | |
JP6396385B2 (en) | Display device, inspection method, and inspection program | |
JP6137379B2 (en) | Robot equipment | |
CN112276937A (en) | Fault prediction system | |
CN114589694B (en) | Robot collision detection threshold updating method and device and storage medium | |
JP7131611B2 (en) | Abnormality determination device and abnormality determination method | |
JP6385777B2 (en) | Electronic thermometer | |
JP2018096841A (en) | Material testing machine | |
JP7119885B2 (en) | Anomaly detection device, anomaly detection method, and program | |
JP6278402B2 (en) | Electronic thermometer | |
JP7006471B2 (en) | State change detection device and state change detection method | |
CN112105489B (en) | Abnormality detection device and abnormality detection method | |
JP6863815B2 (en) | Control device | |
JP4712889B2 (en) | Welding workpiece position detection method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |