brunch

You can make anything
by writing

C.S.Lewis

by 아나드론스타팅 Jan 02. 2018

드론을 움직이는 영혼. 드론 소프트웨어 이야기

안정적인 드론을 만들어 주는 소프트웨어를 알아봅시다.

모든 드론은 나름의 컴퓨터를 품고 있습니다.


컴퓨터가 없던 시절에도 하늘을 나는 비행기는 있었으니 비행은 감각으로 하는 거라며, 컴퓨터의 힘을 빌기엔 자존심이 용납하지 않는 불타오르는 파일럿도 있을 테지요.

       

비행이란 손끝의 감각으로. 사진=www.medicaldaily.com

         

그러나 하늘을 나는 물건이 프로펠러를 3개 이상 가지기 시작하면, 인간의 감각을 초월하는 조종이 필요합니다. 우리가 가진 손은 둘 뿐이잖아요?


그래서 모든 드론은 모자란 손을 대신할 컴퓨터를 가지고 있습니다. 단순히 조종의 문제뿐만이 아닙니다.


드론에 직접 타지 않는 한 하늘의 상황은 드론의 센서만 알고 있습니다. 사람이 내리는 명령과 드론의 센서가 감지하는 상황 그리고 그 사이에 간격을 판단할 두뇌가 필요합니다.

          

DJI의 비행 컴퓨터(Flight Controller), NAZA. 사진=www.dji.com

      

혹자는 라디오 전파를 이용해서 조종한다는 뜻의 RC(Radio Control)와 드론의 구분을 비행 컴퓨터(FC)가 있느냐 없느냐로 나누기도 합니다.

     

그만큼 드론의 컴퓨터인 FC는 중요한 역할을 합니다.

        

하지만 우리는 컴퓨터만 산다고 바로 인터넷 게임을 즐기기지 않고, 스마트폰을 고를 때도 액정크기만 보고 고르지 않습니다.


윈도우와 리눅스, 애플 컴퓨터의 OS가 따로 맹위를 떨치고 애플의 iOS와 안드로이드가 서로 우리의 주머니를 차지하려고 싸우듯, 드론도 어떤 FC를 사용할지 선택으로 끝나지 않습니다.


드론을 만들기 위해 어떤 FC와 소프트웨어를 사용할까 하는 여러분의 고민처럼 깊어가는 겨울밤, 드론을 움직이는 영혼인 드론 소프트웨어에 대한 이야기를 나눠봅니다.

       

 


     

아두콥터(ArduCopter)와 드론코드(DroneCode)


장인의 나라 이탈리아는 뭔가 폼 나는 것을 손으로 만들기로 유명하지만, 누구나 사용할 수 있는 컴퓨터 아두이노가 탄생한 나라이기도 합니다.


2005년 마시모 반지(Massimo Banzi) 교수님이 만든 이 오픈 소스 마이크로 컨트롤러는 누구나 원하는 기능을 구현해 줄, 초소형 컴퓨터를 만들 수 있는 세상을 열어줍니다.


아두이노 덕분에 자신의 상상력을 주체하지 못하는 전 세계 사람들이 온갖 재미난 장난감을 만들기 시작했고, 그 장난감 중 하나가 바로 아두콥터였습니다.


아두이노에서 돌아갈 수 있도록 만들어진 아두콥터는 솔로로 유명한 3D 로보틱스에서 전용 FC인 Pixhawk와 Ardupilot을 내놓으면서 많은 드론들이 영혼으로 삼는 소프트웨어가 되었습니다.

         

3D 로보틱스의 Pixhawk와 Ardupilot.

         

아두콥터는 누구나 코드의 내용을 확인하고 입맛에 맞게 고칠 수 있는 오픈 소스였기 때문에 수많은 영혼들에게 영감을 주다가, 2014년에는 오픈 소스 운영체제로 유명한 리눅스 재단에서 아두콥터를 체계화해 드론코드 프로젝트(DroneCode Project)를 설립합니다.

      

