주제 : 경사면 정속주행 AI전동차
준비물: 자이로센서(기울기측정)가 달린 소형 전동차 (마이크로비트 이용)
미션: 경사도가 계속 바뀌는 오르막길 주행 시 항상 정속주행하도록 모터 출력(토크)을 제어하는 AI 제작
물리영역:
경사각을 세타라 할 때, 차를 뒤로 잡아당시는 힘은 아래 두 힘의 합력이다.
힘1: 중력의 분력 Fg = mgsin세타
힘2: 마찰력 Ff = kmgcos세타 (k:마찰계수)
즉, 전동차가 정속주행하려면 모터 출력은 이 두 힘의 합력 이상이어야 한다.
F = Fg + Ff = mgsin세타 + kmgcos세타
수학영역:
수학에서는 힘 F가 세타에 대한 삼각함수의 일차결합이라는 데 주목한다.
P = a sin세타 + b cos세타
이제 (sin세타, cos세타, 모터출력P) 데이터와 그에 따른 출력 여부(1 or 0) 결과를 모아서, 학습시켜서 경계선 방정식의 파라미터(가중치) a,b를 최적화하자.
z = a sin세타 + b cos세타 – P
# [sin값, cos값, 모터출력, 정답]
data_set = [
[0.17, 0.98, 20, 0], # 1번 실험치
[0.17, 0.98, 40, 1], # 2번 실험치
[0.34, 0.94, 40, 0], # 3번 실험치
[0.34, 0.94, 60, 1], # 4번 실험치
[0.50, 0.87, 50, 0], # 5번 실험치
[0.50, 0.87, 80, 1], # 6번 실험치
]
댓글 남기기