드론은 어떻게 작동할까? 드론 해부학 4편 - FC

안녕하세요. 드론전문가지망생 라온제나입니다.
드디어 드론의 기체로 넘어왔습니다.
오늘은 드론의 두뇌역할을 하는 FC에 대해 알아보도록 하겠습니다.



드론의 전자두뇌 FC(Flight Controller) 
요즘의 컴퓨터 프로그램이나 스마트폰 어플들을 보면 참 똑똑하다는 생각이 듭니다. 이런 기능의 어플이 있지 않을까? 하고 검색해보면 분명 다 있다는 사실! 경험해 보셨을 겁니다.... 소오름....;; 

하지만 기술이 아무리 발전하고 세월이 많이 흘렀어도 컴퓨터가 사용하는 언어는 0과 1로 이루어진 이진법이라는 사실에는 변함이 없습니다. 사실 컴퓨터는 똑똑하다기보다 단순한 계산을 엄청나게 빨리하는 능력이  뛰어나다고 볼 수 있는데요, 그 속도가 어마무시하기 때문에 컴퓨터가 마치 사람보다 생각을 더 빨리 하는 것처럼느껴질 뿐입니다.

이러한 컴퓨터의 계산은 CPU가 한다는 것쯤은 모두 알고 계실 겁니다. 스마트폰에서는 비슷한 개념의 AP가 합니다. 
※AP : CPU,메모리,그래픽칩이 하나로 되어 있는 형태
어쩌면 정준하씨의 뇌에는 CPU가 달려 있을지도?!
수백 수천가지 기능을 하는 컴퓨터나 스마트폰만큼은 아니지만 드론의 비행에도 여러가지 수학적 계산이 필요합니다.

우리는 드론을 날릴 때 감각적으로 조종을 하지만 그 명령을 수행하는 드론은 각종센서로부터 받은 정보를 바탕으로 현재 상태를 계산하여 파악하고 사용자의 명령을 수행하게 되기 때문입니다.

안정적인 비행을 위해서는 최소 1초에 150회 이상 자신의 상태를 점검해야 한다 하니 생각보다 똑똑한 녀석인 것 같네요. 

이러한 계산을 담당하고 있는 부분을 FC(Flight Controller)라고 합니다. 
뭔가 복잡해보이는 팬텀3의 FC @_@
FC의 종류마다 특징이 다르고 비행시 비행의 느낌이 다릅니다. 세팅 값에 따라 어느정도 조정이 가능하지만 태생적으로 타고난 성향은 남아 있습니다. 

(DJI사의 팬텀이나 Parrot의 비밥드론, 샤오미 Mi드론 같은 완제품 드론의 경우 FC를 손대실 일은 거의 없을 것입니다. 이런 제품들은 완제품 PC와 같다고 보시면 되겠습니다.)



드론에서 FC가 하는 일
그렇다면 구체적으로 FC는 어떤 일들을 할까요?

FC의 기능
① 비행 정보 수집
② 센서값을 바탕으로 기체 자세 측정
③ 자세 보정을 위한 모터 제어
④ GPS를 이용한 위치 측정 및 임무 수행
⑤시스템 상태 모니터링

등을 수행합니다. 이를 간단하게 다이어그램으로 나타내면 아래와 같습니다.
그림과 FC에는 각종 센서들이 연결되어 있습니다.
※센서는 다음 포스팅때 자세히 다루도록 하겠습니다.

FC의 경우 기체의 안정성과 관련이 있기 때문에 고성능 보다는 신뢰성과 내구성이 높아야 합니다. 


드론에 주로 쓰이는 FC
DJI Naza, A3, 3DR PixHawk, APM, KK2.1, KK-mini, Arduino, Brain FC 등 그 종류가 다양하지만 많은 분들이 사용하시는 대표적인 2가지를 소개해드리도록 하겠습니다.
자작 드론 FC의 양대산맥 CC3D(좌) vs Naze32(우)
① CC3D
CC3D는 라이벌인 Naze32에 비해 기능면에 있어 다소 단순한 편입니다. 하지만 설정 펌웨어인 Openpilot가GUI(Graphical User Interface) 방식으로 비교적 설정이 쉽고 간단합니다.

또한 세팅 관련 동영상 등 자료가 많아 초보자분들이 사용하기 편하다는 장점이 있습니다. 가격대는 $20-25 선으로 초기에 비해 저렴해져서 많은 분들이 사용하고 있습니다.

CC3D의 타고난 성향은 비행 시빠릿한 반응을 넘어 촐랑(?)거리는 느낌을 준다는 평이 많습니다.
※현재 Openpilot 다운로드 페이지가 접속이 안되네요.... 필요하신 분들은 말씀해주시면 메일로 보내드리겠습니다.
※Openpilot 이 Librepilot 으로 변경되었습니다. 
홈페이지 -https://librepilot.atlassian.net/wiki/display/LPDOC/LibrePilot+Documentation
다운로드 - https://librepilot.atlassian.net/wiki/display/LPDOC/Downloads
GUI 방식으로 직관적으로 설정을 할 수 있는 Openpilot
② Naze32
Naze32는 CC3D에 비해 다기능입니다. 기본 설정 펌웨어는 BaseFlight가 있지만 개발자의 독단적인 성격 탓인지 안티가 많아 CleanFlight라는 프로그램을 주로 사용합니다.

CC3D의 Openpilot와 달리 메뉴 방식이기 때문에 처음 접하시는 분들에게는 다소 어려울 수 있지만 세팅 페이지가 많지 않아 익숙해지는데 그리 오래 걸리지 않으며 새로운 기능에 대한 시도를 과감히 하는 편이어서 다양한 기능의 세팅을 원하시는 분들은 사용해보시는 것도 좋을 것 같습니다. 가격은 역시 $20-25 선 입니다.
사실 CC3D도 CleanFlight로 설정이 가능하긴 합니다.
FC는 용도와 특징에 따라 선택!
위에서 말씀드린 두 가지 FC는 사실250mm급 레이싱 드론에서 주로 쓰이고 있습니다.

다른 드론들도 많은데 레이싱 드론으로 설명을 한 이유는 현재자작 드론의 8-90% 이상이 레이싱 드론에 해당하기 때문입니다.

DJI나 3DR과 같은 회사에서도 FC만 따로나오기는 합니다. 이러한 제품들은 별도의 설정 필요 없이 바로 사용할 수 있고 안정성 면에서도 훨씬 뛰어나 촬영용 드론에 주로 사용하시는 편입니다.

하지만 FC 가격만 $200-300에 달하기 때문에 본인만의 촬영용 드론을 제작했을 시완제품 드론보다 훨씬 더 많은 지출이 발생할 수 있어 저라면 그냥 팬텀을 사도록 하겠습니다. 
이녀석들을 사서 만드느니 전 일단 팬텀부터 사도록 하겠습니다...
또한 레이싱 드론은 최소한의 기능으로 최대의 속도를 내는 것이 목적입니다. 비행의 안정성이 다소 떨어지더라도 사용자의 실력으로 보정이 가능하기 때문에 본인의 성향에 맞는 FC 및 설정값을 사용하는 것이 기록의 극대화에 도움이 됩니다.

하지만 우리가 FC에 대해 알아야 하는 더 중요한 이유가 있습니다. 드론은 촬영과 레이싱에 국한되어 있지 않습니다. 앞으로  드론의 영역은 상상 이상으로 확장될 것이고 사용자가 요구하는 기능이나 성능에 적합한 FC의 선택이 중요하게 될 것 입니다.

저도 나름 생각하고 만들어보고 싶은 드론이 있습니다만 아이디어가 노출될 수 있으니(어차피 그전에 누군가 먼저 만들겠지만...) 후에 제작하게 되면 그 때 다른 시리즈로 포스팅하도록 하겠습니다.

이것으로 이번 포스팅을 마치며 오늘도 부족한 포스팅 함께해주셔서 감사드립니다. 

다음 포스팅은 FC에 연결된 각종 센서에 대한 이야기입니다. 그때까지 모두 안전비행 하세요^^
※드론에 관심 있으신 분들은 아래 이미지 클릭하셔서 뽤로우 뽤로우 미~ 해주시면 감사하겠습니다!
위로가기