상세 컨텐츠

본문 제목

[드론 만들기] 드론 비행 시뮬레이터(Simulator)

만들기/드론

by kwangpil 2021. 3. 23. 22:49

본문

이전 글...

 

드론 만들기

  

   하드웨어

      [드론 만들기] 기본부품

         [드론 만들기] 비행 제어기(FC)

            [드론 만들기] Pixhawk 시리즈

               [드론 만들기] Pixhawk의 GPS

               [드론 만들기] Pixhawk의 텔레메트리(Telemetry)              

               [드론 만들기] Pixhawk의 변속기(ESC)

                  [드론 만들기] QGroundControl에서 변속기(ESC) 교정하기                 

               [드론 만들기] Pixhawk 4의 Power Management Board              

               [드론 만들기] Pixhawk 4

                  [드론 만들기] QGroundControl에서 Pixhawk 4 펌웨어 설치

                  [드론 만들기] QGroundControl에서 Pixhawk 4 설정하기 1/2

                  [드론 만들기] QGroundControl에서 Pixhawk 4 설정하기 2/2       

         [드론 만들기] 모터

         [드론 만들기] 배터리

            [드론 만들기] 리튬 폴리머 배터리 팩

         [드론 만들기] 변속기 (ESC)

         [드론 만들기] 프로펠러 (Propeller)

         [드론 만들기] 파워 분배기(PDB, Power Distribution Board)

         [드론 만들기] 조종기(Radio Control)          

 

   소프트웨어

      [드론 만들기] MissionPlanner와 QGroundControl

      [드론 만들기] QGroundControl 설치

         [드론 만들기] QGroundControl 사용방법 1/4

         [드론 만들기] QGroundControl 사용방법 2/4

         [드론 만들기] QGroundControl 사용방법 3/4   

         [드론 만들기] QGroundControl에서 Pixhawk 4 펌웨어 설치

         [드론 만들기] QGroundControl에서 Pixhawk 4 설정하기 1/2

         [드론 만들기] QGroundControl에서 Pixhawk 4 설정하기 2/2

         [드론 만들기] QGroundControl에서 Pixhawk 파라미터 변경하기  

      [드론 만들기] VMware Workstation Pro 설치하기

         [드론 만들기] VMware Workstation Player에 Virtaul Machine 만들기

         [드론 만들기] VMware Workstation Player에 Ubuntu 설치하기

            [드론 만들기] Ubuntu(우분투) 터미널 명령어

            [드론 만들기] Ubuntu(우분투) 주요 디렉터리

            [드론 만들기] Ubuntu(우분투) 기초용어

 

   시뮬레이션

      [드론 만들기] 드론 비행 시뮬레이터(Simulator)          

          [드론 만들기] 툴체인(toolchain) 설치하기

            [드론 만들기] jMAV Simulation 사용하기

            [드론 만들기] Gazebo Simulation 사용하기         

 

   조립

      [드론 만들기] 모터, 변속기에 커넥터 연결하기

      [드론 만들기] Power Management Board에 커넥터 연결하기

      [드론 만들기] 변속기(ESC)와 Power Management Board 연결하기

      [드론 만들기] 모터와 변속기(ESC) 연결하기

      [드론 만들기] QGroundControl에서 변속기(ESC) 교정하기

      [드론 만들기] GPS, Telemetry Pixhawk 4에 연결하기  

 

   통신

      [드론 만들기] MAVLink

         [드론 만들기] MAVLink 설치하기

         [드론 만들기] MAVLink 라이브러리 생성하기 

 

   비행

      [드론 만들기] 쿼드콥터(Quadcopter) 비행 원리          

 

   문제해결

      [드론 만들기] Pixhawk와 Emax ESC(변속기) 호환 문제 해결방법

 

   기타

      [드론 만들기] 비행금지구역

      [드론 만들기] 비행 시 주의 사항   

      [드론 만들기] 멀티콥터 종류

      [드론 만들기] 커넥터(connector)

      [드론 만들기] 용어


완전 초짜의 드론 만들기 도전! 도전! 도전~!입니다.
맨땅에 헤딩~

인터넷 검색, 관련 사이트를 참고하여 Pixhawk 4(PX4)를 이용한 중/소형 쿼드콥터 드론을 만들려고 하고 있습니다.

참고만 하세요~!

 

※ 아래 내용은 픽스호크 홈페이지 내용을 기반으로 작성한 것으로 틀린 내용을 포함하고 있을 수도 있습니다.

※ 정확한/상세한 내용은 Pixhawk 홈페이지 참조하세요.


 

많은 분야에서 제품 설계 시 다양한 시뮬레이터(simulaotr)를 사용하고 있다. 이러한 시뮬레이터를 사용함으로써 물리적, 기계적 특성을 해석하고 설계 오류를 발견할 수 있을 뿐만 아니라 제품 제작 전 미리 성능을 실험해볼 수 있다.

 

Pixhawk의 자동비행 소프트웨어인 PX4 역시 몇몇 시뮬레이터를 지원한다.

 

드론 개발단계에서 이런 시뮬레이터를 사용함으로써 변경사항을 빠르고 쉽게, 안전하게 PX4 비행 코드에 시험해볼 수 있다. 뿐만 아니라 시뮬레이터와 함께 QGroundControl, 오프보드 API(offboard API), 무선 제어기/게임패드(gamepad) 등을 사용해서 실제 드론처럼 모델링 된 드론과 사용자가 상호작용할 수도 있다.

 

 

1. PX4가 지원하는 시뮬레이터(Simulator) 종류

 

- Gazebo -

 

 

사진출처: http://gazebosim.org/

 

Pixhawk 사이트에서 사용을 강력하게 권고하는 시뮬레이터이다.

 

특징:

 

- 물체 인식/회피와 컴퓨터 비전 용으로 적합한 강력한 3D 시뮬레이션 환경

- 다중 드론/차량 시뮬레이션 용으로도 사용 가능

- 자동화 차량, 로봇, 드론 등에서 제어 용 툴의 집합체인 ROS와 함께 많이 사용

 

지원하는 기체 형태:

- Hex, Generic quad delta VTOL, Tailsitter, Plane, Rover, Submarine 등

 

※ 자세한 사용방법은 [드론 만들기] Gazebo Simulation 사용하기 참조

 

 

- FlightGear -

 

사진출처: wikimedia.org

 

특징:

- 물리적, 시각적으로 실제적인 시뮬레이션을 제공

- 천둥번개, 눈, 비, 우박 등을 포함한 다양한 환경에서 시뮬레이션이 가능

- 열 및 다양한 대기흐름 형태에서 시뮬레이션 가능

- 다중 드론/차량 시뮬레이션 용으로도 사용 가능

 

지원하는 기체 형태:

- plane, Autogyro, rover

 

※상세한 내용은 FlightGear 홈페이지 또는 Pixhawk 홈페이지를 참조한다.

 

 

- JSBSim -

 

 

사진출처: https://github.com/JSBSim-Team/jsbsim

 

특징:

- 강화된 비행 역학 모델을 제공하는 시뮬레이터

- 윈드 터널 데이터를 기초로 한 실질적인 비행 역학을 모델링하는데 사용 가능

 

지원하는 기체 형태:

- plane, Quad, Hex

 

※상세한 내용은 Pixhawk 홈페이지를 참조한다.

 

 

- jMAVSim -

 

 

특징:

- 단순 멀티 로터(multirotor) 시뮬레이터

- 설정 간단

- 이륙, 착륙, 다양한 오류 상태(예: GPS 고장)에 대해서 적합하게 반응하는지 테스트하기 위해 사용 가능

- 다중 드론 시뮬레이션 용으로도 사용 가능

 

지원하는 기체 형태:

- Quad

 

※ 상세 내용은 [드론 만들기] jMAV Simulation 사용하기 참조.

 

 

- AirSim -

 

 

마이크로소프트 사에서 개발한 크로스 플랫폼(cross platform) 시뮬레이터로 오픈 소스이다.

 

특징:

- 물리적, 시각적으로 실제적인 시뮬레이션

- 자원 집중적 시뮬레이터로 다른 시뮬레이터보다 더 고사양의 컴퓨터가 필요.

 

지원하는 기체:

- Iris(멀티 로터 모델 및 X 배열 형태에서 PX4 QuadRotor 배열)

 

※ 상세 내용은 AirSim 홈페이지 또는  Pixhawk 홈페이지를 참조.

 

 

- Simulation In Hardware(SIH) -

 

특징:

- 쿼드콥터 용 HITL(ahrdware in the loop)의 대안 시뮬레이터.

- 하드웨어 자동조종장치(autopilot)에서 하드웨어 경성 실시간(hard real time) 시뮬레이션을 바로 제공

 

지원하는 기체:

- Quad

 

※ 상세 내용은  Pixhawk 홈페이지를 참조.

 

 

2. PX4가 지원하는 시뮬레이션 방법

 

PX4는 flight stack이 컴퓨터 상에서 동작하는 SITL(Software in the loop) 시뮬레이션과 실제 비행 제어기(flight controller)에서 시뮬레이션 펌웨어만을 이용하는 HITL(Hardware in the loop) 시뮬레이션 두 가지 방법을 지원한다.

 

- SITL -

 

쉽게 말해서 비행 제어기(flight controller) 없이 컴퓨터 상에서 순수 소프트웨어로만 PX4 비행 코드(flight code)를 테스트하는 시뮬레이션이다.

따라서 컴퓨터의 시뮬레이션 환경에서 동작하고 이런 특수 환경 용으로 생성된 펌웨어를 사용한다. 시뮬레이터의 가상 환경 데이터를 제공하기 위한 시뮬레이션 드라이버를 제외하고는 모든 시스템이 실제처럼 작동한다.

 

위에 언급한 모든 시뮬레이터가 SITL을 지원한다.

 

아래 그림은 PX4가 지원하는 시뮬레이터의 일반적인 SITL 시뮬레이션 환경이다. 상세한 설명은 Pixhawk 홈페이지 참조한다.

 

<SITL 시뮬레이션 환경 블록도(출처: http://docs.px4.io)>

 

 

- HITL-

 

쉽게 말해서 비행 제어기(flight controller)를 시뮬레이터에 연결(시뮬레이터가 설치된 컴퓨터에 연결)해서 시뮬레이션하는 방법으로 HITL 모드로 설정된 비행 제어기에서 PX4 펌웨어가 작동한다. 

 

PX4가 지원하는 HITL 시뮬레이션 용 시뮬레이터는  jMAVSim와 Gazebo이다.

jMAVSim에서는 멀티콥터(multicopter)를, Gazebo에서는 멀티콥터와 VTOL 시뮬레이션이 가능하다.

 

두 시뮬레이터에서 현재 호환되는 기체 형태는 아래와 같다.

 

출처: http://docs.px4.io

 

아래 그림은 PX4가 지원하는 시뮬레이터의 HITL 시뮬레이션 환경 예이다. 상세한 설명은 Pixhawk 홈페이지 참조한다.

 

<HITL 시뮬레이션 환경 블록도(출처: http://docs.px4.io)>

 


 

 

관련글 더보기

댓글 영역