|
드론까지 옮아 가게 되었다.
이 책은 아두이노 보다 고급인 ESP32 를 이용해서 코딩및 조립 그리고 비행까지 하게 된다.
책읽자 마자 바로 조립후 날려본 첫 드론 운용 영상(드론 한번도 않날려본 초초딩) https://www.youtube.com/watch?v=D8y8tkn7efQ
책은 드론만이 아닌 ESP WROOM 32 모듈을 소개하고 아두이노와 마찬가지로 아두이노 IDE를 가지고 코딩을 하며 개발환경 설치 부터 설명을 한다.
마이크로 컨트롤러의 기본 명령어 학습을 해본다 digitalWrite, ledcWrite,등등을 해본다. 드론 제어는 Bluetooth BLE로 한다.
서민우 작가님의 전작인 여러권의 드론 시리즈 책중 가장 최신작이다 전작과 부분부분 내용이 동일한 부분들이 있지만 마이크로 비트, 아두이노 , 등등 마이크로 콘트롤러가 달라진다. WIFI, BLUETOOTH가 합쳐진 고급 2 CORE ESP32까지 오게 되었다.
드론의 자세제어인 ROLL, PITCH, YAW등을 하기위한 몸풀기로 각도를 구해보기도 하고 최종엔 가속도 센서와 자이로각도 센서로 서로 단점을 보완하는 상보필터 코딩까지 간단하게나마 해본다.
이후 제어에서 많이 사용하는 PID 제어를 적용해본다. 제어공학을 전공한 본인으로썬 반가웠다.
아 그때가 언젠지..ㅎㅎ
다시 보니 뭐가 뭔소리인지... ㅎ 다시금 눈에 힘줘가며 따라해본다.
드론제어는 안드로이드 폰의 블루투스 범용제어 앱인 Serial Bluetooth Terminal로 하다가
후반부턴 Kocolabs drone 전용앱으로 제어를 한다. 간단히 자율주행 명령시작후 2초 있다가 5초간 상승, 5초간 하강하는 자율운행을 2core processor 특장점을 활용하여 간단히 해본다. 흥미로웠다. 처음으로 멀티 프로세서 코딩체험을 이책에서 하게 될줄은 몰랐다.
아쉬운점은 2 core 활용은 자동주행 코드에서만 한다.
위의 영상은 제가 만들어본 드론인데( 책의 최종 코드인 drone_dual_joystick 코드) 센서 1개 만 가지고 안정적으로 드론 비행운용하는게 얼마나 어려운지.... 절감했습니다.
PID 제어 까지 된다 해서 기대를 했는데... 일단, 조종법 익히는것도 중요하지만 교재에서 나온대로 드론을 만들고 코딩했지만... 교재만 따라해선 , 일반 드론 처럼 날리는게 쉽지 않아 보입니다.
일단, 중요하게 조정? tunning 해야 되는거라곤 150 page의 센서값 보정하기와 PID GAIN을 시험을 통해 조정해야 될듯 합니다. 이 드론 킷트에 있는 짐볼의 용도가 궁금했는데 짐볼 의 용도는 튜닝과정에서 손으로 잡고 테스트 하기 위한 용도또는 추후 짐볼 카메라를 달기 위한 용도로 보인다.
PID 제어중 P 제어 파트 끝부분에서 드론 균형잡기 부분에서 측면 레고를 떼어내고 손으로 잡고 시험하는듯한 모습에서야 짐볼의 용도가 이건가 싶었습니다.
드디어 D 제어 파트중에서야 짐볼을 떼어내고 시험을 진행합니다.
적분항 I 제어 파트 까지는 계속해서 Serial BlueTooth Terminal 로 제어를 하는데 시험 비행 마친후 곰곰히 생각해보니 이 Serial BlueTooth Terminal 로 조정했을때가 더 안정적이지 않았나 싶다.
위 영상에서 사용한 코드는 이중 PID 제어 코드인 drone_dual _joystick 코드로 운용한 영상입니다.
책을 읽어보며 따라 해본직후 영상이고 드론을 처음으로 날려보는 드린이 이지만서도... 마지막 코드로 바로 운용하거라 그런지 기대한것에 못미쳐 매우 아쉽지만 책을 다시 보고 하나씩 여기저기 튜닝을 해봐야 될듯하다.
책 중간에 x, y ,z 축 보정중 z축 보정은 지자계 센서를 추가로 달아야 된다고 하던데.... 그리고 hovering이 되어야 콘트롤이 용이할텐데... hovering 하려면 옵티컬 센서나 초음파 센서등이 필요하다 한다. 센서 mpu6050 모듈 하나가지고는 드론 콘트롤이 용이 치 않을듯 보이고 mpu6050도 급이 여러개며 가격도 점차 비싸진다. 쓸만한 센서들은 비싸다. ^^;;
암튼, PID제어 까지 되고 , 기존 마이크로 프로세서 보다 더 좋은 2 CORE 프로세서라 기대가 너무 컷지만 기대가 큰만큼 너무 서두른듯 하다.
차근 차근 다시 해보렵니다. 프로펠러도 3셋트 , 배터리 5개나 더 주문했어요 ^^
될때까지...계속...쭈욱... ^^
고급진 취미생활을 원하는 그대에게 일독을 강추합니다. ^^
|
|
드론이 한참 유행처럼 번져가서 중국산 싸구려 제품 하나씩 구입해서 날려보다가 그대로 날려보내던 경험이 있을텐데요. 이번에는 단순 RC같은 무선 조종이 아니라 ESP32 아두이노를 장착해서 리얼 드론을 체험하고 직접 코딩하면서 PID 제어하는 요령을 알 수 있는 책을 하나 소개할까 합니다.
아두이노는 다양한 분야에 이식되기도 하지만 역시 움직이는 RC카나 드론같이 공중으로 날아다니는 대상에 가장 어울리지 않나 싶네요. 뭐든지간에 직접 만들고 또 코딩으로 직접 제어까지 한다면 만족감이 클텐데요. ESP32 아두이노 드론 만들고 직접 코딩으로 PID 제어하기 책은 드론키트를 추가 구매해서 조립 및 동작 영상까지 서비스하므로 어렵지 않게 접근가능합니다.
앤써북의 아두이노 시리즈는 꾸준하게 나오면서 늘 각종 소스와 키트 조립 동영상 등 저자가 읽는데 그치는게 아니고 키트와 함께 체험할 수 있도록 합니다. 물론, 키트는 추가로 구매해야 하지만 이런 책을 구입한다는건 이미 그정도의 마음은 가지고 있다고 볼 수 있기에 학습 효과가 증대될것 같네요.
첫 장에서는 ESP32 아두이노 드론을 준비하는 파트로 드론이 무엇인지도 체크하고 DIY 드론을 제작하는 방법을 알려줍니다. ESP32 아두이노, MPU6060 센서 그리고 드론 밈볼 과의 조립을 위한 과정도 포함되어 있네요. 또한 아두이노 프로그램을 설치해서 드론 작동을 위한 소프트웨어적인 세팅도 꼼꼼하게 챙겨서 기초적인 작업을 미리미리 다루네요.
첫 장과 두번째 장의 내용에서 ESP32 아두이노 드론을 조립하고 테스트하는 부분을 따로 떼어내서 서평 글안에서 다뤄보도록 하죠. 키트는 위와 같은 전용 박스안에 각종 구성품과 함께 담겨져 있고 드론의 간단한 구조상 지난번에 서평했던 아두이노 자율주행RC카와는 달리 조립할 부분이 그리 많지는 않네요.
우선, 드론 짐볼 조립은 레고블럭을 이용하며 책에 있지만 유튜브 동영상을 통해 ESP32 아두이노 드론 본체와 함께 조립 영상을 제공합니다. 그리 어렵지는 않지만 가끔 책의 그림이나 순서와 달라서 헷갈릴 수 있으니 유튜브 영상을 보면서 따라하는것도 좋을것 같네요.
배터리는 500mAh로 충전하는데 1~2시간 가량 소요되고 실제 사용시간은 5분여밖에 안될 정도로 용량이 작습니다. 이건 실제 드론 작동을 하면서 사용할때 적잖은 문제가 될것 같네요. 추가 배터리도 없고 하나로 실내가 아닌 야외에서 날리려면 좀 해보려고 하다가 배터리가 방전될것 같군요.
다만, ESP32 아두이노 드론 만들고 직접 코딩으로 PID 제어하기 책과 함께 키트도 조립하고 실제로 코딩해서 아두이노 스케치로 컴파일해서 명령을 내리는게 녹녹치많은 않습니다. 아무래도 코딩의 언어라는게 일반인 입장에서는 다른 접근 방식이니까요. 우리는 너무나 흔하게 사용하는 스마트폰에서 명령어를 코딩으로 행동하는게 아니고 버튼이나 UI를 통해서 하면 뒷단에서 각종 명령어가 처리되면서 프로세서가 진행되죠.
그런 와중에 드론 조립 후 테스트하는데 있어서 몇번을 확인했는데도 드론 몸체의 4개 날개 회전이 하나는 동작하지 않더군요. 고장인가 싶었는데 연결 케이블을 분리하고 배터리 모드로 하면 동작합니다. 아무리 책에 있는 코딩을 재확인해도 틀린 부분은 없었고요. 그리고 블루투스 연결도 잘 인식이 안되서 제대로 된 테스트를 진행하지 못하겠더라구요. 이게 구성품의 부품 편차인지? 는 잘 모르겠네요.
암튼간에 아두이노 드론 책과 키트는 꼭 함께 구매해야 제대로 된 학습과 체험을 할 수 있으니 꼭 참고하세요.
|