용's

[#5_1] 트레일러 트럭의 퍼지 제어(Fuzzy Control of Trailer Truck) 본문

Computer Science/Intelligence System

[#5_1] 트레일러 트럭의 퍼지 제어(Fuzzy Control of Trailer Truck)

TaeYOng's 2016. 3. 16. 21:31








※ 선지식(Pre-Knowledge): 퍼지 이론(Fuzzy Theory)


(부산대 정보컴퓨터공학부 '지능형 시스템' 수업 요약 및 정리)







퍼지 제어를 이용한 재미난 문제 중에 'Fuzzy Truck Driver'라는 것이 있다. 

여기서는 간단히 소개만 하고 넘어간다. 조금 더 자세히 알고 싶다면 이 논문을 참고하면 되겠다. 


문제를 간단히 설명하면, 트레일러 트럭을 정확히 짐 싣는 곳(Loading Dock)으로 후진시키는 것이다. 



위와 같은 그림에서 목표는 φ=90도, x=xf가 되는 것이다. y의 값은 트럭이 벽과 부딪치지 않게 충분히 크다고 가정하거나 또는 φ와 x만 맞춰지면 직선으로 후진만하면 되기 때문에 중요치 않다.


숙달된 운전자라면 너무도 쉽게 할 수 있는 일이지만 그렇지 못하거나 자동화된 시스템을 만들고자 할 때는 비선형(non-linear) 제어 문제로서 쉽지 않을 것이다. 이 문제에 신경망을 적용하여 풀 수도 있지만 제어 과정의 구조적 지식(퍼지 이론에서 나온 Rule Base of Fuzzy Supervisor 같은...)이 이용 가능하면 Fuzzy 방식이 간단하다는 장점이 있다. 퍼지 이론을 적용한다는 것은 아마 실생활에서도 누군가의 주차를 우리가 봐줄 때 "왼쪽으로 '조금 더' 꺾어봐"와 같이 애매모한 표현들을 이용하여 Fuzzy Controller를 만드는 것이라 볼 수 있을 것 같다.


그럼 가장 먼저 문제의 입출력을 정의해 본다.

Angle φ

Position x

Steering-Angle Signal θ

RB : Right Blow

RU : Right Upper

 RV : Right Vertical

VE : Vertical

LV : Left Vertical

LU : Left Upper

LB : Left Below

LE : Left

LC : Left Center

CE : Center

RC : Right Center

RI : Right

 NB : Negative Big

NM : Negative Medium

NS : Negative Small

ZE : Zero

PS : Positive Small

PM : Positive Medium

PB : Positive Big

이 문제는 φ와 x값을 토대로 θ값을 결정하는 것이다. 예를 들면,

IF x = LE and φ = RB, THEN θ = PS  

(트럭이 왼쪽편에 있고 트럭의 앞뒤축 각도가 오른쪽 아래라면, 앞바퀴를 PS만큼 돌려라)



다음으로 각 언어적 퍼지집합 값에 대한 퍼지 멤버쉽 함수를 정의한다.

위의 Fuzzy Set의 CE, VE, ZE가 다른 Set보다 좁은 폭으로 정한 이유는 적재벽(Loading Dock) 가까이에서는 더욱 정교한 제어가 필요하기 때문이다.


그러면 마지막으로 다음과 같은 Rule Base of Fuzzy Supervisor(또는 Decision Table)를 결정할 수 있게 된다.


 

 x

 LE

LC 

CE 

RC 

RI 

 φ 

 RB

PS

PM

PM

PB

PB

 RU

NS

PS

PM

PB

PB

 RV

NM

NS

PS

PM

PB

 VE

NM

NM

ZE

PM

PM

 LV

NB

NM

NS

PS

 PM 

 LU

NB

NB

NM

NS

PS

 LB

NB

NB

NM

NM

NS

(이 테이블은 하나의 예시일 뿐이고, 일반인이 만들어서는 신뢰성이 떨어지므로 실제 운전을 잘하는 전문가로부터 나와야 하는 테이블이다.)



위의 정보를 토대로 실제 시뮬레이션을 구현하면 다음과 같은 그림의 결과를 얻을 수 있을 것이다.

(하지만 나는 시뮬레이션을 구현하지 않고 그냥 표 보고 파워포인트로 만들었다...;;)








Comments