Build My Own Quadcopter – 나의 쿼드콥터 제작기

Categories Projects

You can read this article in English at 404warehouse blog – Build Your Own Quadcopter

지금까지 친구와 몇번의 멀티콥터 프로젝트를 진행했다. 공모전을 위한 것도 있었고 취미를 위한 것도 있었고 연구목적의 프로젝트도 있었다. 상용 드론을 사용하기도 했고 커스텀으로 직접 제작하기도 했다.

친구는 이제 꽤나 커스텀 쿼드콥터에 관해서 전문가(?)가 되었고 조종도 곧잘 한다. 하지만 나는 여지껏 혼자서 멀티콥터를 직접 제작한 적이 없었다. 그래서 이번엔 나의 RC 취미용 쿼드콥터를 직접 만들어보기로 하였다. 친구의 조언을 구하기도 했고 RC hobbyist들의 웹 포스트나 비디오를 참고하기도 하였다.

이 쿼드콥터가 내가 제작한 쿼드콥터이다.

My Quad

이 포스팅은 어떻게 프레임킷과 제어보드를 이용하여 쿼드콥터를 제작했는지, 그리고 제작할 때의 몇가지 유용한 팁들을 공유하기 위해서 작성했다.

비디오 레퍼런스가 필요한 독자는 이 비디오가 꽤나 훌륭한 레퍼런스가 될 것이다. Marionville Multirotors 라는 유투브 채널의 영상이다. 비디오에선, 이번에 내가 사용했던 쿼드콥터 킷과 같은 모델의 킷을 사용했다.

더불어서 내가 사용한 ArduPilot 플랫폼(제어보드 및 소프트웨어)의 위키에 DJI F330 FlameWheel 에 ArduPilot 보드를 써서 쿼드콥터를 제작하는 아주 상세한 매뉴얼이 올라와 있다.

사실 ArduCopter의 Wiki는 쿼드콥터 제작에 필요한 내용들이 아주 상세하게 총망라되어 있는 유용한 자료이므로 쿼드콥터를 제작할 사람이라면 꼭 살펴보는 것을 추천한다. (아쉬운 점은 가독성이 좀 떨어지고 너무 내용이 많아서 초보자들이 살펴보기엔 조금 어려울 수 있다.)


Build My Own Quadcopter

사실 시중의 부품들을 조립해서 쿼드콥터를 만드는 일은 하나도 어렵지 않다. 쿼드콥터는 기계적으로 복잡한 시스템이 아니다. 기존의 비행체들에서 기계 시스템이 담당하던 것들의 상당 부분을 제어보드 즉 컴퓨터에 일임했기 때문이다. 이는 MCU 즉 소형 컴퓨터 기술의 발달로 가능해진 일인데, 이것이 멀티콥터가 최근들어 각광받는 이유이고, 다양한 어플리케이션들에서 활용되고 있는 이유이다.

다시 말하자면 쿼드콥터의 가장 핵심은 컨트롤러와 제어 소프트웨어이다. 다행히도 제어 SW는 직접 개발하지 않아도 된다. 상용 컨트롤러에 내장되어 있거나, 오픈소스 플랫폼을 이용해서 훌륭한 성능의 소프트웨어를 보드에 업로드 하여 사용할 수 있기 때문이다. 상용 플랫폼을 쓰느냐 오픈소스 플랫폼을 쓰느냐는 선택의 문제이다. 장단이 있는데 이에 대해서는 나중에 좀 더 자세히 포스팅할 기회가 있을 것이다.

쿼드콥터를 제작하기 위해서 필요한 부품은 프레임, 모터, ESC, 제어보드가 전부이다. 조립이 복잡하지도 않아서 몇시간 이내에 제작하고 바로 비행시켜볼 수 있다.

각 부품들의 역할에 대해서 간략히 설명을 해보면 아래와 같다.

  • 프레임 : 쿼드콥터의 뼈대. 쿼드콥터의 arm, 상/하판(플레이트)을 말한다. 경우에 따라서 (짐벌 등을 플레이트 밑에 조립해서 쓰는 경우) 랜딩기어를 따로 조립해서 쓰기도 한다.

  • 모터 : 쿼드콥터는 3상의 BLDC 모터(Brushless DC Motor)를 사용한다.

  • ESC : ESC는 Electronic Speed Control의 약자로, 모터를 제어하고 변속하는 역할을 해준다고 생각하면 간단하다. 자세한 내용은 Wikipedia – Electronic Speed Control 참조.

  • 제어보드(컨트롤러) : 쿼드콥터의 핵심 부품이다. 쿼드콥터의 현재 자세를 센싱해서 상태를 추정하는 것에서 부터시작해서 파일럿의 조종 인풋에 따라 각 모터에 들어가야하는 인풋을 계산하여 출력해주는 부품이다. 시중에 다양한 멀티콥터용 제어보드가 나와있는데 기회가 된다면 추후에 이에 대해서 간략히 포스팅하겠다.

친구는 항상 각 부품을 따로 구매하는데 그것이 훨씬 제작에 들어가는 비용이 적기 때문이다. 하지만 나는 이번에 모터, ESC, 프레임, 프롭이 포함되어 있는 DJI에서 내놓은 킷을 사용했다. 킷을 사용한 이유는 가장 최적의 성능을 낼 수 있도록 부품들이 최적화되어 있기 때문이다. 덧붙여 DJI의 부품들이 퀄리티가 뛰어난 편이기 때문에 어느정도의 비행 성능이 보장되어 있기 때문이기도 했다.

아래의 킷이 내가 사용한 DJI F450 Flame Wheel 킷이다. 시중에서 200~300달러 전후로 구할 수 있다. 이 킷을 구매할때는 NAZA 컨트롤러가 포함되어 있지 않은 셋으로 구매했는데 최근 DJI Online Store에 NAZA 컨트롤러가 포함되어 있는 셋이 35만원 정도로 올라와있다.

DJI F450 Flame Wheel

이 킷을 사용하면 쿼드콥터는 대략 아래의 표와 같은 스펙을 갖게 된다. (이 스펙은 DJI 홈페이지에 올라와 있는 스펙이다.)

F450 Spec

그러나 나는 제어 보드는 DJI의 상용 플랫폼 NAZA를 사용하지 않고 HKPilot v2.5 을 사용했다. HKPilot은 오픈소스 멀티로터 플랫폼인 ArduPilot Mega 의 2.5 버젼 아키텍쳐를 기반으로 하는 보드로 NAZA보다 훨씬 저렴하고 심지어 ArduPilot 플랫폼을 선두하고 있는 3D Robotics의 APM 보드보다도 훨씬 저렴하다. 하지만 비행 성능은 APM이나 NAZA와 거의 동일한 성능을 낸다.

오히려 오픈소스 플랫폼이기 때문에 코드를 수정하기도 좋고, 많은 오픈소스 프로그래머들이 개발한 다양하고 재밌는 기능들이 많이 포함되어 있다. 자세한 내용은 ArduPilot의 Wiki를 참조하길 바란다.

HKPilot 2.5

그 외에 RF 수신기와 UBEC, 그리고 Battery가 필요하다. 만약 이글을 보고 있는 독자가 HKPilot나 APM을 이용해서 쿼드콥터를 제작할 생각이라면 UBEC이나 별도의 파워 모듈이 필요할 것이다. 이 것은 DJI의 ESC가 OPTO 타입, 즉 별도의 전원 공급이 필요한 모듈이기 때문이다.

RF Receiver

이제 준비물들이 모두 준비되었다. 


Steps

조립하기 이전에 메뉴얼을 상세히 읽어보는 것이 굉장히 중요하다.

특히 미리 컨트롤러의 모터 레이아웃과 전기 배선에 대해서 숙지 해놓는 것이 좋다. ArduPilot의 멀티콥터 플랫폼인 ArduCopter 플랫폼을 사용하는 유저는 다음의 ArduCopter Wiki 를 참고하는 것이 좋겠다. ArduCopter를 사용하는 경우 시스템의 구성은 아래의 그림과 같다. (이미지 출처 : ArduPilot Wiki – DJI F330)

Quad Layout

조립 단계는 다음과 같다.

  • 먼저 모터들을 쿼드콥터의 arm에 조립한다. 모터의 회전 방향을 미리 체크 해놓는 편이 좋다. 특히나 DJI 킷의 경우에는 프롭과 모터의 방향이 미리 정해져있다. 모터가 회전하면서 프롭이 self locking 되는 시스템이기 때문에 회전 방향에 따른 모터의 레이아웃들을 가급적 준수해주는 것이 좋다.

Motor & Arm

  • 준비한 프레임 킷이 전원 회로가 플레이트에 포함되어 있는 킷이라면 ESC를 메인 플레이트에 납땜하면 된다. F450 킷은 메인 플레이트에 전원 회로가 내장되어있다.

물론 ESC를 굳이 납땜하지 않아도 무방하다. 이런 경우엔 ESC들의 전원 케이블들을 power distribution board 등에 연결해주면 된다. 내 친구는 이 방법을 더 선호하는데, 납땜을 해서 ESC들을 고정을 해버리면, 수리성이 떨어지고 부품이 고장났을때 교체하기가 쉽지 않기 때문이다. 하지만 나는 ESC들을 플레이트에 납땜했는데, 이러면 쿼드콥터가 굉장히 깔끔해진다.

  • ESC를 납땜한 이후에는 배터리 케이블과 UBEC을 납땜한다. 납땜을 하면서 케이블들이 길게 늘어지지 않도록 케이블을 잘라서 길이를 맞춰주면 좀 더 깔끔해진다.

Soldering

  • 이제 각 arm들을 플레이트에 조립해준다. 모터의 방향을 반드시 확인한다. (보통 붉은색 arm이 앞쪽으로 오게 해주는 편이 좋다. 색이 다르기 때문에 방향 구분이 쉬워진다. 물론 그렇게 하지 않아도 무방하다.)

Ass'y arms with plate

  • ESC를 각 arm에 고정한다. UBEC 모듈도 arm에 고정한다. 보통 케이블 타이를 많이 쓴다.

ESC

  • 이제 컨트롤러를 고정할 차례다. 나는 양면 테이프를 이용했다. 양면테이프를 이용할때는 가급적 튼튼하고 접착력 좋은 양면 테이프를 사용하는 편이 좋다. 진동 때문에 부품들이 떨어지는 경우가 있는데 컨트롤러가 비행중에 떨어지면 큰 사고로 이어질 수 있다. RF 수신기도 함께 접착시켜준다. 컨트롤러는 가급적 무게 중심 가까이에 고정하고 RF 수신기는 플레이트 뒤쪽에 고정시킨다.

보통 앞쪽에는 GoPro와 같은 액션 카메라를 장착한다. 아래 사진은 앞쪽에 GoPro를 장착하고 뒤쪽에 RF 수신기를 장착한 쿼드콥터의 모습이다. 여기에 추가로 FPV 모듈을 달면 FPV, 즉 쿼드콥터의 카메라의 1인칭 시점 영상을 보면서 조종이 가능하다. 자세한 내용은 404warehouse 블로그 포스팅을 참조바란다.

FPV Quad

  • 이제 ESC와 RF 수신기를 컨트롤러와 연결해준다. 이 때 컨트롤러의 어느 핀에 꽂아야 하는지는 컨트롤러의 메뉴얼을 참고하도록 한다. ArduPilot 계열 컨트롤러는 보드 뒷면이나 케이스에 핀번호가 적혀있기도 하다. Input에 RF 수신기를 연결하고 Output에 ESC들의 데이터 케이블을 연결한다. 자세한 배선은 위에 첨부했던 시스템 구성도를 다시 한번 참조하길 바란다. 혹은 ArduCopter Wiki의 이 문서를 참고해도 좋다.

APM

  • 이제 UBEC을 컨트롤러에 연결해줘서 전원을 공급할 수 있도록 해준다. APM 계열의 보드들을 사용하는 경우에는 아래 power 배선을 참고하면 된다. (좀더 자세한 내용은 이 문서Powering the APM 2.5/2.6 Board 항목을 참조하길 바란다.)

Power Rails

  • 여기까지 마쳤다면 대략 아래 사진과 모양이 비슷해질 것이다.

Connection

  • 이제 조립은 거의 끝났다. 컨트롤러에 펌웨어를 업로드 한다. ArduPilot 보드를 이용하는 경우엔 Mission Planner에서 펌웨어를 업로드 할 수 있다. Mission Planner을 이용해서 펌웨어를 업로드하는 과정에 대한 자세한 내용은 이 곳을 참조한다. (아쉽게도 아직 Mission Planner는 Windows에서만 구동 된다.)

Mission Planner Upload

(이미지 출처 : ArduCopter Wiki)

  • 이제 조종기와 RF 수신기를 바인딩 해준다. 조종기마다 설정법이 조금씩 다르다. 조종기의 메뉴얼을 참고하라.

  • 이제 배터리를 연결하고 모터가 제대로 회전하는지 확인해본다. 아직 프롭을 연결하지 않도록 한다. 갑자기 모터가 작동하면 부상이나 쿼드콥터의 파손으로 이어질 수도 있다. 여기서 가장 중요한 것은 모터의 회전 방향이다. 모터가 적절한 방향으로 회전하지 않는 경우에는 모터에 들어가는 3개의 케이블 중 2개를 서로 바꿔 껴본다.

주의할점은 가급적이면 안전을 위해서 배터리 연결 전에 조종기를 먼저 키고 배터리를 연결하는 것이 좋다는 것이다.

물론 배터리를 연결한다고 쿼드콥터에 바로 조종기 인풋이 들어가지는 않는다. 대부분의 컨트롤러는 Arming이라고 부르는 단계를 거쳐야 비로소 조종 인풋이 들어간다. Arming은 컨트롤러에 따라 다르지만, ArduCopter의 경우에는 조종기 왼쪽스틱을 최하단에 두고 오른쪽으로 몇초간 밀면 된다. (컨트롤러 모듈에서 붉은색 파란색 LED가 번갈아 깜빡거리다가 붉은색 LED에 불이 들어오면 Arming 된 것이다.)

  • 이제 조립은 끝났다. 윗플레이트를 덮고 조립한다.

Quad

  • 이제 비행 테스트를 할 차례다. 경우에 따라서 컨트롤러의 gain을 조정해야 할 수도 있다. 나의 경우에는 gain을 조정하지 않아도 비행 성능이 크게 떨어지지 않았다. 하지만 다른 킷과 제품을 사용하는 경우에는 gain을 최적화 시켜줘야 제대로 된 비행 성능이 나올 것이다.

gain을 조정하는 방법에도 여러가지가 있는데 물론 가장 간단한 방법은 비행 시켜보면서 gain을 최적화하는 것이다. 이 때 조종기의 채널 중 하나를 gain에 대응시켜서 비행시키며 조정하기도 한다.

Quad

  • 이제 쿼드콥터 비행을 즐기면 된다 🙂

주의 : 쿼드콥터 조종은 때론 심각한 부상이나 사고로 이어지기도 한다. 따라서 충분히 연습하고 안전한 공간에서만 비행시키도록 한다. 책임은 순전히 pilot의 몫이다.

quad flight

참고 : ArduPilot 계열의 보드는 GPS를 이용한 비행모드를 제공하기 때문에 RC로 조종하는 것에 싫증을 느낀 사람들은 GPS 모듈을 구입해서 controller에 연결하고 로이터 모드(한 지점에 고정), 드리프트 모드(비행기가 날듯 비행함) 등을 테스트 해보는 것도 좋다. 단 GPS의 경우에는 오차가 항상 존재하고 GPS failure가 일어나는 경우에는 멀티콥터가 어떻게 동작할지 장담할 수 없다. 따라서 충분히 RC 비행 연습을 통해서 실력을 기르고 테스트 해보는 것이 좋다.


Epilogue

DJI 킷을 이용한 것은 처음이었는데 비행성능이 꽤나 만족스러운 편이다. 부품들이 최적화되어 있기도 하고 제품의 질도 나쁘지 않은 것 같다. 초보자라면 DJI의 커스텀 킷을 이용하는 것이 좋은 선택이 될 수 있겠다.

총 제작 비용은 배송비나 관세를 제외하고 400 달러 안팎이 되었다. 일부 모듈은 가지고 있던 것을 이용하기도 했다. 물론 훨씬 저렴한 가격에 제작할 수도 있다. 이전에 친구가 제작한 쿼드콥터는 총 300 달러 안팎에서 완성되었다. 부품을 개별로 구매하고, 공식 벤더가 아니라 제3의 벤더에서 제작한 부품들을 사용하면 제작 단가가 큰 폭으로 떨어진다. 부품은 Hobby King 등에서 구매할 수 있다. (Hobby King은 본사가 홍콩에 있어서 국제 배송을 하고 관세를 내야한다. 국내 업체들 중에서도 쿼드콥터 부품들을 취급하는 곳들이 있는데 가격이 다소 비싸다.)

아직 내 쿼드콥터에는 GPS 모듈을 장착하지 않았는데 여분의 모듈을 가지고 있어서, 곧 장착해서 비행시킬 예정이다. ArduCopter의 비행모드들에 대해서 좀더 자세한 내용은 404warehouse 블로그의 포스팅을 참조하면 좋겠다.

재차 강조하지만 안전한 곳에서 충분히 조종 연습을 하는 것이 중요하다. 자칫 큰사고로 이어질 수 있기 때문에 적정 고도 이상에서는 비행시키지 않는 편이 좋겠다. 또한 항상 시계 안에서만 비행시키도록 한다.

더불어서 최근 무인기 관련한 규제가 강화되고 있는 만큼 법적인 문제가 발생하지 않도록 관련한 법조항들을 미리 살펴보는 것도 중요하겠다.