아두이노 드론 만들고 직접 코딩하여 날려보기
드론은 만들고, 날리는 것보다 소프트웨어적 접근이 더 중요합니다.
왜냐하면 여러분이 직접 작성한 소프트웨어를 이용하여 드론을 띄우면 드론의 소프트웨어적인 원리를 정확히 알 수 있게 되기 때문입니다. 또한 아두파일럿(ardupilot), 멀티위(multiwii)와 같은 다양한 공개 소스를 이해할 수 있고 나만의 것으로 직접 응용할 수 있기 때문입니다.
책의 특징은 다음과 같습니다.
첫째, 누구나 손쉽게 아두이노 드론을 만들 수 있도록 제작 방법과 조립 과정을 따라하기로 설명하였습니다.
둘째, 소스 코드로 직접 아두이노 드론을 띄울 수 있습니다.
셋째, 직접 코딩하고 기능을 추가하면서 드론 동작 원리를 이해할 수 있도록 구성하였습니다.
넷째, 드론의 핵심 부품의 동작 원리를 직접 실습을 통해서 습득할 수 있도록 쉽게 설명하였습니다.
다섯째, 자이로센서로 가속도제어, PID제어로 중심잡기, 모터 속도 분배 등 드론의 핵심 원리를 이해하기 쉽게 직접 코딩하면서 배울 수 있도록 설명하였습니다.
여섯째, 학교, 단체 교육과정의 맞춤형 인기 교재로 드론 제작 입문부터 핵심 알고리즘까지 드론의 하드웨어와 소프트웨어를 모두 설명하였습니다.
출판사 리뷰
아두이노 드론 만들고 직접 코딩하기
책은 드론을 조종하는 것보다 소프트웨어 구성에 초점이 맞추어져 있습니다. 아두이노 기반의 스케치 프로그램을 직접 코딩하여 드론을 날려 보는 것이죠. 그렇지만 드론을 날리는 소프트웨어를 직접 작성한다는 게 쉽지만은 않습니다. 어렵게 느껴지는 부분은 크게 세 부분인데, 드론의 기울어진 정도를 알려주는 가속도 자이로 센서 해석 방법, 드론의 중심을 잡기 위한 출력 값을 계산해 내는 PID 제어 방법, PID 출력 값에 따른 4개 모터에 대한 속도의 분배 방법입니다.
책에서는 가속도 자이로 센서 해석 방법, PID 계산을 통해 출력을 얻는 방법, 모터에 대한 속도의 분배 방법을 자세히 다루고 있습니다. 특히 PID 제어의 경우 두 가지 방법을 소개합니다. classic PID 제어와 dual loop PID 제어 방법입니다. classic PID 제어의 경우 가속도 센서만을 이용한 정적인 해석 방법이고, dual loop PID 제어의 경우 자이로 센서까지 고려하는 동적인 해석 방법입니다. 실제로 드론을 띄우기 위해서는 dual loop PID 제어 방법의 이해가 반드시 필요합니다.
책에서는 필자가 직접 경험한 가속도 자이로 센서에 대한 해석 방법을 자세히 소개하고 있습니다. 책을 통해 가속도 자이로 센서에 대한 특징, 그것들을 해석하는 방법, 그리고 그것을 적용하여 yaw, pitch, roll을 구하는 방법을 자세히 살펴볼 수 있습니다. 모든 사항은 직접 코딩하고 소스를 이해하기 쉽게 설명하였습니다.
드론의 기울어진 정도에 따른 모터의 속도 분배도 아주 중요한 부분입니다. 모터의 속도 분배는 크게 4 가지 요소에 의해서 결정됩니다. 모터의 기준 속도인 throttle, 수평 회전 정도를 나타내는 yaw, 전후에 대한 기울어진 정도를 나타내는 pitch, 좌우에 대한 기울어진 정도를 나타내는 roll이 그것들입니다. 책에서 이 요소들의 현재 상태에 따라 모터에 속도를 분배하는 방법에 대해서도 자세히 살펴볼 수 있습니다.
책을 통해서 여러분이 직접 작성한 소프트웨어를 이용하여 드론이 뜨는 과정을 통해 드론의 소프트웨어적인 원리를 정확히 알게 되며, 그것은 여러분의 귀중한 자산이 될 것입니다. 책을 통해 얻은 소프트웨어적인 경험으로 여러분은 아두파일럿(ardupilot), 멀티위(multiwii)와 같은 공개 소스를 이해하며 사용하실 수 있게 됩니다.
※ 예제 소스파일은 4페이지를 참조합니다.
※ 이 책에서 사용하는 전체 부품은 5페이지를 참조하고, 드론 키트 부품 구성은 46~47페이지를 참조합니다. 앤써북 프리마켓을 이용하면 드론 부품을 저렴하게 구매하고 합리적으로 팔 수 있으며 4페이지를 참조합니다.
※ 아두이노 드론 5% 할인쿠폰이 포함되어 있습니다. 할인쿠폰은 326페이지를 참조합니다.