배너
닫기

테크노트

배너

[메카넘 구동 시스템 (6)] 메카넘 로봇 고장진단(2) / 결정트리 학습 및 학습결과

  • 등록 2016.05.23 19:26:34
URL복사

[메카넘 구동 시스템 (6)] 메카넘 로봇 고장진단(1) / 메카넘 로봇의 고장 진단법

[메카넘 구동 시스템 (6)] 메카넘 로봇 고장진단(2) / 결정트리 학습 및 학습결과


4. 결정트리 학습 및 학습결과

결정트리는 질문에 대한 응답 결과에 따라 패턴을 분류하므로 결정트리를 학습하는 것은 훈련 집합 분류를 위한 적절한 질문을 만드는 것이다. 질문을 만드는 과정은 전역탐색 과정으로 훈련샘플로부터 만들 수 있는 모든 후보 질문들 중에서 선택한다. 후보 질문들 중 불순도 감소량이 최대인 질문을 선택한다. 불순도는 훈련 집합의 동질성을 측정해주는 기준으로 1에 가까울수록 다른 부류 정보를 가지고 있는 다양한 샘플이 있는 집합이다. 불순도가 0이면 모두 같은 부류 정보를 가진 샘플들로 구성된 집합이다.


불순도감소량 : 



여기서 는 노드 에서의 불순도, 는 노드 에 포함된 훈련 집합의 크기, 그리고 와 는 각각 하위에 있는 왼쪽 및 오른쪽 노드에 포함된 훈련 집합의 크기이다. 또한, 과 은 각각 하위 왼쪽과 오른쪽 노드의 불순도를 의미한다.



여기서


              

그리고 는 부류, M은 부류의 개수를 의미한다.


그림 5와 그림 6에는 각각 결정트리 학습 알고리즘과 결정트리 인식 알고리즘이 간략히 정리되어 있다.


▲ 그림 5. 결정트리 학습 알고리즘


▲ 그림 6. 결정트리 인식 알고리즘


결정트리 학습을 위해 전진, 후진, 좌측, 우측 이동 상황에서 정상적으로 동작하는 상태와 1개 의 바퀴에 고장이 발생한 상황에 대해 훈련 집합을 수집한다. 정지 상태에서 3초 동안 이동했을 때, 운동 상태를 훈련 집합으로 한다. 수집된 훈련 집합을 이용하여 결정트리를 학습 알고리즘을 이용하여 학습시킨다. 그림 7에 표시된 분포그래프는 각 운동 상황에 대한 훈련샘플의 분포를 나타낸다. 그림 7의 분포그래프에 표시된 마크 ○, 十, △, □, ◇는 각각 정상 상태 그리고 1번 모터, 2번 모터, 3번 모터 및 4번 모터가 정지된 상태를 나타낸다.


▲ 그림 7. 훈련 집합 특징 분포


앞에서 언급된 훈련 집합은 학습을 하면서 그림 8과 같이 다시 분류된다. 그림 8의 분포그래프에 표시된 마크 ○, 十, △, □, ◇의 의미는 그림 7과 동일하다. 그림 8의 학습과정 중 분류된 결과와 그림 7의 기존의 분류정보를 비교해보면 분포그래프가 동일하다는 것을 확인할 수 있다. 


▲ 그림 8. 학습된 결정트리 분류 결과


그림 9는 학습된 결정트리의 구조를 나타낸다. 모든 트리 구조는 깊이가 4이고 9개의 노드를 가진다. 더 이상 분류가 되지 않는 노드인 잎 노드는 분류 결과인 부류 정보를 가지고 있다. 


▲ 그림 9. 학습된 결정 트리 구조


부류 0은 정상 상태를 의미하고, 부류 1은 1번 모터가 정지된 상태, 부류 2, 3, 4는 각각 2, 3, 4번 모터가 정지된 상태를 나타낸다.


5. 실험 결과

학습된 결정트리가 메카넘 로봇의 구동부 고장위치를 정확히 진단하는지 실험을 통해 평가하기로 한다. 실험은 약 3초 동안 정상적인 상태로 전진으로 이동하다가, 그 이후 각 모터에 전원이 입력되지 않는 고장 상황을 부여했을 때, 결정트리의 인식 성능을 평가한다. 그림 10은 전진운동 시 모터 고장 진단 성능 평가이다.


▲ 그림 10. 전진운동 시 모터 고장 진단 성능 평가


그림 10에 표시된 선, 즉 는 각각 휠 #1, #2, #3, #4의 속력을 나타낸다. 메카넘 로봇은 전진 이동 시 시험운동에 대해서 모터의 고장 위치를 정확히 진단하는 것을 확인할 수 있다. 여기에는 지면상 나타내지 않았지만 후진, 우측 및 좌측의 경우에도 정확히 진단하는 것을 확인했다.


김종식 _ 부산대 기계공학부 교수










배너









주요파트너/추천기업