상세 컨텐츠

본문 제목

[드론 만들기] MissionPlanner와 QGroundControl

만들기/드론

by kwangpil 2020. 4. 15. 13:26

본문

 

이전 글...

 

드론 만들기

  

   하드웨어

      기본부품

         비행 제어기(FC)

            Pixhawk 시리즈

               Pixhawk의 GPS

               Pixhawk의 텔레메트리(Telemetry)              

               Pixhawk의 변속기(ESC)

                  QGroundControl에서 변속기(ESC) 교정하기     

               Pixhawk 4의 Power Management Board              

               Pixhawk 4

                  QGroundControl에서 Pixhawk 4 펌웨어 설치

                  QGroundControl에서 Pixhawk 4 설정하기 1/2

                  QGroundControl에서 Pixhawk 4 설정하기 2/2       

         모터

         배터리

            리튬 폴리머 배터리 팩

         변속기 (ESC)

         프로펠러 (Propeller)

         파워 분배기(PDB, Power Distribution Board)

         조종기(Radio Control)          

 

   소프트웨어

      MissionPlanner와 QGroundControl

      QGroundControl 설치

         QGroundControl 사용방법 1/4

         QGroundControl 사용방법 2/4

         QGroundControl 사용방법 3/4      

         QGroundControl 사용방법 4/4 

         QGroundControl에서 Pixhawk 4 펌웨어 설치

         QGroundControl에서 Pixhawk 4 설정하기 1/2

         QGroundControl에서 Pixhawk 4 설정하기 2/2

         QGroundControl에서 Pixhawk 파라미터 변경하기  

      VMware Workstation Pro 설치하기

         VMware Workstation Player에 Virtaul Machine 만들기

         VMware Workstation Player에 Ubuntu 설치하기

            Ubuntu(우분투) 터미널 명령어

            Ubuntu(우분투) 주요 디렉터리

            Ubuntu(우분투) 기초용어

 

   미들웨어

       uORB

           uORB 새 토픽 추가하기  

     MAVLink

         MAVLink 설치하기

         MAVLink 라이브러리 생성하기

     

   조립

      모터, 변속기에 커넥터 연결하기

      Power Management Board에 커넥터 연결하기

      변속기(ESC)와 Power Management Board 연결하기

      모터와 변속기(ESC) 연결하기

      QGroundControl에서 변속기(ESC) 교정하기     

      GPS, Telemetry Pixhawk 4에 연결하기

  

   통신

      MAVLink

         MAVLink 설치하기

         MAVLink 라이브러리 생성하기

 

   개발

      드론 비행 시뮬레이터(Simulator)         

         툴체인(toolchain) 설치하기

            jMAVSim 사용하기 1/2

            jMAVSim 사용하기 2/2

            Gazebo 사용하기 1/4

            Gazebo 사용하기 2/4

            Gazebo 사용하기 3/4

            Gazebo 사용하기 4/4    

      내장된 응용 프로그램 생성 및 실행하기

      PX 시스템의 구성        

 

   비행

      쿼드콥터(Quadcopter) 비행 원리 

 

   문제해결

      Pixhawk와 Emax ESC(변속기) 호환문제 해결방법

 

   기타

      비행금지구역

      비행 시 주의 사항   

      멀티콥터 종류

      커넥터(connector)

      용어


완전 초짜의 드론 만들기 도전! 도전! 도전~!입니다.
맨땅에 헤딩~

인터넷 검색, 관련 사이트를 참고하여 Pixhawk 4(PX4)를 이용한 중/소형 드론을 만들려고 하고 있습니다.

참고만 하세요~!


Flight Controller(FC)를 구입했다면 펌웨어(Firmware)를 설치해야 한다고... 한다.

 

그런데 펌웨어는 뭐지?

초짜의 끝나지 않는 질문, 질문,

 

펌웨어란 소프트웨어와 하드웨어의 중간에 해당하는 것으로 소프트웨어를 하드웨어화한 것이다. 펌웨어 프로그램을 통해서 하드웨어를 이용한다.

 

그러니까 펌웨어는 하드웨어인 FC를 사용하기 편리하도록 돕는 소프트웨어라는 의미인 것 같다. 또 다른 말로는 펌웨어를 설치하지 않으면 FC를 사용도 할 수 없다는 말인 것 같다.

 

펌웨어가 무엇인지는 알겠는데 그럼 FC에 이 소프트웨어를 어떻게 설치하지?

 

윈도우가 설치된 컴퓨터라면 새로운 장치를 컴퓨터에 연결하면 요즘은 윈도우에서 자동으로 필요한 소프트웨어를 찾아서 설치해준다.

구입한 Pixhawk 4를 USB로 컴퓨터에 연결해보았지만 아무런 반응이 없었다. 별 기대를 하지 않아서 그런지 실망스럽지도 않았다.

 

흠...

 

픽스호크 지원 사이트(https://px4.io/)에서 확인을 하니 Ground Control Station(GCS)인 QGroundControl을 설치해야 한다고 한다.

 

GCS를 우리나라 말로 옮기면 지상 통제소다. 지상 통제소라면 인공위성 같은 것을 발사했을 때 신문기사에서 접해본 적이 있어 단어 자체는 익숙하긴 하지만... 지상 통제소와 FC에 펌웨어를 설치하는 것이 무슨 상관인가?!

 

 

1. Ground Control Station?

 

무인비행체(UAV)에 보내는 모든 명령, UAV로부터 접수되는 모든 자료를 조정 및 통제하는 지상센터. 비행 전 ・ 중 ・ 후의 모든 상태를 통제한다.
출처: 국방과학기술용어사전

 

가만히 생각해보면 인공위성이나 허블 망원경 같은 것에 문제가 생기면 지상 통제소에서 소프트웨어를 수정했다거나 업데이트했다는 기사들을 본 적이 있다. 그러니까 지상 통제소라는 것은 단순히 정보를 송, 수신하고 모니터링을 할 뿐만 아니라 소프트웨어도 설치할 수 있다는 것이다.

 

그러니까 SF 영화나 드라마에서 봐왔던 커다란 화면이 멋들어지게 가득한 지상 통제소와는 다른 그냥 컴퓨터나 태블릿에 프로프램 형태인 지상 통제소이지만 FC에 소프트웨어(펌웨어)를 설치하고 FC가 장착된 드론과 무선통신으로 비행을 모니터링하고 데이터를 송, 수신하는 것이 Ground Control Staion이라는 것이다.

 

음흠...

 

그런데 인터넷 여기저기 기웃거리다 보니 픽스호크에 펌웨어를 설치하는 GCS로 QGroundControl 뿐만 아니라 MissionPlanner가 자주 보인다.

 

QGroundControl은 뭐고, MissionPlanner는 뭔가!

 

 

2. MissionPlanner와 QGroundControl??

 

픽스호크ArduPilot PX4 두 개의 펌웨어지원한다. 그러니까 두 개를 다 설치하는 것이 아니라 둘 중 하나의 펌웨어를 선택해서 설치하면 된다. 일반적으로 컴퓨터에 윈도우나 리눅스 등 하나의 운영체제를 설치하는 것처럼 말이다.

(ArduPilot와 PX4에 대해서는 드론 만들기 - Pixhawk 시리즈 참조)

 

위어서 언급했듯이 FC에 펌웨어를 설치하려면 Ground Control Station을 먼저 설치해야 하는데 픽스호크에 펌웨어를 설치할 수 있는 Ground Control Station는 여러 가지다.

 

그중 DIY/KIT 용 픽스호크 FC에 대중적으로 사용하고 있는 Ground Control StationMissionPlannerQGroundControl이다.

 

Ground Control Station는 기본적으로 FC에 펌웨어설치업데이트할 수 있다.

 

 

 

 

 

예전에는 펌웨어를 설치하는 메모리로 ROM을 사용했는데, ROM은 Read Only Memory의 이름처럼 한번 저장하면 수정이나 삭제가 불가능했다. 따라서 제품의 메모리에 먼저 펌웨어를 설치한 후 판매했지만 요즘은 EPROM(Erasable Programmable Read Only Memory)이나 플래시 메모리를 사용해서 펌웨어 설치, 수정, 삭제 등이 가능하다.

 

MissionPlanner와 QGroundControl은 펌웨어 설치뿐만 아니라 FC 기본 세팅, 파라미터 설정이 가능하고 비행 모니터링, 구글 등의 지도를 기반으로 한 경로 비행 설정을 지원뿐만 아니라 비행 시뮬레이션까지도 가능하다. 또 비행을 마친 후 로그 파일다운로드해서 분석도 가능하다.

 

MissionPlanner

위의 그림은 MissionPlanner을 설치한 후 첫 화면이다. GCS의 이름인 MissionPlanner은 왼쪽 상단에 조그마하게 보이고 오른쪽 상단에 픽스호크 지원 펌웨어 중 하나인 ArduPilot를 커다랗게 적어놓았다.

 

MissionPlanner은 화면에서 보듯이 ArduPilot만 지원하고 PX4를 지원하지 않는다. 아무래도 PX4보다 먼저 개발된 ArduPilot을 지원하기 위해 만들어진 Ground Control Station이기 때문이 아닌가 싶다.

 

MissionPlanner는 오픈소스라 무료다. 그래서 사용자가 임의로 코드를 수정해도 되지만 저작권이 GPL3v라서 배포 시 개발소스무료공개해야 한다. 단점 아닌 단점일 수도 있는 점이다.

 

더 큰 단점은 Window에서만 사용할 수 있다는 것이다. Mac 용인 APM MissionPlanner나 모바일 용 GCS도 지원하고는 있지만 MissionPlanner의 모든 기능을 포함하고 있는 것은 아니고 업데이트도 잘 되고 있지 않는 것 같다.

 

위의 화면에서 보듯이 사용자 인터페이스가 좀 투박하다. 그래서 초보자들의 경우 선뜻 다가가기가 쉽지 않다. 그뿐만 아니라 설정 파라미터들이 많고 그중에서 전문적인 지식을 요구하는 것들도 포함되어 있어 초보자들보다는 전문가사용하기 적합하다.

 

MissionPlanner의 장점은 한글지원된다는 것이다. 하지만 사용 설명서 등의 문서가 모두 영어라서 막상 한글 버전을 사용하면 한글 사용이 더 불편하게 느껴지기도 한다.

 

MissionPlanner는 QGroundControl로보다 커뮤니티가 훨씬 더 활성화되어 있어서 문제가 발생했을 때 인터넷에서 해결방법을 찾기가 쉽다.

 

 

QGroundControl

 

위 그림은 QGroundControl 설치 후 FC가 연결되지 않은 QGroundControl 화면이다.

 

QGroundControl은 펌웨어 PX4 기반 장치 지원하는 Ground Control Station으로, 픽스호크의 공식 펌웨어인 PX4설치하고자 할 때는 QGroundControl 사용을 권장한다. MissionPlanner와 달리 ArduPilot지원한다.

 

QGroundControl 역시 MissionPlanner처럼 오픈 소스며 라이선스는 apache 2.0과 GPLv3 라이센스다. 

 

MissionPlanner와 크게 다른 장점은 대부분의 운영체제지원한다는 것이다. Windows, OS X, Linux, iOS, Android 등 사실상 요즘 사용하고 있는 거의 대부분의 운영체제에 설치가 가능하다. 그러니까 태블릿이나 핸드폰도 Ground Control Station으로 사용할 수 있다.

 

QGroundControl은 MissionPlanner와 비교 시 사용자 인터페이스가 세련되어 아이콘의 모양도 더 직관적이다. 또 FC를 설정할 때 전문적인 요소를 많이 요구하지도 않아 초보자접근하기가 쉽다.

 

MissionPlanner와 비교 시 파라미터 설정에 제한은 있지만 QGroundControl에서도 몇몇 파라미터들을 직접 수정할 수 있는 기능제공하고 있다. 또 MissionPlanner에서는 그래픽으로 변속기, 모터 테스트 지원하고  QGroundControl 새버전에서는 모터의 제어와 회전 방향 테스트를 지원하다 (이전에는 command line으로 모터를 테스트해야했다)

 

QGroundControl은 한글 지원 되고, 사용설명서의 일부분도 한글 지원이 되기는 하지만 영어로 업데이트되는 내용이 한글로 바로 업데이트가 되지 않아서 최신 사용설명서를 보려면 영어 버전을 봐야 한다.

 

 

3. Ground Control Station 선택

 

픽스호크 계열의 FC를 구매했다면 Ground Control Station을 선택하기 전에 우선 어떤 펌웨어를 FC에 설치할 것인가를 결정해야 한다.

(펌웨어 ArduPilot와 PX4에 대해서는 드론 만들기 - Pixhawk 시리즈 참조)

 

만약 픽스호크에 ArduPilot를 설치하려고 한다면 MissionPlanner를, PX4를 설치하려면 QGroundControl을 설치하는 것을 권장한다. 또 위에 언급했듯이 저작권 문제와 관련해서 상업적인 용도로 개발하고 싶지만 소스오픈하고 싶지 않을 때는 QGroundControl을 사용하는 것이 좋다.

 

두 펌웨어의 설치 및 자세한 사용방법은 홈페이지(ArduPilot: https://ardupilot.org/planner, PX4: https://docs.qgroundcontrol.com/en/)를 참조한다.


 

 

관련글 더보기

댓글 영역