KR102645792B1 - 로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법 - Google Patents

로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법 Download PDF

Info

Publication number
KR102645792B1
KR102645792B1 KR1020240024051A KR20240024051A KR102645792B1 KR 102645792 B1 KR102645792 B1 KR 102645792B1 KR 1020240024051 A KR1020240024051 A KR 1020240024051A KR 20240024051 A KR20240024051 A KR 20240024051A KR 102645792 B1 KR102645792 B1 KR 102645792B1
Authority
KR
South Korea
Prior art keywords
amount
robot manipulator
torque
impact
detection device
Prior art date
Application number
KR1020240024051A
Other languages
English (en)
Other versions
KR20240026170A (ko
Inventor
이준영
김무림
신동관
지대근
장원보
Original Assignee
한국로봇융합연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국로봇융합연구원 filed Critical 한국로봇융합연구원
Priority to KR1020240024051A priority Critical patent/KR102645792B1/ko
Publication of KR20240026170A publication Critical patent/KR20240026170A/ko
Application granted granted Critical
Publication of KR102645792B1 publication Critical patent/KR102645792B1/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J17/00Joints
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis

Abstract

로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법이 개시된다. 검출장치는 로봇 매니퓰레이터의 모터에 대한 전류량을 수신하는 인터페이스부 및 기 전류량을 이용하여 로봇 매니퓰레이터의 관절에 대한 현재 시점의 토크 및 이전 시점의 토크를 산출하고, 현재 시점의 토크 및 이전 시점의 토크에 대한 토크 변화량을 로봇 기구학에 의해 결정되는 자코비안 행렬에 적용하여 외부와의 충돌로 발생되는 힘인 충격량을 산출하는 제어부를 포함한다.

Description

로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법{Detecting device and method for calculating amount of impact of robot manipulator}
본 발명은 충격량 검출 기술에 관한 것으로, 더욱 상세하게는 외부 충격으로부터 로봇 매니퓰레이터에 발생되는 충격량을 산출하는 로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법에 관한 것이다.
최근 로봇 매니퓰레이터를 이용한 작업은 많은 분야에서 사용 중에 있으며, 그 핵심은 다양한 환경과의 상호작용에 있다. 이러한 작업은 접촉과 비접촉 작업으로 나눌 수 있고, 접촉 작업에 대한 수유가 꾸준히 증가하고 있어 협동 로봇과 같이 환경 및 사람과의 접촉이 용이한 로봇에 대한 연구가 활발히 이루어지고 있다.
접촉 작업의 경우, 접촉면에서의 다양한 상호작용을 위해 로봇 말단에서 환경에 가하는 힘을 제어하거나 운동의 구속이 필요하다. 이 과정에서 로봇은 비접촉에서 접촉으로 넘어가는 천이과정을 필요로 한다. 이때 로봇이 사람 및 환경과의 상호작용을 위해 접근을 시도하고, 로봇 말단과 접촉 지점의 위치 오차 등에 의해 충돌이 발생하게 된다. 이러한 충돌에 의해 사람이 다치거나 로봇 말단의 장치 및 작업 대상의 손상을 유발할 수 있다.
이를 극복하기 위해 충격량을 검출하고 힘 제어를 수행하는 것이 필요하다. 하지만 충격량을 검출하는 것은 로봇에 추가적으로 외력 측정 장치를 요구하거나, 복잡한 연산을 필요로 하는 어려움을 가지고 있다. 따라서 이러한 문제점을 해결할 방법이 필요한 실정이다.
한국등록특허공보 제10-2226122호 (2021.03.11.)
본 발명이 해결하고자 하는 과제는 로봇 매니퓰레이터의 관절 기반 변수(관절각도, 각속도, 각가속도)와 시간지연제어기법(Time-delay control, TDC)을 이용하여 외부 충돌로 인해 발생되는 충격량을 산출하는 로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법을 제공하는 것이다.
상기 과제를 해결하기 위해 본 발명에 따른 로봇 매니퓰레이터의 충격량을 산출하는 검출장치는 로봇 매니퓰레이터의 모터에 대한 전류량을 수신하는 인터페이스부 및 상기 전류량을 이용하여 상기 로봇 매니퓰레이터의 관절에 대한 현재 시점의 토크 및 이전 시점의 토크를 산출하고, 상기 현재 시점의 토크 및 상기 이전 시점의 토크에 대한 토크 변화량을 로봇 기구학에 의해 결정되는 자코비안 행렬에 적용하여 외부와의 충돌로 발생되는 힘인 충격량을 산출하는 제어부를 포함한다.
또한 상기 제어부는, 상기 토크 변화량을 상기 자코비안 행렬에 적용하여 충돌의 발생 시에 상응하는 힘을 산출하고, 상기 산출된 힘 및 제어 샘플 주기를 이용하여 상기 충격량을 산출하는 것을 특징으로 한다.
또한 상기 제어부는, 하기 수학식을 이용하여 상기 충격량을 산출하는 것을 특징으로 한다.
[수학식]
여기서 I는 충격량을 의미하고, 는 충돌이 발생 시, 이에 상응하는 힘을 의미하며, J는 자코비안 행렬을 의미하고, 는 현재 관절 토크를 의미하며, 는 한 제어 샘플 주기의 이전 시점에서의 관절 토크를 의미하고, △t는 제어 샘플 주기를 의미한다.
또한 상기 제어부는, 상기 산출된 충격량의 크기에 따라 범위를 설정하고, 상기 설정된 범위에 따라 상기 로봇 매니퓰레이터의 제어를 하는 것을 특징으로 한다.
또한 상기 제어부는, 상기 충격량이 제1 범위에 포함되면 상기 로봇 매니퓰레이터의 구동 속도를 낮추는 제어, 구동 힘을 낮추는 제어 및 구동 패턴을 기 설정된 움직임 패턴으로 변경하는 제어 중 적어도 하나의 제어로 상기 로봇 매니퓰레이터를 구동시키고, 상기 충격량이 상기 제1 범위보다 큰 제2 범위에 포함되면 상기 로봇 매니퓰레이터의 구동을 일시 정지시키며, 상기 충격량이 상기 제2 범위보다 큰 제3 범위에 포함되면 상기 로봇 매니퓰레이터의 구동을 완전 정지시키는 것을 특징으로 한다.
본 발명에 따른 로봇 매니퓰레이터의 충격량을 산출하는 검출방법은 검출장치가 로봇 매니퓰레이터의 모터에 대한 전류량을 수신하는 단계, 상기 검출장치가 상기 전류량을 이용하여 상기 로봇 매니퓰레이터의 관절에 대한 현재 시점의 토크 및 이전 시점의 토크를 산출하는 단계 및 상기 검출장치가 상기 현재 시점의 토크 및 상기 이전 시점의 토크에 대한 토크 변화량을 로봇 기구학에 의해 결정되는 자코비안 행렬에 적용하여 외부와의 충돌로 발생되는 힘인 충격량을 산출하는 단계를 포함한다.
본 발명의 실시예에 따르면 별도의 토크센서 또는 충격센서 없이, 로봇 매니퓰레이터의 관절 기반 변수(관절각도, 각속도, 각가속도)와 시간지연제어기법을 이용하여 외부 충돌로 인해 발생되는 충격량을 산출함으로써, 기존의 로봇 매니퓰레이터와의 호환을 용이하게 하여 설치 비용을 절감할 수 있다.
또한 충격량의 크기에 따라 범위를 설정한 후, 해당 범위에 맞는 로봇 매니퓰레이터 제어를 하여 안전하면서도 구동 공백을 최소화시켜 제품의 생산성을 늘릴 수 있다.
도 1은 본 발명의 실시예에 따른 검출시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 검출장치를 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 토크 변화량을 기반으로 충격량을 산출하는 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 관절각도 기반의 변수값을 기반으로 충격량을 산출하는 과정을 설명하기 위한 도면이다.
도 5는 도 4의 충격량을 산출하는 과정을 간략하게 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 토크 변화량을 기반으로 충격량을 산출하는 검출방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 실시예에 따른 관절각도 기반의 변수값을 기반으로 충격량을 산출하는 검출방법을 설명하기 위한 순서도이다.
도 8은 본 발명의 실시예에 따른 컴퓨팅 장치를 설명하기 위한 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서 및 도면(이하 '본 명세서')에서, 동일한 구성요소에 대해서 중복된 설명은 생략한다.
또한 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
또한, 본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로써, 본 발명을 한정하려는 의도로 사용되는 것이 아니다.
또한 본 명세서에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
또한 본 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품, 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐, 하나 또는 그 이상의 다른 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 할 것이다.
또한 본 명세서에서, '및/또는' 이라는 용어는 복수의 기재된 항목들의 조합 또는 복수의 기재된 항목들 중의 어느 항목을 포함한다. 본 명세서에서, 'A 또는 B'는, 'A', 'B', 또는 'A와 B 모두'를 포함할 수 있다.
또한 본 명세서에서, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략될 것이다.
도 1은 본 발명의 실시예에 따른 검출시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 검출시스템(300)은 로봇 매니퓰레이터(200)의 관절 기반 변수(관절각도, 각속도, 각가속도)와 시간지연제어기법(Time-delay control, TDC)을 이용하여 외부 충돌로 인해 발생되는 충격량을 산출한다. 검출시스템(300)은 검출장치(100) 및 로봇 매니퓰레이터(200)를 포함한다.
검출장치(100)는 외부와의 충돌 여부를 판단한다. 검출장치(100)는 충돌이 발생되었다고 판단하는 경우, 충돌로 발생되는 힘인 충격량을 산출하고, 산출된 충격량을 이용하여 로봇 매니퓰레이터(200)을 제어한다. 검출장치(100)는 로봇 매니퓰레이터(200) 말단인 엔드 이펙터(end-effector)에 별도의 힘/토크 센서를 구비하지 않아도 시간지연제어기법을 기반으로 충격량을 산출할 수 있다. 이때 검출장치(100)는 로봇 매니퓰레이터(200)의 관절에 대한 토크 변화량 또는 관절 기반 변수값(관절각도, 각속도, 각가속도)을 이용하여 충격량을 산출할 수 있다. 여기서 관절에 대한 토크는 모터(240)에 대한 전류량을 이용하여 산출될 수 있고, 관절 기반 변수값 중 관절각도는 로봇 매니퓰레이터(200)에 기본적으로 구비된 관절각도 측정센서(엔코더 등)로부터 측정되고, 각속도 및 각가속도는 측정된 관절각도를 이용하여 산출될 수 있다. 검출장치(100)는 산출된 충격량을 단계별로 구분하고, 구분된 단계에 대응되는 명령에 따라 로봇 매니퓰레이터(200)를 제어한다.
로봇 매니퓰레이터(200)는 n-자유도(Degree of Freedom, DOF)를 가지는 매니퓰레이터를 포함한다. 로봇 매니퓰레이터(200)는 매니퓰레이터(210), 엔드 이펙터(230) 및 모터(250)를 포함한다.
매니퓰레이터(210)는 로봇암으로써, 베이스(211), 복수의 암(212) 및 복수의 관절(213)을 포함한다. 베이스(211)는 복수의 암(212) 및 복수의 관절(213)을 지지한다. 베이스(211)는 산업용 로봇의 몸체, 인간형 로봇의 몸체, 차량형 로봇의 몸체 등이 될 수 있다. 베이스(211)는 복수의 암(212) 중 최하부의 암과 커플링된다. 복수의 암(212)은 사이에 연결된 적어도 하나의 관절(213)을 매개로 연결되고, 복수의 관절(213)을 통하여 충분한 자유도를 획득할 수 있다. 각 관절(213)은 각 매니퓰레이터(210)의 동작에 따른 위치를 측정할 수 있는 엔코더(미도시)를 포함한다.
엔드 이펙터(230)는 매니퓰레이터(210)의 암(212)에 탈착 방식으로 연결되고, 본체(231) 및 작업툴(232)를 포함한다. 일반적인 경우, 본체(231)는 복수의 암(212) 중 최상부(말단)의 암에 연결된다. 즉 본체(231)는 일단에 최상부의 암과 연결되고, 타단에 작업툴(232)이 연결된다. 작업툴(232)은 로봇 매니퓰레이터(200)가 수행해야 할 작업의 종류에 따라 교체될 수 있다. 예를 들어 작업툴(232)은 그리퍼, 툴 체인저, 측정 지그 등을 포함할 수 있으나, 이에 한정하지 않는다.
모터(250)는 베이스(211)와 연결되어 베이스(211)와 연결된 복수의 암(212) 및 복수의 관절(213)을 구동시킨다. 모터(250)는 전류량에 대한 정보를 검출장치(100)로 전송한다. 이때 모터(250)는 외부의 충돌이 발생된 이전의 전류량과 현재의 전류량을 검출장치(100)로 전송할 수 있으나, 이에 한정하지 않고 기 설정된 주기 또는 실시간으로 전류량을 검출장치(100)로 전송할 수 있다.
여기서 외부와의 충돌은 외부 환경(장애물, 구조물 등) 또는 사람과의 부딪힘을 의미하고, 매니퓰레이터(210) 또는 엔드 이펙터(230)에서 발생될 수 있다. 또한 충돌은 매니퓰레이터(210)에서 발생되더라도 엔드 이펙터(230)로 충돌에 따른 영향이 전달되고, 엔드 이펙터(230)에서 발생되더라도 매니퓰레이터(210)로 충돌에 따른 영향이 전달될 수 있다. 이로 인해 검출장치(100)는 각 관절(213)에 포함된 엔코더로부터 측정된 관절의 위치값(관절각도)을 기반으로 충돌 여부를 판단할 수 있다.
도 2는 본 발명의 실시예에 따른 검출장치를 설명하기 위한 블록도이고, 도 3은 본 발명의 실시예에 따른 토크 변화량을 기반으로 충격량을 산출하는 과정을 설명하기 위한 도면이며, 도 4는 본 발명의 실시예에 따른 관절각도 기반의 변수값을 기반으로 충격량을 산출하는 과정을 설명하기 위한 도면이고, 도 5는 도 4의 충격량을 산출하는 과정을 간략하게 설명하기 위한 도면이다.
도 1 내지 도 5를 참조하면, 검출장치(100)는 인터페이스부(10) 및 제어부(30)를 포함하고, 저장부(50)를 더 포함할 수 있다.
인터페이스부(10)는 로봇 매니퓰레이터(200)와의 통신을 수행한다. 인터페이스부(10)는 각 관절(213)에 포함된 엔코더로부터 관절각도를 수신한다. 바람직하게는 인터페이스(10)는 복수의 관절(213) 중 최상부(말단) 암과 연결된 관절의 엔코더로부터 관절각도를 수신할 수 있으나, 이에 한정하지 않고 모든 관절의 엔코더로부터 관절각도를 수신할 수 있다. 또한 인터페이스부(10)는 모터(250)로부터 전류량을 수신한다.
제어부(30)는 검출장치(100)의 전반적인 제어를 수행한다. 제어부(30)는 외부 충돌로 인해 발생되는 충격량을 산출한다. 이때 제어부(30)는 로봇 동역학 계산을 피하기 위해 시간지연제어기법을 이용하여 간단하게 충격량을 산출할 수 있다.
일반적으로 n-자유도를 가지는 로봇 매니퓰레이터의 동역학 수학식은 관절 공간에서 [수학식 1]과 같이 표현될 수 있다.
는 관절각들로 구성된 벡터로써, 실제 관절각도를 의미하고, 는 관절각들로 구성된 벡터를 1차 미분한 각속도를 의미하며, 는 관절각들로 구성된 벡터를 2차 미분한 각가속도를 의미하고, 는 관절 공간에서의 관성행렬을 의미하며, 는 관절 공간에서의 코리올리(Coriolis) 및 원심력을 의미하고, 는 관절 공간에서의 중력의 의미하며, 는 관절 마찰토크를 의미하고, 는 외란(disturbance)을 포함한 모델링되지 않은 동역학 항을 의미하며, 는 각 관절에 인가되는 제어 입력인 관절 토크를 의미한다. 이때 는 모터(250)에 인가할 전류로 변환된 토크로 검출장치(100)에서 직접 얻거나, 추정하는 것이 가능하다. 또한 간단한 표현을 위해 시간 t는 생략하였다.
관성 게인 행렬인 (상수 대각행렬)를 이용하는 경우, 를 [수학식 1]에 적용하게 되면 [수학식 2]와 같이 표현된다.
는 관성 게인 행렬을 의미하고, 는 로봇 동역학을 포함하는 알려지지 않은 불확실성 벡터를 의미한다.
일반적으로 [수학식 2]를 제어하기 위한 제어 입력은 [수학식 4]과 같이 구성될 수 있다.
는 N의 추정(estimation) 벡터를 의미하고, 는 제어 입력 벡터를 의미한다. 는 사용자가 원하는 관절각도를 의미하고, 는 사용자가 원하는 관절의 각속도를 의미하며, 는 사용자가 원하는 관절의 각가속도를 의미한다.
제어부(30)는 시간지연추정기법(Time-delay estimation)을 통해 를 간단하게 산출할 수 있다. 제어부(30)는 시각지연추정기법을 이용하는 경우, 현재 시간 t에서의 를 산출하기 위해 한 제어 샘플 주기()의 이전 시점인 에서의 을 이용하여 추정할 수 있다. 이를 통해 제어부(30)는 [수학식 2]를 기반으로 [수학식 5]와 같이 산출될 수 있다.
은 로봇 동역학을 포함하는 알려지지 않은 불확실성 벡터를 의미하고, 는 현재시간(t)에 대한 N의 추정 벡터를 의미하며, 는 한 제어 샘플 주기의 이전 시점에서의 N를 의미하고, 는 한 제어 샘플 주기의 이전 시점에서의 관절 토크를 의미하며, 는 한 제어 샘플 주기의 이전 시점에서의 각가속도를 의미한다.
이때 제어부(30)는 로봇 매니퓰레이터(200)에 원하는 모션을 얻기 위해 [수학식 4]의 에 오차 동역학을 할당한다. 이를 위해 위치 오차 벡터 로 정의한다. 는 사용자가 원하는 관절각도를 의미하고, 는 관절각들로 구성된 벡터로써, 실제 관절각도를 의미한다. 또한 로 정의한다. 즉 제어부(30)는 인 경우, [수학식 5]를 이용하여 원하는 오차 동역학을 [수학식 6]과 같이 얻을 수 있다.
는 관절에 대한 각가속도의 오차 벡터를 의미하고, 는 양의 상수 대각행렬의 형태를 가지는 댐핑 상수와 관련된 피드백 게인 행렬이며, 는 관절에 대한 각속도의 오차 벡터를 의미하고, 는 양의 상수 대각행렬의 형태를 가지는 스프링 상수와 관련된 피드백 게인 행렬을 의미하며, 는 관절각도의 위치 오차 벡터이고, 로 정의한다. 즉 는 관절의 원하는 위치와 실제 위치에 대한 각도 차이를 나타낸다.
따라서 제어부(30)는 [수학식 5]의 시간지연추정기법과, [수학식 6]의 오차 동역학을 이용하여 시간지연제어기법을 [수학식 7]과 같은 방정식으로 표현할 수 있다.
제어부(30)는 현지 시점 t에서 관절 토크 와 한 제어 샘플 주기의 전 시점 에 대한 을 이용하여 로봇 매니퓰레이터(200)의 엔드 이펙터(230)에 작용하는 힘을 산출하면 [수학식 8]과 같이 산출한다.
는 로봇 매니퓰레이터의 말단인 엔드 이펙터에 외부 충돌로 발생되는 힘(데미지)을 의미하고, 는 현재 시점에서 로봇 매니퓰레이터의 엔드 이펙트에 작용되는 힘을 의미하며, 는 한 제어 샘플 주기의 이전 시점에서의 로봇 매니퓰레이터의 엔드 이펙트에 작용되는 힘을 의미하고, J는 로봇 매니퓰레이터의 자코비안 행렬을 의미한다. 여기서 충돌로 인한 충격 발생 시, 로봇 매니퓰레이터(200)의 각 관절에 발생하는 위치 오차 벡터 는 상대적으로 큰 값을 가지며, 이러한 위치 오차는 상당히 변화된 제어 입력 를 생성한다. 따라서 제어부(30)는 충돌이 발생 시, 이에 상응하는 힘인 를 산출할 수 있다. 또한 제어부(30)는 를 이용하여 충격량을 [수학식 9]와 같이 산출할 수 있다. 즉 제어부(30)는 토크 변화량을 자코비안 행렬에 적용하여 충돌의 발생 시에 상응하는 힘을 산출하고, 산출된 힘 및 제어 샘플 주기를 이용하여 충격량을 산출할 수 있다(도 3 참조).
I는 외부 충돌로 발생되는 충격량을 의미한다.
한편 제어부(30)는 [수학식 7]의 시간지연제어기법을 이용하여 [수학식 10]을 유도할 수 있다.
한편 [수학식 10]을 통해 로 대체하여 사용 가능함을 알 수 있으므로, 제어부(30)는 [수학식 9]를 [수학식 11]과 같이 변환할 수 있다(도 4, 도 5 참조). 즉 제어부(30)는 관절각도의 원하는 위치와 실제 위치를 차이를 나타내는 관절각도 오차(), 관절각도 오차를 미분한 관절의 각속도 오차(), 관절의 원하는 각가속도 및 실제 각가속도를 이용하여 상기 충격량을 산출한다.
는 관절의 원하는 위치와 실제 위치의 차이를 나타내는 관절각도의 오차 벡터를 의미하고, 를 1차 미분하여 관절에 대한 각속도의 오차 벡터를 의미한다. 또한 는 각가속도의 원하는 값을 의미하고, 는 실제 각가속도의 값을 의미한다. 따라서 제어부(30)는 [수학식 11]을 통해 토크 또는 전류를 사용하지 않고, 관절위치, 속도, 가속도에 대한 값들로 충격량을 산출할 수 있다.
제어부(30)는 산출된 충격량의 크기에 따라 범위를 설정하고, 설정된 범위에 따라 로봇 매니퓰레이터(200)의 제어를 한다. 예를 들어 제어부(30)는 충격량이 0 ~ 3(N·s)이면 제1 범위로 설정하고, 충격량이 4(N·s) ~ 10(N·s)이면 제2 범위로 설정하며, 충격량이 11(N·s) 이상이면 제3 범위로 설정할 수 있으나, 이에 한정하지 않는다.
제어부(30)는 충격량이 제1 범위에 포함되면 로봇 매니퓰레이터(200)의 구동 속도를 낮추는 제어, 구동 힘을 낮추는 제어 및 구동 패턴을 기 설정된 움직임 패턴으로 변경하는 제어 중 적어도 하나의 제어로 로봇 매니퓰레이터(200)를 구동시킨다. 여기서 구동 속도를 낮추는 제어는 로봇 매니퓰레이터(200)를 구동할 때 움직이는 속도를 기본 설정된 속도보다 낮추는 것을 의미하고, 구동 힘을 낮추는 제어는 로봇 매니퓰레이터(200)가 구동할 때 움직이는 힘을 기본 설정된 힘보다 낮추는 것을 의미한다. 또한 구동 패턴을 변경하는 제어는 로봇 매니퓰레이터(200)를 구동할 때 기본 설정된 움직임 패턴을 다음 우선순위로 설정된 움직임 패턴으로 변경하거나, 충돌이 발생된 위치를 회피하는 움직임 패턴으로 변경하는 것을 의미한다. 제어부(30)는 충격량이 제1 범위보다 큰 제2 범위에 포함되면 로봇 매니퓰레이터(200)의 구동을 일시 정지시키며, 충격량이 제2 범위보다 큰 제3 범위에 포함되면 로봇 매니퓰레이터의 구동을 완전 정지시킨다.
저장부(50)는 검출장치(100)를 구동하기 위한 알고리즘 또는 프로그램이 저장된다. 저장부(50)는 로봇 매니퓰레이터(100)의 관절각도, 관절의 각속도, 각가속도가 저장되고, 모터(250)의 전류량이 저장된다. 저장부(50)는 충격량에 따른 대응책이 각 단계별로 저장되고, 해당 정보가 룩업 테이블(lookup table) 형태로 저장될 수 있다. 저장부(50)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기메모리, 자기 디스크 및 광디스크 중 적어도 하나의 저장매체를 포함할 수 있다.
도 6은 본 발명의 실시예에 따른 토크 변화량을 기반으로 충격량을 산출하는 검출방법을 설명하기 위한 순서도이다.
도 1 및 도 6을 참조하면, 검출방법은 별도의 토크센서 또는 충격센서 없이, 시간지연제어기법을 이용하여 외부 충돌로 인해 발생되는 충격량을 산출한다.
S110 단계에서, 검출장치(100)는 모터(250)에 대한 전류량을 수신한다. 여기서 수신된 전류량은 관절의 토크를 간접적으로 추정하는 값이 된다. 즉 검출장치(100)는 별도의 토크센서 없이도 관절의 토크를 추정할 수 있다.
S120 단계에서, 검출장치(100)는 외부와의 충돌로 발생되는 힘인 충격량을 산출한다. 검출장치(100)는 수신된 전류량을 이용하여 로봇 매니퓰레이터(200)의 관절에 대한 현재 시점의 토크 및 이전 시점의 토크를 산출한다. 검출장치(100)는 현재 시점의 토크 및 이전 시점의 토크에 대한 토크 변화량을 로봇 기구학에 의해 결정되는 자코비안 행렬에 적용하여 충격량을 산출한다. 이때 검출장치(100)는 전술된 [수학식 9]를 이용하여 충격량을 산출할 수 있다.
S130 단계에서, 검출장치(100)는 산출된 충격량에 대응되는 구동 제어를 수행한다. 검출장치(100)는 충격량의 크기에 따라 범위를 설정하고, 설정된 범위에 따라 로봇 매니퓰레이터(200)의 제어를 한다.
도 7은 본 발명의 실시예에 따른 관절각도 기반의 변수값을 기반으로 충격량을 산출하는 검출방법을 설명하기 위한 순서도이다.
도 1 및 도 7을 참조하면, 검출방법은 별도의 토크센서 또는 충격센서 없이, 로봇 매니퓰레이터의 관절 기반 변수(관절각도, 각속도, 각가속도)를 이용하여 외부 충돌로 인해 발생되는 충격량을 산출한다.
S210 단계에서, 검출장치(100)는 관절각도 기반의 변수값을 수신한다. 즉 검출장치(100)는 각 관절(213)에 포함된 엔코더로부터 관절각도를 수신한다. 바람직하게는 인터페이스(10)는 복수의 관절(213) 중 최상부(말단) 암과 연결된 관절의 엔코더로부터 관절각도를 수신할 수 있으나, 이에 한정하지 않고 모든 관절의 엔코더로부터 관절각도를 수신할 수 있다.
S220 단계에서, 검출장치(100)는 외부와의 충돌로 발생되는 힘인 충격량을 산출한다. 검출장치(100)는 수신된 관절각도를 이용하여 로봇 매니퓰레이터(200)의 관절에 대한 각속도 및 각가속도를 산출한다. 검출장치(100)는 관절각도, 각속도 및 각가속도를 로봇 기구학에 의해 결정되는 자코비안 행렬에 적용하여 충격량을 산출한다. 이때 검출장치(100)는 전술된 [수학식 11]을 이용하여 충격량을 산출할 수 있다.
S230 단계에서, 검출장치(100)는 산출된 충격량에 대응되는 구동 제어를 수행한다. 검출장치(100)는 충격량의 크기에 따라 범위를 설정하고, 설정된 범위에 따라 로봇 매니퓰레이터(200)의 제어를 한다.
도 8은 본 발명의 실시예에 따른 컴퓨팅 장치를 설명하기 위한 블록도이다. 도 8의 컴퓨팅 장치(TN100)는 본 명세서에서 기술된 장치(예, 검출장치 등) 일 수 있다.
컴퓨팅 장치(TN100)는 적어도 하나의 프로세서(TN110), 송수신 장치(TN120), 및 메모리(TN130)를 포함할 수 있다. 또한, 컴퓨팅 장치(TN100)는 저장 장치(TN140), 입력 인터페이스 장치(TN150), 출력 인터페이스 장치(TN160) 등을 더 포함할 수 있다. 컴퓨팅 장치(TN100)에 포함된 구성 요소들은 버스(bus)(TN170)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(TN110)는 메모리(TN130) 및 저장 장치(TN140) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(TN110)는 중앙 처리 장치(CPU: central processing unit), 그래픽 처리 장치(GPU: graphics processing unit), 또는 본 발명의 실시예에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 프로세서(TN110)는 본 발명의 실시예와 관련하여 기술된 절차, 기능, 및 방법 등을 구현하도록 구성될 수 있다. 프로세서(TN110)는 컴퓨팅 장치(TN100)의 각 구성 요소를 제어할 수 있다.
메모리(TN130) 및 저장 장치(TN140) 각각은 프로세서(TN110)의 동작과 관련된 다양한 정보를 저장할 수 있다. 메모리(TN130) 및 저장 장치(TN140) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(TN130)는 읽기 전용 메모리(ROM: read only memory) 및 랜덤 액세스 메모리(RAM: random access memory) 중에서 적어도 하나로 구성될 수 있다.
송수신 장치(TN120)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다. 송수신 장치(TN120)는 네트워크에 연결되어 통신을 수행할 수 있다.
한편, 본 발명의 실시예는 지금까지 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 상술한 실시예의 기재로부터 본 발명이 속하는 기술 분야의 통상의 기술자라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 통상의 기술자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
10: 인터페이스부
30: 제어부
50: 저장부
100: 검출장치
200: 로봇 매니퓰레이터
210: 매니퓰레이터
211: 베이스
212: 암
213: 관절
230: 엔드 이펙터
231: 본체
232: 센서
233: 작업툴
250: 모터
300: 검출시스템

Claims (6)

  1. 로봇 매니퓰레이터의 모터에 대한 전류량을 수신하는 인터페이스부; 및
    상기 전류량을 이용하여 상기 로봇 매니퓰레이터의 관절에 대한 현재 시점의 토크 및 이전 시점의 토크를 산출하고, 상기 현재 시점의 토크 및 상기 이전 시점의 토크에 대한 토크 변화량을 로봇 기구학에 의해 결정되는 자코비안 행렬에 적용하여 외부와의 충돌로 발생되는 힘인 충격량을 산출하는 제어부;
    를 포함하는 로봇 매니퓰레이터의 충격량을 산출하는 검출장치.
  2. 제 1항에 있어서,
    상기 제어부는,
    상기 토크 변화량을 상기 자코비안 행렬에 적용하여 충돌의 발생 시에 상응하는 힘을 산출하고, 상기 산출된 힘 및 제어 샘플 주기를 이용하여 상기 충격량을 산출하는 것을 특징으로 하는 로봇 매니퓰레이터의 충격량을 산출하는 검출장치.
  3. 제 2항에 있어서,
    상기 제어부는,
    하기 수학식을 이용하여 상기 충격량을 산출하는 것을 특징으로 하는 로봇 매니퓰레이터의 충격량을 산출하는 검출장치.
    [수학식]

    (여기서 I는 충격량을 의미하고, 는 충돌이 발생 시, 이에 상응하는 힘을 의미하며, J는 자코비안 행렬을 의미하고, 는 현재 관절 토크를 의미하며, 는 한 제어 샘플 주기의 이전 시점에서의 관절 토크를 의미하고, △t는 제어 샘플 주기를 의미함)
  4. 제 1항에 있어서,
    상기 제어부는,
    상기 산출된 충격량의 크기에 따라 범위를 설정하고, 상기 설정된 범위에 따라 상기 로봇 매니퓰레이터의 제어를 하는 것을 특징으로 하는 로봇 매니퓰레이터의 충격량을 산출하는 검출장치.
  5. 제 4항에 있어서,
    상기 제어부는,
    상기 충격량이 제1 범위에 포함되면 상기 로봇 매니퓰레이터의 구동 속도를 낮추는 제어, 구동 힘을 낮추는 제어 및 구동 패턴을 기 설정된 움직임 패턴으로 변경하는 제어 중 적어도 하나의 제어로 상기 로봇 매니퓰레이터를 구동시키고, 상기 충격량이 상기 제1 범위보다 큰 제2 범위에 포함되면 상기 로봇 매니퓰레이터의 구동을 일시 정지시키며, 상기 충격량이 상기 제2 범위보다 큰 제3 범위에 포함되면 상기 로봇 매니퓰레이터의 구동을 완전 정지시키는 것을 특징으로 하는 로봇 매니퓰레이터의 충격량을 산출하는 검출장치.
  6. 검출장치가 로봇 매니퓰레이터의 모터에 대한 전류량을 수신하는 단계;
    상기 검출장치가 상기 전류량을 이용하여 상기 로봇 매니퓰레이터의 관절에 대한 현재 시점의 토크 및 이전 시점의 토크를 산출하는 단계; 및
    상기 검출장치가 상기 현재 시점의 토크 및 상기 이전 시점의 토크에 대한 토크 변화량을 로봇 기구학에 의해 결정되는 자코비안 행렬에 적용하여 외부와의 충돌로 발생되는 힘인 충격량을 산출하는 단계;
    를 포함하는 로봇 매니퓰레이터의 충격량을 산출하는 검출방법.
KR1020240024051A 2022-04-25 2024-02-20 로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법 KR102645792B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240024051A KR102645792B1 (ko) 2022-04-25 2024-02-20 로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220050820A KR102643316B1 (ko) 2022-04-25 2022-04-25 로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법
KR1020240024051A KR102645792B1 (ko) 2022-04-25 2024-02-20 로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220050820A Division KR102643316B1 (ko) 2022-04-25 2022-04-25 로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법

Publications (2)

Publication Number Publication Date
KR20240026170A KR20240026170A (ko) 2024-02-27
KR102645792B1 true KR102645792B1 (ko) 2024-03-07

Family

ID=88746528

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020220050820A KR102643316B1 (ko) 2022-04-25 2022-04-25 로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법
KR1020240024051A KR102645792B1 (ko) 2022-04-25 2024-02-20 로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020220050820A KR102643316B1 (ko) 2022-04-25 2022-04-25 로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법

Country Status (1)

Country Link
KR (2) KR102643316B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003025272A (ja) * 2001-05-08 2003-01-29 Mitsubishi Electric Corp ロボット制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101214685B1 (ko) * 2011-03-23 2013-01-09 고려대학교 산학협력단 주파수 기반 로봇 머니퓰레이터 제어 방법
KR102226122B1 (ko) 2020-04-22 2021-03-11 주식회사 뉴로메카 협동 로봇의 충돌 민감도 자동 설정 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003025272A (ja) * 2001-05-08 2003-01-29 Mitsubishi Electric Corp ロボット制御装置

Also Published As

Publication number Publication date
KR102643316B1 (ko) 2024-03-04
KR20240026170A (ko) 2024-02-27
KR20230151296A (ko) 2023-11-01

Similar Documents

Publication Publication Date Title
US10828769B2 (en) Ascertaining an input command for a robot, said input command being entered by manually exerting a force onto the robot
JP5327722B2 (ja) ロボットの負荷推定装置及び負荷推定方法
JP6895242B2 (ja) ロボット制御装置、ロボット制御方法及びピッキング装置
US10864632B2 (en) Direct teaching method of robot
US8483877B2 (en) Workspace safe operation of a force- or impedance-controlled robot
CN105459120A (zh) 人类协调机器人系统
De Schutter A study of active compliant motion control methods for rigid manipulators based on a generic scheme
JP6044511B2 (ja) ロボットの制御方法及びロボットシステム
KR20150080050A (ko) 다관절로봇의 충돌 감지 장치 및 이를 이용한 충돌 감지 방법
EP3646996B1 (en) Control apparatus and robot teaching control method
JP2017056549A (ja) ロボット装置、ロボット制御方法、プログラム、記録媒体及び組立部品の製造方法
CN108748144A (zh) 一种人机协作机械臂的碰撞识别方法
KR102645792B1 (ko) 로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법
Safeea et al. Precise hand-guiding of redundant manipulators with null space control for in-contact obstacle navigation
JP6697544B2 (ja) 最適化装置及びそれを備えた垂直型多関節ロボット
JP5569953B2 (ja) 高速高精度な接触作業に適用するロボット制御システム、ロボット制御方法、ロボット制御装置、およびプログラム
JPH01310889A (ja) 産業用ロボットの制御装置
Shimamoto et al. Performance Evaluation of Force Control and Reaction Force Estimation in Force Sensorless Hybrid Control for Workspace Based Controller
JP2017019058A (ja) ロボット制御装置、ロボットおよびロボットシステム
Wu et al. Off-line programmed error compensation of an industrial robot in ship hull welding
KR20210127746A (ko) 미리 정해져 있는 과제를 로봇을 통해 수행하기 위한 방법 및 시스템
KR101968751B1 (ko) 충돌 감지 장치, 그를 갖는 엔드 이펙터, 로봇 및 그를 이용한 충돌 감지 방법
WO2024050729A1 (en) Robot teleoperation system and method
CN114643581B (zh) 基于改进人工势场法的双机械臂避碰轨迹规划方法及系统
CN117400257A (zh) 机器人控制方法、装置、设备及计算机可读存储介质

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