Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers

  1. (Dept. of Mechatronics Engineering, Chungnam National University, Korea)



Angular acceleration estimation, Data-driven state observer, Complementary filter

1. 서론

각가속도는 동적 시스템에서 요구되는 “가변 강성을 갖는 강건성”을 구현할 수 있는 하나의 방법이 될 수 있다는 개념이 소개되었고[1] 각가속도 프로파일을 이용한 머신 툴 제어 방법이 제안되었다[2]. 각가속도 정보는 다축 시스템의 독립적 제어에 활용될 수 있어 축 간의 상호 커플링 효과를 고려하지 않고 독립된 축 제어를 구현할 수 있으며 매니퓰레이터의 시간 지연 제어 기법(Time delay control)[3,4]과 각가속도 기반의 외란관측기 개념으로 발전해왔다[5,6].

최근 선가속도를 측정하는 AHRS (Attitude and Heading Reference System) 센서가 널리 보급되었다는 점과 샤프트 엔코더 기반의 구동기가 일반화 되었다는 점에서 이 두 센서를 이용하여 구동기 상태 추정 방법에 관한 연구가 로봇 분야에서 활발하게 진행되고 있다. 선가속도 센서 만을 이용한 구동기의 각도 상태 추정 방법이 제안되었고[7] 저가형 선각가속도 센서와 자이로스코프 센서의 퓨전에 의한 구동기 각도 추정 방법이 소개되었고[8] 모터 엔코더와 엔드-이펙터 선가속도 센서 퓨전에 의한 조인트 상태 추정 방법이 언급되었으며[9] 3개의 관성 센서를 이용한 6축의 각도 상태 추정 방법이 제안되었다[10].

또한 이동체의 독립 휠 토크 제어 방법에 관한 연구가 활발히 진행되고 있다. 요-모멘트를 직접 제어하기 위해서 각속도 관측기 기반의 독립 휠 토크 제어 구조가 소개되었고[11] 전류 구동기의 독립적 토크 제어 분배가 차량의 가속도에 어떤 영향을 미치는지에 관한 연구가 언급되었고[12] 퍼지 제어에 의한 토크 분산 제어 알고리듬이 제안되었다[13]. 슬립 안정화를 위한 슬라이딩 모드 제어 기반 토크 분산 제어 방법이 제안되었고[14] 휠 독립제어에 있어 네트워크에 의한 시간 지연 문제가 소개되었다[15].

위에서 설명한 것처럼 로봇과 이동체 등에서 독립된 조인트 또는 독립된 휠의 토크 제어 방식에 대한 연구가 활발하지만 조인트나 휠의 각가속도 상태 추정에 관한 연구는 우리가 아는 한 드문 것으로 판단된다. 본 연구에서는 이 점에 주목해서 조인트나 휠의 각가속도를 추정할 수 있는 상태관측기를 제안하고자 한다.

동적 시스템의 상태관측기 설계를 위해서는 동적으로 변하는 변수에 대한 인식이 반드시 필요하고 동적 시스템의 변수 인식을 위한 최소자승법 알고리듬이 소개되고 있다[16,17]. 본 연구에서 독립된 축은 입력 토크와 출력 엔코더 정보에 기반해서 재귀최소자승법 (Recursive least squared method)에 의해 이차시스템으로 모델링된다[18,19]. 재귀최소자승법에 의해 인식된 이차시스템 모델 (RLS 모델)로 부터 루엔버거 상태관측기를 설계하기 위해서는 관측기 게인 설계가 필요하고 관측기 게인은 RLS 모델로부터 유도되어야만 한다. 이차시스템은 각도와 각속도 상태를 포함하고 있으므로 이차시스템의 상태정보로부터 각가속도 상태를 추정하는 것이 필요하다. 이를 위해 본 논문에서는 확장된 상태 관측기에 의해 각가속도를 추정하는 방법을 제시한다.

독립된 축의 각가속도를 추정하는 또 다른 방법은 유한 차분 방법(finite difference method)을 사용하는 방법이 있다. 하지만 유한 차분 필터의 경우 엔코더에 의한 각도 변위량을 샘플링 시간의 제곱으로 나누어서 구하므로 잡음에 취약하다. 반면, 각가속도 정보를 추정하는 루엔버거 관측기 (확장된 루엔버거 관측기)에 의해 추정된 각가속도 정보는 빠른 샘플링 시간이 요구된다. 느린 샘플링 시간에서 RLS 모델은 초기 최고값 효과를 갖게 되고 초기 최고값 효과는 RLS 시스템 인식이 초기 과정에서 충분한 데이터를 보유하지 못하기 때문에 일정 시간 동안 추정 각도가 드리프트 되는 문제를 발생시키고 이 현상은 관측기 추정 각가속도에 바이어스로 작동하게 되고 상태 추정의 정확성이 떨어지는 문제가 발생된다.

본 논문에서는 유한 차분법의 강점과 확장된 루엔버거 관측기의 강점을 서로 보완하는 상보 필터링 방법을 제안한다. 유한차분법에 의한 추정 각가속도에 대해서는 저역 통과 필터를 적용하고 관측기에 의해 추정된 각가속도 정보에는 고역 통과 필터를 적용한다. 시뮬레이션 결과를 바탕으로 적절한 차단주파수를 사용하게 되고 제시하는 상보 필터링 방법을 통해 RLS 초기 최대 효과와 유한차분 필터링의 고조파 리플 문제 등이 함께 해소될 수 있다는 점을 로봇팔을 대상으로 한 실험 결과를 통해 제시하고자 한다.

2. 문제 정의

2.1 문제 정의 I

임의의 동적 시스템에서 구동축의 각가속도 정보는 이동체 시스템의 선가속도 정보를 알아내는데 필요하게 된다. 그림. 1(a)에서와 같은 독립 구동기 구조의 동적 시스템을 가정한다. 그림. 1(a)에서 $\vec { \tau } _ { A } [ n ]$는 이산시간에서 구동기 입력 토크이고 $\vec { a } _ { A } [ n ]$는 이산시간에서 구동기 각가속도 상태이고 $\vec { f } _ { L } [ n ]$은 이산시간에서 구동기에 의해 발생되는 힘이고 $\vec { a } _ { L } [ n ]$은 이산시간에서 구동기에 의해 발생된 시스템의 선각속도이고 $\vec { f } _ { f } [ n ]$는 이산시간에서 지면에 의한 마찰력이고 $\vec { f } _ { e } [ n ]$는 이산시간에서 외부 환경에 의해 발생된 힘이고 $\vec { f } _ { d } [ n ]$는 이산시간에서 전체 외란이고 그림. 1(b)에서 $\vec { r } [ n ]$는 토크 발생점으로부터 힘 발생점까지의 변위 벡터이다. 그림. 1(a)에서 지면의 마찰력을 무시할 경우 그림. 1(b)와 같은 간단한 모델링이 가능하게 된다.

그림. 1. 임의 동적 시스템의 간단 모델

Fig. 1. A simple model of Dynamical systems

../../Resources/kiee/KIEE.2019.68.2.342/fig1.png

그림. 1(a)의 시스템 동역학은 다음과 같다.

(1a)
$\vec { \tau } _ { A } [ n ] = I [ n ] \vec { a } _ { A } [ n ]$

(1b)
$\vec { f } _ { L } [ n ] + \vec { f } _ { d } [ n ] = \vec { M a } _ { L } [ n ]$

(1a)은 독립 휠 구동기의 동역학이고 여기서 $I [ n ]$는 이산시간에서 관성 질량이다. (1b)는 시스템의 동역학이고 여기서 $M$은 시스템의 질량이다. $\vec { a } _ { A } [ n ]$과 $\vec { a } _ { L } [ n ]$ 사이에는 다음의 관계식이 존재한다.

(2)
$\vec { a } _ { L } [ n ] = \vec { a } _ { A } [ n ] \times \vec { r } [ n ] + \vec { v } _ { A } [ n ] \times \left( \vec { v } _ { A } [ n ] \times \vec { r } [ n ] \right)$

만약 $\vec { a } _ { A } [ n ]$와 $\vec { v } _ { A } [ n ]$를 알고 있을 경우 (2) 식에 의해 $\vec { a } _ { L } [ n ]$을 알 수가 있다. (1a)(1b)의 토크-힘 관계는 $\vec { r } \neq 0$ 조건에서 $\vec { \tau } _ { A } [ n ] = \vec { r } \times \vec { f } _ { L } [ n ]$를 따르게 된다. 따라서 (1b)의 외란을 다음과 같이 추정할 수가 있다.

(3)
$\vec { f } _ { d } [ n ] = \vec { M a _ { L } } [ n ] - \vec { f } _ { L } [ n ]$

1축에서의 간단한 물리적 관계들은 다축으로 확장 적용될 수 있으며 만약 다축의 관성 질량 $I [ n ]$가 서로 독립적인 값으로 정의될 경우 각 각의 모터축은 독립적인 제어 구조를 갖는다.

따라서 각 축의 각가속도 정보를 획득하는 것은 동적 시스템을 쉽게 제어하기 위해 반드시 필요한 절차이다. 본 연구는 일반적인 모터축이 엔코더를 장착하고 있다고 가정하고 각가속도를 추정하는 방법을 제시하고자 한다.

2.2 문제 정의 II

실시간 RLS 방법은 동적 시스템의 변수 인식을 위해 널리 사용되어지고 있다. RLS 알고리듬은 재귀적 방법을 사용하기 때문에 실행 시간이 빠르다는 장점을 갖고 있다. 하지만 RLS 알고리듬은 초기 피킹 효과와 같은 단점도 함께 갖고 있어 초기에 변수 추정 오차가 크게 발생하게 된다. RLS 알고리듬이 정상상태로 작동하기 위해서는 충분한 데이터가 필요하기 때문이다. 이 문제점으로 인해 RLS 모델에 기반한 각가속도 상태관측기는 동일한 문제를 포함하게 된다. 따라서 본 연구에서는 RLS 모델 기반 각가속도 추정 관측기를 설계할 때 발생할 수 있는 초기 피킹 효과를 억제하는 필터링 방법을 함께 제안하고자 한다.

3. RLS 시스템 인식

3.1 RLS 시스템 인식

구동축 입력 토크는 다음과 같이 정의된다.

(4)
$\tau _ { A } [ n ] = k i [ n ]$

여기서 $k$는 토크 상수이고 $I [ n ]$는 이산시간에서 입력 전류이다.

엔코더에 의해 측정된 출력 각도를 $y [ n ]$ 이라 정의하고 RLS 알고리듬을 통해 추정된 출력 각도를 $\hat { y } [ n ]$ 이라 정의할 경우 추정 오차는 다음과 같이 쓸 수 있다.

(5)
$e _ { y } [ n ] = y [ n ] - \hat { y } [ n ]$

RLS 알고리듬에 의한 입력 벡터는 다음과 같다.

(6)
$r [ n ] = [ k i [ n ] k i [ n - 1 ] k i [ n - 2 ] - y [ n ] - y [ n - 1 ] ] ^ { T }$

RLS 알고리듬에 의한 변수 벡터는 다음과 같다.

(7)
$\boldsymbol { \alpha } [ n ] = \left[ \alpha _ { 1 } [ n ] \alpha _ { 2 } [ n ] \alpha _ { 3 } [ n ] \alpha _ { 4 } [ n ] \alpha _ { 5 } [ n ] \right] ^ { T }$

$\hat { y } [ n ]$은 다음과 같다.

(8)
$\hat { y } [ n ] = r [ n ] ^ { T } \boldsymbol { \alpha } [ n ]$

(5)는 다음과 같다.

(9)
$e _ { y } [ n ] = y [ n ] - r [ n ] ^ { T } \boldsymbol { \alpha } [ n ]$

RLS 알고리듬은 비용함수 $\frac { 1 } { 2 } \sum _ { n = 1 } ^ { N } e _ { y } [ n ] ^ { 2 }$를 최소화하는 알고리듬이고 $\frac { d \frac { 1 } { 2 } \sum _ { n = 1 } ^ { N } e _ { y } [ n ] ^ { 2 } } { d \boldsymbol { \alpha } [ n ] } = 0$을 만족하는 $\alpha [ n ]$을 추정하는 방식이다. 따라서 RLS에 의해 인식된 이차시스템 모델의 전달함수 $\frac { \hat { Y } [ z ] } { T _ { A } [ z ] }$는 (6)~(8)로부터 다음과 같이 쓸 수 있다.

(10)
$\frac { \hat { Y } [ z ] } { T _ { A } [ z ] } = \frac { \alpha _ { 1 } + \alpha _ { 2 } z ^ { - 1 } + \alpha _ { 3 } z ^ { - 2 } } { 1 + \alpha _ { 4 } z ^ { - 1 } + \alpha _ { 5 } z ^ { - 2 } }$

여기서 $\hat { Y } [ z ]$는 $\hat { y } [ n ]$에 대한 z-변환 값이고 $T _ { A } [ Z ]$는 $\tau _ { A } [ n ]$의 z-변환 값이다. 본 논문에서는 (10)을 RLS 모델이라고 정의한다.

3.2 이차시스템 상태관측기 게인 설정

상태관측기는 다음과 같이 정의될 수 있다.

(11)
$\boldsymbol { X } [ n + 1 ] = A [ n ] \boldsymbol { X } [ n ] + \boldsymbol { B } [ n ] u [ n ] + \boldsymbol { z } [ n ]$ $y [ n ] = X _ { 1 } [ n ]$

여기서 $\boldsymbol { X } [ n ] = \left[ X _ { 1 } [ n ] X _ { 2 } [ n ] \right] ^ { T }$이고 $A [ n ] = \left[ \begin{array} { c c } { 0 } & { 1 } \\ { - \alpha _ { 5 } } & { - \alpha _ { 4 } } \end{array} \right]$이고 $B [ n ] = [ 0 \quad 1 ] ^ { T }$이고 $u [ n ] = \alpha _ { 1 } k i [ n ] + \alpha _ { 2 } k i [ n - 1 ] + \alpha _ { 3 } k i [ n - 2 ]$이다.

$z [ n ] = \left[ z _ { 1 } [ n ] z _ { 2 } [ n ] \right] ^ { T }$는 상태 관측기 보정 벡터이고 루엔버거 관측기 설계를 위해서는 다음과 같이 설정된다.

(12)
$\begin{aligned} \boldsymbol { z } [ n ] & = \boldsymbol { L } [ n ] e _ { y } [ n ] \\ \boldsymbol { L } [ n ] & = \left[ L _ { 1 } [ n ] L _ { 2 } [ n ] \right] ^ { T } \end{aligned}$

여기서 $L [ n ]$은 루엔버거 관측기 게인 벡터이고 극점 재배치 방법을 통해서 설정될 수 있다. 하지만 극점 재배치 방법은 연속시간 영역에서 정의되어있기 때문에 이산시간에서의 극점 재배치 방법이 필요하다. 제안하는 이산시간 극점 재배치 방법은 다음과 같다.

------------------------------------------------------------------------------------------------------------------------------------------------------------------

Remark I: RLS model을 위한 극점 배치 방법

(a) 이산영역에서,

(i)
$\frac { \hat { Y } [ z ] } { T _ { A } [ z ] } = \frac { \alpha _ { 1 } + \alpha _ { 2 } z ^ { - 1 } + \alpha _ { 3 } z ^ { - 2 } } { 1 + \alpha _ { 4 } z ^ { - 1 } + \alpha _ { 5 } z ^ { - 2 } }$

(b) (ii)를 사용하여 (i)(iii)으로 바꾼다.

(ii)
$z = e ^ { s T } \approx \frac { 1 + s T _ { s } / 2 } { 1 - s T _ { s } / 2 } = \frac { 1 + s T } { 1 - s T } , T = \frac { T _ { s } } { 2 }$

(iii)
$\frac { \hat { Y } ( s ) } { T _ { A } ( s ) } = \frac { A _ { 1 } s ^ { 2 } + A _ { 2 } s + A _ { 3 } } { s ^ { 2 } + A _ { 4 } s + A _ { 5 } }$

$A _ { 1 } = \frac { \alpha _ { 1 } T ^ { 2 } - \alpha _ { 2 } T ^ { 2 } + \alpha _ { 3 } T ^ { 2 } } { T ^ { 2 } - \alpha _ { 4 } T ^ { 2 } + \alpha _ { 5 } T ^ { 2 } }$ ,

$A _ { 2 } = \frac { 2 \alpha _ { 1 } T ^ { 2 } - 2 \alpha _ { 3 } T } { T ^ { 2 } - \alpha _ { 4 } T ^ { 2 } + \alpha _ { 5 } T ^ { 2 } }$ ,

$A _ { 3 } = \frac { \alpha _ { 1 } + \alpha _ { 2 } + \alpha _ { 3 } } { T ^ { 2 } - \alpha _ { 4 } T ^ { 2 } + \alpha _ { 5 } T ^ { 2 } }$ ,

$A _ { 4 } = \frac { 2 T - 2 \alpha _ { 5 } T } { T ^ { 2 } - \alpha _ { 4 } T ^ { 2 } + \alpha _ { 5 } T ^ { 2 } }$ ,

$A _ { 5 } = \frac { 1 + \alpha _ { 4 } T ^ { 2 } + \alpha _ { 5 } } { T ^ { 2 } - \alpha _ { 4 } T ^ { 2 } + \alpha _ { 5 } T ^ { 2 } }$

(c) (iii)의 극점이 K배의 극점을 갖는다면, (iii)(iv)로 표현될 수 있다.

(iv)
$\frac { \hat { Y } ( s ) } { T _ { A } ( s ) } = \frac { A _ { 1 } s ^ { 2 } + A _ { 2 } s + A _ { 3 } } { s ^ { 2 } + K A _ { 4 } s + K ^ { 2 } A _ { 5 } }$

(d) (v)를 이용하여 (iv)(vi)로 변환한다.

(v)
$s = \frac { 2 } { T _ { s } } \frac { z - 1 } { z + 1 } = T _ { z } \frac { z - 1 } { z + 1 } , \quad \quad T _ { z } = \frac { 2 } { T _ { s } }$ $\quad \quad $ $\left. \frac { \hat { Y } [ z ] } { T _ { A } [ z ] } \right| _ { o b s } = K ^ { 2 } \frac { \beta _ { 1 } + \beta _ { 2 } z ^ { - 1 } + \beta _ { 3 } z ^ { - 2 } } { 1 + \beta _ { 4 } z ^ { - 1 } + \beta _ { 5 } z ^ { - 2 } }$

여기서

(vi)
$\beta _ { 1 } = \frac { 4 \alpha _ { 1 } } { \left( 1 - \alpha _ { 4 } + \alpha _ { 5 } \right) + \left( 2 - 2 \alpha _ { 5 } \right) K + \left( 1 + \alpha _ { 4 } + \alpha _ { 5 } \right) K ^ { 2 } }$ ,

$\beta _ { 2 } = \frac { 4 \alpha _ { 2 } } { \left( 1 - \alpha _ { 4 } + \alpha _ { 5 } \right) + \left( 2 - 2 \alpha _ { 5 } \right) K + \left( 1 + \alpha _ { 4 } + \alpha _ { 5 } \right) K ^ { 2 } }$ ,

$\beta _ { 3 } = \frac { 4 \alpha _ { 3 } } { \left( 1 - \alpha _ { 4 } + \alpha _ { 5 } \right) + \left( 2 - 2 \alpha _ { 5 } \right) K + \left( 1 + \alpha _ { 4 } + \alpha _ { 5 } \right) K ^ { 2 } }$ ,

$\beta _ { 4 } = \frac { \left( - 2 + 2 \alpha _ { 4 } - 2 \alpha _ { 5 } \right) + \left( 2 + 2 \alpha _ { 4 } + 2 \alpha _ { 5 } \right) K ^ { 2 } } { \left( 1 - \alpha _ { 4 } + \alpha _ { 5 } \right) + \left( 2 - 2 \alpha _ { 5 } \right) K + \left( 1 + \alpha _ { 4 } + \alpha _ { 5 } \right) K ^ { 2 } }$ ,

$\beta _ { 5 } = \frac { \left( 1 - \alpha _ { 4 } + \alpha _ { 5 } \right) - \left( 2 - 2 \alpha _ { 5 } \right) K + \left( 1 + \alpha _ { 4 } + \alpha _ { 5 } \right) K ^ { 2 } } { \left( 1 - \alpha _ { 4 } + \alpha _ { 5 } \right) + \left( 2 - 2 \alpha _ { 5 } \right) K + \left( 1 + \alpha _ { 4 } + \alpha _ { 5 } \right) K ^ { 2 } }$ .

$If \quad \quad K = 1 \quad then \quad \alpha _ { N } = \beta _ { N } , \quad \quad N \in [ 1,2,3,4,5 ]$

------------------------------------------------------------------------------------------------------------------------------------------------------------------

이산시간 극점 재배치 방법은 RLS 모델로부터 빠른 응답을 얻기 위해 시스템 극점을 재배치하는 방법이다. 관측기 모델의 특성 방정식은 다음과 같이 정의 된다.

(13)
$\lambda ^ { 2 } + \beta _ { 4 } \lambda + \beta _ { 5 } = \operatorname { det } \{ \lambda I - ( A [ n ] - L [ n ] C [ n ] ) \} = 0$

여기서 $C [ n ] = [ {1} \quad {0} ]$이다. 식(13)으로부터 $L [ n ]$은 다음과 같이 결정된다.

(14)
$L _ { 1 } [ n ] = \beta _ { 4 } [ n ] - \alpha _ { 4 } [ n ]$ , $L _ { 2 } [ n ] = \beta _ { 5 } [ n ] - \alpha _ { 5 } [ n ]$

3.3 각가속도 추정 상태관측기

유한 차분법에 의해서 상태를 다음과 같이 정의한다.

(15)
$\begin{aligned} X _ { 1 } [ n + 1 ] & = X _ { 1 } [ n ] + T _ { s } X _ { 2 } [ n ] , \\ X _ { 2 } [ n + 1 ] & = X _ { 2 } [ n ] + T _ { s } \left( - \alpha _ { 5 } [ n ] X _ { 1 } [ n ] - \alpha _ { 4 } [ n ] X _ { 2 } [ n ] + u [ n ] \right) \end{aligned}$

(15)에서 $X _ { 2 } [ n ]$은 각속도 상태를 나타내고 $\left( - \alpha _ { 5 } [ n ] X _ { 1 } [ n ] - \alpha _ { 4 } [ n ] X _ { 2 } [ n ] + u [ n ] \right)$는 각가속도 상태를 나타내고 있음을 알 수가 있다. 따라서 확장된 루엔버거 관측기를 다음과 같이 제안한다.

(16)
$X _ { v } [ n ] = X _ { v } [ n - 1 ] + T _ { s } X _ { a } [ n - 1 ] + L _ { 1 } [ n ] e _ { y } [ n ]$ , $X _ { a } [ n ] = - \alpha _ { 5 } [ n ] X _ { 1 } [ n ] - \alpha _ { 4 } [ n ] X _ { 2 } [ n ] + u [ n ] + L _ { 2 } [ n ] e _ { y } [ n ]$

여기서 $X _ { v } [ n ]$ 각속도 상태로 정의되고 $X _ { a } [ n ]$는 각가속도 상태로 정의된다.

3.4 상보 필터 설계

RLS 방법은 충분한 데이터를 필요로 한다. 충분한 사전 지식이 부족한 상태에서 RLS 방법은 초기 피킹 효과를 발생시킨다. 이 문제점은 RLS 기반 상태관측기의 각가속도 추정 결과에서 일정한 바이어스 신호로 나타난다. 그림. 2그림. 1(b)에 대한 실험 결과를 보여준다. 그림. 1(b)에서 (2)를 이용하여 선가속도를 추정할 경우 측정 값에 비해서 잡음은 작지만 초기 피킹 효과로 인해 일정하게 바이어스된 관측 결과가 나타남을 볼 수가 있다.

그림. 2. 피킹 효과와 바이어스 문제

Fig. 2. Peaking and bias problems

../../Resources/kiee/KIEE.2019.68.2.342/fig2.png

따라서 본 연구에서는 상보 필터에 의한 바이어스 보상 방법을 제안한다. 제안하는 상보 필터 구조는 그림. 3과 같다. 그림. 3에서 $X _ { a , 2 } [ n ]$는 유한차분법에 의한 각가속도 상태이고 $X _ { a , c o m p } [ n ]$는 퓨전된 각가속도 상태이다.

그림. 3. 제안하는 상보 필터

Fig. 3. Proposed complementary filter

../../Resources/kiee/KIEE.2019.68.2.342/fig3.png

그림. 3에서 HPF는 다음과 같다.

(17)
$H P F = \frac { \frac { 2 } { T _ { s } } \left( 1 - z ^ { - 1 } \right) } { \left( \omega _ { c } + \frac { 2 } { T _ { s } } \right) + \left( \omega _ { c } - \frac { 2 } { T _ { s } } \right) z ^ { - 1 } }$

그림. 3에서 LPF는 다음과 같다.

(18)
$L P F = \frac { \omega _ { c } \left( 1 + z ^ { - 1 } \right) } { \left( \omega _ { c } + \frac { 2 } { T _ { s } } \right) + \left( \omega _ { c } - \frac { 2 } { T _ { s } } \right) z ^ { - 1 } }$

여기서 $\omega _ { c } = 2 \pi f _ { c }$이고 $f _ { c }$는 차단주파수이다.

4. 시뮬레이션 검증

본 장에서는 제안한 방법들에 대한 시뮬레이션 연구 결과를 제시한다.

4.1 이산 시간 극점 재배치 방법

두 극점이 각각 0.3, 0.8이라고 가정할 경우 K값에 의한 영향은 그림. 4와 같다. 그림. 4는 시각적으로 확인하기 쉽게 연속시간영역으로 변환된 응답 특성을 제시한다.

그림. 4. 스텝 응답

Fig. 4. Step response

../../Resources/kiee/KIEE.2019.68.2.342/fig4.png

그림. 4에서 보면 K 값의 설정에 따라 응답 시간이 변화됨을 볼 수 있다. K 값이 20일 경우 오실레이션이 발생함을 알 수 있다. 그림. 5는 각 각의 K 값에 따른 극점의 재배치 상태를 나타낸다. K 값이 1보다 작을 경우 극점은 우측으로 이동하게 되고 K 값이 1보다 클 경우 극점은 좌측으로 이동함을 볼 수 있다. 1 보다 큰 K 값은 빠른 응답 특성을 보이지만 매우 큰 값에서는 오실레이션 현상이 발생하므로 적절한 K 값을 사용해야만 한다. 본 연구에서는 K 값은 5를 사용한다.

그림. 5. 극점 위치 변화

Fig. 5. Movements of poles

../../Resources/kiee/KIEE.2019.68.2.342/fig5.png

4.2 상보 필터 효과

다음으로 상보 필터의 효과를 분석한다.

그림. 6에서 estimator1은 유한차분법에 의한 추정 각가속도[21]이고 estimator2는 관측기에 의한 추정 각가속도이고 estimator3는 상보 필터에 의한 추정 각가속도이다. 제안한 상보 필터의 특성은 주파수 영역 분석을 통해 확인될 수가 있다. 그림. 7은 주파수 영역에서 세 개의 추정기를 비교한 결과이다. Estimator1의 경우 저주파수에서 강건한 특성을 보이고 있고 estimator2의 경우 고주파수에서 강건한 특성을 보이고 있음을 알 수 있다. 또한 estimator2의 경우 RLS에 의한 초기 피킹 효과의 영향에 의해서 저주파수에서 민감하게 반응하고 있음을 알 수 있다. 본 시뮬레이션에서는 0.5 Hz의 차단 주파수를 사용하였다. Estimator3는 저주파수에서는 estimator1의 특성을 주요하게 따르고 고주파수에서는 estimator2의 특성을 주요하게 따르는 상보 효과가 발생함을 확인할 수가 있다. 적절한 차단주파수 설정을 통해서 RLS의 초기 피킹 효과를 억제하고 동시에 이중 필터의 리플 문제를 동시에 해결할 수 있음을 알 수 있다.

그림. 6. 상보 필터 효과–시간 영역

Fig. 6. Effect of a complementary filter-time domain

../../Resources/kiee/KIEE.2019.68.2.342/fig6.png

그림. 7. 상보 필터 효과 - 주파수 영역

Fig. 7. Effect of a complementary filter-frequency domain

../../Resources/kiee/KIEE.2019.68.2.342/fig7.png

5. 실험 검증

앞서 제시한 각가속도 상태관측기와 상보 필터는 PC 기반 VC++ 소프트웨어에 적용되었다. 그림. 1(b)의 실험을 위해서 로봇팔을 사용하였다. 실험 환경은 그림. 8과 같다.

그림. 8. 실험 환경

Fig. 8. Experimental setup

../../Resources/kiee/KIEE.2019.68.2.342/fig8.png

실험에서 매니퓰레이터의 우측 팔의 끝단에 Lord MicroStrain 사의 3DM-GX4-25 AHRS 센서를 장착하였다. 장착된 AHRS 센서는 3축의 선가속도를 측정할 수가 있다. RLS 인식에 사용된 타겟 축의 입력 데이터와 출력 데이터는 다음과 같다.

그림. 9. RLS 입력과 출력 데이터

Fig. 9. Input and output data of RLS

../../Resources/kiee/KIEE.2019.68.2.342/fig9.png

각가속도 추정 실험 결과는 다음과 같다.

그림. 10. 각가속도 추정 결과

Fig. 10. Angular velocity estimation

../../Resources/kiee/KIEE.2019.68.2.342/fig10.png

그림. 10에서 estimator1은 유한차분법에 의한 추정치이고 estimator2는 관측기에 의한 추정치이고 estimator3는 상보필터에 의한 추정 결과이다. Estimator1은 고조파 리플에 의한 잡음이 발생하고 estimator2는 저주파 대역에서 민감하고 estimator3는 저주파 대역에서는 estimator1의 특성을 따르고 고주파 대역에서는 estimator2의 특성을 따르고 있다는 점을 볼 수가 있다. 본 실험에서는 0.1 초라는 느린 샘플링 주기를 사용하였다. 샘플링주기의 영향에 있어서 estimator1의 경우 샘플링 시간이 짧을수록 고조파 리플에 의한 잡음 영향이 강해지게 되고 estimator2의 경우 샘플링 시간이 짧을수록 저주파 피킹 효과가 감소하게 된다. 따라서 관측기를 사용할 경우 일반적으로 빠른 샘플링 주기를 요구하게 된다. 하지만 느린 샘플링 주기를 갖는 시스템의 경우 상보 필터링 방법을 사용해서 각가속도 추정 성능을 향상할 수 있을 거라고 판단된다.

결과적으로 제시한 방법에 의한 선가속도 추정 결과는 그림. 11과 같다.

그림. 11. 선가속도 추정 결과

Fig. 11. Linear No.elocity estimation

../../Resources/kiee/KIEE.2019.68.2.342/fig11.png

그림. 11에서 보면 AHRS 센서 측정 결과는 잡음을 매우 많이 포함하고 있음을 알 수가 있다. Estimator1의 경우 각가속도 추정 잡음이 선가속도 추정 결과에 반영되고 있음을 알 수 있다. Estimator2의 경우 초기 피킹 문제로 인해 추정 결과들에 오프셋들이 존재할 수 있음을 알 수가 있다. 하지만 Estimator2의 경우 고주파 잡음에 강건한 특성을 갖고 있음을 알 수 있다. Estimator3의 경우 estimator2와 estimator3의 장점을 퓨전한 결과이다.

구동축의 상태를 이용해서 시스템의 end-effector의 상태를 추정하는 것은 매우 흥미로운 일이다. 동적 시스템의 상태를 직접 측정할 수 없을 경우 제안된 간접 측정 방법이 용이하게 사용될 수 있기 때문이다.

최종적으로 그림. 11을 통해 확인된 4개의 방법들에 대한 장점과 단점을 다음과 같이 정리하여 제시한다.

6. 결 론

본 논문에서는 동적 시스템의 각가속도 추정을 위한 상태관측기 설계 방법과 필터를 제안하였다. 상태관측기 설계를 위해서 구동축은 이차 시스템으로 모델링되었고 모델 기반 상태관측기의 게인값은 극점 재배치 방법을 통해 설계되었고 각가속도 추정을 위해 유한 차분법을 이용해서 상태식을 확장하였다. 설계된 상태 추정기는 실시간 시스템 인식 모델을 이용한다는 장점을 갖고 있었지만 데이터 기반 시스템 인식 모델의 초기 피킹 효과가 발생하였다. 피킹 효과로 인해 상태 추정기의 추정 결과 값에 오프셋 문제가 발생했다. 이 문제 해결을 위해 유한차분법에 의한 가속도 추정 방법과 관측기를 퓨전하는 상보 필터를 설계하였다. 본 논문에서는 적절한 차단주파수 설정을 통해서 두 개의 추정 방법이 서로 보완될 수 있음을 확인할 수가 있었다. 실험 결과, 제시된 상보 필터 방법을 통해 관측기의 초기 피킹 효과가 현저히 줄어듦을 확인할 수 있었고 유한차분법의 고조파 리플 문제도 동시에 해결될 수 있음을 확인할 수가 있었다. 본 연구는 10Hz의 낮은 샘플링 주기에서 수행되었다. 고속의 샘플링 주기를 갖는 시스템에서 두 가지 방법이 어떤 형태로 퓨전될 수 있는 것인가에 대한 연구가 필요하다. 또한 상보 필터의 차단주파수를 실시간 최적화하는 연구가 필요하다.

감사의 글

본 연구는 2017년 한국연구재단 기초연구(NRF-2016 R1A22012031)의 지원을 받아 이루어진 연구로 지원에 감사드립니다.

References

1 
Ohnishi K., Shibata M., Murakami T., 1996, Motion control for advanced mechatronics, IEEE/ASME Transactions on Mechatronics, Vol. 1, No. 1, pp. 56-67DOI
2 
Yao B., Majed M. A., Tomizuka M., 1997, High- performance robust motion control of machine tools: an adaptive robust control approach and comparative experiments, IEEE/ASME Transactions on Mechatronics, Vol. 2, No. 2, pp. 63-76DOI
3 
Lee J., Chang P. H., Jin M., 2017, Adaptive integral sliding mode control with time-delay estimation for robot manipulators, IEEE Transactions on Industrial Electronics, Vol. 64, No. 8, pp. 6796-6804DOI
4 
Baek J., Cho S., Han S., 2017, Practical time-delay control with adaptive gains for trajectory tracking of robot manipulators, IEEE Transactions on Industrial Electronics, Vol. 65, No. 7, pp. 5682-5692DOI
5 
Bae Y. G., Jung S., 2018, Balancing control of a mobile manipulator with two-wheels by an acceleration-based disturbance observer, International Journal of Humanoid Robotics, Vol. 15, No. 3DOI
6 
Jeong S. H., Jung S., Tomizuka M., 2012, Attitude control of a quad-rotor system using an acceleration-based disturbance observer: An empirical approach, IEEE/ ASME International Conference on Advanced Intelligent Mechatronics, pp. 916-921DOI
7 
Quigley M., Brewer R., Soundararaj S. P., Pradeep V., Le Q., Ng A. Y., 2010, Low-cost accelerometers for robotic manipulator perception, IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 6168-6174DOI
8 
Roan P., Deshpande N., Wang Y., Pitzer B., 2010, Manipulator stae etimation with low cost accelerometers and gyroscopes, IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 4822-4827DOI
9 
Chen W., Tomizuka M., 2014, Direct joint space state estimation in robots with multiple elastic joints, IEEE/ASME Transactions on Mechatronics, Vol. 19, No. 2, pp. 697-706DOI
10 
Cantelli L., Muscato G., Nunnari M., Spina D., 2015, A joint-angle estimation method for industrial manipulators using inertial sensors, IEEE/ASME Transactions on Mechatronics, Vol. 20, No. 5, pp. 2486-2495DOI
11 
Shino M., Nagai M., 2003, Independent wheel torque control of small-scale electric vehicle for handling and stability improvement, JSAE Review, Vol. 24, No. 4, pp. 449-456DOI
12 
Osborn R. P., Shim T., 2006, Independent control of all- wheel-drive torque distribution, International Journal of Vehicle Mechanics and Mobility, Vol. 44, No. 7, pp. 529-546DOI
13 
Park J., Jeong H., Jang In. G., Hwang S. H., 2015, Torque distribution algorithm for an independently driven electric vehicle using a fuzzy control method, Energies, No. 8, pp. 8537-8561DOI
14 
He H., Peng J., Xiong R., Fan H., 2014, An Acceleration slip regulation strategy for four-wheel drive electric vehicles based on sliding mode control, Energies, Vol. 7, No. 8, pp. 3748-3763DOI
15 
Shuai Z., Zhang H., Wang J., Li J., Ouyang M., 2014, Combined AFS and DYC control of four-wheel- independent-drive electric vehicles over CAN network with time-varying delays, IEEE Transactions on Vehicular Technology, Vol. 63, No. 2, pp. 591-602DOI
16 
Tempel P., Herve P. El., Tempier O., Gouttefarde M., Pott A., 2017, Estimating inertial parameters of suspended cable-driven parallel robots-use case on CoGiRo, IEEE International Conference on Robotics and Automation, pp. 6093-6098DOI
17 
Atkeson C. G., An C. H., Hollerbach J. M., 1986, Estimation of inertia parameters of manipulator loads and links, The International Journal of Robotics Research, Vol. 5, No. 3, pp. 101-119DOI
18 
Lee S. D., Jung S., 2016, An experimental study on real time estimation of a nominal model for a disturbance observer: Recursive least square approach, Journal of Institute of Control, Robotics and Systems, Vol. 22, No. 8, pp. 650-655Google Search
19 
Lee S. D., Jung S., September 20-23, 2016, An identification technique for non-minimum phase systems by a recursive least square method, Proceedings of the SICE Annual Conference 2016,Tsukuba, Japan, pp. 624-626Google Search
20 
Lee S. D., Jung S., 2018, A state and disturbance observer design technique with a recursive least squares method: a second-order system for a CMG, Journal of Institute of Control, Robotics and Systems, Vol. 24, No. 5, pp. 438-444Google Search
21 
Janabi-Sharifi F., Hayward V., Chen C. S. J., 2000, Discrete-time adaptive windowing for velocity estimation, IEEE Transactions on Control Systems Technology, Vol. 8, No. 6, pp. 1003-1009DOI

저자소개

이 상 덕 (Sang-Deok Lee)
../../Resources/kiee/KIEE.2019.68.2.342/au1.png

1998년 전북대학교 전자공학과 졸업

1998년~2000년 LG정밀 근무

2003년 전북대학교 전자공학과 석사

2003년~2014년 삼성중공업연구원

2018년 충남대학교 메카트로닉스 공학과 박사

현재 충남대학교 첨단수송체 연구원

정 슬 (Seul Jung)
../../Resources/kiee/KIEE.2019.68.2.342/au2.png

1988년 미국 웨인 주립대 전기 및 컴퓨터 공학과 졸업

1991년 미국 캘리포니아대 데이비스 전기 및 컴퓨터 공학과 석사

1996년 동 대학 박사 졸업

1997년~현재 충남대학교 메카트로닉스공학과 교수

관심분야는 지능제어 및 지능로봇 시스템, 밸런싱 시스템, 서비스 로봇, 자이로 구동기, 드론, 로봇교육, 자율주행자동차