이 멋진 프로젝트에 3D 로보틱스, 웰케라, 유닉 뿐 아니라 바이두와 인텔도 참가합니다. 사진=opensource.com

        

1,200개 이상의 업체가 함께 개발에 나선 이 프로젝트는 드론코드를 사용하는지 사용하지 않는지로, 산업용 드론과 완구용 드론을 가늠할 만큼 안정성을 자랑합니다.


DJI도 드론코드를 기반으로 만들어진 듯하다는 소문이 있을 정도죠. 사진=store.dji.com

       

DJI는 산업 분야에 활약할 매트리스 시리즈를 선보이기도 했습니다.

      

            


        

닌텐도의 유산, 멀티위(MultiWii)


세대와 세대는 어떤 게임기로 슈퍼마리오를 만났나로 나누어집니다. 아버지는 슈퍼페미콤로, 아들이 닌텐도 스위치로 슈퍼마리오를 만나듯 말입니다.


닌텐도는 1889년부터 고전 게임인 화투를 시작으로 지금까지 꾸준히 가정용 게임기를 생산하는 회사로, 드론에게 빼앗긴 우리의 소박한 자금력에 다시 카운터 펀치를 날리는 악덕기업입니다.


하지만 우리가 닌텐도를 주목하는 이유가 바로 닌텐도의 전설적인 가정용 게임기 위(Wii)에 있습니다.


비행을 꿈꾸던 현자들은 움직임을 감지하는 이 조종기(Wii Nunchuck)에 꽂힙니다. 사진=www.nintendo.com

      

움직임을 감지하는 것은 드론의 필수 센서인 자이로가속도 센서입니다.


현자들이 이 게임 조종기에서 추출한 센서를 아두이노와의 이종교배에 성공하면서 새로운 드론 탄생의 신화가 시작됩니다.


멀티위 FC(Multiwii Flight Controller)가 등장하면서 소형 FC가 시작됩니다. 사진=www.multiwii.com


Wii 눈챠크처럼 자이로 센서로 조종하는 드론도 있죠.

           

        


        

발전을 부르는 공짜, 오픈 소스


아두이노는 8비트로 동작하는 다용도 컴퓨터입니다. 그러나 이미 세상의 가전제품에는 원하는 기능만 집약하여 더 작고 더 빠르게 동작하는 칩이 더 흔합니다.


ST 테크놀로지 사가 만든 STM32 칩이 대표적으로 손톱만 한 크기로 32비트의 처리 속도를 가지고 있었습니다.


현자 Timecop 님은 멀티위를 기반으로 STM32 칩을 사용하는 FC를 위한 베이스플라이트 (BaseFlight)라는 소프트웨어를 탄생시킵니다.

          

베이스플라이트의 탄생으로 더 작은 드론의 대중화가 시작됩니다. 사진=chrome.google.com

      

여러 사람이 참여하는 오픈 소스 프로그램은 빠른 업데이트가 장점입니다. 하지만 베이스플라이트는 그렇지 못했죠.


그렇게 사람들의 원성이 시작될 즈음 또 다른 현자 Hydra 님은 베이스플라이트의 소스 코드를 계속 발전하기 쉽게 깔끔하게 정리하고, 그 깔끔함을 기려 클린플라이트(CleanFlight)를 만들게 됩니다.


깔끔한 이름과 다르게 상당히 세부적인 설정이 가능한 클린플라이트. 구글 크롬앱으로 설치하고 사용할 수 있습니다. 사진=chrome.google.com

       

하지만 베이스플라이트의 창시자 Timecop 님은 자신의 저작권이 침해당했다고 구글에게 클린플라이트 앱을 내려달라고 요청합니다.


이렇게 시작된 분쟁은 많은 드론 팬들을 슬프게 만들었습니다.


그래도 클린플라이트는 오픈 소스의 힘으로 꾸준히 새로운 기능을 실험하고, 업데이트를 계속하면서 레이싱 드론을 위한 소프트웨어로 자리매김을 합니다.


더 빠르고 민첩한 드론을 위한 실험, 베타플라이트. 사진=blog.dronetrest.com

           

실험에 참가한 수많은 현자 중 Boris B 님은 자이로센서의 정보를 동기화하는 기술을 실험하기 위해, 클린플라이트를 기반으로 실험적인 소프트웨어를 만들고 베타플라이트라고 잠시 이름 붙입니다.


이렇게 베타 테스트가 완료된 소프트웨어는 다시 클린플라이트 업데이트에 사용되었습니다.


그러다 독자적인 소프트웨어로 분기합니다. 이것이 레이싱 드론에서 가장 많은 사랑을 받는 베타플라이트입니다.


자율비행 기능과 고정익 드론을 위해 탄생한 iNav. 사진=chrome.google.com

       

클린플라이트는 베타플라이트만 탄생시킨 것이 아닙니다. 클린플라이트는 애초에 GPS나 자율 비행을 위한 기능도 가지고 있었습니다.


사용자들과 현자들이 비행 핵심 기능에 무게를 두었기 때문에 레이싱 드론 애호가들의 사랑을 받아 그렇게 진화하게 된 것 뿐입니다.


그래서 GPS 기능과 원래 자리로 돌아오는 기능 (RTH, Return to Home), 설정된 지점을 자동으로 비행하는 기능이 강화된 iNav도 탄생합니다.


iNav는 금새 고정익 드론에 가장 사랑 받는 소프트웨어가 됩니다.

        

최근 DJI도 비행 중인 드론을 관리하기 위한 프로그램을 공개했습니다.

      

       


         

공짜가 마냥 좋은 것은 아니다.


공짜를 너무 좋아하면 두피와 모발에 해가 된다는 민간의학이 증언하듯, 공짜의 힘은 양날의 칼과 같습니다.


현자는 추종자들의 찬사와 이슬만 먹고 살아가는데 한계가 있기 때문입니다.


베타플라이트 개발에 참여한 또 다른 현자 RS2K 님은 베타플라이트의 장점인 자이로 싱크(Gyro-Sync) 기술만으로는 비행의 이상에 도달할 수 없다고 판단합니다.


그는 STM32F4 칩에 변속기까지 함께 개발해야 천상에 가까워진다고 설파하면서 레이스플라이트(RaceFlight)를 만듭니다.


손쉬운 설정에 강력한 비행 성능을 자랑하는 레이스플라이트. 사진=chrome.google.com

     

이상을 위해서는 소프트웨어와 하드웨어가 함께 해탈해야 합니다.


그래서 레이스플라이트는 전용 FC를 구입해야 사용할 수 있는 사실상 유료 소프트웨어로 방향을 전환합니다.


레이스플라이트 전용 FC. 리볼트(Revolt) 센서가 가운데 위치하고 있습니다. 사진=shop.raceflight.com


이렇게 하드웨어와 함께 하는 소프트웨어는 범용성을 포기하는 대신 높은 완성도를 보장합니다. 그 대표적인 예로 Kiss가 있습니다.

       

Kiss FC와 Kiss ESC를 가진 자만 맛볼 수 있는 Kiss GUI의 세계. 사진=chrome.google.com

           

고양이 가슴털처럼 부드러운 비행 성능을 가진 Kiss는 프리스타일 파일럿들에게 호평을 받으며 인기를 끕니다.


특히 유명 파일럿의 설정을 블로그의 좋아요 버튼 누르는 것처럼 설정할 수 있는 간단한 인터페이스가 특히 호평을 받습니다. 이 기능은 나중에 레이스플라이트도 따라하게 되죠.


무료로 사용하는 소프트웨어에는 이렇게 도네이션 버튼이 있습니다. 힘을 나눠주세요. 아름다운 미래는 현자들만 이끌어 가지 않습니다.

        

       


         

