KR20170130755A - 외력 감지 시스템 및 이를 이용한 외력 감지 방법 - Google Patents

외력 감지 시스템 및 이를 이용한 외력 감지 방법 Download PDF

Info

Publication number
KR20170130755A
KR20170130755A KR1020160061345A KR20160061345A KR20170130755A KR 20170130755 A KR20170130755 A KR 20170130755A KR 1020160061345 A KR1020160061345 A KR 1020160061345A KR 20160061345 A KR20160061345 A KR 20160061345A KR 20170130755 A KR20170130755 A KR 20170130755A
Authority
KR
South Korea
Prior art keywords
external force
error
torque
value
force sensing
Prior art date
Application number
KR1020160061345A
Other languages
English (en)
Inventor
조창노
김홍주
최성희
Original Assignee
한국전기연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전기연구원 filed Critical 한국전기연구원
Priority to KR1020160061345A priority Critical patent/KR20170130755A/ko
Publication of KR20170130755A publication Critical patent/KR20170130755A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 외력 감지 시스템 및 이를 이용한 외력 감지 방법에 관한 것으로, 구체적으로는 별도의 가속도 정보가 제공되지 않고, 제어대상 시스템에 모델링 오차가 있더라도 해당 제어대상 시스템으로 가해진 외력을 정확하게 감지할 수 있는 외력 감지 시스템 및 이를 이용한 외력 감지 방법에 관한 것이다.
또한, 본 발명은 제어대상 시스템의 센서에서 측정되는 각도, 각속도 및 관절 토크로부터 모델링 오차를 상쇄하는 오차 보상값을 계산하여 출력하는 오차 보상부 및 상기 오차 보상부로부터 출력된 오차 보상값과 각도, 각속도 및 관절 토크를 입력받아 외력 토크를 계산하여 제어대상 시스템에 가해진 외력을 감지하는 외력 감지부를 구비하므로, 별도의 가속도 정보가 제공되지 않더라도 외력을 감지할 수 있음은 물론이고, 모델링 오차를 최소화하여 정확하게 외력을 감지할 수 있다.

Description

외력 감지 시스템 및 이를 이용한 외력 감지 방법{External force sensing system and sensing method using the same}
본 발명은 외력 감지 시스템 및 이를 이용한 외력 감지 방법에 관한 것으로, 구체적으로는 별도의 가속도 정보가 제공되지 않고, 제어대상 시스템에 모델링 오차가 있더라도 해당 제어대상 시스템으로 가해진 외력을 정확하게 감지할 수 있는 외력 감지 시스템 및 이를 이용한 외력 감지 방법에 관한 것이다.
일반적으로, 로봇과 같은 다축 제어 시스템에서는 외부에서 가해지는 외력을 측정하거나 계산하는 과정이 필수적으로 요구되고 있다. 예컨대, 다축 제어 시스템은 외력을 감지함으로써, 장애물에 충돌하거나 진행 경로가 막힌 상황을 판단할 수 있고, 관절 등의 상태 이상을 판별할 수 있다.
따라서, 종래의 다축 제어 시스템은 그 말단부에 다축 힘토크 센서(Force/torque sensor)를 장착하여 외력을 감지하거나, 관절의 토크 정보에 기반하여 외력을 감지하는 외력 감지 알고리즘을 적용하고 있다. 이러한, 외력 감지 알고리즘은 다축 제어 시스템의 동적 모델 및 센서 정보를 근거로, 해당 다축 제어 시스템의 상태를 추측하고 이 추측한 상태를 실제 상태에 비교하게 된다. 여기서, 추측한 상태와 실제 상태 간의 차이를 잔류(residual)라고 하며, 이 값은 다축 제어 시스템에 가해진 외력을 추종하게 된다.
한편, 다축 제어 시스템에서 사용되는 다축 힘토크 센서는, 다른 센서들에 비해 상대적으로 고비용을 요구하므로 전체적인 비용 상승의 원인이 되는 문제점이 있었다.
또한, 종래의 외력 감지 알고리즘을 적용하여 외력을 추정하고자 할 경우 다축 제어 시스템과 완벽하게 일치하는 동적 모델을 필요로 한다. 그러나, 대부분의 다축 제어 시스템은 시간과 동작 상태 등에 따라 모델링 오차가 발생하고, 이러한 모델링 오차에 의해 외력 감지의 정확성이 크게 저하되는 문제점이 있었다.
또한, 종래의 외력 감지 알고리즘은, 다축 제어 시스템의 각 관절에 설치된 센서에서 측정되는 가속도 정보를 이용하여 외력을 감지한다. 그러나, 가속도 정보의 경우 미분 연산으로 인한 센서 잡음이 심하고 부정확한 문제점이 있다.
본 발명은 상기와 같은 문제점을 감안하여 안출된 것으로, 각도, 각속도 및 관절 토크에 대한 정보를 이용하여 제어대상 시스템에 가해진 외력을 감지할 수 있는 외력 감지 시스템 및 이를 이용한 외력 감지 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 제어대상 시스템의 모델링 오차에 의한 외력 감지 정확성 저하를 최소화함으로써, 보다 정확하게 외력을 감지할 수 있는 외력 감지 시스템 및 이를 이용한 외력 감지 방법을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명은 제어대상 시스템의 센서에서 측정되는 각도, 각속도 및 관절 토크로부터, 상기 제어대상 시스템의 모델링 오차를 상쇄하는 오차 보상값을 계산하여 출력하는 오차 보상부; 및 상기 제어대상 시스템의 센서에서 측정된 각도, 각속도 및 관절 토크와 상기 오차 보상부로부터 출력된 오차 보상값을 입력받아 외력 토크를 계산하고, 상기 계산된 외력 토크로부터 상기 제어대상 시스템에 가해진 외력을 감지하는 외력 감지부;를 포함하는 외력 감지 시스템을 제공한다.
바람직한 실시예에 있어서, 상기 오차 보상부는 외력이 가해지지 않은 상태일 때 상기 제어대상 시스템의 모델링 오차로 추정되는 외력인 트레이닝값을 계산하고, 상기 트레이닝값을 반영하여 소정의 가중치(weight)와 임계치(bias)를 갱신하는 인공신경망(Neural Network, NN)을 포함한다.
바람직한 실시예에 있어서, 상기 오차 보상부는 역전파 알고리즘(Backpropagation Algorithm)을 이용하여 가중치 및 임계치를 갱신하고, 상기 갱신된 가중치 및 임계치에 따라 상기 오차 보상값을 계산한다.
바람직한 실시예에 있어서, 상기 오차 보상부는 아래의 수학식을 이용하여, 상기 트레이닝값을 계산한다.
[수학식]
Figure pat00001

여기서, v는 트레이닝값이고, τ는 관절 토크이며, CT는 C행렬(코리올리 및 구심력 행렬)의 전치행렬이며, q는 각도이며,
Figure pat00002
는 각속도이며, g(q)는 중력 벡터이며, r은 잔류(residual)이며, P는 일반화 운동량(Generalized Momentum)을 뜻함.
바람직한 실시예에 있어서, 상기 외력 감지부는 각도, 각속도 및 관절 토크를 이용하여, 잔류(residual) 외력을 추정하는 관측기(residual observer)이다.
바람직한 실시예에 있어서, 상기 외력 감지부는 아래의 수학식을 이용하여, 상기 외력 토크를 계산한다.
[수학식]
Figure pat00003

여기서, r(t)는 외력 토크(τe)이고, τ는 관절 토크이며, CT는 C행렬(코리올리 및 구심력 행렬)의 전치행렬이며, q는 각도이며,
Figure pat00004
는 각속도이며, g(q)는 중력 벡터이며, y는 오차 보상값이며, r은 잔류(residual)이며, P는 일반화 운동량(Generalized Momentum)을 뜻함.
또한, 본 발명은 외력 감지 시스템에서 수행되는 외력 감지 방법으로서, (1) 상기 외력 감지 시스템이, 제어대상 시스템의 센서에서 측정된 각도, 각속도 및 관절 토크를 입력받는 단계; (2) 상기 외력 감지 시스템이, 상기 제어대상 시스템의 모델링 오차를 상쇄하는 오차 보상값을 계산하는 단계; (3) 상기 외력 감지 시스템이, 상기 제어대상 시스템의 센서에서 측정된 각도, 각속도 및 관절 토크와 상기 오차 보상값을 근거로 외력 토크를 계산하는 단계; 및 (4) 상기 외력 감지 시스템이, 상기 계산된 외력 토크로부터 상기 제어대상 시스템에 가해진 외력을 감지하는 단계;를 포함하는 외력 감지 방법을 제공한다.
바람직한 실시예에 있어서, 상기 제 (2)단계에서 상기 외력 감지 시스템은, 외력이 가해지지 않은 상태일 때 상기 제어대상 시스템의 모델링 오차로 추정되는 외력인 트레이닝값을 계산하고, 상기 트레이닝값을 반영하여 소정의 가중치(weight)와 임계치(bias)를 갱신한다.
바람직한 실시예에 있어서, 상기 제 (2)단계에서 상기 외력 감지 시스템은, 역전파 알고리즘(Backpropagation Algorithm)을 이용하여 가중치 및 임계치를 갱신하고, 상기 갱신된 가중치 및 임계치에 따라 상기 오차 보상값을 계산한다.
바람직한 실시예에 있어서, 상기 제 (2)단계에서 상기 외력 감지 시스템은, 아래의 수학식을 이용하여 상기 트레이닝값을 계산한다.
[수학식]
Figure pat00005

여기서, v는 트레이닝값이고, τ는 관절 토크이며, CT는 C행렬(코리올리 및 구심력 행렬)의 전치행렬이며, q는 각도이며,
Figure pat00006
는 각속도이며, g(q)는 중력 벡터이며, r은 잔류(residual)이며, P는 일반화 운동량(Generalized Momentum)을 뜻함.
바람직한 실시예에 있어서, 상기 제 (3)단계에서 상기 외력 감지 시스템은, 각도, 각속도 및 관절 토크로부터 잔류(residual) 외력을 추정하는 관측기(residual observer)를 이용하여 상기 외력 토크를 계산한다.
바람직한 실시예에 있어서, 상기 제 (3)단계에서 상기 외력 감지 시스템은, 아래의 수학식을 이용하여 상기 외력 토크를 계산한다.
[수학식]
Figure pat00007

여기서, r(t)는 외력 토크(τe)이고, τ는 관절 토크이며, CT는 C행렬(코리올리 및 구심력 행렬)의 전치행렬이며, q는 각도이며,
Figure pat00008
는 각속도이며, g(q)는 중력 벡터이며, y는 오차 보상값이며, r은 잔류(residual)이며, P는 일반화 운동량(Generalized Momentum)을 뜻함.
전술한 과제해결 수단에 의해 본 발명은 제어대상 시스템의 센서에서 측정되는 각도, 각속도 및 관절 토크로부터 모델링 오차를 상쇄하는 오차 보상값을 계산하여 출력하는 오차 보상부 및 상기 오차 보상부로부터 출력된 오차 보상값과 각도, 각속도 및 관절 토크를 입력받아 외력 토크를 계산하여 제어대상 시스템에 가해진 외력을 감지하는 외력 감지부를 구비하므로, 별도의 가속도 정보가 제공되지 않더라도 외력을 감지할 수 있음은 물론이고, 모델링 오차에 의한 영향을 최소화하여 정확하게 외력을 감지할 수 있는 효과가 있다.
도 1은 본 발명의 일실시예에 따른 외력 감지 시스템을 설명하기 위한 도면.
도 2는 외력 감지 시스템에 의한 외력 토크의 계산 과정을 설명하기 위한 도면.
도 3은 외력 감지 시뮬레이션에 사용된 2자유도 로봇을 나타내는 도면.
도 4 내지 도 6은 2자유도 로봇을 대상으로 한 외력 감지 시뮬레이션을 설명하기 위한 도면.
도 7은 본 발명의 일실시예에 따른 외력 감지 방법을 설명하기 위한 도면.
하기의 설명에서 본 발명의 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있는데, 이들 특정 상세들 없이 또한 이들의 변형에 의해서도 본 발명이 용이하게 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.
먼저, 본 발명의 일실시예에 따른 외력 감지 시스템 및 이를 이용한 외력 감지 방법은 하드웨어로 구현될 수도 있으나, 바람직하게는, 하드웨어와 함께 동작하는 소프트웨어로 구현될 수 있다.
여기서, 전술한 소프트웨어는 하드디스크 드라이브, SSD, USB메모리 및 SD카드와 같이 공지된 컴퓨터로 읽을 수 있는 저장매체에 저장되어 상기 컴퓨터에서 읽혀짐으로써 상기 컴퓨터가 기능하게 하는 것일 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도 1 내지 도 7을 참조하여 상세히 설명하되, 본 발명에 따른 동작 및 작용을 이해하는데 필요한 부분을 중심으로 설명한다.
도 1은 본 발명의 일실시예에 따른 외력 감지 시스템을 설명하기 위한 도면이고, 도 2는 외력 감지 시스템에 의한 외력 토크의 계산 과정을 설명하기 위한 도면이다.
도 1 및 도 2를 참조하면, 본 발명의 일실시예에 따른 외력 감지 시스템은 오차 보상부(110) 및 외력 감지부(120)를 포함하여 구성된다.
여기서, 본 발명의 일실시예에 따른 외력 감지 시스템은 제어대상 시스템에 설치 또는 장착되고, 상기 제어대상 시스템에 설치된 센서(10)로부터 측정되는 센싱 정보로부터 상기 제어대상 시스템에 가해진 외력을 계산하도록 구현될 수 있다.
또한, 전술한 제어대상 시스템은 로봇, 가공기, 3D 프린터 및 기타 동적 시스템을 포함하는 다축 제어 시스템일 수 있고, 전술한 센서(10)는 각도센서, 각속도센서, 토크센서 및 엔코더(encoder) 중 어느 하나일 수 있다. 또한, 전술한 제어대상 시스템에는 동작 방식이나 특성을 수학적으로 표현하는 동적 모델이 사전에 설계되어 있을 수 있다.
상기 오차 보상부(110)는 상기 제어대상 시스템의 모델링 오차를 상쇄하기 위한 오차 보상값을 계산하는 것으로, 후술할 외력 감지부(120)에서 소정의 계산 과정이 수행되기 전에, 상기 제어대상 시스템 자체의 모델링 오차를 계산한 후 상기 계산된 모델링 오차에 따른 오차 보상값을 다시 계산하여 출력하는 기능을 수행한다.
또한, 상기 오차 보상부(110)는 상기 제어대상 시스템의 센서(10)로부터 측정된 각도, 각속도 및 관절 토크를 이용하여 상기 오차 보상값을 계산하며, 상기 계산된 오차 보상값은 후술할 외력 감지부(120)로 출력된다.
바람직하게, 상기 오차 보상부(110)는 입력층, 은닉층 및 출력층을 포함하는 다층 구조의 인공신경망(Neural Network, NN)을 포함하여 구성될 수 있으며, 역전파 알고리즘(Backpropagation Algorithm)을 이용하여 인공신경망의 가중치(weight) 및 임계치(bias)를 갱신하고, 상기 갱신된 가중치 및 임계치에 따라 상기 오차 보상값을 계산하도록 구비될 수 있다.
또한, 상기 오차 보상부(110)는 가중치 및 임계치의 갱신을 위해, 외력이 가해지지 않은 상태일 때 상기 제어대상 시스템의 모델링 오차로 추정되는 외력인 트레이닝값을 계산한 후, 상기 트레이닝값을 반영하여 소정의 가중치와 임계치를 갱신하도록 구비될 수 있다.
즉, 상기 오차 보상부(110)는 상기 제어대상 시스템의 센서(10)로부터 측정된 각도, 각속도 및 관절 토크로부터 상기 트레이닝값을 계산한 다음, 상기 트레이닝값에 따라 인공신경망의 가중치 및 임계치를 갱신하고, 상기 갱신된 가중치 및 임계치를 반영하여 상기 오차 보상값을 계산하는 과정을 수행하게 된다.
실질적으로, 상기 오차 보상부(110)는 아래의 수학식 1을 이용하여 상기 트레이닝값을 계산한다.
[수학식 1]
Figure pat00009

여기서, v는 트레이닝값이고, τ는 관절 토크이며, CT는 C행렬(코리올리 및 구심력 행렬)의 전치행렬이며, q는 각도이며,
Figure pat00010
는 각속도이며, g(q)는 중력 벡터이며, r은 잔류(residual)이며, P는 일반화 운동량(Generalized Momentum)을 뜻한다.
즉, 상기 오차 보상부(110)는 상기 제어대상 시스템의 센서(10)로부터 측정된 각도, 각속도 및 관절 토크에 따른 외력을 계산하는 방식으로, 별도의 외력이 가해지지 않은 상태임에도 불구하고 모델링 오차로 추정되는 외력이 발생하면, 이를 상기 트레이닝값으로 출력하는 것이다. 한편, 상기 트레이닝값은 사전에 설정된 문턱값(threshold)을 초과한 경우에만 출력될 수도 있다.
또한, 상기 오차 보상부(110)는 아래의 수학식 2를 이용하여, 상기 트레이닝값에 따른 인공신경망의 가중치의 변화량 및 임계치의 변화량을 계산한다.
[수학식 2]
Figure pat00011

여기서, Δw1 ij(t)는 인공신경망의 첫 번째 층(layer)의 가중치 변화량이고, η는 학습율(learning rate)이며, s1 j는 j 번째 은닉층의 출력이며, xi는 i 번째 입력값이며, n0는 인공신경망의 출력값 갯수이며, vk는 k 번째 트레이닝값이며, w2 jk는 인공신경망의 두 번째 층의 가중치이고, α는 모멘텀 계수(momentum coefficient)이며, t는 시간을 뜻한다.
또한, Δw2 jk(t)는 인공신경망의 두 번째 층의 가중치 변화량이고, Δb1 j(t)는 인공신경망의 첫 번째 층의 임계치 변화량이며, Δb2 k(t)는 인공신경망의 두 번째 층의 임계치 변화량을 뜻한다.
즉, 상기 오차 보상부(110)는 상기 트레이닝값에 대응하는 인공신경망의 가중치 및 임계치의 변화량을 계산할 수 있다.
또한, 상기 오차 보상부(110)는 아래의 수학식 3을 이용하여, 가중치 및 임계치의 변화량을 반영하여 인공신경망의 가중치 및 임계치를 갱신할 수 있다.
[수학식 3]
Figure pat00012

여기서, w1 ij(t)는 인공신경망의 첫 번째 층에 갱신된 가중치이고, w1 ij(t-1)은 인공신경망의 첫 번째 층의 과거 가중치이며, Δw1 ij(t)는 인공신경망의 첫 번째 층의 가중치 변화량이며, w2 jk(t)는 인공신경망의 두 번째 층에 갱신된 가중치이고, w2 jk(t-1)은 인공신경망의 두 번째 층의 과거 가중치이며, Δw2 jk(t)는 인공신경망의 두 번째 층의 가중치 변화량이며, b1 j(t)는 인공신경망의 첫 번째 층에 갱신된 임계치이고, b1 j(t-1)은 인공신경망의 첫 번째 층의 과거 임계치이며, Δb1 j(t)는 인공신경망의 첫 번째 층의 임계치 변화량이며, b2 k(t)는 인공신경망의 두 번째 층에 갱신된 임계치이고, b2 k(t-1)은 인공신경망의 두 번째 층의 과거 임계치이며, Δb2 k(t)는 인공신경망의 두 번째 층의 임계치 변화량을 뜻한다.
즉, 상기 오차 보상부(110)는 인공신경망의 가중치 및 임계치를 갱신하는 과정을 수행함으로써, 상기 제어대상 시스템의 모델링 오차를 최소화하도록 인공신경망의 가중치와 임계치의 학습이 이루어지게 된다. 한편, 임계치 이상의 외력이 감지된 경우에는 가중치와 임계치의 갱신이 이루어지지 않게 함으로써, 모델링 오차의 학습을 일시 중단하게 된다.
또한, 상기 오차 보상부(110)는 아래의 수학식 4를 이용하여, 갱신된 가중치 및 임계치에 따른 상기 오차 보상값을 계산할 수 있다.
[수학식 4]
Figure pat00013

여기서, s1 j는 j 번째 은닉층의 출력값이고, nI는 입력값의 갯수이며, xi는 i 번째 입력값이며, w1 ij는 첫 번째 층의 가중치이며, b1 j는 첫 번째 층의 임계치이며, nH는 은닉층 뉴런의 갯수이며, w2 jk는 두 번째 층의 가중치이며, b2 k는 첫 번째 층의 임계치이며, s2 k는 오차 보상값(y)을 뜻한다.
즉, 상기 오차 보상부(110)에서 출력되는 상기 오차 보상값은, 상기 제어대상 시스템에 별도의 외력이 가해지지 않은 상태일 때의 모델링 오차를 상쇄할 수 있는 소정의 값을 갖게 된다. 또한, 상기 오차 보상값은 후술할 외력 감지부(120)로 출력된다.
상기 외력 감지부(120)는 상기 제어대상 시스템에 가해진 외력을 감지하기 위한 것으로, 상기 제어대상 시스템의 센서(10)에서 측정된 각도, 각속도 및 관절 토크와 상기 오차 보상부(110)로부터 출력된 오차 보상값을 입력받아 외력 토크를 계산하고, 상기 계산된 외력 토크를 이용하여 외력을 감지하도록 구비된다.
바람직하게, 상기 외력 감지부(120)는 각도, 각속도 및 관절 토크를 이용하여, 잔류(residual) 외력을 추정하는 관측기(residual observer)로 구비될 수 있다.
또한, 상기 외력 감지부(120)는 외력 토크의 계산 시 상기 오차 보상값을 차감하는 방식으로 상기 제어대상 시스템의 모델링 오차에 의한 영향을 최소화하며, 사전에 설정된 문턱값(threshold)과 상기 계산된 외력 토크를 비교하는 방식으로 상기 제어대상 시스템으로 가해진 외력을 감지하게 된다.
한편, 상기 외력 감지부(120)에서 외력을 감지하여 상기 제어대상 시스템으로 외력의 감지 여부를 알리는 신호를 전송할 수 있으나, 상기 외력 토크를 직접 전송할 수도 있다.
또한, 상기 외력 감지부(120)는 아래의 수학식 5 및 조건식 1을 이용하여, 상기 외력 토크를 계산할 수 있다.
[수학식 5]
Figure pat00014

[조건식 1]
Figure pat00015

여기서, r(t)는 외력 토크(τe)의 저역 통과 필터처리된 값이고, τ는 관절 토크이며, CT는 C행렬(코리올리 및 구심력 행렬)의 전치행렬이며, q는 각도이며,
Figure pat00016
는 각속도이며, g(q)는 중력 벡터이며, y는 상기 오차 보상부(110)로부터 출력된 오차 보상값이며, r은 잔류(residual)이며, P는 일반화 운동량(Generalized Momentum)을 뜻한다. 또한, K는 저역 통과 필터의 차단 주파수이고, s는 라플라스변환 변수(Laplace transform variable)를 뜻한다.
따라서, 본 발명의 일실시예에 따른 외력 감지 시스템은, 별도의 가속도 정보를 이용하지 않고 각도, 각속도 및 관절 토크에 대한 정보를 이용하여 외력을 감지할 수 있고, 인공신경망을 이용하여 상기 제어대상 시스템의 모델링 오차를 최소화하여 보다 정확하게 외력을 감지할 수 있다.
이하에서는, 본 발명의 일실시예에 따른 외력 감지 시스템에 의한 외력 감지 결과와, 종래의 관측기를 이용한 외력 감지 결과를 비교하였다.
도 3은 외력 감지 시뮬레이션에 사용된 2자유도 로봇을 나타내는 도면이고, 도 4는 2자유도 로봇에 가해진 외력을 나타내는 도면이며, 도 5는 종래의 관측기를 이용한 외력 감지 결과를 나타내는 도면이며, 도 6에는 본 발명의 일실시예에 따른 외력 감지 시스템에 의한 외력 감지 결과를 나타내는 도면이다.
먼저, 도 3 및 도 4를 참조하면, 본 발명의 일실시예에 따른 외력 감지 시스템과 종래의 관측기를 비교하기 위해, 제 1관절(joint 1, 301) 및 제 2관절(joint 2, 302)을 포함하여 구성된 2자유도 로봇을 동적 모델로 설정하여 외력 감지 시뮬레이션을 수행하였다. 그리고, 외력 감지 시뮬레이션은 40%의 모델링 오차가 존재하는 상태에서 6초에 외력을 가한 것으로 설정하였고, 외력 감지를 위한 문턱값(threshold)은 15Nm으로 설정하였다. 전술한 문턱값은 그래프 상에 일점쇄선으로 표시된다.
도 5를 참조하여, 종래의 관측기를 이용한 외력 감지 결과를 살펴보면, 모델링 오차의 영향에 의해 제 1관절(joint 1) 및 제 2관절(joint 2)로 외력이 가해지지 않은 시간에도 빈번하게 문턱값을 초과하고 있다.
즉, 종래의 관측기는 외력이 실제로 가해지지 않더라도 제어대상 시스템으로 외력이 가해진 것으로 판정하게 된다. 이로 인해, 외력을 정확하게 감지할 수 없음은 물론이고, 제어대상 시스템의 오작동을 야기하거나 제어대상 시스템에 발생한 상태 이상을 전혀 판별하지 못할 수 있다.
반면에, 도 6에서 도시된 바와 같이, 본 발명의 일실시예에 따른 외력 감지 시스템의 외력 감지 결과를 살펴보면, 제 1관절(joint 1) 및 제 2관절(joint 2)에 40%의 모델링 오차가 존재하더라도 그 모델링 오차의 영향이 문턱값 이내로 최소화되어 있다.
또한, 본 발명의 일실시예에 따른 외력 감지 시스템은 6초에 실제 가해진 외력은 정확하게 감지하였다. 즉, 모델링 오차에 의한 영향을 최소화하고 외력을 정확하게 감지함을 알 수 있다.
도 7은 본 발명의 일실시예에 따른 외력 감지 방법을 설명하기 위한 도면이다.
도 7을 참조하여, 본 발명의 일실시예에 따른 외력 감지 시스템에서 수행되는 외력 감지 방법을 설명한다.
다만, 도 7에 도시된 외력 감지 방법에서 수행되는 기능은 모두 도 1 및 도 2를 참조하여 설명한 외력 감지 시스템에서 수행되므로, 명시적인 설명이 없어도, 도 1 및 도 2를 참조하여 설명한 모든 기능은 본 발명의 바람직한 실시예에 따른 외력 감지 방법에서 수행되고, 도 7을 참조하여 설명하는 모든 기능은 본 발명의 바람직한 실시예에 따른 외력 감지 시스템에서 그대로 수행됨을 주의해야 한다.
먼저, 제어대상 시스템의 센서에서 측정된 각도, 각속도 및 관절 토크가 오차 보상부로 입력된다(S110).
이때, 상기 제어대상 시스템은 로봇, 가공기, 3D 프린터 및 기타 동적 시스템을 포함하는 다축 제어 시스템이며, 상기 제어대상 시스템에는 각도, 각속도 및 관절 토크 중에서 적어도 하나를 측정하는 센서가 설치될 수 있다.
다음, 상기 오차 보상부는 상기 제어대상 시스템의 모델링 오차를 상쇄하는 오차 보상값을 계산한다(S120).
이때, 상기 오차 보상부는 다층 구조의 인공신경망(Neural Network, NN)을 포함하여 구성되고, 외력 감지부에서 소정의 계산 과정이 수행되기 전에, 상기 제어대상 시스템 자체의 모델링 오차를 계산한 후 상기 계산된 모델링 오차에 따른 오차 보상값을 다시 계산하여 출력하는 과정을 수행하게 된다.
바람직하게, 상기 오차 보상부는 외력이 가해지지 않은 상태에서 상기 제어대상 시스템의 모델링 오차로 추정되는 외력인 트레이닝값을 계산하고, 상기 트레이닝값을 반영하여 인공신경망의 가중치(weight)와 임계치(bias)를 갱신한 다음, 상기 갱신된 가중치 및 임계치에 따라 상기 오차 보상값을 계산하게 된다.
한편, 상기 오차 보상부의 인공신경망은 역전파 알고리즘(Backpropagation Algorithm)을 이용하여 가중치 및 임계치를 갱신할 수 있다.
실질적으로, 상기 오차 보상부는 아래의 수학식 6을 이용하여 상기 트레이닝값을 계산할 수 있다.
[수학식 6]
Figure pat00017

여기서, v는 트레이닝값이고, τ는 관절 토크이며, CT는 C행렬(코리올리 및 구심력 행렬)의 전치행렬이며, q는 각도이며,
Figure pat00018
는 각속도이며, g(q)는 중력 벡터이며, r은 잔류(residual)이며, P는 일반화 운동량(Generalized Momentum)을 뜻한다.
또한, 상기 오차 보상부는 아래의 수학식 7을 이용하여, 상기 트레이닝값에 따른 인공신경망의 가중치의 변화량 및 임계치의 변화량을 먼저 계산한다.
[수학식 7]
Figure pat00019

여기서, Δw1 ij(t)는 인공신경망의 첫 번째 층(layer)의 가중치 변화량이고, η는 학습율(learning rate)이며, s1 j는 j 번째 은닉층의 출력이며, xi는 i 번째 입력값이며, n0는 인공신경망의 출력값 갯수이며, vk는 k 번째 트레이닝값이며, w2 jk는 인공신경망의 두 번째 층의 가중치이고, α는 모멘텀 계수(momentum coefficient)이며, t는 시간을 뜻한다.
또한, Δw2 jk(t)는 인공신경망의 두 번째 층의 가중치 변화량이고, Δb1 j(t)는 인공신경망의 첫 번째 층의 임계치 변화량이며, Δb2 k(t)는 인공신경망의 두 번째 층의 임계치 변화량을 뜻한다.
그리고, 상기 오차 보상부는 아래의 수학식 8을 이용하여, 가중치 및 임계치의 변화량을 반영하여 인공신경망의 가중치 및 임계치를 갱신함으로써, 상기 제어대상 시스템의 모델링 오차를 최소화할 수 있도록 가중치와 임계치를 학습한다.
[수학식 8]
Figure pat00020

여기서, w1 ij(t)는 인공신경망의 첫 번째 층에 갱신된 가중치이고, w1 ij(t-1)은 인공신경망의 첫 번째 층의 과거 가중치이며, Δw1 ij(t)는 인공신경망의 첫 번째 층의 가중치 변화량이며, w2 jk(t)는 인공신경망의 두 번째 층에 갱신된 가중치이고, w2 jk(t-1)은 인공신경망의 두 번째 층의 과거 가중치이며, Δw2 jk(t)는 인공신경망의 두 번째 층의 가중치 변화량이며, b1 j(t)는 인공신경망의 첫 번째 층에 갱신된 임계치이고, b1 j(t-1)은 인공신경망의 첫 번째 층의 과거 임계치이며, Δb1 j(t)는 인공신경망의 첫 번째 층의 임계치 변화량이며, b2 k(t)는 인공신경망의 두 번째 층에 갱신된 임계치이고, b2 k(t-1)은 인공신경망의 두 번째 층의 과거 임계치이며, Δb2 k(t)는 인공신경망의 두 번째 층의 임계치 변화량을 뜻한다.
또한, 상기 오차 보상부는 아래의 수학식 9를 이용하여, 갱신된 가중치 및 임계치에 따른 상기 오차 보상값을 계산한다.
[수학식 9]
Figure pat00021

여기서, s1 j는 j 번째 은닉층의 출력값이고, nI는 입력값의 갯수이며, xi는 i 번째 입력값이며, w1 ij는 첫 번째 층의 가중치이며, b1 j는 첫 번째 층의 임계치이며, nH는 은닉층 뉴런의 갯수이며, w2 jk는 두 번째 층의 가중치이며, b2 k는 첫 번째 층의 임계치이며, s2 k는 오차 보상값(y)을 뜻한다.
그 다음, 외력 감지부가 상기 제어대상 시스템의 센서에서 측정된 각도, 각속도 및 관절 토크와 상기 오차 보상값을 입력받아 외력 토크를 계산한다(S130).
이때, 상기 외력 감지부는 각도, 각속도 및 관절 토크로부터 잔류(residual) 외력을 추정하는 관측기(residual observer)로 구비되며, 상기 오차 보상값을 차감하여 상기 외력 토크를 계산함으로써, 상기 제어대상 시스템의 모델링 오차에 의한 영향을 최소화한다.
바람직하게, 상기 외력 감지부는 아래의 수학식 10 및 조건식 2를 이용하여 상기 외력 토크를 계산할 수 있다.
[수학식 10]
Figure pat00022

[조건식 2]
Figure pat00023

여기서, r(t)는 외력 토크(τe)이고, τ는 관절 토크이며, CT는 C행렬(코리올리 및 구심력 행렬)의 전치행렬이며, q는 각도이며,
Figure pat00024
는 각속도이며, g(q)는 중력 벡터이며, y는 오차 보상값이며, r은 잔류(residual)이며, P는 일반화 운동량(Generalized Momentum)을 뜻한다. 또한, K는 저역 통과 필터의 차단 주파수이고, s는 라플라스변환 변수(Laplace transform variable)를 뜻한다.
그 다음에는, 상기 외력 감지부가, 상기 계산된 외력 토크로부터 상기 제어대상 시스템에 가해진 외력을 감지한다(S140).
이때, 상기 외력 감지부는 사전에 설정된 문턱값(threshold)과 외력 토크를 비교하여 상기 제어대상 시스템으로 가해진 외력을 감지하게 된다. 또한, 외력이 감지된 경우, 상기 외력 감지부는 상기 제어대상 시스템으로 외력의 감지 여부를 알리는 신호를 전송하게 된다.
다만, 상기 외력 감지부에서 직접 외력을 감지하지 않고, 상기 제어대상 시스템으로 외력 토크에 대한 정보를 전송하도록 구현될 수도 있다.
그리고, 전술한 제 140단계에서 상기 제어대상 시스템으로 가해진 외력이 감지되지 않을 경우에는, 전술한 제 110단계부터 다시 반복되게 된다.
이상에서는 본 발명의 바람직한 실시예를 예시적으로 설명하였으나, 본 발명의 범위는 이와 같은 특정 실시예에만 한정되는 것은 아니며, 특허청구범위에 기재된 범주 내에서 적절하게 변경 가능한 것이다.
110 : 오차 보상부
120 : 외력 감지부

Claims (12)

  1. 제어대상 시스템의 센서에서 측정되는 각도, 각속도 및 관절 토크로부터, 상기 제어대상 시스템의 모델링 오차를 상쇄하는 오차 보상값을 계산하여 출력하는 오차 보상부; 및
    상기 제어대상 시스템의 센서에서 측정된 각도, 각속도 및 관절 토크와 상기 오차 보상부로부터 출력된 오차 보상값을 입력받아 외력 토크를 계산하고, 상기 계산된 외력 토크로부터 상기 제어대상 시스템에 가해진 외력을 감지하는 외력 감지부;를 포함하는 외력 감지 시스템.
  2. 제 1항에 있어서,
    상기 오차 보상부는 외력이 가해지지 않은 상태일 때 상기 제어대상 시스템의 모델링 오차로 추정되는 외력인 트레이닝값을 계산하고, 상기 트레이닝값을 반영하여 소정의 가중치(weight)와 임계치(bias)를 갱신하는 인공신경망(Neural Network, NN)을 포함하는 것을 특징으로 하는 외력 감지 시스템.
  3. 제 2항에 있어서,
    상기 오차 보상부는 역전파 알고리즘(Backpropagation Algorithm)을 이용하여 가중치 및 임계치를 갱신하고, 상기 갱신된 가중치 및 임계치에 따라 상기 오차 보상값을 계산하는 것을 특징으로 하는 외력 감지 시스템.
  4. 제 3항에 있어서,
    상기 오차 보상부는 아래의 수학식을 이용하여, 상기 트레이닝값을 계산하는 것을 특징으로 하는 외력 감지 시스템.

    [수학식]
    Figure pat00025


    여기서, v는 트레이닝값이고, τ는 관절 토크이며, CT는 C행렬(코리올리 및 구심력 행렬)의 전치행렬이며, q는 각도이며,
    Figure pat00026
    는 각속도이며, g(q)는 중력 벡터이며, r은 잔류(residual)이며, P는 일반화 운동량(Generalized Momentum)을 뜻함.
  5. 제 1항에 있어서,
    상기 외력 감지부는 각도, 각속도 및 관절 토크를 이용하여, 잔류(residual) 외력을 추정하는 관측기(residual observer)인 것을 특징으로 하는 외력 감지 시스템.
  6. 제 5항에 있어서,
    상기 외력 감지부는 아래의 수학식을 이용하여, 상기 외력 토크를 계산하는 것을 특징으로 하는 외력 감지 시스템.

    [수학식]
    Figure pat00027


    여기서, r(t)는 외력 토크(τe)이고, τ는 관절 토크이며, CT는 C행렬(코리올리 및 구심력 행렬)의 전치행렬이며, q는 각도이며,
    Figure pat00028
    는 각속도이며, g(q)는 중력 벡터이며, y는 오차 보상값이며, r은 잔류(residual)이며, P는 일반화 운동량(Generalized Momentum)을 뜻함.
  7. 외력 감지 시스템에서 수행되는 외력 감지 방법으로서,
    (1) 상기 외력 감지 시스템이, 제어대상 시스템의 센서에서 측정된 각도, 각속도 및 관절 토크를 입력받는 단계;
    (2) 상기 외력 감지 시스템이, 상기 제어대상 시스템의 모델링 오차를 상쇄하는 오차 보상값을 계산하는 단계;
    (3) 상기 외력 감지 시스템이, 상기 제어대상 시스템의 센서에서 측정된 각도, 각속도 및 관절 토크와 상기 오차 보상값을 근거로 외력 토크를 계산하는 단계; 및
    (4) 상기 외력 감지 시스템이, 상기 계산된 외력 토크로부터 상기 제어대상 시스템에 가해진 외력을 감지하는 단계;를 포함하는 외력 감지 방법.
  8. 제 7항에 있어서,
    상기 제 (2)단계에서 상기 외력 감지 시스템은, 외력이 가해지지 않은 상태일 때 상기 제어대상 시스템의 모델링 오차로 추정되는 외력인 트레이닝값을 계산하고, 상기 트레이닝값을 반영하여 소정의 가중치(weight)와 임계치(bias)를 갱신하는 것을 특징으로 하는 외력 감지 방법.
  9. 제 8항에 있어서,
    상기 제 (2)단계에서 상기 외력 감지 시스템은, 역전파 알고리즘(Backpropagation Algorithm)을 이용하여 가중치 및 임계치를 갱신하고, 상기 갱신된 가중치 및 임계치에 따라 상기 오차 보상값을 계산하는 것을 특징으로 하는 외력 감지 방법.
  10. 제 9항에 있어서,
    상기 제 (2)단계에서 상기 외력 감지 시스템은, 아래의 수학식을 이용하여 상기 트레이닝값을 계산하는 것을 특징으로 하는 외력 감지 방법.

    [수학식]
    Figure pat00029


    여기서, v는 트레이닝값이고, τ는 관절 토크이며, CT는 C행렬(코리올리 및 구심력 행렬)의 전치행렬이며, q는 각도이며,
    Figure pat00030
    는 각속도이며, g(q)는 중력 벡터이며, r은 잔류(residual)이며, P는 일반화 운동량(Generalized Momentum)을 뜻함.
  11. 제 7항에 있어서,
    상기 제 (3)단계에서 상기 외력 감지 시스템은, 각도, 각속도 및 관절 토크로부터 잔류(residual) 외력을 추정하는 관측기(residual observer)를 이용하여 상기 외력 토크를 계산하는 것을 특징으로 하는 외력 감지 방법.
  12. 제 11항에 있어서,
    상기 제 (3)단계에서 상기 외력 감지 시스템은, 아래의 수학식을 이용하여 상기 외력 토크를 계산하는 것을 특징으로 하는 외력 감지 방법.

    [수학식]
    Figure pat00031


    여기서, r(t)는 외력 토크(τe)이고, τ는 관절 토크이며, CT는 C행렬(코리올리 및 구심력 행렬)의 전치행렬이며, q는 각도이며,
    Figure pat00032
    는 각속도이며, g(q)는 중력 벡터이며, y는 오차 보상값이며, r은 잔류(residual)이며, P는 일반화 운동량(Generalized Momentum)을 뜻함.
KR1020160061345A 2016-05-19 2016-05-19 외력 감지 시스템 및 이를 이용한 외력 감지 방법 KR20170130755A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160061345A KR20170130755A (ko) 2016-05-19 2016-05-19 외력 감지 시스템 및 이를 이용한 외력 감지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160061345A KR20170130755A (ko) 2016-05-19 2016-05-19 외력 감지 시스템 및 이를 이용한 외력 감지 방법

Publications (1)

Publication Number Publication Date
KR20170130755A true KR20170130755A (ko) 2017-11-29

Family

ID=60812172

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160061345A KR20170130755A (ko) 2016-05-19 2016-05-19 외력 감지 시스템 및 이를 이용한 외력 감지 방법

Country Status (1)

Country Link
KR (1) KR20170130755A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102169879B1 (ko) * 2019-06-03 2020-10-27 한국기계연구원 학습을 이용한 로봇의 충돌 감지 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102169879B1 (ko) * 2019-06-03 2020-10-27 한국기계연구원 학습을 이용한 로봇의 충돌 감지 시스템 및 방법

Similar Documents

Publication Publication Date Title
Zhang et al. Fault diagnosis of a class of nonlinear uncertain systems with Lipschitz nonlinearities using adaptive estimation
CN107192409B (zh) 自动传感器姿态估计的方法
US20200338735A1 (en) Sensorless Collision Detection Method Of Robotic Arm Based On Motor Current
GB2603683A (en) Control methods for a force sensor system
CN104968477B (zh) 监测机器人传感器的一致性
Sushchenko et al. Processing of redundant information in airborne electronic systems by means of neural networks
KR102203960B1 (ko) 위성항법보강시스템을 위한 기계학습기반 gnss 무결성 감시 방법
CN112945225A (zh) 基于扩展卡尔曼滤波的姿态解算系统及解算方法
CN108427400B (zh) 一种基于神经网络解析冗余的飞机空速管故障诊断方法
US10578639B2 (en) Hybrid altimeter for measuring vertical velocity
KR101106048B1 (ko) 센서오차의 작동 중 자동교정 방법과 이를 이용한 관성항법장치
US9776729B2 (en) Method and system for automatically estimating at least one speed of an aircraft
Dodson et al. Microsecond state monitoring of nonlinear time-varying dynamic systems
CA2897699A1 (en) Method of estimation of the speed of an aircraft relative to the surrounding air, and associated system
KR20170130755A (ko) 외력 감지 시스템 및 이를 이용한 외력 감지 방법
KR101262277B1 (ko) 로봇의 충돌검지 방법
Dichev et al. A Kalman Filter-Based Algorithm for Measuring the Parameters of Moving Objects
Caliskan et al. Innovation sequence application to aircraft sensor fault detection: comparison of checking covariance matrix algorithms
KR102238472B1 (ko) 오차 보정 방법 및 센서 시스템
CN110132271B (zh) 一种自适应卡尔曼滤波姿态估计算法
CN115218927B (zh) 基于二次卡尔曼滤波的无人机imu传感器故障检测方法
CN116678434A (zh) 一种基于区间值置信规则库的三自激光惯组故障检测方法
KR102261155B1 (ko) 가상 센서 이중화를 통한 차량 제어 방법 및 그 장치
KR102194238B1 (ko) 실시간 항공기 안정성 상실 위험 예측 시스템 및 예측 방법
CN114754791A (zh) 微机械在轨陀螺故障检测方法及装置