KR102469653B1 - 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램 - Google Patents
로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램 Download PDFInfo
- Publication number
- KR102469653B1 KR102469653B1 KR1020217003887A KR20217003887A KR102469653B1 KR 102469653 B1 KR102469653 B1 KR 102469653B1 KR 1020217003887 A KR1020217003887 A KR 1020217003887A KR 20217003887 A KR20217003887 A KR 20217003887A KR 102469653 B1 KR102469653 B1 KR 102469653B1
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- value
- collision
- threshold
- time
- 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
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/06—Safety devices
-
- 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
본 발명의 로봇 제어 장치는, 로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하는 검지하고, 상기 로봇을 동작시키고, 상기 검지부에 의해 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하고, 상기 로봇의 온도가 낮음을 나타내는 미리 정해진 조건이 충족되면, 상기 미리 정해진 조건이 충족되지 않을 때에 비해 상기 충돌 검지 감도를 저하시키는 것이다.
Description
본 발명은, 로봇을 제어하는 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램에 관한 것이다.
위치 명령, 속도 명령, 가속도 명령 중 적어도 하나로부터 필요 구동 토크 명령의 각 요소를 연산하는 필요 구동 토크 명령 요소 연산 수단과, 위치, 속도, 가속도 중 적어도 하나 및 필요 구동 토크 명령 요소 연산 수단에 의해 연산된 필요 구동 토크 명령의 각 요소 중 적어도 하나를 사용하여 필요 구동 토크를 연산하는 필요 구동 토크 연산 수단과, 상측 역치 및 하측 역치를 연산하는 역치 연산 수단과, 필요 구동 토크, 상측 역치, 하측 역치 및 로봇의 각 축을 구동하는 모터의 전류에 기초하여 충돌을 판별하는 충돌 판별 수단을 구비한 로봇 제어 장치는, 알려져 있다. 이 로봇 제어 장치에 있어서, 역치 연산 수단이, 기억되어 있는 시간의 규정값과 타이머 수단으로부터 출력되는 모터 전원 투입 후의 경과 시간을 비교하여, 시간 규정값쪽이 큰 경우에는, 제1 상측 역치 및 제1 하측 역치를 채용하고, 시간 규정값쪽이 작은 경우에는, 제2 상측 역치 및 제2 하측 역치를 채용하는 것도, 알려져 있다. 또한, 이 로봇 제어 장치에 있어서, 파라미터 추정 수단이, 각축의 점성 마찰 계수와 쿨롬 마찰 계수를 온라인으로 동정하고, 동정한 각 축의 마찰 계수를 필요 구동 토크 명령 요소 연산 수단 및 필요 구동 토크 연산 수단에 송신하고, 동정 진행도 판별 수단이, 파라미터 추정 수단으로부터 입력된 파라미터 동정값으로부터 각 축의 쿨롬 마찰 계수와 점성 마찰 계수를 선택하고, 각각의 변화량을 산출하고, 실제의 쿨롬 마찰 계수 변화량 및 점성 마찰 계수 변화량의 양쪽이 규정값 이하인 축에 관해서는 동정 진행도를 1로 하고, 실제의 쿨롬 마찰 계수 변화량 및 점성 마찰 계수 변화량 중 적어도 한쪽이 규정값 이상인 축은 동정 진행도를 0으로 하고, 역치 연산 수단이, 동정 진행도 판별 수단으로부터 출력되는 동정 진행도가 1인 축에 관해서는, 파라미터 동정 진행 후의 상측 역치 및 하측 역치를 설정하고, 동정 진행도 판별 수단으로부터 출력되는 동정 진행도가 0인 축에 관해서는, 파라미터 동정 진행 전의 상측 역치 및 하측 역치를 설정하는 것도, 알려져 있다(예를 들어, 특허문헌 1 참조).
로봇의 동작 중에, 로봇과 다른 물체가 충돌한 경우, 로봇을 그대로 동작시키는 것은 바람직하지 않다. 그래서, 로봇과 다른 물체의 충돌을 고정밀도로 검지할 것이 요망되고 있다. 여기서, 로봇과 다른 물체의 충돌을 판정하기 위한 역치를, 모터 전원 투입 후의 경과 시간이 규정값을 초과하였는지 여부로 변경하는 구성을 채용한 경우, 예를 들어 로봇의 온도가 낮아서 마찰이 크기 때문에 역치를 변경할 필요가 있는 상황에 있어서, 역치를 변경하지 않으면, 충돌을 오검지할 가능성이 높아진다.
로봇과 다른 물체의 충돌을 판정하기 위한 역치를, 마찰 계수의 추정값의 변화량이 규정값 이하로 되었는지 여부로 변경하는 구성을 채용한 경우, 로봇의 온도가 낮은 영역에서는 온도 변화에 수반되는 마찰 변화에 의해 마찰 계수의 추정값의 수렴값이 변화되기 때문에, 추정값이 수렴되었는지 여부의 판단이 곤란해져, 충돌을 오검지할 가능성이 높아진다.
본 발명은, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있는 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램을 제공하는 것을 목적으로 한다.
본 발명의 일 양태는, 로봇 제어 장치이며,
로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하고,
상기 로봇을 동작시키고, 검지부에 의해 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하고,
상기 로봇의 온도가 낮음을 나타내는 미리 정해진 조건이 충족되면, 상기 미리 정해진 조건이 충족되지 않을 때에 비해 상기 충돌 검지 감도를 저하시키는 것이다.
도 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는 충돌 판정 역치의 상태를 표시하는 화면예를 도시한 도면이다.
도 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는 충돌 판정 역치의 상태를 표시하는 화면예를 도시한 도면이다.
이하, 첨부 도면을 참조하여, 본 발명의 실시 형태가 상세하게 설명된다. 또한, 각 도면에 있어서, 동일한 구성 요소에 대해서는 동일한 부호가 사용되고, 적절히, 상세한 설명은 생략된다.
[용접 로봇 시스템의 구성]
도 1은 본 실시 형태에 있어서의 용접 로봇 시스템(1)의 개략 구성도이다. 도 1에 도시된 바와 같이, 용접 로봇 시스템(1)은, 아크 용접을 행하는 용접 로봇(10)과, 용접 로봇(10)에 설치된 용접 와이어에 고전압을 인가하여, 아크를 발생시키는 용접 전원(20)과, 이들 용접 로봇(10) 및 용접 전원(20)을 제어하는 로봇 컨트롤러(30)와, 교시 데이터를 입력하는 교시 장치(80)를 구비하고 있다. 용접 전원(20)의 전원 스위치(20a)가 온으로 되면, 용접 로봇 시스템(1)의 전체의 전원이 온으로 되도록 구성되어 있다.
용접 로봇(10)은, 6관절(축) 구성의 수직 다관절 로봇인 아크 용접 로봇이다. 즉, 용접 로봇(10)은, 모터에 의해 구동되는 관절을 복수(본 실시 형태에서는 도 1에 화살표로 나타낸 바와 같이 6개) 갖는 산업용 로봇이다. 용접 로봇(10)은, 로봇 컨트롤러(30)로부터 후술하는 필요 구동 토크 τ'가 인가되면, 내장하는 서보 모터가 구동되어, 원하는 자세를 취할 수 있다. 본 실시 형태에 있어서의 용접 로봇(10)의 암 선단에는, 용접을 행하기 위한 용접 전류나 실드 가스 등의 공급을 행하는 용접 토치(11)가 장착되어 있다. 용접 로봇(10)에는, 용접 와이어를 용접 토치(11)쪽으로 이송 공급하는 송급 장치(12)가 장착되어 있다.
로봇 컨트롤러(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)를 구비하고 있다.
ROM(30b)에 기억된 프로그램 중에는, 예를 들어 용접 로봇(10)에 설치된 용접 토치(11)가 이동하는 목표 위치, 지정 속도가 기술된 교시 프로그램 등이 포함된다. 또한, 프로그램은, EEPROM(30d) 혹은 HDD(30e)에 기억되어도 된다. 교시 프로그램은, 교시 장치(80)로부터의 입력 조작 또는 퍼스널 컴퓨터 등의 도시하지 않은 접속 기기로부터의 입력 조작에 의해 작성, 편집 가능하다.
로봇 컨트롤러(30)에 대해서는, 후에 상술한다.
교시 장치(80)는, 용접 로봇(10)의 교시 작업 시에, 용접 경로 및 용접 작업 조건 등을 입력하기 위해 사용되는 장치이다. 교시 장치(80)는, 액정 등에 의해 구성된 표시 화면(81)과, 입력 버튼(82)을 구비하고 있다. 혹은, 교시 장치(80)는, 예를 들어 저압의 전계를 형성한 패널의 표면 전하의 변화를 검지함으로써 손가락이 접촉한 위치를 전기적으로 검출하는 정전 용량 방식, 또는, 서로 이격되는 전극의 손가락이 접촉한 위치가 비통전 상태로부터 통전 상태로 변화됨으로써 그 위치를 전기적으로 검출하는 저항막 방식 등의 주지의 터치 패널을 구비해도 된다.
[제1 실시 형태]
용접 로봇 시스템(1)에 있어서, 용접 로봇(10)의 동작 중에, 용접 로봇(10)과 다른 물체가 충돌한 경우, 용접 로봇(10)을 그대로 동작시키면, 중대한 사고 또는 용접 로봇(10)의 파손으로 이어진다. 그래서, 제1 실시 형태에 있어서의 용접 로봇 시스템(1)은, 용접 로봇(10)과 다른 물체가 충돌하면, 이것을 검지하여 용접 로봇(10)을 정지시키는 충돌 검지 기능을 실장한다.
충돌 검지 기능은, 용접 로봇(10)에 실제로 발생한 토크인 실제 토크와, 용접 로봇(10)에 발생하는 관성력, 원심력, 중력, 마찰력 등의 추정값의 합계인 추정 토크의 토크차로부터 계산되는 충돌 판정값이, 충돌 판정 역치를 초과한 경우에, 용접 로봇(10)과 다른 물체가 충돌하였다고 판정하여 용접 로봇(10)을 정지시킨다.
여기서, 용접 로봇(10)의 구동부의 마찰력은 온도에 의해 변화된다. 이 때문에, 마찰력이 통상 시보다도 커진 경우에, 충돌 판정값이 충돌 판정 역치를 초과하면, 충돌 검지 기능은, 용접 로봇(10)과 다른 물체가 충돌하였다고 오검지한다. 특히, 극한지에서의 동계의 이른 아침 등의 저온 시에 있어서의 용접 로봇(10)의 기동 직후는 마찰력이 크기 때문에, 충돌 검지 기능의 오검지가 많이 발생한다.
그래서, 제1 실시 형태에서는, 충돌 검지 기능에 있어서의 용접 로봇(10)과 다른 물체가 충돌하였다고 판정하기 위한 충돌 판정 조건을 온도에 따라서 변경하고, 이에 의해 충돌 검지 기능의 오검지를 저감시킨다.
도 2는 용접 로봇(10)의 관절의 마찰력과 용접 로봇(10)의 감속기의 온도의 관계를 나타낸 그래프이다. 이 그래프는, 항온조 내에서 용접 로봇(10)의 손목을 계속해서 동작시켜, 온도의 변화와 마찰력의 변화를 계측한 결과를 나타낸다. 이 그래프에 의해, 용접 로봇(10)의 관절의 마찰력의 변화는, 용접 로봇(10)의 감속기의 온도에 의해 잘 표현할 수 있음을 알 수 있다. 따라서, 본 제1 실시 형태에서는, 용접 로봇(10)의 감속기 등의 온도가 측정되고, 이 온도에 따라서 충돌 판정 조건이 변경된다.
도 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)로서 기능한다.
또한, 본 제1 실시 형태의 로봇 컨트롤러(30)에 있어서의 기능을 실현하는 프로그램은, 통신 기능에 의해 외부로부터 제공되어도 되고, DVD-ROM(Digital Versatile Disc-Read Only Memory) 또는 플래시 메모리 등의 기록 매체에 저장되어 제공되어도 된다.
제어부(41)는, 메모리(30f)의 예를 들어 ROM(30b)(도 1) 또는 EEPROM(30d)(도 1)에 기억된 용접 로봇(10)의 모델(동특성)을 읽어들이고, 읽어들인 모델에 대하여, 원하는 동작을 행하게 하기 위한 각 관절(축)의 필요 구동 토크를 산출하고, 이 필요 구동 토크를 용접 로봇(10)에 인가한다. 이에 의해, 용접 로봇(10)은, 제어부(41)로부터의 필요 구동 토크에 기초하여 이동한다. 그리고, 용접 로봇(10)의 모터의 인코더에 의해 검출된 각 관절의 각도가 로봇 컨트롤러(30)에 피드백된다. 제어부(41)는, 용접 로봇(10)과 다른 물체가 충돌하였다는 취지가 비교부(45)로부터 통지된 경우에는, 용접 로봇(10)의 동작을 정지하기 위해, 필요 구동 토크를 0으로 하는 등의 처리를 행한다. 본 실시 형태에 있어서, 제어부(41)는, 로봇 제어부의 일례에 상당한다.
추정 토크 산출부(42)는, 제어부(41)로부터 서보 모터로 입력되는 필요 구동 토크, 용접 로봇(10)의 인코더로부터 입력되는 관절 각도 등에 기초하여, 각 관절에 발생하는 관성력, 원심력, 중력, 마찰력 등의 추정값의 합계인 추정 토크를 정기적으로 산출한다. 추정 토크 산출부(42)는, 산출한 추정 토크를 판정값 산출부(43)에 통지한다.
판정값 산출부(43)는, 추정 토크 산출부(42)가 산출한 추정 토크와, 용접 로봇(10)으로부터 출력된 실제 토크의 토크차로부터, 충돌 검지의 판정에 사용할 충돌 판정값을 산출하고, 이 충돌 판정값을 비교부(45)에 출력한다.
역치 기억부(44)는, 충돌 검지의 판정에 사용할 충돌 판정 역치를 기억한다.
비교부(45)는, 판정값 산출부(43)가 산출한 충돌 판정값과, 역치 기억부(44)에 기억된 충돌 판정 역치를 비교하고, 비교 결과에 기초하여, 용접 로봇(10)과 다른 물체가 충돌하였는지 여부를 판정한다. 구체적으로는, 비교부(45)는, 충돌 판정값이 충돌 판정 역치보다도 크면 용접 로봇(10)과 다른 물체가 충돌하였다고 판정하고, 충돌 판정값이 충돌 판정 역치 이하이면 용접 로봇(10)과 다른 물체가 충돌하지 않았다고 판정한다. 비교부(45)는, 용접 로봇(10)과 다른 물체가 충돌하였다고 판정한 경우에는 제어부(41)에 그 취지를 통지한다. 본 실시 형태에 있어서, 비교부(45)는, 검지부의 일례에 상당한다. 즉, 비교부(45)는, 충돌 판정 역치의 크기에 의해 결정되는 소정의 충돌 검지 감도로, 용접 로봇(10)과 다른 물체의 충돌을 검지한다.
온도 데이터 취득부(46)는, 용접 로봇(10)의 감속기의 온도를 나타내는 온도 데이터를 취득한다. 온도 데이터 취득부(46)는, 취득한 온도 데이터를 역치 설정부(48)에 통지한다. 감속기의 온도로서는, 감속기 내부의 온도(예를 들어 그리스 온도), 또는, 감속기 표면의 온도가 사용되어도 된다. 혹은, 온도 센서의 설치 용이성으로부터, 감속기의 커버의 온도가 사용되어도 되고, 인코더 자체가 온도를 취득할 수 있는 인코더가 감속기의 인코더로서 사용되어도 된다.
역치 설정부(48)는, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도에 기초하여, 충돌 판정 역치를 역치 기억부(44)에 설정한다. 본 제1 실시 형태에 있어서, 역치 설정부(48)는, 검지 제어부의 일례에 상당한다. 이 충돌 판정 역치의 설정 방법에는, 예를 들어 다음과 같은 방법이 있다.
제1 방법은, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도가 기준 온도 이상인 경우에는, 통상의 역치를 충돌 판정 역치로서 설정하고, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도가 기준 온도 미만인 경우에는, 통상보다도 큰 역치를 충돌 판정 역치로서 설정하는 방법이다. 이 경우, 미리 측정된 마찰력과 온도의 관계(예를 들어 도 2)에 있어서, 어떤 온도 이하로 되면 실제의 마찰력과 기준이 되는 마찰력의 차가 통상의 역치로 상정되는 마찰 오차 이상이 되는 경우에, 그 온도를 기준 온도로 하면 된다.
제2 방법은, 온도 데이터 취득부(46)가 취득한 온도 데이터로부터 산출된 역치를 충돌 판정 역치로서 설정하는 방법이다. 미리 측정된 마찰력과 온도의 관계(예를 들어 도 2)에 기초하여, 통상 동작에서 충돌 판정값이 초과되지 않는 역치를, 온도에 대하여 선형으로 변화되는 값으로서 산출하면 된다. 예를 들어, 역치 산출식
(역치)=a×(온도)+b
에 의해 산출하면 된다. 상기 역치 산출식에 있어서, 계수 a 및 b는 임의의 상수를 나타낸다. 단, 온도가 낮을수록 큰 역치를 설정할 필요가 있으므로, a<0으로 한다. 여기에서는, 역치 산출식으로서, 감소 1차 함수를 사용하였지만, 2차 함수 등의 다른 함수의 감소 구간을 사용해도 된다.
제3 방법은, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도가 기준 온도 이상인 경우에는, 통상의 역치를 충돌 판정 역치로서 설정하고, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도가 기준 온도 미만인 경우에는, 그 온도 데이터로부터 산출된 역치를 충돌 판정 역치로서 설정하는 방법이다. 이 경우, 미리 측정된 마찰력과 온도의 관계(예를 들어 도 2)에 있어서, 어떤 온도 이하로 되면, 실제의 마찰력과 기준이 되는 마찰력의 차가, 통상의 역치로 상정되는 마찰 오차 이상이 되는 경우에, 그 온도를 기준 온도로 하면 된다. 온도가 기준 온도 미만인 경우에는, 예를 들어 상기 역치 산출식에 의해 역치를 설정하면 된다. 단, 온도가 낮을수록 큰 역치를 설정할 필요가 있으므로, 상기 역치 산출식에서 온도를 기준 온도로 한 경우의 역치가 통상의 역치 이상이 되도록, 계수 a 및 b의 값을 정할 필요가 있다.
제4 방법은, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도가 기준 온도 이상인 경우에는, 그 온도 데이터로부터 산출된 역치를 충돌 판정 역치로서 설정하고, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도가 기준 온도 미만인 경우에는, 통상보다도 큰 역치를 설정하는 방법이다. 단, 온도가 낮을수록 큰 역치를 설정할 필요가 있으므로, 상기 역치 산출식에서 온도를 기준 온도로 한 경우의 역치가 상기 통상보다도 큰 역치 이하가 되도록, 계수 a 및 b의 값을 정할 필요가 있다.
상기 제1 내지 제4 방법 중 어느 것을 사용하여, 역치 설정부(48)에 의해, 통상보다도 큰 역치가 충돌 판정 역치로서 설정되면, 통상의 역치가 충돌 판정 역치로서 설정되는 경우에 비해, 비교부(45)의 충돌 검지 감도는, 저하되게 된다.
본 제1 실시 형태에서는, 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도는, 로봇의 실제로 측정된 온도인 측정 온도의 일례이다. 온도 데이터 취득부(46)가 취득한 온도 데이터가 나타내는 온도가 낮다고 하는 조건은, 로봇의 온도가 낮음을 나타내는 미리 정해진 조건의 일례이다.
또한, 상기에서는, 추정 토크 산출부(42)가 추정 토크를 산출할 때, 온도 데이터 취득부(46)가 취득한 온도 데이터를 사용하는 것은 설명하지 않았지만, 온도 데이터 취득부(46)가 취득한 온도 데이터를 사용하도록 해도 된다. 구체적으로는, 추정 토크 산출부(42)는, 추정 토크를 추정할 때의 마찰력의 추정에 온도 데이터 취득부(46)가 취득한 온도 데이터를 사용하여, 보다 정확한 마찰 추정값을 구해도 된다. 이 마찰 추정값의 도출 방법에는, 예를 들어 다음과 같은 방법이 있다.
제1 방법은, 미리 측정된 마찰력과 온도의 관계를 테이블로서 메모리(30f)의 예를 들어 ROM(30b)에 보유해 두고, 추정 토크 산출부(42)는, 메모리(30f)의 테이블로부터, 온도 데이터 취득부(46)가 취득한 온도 데이터에 대응하는 마찰력의 값을 판독하고, 이 판독한 마찰력의 값을 사용하는 방법이다.
제2 방법은, 미리 측정된 마찰력과 온도의 관계를 근사하여 온도를 변수로 한 마찰의 모델을 작성하여 메모리(30f)의 예를 들어 ROM(30b)에 보유해 두고, 추정 토크 산출부(42)는, 온도 데이터 취득부(46)가 취득한 온도 데이터와 메모리(30f)의 마찰 모델로부터 마찰 추정값을 구한다는 방법이다. 마찰 모델은, 예를 들어
log(마찰 추정값)=c×(온도)+d
와 같이 근사하면 된다. 상기 식에 있어서, 계수 c 및 d는 임의의 상수이다.
도 4는 제1 실시 형태에 있어서의 로봇 컨트롤러(30)의 동작예를 나타낸 흐름도이다.
도 4에 도시된 바와 같이, 로봇 컨트롤러(30)에서는, 먼저, 제어부(41)가, 용접 로봇(10)을 기동한 후, 소정의 동작을 실현하기 위해, 용접 로봇(10)을 모터 구동에 의해 제어한다(스텝 401).
다음에, 추정 토크 산출부(42)가, 용접 로봇(10)에 발생하는 관성력, 원심력, 마찰력 등을 추정하여, 추정 토크를 산출한다(스텝 402).
다음에, 판정값 산출부(43)가, 용접 로봇(10)에 실제로 발생한 토크의 측정값인 실제 토크와, 스텝 402에서 산출된 추정 토크의 토크차로부터, 충돌 판정값을 산출한다(스텝 403).
한편, 로봇 컨트롤러(30)에서는, 온도 데이터 취득부(46)가, 온도 센서가 측정한 용접 로봇(10)의 감속기의 온도를 나타내는 온도 데이터를 취득한다(스텝 404).
다음에, 역치 설정부(48)가, 스텝 404에서 취득된 온도 데이터가 나타내는 측정 온도에 기초하여, 역치 기억부(44)에 충돌 판정 역치를 설정한다. 여기에서는, 역치 설정부(48)는, 충돌 판정값이 충돌 판정 역치를 초과하면 충돌하였다고 판정하도록, 충돌 판정 역치를 설정한다. 구체적으로는, 역치 설정부(48)는, 먼저, 스텝 404에서 취득된 온도 데이터가 나타내는 측정 온도가 기준 온도보다도 높은지 여부를 판정한다(스텝 405). 스텝 404에서 취득된 온도 데이터가 나타내는 측정 온도가 기준 온도보다도 높다고 판정되지 않으면, 즉, 측정 온도가 기준 온도 이하라고 판정되면(스텝 405에서 "아니오"), 역치 설정부(48)는, 통상의 역치보다도 큰 역치를 충돌 판정 역치로서 설정한다(스텝 406). 한편, 스텝 404에서 취득된 온도 데이터가 나타내는 측정 온도가 기준 온도보다도 높다고 판정되면(스텝 405에서 "예"), 역치 설정부(48)는, 통상의 역치를 충돌 판정 역치로서 설정한다(스텝 407).
그 후, 비교부(45)가, 스텝 403에서 산출된 충돌 판정값과, 스텝 406 또는 스텝 407에서 설정된 충돌 판정 역치를 비교하여, 충돌 판정값이 충돌 판정 역치를 초과하였는지 여부를 판정한다(스텝 408). 충돌 판정값이 충돌 판정 역치를 초과하였다고 판정되지 않으면(스텝 408에서 "아니오"), 제어부(41)는, 처리를 스텝 401로 되돌려, 용접 로봇(10)의 동작을 속행한다. 한편, 충돌 판정값이 충돌 판정 역치를 초과하였다고 판정되면(스텝 405에서 "아니오"), 제어부(41)는, 용접 로봇(10)을 정지하고(스텝 409), 처리를 종료한다.
또한, 이 동작예에서는, 로봇 컨트롤러(30)는, 스텝 402 내지 403을 실행한 후에 스텝 404 내지 407을 실행하도록 하였지만, 이것에 한정되지는 않는다. 로봇 컨트롤러(30)는, 스텝 402 내지 403과 스텝 404 내지 407을 병렬로 실행하도록 해도 되고, 스텝 404 내지 407을 실행한 후에 스텝 402 내지 403을 실행하도록 해도 된다.
그런데, 추정 토크 산출부(42)가 스텝 402에서 추정 토크를 산출할 때 사용하는 모터 입력, 및 판정값 산출부(43)가 스텝 403에서 충돌 판정값을 산출할 때 사용하는 실제 토크에는, 노이즈가 포함되는 경우가 많다. 따라서, 외란 추정 옵저버에 의해 외란 토크를 직접 추정해도 된다. 외란 추정 옵저버는, 공지의 구성을 갖고, 원심력 및 마찰 등에 기초하는 부하 토크와, 관성 모멘트의 변동 및 모터의 토크 리플 등에 기초하는 변동 토크의 합계인 외란 토크를 추정한다. 그 경우, 도 3에서는, 추정 토크 산출부(42) 대신에, 외란 추정 옵저버를 마련하면 된다. 도 4에서는, 스텝 402를, 외란 추정 옵저버에 의해 외란 토크를 추정하는 스텝으로 변경하고, 스텝 403을, 스텝 402에서 추정된 외란 토크를 충돌 판정값으로 하는 스텝으로 변경하면 된다.
이상 설명된 바와 같이, 제1 실시 형태에 따르면, 예를 들어 로봇(10)의 온도가 낮아서 마찰이 크기 때문에 역치를 변경할 필요가 있는 상황에 있어서, 로봇(10)의 측정 온도가 기준 온도 이하인 경우에는, 충돌 판정 역치를 크게 하고 있기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
[제2 실시 형태]
제2 실시 형태에 있어서의 용접 로봇 시스템(1)도, 제1 실시 형태에 있어서의 용접 로봇 시스템(1)과 마찬가지로, 용접 로봇(10)과 다른 물체가 충돌하면, 이것을 검지하여 용접 로봇(10)을 정지시키는 충돌 검지 기능을 실장한다. 단, 제2 실시 형태에서는, 동작 상황이나 온도에 의한 마찰의 변화가 망각 계수 구비 축차 최소 제곱법에 의해 추정된다.
도 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)로서 기능한다.
또한, 본 제2 실시 형태의 로봇 컨트롤러(30)에 있어서의 기능을 실현하는 프로그램은, 통신 기능에 의해 외부로부터 제공되어도 되고, DVD-ROM 또는 플래시 메모리 등의 기록 매체에 저장되어 제공되어도 된다.
제어부(51)는, 메모리(30f)의 예를 들어 ROM(30b)(도 1) 또는 EEPROM(30d)(도 1)에 기억된 용접 로봇(10)의 모델(동특성)을 읽어들이고, 읽어들인 모델에 대하여, 원하는 동작을 행하게 하기 위한 각 관절(축)의 필요 구동 토크를 산출하고, 이 필요 구동 토크를 용접 로봇(10)에 인가한다. 이에 의해, 용접 로봇(10)은, 제어부(51)로부터의 필요 구동 토크에 기초하여 이동한다. 그리고, 용접 로봇(10)의 모터의 인코더에 의해 검출된 각 관절의 각도가 로봇 컨트롤러(30)에 피드백된다. 제어부(51)는, 용접 로봇(10)과 다른 물체가 충돌하였다는 취지가 비교부(55)로부터 통지된 경우에는, 용접 로봇(10)의 동작을 정지하기 위해, 필요 구동 토크를 0으로 하는 등의 처리를 행한다. 본 실시 형태에 있어서, 제어부(51)는, 로봇 제어부의 일례에 상당한다.
추정 토크 산출부(52)는, 제어부(51)로부터 용접 로봇(10)의 모터에 입력되는 필요 구동 토크, 용접 로봇(10)의 인코더로부터 입력되는 관절 각도 등에 기초하여, 각 관절에 발생하는 관성력, 원심력, 중력, 마찰력 등의 추정값의 합계인 추정 토크를 정기적으로 산출한다.
제어부(51)로부터 입력되는 필요 구동 토크에 의해 용접 로봇(10)의 모터에 발생하는 토크를 τ, 제어부(51)로부터 입력되는 필요 구동 토크에 의한 용접 로봇(10)의 모터 각도를 θ라 하면, 토크 τ는 다음 식으로 표시된다.
상기 식에 있어서, 우변 제2항 Fr(dθ/dt)는 마찰력을 나타내고, 우변 제1항 f(θ, dθ/dt, d2θ/dt2)는 관성력, 원심력 등의 마찰력 이외의 추정값을 나타내고, 우변 제3항 d는 외란항이다.
Fr(dθ/dt)+d=D로 하면, D는 다음 식에 의해 구해진다.
마찰력으로서 쿨롬 마찰력 및 점성 마찰력만이 작용한다고 가정하고, 쿨롬 마찰 계수를 F라 하고, 점성 마찰 계수를 B라 하면, Fr(dθ/dt)는 다음 식으로 표시된다.
그래서, 추정 토크 산출부(52)는, 망각 계수 구비 축차 최소 제곱법에 의해 마찰 모델을 동정하여, 쿨롬 마찰 계수 F 및 점성 마찰 계수 B의 추정값을 구한다.
즉, 시각 스텝 k에서의 모터 각도를 θk라 하고, 시각 스텝 k에서의 마찰을 포함하는 외란을 Dk라 하여, 행렬 Ak, Bk를 다음과 같이 정의한다.
상기 행렬에 있어서, 계수 ρ는 망각 계수이다. 행렬 A0, B0을 다음과 같이 정의한다.
시각 스텝 k에서의 쿨롬 마찰 계수 F 및 점성 마찰 계수 B의 추정값을 각각 Fk^, Bk^라 하고, 행렬 Xk를 다음과 같이 정의한다. 또한, 본 명세서에서는, 해트 기호를, 수식 중에서는 문자의 바로 위에 첨부하였지만, 문장 중에서는 문자의 뒤에 첨부하는 것으로 한다.
그렇게 하면, 마찰 모델은 다음 식으로 표시된다.
따라서, 최소 제곱법에 의해, Xk는, 다음과 같이 동정할 수 있다.
이에 의해, 시각 스텝 k에서의 추정 마찰력 Frk^(dθk/dt)는, 다음과 같이 된다.
따라서, 추정 토크 τk^는, 다음 식에 의해 산출할 수 있다.
추정 토크 산출부(52)는, 산출한 추정 토크를 판정값 산출부(53)에 통지한다.
판정값 산출부(53)는, 추정 토크 산출부(52)가 산출한 추정 토크와, 용접 로봇(10)으로부터 출력된 실제 토크의 토크차, 또는, 고주파 노이즈에 의한 오검지를 피하기 위해 그 토크차를 필터링한 값으로부터, 충돌 검지의 판정에 사용할 충돌 판정값을 산출하고, 이 충돌 판정값을 비교부(55)에 출력한다.
실제 토크로서는, 예를 들어 토크 센서에 의해 측정된 토크에 한정되지 않는다. 예를 들어, 제어부(51)로부터 용접 로봇(10)으로 입력되는 필요 구동 토크가, 실제 토크로서 사용되어도 된다. 이 경우에는, 토크 센서를 구비하지 않아도 된다. 혹은, 서보 모터로 공급되는 전류값과 용접 로봇(10)의 관절에 발생하는 토크의 대응 관계를 미리 구하여 메모리(30f)에 보유해 두고, 토크 센서는, 서보 모터로 공급되는 전류값을 검출해도 된다. 그리고, 검출된 전류값으로부터 상기 대응 관계를 사용하여 환산된 토크가, 실제 토크로서 사용되어도 된다.
역치 기억부(54)는, 충돌 검지의 판정에 사용할 충돌 판정 역치를 기억한다.
비교부(55)는, 판정값 산출부(53)가 산출한 충돌 판정값과, 역치 기억부(54)에 기억된 충돌 판정 역치를 비교하고, 비교 결과에 기초하여, 용접 로봇(10)과 다른 물체가 충돌하였는지 여부를 판정한다. 구체적으로는, 비교부(55)는, 충돌 판정값이 충돌 판정 역치보다도 크면 용접 로봇(10)과 다른 물체가 충돌하였다고 판정하고, 충돌 판정값이 충돌 판정 역치 이하이면 용접 로봇(10)과 다른 물체가 충돌하지 않았다고 판정한다. 그리고, 비교부(55)는, 용접 로봇(10)과 다른 물체가 충돌하였다고 판정한 경우에는 제어부(51)에 그 취지를 통지한다. 본 실시 형태에 있어서, 비교부(55)는, 검지부의 일례에 상당한다. 즉, 비교부(55)는, 충돌 판정 역치의 크기에 의해 결정되는 소정의 충돌 검지 감도로, 용접 로봇(10)과 다른 물체의 충돌을 검지한다.
동정 진행도 산출부(57)는, 추정 토크 산출부(52)가 동정한 마찰 모델에 의해, 마찰 모델의 동정의 진행 정도를 산출한다. 예를 들어, 용접 로봇(10)의 모델을 다음 식으로 나타낸 것으로 한다.
상기 식 (1)에 있어서, 좌변 제1항 Jd2θ/dt2은 관성항이다. 망각 계수 ρ=0.9999로 하였다.
도 6은 쿨롬 마찰 계수 F가 2로부터 1로 시간 변화하였을 때의 쿨롬 마찰 계수 추정값 Fk^의 변화를 도시하는 도면이다. 도 7은 추정 토크 산출부(52)가 동정한 마찰 모델 AkXk=Bk로부터 구해진 행렬(Ak TAk)의 트레이스 tr(Ak TAk)의 변화를 도시하는 도면이다. 이들 도면으로부터, 쿨롬 마찰 계수 추정값의 수렴과 트레이스 tr(Ak TAk)의 수렴이 대응하고 있음을 알 수 있다. 따라서, 동정 진행도 산출부(57)는, 트레이스 tr(Ak TAk)의 값을 마찰 모델의 동정의 진행 정도의 지표로서 사용할 수 있다.
혹은, 동정 진행도 산출부(57)는, 행렬 Ak TAk의 특이값을 마찰 모델의 동정의 진행 정도 지표로 해도 된다. 도 8a, 도 8b는, 각각, 식 (1)의 모델에서의 마찰 추정의 시뮬레이션에 있어서의 행렬 Ak TAk의 2개의 특이값의 변화를 도시하는 도면이다. 도 8a는 행렬 Ak TAk의 특이값의 첫번째를 나타내고, 도 8b는 행렬 Ak TAk의 특이값의 두번째를 나타낸다. 도 6과 도 8a, 도 8b로부터, 쿨롬 마찰 계수 추정값의 수렴과 행렬 Ak TAk의 특이값의 수렴이 대응하고 있음을 알 수 있다. 따라서, 동정 진행도 산출부(57)는, 행렬 Ak TAk의 특이값을 마찰 모델의 동정의 진행 정도의 지표로서 사용할 수 있다.
혹은, 동정 진행도 산출부(57)는, 행렬 Ak TAk의 1행1열 요소를 마찰 모델의 동정의 진행 정도의 지표로 해도 된다. 도 9는 식 (1)의 모델에서의 마찰 추정의 시뮬레이션에 있어서의 행렬 Ak TAk의 1행1열 요소의 변화를 도시하는 도면이다. 도 6과 도 9로부터, 쿨롬 마찰 계수 추정값의 수렴과 행렬 Ak TAk의 1행1열 요소의 수렴이 대응하고 있음을 알 수 있다. 따라서, 동정 진행도 산출부(57)는, 행렬 Ak TAk의 1행1열 요소를 마찰 모델의 동정의 진행 정도의 지표로 할 수 있다.
혹은, 동정 진행도 산출부(57)는, 행렬 Ak의 조건수를 마찰 모델의 동정의 진행 정도 지표로 해도 된다. 예를 들어, 행렬 Ak의 조건수가 100 이하 등의 어느 정도 작은 값으로 되어 있는 경우에, 마찰 모델의 동정이 진행되었다고 판단할 수 있다.
또한, 여기서는, 동정 진행도 산출부(57)는, 행렬 Ak TAk의 트레이스 tr(Ak TAk)의 값, 행렬 Ak TAk의 특이값, 행렬 Ak TAk의 1행1열 요소, 및 행렬 Ak의 조건수 중 어느 것을, 단독으로 사용하는 것을 상정하였지만, 동정 진행도 산출부(57)는, 이들 중 적어도 2개를 조합하여 사용해도 된다.
본 제2 실시 형태에 있어서, 행렬 Ak TAk의 트레이스 tr(Ak TAk)의 값, 행렬 Ak TAk의 특이값, 행렬 Ak TAk의 1행1열 요소, 및 행렬 Ak의 조건수는, 마찰 모델을 동정할 때 사용되는 행렬 Ak TAk의 대각 요소를 사용하여 산출되는 지표의 일례에 상당한다. 본 제2 실시 형태에 있어서, 추정 토크 산출부(52)는, 추정부의 일례에 상당한다.
역치 설정부(58)는, 동정 진행도 산출부(57)가 산출한 동정의 진행 정도에 기초하여, 충돌 판정 역치를 역치 기억부(54)에 설정한다. 역치 설정부(58)는, 예를 들어 행렬 Ak TAk의 트레이스 tr(Ak TAk)가 도 7과 같이 변화되는 경우, tr(Ak TAk)<5000에서는 동정이 진행되지 않았다고 판단하여 통상보다도 큰 역치를 설정하고, tr(Ak TAk)≥5000에서는 동정이 이루어졌다고 판단하여 통상의 역치를 설정한다.
본 제2 실시 형태에 있어서, 역치 설정부(58)는, 검지 제어부의 일례에 상당한다.
또한, 상기에서는, 추정 토크 산출부(52)가 마찰력을 추정할 때, 용접 로봇(10)의 온도 변화는 고려하지 않았지만, 용접 로봇(10)의 온도 변화를 고려해도 된다. 즉, 식 (1)에 마찰의 온도 변화 모델을 추가한 용접 로봇(10)의 모델은 다음과 같이 된다.
이 식 (2)에 있어서, 부호 T는, 온도를 나타내고, 부호 FT(T), BT(T)는, 각각 마찰의 온도 변화 모델에 의해 얻어지는 쿨롬 마찰 계수 및 점성 마찰 계수를 나타내고, 부호 ΔF, ΔB는, 각각 실제의 마찰 계수와 FT(T), BT(T)의 오차를 나타낸다. 마찰의 온도 변화 모델은 미리 실험에 의해 얻어진 것으로 하면, 용접 로봇(10)의 온도 변화를 고려한 마찰 모델은, 다음과 같이 표시된다.
추정 토크 산출부(52)는, 이 마찰 모델에 의해 마찰 모델을 동정함으로써, 보다 정확한 마찰 추정을 할 수 있다.
도 10은 제2 실시 형태에 있어서의 로봇 컨트롤러(30)의 동작예를 나타낸 흐름도이다.
도 10에 도시된 바와 같이, 로봇 컨트롤러(30)에서는, 먼저, 제어부(51)가, 용접 로봇(10)을 기동한 후, 소정의 동작을 실현하기 위해, 용접 로봇(10)을 모터 구동에 의해 제어한다(스텝 501).
다음에, 추정 토크 산출부(52)가, 용접 로봇(10)에 발생하는 관성력, 원심력, 마찰력 등을 추정하여, 추정 토크를 산출한다(스텝 502). 그때, 추정 토크 산출부(52)는, 상술한 바와 같이, 망각 계수 구비 축차 최소 제곱법에 의해 마찰 모델을 동정하고, 이 마찰 모델을 사용하여 추정 토크를 산출한다.
다음에, 판정값 산출부(53)가, 용접 로봇(10)에 실제로 발생한 토크의 측정값인 실제 토크와, 스텝 502에서 산출된 추정 토크의 토크차로부터, 충돌 판정값을 산출한다(스텝 503).
한편, 로봇 컨트롤러(30)에서는, 동정 진행도 산출부(57)가, 스텝 502에서 동정된 마찰 모델을 사용하여, 동정의 진행 정도를 산출한다(스텝 504).
다음에, 역치 설정부(58)가, 스텝 504에서 산출된 동정의 진행 정도에 기초하여, 역치 기억부(54)에 충돌 판정 역치를 설정한다. 여기에서는, 역치 설정부(58)는, 충돌 판정값이 충돌 판정 역치를 초과하면 충돌하였다고 판정하도록, 충돌 판정 역치를 설정한다. 구체적으로는, 역치 설정부(58)는, 먼저, 스텝 504에서 산출된 마찰 모델의 동정의 진행 정도가 기준값보다도 높은지 여부를 판정한다(스텝 505). 스텝 504에서 산출된 동정의 진행 정도가 기준값보다도 높다고 판정되지 않으면, 즉, 동정의 진행 정도가 기준값 이하라고 판정되면(스텝 505에서 "아니오"), 역치 설정부(58)는, 통상의 역치보다도 큰 역치를 충돌 판정 역치로서 설정한다(스텝 506). 한편, 스텝 504에서 산출된 동정의 진행 정도가 기준값보다도 높다고 판정되면(스텝 505에서 "예"), 역치 설정부(58)는, 통상의 역치를 충돌 판정 역치로서 설정한다(스텝 507).
그 후, 비교부(55)가, 스텝 503에서 산출된 충돌 판정값과, 스텝 506 또는 스텝 507에서 설정된 충돌 판정 역치를 비교하여, 충돌 판정값이 충돌 판정 역치를 초과하였는지 여부를 판정한다(스텝 508). 충돌 판정값이 충돌 판정 역치를 초과하였다고 판정되지 않으면(스텝 508에서 "아니오"), 제어부(51)는, 처리를 스텝 501로 되돌려, 용접 로봇(10)의 동작을 속행한다. 한편, 충돌 판정값이 충돌 판정 역치를 초과하였다고 판정되면(스텝 508에서 "예"), 제어부(51)는, 용접 로봇(10)을 정지하고(스텝 509), 처리를 종료한다.
또한, 이 동작예에서는, 로봇 컨트롤러(30)는, 스텝 503을 실행한 후에 스텝 504 내지 507을 실행하도록 하였지만, 이것에 한정되는 것은 아니다. 로봇 컨트롤러(30)는, 스텝 503과 스텝 504 내지 507을 병렬로 실행하도록 해도 되고, 스텝 504 내지 507을 실행한 후에 스텝 503을 실행하도록 해도 된다.
그런데, 추정 토크 산출부(52)가 스텝 502에서 추정 토크를 산출할 때 사용하는 모터 입력이나, 판정값 산출부(53)가 스텝 503에서 충돌 판정값을 산출할 때 사용하는 실제 토크에는, 노이즈가 포함되는 경우가 많다. 따라서, 외란 추정 옵저버에 의해 외란값을 직접 추정해도 된다. 그 경우, 도 5에서는, 추정 토크 산출부(52) 대신에, 외란 추정 옵저버를 마련하면 된다. 또한, 도 10에서는, 스텝 502를, 외란 추정 옵저버에 의해 외란값을 추정하는 스텝으로 변경하고, 스텝 503을, 스텝 502에서 추정된 외란값을 충돌 판정값으로 하는 스텝으로 변경하면 된다.
이상 설명된 바와 같이, 제2 실시 형태에 따르면, 예를 들어 행렬(Ak TAk)의 트레이스 tr(Ak TAk)의 값을 마찰 모델의 동정의 진행 정도 지표로서 사용하고 있기 때문에, 마찰 계수의 추정값이 수렴되었는지 여부의 판단을 용이하게 할 수 있어, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
[제3 실시 형태]
제3 실시 형태에 있어서의 용접 로봇 시스템(1)은, 제1 실시 형태에 있어서의 용접 로봇 시스템(1)과, 제2 실시 형태에 있어서의 용접 로봇 시스템(1)을 합한 것이다.
도 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)로서 기능한다.
제어부(61), 추정 토크 산출부(62), 판정값 산출부(63), 역치 기억부(64), 비교부(65), 및 동정 진행도 산출부(67)는, 각각, 도 5의 (제2 실시 형태)의 제어부(51), 추정 토크 산출부(52), 판정값 산출부(53), 역치 기억부(54), 비교부(55), 및 동정 진행도 산출부(57)와 동일하므로, 상세한 설명은 생략된다. 온도 데이터 취득부(66)는, 도 3의 (제1 실시 형태)의 온도 데이터 취득부(46)와 동일하므로, 상세한 설명은 생략된다.
역치 설정부(68)는, 동정 진행도 산출부(67)가 산출한 마찰 모델의 동정의 진행 정도와, 온도 데이터 취득부(66)가 취득한 온도 데이터에 기초하여, 충돌 판정 역치를 역치 기억부(64)에 설정한다. 본 제3 실시 형태에 있어서, 역치 설정부(68)는, 검지 제어부의 일례에 상당한다.
도 12는 제3 실시 형태에 있어서의 로봇 컨트롤러(30)의 동작예를 나타낸 흐름도이다.
스텝 601 내지 603은, 도 10의 스텝 501 내지 503과 동일하므로, 상세한 설명은 생략된다.
한편, 로봇 컨트롤러(30)에서는, 동정 진행도 산출부(67)가, 스텝 602에서 동정된 마찰 모델을 사용하여, 마찰 모델의 동정의 진행 정도를 산출한다(스텝 604).
온도 데이터 취득부(66)가, 온도 센서가 측정한 용접 로봇(10)의 감속기의 온도를 나타내는 온도 데이터를 취득한다(스텝 605).
다음에, 역치 설정부(68)가, 스텝 604에서 산출된 마찰 모델의 동정의 진행 정도와, 스텝 605에서 취득된 온도 데이터가 나타내는 측정 온도에 기초하여, 역치 기억부(64)에 충돌 판정 역치를 설정한다. 여기에서는, 역치 설정부(68)는, 충돌 판정값이 충돌 판정 역치를 초과하면 충돌하였다고 판정하도록, 충돌 판정 역치를 설정한다. 구체적으로는, 역치 설정부(68)는, 먼저, 스텝 604에서 산출된 마찰 모델의 동정의 진행 정도가 기준값보다도 높고, 또한, 스텝 605에서 취득된 온도 데이터가 나타내는 감속기의 측정 온도가 기준 온도보다도 높은지 여부를 판정한다(스텝 606).
스텝 604에서 산출된 마찰 모델의 동정의 진행 정도가 기준값보다도 높고, 또한, 스텝 605에서 취득된 온도 데이터가 나타내는 측정 온도가 기준 온도보다도 높다고 판정되지 않으면, 즉, 스텝 604에서 산출된 마찰 모델의 동정의 진행 정도가 기준값 이하이거나, 또는, 스텝 605에서 취득된 온도 데이터가 나타내는 측정 온도가 기준 온도 이하라고 판정되면(스텝 606에서 "아니오"), 역치 설정부(68)는, 통상의 역치보다도 큰 역치를 충돌 판정 역치로서 설정한다(스텝 607). 한편, 스텝 604에서 산출된 마찰 모델의 동정의 진행 정도가 기준값보다도 높고, 또한, 스텝 605에서 취득된 온도 데이터가 나타내는 측정 온도가 기준 온도보다도 높다고 판정되면(스텝 606에서 "예"), 역치 설정부(68)는, 통상의 역치를 충돌 판정 역치로서 설정한다(스텝 608).
그 후의 스텝 609 내지 610은, 각각, 도 10의 스텝 508 내지 509와 동일하므로, 상세한 설명은 생략된다.
또한, 이 동작예에서는, 로봇 컨트롤러(30)는, 스텝 603을 실행한 후에 스텝 604 내지 608을 실행하도록 하였지만, 이것에 한정되는 것은 아니다. 로봇 컨트롤러(30)는, 스텝 603과 스텝 604 내지 608을 병렬로 실행하도록 해도 되고, 스텝 604 내지 608을 실행한 후에 스텝 603을 실행하도록 해도 된다. 혹은, 로봇 컨트롤러(30)는, 스텝 604 내지 608 중 스텝 605만을, 스텝 602보다 전에 실행하도록 해도 되고, 스텝 602와 병렬로 실행하도록 해도 된다.
그런데, 추정 토크 산출부(62)가 스텝 602에서 추정 토크를 산출할 때 사용하는 모터 입력이나, 판정값 산출부(63)가 스텝 603에서 충돌 판정값을 산출할 때 사용하는 실제 토크에는, 노이즈가 포함되는 경우가 많다. 따라서, 외란 추정 옵저버에 의해 외란값을 직접 추정해도 된다. 그 경우, 도 11에서는, 추정 토크 산출부(62) 대신에, 외란 추정 옵저버를 마련하면 된다. 또한, 도 12에서는, 스텝 602를, 외란 추정 옵저버에 의해 외란값을 추정하는 스텝으로 변경하고, 스텝 603을, 스텝 602에서 추정된 외란값을 충돌 판정값으로 하는 스텝으로 변경하면 된다.
이상 설명된 바와 같이, 제3 실시 형태에 따르면, 예를 들어 로봇(10)의 온도가 낮아서 마찰이 크기 때문에 역치를 변경할 필요가 있는 상황에 있어서, 로봇(10)의 측정 온도가 기준 온도 이하인 경우에는, 충돌 판정 역치를 크게 하고 있기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있고, 또한, 예를 들어 행렬(Ak TAk)의 트레이스 tr(Ak TAk)의 값을 마찰 모델의 동정의 진행 정도의 지표로서 사용하고 있기 때문에, 마찰 계수의 추정값이 수렴되었는지 여부의 판단을 용이하게 할 수 있어, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
[제4 실시 형태]
제4 실시 형태에 있어서의 용접 로봇 시스템(1)도, 제1 내지 제3 실시 형태에 있어서의 용접 로봇 시스템(1)과 마찬가지로, 용접 로봇(10)과 다른 물체가 충돌하면, 이것을 검지하여 용접 로봇(10)을 정지시키는 충돌 검지 기능을 실장한다. 단, 제4 실시 형태에서는, 동계 기간 중에 용접 로봇(10)의 동작 상황이 소정의 조건을 충족하는 경우에, 충돌 검지 기능에 있어서의 충돌 판정 역치가 변경된다.
도 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)로서 기능한다.
제어부(71), 추정 토크 산출부(72), 판정값 산출부(73), 역치 기억부(74), 및 비교부(75)는, 각각, 도 3의 (제1 실시 형태)의 제어부(41), 추정 토크 산출부(42), 판정값 산출부(43), 역치 기억부(44), 및 비교부(45)와 동일하므로, 상세한 설명은 생략된다.
파라미터 기억부(76)는, 역치 설정부(78)가 충돌 판정 역치를 역치 기억부(74)에 설정할 때 참조하는 각종 파라미터를 기억한다. 각종 파라미터는, 다음 파라미터를 포함한다.
즉, 제1 파라미터는, 동계 기간의 개시 시기이다. 개시 시기는, 개시월(예를 들어 11월)이어도 된다. 제2 파라미터는, 동계 기간의 종료 시기이다. 종료 시기는, 종료월(예를 들어 3월)이어도 된다.
제3 파라미터는, 동계 기간 중에 충돌 판정 역치로서 통상보다도 큰 역치가 설정되기 위한 전제가 되는 용접 로봇(10)(또는 서보 모터)이 정지한 시간의 역치(이하, 「정지 시간 역치」라 칭해짐)이다. 이하에서는, 이 정지 시간 역치를 t0이라 한다. 정지 시간 역치 t0은 예를 들어 1시간이어도 된다.
제4 파라미터는, 동계 기간 중에 충돌 판정 역치로서 통상보다도 큰 역치가 설정된 동작(이하, 「동계 동작」이라 함)이 행해지기 위해 필요로 되는 용접 로봇(10)이 서보 모터를 ON한 누적의 시간(누적 서보 ON 시간)이다. 이하에서는, 이 시간을 t1이라 한다. 시간 t1은 예를 들어 30분이어도 된다.
제5 파라미터는, 동계 기간 중에 충돌 판정값의 감시가 개시되기 위해 필요로 되는 용접 로봇(10)이 서보 모터를 ON한 누적의 시간(누적 서보 ON 시간)이다. 이하에서는, 이 시간을 t2라 한다. 시간 t2는 예를 들어 24분이어도 된다. 혹은, 제5 파라미터로서, 시간 t2 대신에, 그 시점에 있어서의 동계 동작이 행해지기 위해 필요로 되는 용접 로봇(10)의 누적 서보 ON 시간에 대한 비율을 정해 두어도 된다.
제6 파라미터는, 동계 기간 중에 충돌 판정 역치로서 설정되는 통상보다도 큰 역치로부터 통상의 역치를 감한 차분값이다. 이하에서는, 이 차분값을 ΔTh라 한다. 차분값 ΔTh는 예를 들어 통상의 역치의 60%여도 된다. 즉, 통상보다도 큰 역치는, 통상의 역치의 160%여도 된다.
변동값 기억부(77)는, 용접 로봇 시스템(1)의 동작에 수반하여 변동되는 값인 각종 변동값을 기록한다. 각종 변동값은, 다음 변동값을 포함한다.
즉, 제1 변동값은, 그 시점에 있어서의 동계 동작이 행해지기 위해 필요로 되는 용접 로봇(10)의 누적 서보 ON 시간이다. 이하에서는, 이 시간을 T1이라 한다. 또한, 제1 변동값인 시간 T1에는, 초기 상태에 있어서는, 파라미터 기억부(76)에 기억된 제4 파라미터인 시간 t1이 설정되어 있는 것으로 한다.
제2 변동값은, 그 시점에 있어서의 충돌 판정값의 감시가 개시되기 위해 필요로 되는 용접 로봇(10)의 누적 서보 ON 시간이다. 이하에서는, 이 시간을 T2라 한다. 또한, 제2 변동값인 시간 T2에는, 초기 상태에 있어서는, 파라미터 기억부(76)에 기억된 제5 파라미터인 시간 t2가 설정되어 있는 것으로 한다. 단, 파라미터 기억부(76)에 제5 파라미터로서, 시간 t2가 아니라, 그 시점에 있어서의 동계 동작이 행해지기 위해 필요로 되는 용접 로봇(10)의 누적 서보 ON 시간에 대한 비율이 기억되어 있는 경우에는, 변동값 기억부(77)는 제2 변동값을 기억하고 있지 않아도 된다.
제3 변동값은, 그 시점에 있어서의 충돌 판정값의 감시가 행해지는 구간 내에서 최대의 충돌 판정값(이하, 「최대 판정값」이라 함)이다. 또한, 제3 변동값인 최대 판정값에는, 초기 상태에 있어서는, 충돌 판정값의 최솟값(예를 들어 0)이 설정되어 있는 것으로 한다.
역치 설정부(78)는, 일시를 계시하는 계시 기능을 갖는다. 역치 설정부(78)는, 파라미터 기억부(76)에 기억된 각종 파라미터와, 변동값 기억부(77)에 기억된 각종 변동값에 기초하여, 충돌 판정 역치를 역치 기억부(74)에 설정한다.
구체적으로는, 역치 설정부(78)는, 현재 날짜가, 파라미터 기억부(76)에 기억된 제1 파라미터인 동계 기간의 개시 시기와 제2 파라미터인 동계 기간의 종료 시기 사이에 있는 경우에, 용접 로봇(10)의 동작 상황에 관한 조건이 충족되면, 통상의 역치 대신에, 통상보다도 큰 역치를 역치 기억부(74)에 설정한다. 여기서, 용접 로봇(10)의 동작 상황에 관한 조건은, 용접 로봇 시스템(1)이 전원 ON된 후, 또는, 파라미터 기억부(76)에 기억된 제3 파라미터인 정지 시간 역치 t0 이상 용접 로봇(10)의 서보 모터가 OFF된 후, 서보 모터의 동작 개시로부터의 누적 서보 ON 시간이, 변동값 기억부(77)에 기억된 제1 변동값인 시간 T1에 도달하지 않았다고 하는 조건이다. 그리고, 통상보다도 큰 역치는, 파라미터 기억부(76)에 기억된 제6 파라미터인 값 ΔTh를 통상의 역치에 가산한 역치이다.
본 제4 실시 형태에 있어서, 파라미터 기억부(76)에 기억된 제1 파라미터인 동계 기간의 개시 시기로부터 파라미터 기억부(76)에 기억된 제2 파라미터인 동계 기간의 종료 시기까지의 동계 기간은, 로봇의 온도가 소정 온도보다 낮은 것이 상정되는 기간으로서 미리 정해진 기간의 일례이다. 본 제4 실시 형태에 있어서, 현재 날짜가 파라미터 기억부(76)에 기억된 제1 파라미터인 동계 기간의 개시 시기와 제2 파라미터인 동계 기간의 종료 시기 사이에 있다는 조건은, 로봇의 온도가 소정 온도보다 낮은 것을 나타내는 미리 정해진 조건의 일례이다. 본 제4 실시 형태에 있어서, 역치 설정부(78)는, 검지 제어부의 일례이다.
변동값 산출부(79)는, 용접 로봇(10)이, 전원 ON된 후, 또는, 파라미터 기억부(76)에 기억된 제3 파라미터인 정지 시간 역치 t0 이상 용접 로봇(10)이 정지한 후, 서보 모터의 동작 개시로부터의 누적 서보 ON 시간을 카운트한다. 변동값 산출부(79)는, 카운트한 누적 서보 ON 시간이, 변동값 기억부(77)에 기억된 제2 변동값인 시간 T2를 경과하고 나서, 변동값 기억부(77)에 기억된 제1 변동값인 시간 T1에 도달할 때까지, 그 시점에서의 판정값 산출부(73)에 의해 산출된 충돌 판정값이 최대이면, 이것을 제3 변동값인 최대 판정값으로서, 변동값 기억부(77)에 기억한다.
변동값 산출부(79)는, 용접 로봇(10)이, 전원 ON된 후, 또는, 파라미터 기억부(76)에 기억된 제3 파라미터인 정지 시간 역치 t0 이상 용접 로봇(10)이 정지한 후, 서보 모터의 동작 개시로부터의 누적 서보 ON 시간이, 변동값 기억부(77)에 기억된 제1 변동값인 시간 T1에 도달한 시점에서, 변동값 기억부(77)에 기억된 최대 판정값이, 통상의 역치보다도 크고, 또한, 파라미터 기억부(76)에 기억된 제6 파라미터인 값 ΔTh를 통상의 역치(초깃값의 일례에 상당)에 가산한 역치(증댓값의 일례에 상당)보다도 작은 경우에는, 변동값 기억부(77)에 기억된 제1 변동값인 시간 T1에, 파라미터 기억부(76)에 기억된 제4 파라미터인 시간 t1을 가산한다. 이에 의해, 동계 동작을 행하는 시간이 연장된다.
파라미터 기억부(76)가 제5 파라미터로서 시간 t2를 기억하고 있는 경우에는 마찬가지로, 변동값 기억부(77)에 기억된 제2 변동값인 시간 T2에, 파라미터 기억부(76)에 기억된 제5 파라미터인 시간 t2를 가산한다. 이에 의해, 동계 기간 중에 충돌 판정값의 감시를 개시하는 타이밍도, 다시 설정된다.
또한, 여기서는, 변동값 산출부(79)는, 변동값 기억부(77)에 기억된 최대 판정값이, 통상의 역치보다도 크고, 또한, 통상의 역치에 값 ΔTh를 가산한 역치보다도 작은 경우에, 동계 동작을 행하는 시간을 연장하기로 하였지만, 이것에 한정되는 것은 아니다. 변동값 산출부(79)는, 판정값 산출부(73)가 산출한 충돌 판정값이, 통상의 역치에 값 ΔTh를 가산한 역치에 접근한 것을 나타내는 다른 조건이 충족되는 경우에, 동계 동작을 행하는 시간을 연장하는 것으로 해도 된다.
본 제4 실시 형태에 있어서, 변동값 산출부(79)는, 연장 제어부의 일례이다.
여기서, 변동값 산출부(79)는, 제1 파라미터 내지 제6 파라미터의 변경을, 파라미터 기억부(76)에 즉시 반영하는 것으로 한다. 단, 제3 파라미터인 시간 t0이나 제4 파라미터인 시간 t1의 카운트 중에 제1 파라미터 내지 제5 파라미터를 변경한 경우에는, 카운트 종료 후에 변경을 적용하는 것으로 한다.
도 14는 제4 실시 형태에 있어서의 타임 시퀀스도이다. 이 타임 시퀀스도에 있어서, 서보 ON(721) 및 서보 OFF(722)는, 서보 모터가 ON되어 있는 상태 및 서보 모터가 OFF되어 있는 상태의 추이를 나타낸다. 적용 시간(723)은, 동계 동작이 적용되는 시간을 나타낸다. 구체적으로는, 적용 시간(723)은, 서보 모터가 ON으로 된 시점으로부터, 누적 서보 ON 시간이 시간 t1에 도달한 동계 동작의 종료 시점까지를 나타낸다. 충돌 판정값 감시 구간(724)은, 충돌 판정값이 최대인지 여부가 감시되는 구간을 나타낸다. 구체적으로는, 충돌 판정값 감시 구간(724)은, 누적 서보 ON 시간이 시간 t2에 도달한 시점으로부터 시간 t1에 도달한 시점까지를 나타낸다.
리셋 시간(725)은, 서보 모터가 OFF되어 있는 시간을 나타낸다. 리셋 시간(725) 동안은, 누적 서보 ON 시간의 카운트가 정지된다. 리셋 시간(725)이 개시되면, 서보 모터의 정지 시간이 카운트되고, 리셋 시간(725)이 종료되면, 서보 모터의 정지 시간의 카운트값이 제로로 리셋된다. 동계 동작(726) 및 통상 동작(727)은, 각각, 통상보다도 큰 역치가 역치 기억부(74)에 설정되어 있는 기간 및 통상의 역치가 역치 기억부(74)에 설정되어 있는 기간을 나타낸다. 단, 이 타임 시퀀스도에 있어서는, 동계 동작을 행하는 시간의 연장은 고려되어 있지 않다.
도 14에 도시된 바와 같이, 전원이 ON된 후, 서보 모터의 동작 개시로부터의 누적 서보 ON 시간이 시간 t1에 도달할 때까지 동계 동작이 행해진다. 그때, 서보 모터의 동작 개시로부터의 누적 서보 ON 시간이 시간 t2에 도달한 후, 시간 t1에 도달할 때까지의 구간에 있어서는, 충돌 판정값이 그 구간 내에서 최대인지 여부의 판정도 행해진다.
도 14의 우측 단부 부근에 도시된 바와 같이, 서보 모터가 OFF되고 나서 정지 시간 역치 t0이 경과한 후에도, 전원이 ON된 후와 마찬가지로, 동계 동작이 행해진다. 그 후의 도시는 생략되어 있지만, 서보 모터의 동작 개시로부터의 누적 서보 ON 시간이 시간 t1에 도달할 때까지 동계 동작이 행해진다.
도 15는 제4 실시 형태에 있어서의 로봇 컨트롤러(30)의 동작예를 나타낸 흐름도이다.
도 15에 도시된 바와 같이, 로봇 컨트롤러(30)에서는, 먼저, 제어부(71)가, 용접 로봇(10)을 기동한 후, 소정의 동작을 실현하기 위해, 용접 로봇(10)을 모터 구동에 의해 제어한다(스텝 701).
다음에, 추정 토크 산출부(72)가, 용접 로봇(10)에 발생하는 관성력, 원심력, 마찰력 등을 추정하여, 추정 토크를 산출한다(스텝 702).
다음에, 판정값 산출부(73)가, 용접 로봇(10)에 실제로 발생한 토크의 측정값인 실제 토크와, 스텝 702에서 산출된 추정 토크의 토크차로부터, 충돌 판정값을 산출한다(스텝 703).
한편, 로봇 컨트롤러(30)에서는, 역치 설정부(78)가, 파라미터 기억부(76)에 기억된 각종 파라미터와, 변동값 기억부(77)에 기억된 각종 변동값에 기초하여, 역치 기억부(74)에 충돌 판정 역치를 설정한다. 여기에서는, 역치 설정부(78)는, 충돌 판정값이 충돌 판정 역치를 초과하면 충돌하였다고 판정하도록, 충돌 판정 역치를 설정한다.
구체적으로는, 역치 설정부(78)는, 현재 일시가 동계 기간 내에 있는지 여부를 판정한다(스텝 704). 구체적으로는, 역치 설정부(78)는, 계시 기능에 의해 계시하고 있는 현재 일시가, 파라미터 기억부(76)에 기억된 동계 기간의 개시 시기와 종료 시기 사이에 있는지 여부를 판정한다.
먼저, 현재 일시가 동계 기간 내에 있다고 역치 설정부(78)가 판정한 경우(스텝 704에서 "예")에 대하여 설명한다. 이 경우, 역치 설정부(78)는, 전원 ON 후, 또는, 파라미터 기억부(76)에 기억된 시간 t0 이상 용접 로봇(10)이 정지한 후, 동작 개시로부터의 누적 서보 ON 시간이, 변동값 기억부(77)에 기억된 시간 T1에 도달하였는지 여부를 판정한다(스텝 705).
서보 모터의 동작 개시로부터의 누적 서보 ON 시간이 시간 T1에 도달하지 않았다고 변동값 산출부(79)가 판정하면(스텝 705에서 "아니오"), 역치 설정부(78)는, 파라미터 기억부(76)에 기억된 값 ΔTh를 통상의 역치에 가산한 통상보다도 큰 역치를 충돌 판정 역치로서 역치 기억부(74)에 설정한다(스텝 706). 그 후, 역치 설정부(78)는, 동작 개시로부터의 누적 서보 ON 시간이, 변동값 기억부(77)에 기억된 시간 T2에 도달하였는지 여부를 판정한다(스텝 707). 동작 개시로부터의 누적 서보 ON 시간이 시간 T2에 도달하였다고 판정되면(스텝 707에서 "예"), 변동값 산출부(79)가, 스텝 703에서 산출된 충돌 판정값이, 변동값 기억부(77)에 기억된 최대 판정값보다도 큰지 여부를 판정한다(스텝 708).
스텝 703에서 산출된 충돌 판정값이, 변동값 기억부(77)에 기억된 최대 판정값보다도 크다고 변동값 산출부(79)가 판정하면(스텝 708에서 "예"), 변동값 산출부(79)는, 스텝 703에서 산출된 충돌 판정값을 최대 판정값으로서 갱신하여 변동값 기억부(77)에 기억하고(스텝 709), 처리를 스텝 713으로 진행시킨다. 한편, 스텝 703에서 산출된 충돌 판정값이, 변동값 기억부(77)에 기억된 최대 판정값보다도 크다고 변동값 산출부(79)가 판정하지 않으면(스텝 708에서 "아니오"), 변동값 산출부(79)는, 스텝 703에서 산출된 충돌 판정값을 변동값 기억부(77)에 기억하지 않고, 처리를 스텝 713으로 진행시킨다. 또한, 동작 개시로부터의 누적 서보 ON 시간이 시간 T2에 도달하였다고 역치 설정부(78)가 판정하지 않는 경우도(스텝 707에서 "아니오"), 역치 설정부(78)가, 그대로 처리를 스텝 713으로 진행시킨다.
한편, 서보 모터의 동작 개시로부터의 누적 서보 ON 시간이 시간 T1에 도달하였다고 변동값 산출부(79)가 판정하면(스텝 705에서 "예"), 변동값 산출부(79)가, 변동값 기억부(77)에 기억된 최대 판정값이, 통상의 역치보다도 크고, 또한, 파라미터 기억부(76)에 기억된 값 ΔTh를 통상의 역치에 가산한 역치보다도 작은지 여부를 판정한다(스텝 710).
변동값 기억부(77)에 기억된 최대 판정값이, 통상의 역치보다도 크고, 또한 파라미터 기억부(76)에 기억된 값 ΔTh를 통상의 역치에 가산한 역치보다도 작다고 변동값 산출부(79)가 판정하면(스텝 710에서 "예"), 변동값 산출부(79)는, 변동값 기억부(77)에 기억된 시간 T1에, 파라미터 기억부(76)에 기억된 시간 t1을 가산하고(스텝 711), 처리를 스텝 713으로 진행시킨다.
한편, 변동값 기억부(77)에 기억된 최대 판정값이, 통상의 역치보다도 크고, 또한, 파라미터 기억부(76)에 기억된 값 ΔTh를 통상의 역치에 가산한 역치보다도 작다고 변동값 산출부(79)가 판정하지 않으면(스텝 710에서 "아니오"), 변동값 산출부(79)는, 변동값 기억부(77)에 기억된 시간 T1을 변경하지 않고, 역치 설정부(78)가, 역치 기억부(74)에 충돌 판정 역치로서 기억된 통상보다도 큰 역치를, 통상의 역치로 되돌리고(스텝 712), 처리를 스텝 713으로 진행시킨다.
다음에, 현재 일시가 동계 기간 내에 있다고 역치 설정부(78)가 판정하지 않은 경우(스텝 704에서 "아니오")가 설명된다. 이 경우, 역치 설정부(78)는, 통상의 역치를 충돌 판정 역치로서 역치 기억부(74)에 기억하고(스텝 712), 처리를 스텝 713으로 진행시킨다.
그 후, 비교부(75)가, 스텝 703에서 산출된 충돌 판정값과, 스텝 706 또는 스텝 712에서 설정된 충돌 판정 역치를 비교하여, 충돌 판정값이 충돌 판정 역치를 초과하였는지 여부를 판정한다(스텝 713). 충돌 판정값이 충돌 판정 역치를 초과하였다고 판정되지 않으면(스텝 713에서 "아니오"), 제어부(71)는, 처리를 스텝 701로 되돌려, 용접 로봇(10)의 동작을 속행한다. 한편, 충돌 판정값이 충돌 판정 역치를 초과하였다고 판정되면(스텝 713에서 "예"), 제어부(71)는, 용접 로봇(10)을 정지하고(스텝 714), 처리를 종료한다.
그런데, 추정 토크 산출부(72)가 스텝 702에서 추정 토크를 산출할 때 사용하는 모터 입력, 및 판정값 산출부(73)가 스텝 703에서 충돌 판정값을 산출할 때 사용하는 실제 토크에는, 노이즈가 포함되는 경우가 많다. 따라서, 외란 추정 옵저버에 의해 외란 토크를 직접 추정해도 된다. 외란 추정 옵저버는, 공지의 구성을 갖고, 원심력 및 마찰 등에 기초하는 부하 토크와, 관성 모멘트의 변동 및 모터의 토크 리플 등에 기초하는 변동 토크의 합계인 외란 토크를 추정한다. 그 경우, 도 13에서는, 추정 토크 산출부(72) 대신에, 외란 추정 옵저버를 마련하면 된다. 또한, 도 15에서는, 스텝 702를, 외란 추정 옵저버에 의해 외란 토크를 추정하는 스텝으로 변경하고, 스텝 703을, 스텝 702에서 추정된 외란 토크를 충돌 판정값으로 하는 스텝으로 변경하면 된다.
도 16a, 도 16b는, 각각, 역치 기억부(74)에 기억된 충돌 판정 역치의 상태를 표시하는 화면예를 도시한 도면이다.
도 16a는 통상 동작이 행해졌을 때의 화면(741)을 도시한다. 도 16a에 도시된 바와 같이, 화면(741)에서는, 역치란(742)에 있어서, 각 축에 대하여, 통상 동작용의 충돌 판정 역치로서, 통상의 역치 「50」이 설정되어 있다.
도 16b는 동계 동작이 행해졌을 때의 화면(751)을 도시한다. 도 16b에 도시한 바와 같이, 화면(751)에서는, 역치란(752)에 있어서, 각 축에 대하여, 동계 동작용의 충돌 판정 역치로서, 통상의 역치 「50」의 60% 증가인 통상보다도 큰 역치 「80」이 설정되어 있다. 이와 같이 동계 동작용의 충돌 판정 역치가 설정되어 있는 것은, 역치란(752)을, 도 16a의 역치란(742)과는 다른 양태로 표시함으로써 나타내면 된다. 도 16b의 예에서는, 역치란(752)은, 굵은 프레임으로 둘러싸서 표시되어 있다.
또한, 도 16a의 화면(741) 및 도 16b의 화면(751)에 있어서, 「현잿값」은 현재의 충돌 판정값의 순시값을 나타내고 있다. 한편, 「최댓값」은 지금까지의 충돌 판정값의 최댓값을 나타내고 있다. 이 최댓값이 충돌 판정 역치에 대하여 충분히 작으면, 정상적으로 동작하고 있음을 나타내고 있다. 또한 역치를 결정할 때, 이 일련의 동작을 행하였을 때의 최댓값에 대하여 여유를 갖고 큰 값을 역치에 부여하면 되고, 최댓값은 역치의 결정에 대하여 참고로 할 수 있다.
이상 설명된 바와 같이, 제4 실시 형태에 따르면, 현재 일시가 동계 기간이며, 또한, 누적 서보 ON 시간이 시간 t1에 도달하지 않았을 때는, 로봇(10)의 온도가 낮다고 판단하여, 충돌 판정 역치를 크게 하고 있기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
본 명세서는, 상기와 같이 다양한 양태의 기술을 개시하고 있지만, 그 중 주된 기술을 이하에 정리한다.
본 개시의 제1 양태는, 로봇 제어 장치이며,
로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하는 검지부와,
상기 로봇을 동작시키고, 상기 검지부에 의해 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하는 로봇 제어부와,
상기 로봇의 온도가 낮음을 나타내는 미리 정해진 조건이 충족되면, 상기 미리 정해진 조건이 충족되지 않을 때에 비해 상기 충돌 검지 감도를 저하시키는 검지 제어부를 구비하는 것이다.
본 개시의 제2 양태는, 로봇 제어 방법이며,
로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하는 검지 스텝과,
상기 로봇을 동작시키고, 상기 검지 스텝에 있어서 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하는 로봇 제어 스텝과,
상기 로봇의 온도가 낮음을 나타내는 미리 정해진 조건이 충족되면, 상기 미리 정해진 조건이 충족되지 않을 때에 비해 상기 충돌 검지 감도를 저하시키는 검지 제어 스텝을 구비하는 것이다.
본 개시의 제3 양태는, 로봇 제어 프로그램이며,
로봇의 컴퓨터에,
상기 로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하는 검지 기능과,
상기 로봇을 동작시키고, 상기 검지 기능에 의해 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하는 로봇 제어 기능과,
상기 로봇의 온도가 낮음을 나타내는 미리 정해진 조건이 충족되면, 상기 미리 정해진 조건이 충족되지 않을 때에 비해 상기 충돌 검지 감도를 저하시키는 검지 제어 기능을 실현시키는 것이다.
제1 양태 또는 제2 양태 또는 제3 양태에서는, 로봇의 온도가 낮음을 나타내는 미리 정해진 조건이 충족되면, 미리 정해진 조건이 충족되지 않을 때에 비해, 충돌 검지 감도가 저하된다. 로봇의 온도가 낮은 경우에는, 로봇의 구동부에 있어서의 마찰력이 증대되기 때문에, 충돌 검지 감도가 변화되지 않으면, 충돌을 오검지할 가능성이 높아진다. 이에 반해, 제1 양태 또는 제2 양태 또는 제3 양태에 의하면, 로봇의 온도가 낮은 경우에는, 충돌 검지 감도가 저하되기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
상기 제1 양태에 있어서, 예를 들어
상기 미리 정해진 조건은, 상기 로봇의 실제로 측정된 온도인 측정 온도가 낮다고 하는 조건이어도 된다.
이 양태에 의하면, 미리 정해진 조건은, 로봇의 실제의 측정 온도가 낮다고 하는 조건이기 때문에, 로봇의 온도가 낮은 것을, 보다 확실하게 나타낼 수 있다.
상기 제1 양태에 있어서, 예를 들어,
상기 검지 제어부는, 상기 측정 온도가 미리 정해진 온도보다도 낮을 때, 상기 미리 정해진 온도 이상일 때에 비해 상기 충돌 검지 감도를 저하시켜도 된다.
이 양태에서는, 측정 온도가 미리 정해진 온도보다도 낮을 때, 미리 정해진 온도 이상일 때에 비해, 충돌 검지 감도가 저하된다. 로봇의 온도가 미리 정해진 온도보다도 낮은 경우에는, 로봇의 구동부에 있어서의 마찰력이 증대되기 때문에, 충돌 검지 감도가 변화되지 않으면, 충돌을 오검지할 가능성이 높아진다. 이에 반해, 이 양태에 의하면, 측정 온도가 미리 정해진 온도보다도 낮을 때, 미리 정해진 온도 이상일 때에 비해, 충돌 검지 감도가 저하되기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
상기 양태에 있어서, 예를 들어,
상기 검지부는, 상기 로봇의 추정 토크와 실제 토크의 토크차 또는 상기 로봇으로부터 직접 추정된 외란 토크가 소정 역치를 초과한 경우에, 상기 충돌을 검지하고,
상기 검지 제어부는, 상기 측정 온도가 상기 미리 정해진 온도보다도 낮을 때, 상기 미리 정해진 온도 이상일 때에 비해 상기 소정 역치를 크게 하는 것이어도 된다.
이 양태에 의하면, 측정 온도가 미리 정해진 온도보다도 낮을 때, 미리 정해진 온도 이상일 때에 비해 소정 역치가 크게 된다. 따라서, 측정 온도가 미리 정해진 온도보다도 낮아져, 토크차 또는 외란 토크가 커져도, 소정 역치가 크게 되어 있기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
상기 양태에 있어서, 예를 들어,
상기 검지 제어부는, 상기 측정 온도가 낮을수록 상기 충돌 검지 감도를 저하시키는 것이어도 된다.
이 양태에 의하면, 측정 온도가 낮을수록, 충돌 검지 감도가 저하되기 때문에, 로봇의 온도가, 보다 낮아진 경우에도, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
상기 양태에 있어서, 예를 들어,
상기 검지부는, 상기 로봇의 추정 토크와 실제 토크의 토크차 또는 상기 로봇으로부터 직접 추정된 외란 토크가 소정 역치를 초과한 경우에, 상기 충돌을 검지하고,
상기 검지 제어부는, 상기 측정 온도가 낮을수록 상기 소정 역치를 크게 하는 것이어도 된다.
이 양태에 의하면, 측정 온도가 낮을수록 소정 역치가 크게 된다. 따라서, 로봇의 온도가, 보다 낮아져, 토크차 또는 외란 토크가, 보다 커진 경우에도, 소정 역치가, 보다 크게 되어 있기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
상기 양태에 있어서, 예를 들어,
상기 미리 정해진 조건은, 상기 로봇의 온도가 낮은 것이 상정되는 기간으로서 미리 정해진 기간 내에 현재 일시가 포함된다고 하는 조건이어도 된다.
이 양태에 의하면, 미리 정해진 조건은, 로봇의 온도가 낮은 것이 상정되는 기간으로서 미리 정해진 기간 내에, 현재 일시가 포함된다고 하는 조건이기 때문에, 미리 정해진 조건으로서, 로봇의 온도가 낮은 것을, 보다 간이하게 나타낼 수 있다.
상기 양태에 있어서, 예를 들어,
상기 검지 제어부는, 상기 로봇의 전원이 온된 후 또는 상기 로봇의 서보 모터가 소정의 정지 시간 이상 오프된 후에, 상기 서보 모터가 온되어 있는 누적의 시간이, 미리 정해진 시간에 도달하기 전에는, 상기 미리 정해진 시간에 도달한 후에 비해 상기 충돌 검지 감도를 저하시키는 것이어도 된다.
로봇의 전원이 온된 후 또는 로봇의 서보 모터가 소정의 정지 시간 이상 오프된 후에, 서보 모터가 온되어 있는 누적의 시간이, 미리 정해진 시간에 도달하기 전에는, 로봇의 온도가 낮은 상태가 유지되고 있다고 생각된다. 이 경우, 이 양태에 의하면, 미리 정해진 시간에 도달한 후에 비해 충돌 검지 감도가 저하되기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
상기 양태에 있어서, 예를 들어,
상기 검지부는, 상기 로봇의 추정 토크와 실제 토크의 토크차 또는 상기 로봇으로부터 직접 추정된 외란 토크가 소정 역치를 초과한 경우에, 상기 충돌을 검지하고,
상기 검지 제어부는, 상기 로봇의 전원이 온된 후 또는 상기 로봇의 서보 모터가 소정의 정지 시간 이상 오프된 후에, 상기 서보 모터가 온되어 있는 누적의 시간이, 상기 미리 정해진 시간에 도달하기 전에는 상기 소정 역치를 초깃값보다 큰 증댓값으로 변경하고, 상기 미리 정해진 시간에 도달한 후에는 상기 소정 역치를 상기 초깃값으로 되돌리는 것이어도 된다.
로봇의 전원이 온된 후 또는 로봇의 서보 모터가 소정의 정지 시간 이상 오프된 후에, 서보 모터가 온되어 있는 누적의 시간이, 미리 정해진 시간에 도달하기 전에는, 로봇의 온도가 낮은 상태로 유지되어 있다고 생각된다. 이 경우, 이 양태에 의하면, 미리 정해진 시간에 도달하기 전에는 소정 역치가 초깃값보다 큰 증댓값으로 변경되기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다. 한편, 미리 정해진 시간에 도달한 후에는 소정 역치가 초깃값으로 되돌려지기 때문에, 충돌을 검지할 수 없을 가능성을 낮게 할 수 있다.
상기 양태에 있어서, 예를 들어
상기 서보 모터가 온되어 있는 누적의 시간이 상기 미리 정해진 시간에 도달하기 전의 소정의 감시 시간에 있어서, 상기 토크차 또는 상기 외란 토크와, 상기 증댓값의 차가 소정값 미만인 경우에, 당해 미리 정해진 시간을 연장하는 연장 제어부를 더 구비하는 것이어도 된다.
서보 모터가 온되어 있는 누적의 시간이 미리 정해진 시간에 도달하기 전의 소정의 감시 시간에 있어서, 토크차 또는 외란 토크와, 증댓값의 차가 소정값 미만인 경우에는, 로봇의 온도가 낮은 상태로 유지되어 있을 가능성이 높다고 생각된다. 그래서, 이 양태에 의하면, 미리 정해진 시간이 연장되어, 소정 역치가 증댓값으로 변경된 상태가 계속되기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
상기 양태에 있어서, 예를 들어,
상기 연장 제어부는, 상기 토크차 또는 상기 외란 토크의 최댓값이, 상기 초깃값을 초과하였지만 상기 증댓값 미만인 경우에, 상기 토크차 또는 상기 외란값과 상기 증댓값의 차가 상기 소정값 미만이라고 판정하는 것이어도 된다.
토크차 또는 외란 토크의 최댓값이 초깃값을 초과하였지만 증댓값 미만이면, 로봇의 온도가 낮은 상태로 유지되어 있을 가능성이 높다고 생각된다. 그래서, 이 양태에 의하면, 토크차 또는 외란 토크의 최댓값이 초깃값을 초과하였지만 증댓값 미만인 경우에, 토크차 또는 외란 토크와 증댓값의 차가 소정값 미만으로 판정되어, 미리 정해진 시간이 연장된다. 따라서, 미리 정해진 시간의 연장을 간이하게 판정할 수 있다.
본 개시의 제4 양태는, 로봇 제어 장치이며,
로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하는 검지부와,
상기 로봇을 동작시키고, 상기 검지부에 의해 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하는 로봇 제어부와,
상기 로봇에 발생하는 마찰을 모델화한 마찰 모델을, 소정의 행렬을 사용하여 동정하여, 상기 로봇의 추정 토크를 구하는 추정부와,
상기 소정의 행렬에 기초하여, 상기 마찰 모델의 동정의 진행 정도를 구하는 동정 진행도 산출부와,
상기 진행도가 작으면 상기 충돌 검지 감도를 저하시키는 검지 제어부를 구비하는 것이다.
본 개시의 제5 양태는, 로봇 제어 방법이며,
로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하는 검지 스텝과,
상기 로봇을 동작시키고, 상기 검지 스텝에 있어서 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하는 로봇 제어 스텝과,
상기 로봇에 발생하는 마찰을 모델화한 마찰 모델을, 소정의 행렬을 사용하여 동정하여, 상기 로봇의 추정 토크를 구하는 추정 스텝과,
상기 소정의 행렬에 기초하여, 상기 마찰 모델의 동정의 진행 정도를 구하는 동정 진행도 산출 스텝과,
상기 진행도가 작으면 상기 충돌 검지 감도를 저하시키는 검지 제어 스텝을 구비하는 것이다.
본 개시의 제6 양태는, 로봇 제어 프로그램이며,
로봇의 컴퓨터에,
로봇과 다른 물체의 충돌을 소정의 충돌 검지 감도로 검지하는 검지 기능과,
상기 로봇을 동작시키고, 상기 검지 기능에 의해 상기 충돌이 검지되면 상기 로봇을 정지시키도록 제어하는 로봇 제어 기능과,
상기 로봇에 발생하는 마찰을 모델화한 마찰 모델을, 소정의 행렬을 사용하여 동정하여, 상기 로봇의 추정 토크를 구하는 추정 기능과,
상기 소정의 행렬에 기초하여, 상기 마찰 모델의 동정의 진행 정도를 구하는 동정 진행도 산출 기능과,
상기 진행도가 작으면 상기 충돌 검지 감도를 저하시키는 검지 제어 기능을 실현시키는 것이다.
제4 양태 또는 제5 양태 또는 제6 양태에서는, 마찰 모델의 동정의 진행 정도가 작으면 충돌 검지 감도가 저하된다. 마찰 모델의 동정의 진행 정도가 작으면, 로봇의 구동부에 있어서의 마찰력을 정확하게 추정할 수 없기 때문에, 로봇의 추정 토크를 정확하게 추정할 수 없고, 그 결과, 충돌 검지 감도가 변화되지 않으면, 충돌을 오검지할 가능성이 높아진다. 이에 반해, 제4 양태 또는 제5 양태 또는 제6 양태에 의하면, 마찰 모델의 동정의 진행 정도가 작으면 충돌 검지 감도가 저하되기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
상기 제4 양태에 있어서, 예를 들어,
상기 추정부는, 상기 소정의 행렬로서, 시각 스텝 k에 있어서의 행렬 Ak, Bk를 사용하여, AkXk=Bk로 표시되는 마찰 모델 Xk를 동정하고,
상기 동정 진행도 산출부는, 행렬 Ak TAk의 대각 요소를 사용하여 산출되는 지표에 기초하여, 상기 진행도를 구하는 것이어도 된다.
이 양태에 의하면, 행렬 Ak TAk의 대각 요소를 사용하여 산출되는 지표에 기초하여, 마찰 모델의 동정의 진행 정도가 구해지기 때문에, 마찰 모델의 동정의 진행 정도를, 간이하게 구할 수 있다.
상기 양태에 있어서, 예를 들어,
상기 지표는, 상기 행렬 Ak TAk의, 트레이스의 값, 특이값, 1행1열 요소, 및 조건수 중 1개 또는 적어도 2개의 조합이어도 된다.
이 양태에 의하면, 행렬 Ak TAk의, 트레이스의 값, 특이값, 1행1열 요소, 및 조건수 중 1개 또는 적어도 2개의 조합에 기초하여, 마찰 모델의 동정의 진행 정도를, 간이하게 구할 수 있다.
상기 양태에 있어서, 예를 들어,
상기 검지 제어부는, 상기 진행도가 미리 정해진 값보다도 작을 때, 상기 미리 정해진 값 이상일 때에 비해 상기 충돌 검지 감도를 저하시켜도 된다.
이 양태에서는, 마찰 모델의 동정의 진행 정도가 미리 정해진 값보다도 작을 때, 미리 정해진 값 이상일 때에 비해 충돌 검지 감도가 저하된다. 마찰 모델의 동정의 진행 정도가 미리 정해진 값보다도 작을 때는, 로봇의 구동부에 있어서의 마찰력을 정확하게 추정할 수 없기 때문에, 로봇의 추정 토크를 정확하게 추정할 수 없고, 그 결과, 충돌 검지 감도가 변화되지 않으면, 충돌을 오검지할 가능이 높아진다. 이에 반해, 이 양태에 의하면, 마찰 모델의 동정의 진행 정도가 미리 정해진 값보다도 작을 때, 미리 정해진 값 이상일 때에 비해 충돌 검지 감도가 저하되기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
상기 양태에 있어서, 예를 들어,
상기 검지부는, 상기 로봇의 추정 토크와 실제 토크의 토크차가 소정 역치를 초과한 경우에, 상기 충돌을 검지하고,
상기 검지 제어부는, 상기 진행도가 상기 미리 정해진 값 미만일 때는, 상기 미리 정해진 값 이상일 때에 비해 상기 소정 역치를 크게 하는 것이어도 된다.
이 양태에 의하면, 마찰 모델의 동정의 진행 정도가 미리 정해진 값 미만일 때는, 미리 정해진 값 이상일 때에 비해 소정 역치가 크게 된다. 따라서, 마찰 모델의 동정의 진행 정도가 미리 정해진 값 미만일 때, 토크차가 커져도, 소정 역치가 크게 되어 있기 때문에, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
상기 양태에 있어서, 예를 들어,
상기 검지 제어부는, 상기 로봇의 실제로 측정된 온도인 측정 온도가 낮으면 상기 충돌 검지 감도를 저하시키는 것이어도 된다.
이 양태에 의하면, 측정 온도가 낮으면 충돌 검지 감도가 저하된다. 이 때문에, 로봇의 온도가 낮을 때, 충돌을 오검지할 가능성이 높아지는 것을 방지할 수 있다.
본 발명의 실시 형태가 상세하게 도시되고, 또한, 설명되었지만, 그것은 단순한 도시예 및 실례이며 한정은 아니다. 본 발명의 범위는, 첨부된 클레임의 문언에 의해 해석되어야 한다.
2018년 8월 2일에 제출된 일본 특허 출원 번호 제2018-146103호의 전체의 개시는, 그 전체에 있어서 참조에 의해 여기에 포함된다.
본 개시의 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램은, 산업용 로봇을 제어하는 장치에 사용된다.
Claims (21)
- 로봇의 충돌을 검지하는 검지부와,
상기 로봇을 동작시키고, 상기 검지부에 의한 상기 로봇의 충돌 검지에 따라 상기 로봇을 정지시키도록 제어하는 제어부와,
상기 로봇의 온도가 낮음을 나타내는 미리 정해진 조건으로서, 상기 로봇의 온도가 낮을 것으로 상정되는 기간으로서 미리 정해진 기간 내에 현재 일시가 포함된다는 조건이 만족되면, 상기 로봇의 충돌을 검지하기 어려워지도록 상기 검지부를 제어하는 검지 제어부를 구비하고,
상기 검지 제어부는, 장치의 전원이 온된 후 또는 상기 로봇의 서보가 일정 시간 오프된 후에, 상기 로봇의 서보가 온되어 있는 누적 시간이, 미리 정해진 시간에 도달하지 못한 경우에, 상기 로봇의 충돌을 검지하기 어려워지도록 상기 검지부를 제어하는 것을 특징으로 하는 로봇 제어 장치. - 제1항에 있어서,
상기 검지부는, 상기 로봇의 추정 토크와 실제 토크의 차이 또는 상기 로봇으로부터 직접 추정된 외란값이 역치를 초과한 경우에, 상기 로봇의 충돌을 검지하고,
상기 검지 제어부는, 장치의 전원이 온된 후 또는 상기 로봇의 서보가 일정 시간 오프된 후에, 상기 로봇의 서보가 온되어 있는 누적 시간이, 상기 미리 정해진 시간에 도달하지 못한 경우에, 상기 역치를 크게 하는 것을 특징으로 하는 로봇 제어 장치. - 제2항에 있어서,
상기 미리 정해진 시간에 도달하기 전의 일정 시간에 있어서, 상기 로봇의 추정 토크와 실제 토크의 차이 또는 상기 로봇으로부터 직접 추정된 외란값이, 커진 후의 상기 역치에 가까운 경우에, 상기 미리 정해진 시간을 연장하는 연장부를 더 구비하는 로봇 제어 장치. - 제3항에 있어서,
상기 연장부는, 상기 로봇의 추정 토크와 실제 토크의 차이 또는 상기 로봇으로부터 직접 추정된 외란값의 최댓값이, 커지기 전의 상기 역치를 초과하지만, 커진 후의 상기 역치는 초과하지 않는 경우에, 커진 후의 상기 역치에 가깝다고 판정하는 것을 특징으로 하는 로봇 제어 장치. - 삭제
- 삭제
- 로봇의 충돌을 검지하는 검지 스텝과,
상기 로봇을 동작시키고, 상기 검지 스텝에서의 상기 로봇의 충돌 검지에 따라 상기 로봇을 정지시키도록 제어하는 제어 스텝과,
상기 로봇의 온도가 낮음을 나타내는 미리 정해진 조건으로서, 상기 로봇의 온도가 낮을 것으로 상정되는 기간으로서 미리 정해진 기간 내에 현재 일시가 포함된다는 조건이 만족되면, 상기 로봇의 충돌을 검지하기 어려워지도록 상기 검지 스텝을 제어하는 검지 제어 스텝을 포함하고,
상기 검지 제어 스텝에서는, 장치의 전원이 온된 후 또는 상기 로봇의 서보가 일정 시간 오프된 후에, 상기 로봇의 서보가 온되어 있는 누적 시간이, 미리 정해진 시간에 도달하지 못한 경우에, 상기 로봇의 충돌을 검지하기 어려워지도록 상기 검지 스텝을 제어하는 것을 특징으로 하는 로봇 제어 방법. - 삭제
- 컴퓨터에,
로봇의 충돌을 검지하는 검지 기능과,
상기 로봇을 동작시키고, 상기 검지 기능에 의한 상기 로봇의 충돌 검지에 따라 상기 로봇을 정지시키도록 제어하는 제어 기능과,
상기 로봇의 온도가 낮음을 나타내는 미리 정해진 조건으로서, 상기 로봇의 온도가 낮을 것으로 상정되는 기간으로서 미리 정해진 기간 내에 현재 일시가 포함된다는 조건이 만족되면, 상기 로봇의 충돌을 검지하기 어려워지도록 상기 검지 기능을 제어하는 검지 제어 기능을 실현시키고,
상기 검지 제어 기능은, 장치의 전원이 온된 후 또는 상기 로봇의 서보가 일정 시간 오프된 후에, 상기 로봇의 서보가 온되어 있는 누적 시간이, 미리 정해진 시간에 도달하지 못한 경우에, 상기 로봇의 충돌을 검지하기 어려워지도록 상기 검지 기능을 제어하는 컴퓨터로 판독가능한 매체에 저장된 로봇 제어 프로그램. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020227036407A KR102470437B1 (ko) | 2018-08-02 | 2019-07-30 | 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018146103A JP7105646B2 (ja) | 2018-08-02 | 2018-08-02 | ロボット制御装置、ロボット制御方法及びプログラム |
JPJP-P-2018-146103 | 2018-08-02 | ||
PCT/JP2019/029808 WO2020027118A1 (ja) | 2018-08-02 | 2019-07-30 | ロボット制御装置、ロボット制御方法及びロボット制御プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227036407A Division KR102470437B1 (ko) | 2018-08-02 | 2019-07-30 | 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210030423A KR20210030423A (ko) | 2021-03-17 |
KR102469653B1 true KR102469653B1 (ko) | 2022-11-22 |
Family
ID=69232536
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227036407A KR102470437B1 (ko) | 2018-08-02 | 2019-07-30 | 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램 |
KR1020217003887A KR102469653B1 (ko) | 2018-08-02 | 2019-07-30 | 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227036407A KR102470437B1 (ko) | 2018-08-02 | 2019-07-30 | 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11813755B2 (ko) |
EP (1) | EP3808516A4 (ko) |
JP (1) | JP7105646B2 (ko) |
KR (2) | KR102470437B1 (ko) |
CN (1) | CN112437714B (ko) |
WO (1) | WO2020027118A1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116018244A (zh) * | 2020-10-05 | 2023-04-25 | 三菱电机株式会社 | 机器人的碰撞检测装置 |
JP7447314B2 (ja) * | 2020-12-07 | 2024-03-11 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、情報処理方法およびプログラム |
KR102521151B1 (ko) * | 2021-05-26 | 2023-04-13 | 주식회사 뉴로메카 | 충돌감지 기능을 갖는 협동로봇 및 협동로봇의 충돌감지 방법 |
JPWO2023058203A1 (ko) | 2021-10-07 | 2023-04-13 | ||
WO2024003970A1 (ja) * | 2022-06-27 | 2024-01-04 | ファナック株式会社 | ロボット制御装置およびロボットシステム |
KR102659130B1 (ko) * | 2022-06-29 | 2024-04-24 | 한국표준과학연구원 | 접촉 위치와 힘 측정이 가능한 로봇팔 장착용 안전외피 |
JP7398024B1 (ja) | 2023-07-04 | 2023-12-13 | 株式会社ユーシン精機 | 衝突検知方法及び衝突検知システム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007286904A (ja) * | 2006-04-17 | 2007-11-01 | Fanuc Ltd | 電動機の制御装置及び制御方法 |
JP2015090779A (ja) * | 2013-11-05 | 2015-05-11 | 本田技研工業株式会社 | 燃料電池システム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03250307A (ja) * | 1990-02-28 | 1991-11-08 | Canon Inc | 剛物体の経路制御装置 |
JPH1115511A (ja) * | 1997-06-20 | 1999-01-22 | Fanuc Ltd | ロボットの衝突検知方式 |
JP3878054B2 (ja) | 2001-05-08 | 2007-02-07 | 三菱電機株式会社 | ロボット制御装置 |
JP2006263916A (ja) * | 2001-05-08 | 2006-10-05 | Mitsubishi Electric Corp | ロボット制御装置 |
EP1652634B1 (en) * | 2003-07-29 | 2011-12-28 | Panasonic Corporation | Robot arm control method and control device |
JP4335286B2 (ja) | 2008-02-08 | 2009-09-30 | ファナック株式会社 | 部品保護機能を備えたロボット制御装置及びロボット制御方法 |
JP5912683B2 (ja) | 2012-03-07 | 2016-04-27 | 株式会社神戸製鋼所 | モータ駆動構造を備えたシステム、モータ駆動構造のシステムに用いられるプログラム、および溶接物製造方法 |
FR3002048B1 (fr) * | 2013-02-14 | 2016-07-01 | Commissariat Energie Atomique | Procede de detection amelioree de collision d'un robot avec son environnement, systeme et produit programme d'ordinateur mettant en œuvre le procede |
US10690558B2 (en) * | 2015-09-16 | 2020-06-23 | Panasonic Intellectual Property Management Co., Ltd. | Robot collision detection method |
JP2018146103A (ja) | 2017-03-09 | 2018-09-20 | 株式会社ジェイテクト | 電磁弁装置 |
CN112041125B (zh) * | 2018-05-10 | 2023-11-24 | 松下知识产权经营株式会社 | 机器人的控制方法 |
-
2018
- 2018-08-02 JP JP2018146103A patent/JP7105646B2/ja active Active
-
2019
- 2019-07-30 EP EP19843354.2A patent/EP3808516A4/en not_active Withdrawn
- 2019-07-30 CN CN201980048053.1A patent/CN112437714B/zh active Active
- 2019-07-30 KR KR1020227036407A patent/KR102470437B1/ko active IP Right Grant
- 2019-07-30 US US17/253,973 patent/US11813755B2/en active Active
- 2019-07-30 KR KR1020217003887A patent/KR102469653B1/ko active IP Right Grant
- 2019-07-30 WO PCT/JP2019/029808 patent/WO2020027118A1/ja unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007286904A (ja) * | 2006-04-17 | 2007-11-01 | Fanuc Ltd | 電動機の制御装置及び制御方法 |
JP2015090779A (ja) * | 2013-11-05 | 2015-05-11 | 本田技研工業株式会社 | 燃料電池システム |
Also Published As
Publication number | Publication date |
---|---|
WO2020027118A1 (ja) | 2020-02-06 |
KR20220148310A (ko) | 2022-11-04 |
CN112437714A (zh) | 2021-03-02 |
CN112437714B (zh) | 2023-12-26 |
EP3808516A1 (en) | 2021-04-21 |
US20210268657A1 (en) | 2021-09-02 |
JP2020019117A (ja) | 2020-02-06 |
KR20210030423A (ko) | 2021-03-17 |
EP3808516A4 (en) | 2022-01-19 |
JP7105646B2 (ja) | 2022-07-25 |
KR102470437B1 (ko) | 2022-11-25 |
US11813755B2 (en) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102469653B1 (ko) | 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램 | |
EP3173891B1 (en) | Control device, control program, and recording medium | |
JP5198514B2 (ja) | ロボット制御装置 | |
JP4109280B2 (ja) | サーボモータによって駆動制御される可動部を有する機械 | |
JP5490304B2 (ja) | 放電加工装置および放電加工システム | |
KR101443502B1 (ko) | 모터 구동 구조를 구비한 시스템, 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 및 용접물 제조 방법 | |
JP5269262B1 (ja) | 数値制御装置 | |
CN104742125A (zh) | 人协同型工业用机器人的外力判定方法和外力判定装置 | |
CN110832422A (zh) | 机器学习装置、校正参数调整装置及机器学习方法 | |
JP6888564B2 (ja) | モデル予測制御装置、モデル予測制御装置の制御方法、情報処理プログラム、および記録媒体 | |
CN110614537B (zh) | 调整必要性判断装置 | |
EP4001570A1 (en) | Pinch detection based on motor current increase | |
JP2008183680A (ja) | 負荷機械の制御装置とその衝突検出しきい値更新方法 | |
CN112276937A (zh) | 故障预测*** | |
CN114589694A (zh) | 一种机器人碰撞检测阈值更新方法、装置与存储介质 | |
JP2019100353A (ja) | 制御システム、機械学習装置、メンテナンス支援装置、データの生成方法、及びメンテナンス支援方法 | |
US11992953B2 (en) | Abnormality determination device and abnormality determination method | |
JP6985180B2 (ja) | 数値制御装置 | |
JPWO2016207980A1 (ja) | 消費電力量推定装置 | |
JP2020125671A (ja) | 開閉システム | |
JP6385777B2 (ja) | 電子体温計 | |
CN112105489B (zh) | 异常检测装置和异常检测方法 | |
JP2018190079A (ja) | 制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |