Journal of Korea Robotics Society
[ ARTICLE ]
Journal of Korea Robotics Society - Vol. 9, No. 1, pp.11-19
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date Feb 2014
Received 7 Oct 2013 Revised 22 Oct 2013 Accepted 4 Dec 2013
DOI: https://doi.org/10.7746/jkros.2014.9.1.011

유연관절로봇을 위한 정확한 외부토크 측정시스템 개발: 랜덤워크모델을 이용한 칼만필터 기반 추정

박영진1 ; 정완균
1기계 공학, 포항 공과 대학교
Exact External Torque Sensing System for Flexible-Joint Robot: Kalman Filter Estimation with Random-Walk Model
Young-Jin Park1 ; Wan-Kyun Chung
1Mechanical Engineering, POSTECH yajapark@postech.ac.kr

This work was supported in part by the National Research Foundation of Korea (No. 2011-0030075, No.2012M 3A6A3056423 and No. R17-2008-021-01000-0) and in part by the Defense Acquisition Program Administration and Agency for Defense Development
Corresponding author: Mechanical Engineering, POSTECH ( wkchung@postech.ac.kr)


© KROS
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

In this paper, an external torque estimation problem in one-degree-of-freedom (1-DOF) flexible-joint robot equipped with a joint-torque sensor is revisited. Since a sensor torque from the joint-torque sensor is distorted by two dynamics having a spring connection, i.e., motor dynamics and link dynamics of a flexible-joint robot, a model-based estimation, rather than a simple linear spring model, should be required to extract external torques accurately. In this paper, an external torque estimation algorithm for a 1-DOF flexible-joint robot is proposed. This algorithm estimates both an actuating motor torque from the motor dynamics and an external link torque from the link dynamics simultaneously by utilizing the flexible-joint robot model and the Kalman filter estimation based on random-walk model. The basic structure of the proposed algorithm is explained, and the performance is investigated through a custom-designed experimental testbed for a vertical situation under gravity.

Keywords:

flexible-joint robot, external torque estimation, model-based estimation, Kalman filter, random-walk model.

1. 서 론

관절토크센서(joint-torque sensor)는 로봇분야에서 관절토 크나 외부토크를 측정하기 위해 활용되어 왔으며, 특유의 간단한 동작구조와 사용편의성으로 인해 광범위하게 사용 되어 왔다. 예를 들어 모든 관절에 관절토크센서가 장착된 유연관절로봇(flexible-joint robot)에 작용하는 외부토크를 측 정하기 위해 [1-2]에서는 외란관측기 구조를 기반으로 관 절토크센서의 신호를 이용하여 외부토크를 추정하는 토크 관측기(torque observer)를 제안하였다. 추정된 외부토크는 실제 작용한 토크의 저역필터된 신호로, 충돌감지 및 대응 에 활용되었다. [3]에서는 유연관절로봇의 로봇말단부에 작 용하는 외부 힘을 추정하기 위해 시간지연추정기(time delay estimator, TDE)와 미지의 입력에 대한 입력추정기술 (input estimation technique)을 사용한 알고리즘을 제안하였다. 이러한 기존의 연구에서는 주로 유연관절로봇의 매니퓰레 이터 모델을 고려하여 외부로부터 로봇에 작용하는 외부 힘/토크(external force/torque)를 추정하여 다양하게 활용해 왔다.

이와 같이 로봇제어에 있어서 힘 정보가 필요한 경우, 대부분 관절토크센서나 힘 센서를 장착하여 힘을 측정하 여 사용한다. 그러나, 이런 센서들을 사용하더라도 외부에 서 작용하는 힘이나 토크를 정확하게 측정하는 것은 쉬운 문제가 아니다.

이 문제를 좀 더 자세히 살펴보기 위해 그림 1과 같이 1자유도 유연관절로봇에서 외부토크를 측정하는 경우를 가정한다. 여기서 관절토크센서는 후크의 법칙(Hooke’s law)에 따라 선형 비틀림스프링(linear torsional spring)으로 모델링 한다. 그림 1에서 보는 바와 같이 1자유도 유연관 절로봇은 관절토크센서를 중심으로 2개의 독립적인 바디, 즉 모터와 연결되는 모터바디와 외부와 접촉하는 링크바 디를 갖는 2자유도 시스템임을 알 수 있다. 따라서 1자유 도 유연관절로봇에는 적어도 2개의 독립적인 외부토크가 작용할 수 있으며, 그 동역학은 스프링으로 연결된 두 개 의 동역학, 즉 모터동역학과 링크동역학으로 구성된다. 관 절토크센서를 통해 얻게 되는 센서토크는 2가지 외부토크 와 2개의 동역학에 의해 영향을 받아 결정되는 복잡한 신 호로, 단순한 선형 모델로는 충분히 나타낼 수 없다. 예를 들어 링크바디를 통해 들어오는 외부토크(τl)는 링크동역 학(Jq,bq) 에 의해 변형되어 센서토크(τ) 에 나타나게 되 며, 그 결과 τ 는 입력된 τl 과 다를 수 있다. 이러한 현상 은 관절토크센서나 힘/토크 센서와 같은 힘 센서를 사용하 여 외력을 측정하는 경우 일반적으로 발생할 수 있다. 센 서를 통해 측정된 힘 정보는 힘 센서를 중심으로 연결된 하위시스템의 동역학에 의해 영향을 받게 되므로, 힘 정보 는 외력을 그대로 반영하지는 않는다. 따라서 많은 경우, 힘 센서를 사용하여 외력을 측정하는 것은 쉬운 문제가 아니며, [1-3]에서처럼 모델기반 추정(model-based estimation) 을 필요로 하게 된다.

Fig. 1

One-degree-of-freedom flexible-joint robot model

본 논문에서는, 1자유도 유연관절로봇의 외부토크를 추 정하는 문제를 재조명함으로써 관절토크센서로부터 외부 토크를 정확하게 추정하는 방법을 모색한다. 1자유도 유연 관절로봇에 작용하는 두 가지 주된 외부토크에는 구동모 터토크(actuating motor torque)와 외부링크토크(external link torque)가 있다. 제안한 외부토크 추정알고리즘(external-torque estimation algorithm)은 유연관절로봇 동역학을 전부 사용하여 통합된 방법으로 구동모터토크와 외부링크토크 를 동시에 추정한다. 제안한 알고리즘은 링크바디에 해당 하는 동역학만을 고려하여 외부링크토크만을 추정하는 기 존의 연구[1-3]보다 더 많은 정보를 제공할 수 있으며, 따라 서 유연관절로봇 제어에 다양하게 활용될 수 있다. 예를 들어 얻어진 외부링크토크는 로봇에 가해지는 외력에 대 한 순응제어(compliant control)에 활용될 수 있고, 구동모터 토크는 로봇의 토크서보제어에 사용될 수 있다.

알고리즘을 정확하게 검증하기 위해 그림 1의 모델을 참고하여 실험장치가 제작되었다. 특히 관절토크센서가 모 델링 한대로 선형스프링처럼 동작하도록 보장하기 위해 유연피벗 메커니즘(flexure pivot mechanism)을 이용한 별도 의 비틀림스프링이 제작되어 관절토크센서로 활용되었다. 제안한 알고리즘의 성능은 제작한 실험장치를 이용하여 중력이 작용하는 환경에서의 실험을 통해 검증되었다. 본 논문에서 제안한 알고리즘과 실험결과가 관절토크센서와 유연관절로봇 모델을 이용한 외부토크 측정방법에 대한 단초를 제시할 것으로 기대한다.

본 논문의 2장에서는 제안한 알고리즘에 대해서 자세히 설명하며, 3장에서는 개발한 1자유도 유연관절로봇 실험장 치에 대해서 구체적으로 다룬다. 4장에서는 성능 검증을 위하여 중력이 작용하는 상황에서 수행한 실험결과를 제 시하며, 마지막으로 5장의 결론으로 정리한다.


2. 외부토크 추정알고리즘 개발

이 장에서는 개발한 외부토크 추정알고리즘에 대해 자 세히 소개한다. 그림 2에서 제시한 바와 같이, 제안한 알고 리즘은 모터 각위치(θ)와 관절토크센서로부터 얻은 센서 토크(τ) 를 이용하여 1자유도 유연관절로봇에 작용하는 구동모터토크(τm) 와 외부링크토크(τl) 를 동시에 추정한 다. 알고리즘은 유연관절로봇 동역학과 랜덤워크모델 (random-walk model)를 이용한 칼만필터 추정(Kalman filter estimation)을 기반으로 한다.

Fig. 2

Overall scheme of the external torque estimation algorithm

2.1. 1자유도 유연관절로봇 모델링

1자유도 유연관절로봇은 그림 1에서와 같이 더블바디시 스템(double-body system)으로 모델링 된다[4]. 시스템은 두 개의 독립된 바디를 갖기 때문에 단 두 개의 독립적인 합 력(resultant torques)만 존재한다. 본 논문에서는 모터바디 Jθ (또는 링크바디 Jq)에 작용하는 토크 중 모델에 포함된 점 성마찰을 제외한 모든 토크는 τm(또은 τl)에 나타난다고 가정한다. 만약 모델링 되지 않은 마찰력이 작용한다면 τm 이나 τl 에 나타나게 된다.

그림 1에 표현된 시스템은 측정 가능한 파라미터인 θτ 에 대하여 다음과 같이 나타낼 수 있다[4]:

θ..=-bθJθθ.-1Jθτ+1Jθτmτ..=kbqJq-bθJθθ.-k1Jθ+1Jqτ-bqJqτ.+kJθτm-kJqτl(1) 

여기서 θ는 모터의 각위치를 의미하고, q는 링크바디의 각 위치를 나타내며, 관절토크센서의 강성계수(stiffness) k에 대 하여 관절토크센서로부터 얻은 센서토크는 τ = k(θ - q) 로 주어진다. 그 외의 시스템 파라미터는 제 3.1절의 표 1에서 확인할 수 있다. 알고리즘에서 두 개의 외부토크를 추정하 기 위해서는 두 개의 독립적인 식이 필요하다. 따라서 제 안한 알고리즘은 추정과정에서 (1)에 나타난 식을 전부 활 용한다.

System parameters

2.2. 랜덤워크모델을 이용한 입력동역학 모델링

칼만필터로 임의의 파라미터 값을 추정하기 위해서는 그 파라미터를 칼만필터의 상태백터(state vector)로 표현되 어야 하며, 이는 해당 파라미터의 동역학을 알 수 있다는 것을 의미한다. 마찬가지로, 칼만필터를 이용하여 구동모 터토크 τm 과 외부링크토크 τl 을 추정하려면 각각의 동역 학에 대해 알 수 있어야 한다. 그러나 (1)에서 보는 바와 같이 두 토크는 유연관절로봇의 입력으로서, 유연관절로봇 동역학에 존재하는 유일한 독립변수들이다. 따라서 일반적 으로 이 입력들의 동역학은 미리 알 수가 없다. 이 문제를 해결하기 위해 본 논문에서는 랜덤워크모델을 활용한다. 로봇분야에서는 실용적인 목적에서 추정하고자 하는 변수 를 랜덤변수로 가정하고, 그것의 동역학을 간략화 된 랜덤 워크모델(즉 비정적 랜덤 프로세스(non-stationary random process))로 가정한다[5-7]. 예를 들어, 시스템에 작용하는 미 지의 외란(unknown equivalent disturbance)을 알아내기 위해, 그것이 시스템에 랜덤하게 들어온다고 가정하여 능동상태 (active state)에 포함시킴으로써 능동관측기(active observer (AOB)) 제어구조를 통해 외란을 추정할 수 있다[8]. 제안한 알고리즘에서는 다음과 같은 입력동역학 모델을 가정한다[9]:

ddtτmtτlt=w1tw2t=wt(2) 

여기서 w1(t) 와 w2(t) 는 백색잡음프로세스(white noise processes)로 서로 독립적이다. 제안한 알고리즘에서는 입력 동역학 (2)를 유연관절로봇 동역학 (1)에 통합하여 칼만필 터에 적용한다.

2.3. 칼만필터 추정을 위한 통합된 자율시스템 모델

가정한 입력동역학을 이용하여 최종적으로 유연관절로 봇 시스템을 다음과 같이 모델링 한다.

ddtxt=Axt+Bwwtzt=θtτt=Hxt+v1tv2twherext=θθ.τmττ.τlTA=0100000-bθJθ1Jθ-1Jθ000000000000100kbqJq-bθJθkJθ-k1Jθ+1Jq-bqJq-kJq000000Bw=001000000001TH=100000000100(3) 

여기서 v1(t) 과 v2(t) 는 측정잡음(measurement noise)를 의미하며 백색잡음으로 가정한다. 통합된 시스템 모델 (3) 을 보면 최종적으로 유연관절로봇이 자율적인 선형시불변 시스템 (autonomous linear-time-invariant (LTI) system)임을 알 수 있다. 이로 인해 일반적인 선형칼만필터를 적용해도 외 부토크를 정확하게 추정하는데 충분하다. 통합된 모델 (3) 을 이산화(discretization)한 후에 다음과 같은 선형칼만필터 를 적용한다[7,10].

Linear Discrete Kalman Filter

  • Prediction (a priori)
    xkk-1=Ak-1xk-1k-1
    Pkk-1=Ak-1Pk-1k-1Ak-1T+Bw,k-1Qk-1Bw,k-1T
  • Update (a posteriori)
    zk=zk-Hkxkk-1
    Dk=Pkk-1HkT
    Sk=HkDk+Rk
    Kk=DkSk-1
    xkk=xkk-1+Kkzk
    Pkk=Pkk-1-KkDkT

여기서 Qk는 프로세스잡음 공분산행렬(process noise covariance matrix)이고 Rk는 측정잡음 공분산행렬(measurement noise covariance matrix)를 의미한다. Q0R0를 포함하여 선 형칼만필터를 실행하는데 필요한 모든 파라미터는 최대한 실제값을 추정할 수 있도록 실험적으로 직접 설정하였다. 선형칼만필터를 기반으로 측정값 θτ 를 이용하여 τmτl 을 매우 간단하고 정확하게 추정할 수 있다.


3. 1자유도 유연관절로봇 실험장치 개발

제안한 알고리즘의 성능을 검증하기 위해 1자유도 유연 관절로봇이 제작되었다. 저자의 이전 연구에서는, 실험장 비에 사용된 하모닉드라이브(harmonic drive)에서 발생한 마 찰력 및 모델 불확실성을 충분히 제어할 수 없었기 때문 에, 제안한 알고리즘의 성능이 충분히 검증되지 못했었다 [11]. 통제되지 않는 변인의 영향을 줄이고, 제안한 알고리즘 의 모델 의존도를 경감시키기 위해, 그림 1의 시스템을 모 사한 실험장비를 별도로 제작하였다. 특히 관절토크센서의 경우, 상용의 관절토크센서를 사용하지 않고 비틀림스프링 을 만들어서 사용하였다. 상용 관절토크센서는 대체로 매 우 고가이며, 또한 관절토크센서가 선형스프링으로서 동작 하도록 확실히 보장하기 위하여 유연피벗 메커니즘(flexure pivot mechanism)을 활용하여 별도의 스프링을 저비용이면 서 최대한 이상적인 비틀림스프링처럼 동작할 수 있도록 설계하였다.

이 장에서는 개발한 실험장비에 대해 자세히 설명한다.

3.1. 실험장비 세부사항

그림 3에서와 같이 개발한 실험장비는 그림 1과 같이 더블바디 구조를 갖도록 설계가 되었으며, 최종적으로 그 림 3와 같이 진자와 유사한 구성을 갖는 1자유도 유연관 절로봇으로 제작되었다. 두 개의 바디, 즉 JθJq는 각각 모터바디와 링크바디를 의미하며, 넓은 토크범위에 대해서 실험을 할 수 있도록 스테인리스 강으로 무겁게 만들었다. 모터바디에 테스트토크를 가하기 위하여 AC 모터 (Yaskawa Σ-V motor, SGMJV-04, rated torque: 1.27Nm, rated speed: 3000 rpm)를 설치하였다. 그리고 링크바디에 중력과 같은 외부토크를 인가할 수 있도록 그림 3와 같이 추가보 조장치를 장착할 수 있도록 설계했다. 또한 각 바디를 직 접 조작할 수 있도록 열린 구조를 채택하였다. 양쪽에 두 개의 광학 엔코더(optical encoder, USDIGITAL, E6-2500-236, 2500 CPR)를 장착하여 모터 각위치 θ 와 링크 각위치 q 를 측정했다. 센서토크 τ 를 구하기 위한 스프링변위는 두 각위치의 차이를 통하여 계산하였다. 각각의 바디는 별도 로 윤활 한 볼베이링에 의해 지지된다.

Fig. 3

One degree-of-freedom flexible-joint robot testbed

시스템 파라미터의 경우 비교적 간단한 시스템 식별 (system identification) 방법을 사용하여 얻었다. 각 바디의 관성모멘트는 CAD 데이터로부터 산출하였다. 관절토크센 서의 강성계수 및 각 바디 점성마찰계수는 스프링-질량-댐 퍼 시스템(spring-mass-damper system) 모델을 이용한 곡선적 합(curve fitting)을 이용하여 구했다. 예를 들어 링크바디를 고정시키면 관절토크센서로 인해 모터바디는 스프링-질량-댐퍼 시스템이 된다. 따라서 모터바디를 진동시키고 그때 의 진동궤적을 곡선적합을 이용하여 추정하면 관절토크센 서의 강성계수 및 모터 점성마찰계수를 구할 수 있다. 링 크바디도 같은 방법을 적용하여 파라미터를 구했다. 획득 한 시스템 파라미터는 표 1에 정리해 놓았다.

실험장비는 ㈜ SimLab의 RoboticsLab 소프트웨어를 기반 으로 제어했다[12]. 실시간 적용을 위한 모듈인 realtimeRobotics을 이용하여 1ms 샘플 주기 안에 데이터를 받아 계산하고 DAQ를 이용하여 출력하는 전 과정을 RoboticsLab 소프트웨어 안에 통합할 수 있었다. 따라서 사 용자는 간단한 인터페이스를 통해 실험장치를 조작할 수 있다.

3.2. 유연피벗을 이용한 저강성 비틀림스프링 개발

관절토크센서로 활용하기 위해 비틀림스프링을 직접 제 작하여 사용하였다. 스프링은 그림 4(a)와 같은 큰 가동범 위를 갖는 유연피벗 메커니즘을 참고하여 제작하였다[13]. 고려한 유연피벗은 일종의 순응 메커니즘(compliant mechanism) 으로, 특유의 대칭나비형상구조 (symmetric butterfly structure)로 인해 모든 변형이 8개의 박형 외팔보(cantilever blade)에서 일어난다. 구조적으로 4개의 박형 외팔보가 직 렬로 연결된 것과 같기 때문에 유연피벗은 큰 가동범위를 갖게 된다. 제작된 유연피벗에서는 가동범위를 ±16° 로 설계하였으며, 따라서 스트레인게이지(strain gauge)가 아니 라 광학 엔코더만으로도 스프링에서의 변위를 충분히 측 정할 수 있다. 그 외에도 유연피벗은 스프링으로서 유리한 특성을 많이 가지고 있다. 예를 들어, 유연피벗은 구조적 으로 동작으로 인한 중심이동이 최소화(minimized parasitic translation)되고, 모놀리식의 설계(monolithic design)로 인한 가공 편의성 및 매우 긴 피로 수명을 가지며, 고정밀에, 내 부마찰과 히스테리시스가 없다[13].

Fig. 4

Design and analysis of the flexure pivot

모든 변형이 박형 외팔보에서 일어나므로, 모든 외팔보 내의 변형이 탄성영역 내에서 발생하면 유연피벗은 이상 적인 비틀림스프링처럼 동작하게 된다. 따라서 Dassault systemes Solidworks Corp.의 Solidworks Simulation toolbox를 사용하여 유연피벗에 대한 유한요소해석(finite element method analysis)를 수행하여 설계에 반영하였다[14]. 그 결과 설계된 유연피벗은 그림 4(b)에서와 같이 사용한 모터의 최대정격토크 (1.27N-m) 에서 탄성변형을 보이며, 최대피 크토크 (4.46N-m) 하에서는 내부 관절멈춤장치(intrinsic joint stopper)가 동작하여 스프링을 보호한다. 최종적으로 제작된 유연피벗은 그림 4(a)와 같으며, 알루미늄(AL7075) 을 사용하여 제작하였다(무게: 82.5g, 크기: 50mm×78mm× 15mm (cantilever blade: 15mm×30.4mm×0.9 mm)). 3.1절의 시 스템 식별방법으로 구한 스프링 강성계수는 5.292N-m/rad 로 10,000 ~ 15,000N-m/rad 을 갖는 일반적인 관절토크 센서에 비해 매우 작다[15]. 따라서 제작된 시스템을 활용하 여 좀 더 활발한 스프링 움직임을 고려한 실험을 할 수 있 다.


4. 중력 하에서의 실험

새로 제작된 실험장비를 사용하여 그림 3과 같은 배치 상황에서 실험을 수행하였다. 입력한 모터커맨드토크와 중 력에 의한 외부토크가 시스템에 동시에 작용하게 된다. 제 안한 외부토크 추정알고리즘은 동작 중에 두 토크를 동시 에 추정한다. 이 장에서는 얻어진 실험 결과에 대해서 분 석한다.

4.1. 실험 계획

제안한 알고리즘이 대표적인 두 가지 하중, 즉 정적하중 (constant loading condition)과 동적하중(time-varying loading condition)에 대해서 잘 작동하는지 알아보기 위해 그림 3 와 같은 수직배치상황에서 실험을 진행하였다. 정적하중을 적용하기 위해 설치된 AC 모터를 통해서 유사 스텝토크 커맨드(τstep) 를 입력했다. 동적하중의 경우 그림 3에서와 같이 링크바디에 장착된 보조진자를 통해 입력된다. 모터 커맨드토크로 인해 시스템이 움직임에 따라 보조진자에 걸리는 중력이 변한다. 그 결과 진자를 통해 연속적으로 변하는(smoothly-varying) 동시에 사용자가 그 값을 측정할 수 있는(measurable) 하중이 시스템에 걸리게 된다. 표 1의 파라미터를 바탕으로 링크바디에 걸리는 중력토크는 다음 과 같이 계산할 수 있다:

τg,cal=-mqglCOM sinq(4) 

추정한 τlτg,cal 을 비교하여, 제안한 알고리즘의 성능 을 비교한다.

순수하게 외부를 통해 입력되는 토크를 측정하기 위해 서는 마찰력에 대한 통제가 필요하다. 간단한 시스템식별 과정을 통해 실험장비에 작용하는 점성마찰력은 확인되었 으나 그 외 다른 마찰력은 파악이 되지 않았다. 특히 모터 의 경우 쿨롱마찰이나 스틱션(stiction) 등을 무시할 수 없 기 때문에 이에 대한 조치가 필요하다[16]. 일반적인 매니퓰 레이터 로봇의 경우 외란관측기와 같은 강인제어를 활용 하여 마찰력을 보상할 수 있다. 그러나 유연관절로봇은 불 충분구동시스템이기 때문에 외란관측기를 바로 적용하는 것은 무리가 있다. 최근 [15]에서 수행한 연구는 관절토크 를 음성피드백 함으로써 모터의 관성모멘트를 줄이고, 동 시에 관절탄성진동(joint elastic oscillation) 및 관절 마찰력도 줄일 수 있음을 시사한다. 마찰과 관절탄성진동을 줄이기 위해 이 실험에서도 관절토크를 피드백 함으로써 모터의 관성모멘트를 기존의 30% 수준으로 줄였다. 이렇게 변형 된 모터바디에 달랑베르 힘오차 기반 힘적분제어기 (D’Alembertian force error based force integral control (DEFIC)) 를 적용하여 나머지 마찰력 및 외란을 보상했다. 유연관절 로봇에서 모터바디만 보면 관절토크가 외력을 작용하는 1 자유도 시스템으로 볼 수 있으므로 외력에 대해 열린 외 란관측기의 일종인 DEFIC를 적용했다[17]. 최종적으로 모터 는 다음과 같은 동역학을 따른다.

jθθ..+bθθ.+τ=τstep(5) 

여기서 Jθ=0.3Jθ 이며, bθ 는 사용자정의 점성마찰계수 이다. 새로 얻어진 모터 동역학 (5)에서는 필요한 모든 정 보를 알 수 있으며, 따라서 제안한 알고리즘을 이용하여 정확하게 외부토크를 추정하는 것이 가능하다.

4.2. 중력 하에서의 실험결과

실험결과는 그림 5와 같다. 그림 5(c)와 같은 0.5N-m 의 정적 모터커맨드토크 τm,cmd (=τstep) 에 대해서 시스템은 그림 5(a)와 같이 중력이 작용하는 환경에서의 전형적인 진자운동을 보인다. 그림 5(a)에서 볼 수 있듯이, 관절토크 센서로 사용된 유연피벗의 작은 강성계수로 인해 모터 각 위치 θ 와 링크 각위치 q 는 확연한 차이가 나게 되며, 따 라서 측정된 두 위치의 차이로부터 그림 5(b)와 같이 센서 토크 τ 를 얻을 수 있다.

Fig. 5

Experimental results under gravitational load

알고리즘을 통해 추정한 구동모터토크 τm 는 그림 5(c) 에서 확인할 수 있다. 실험을 통해 알 수 있듯이 비교적 큰 움직임에도 불구하고 τm 은 모터커맨드토크를 매우 정 확하게 추정하는 것을 볼 수 있다. 특히 추정된 τm 은 시 스템의 진자운동에 전혀 영향을 받지 않은데, 이것은 저자 의 이전 연구결과와 극명한 차이를 보인다. 저자의 이전 연구에서는, 적용한 외란관측기의 성능한계로 인해 링크가 급작스럽게 움직일 때마다 추정된 τm 이 크게 흔들리는 것을 볼 수 있다[11]. 그러나 이 실험에서는, 시스템 모델을 정확히 알 수 있도록 실험장비를 제작하고, 제어를 통해 모터바디에 작용하는 힘이 모터커맨드토크와 점성마찰만 존재하도록 잘 통제함으로써 적용한 구동모터토크를 정확 하게 추정할 수 있었다. 제안한 알고리즘은 관절토크센서 에서 본 각 바디의 합력를 추정하기 때문에, 만약 실제 적 용상황에서 통제되지 않은 다른 힘이 있다면, 그 힘도 τm 에 나타날 수 있다[16]. τm 의 추정오차는 약 ±2mN-m 로 인가된 토크의 0.4% 수준이다(그림 6). 따라서 알고리즘은 시스템에 작용하는 구동모터토크를 정확하게 추정한다는 것을 알 수 있다.

Fig. 6

Magnified views of estimated τm and τl

그림 5(d)에서 볼 수 있듯이, 중력토크가 심하게 변하는 상황에서도, 제안한 알고리즘을 통해 외부구동토크 τl 을 정확하게 추정할 수 있었다. 특별히 중력에 대한 고려가 없는 상황에서도 작용하는 중력토크를 중력가속도를 고려 하여 계산한 값의 수준으로 정확하게 추정할 수 있다는 것은 주목할 만하다. 중력 등 외력을 정밀하게 측정하는데 제안한 알고리즘이 하나의 대안이 될 수 있다. 반면, 그림 6에서 볼 수 있듯이 추정한 τl 과 계산된 중력토크 τg,cal 사이에는 약 65ms 정도 시간지연(time delay)이 있다. 이는 피드백 필터의 일종인 칼만필터를 적용하는 과정에서 발 생한 것으로 추측된다. 더 세밀한 파라미터 조정을 통해 시간지연을 조절할 수 있을 것이다.

그림 5(b)에서, 센서토크 ττm 이나 τl 과 다른 양상 을 보인다. 식 (1)에서 알 수 있듯이 τ 는 유연관절로봇에 작용하는 외부토크 (τm,τl) 뿐만 아니라 유연관절로봇의 동역학에도 영향을 받기 때문에 이런 결과는 쉽게 예상할 수 있다. 그러나 이 실험결과는, 단지 관절토크센서를 사 용했다고 해서 그 센서값 (τ) 이 작용하는 외부토크(τm 혹 은 τl) 을 직접적으로 반영하지는 않는다는 것을 시사한다.

따라서 유연관절로봇에 작용하는 외부토크를 정확하게 알 기 위해서는 시스템 모델 등 다른 정보를 이용하여 추정 하는 과정이 필요하다. 또 다른 흥미로운 점은 저강성의 관절토크센서를 사용했음에도 불구하고 τ 의 떨림(ripple) 이 예상외로 크지 않다는 것이다. τ 의 떨림은 관절토크센 서의 스프링 성분과 각 바디의 관성모멘트 사이에서의 에 너지교환에 의해 발생하므로, 이 실험에서와 같이 모터의 관성모멘트를 더 작은 값으로 줄이면 (약 1/113) 모터 관성 모멘트에 저장되는 에너지 자체가 줄어들기 때문에 교환 되는 에너지량이 작아져 떨림을 억제하는 효과를 얻을 수 있다[15]. 이처럼 모터의 관성모멘트를 줄이는 것은 센서토 크의 신호를 좀 더 깨끗하게 하는데 도움을 줄 수 있다.


5. 결 론

본 논문에서는 1자유도 유연관절로봇에 작용하는 외부 토크를 정확히 추정하는 알고리즘을 제안하고, 알고리즘의 성능을 별도로 개발한 유연관절로봇 실험장치를 통해 검 증했다. 유연관절로봇은 관절토크센서를 중심으로 두 개의 바디를 갖는 더블바디시스템으로, 적어도 2개의 독립적인 외부토크, 즉 구동모터토크와 외부링크토크가 작용한다. 제안한 외부토크 추정알고리즘은 유연관절로봇 동역학과 랜덤워크모델을 이용한 칼만필터를 사용하여 통합된 방법 으로 두 토크를 동시에 그리고 정확하게 추정한다. 정확한 성능검증을 위해 시스템모델을 고려한 실험장치 및 관절 토크센서를 개발하였고, 중력이 작용하는 상황에서의 실험 을 통해 제안한 알고리즘이 정적 모터커맨드토크와 동적 중력토크를 모두 잘 추정한다는 것을 확인했다. 추정에 사 용한 랜덤워크기반 기반 칼만필터 기법은 유연관절로봇의 동역학이 있으면 큰 변형 없이 적용할 수 있으므로 제안 한 알고리즘은 다자유도 유연관절로봇에도 적용 가능할 것으로 기대한다.

정확한 외부 힘 정보가 주어진다면, 충돌 감지(collision detection)는 비교적 쉽게 구현할 수 있다[2]. 제 4.2절에서 제 시하였듯이, 제안한 알고리즘은 정밀한 외부 토크를 제공 할 수 있다. 따라서 제안한 알고리즘은 유연관절로봇의 충 돌감지를 구현하는데도 도움을 줄 수 있을 것이다.

References

  • De Luca, A., Albu-Schaffer, A., Haddadin, S., Hirzinger, G., “Collision detection and safe reaction with the dlr-iii lightweight manipulator arm”, (2006), in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS), p1623-1630. [https://doi.org/10.1109/iros.2006.282053]
  • Haddadin, S., Albu-Schaffer, A., De Luca, A., Hirzinger, G., “Collision detection and reaction: A contribution to safe physical human-robot interaction”, (2008), in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS), p3356-3363. [https://doi.org/10.1109/iros.2008.4650764]
  • Phong, L.D., Choi, J., Kang, S., “External force estimation using joint torque sensors for a robot manipulator”, (2012), in IEEE Int. Conf. on Robotics and Automation (ICRA), p4507-4512. [https://doi.org/10.1109/icra.2012.6224977]
  • Shi, J., Ni, F., Wei, R., Liu, H., Hirzinger, G., Robust joint torque control for lightweight robots using sliding mode estimator, (2006), in Proc. IEEE Int. Conf. on Mechatronics and Automation, p1340-1344. [https://doi.org/10.1109/icma.2006.257822]
  • Kwakernaak, H., Sivan, R., Linear optimal control systems, (1972), 172, New York, Wiley-Interscience.
  • Niedzwiecki, M., Identification of time-varying processes, (2000), John Wiley & Sons.
  • Verhaegen, M., Verdult, V., “Filtering and system identification: a least squares approach”, (2007), Cambridge university press.
  • Cortesao, R., “On kalman active observers”, J. Intelligent & Robotic systems, (2007), 48(2), p131-155.
  • Piat, E., Abadie, J., Oster, S., Nanoforce estimation with kalman filtering applied to a force sensor based on diamagnetic levitation, (2011), in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS), p39-44. [https://doi.org/10.1109/iros.2011.6094457]
  • Gibbs, B.P., “Advanced Kalman filtering, least-squares and modeling: a practical handbook”, (2011), John Wiley & Sons.
  • Park, Y.J., Lee, H., Oh, Y., Chung, W.K., “Development of kalman filter based two-port body force observer for the flexible joint: Design and experiments”, (2012), in IEEE Int. Conf. on Robotics and Automation (ICRA), p2717-2722. [https://doi.org/10.1109/icra.2012.6225384]
  • RoboticsLab, http://www.rlab.co.kr.
  • Henein, S., Spanoudakis, P., Droz, S., Myklebust, L.I., Onillon, E., Flexure pivot for aerospace mechanisms, (2003), in Proc. 10th European Space Mechanisms & Tribology Symposium, p285-288.
  • Solidworks, http://www.solidworks.co.kr/.
  • Ott, C., Albu-Schäffer, A., Kugi, A., Hirzinger, G., “On the passivity based impedance control of flexible joint robots”, IEEE Trans. Robot, (2008), 24(2), p416-429. [https://doi.org/10.1109/tro.2008.915438]
  • Park, Y.J., Chung, W.K., “External torque-sensing algorithm for flexible-joint robot based on kalman filter”, Electron. Lett, (2013), 49(14), p877-878. [https://doi.org/10.1049/el.2013.1297]
  • Park, Y.J., Chung, W.K., “Reinterpretation of Force Integral Control considering the control ability of system input”, (2010), in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS), p3586-3591. [https://doi.org/10.1109/iros.2010.5649976]

Fig. 1

Fig. 1
One-degree-of-freedom flexible-joint robot model

Fig. 2

Fig. 2
Overall scheme of the external torque estimation algorithm

Fig. 3

Fig. 3
One degree-of-freedom flexible-joint robot testbed

Fig. 4

Fig. 4
Design and analysis of the flexure pivot

Fig. 5

Fig. 5
Experimental results under gravitational load

Fig. 6

Fig. 6
Magnified views of estimated τm and τl

Table 1

System parameters

Parameter Symbol Value
Moment of inertia of motor-side body Jθ(kg • m2) 0.001660
Moment of inertia of link-side body Jq(kg • m2) 0.05611
Desired motor-side viscous friction coefficient bθN-ms/rad 0.005000
Link-side effective viscous friction coefficient bq(N-m • s/rad) 0.0007694
Stiffness of J/T sensor (i.e., flexure pivot) k(N-m/rad) 5.292
Length of center-of-mass of link lCOM(m) 0.057432
Mass of link-side body mq(kg) 2.9943