- 306 -
계층적 공정 경쟁 유전자 알고리즘을 이용한 회전형 역 진자 시스템의 최적 Fuzzy 제어기 설계
정승현, 최정내, 오성권 수원대학교 전기공학과
Design of Optimized Fuzzy Controller for Rotary Inverted Pendulum System Using HFC-based Genetic Algorithms
Seung-Hyun Jung, Jeoung-Nae Choi, Sung-Kwun Oh Department of Electrical Engineering. The University of Suwon
θ˙
α ˙ θ ¨ α ¨
=
0 0 1 0
0 0 0 1
0 b d E
− cG
E 0
0 a d E
− bG
E 0
θ α θ˙
α ˙ +
0 0 c η
mη
gK
tK
gR
mE b η
mη
gK
tK
gR
mE V
mθ˙
α ˙ θ ¨ α ¨
=
0 0 1 0
0 0 0 1
0 33 .2 95 3 −1 6.73 47 0 0 67 .4 80 5 −1 1.83 92 0
θ α θ˙
α ˙ +
0 0 2 9.43 27 2 0.82 26
V
mAbstract - 본 논문은 계층적 공정 경쟁 유전자 알고리즘(Hierarchical
Fair Competition-based Genetic Algorithms : HFCGA)을 이용하여 회 전형 역 진자 시스템의 최적 Fuzzy 제어기 설계를 제안한다. 탐색 공간 이 크거나 복잡한 최적해 탐색문제에 대해 조기 수렴 문제를 내제하고 있는 기존의 유전자 알고리즘의 해결방안으로 병렬 유전자 알고리즘이 개발되었으며, HFCGA는 병렬 유전자 알고리즘의 한 구조이다. 본 논문 에서는 회전형 역 진자 시스템에 대해 LQR 제어기와 유사한 형태의 Fuzzy 제어기를 구성하고, HFCGA를 이용하여 최적의 제어기 파라미터 들을 구한다. 그리고 시뮬레이션 및 실제 공정에 적용하여 LQR 제어기 와 설계된 제어기의 성능을 평가한다.
1. 서 론
회전형 역 진자 시스템(Rotary Inverted Pendulum System : RIPS)은 로봇이나 2족 보행 로봇의 자세제어의 기본이 되는 비선형 시스템의 대 표적인 예로서, 동역학적인 구조나 장치가 단순하며 수학적인 모델이 잘 알려져 있다.[1] 이러한 회전형 역 진자 시스템에서 제어목적은 Rotating Arm을 원하는 위치에 오게 하고 그 위치에서 진자를 수직 위 치의 불안정 평형점에 위치하도록 하는 것이다.
본 논문은 역 진자 시스템에 인간의 지식과 경험을 이용한 지적 제어 방식으로 IF-THEN 형식의 규칙으로부터 제어 입력을 결정하는 병렬형 제어인 Fuzzy 제어기를 구성한다.[2] 퍼지제어기는 PID제어기와 비슷한 형태의 제어 파라미터들을 가지고 있다. 그러나 이 퍼지 제어기의 파라 미터들은 수식에 의해 결정될 수 없어서, 시행착오를 거쳐 구하거나 유 전자 알고리즘 같은 최적화 알고리즘을 이용하여 구한다. 일반적으로 유 전자 알고리즘은 전역 해를 찾을 수 있는 최적화 알고리즘으로 잘 알려 져 있으며, 많은 응용에 성공적으로 사용되고 있다. 그렇지만 탐색 공간 이 크거나, 파라미터 수가 많은 경우 세대가 증가하여도 더 좋은 최적 해를 찾지 못하고 지역해에 빠지는 조기 수렴 문제를 내제하고 있다. 조 기 수렴을 억제하고 전역해를 찾기 위한 해결 방안으로써 병렬 유전자 알고리즘이 개발되었으며, 특히 병렬 유전자 알고리즘의 한 구조인 계층 적 공정 경쟁 구조(HFCGA)[3-4]는 큰 탐색 공간을 갖는 문제에 효과적 이다.
회전형 역 진자 시스템의 Fuzzy 제어를 위해 Rotating Arm의 각도 θ 와 Pendulum의 각도 α 를 제어하는 Fuzzy 제어기를 구성하고, 계 층적 공정 경쟁 유전자 알고리즘을 이용하여 제어기의 파라미터들을 최 적화한다. 그리고 Inverted Pendulum의 최적제어에 자주 응용되는 LQR(Linear Quadratic Regulator) 제어와 시뮬레이션 및 실제 플랜트에 적용한 결과를 비교한다.
2. 회전형 역 진자 시스템 및 Fuzzy 제어기 설계
2.1 회전형 역 진자 시스템(RIPS)
Rotating Arm, Pendulum, Potentiometer, SVR 모터로 이루어지고, 진 자의 운동은 연직상에서 불안정한 상태가 되므로 제어력이 가해지지 않 으면 어느 방향으로든지 넘어지는 불안정한 시스템이다.
R o ta tin g A rm P e n d u lu m
S V R 0 2
α&
θ&
<그림 1> 회전형 역 진자 시스템의 구성 및 동작
회전형 역 진자 시스템의 전체적인 구성과 동작은 그림 1과 같고, 모터 의 구동이 Rotating Arm의 원운동으로 연결되어 Pendulum을 제어하도 록 되어있다. Rotating Arm의 각도( θ )는 회전축을 기준으로 왼쪽으로 기울어진 방향을 +방향으로, Pendulum의 각도 ( α )는 수직축으로부터 기울어진 경사각이라 정의하고 오른쪽으로 기울어진 방향을 +방향으로 하였다. 그리고 Euler-Lagrange 방정식과 Lagrangian 방정식을 이용하 여 모델링을 하고, Pendulum의 각( α )을 아주 작다고 가정하여 선형화 하면 최종 식은 다음과 같다.
( J
eq+ mr
2) θ̈ - mLr α̈ = T
output- B
eqθ̇ (1) 4
3 mL
2α̈ - mLr θ̈ - mgL α = 0 (2) T
output= η
mη
gK
tK
g(V
m-K
gK
mθ̇)
R
m(3) 식 (1)~(3)을 이용하여 상태방정식을 만들면 다음과 같다.
a = J
eq+ mr
2, b = mLr, c = 4
3 mL
2, d = mgL, E = ac - b
2,
G = η
mη
gK
tK
mK
2g+ B
eqR
mR
m수식을 대입하여 다시 정리하면 다음과 같다.
2.2 Fuzzy 제어기 설계
본 논문에서 설계한 Fuzzy 제어기의 구조는 그림 2와 같고, 각각의 멤 버쉽 함수는 그림 3과 같다. Rotating Arm의 각도( θ )와 Pendulum의 각도 ( α )를 제어하기 위해 4입력 1출력의 Fuzzy 제어기를 구성하고, 각각의 제어기 파라미터(GE, GD, GE1, GD1, GC)는 다음 장에서 설명 하는 계층적 공정 유전자 알고리즘을 이용하여 최적화한다.
P e n d u lu m p la n t
) ( s Rθ
- +
G C
F I S
G E G D G E 1 G D 1
) θ( s
) θ&( s
) α&( s
) α( s
<그림 2> Fuzzy 제어기 구조
-1
Negative0 1
Zero Positive
-1 -0.5 0 0.5 1
NB NM NS NZ ZPZ PS PM PB
(a) Input M.F. (b) output M.F.
<그림 3> Membership Function
2007년도 대한전기학회 하계학술대회 논문집 2007. 7. 18 - 20
- 307 -
4개의 입력 멤버쉽 함수는 모두 동일하고, 후반부 멤버쉽 함수는 간략 추론을 사용하였다. Fuzzy 제어의 규칙은 다음과 같고, 총 81개의 규칙 을 사용하였다.
IF θ is Negative and
θ˙is Negative and α is Negative and α ˙ is Negative, THEN U is NB.
*NB = -1, NM = -0.75, NS = -0.5, NZ = -0.25, Z = 0, PZ = 0.25 PS = 0.5, PM = 0.75, PB = 1
3. 계층적 공정 경쟁 알고리즘을 이용한 제어기의 최적화 여러 개의 집단을 사용하여 집단 간의 개체가 이주하는 구조를 갖는 병렬 유전자 알고리즘(PGA)[3]이 많이 연구되고 있다. PGA에는 이주 과정에 따라 완전네트구조, 링구조, 이웃이주구조 그리고 본 연구에서 사용한 계층적 경쟁 방법(Hierarchical Fair Competition : HFC)을 도입 한 HFCGA[4]가 있다. 이 방법은 사회적 교육 시스템에서 동등 수준을 가진 그룹으로 나누어 학습에 대한 경쟁을 하며, 우수한 인재는 상위 그 룹으로 진급하는 체계를 병렬 유전자 알고리즘에 적용한 것으로써, 유전 자 알고리즘의 수행과정에서 각 개체들을 적합도별로 나누어 경쟁을 시 킴으로써 공평한 경쟁을 통해 처음 생성된 낮은 수준의 개체가 개선될 기회도 없이 탈락하는 경우를 방지한다. 낮은 수준의 개체도 다음 세대 에서 높은 성능을 갖는 개체로 진화하면, 그 수준에 맞는 집단으로 바로 이동할 수 있다. 이와 같은 원리를 통해서 항상 아래 수준의 집단으로부 터 높은 수준의 개체가 올라올 수 있는 통로를 만들어 놓음으로써, 조기 수렴을 최대로 방지할 수 있다.
HFCGA는 여러 개의 집단이 계층적으로 구성되어있으며, 각 집단은 특정 범위의 적합도를 갖는 개체들로 구성되어 있으며, 하위 수준의 집 단으로부터 개체의 진입을 위한 문턱적합도를 갖고 있다. 그리고 진화과 정은 기존의 유전자 알고리즘과 비슷하지만 이주과정이 있다는 것이 다 른 점이다. HFCGA에서 이주과정은 정해진 일정한 세대 간격마다 수행 하게 된다. 이주과정의 단계는 다음과 같다.
[Step 1] 각각의 집단 개체들의 적합도를 정규화한다.
nf j, i = f j, i / f max (4)
f j , i 는 j집단(demo)의 i번째 개체 적합도,
f max 는 전체 집단의 최대 적합도
[Step 2] 정규화된 적합도를 정해진 문턱적합도들과 비교하여 적합도 수준에 맞는 임시버퍼(Admission brffer)에 개체들을 저장한다.
[Step 3] 각각의 임시버퍼에 저장된 개체들과 해당하는 집단의 낮은 수 준의 개체들을 바꾸어준다. 그리고 최하위수준의 집단은 모든 개체들을 랜덤하게 다시 생성한다.
(A c c e ss) d e m e 1 (T h e w o r st d e m e )
A d m issio n th re sh o ld le v e l 2
In itia liz e p o p u la tio n ra n d o m ly
A d m is sio n b u ffe r fo r d e m e i
. ..
...
In d iv id u a l N o rm a liz e d fitn e ss
...
In d iv id u a l N o rm a liz e d fitn e ss
...
In d iv id u a l N o rm a liz e d fitn e ss
...
In d iv id u a l N o rm a liz e d fitn e ss D e m e 2
D e m e i-1
(E lite ) D e m e i M o v e to th e w o rst
in d iv id u a l
A d m issio n th re sh o ld le v e l i -1 A d m iss io n th re sh o ld le v e l i
A d m issio n th re sh o ld le v e l 3 M o v e to th e w o rst
in d iv id u a l
M o v e to th e w o rst in d iv id u a l
A d m is sio n b u ffe r fo r d e m e i-1
A d m is sio n b u ffe r fo r d e m e 2
<그림 4> HFCGA의 이주 구조
각 집단은 독립적으로 진화하게 되며 진화과정 중 우수한 개체는 자기 수준에 맞는 상위 집단으로 이주하게 된다. 그림 4은 HFCGA의 이주구 조를 보여주며 화살표는 개체들의 이동 가능한 방향을 의미한다.
본 논문에서 사용된 HFCGA는 실수형 GAs를 기반으로 하였으며 선형 순위 선택알고리즘, 수정된 단순교배 알고리즘, 균일 돌연변이 알고리즘 및 엘리트 전략을 사용하였다. 그리고 전체 세대수의 10%마다 이주 과 정을 수행하였다. 유전자 알고리즘에서 목적함수를 평가하기 위해 성능 지수로써 ITAE를 사용하였으며, 식 6와 같이 각 플랜트 출력의 ITAE 합을 목적함수 값( f )으로 사용하였다.
ITAE = :
t E (t ) dt (5) f = IT AE The ta + IT AE Alp ha (6)
4. 시뮬레이션 및 결과고찰
본 논문에서는 회전형 역 진자 시스템을 Fuzzy 제어기를 구성하여 제 어하였으며, Inverted Pendulum의 최적제어에 자주 응용되는 LQR 제어 와 비교하여 그 성능을 평가한다.
J =
:
( x T Q x + u T R u ) dt, u = − Kx (7)
비교 대상이 되는 LQR제어기는 식 7과 같은 성능지수 J 를 최소화하 는 제어 이득행렬 K를 구하는 것으로 정의된다. 성능지수의 Q, R 행렬 은 설계자의 경험이나 시행착오에 의해 보통 구해지며 본 논문에서는 QUANSER사에서 제공한 행렬을 사용하였다.
LQR Controller Fuzzy Controller
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-5 -4 -3 -2 -1 0 1 2
Time[sec]
Angle[degrees)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5
Time[sec]
Angle[degrees)
LQR Controller Fuzzy Controller
(a) θ 시뮬레이션 결과 (b) α 시뮬레이션 결과
<그림 5> 시뮬레이션 결과
그림 5의 시뮬레이션 결과를 보면 Fuzzy 제어기가 LQR 제어기보다 오버슈트는 크지만 수렴속도가 빠름을 볼 수 있다. 그리고 아래 그림 6 의 실제 플랜트에 적용하였을 때 역시, HFCGAs로 최적화된 Fuzzy 제 어기가 수렴속도가 빠르고, LQR 제어기와 비슷한 성능을 가짐을 알 수 있다. 참고로 실제 플랜트결과에서 초기부분의 큰 진동들은 Pendulum을 위로 세우기 위한 Swing 동작이다.
0 2 4 6 8 10 12 14 16 18 20
-30 -20 -10 0 10 20 30 40 50
Time[sec]
Angle[degrees)
LQR Controller Fuzzy Controller
0 2 4 6 8 10 12 14 16 18 20
-200 -150 -100 -50 0 50 100 150 200
Time[sec]
Angle[degrees)
LQR Controller Fuzzy Controller