STUDY
https://brunch.co.kr/@dronestarting/585
세상에 모든 기술은 이상이 현실이 되도록 노력합니다.
무슨 뚱딴지같은 이야기냐면, 내 맘대로 움직이는 듯 보이는 드론도 내 맘과 실제로 비행하는 드론이 똑같지 않다는 거죠. 드론만 그런 건 아니지만 그 차이가 작을수록 좋은 기계, 그리고 좋은 드론이 됩니다.
나는 드론이 45도 앞으로 기울었으면 좋겠다고 이상적인 드론을 기대하며 조종했다면 드론은 45도 기울지만 정말로 45도 기울었는지 확인하려면 현실에서 계속 측정을 합니다. FC 내부의 센서가 하는 일이죠.
https://brunch.co.kr/@matthewmin/61
하지만 조종기의 명령과 드론의 센서는 어느 정도 시간의 차이가 발생합니다. FC의 계산 속도도 이 차이를 만들고 드론이 원하는 움직임을 보이려면 모터도 가속과 감속을 해야 하니까요.
https://brunch.co.kr/@matthewmin/112
https://brunch.co.kr/@matthewmin/89
이 이상과 현실을 차이를 메꾸는 기술이 PID입니다. 명령과 센서 값의 차이를 최소화하기 위해 곱하기와 미분 그리고 적분으로 계산한 값을 더해 주는 이 기술은 드론 외에도 온수 조절기, 엘리베이터, 3D 프린터 등 많은 제어 기술에 동원됩니다.
FC가 조종기의 명령과 센서 측정값을 비교하는 간격을 예전에는 Loootime 이라고 불렀는데 Looptime이 3500이면 계산 속도가 286Hz인 식이었죠.
이런저런 제약 때문에 Looptime에는 한계가 있었지만 Betafligth와 고성능 FC가 나오면서 이 간격이 비약적으로 줄어들었습니다. 언제부터인지 PID를 손보지 않아도 썩 매끄러운 비행이 가능했던 것도 이 때문입니다. PID가 다소 엉성해도 엉성한 결과가 비행에 도드라지기 전에 다음 계산이 진행되니까요.
하지만 곱셈, 미분, 적분으로 계산하는 이 PID 방식에 새로운 제안을 한 사람이 있습니다. 어떤 방법으로 모터를 제어하면 이상과 현실의 간격을 최소화할지 인공지능 기술의 하나인 머신러닝(Mechine Learnig)을 사용해 보자는 아이디어입니다.
논문에는 PID보다 더 빠른 반응을 보였고 데이터가 많을수록 더 좋은 결과를 보였습니다. 물론 너무 많이 넣으면 에러 데이터의 정보 영향력이 커지면서 괴상하게 변하지만 인공지능 기술을 어디에 써야 하나 고민스러운 요즘 퍽 흥미로운 주제입니다.
https://github.com/wil3/neuroflight
실제로 시험할 수 있는 프로그램도 github에 올라와 있습니다. 개발자가 찾은 최적의 설정도 있고 직접 학습시켜 최적의 컨트롤러를 찾을 수도 있습니다.
저는 아직 해보지 못했습니다. 우리 집 인공지능 스피커를 보면 영 못 미덥거든요.
더 많은 드론 이야기를 만나보세요 : FPV미니드론
http://book.naver.com/bookdb/book_detail.php?bid=13584005