모두를 위한 비행, 오픈파일럿(OpenPilot)


FC 펌웨어(On-board firmware)와 지상 조종 스테이션(Ground Control Station)으로 구분해서 개발된 오픈파일럿은 2009년에 시작된 프로그램입니다.


이 프로그램은 아두콥터와 멀티위처럼 드론의 초기 영혼 중에 하나입니다.


하지만 베타플라이트가 자랑하는 자이로 싱크 기술을 처음부터 사용할 정도로 뛰어난 소프트웨어였습니다.


직관적인 설정을 자랑하는 오픈파일럿. 사진=showroom.qt.io

     

오픈파일럿은 더 다양한 확장성을 가진 리브레파일럿(LibrePilot)을 탄생시키고 2015년을 끝으로 사라집니다.

        

리브레파일럿은 로보틱스까지 다양한 하드웨어를 지원합니다. 사진=librepilot.atlassian.net

        

그래서 차차 취미를 위한 드론과는 거리를 두게 됩니다. 그리고 이 오픈파일럿의 정신은 타우랩스(TauLabs)로 이어집니다.


빠르고 쉬운 설정을 자랑하는 타우랩스. 사진=play.google.com

      

오픈파일럿은 타우랩스와 같이 드론 연구와 드론을 이용한 연구에 적합한 소프트웨어로 발전합니다.


하지만 비행 본연의 정신을 계승한 소프트웨어를 탄생시키기도 합니다. 디로닌(dRonin)입니다.


오픈파일럿에서 시작한 레이싱, 프리스타일 비행을 위한 소프트웨어 디로닌. 사진=dronin.readme.io

      

오픈 소스인 디로닌은 손쉬운 설정과 함께 골치 아픈 PID 설정을 위한 자동 튜닝(Auto Tune) 기능을 자랑합니다.


멀티위 기반의 소프트웨어가 아닌 전혀 다른 알고리즘을 가진 영혼의 비행은 많은 사람에게 호평을 받고 있습니다.

      

       


          

자유로운 비행을 꿈꾸는 자유로운 영혼을 가진 비행 소프트웨어들


이밖에도 초기에 개발된 KK 보드를 위한 KK멀티콥터(KKMultiCopter), 패럿의 나라 프랑스에서 2003년에 시작된 파파라치(Paparazzi), 초소형 드론 개발을 위한 플랫폼인 크레이지 플라이(Crazy Flie)도 자유로운 비행을 꿈꾸는 소프트웨어입니다.


앞으로도 드론을 움직이는 영혼인 드론 소프트웨어는 서로 닮아가기도, 서로 달라지기도 하면서 진화를 계속할 것입니다.


어설픈 설정을 가진 드론은 포스의 힘없이 조종되는 X-윙 파이터처럼 그저 엑스트라가 될 뿐입니다. 사진=www.starwars.com

           

다양한 크기와 서로 다른 모양의 드론에 꼭 맞는 소프트웨어는 그 특성도, 설정도 모두 달라야 합니다.


최적의 제어법를 찾는 여정이 비행 소프트웨어가 찾고자 하는 방향이라면, 그 소프트웨어 안에서 최적의 설정을 찾는 것이 드론을 사랑하는 사람들의 즐거움입니다.


드론 소프트웨어는 이렇게 오픈 소스 코드 한 줄에 자유로운 비행의 영혼을 담습니다.


센서가 감지하는 하늘과 조종기를 통해 전달되는 명령 사이를 계속 조율하면서 말입니다.

       


WRITER 민연기/드론스타팅 필진

하늘을 나는 물건을 하나씩 공부하고 있는 엔지니어입니다.

http://blog.naver.com/smoke2000



초보자를 위한 드론 전문 웹진, 드론스타팅!

www.dronestarting.com

매거진의 이전글 방구석 레이싱 드론의 최종 진화, BWhoop

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari