brunch

You can make anything
by writing

C.S.Lewis

by Matthew Min 민연기 Dec 10. 2016

드론에게 블랙박스를

FLIGHT LOG

'나쁜 PID는 있어도 완벽한 PID는 없다'는 말이 있을 만큼 저에게 드론의 PID는 닿을 듯 닿을 듯 저만치 있는 느낌입니다. 이론적인 이해를 가지고 있더라도 기체마다 생기는 미묘한 차이는 적당한 선에서 이 정도면 날릴만하지 뭐 하고 그만 포기하곤 했습니다. 이제는 아예 default 값을 사용하고 있습니다. 


하지만 PID 정복은 꼭 해보고 싶은 오기도 남아있었는데 저 같은 생각을 하고 있는 사람들이 많은지 Cleanflight와 Betaflight는 블랙박스 기능을 가지고 있습니다. 자이로 센서의 값과 그에 반응하는 모터를 관찰하면 이론적으로 이상적인 PID 수치를 만들 수 있지 않을까 싶은 거죠. 사실 산업계에서는 PID를 설정하는 알고리즘이 상당수 있습니다. 지금도 간간이 논문이 나오고 있구요. 

또 이야기가 길어졌는데 일단 블랙박스부터 달아 봅니다. 

아직도 Naze32를 쓰고 있는 가난한 저에게 끝없는 지름의 연속인 드론을 가르쳐 주신 김 부장님이 Winbond의 25Q128FVSQ 메모리를 주셨습니다. 16메가나 됩니다. 


Naze32에 블랙박스(Blackbox) 메모리를 달아보자

                                                               

안타깝게도 다리 크기가 좀 커서 'C'모양으로 꺾은 다음에 납땜을 합니다. 

이 절묘한 솔더링은 고수 임 선생님께서. 

이렇게 다리가 많은 칩은 미리 한 곳을 잘 붙인 다음 나머지를 붙이면 됩니다.

텅 빈자리가 꽉 채워졌습니다. 든든합니다. 

Betaflight에 연결하면 이렇게 용량이 보입니다. 아무것도 안 했는데 이미 Dataflash라고 나오는 FC를 가진 당신은 부자입니다. 

이제 Betaflight에서의 세팅입니다. 

블랙박스를 키면 새로운 설정 탭이 생깁니다. 

일단은 2번 스위치에 블랙박스 버튼을 넣고 블랙박스 탭으로 갑니다. 

블랙박스는 2가지 방법으로 설치됩니다 serial port에 저장하는 방법. 그리고 FC에 dataflash chip에 저장하는 방법. 저는 아까 16메가!!! 메모리를 설치했기 때문에 두 번째 옵션을 선택합니다. 

만약 시리얼 포트에 저장한다면 여기서 설정을 합니다. Naze32 같은 F1 보드는 2개밖에 포트가 없어서 사용하기가 곤란합니다. 

얼마나 많은 양의 정보를 저장할 것인지 설정합니다. 

만약 2k로 looptime을 설정하고 100%로 저장을 한다면 2000ms에 한 번씩 저장이 되니까 초당 500개의 정보가 저장됩니다.  16메가도 순식간입니다. 적당한 수준에서 설정을 해야 합니다. 하지만 25%로 설정한다는 것은 그 사이에 발생하는 정보는 무시한다는 의미이기 때문에 용량이 넉넉하다면 100%가 가장 이상적입니다. 

처음에는 이렇게 그래프가 비워져 있지만 동작시키면 차곡차곡 정보가 쌓입니다. 

비행을 마치고 'Save flash to file...'을 누르면 컴퓨터로 저장된 정보를 옮길 수 있습니다. 그런데 이 시간이 정말 오래 걸립니다. 이런 정직한 설명 같으니라고 several minutes입니다.
시리얼 포트로 저장하는 것을 선호하는 사람은 바로 이 기다리는 시간이 싫어서라고도 합니다. 

지우는데도 시간이 제법 걸립니다.

이제 촬영한 영상과 블랙박스로 저장된 정보를 합쳐 봐야죠. 

크롬 웹 스토어에서 betaflight blackbox를 설치하고 open log file을 눌러 블랙박스 정보를 불어옵니다. 

그럼 창피했던 나의 비행이 수치화되어 굴욕적으로 화면에 그래프로 나타납니다. 이 치욕은 형편없는 PID 값 때문이라고 핑계를 대면서 오른쪽 위에 'open log file/video' 버튼을 눌러 동영상을 불러옵니다. 저는 가전의 명가 샤오미로 찍었습니다. 

그럼 참혹했던 그때의 비행 기록이 영상과 함께 펼쳐집니다. 동영상 촬영이 시작한 시점과 블랙박스를 동작하는 시간이 차이가 날 테니 왼쪽의 Log sync에 숫자를 넣어 위치를 맞춥니다. Data 화면에 아밍이 걸리던 때가 표시되니까 거기에 동영상 소리를 맞추면 됩니다. 

이제 영상을 보며 반성의 시간을 가지면 됩니다. 반성의 시간을 따로 저장하고 싶으면 오른쪽에 'Export video' 버튼을 누르면 됩니다. 


https://youtu.be/dxnGCNT9IpY

                                        

블랙박스의 진정한 목적인 PID 반성 법은 조금 더 공부를 해봐야 할 것 같습니다. 지난번 Betaflight 3.0 업데이트는 PID 함수의 변화가 워낙 커서 말이죠. 애써 이해하고 나면 또 저만큼 변해 버릴까 봐 무섭습니다.

 


더 많은 드론 이야기를 만나보세요 : FPV미니드론

http://book.naver.com/bookdb/book_detail.php?bid=13584005


작가의 이전글 패치 안테나로 사라진 드론 찾기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari