'2016/12'에 해당되는 글 2건

Dev/Drone

SITL 개요

SITL 이란?

SITL 이란 Software-In-The-Loop 의 줄임말으로써, Ardupilot 코드를 PC 와 같은 Linux 머신 위에서 빌드 및 테스트 해 볼수 있는 시뮬레이션 프로그램이다.

SITL 을 이용하면 다음과 같은 점을 기대해 볼 수 있겠다.

  • Hardware 에 종속적이지 않게 Vehicle specific code 를 Testing 할 수 있다
  • Physical 하지 않은 function 들을 안전하게 test, Debugging 할 수 있다.(즉, 드론이 덜 추락할 것이므로 돈을 아낄 수 있다.)
  • 실제 드론, 즉 하드웨어가 없어도 아두파일럿을 빌드하고 실행되는 모습을 가볍게 볼 수 있으므로 편리하다 그러나 다음과 같은 한계도 지닌다. *실제 비행 제어 (Physical) 의 동작은 신뢰할 수 없는 시뮬레이터의 한계를 가진다.


[SITL 의 Architecture]

아두파일럿 코드를 SITL 을 target 으로 빌드하게 되면, 리눅스 실행 바이너리인 .elf 형태로 빌드된다. 이것을 실제로 실행해 보면 아래와 같이 실행된다. 코드를 빌드하고 매개변수를 전달하여 실행하는 과정은 스크립트로 자동화 되어 제공되는데, 뒤에서 자세히 다루겠다.

아래 스크린샷은 SITL 을 실행한 모습이다.

[SITL 이 실행되는 모습]



[ardupilot][SITL] SITL(2) : 시뮬레이터 설치


Dev/Drone

아두파일럿 이란?

아두파일럿은 아두이노 + Autopilot 의 줄임말으로, 다양한 하드웨어 환경의 Vehicle 에 탑재될 수 있는 오픈소스 autopilot system 이다.(대표적으로 Quad Copter 에는 ArduCopter 가 들어간다.) 일반적으로 드론에게 기대할 수 있는 기능들을 제공하며, 눈여겨 볼 만한 특징으로는 GPS 기반으로 미션을 설정하여 자동 비행을 할 수 있다는 점이다. 이를 응용하면 다양한 활용 방안을 생각해 볼 수 있다. 대표적으로 공식 홈페이지의 Use Case & Application 을 살펴보면 아래와 같은 mission 을 수행하며 촬영한 카메라로 3D Mapping 을 하는데에 활용되는 모습을 볼 수 있다.

{: .center-image} [드론에게 위와 같이 waypoint 를 가지는 mission 을 설정할 수 있다.]

[드론을 이용하여 제작된 3D 이미지]


아두파일럿 공식 홈페이지

공식 홈페이지에서는 아두파일럿에 대해 친절하게 설명되어 있다.

최근 들어 드론의 활용에 관한 연구와 개발이 많이 이루어 지는데 오픈소스인 Ardupilot 을 이용하는 경우가 많다. (어른의 사정) 나는 아두파일럿을 공부하는데에 자료가 풍족하지 않아 공부하는데에 고생을 했다. 그렇다. 그래서 이 포스팅에 공부한 내용을 정리하기로 했다. 


 이 포스팅에서는 아두파일럿의 대표적인 하위 프로젝트인 아두 콥터에 대해서 살펴본다. 

아두파일럿을 공부하기에 앞서, 아두파일럿이 탑재된 드론이 있다면 가지고 충분히 조작해 보고 관찰하기를 바란다. 어느 분야나 그렇듯이, 코드를 분석하기 위해서는 코드의 동작을 먼저 관찰하는 것이 이해에 수월하다.

이 포스팅은 공식 사이트의 wiki 를 참고하였다.



1
블로그 이미지

IT & Computer Science

빨간호랑이