이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
Parrot Minidrone 기반 쿼드콥터 모델링 및 시뮬레이션
이 예제에서는 Simulink®를 사용하여 Parrot® 미니 드론 시리즈를 기반으로 쿼드콥터를 모델링, 시뮬레이션, 시각화하는 방법을 보여줍니다.

쿼드콥터 구현에 대한 자세한 내용은 Parrot 미니드론 기반 쿼드콥터 모델링를 참조하세요.
참고: 이 예제와 하드웨어를 통합하려면 Simulink Support Package for Parrot Minidrones와 C/C++ 컴파일러를 설치해야 합니다.
쿼드콥터 프로젝트 열기
이 예제의 프로젝트 파일의 작업 사본을 만들고 열려면 다음 명령을 실행하세요.
openProject('asbQuadcopter');설계
상위 수준의 설계는 아래와 같습니다. 각 구성 요소는 별도의 하위 시스템으로 설계되었으며, 각 하위 시스템은 변형 형태로 여러 가지 접근 방식을 지원합니다.

명령
6가지 자유도(x, y, z, 롤, 피치, 요) 모두에 대한 입력 명령 신호를 제공합니다. VSS_COMMAND 변수는 다음을 사용하여 선택적으로 입력 명령 신호를 제공하는 데 사용할 수 있습니다.
Signal Editor 블록
조이스틱
미리 저장된 데이터
스프레드시트
환경
환경 파라미터, 중력, 온도, 음속, 압력, 밀도, 자기장을 적절한 값으로 설정합니다. VSS_ENVIRONMENT 변수를 사용하면 환경 파라미터 값을 다음과 같이 선택적으로 설정할 수 있습니다.
Constant
변수
센서
비행체의 위치, 방향, 속도, 가속도를 측정하고 시각적 데이터도 수집합니다. VSS_SENSORS 변수를 사용하면 센서를 다음과 같이 선택적으로 설정할 수 있습니다.
동적
피드스루
기체
VSS_AIRFRAME 변수를 사용하여 비행체 모델을 비선형 또는 선형으로 선택합니다. 선형 상태 공간 모델은 Simulink Control Design™를 사용하여 트림 솔루션(trim solution)에 대한 비선형 모델을 선형화하여 얻습니다.
FCS(비행 제어 시스템)
FCS는 다음으로 구성됩니다.
추정기: 보완 필터와 칼만 필터를 사용하여 비행체의 위치와 방향을 추정하는 데 구현됩니다. 추정자 파라미터는 [1]을 기반으로 합니다.
비행 제어 장치: PID 컨트롤러를 사용하여 비행체의 위치와 방향을 제어합니다.
착륙 논리: 참조 명령을 무시하고 특정 시나리오에서 비행체를 착륙시키는 알고리즘을 구현합니다.
시각화
액추에이터 입력 값, 비행체 상태 및 환경 파라미터 값은 기록되며 시뮬레이션 데이터 인스펙터를 사용하여 시각화할 수 있습니다. 비행체 방향과 액추에이터 입력 값은 Flight Instruments를 사용하여 표시됩니다.
또한, VSS_VISUALIZATION 변수는 다음을 사용하여 비행체 방향을 시각화하는 데 사용할 수 있습니다.
스코프
작업 공간에서
FlightGear
Simulink® 3D Animation™
Simulink® 3D Animation™을 사용한 시각화는 Epic Games®의 Unreal Engine®과 Simulation 3D Scene Configuration, Simulation 3D Rotorcraft 블록, 그리고 Aerospace Blockset의 Simulation 3D Multirotor 비행체를 사용합니다. 시각화는 Airport (VSS_VISUALIZATION = 3) 또는 Apple Hill (VSS_VISUALIZATION = 3) 장면에서 수행할 수 있습니다. Apple Hill 장면은 Aerospace Blockset™ Interface for Unreal Engine Projects 지원 패키지로 제공됩니다.
구현
명령 하위 시스템의
ACcmd 버스 신호는 FCS 하위 시스템에 대한 참조 신호를 형성합니다.환경서브시스템의
Environment버스 신호에는 환경 데이터가 포함되어 있으며, 센서서브시스템(관성 측정 장치의 중력 입력으로 인한 가속도)과 비행체서브시스템(힘과 모멘트 계산에 사용)으로 전달됩니다.Sensors버스 신호와 센서서브시스템의Image Data는 측정 신호를 형성하여 비행체의 현재 상태에 대한 정보를 FCS 서브시스템에 제공합니다.추정기와 컨트롤러로 구성된 FCS 하위 시스템은 기준 신호와 측정 신호를 기반으로 쿼드콥터 모터
Actuators에 대한 명령 신호를 계산합니다. FCSFlag의 추가 출력은 비행체 상태 값(위치 및 속도)이 특정 안전 한계를 넘을 경우 시뮬레이션을 중지합니다.Airframe 하위 시스템은 플랜트 모델 역할을 하며, 쿼드콥터의 4개 로터에 해당하는 모터에 대한 입력으로
Actuator명령을 받습니다. [2], [3]을 기반으로 구현된 Multirotor 블록은 힘과 모멘트 계산에 사용됩니다. Airframe서브시스템의 출력은 Sensors서브시스템으로 다시 피드백되는States버스 신호입니다.시각화서브시스템은
AC cmd버스 신호(참조 명령 신호), FCS가 생성한Actuators입력, Aiframe서브시스템의States버스 신호를 사용하여 시각화를 지원합니다.
궤적 생성
궤적 생성 툴로 Dubin 방법을 사용하여 일련의 내비게이션 웨이포인트를 생성합니다. 일련의 경로점을 포함하는 궤적을 생성하기 위해 이 방법은 위치, 방향, 회전 곡률, 회전 방향으로 정의된 포즈 세트를 사용합니다.
도구를 시작하려면 프로젝트가 열려 있고 실행되어 있는지 확인하세요.
asbTrajectoryTool
다음 인터페이스가 표시됩니다.

인터페이스에는 여러 개의 패널이 있습니다.
웨이포인트
이 패널에서는 궤적 도구에 필요한 포즈를 설명합니다. 이러한 포즈를 정의하기 위해 패널은 텍스트 상자를 사용합니다.
북쪽과 동쪽 (위치, 단위: 미터)
방향 (북쪽을 기준으로 한 각도)
곡률 (회전 곡률, 단위: 미터^-1)
회전 (시계 방향 또는 반시계 방향)
텍스트 상자 오른쪽의 경로점 목록에 포즈 목록이 나타납니다.
경유지를 추가하려면 편집 상자에 포즈 값을 입력하고 추가를 클릭합니다. 새로운 경로점이 같은 패널의 경로점 목록에 나타납니다.
경유지의 특성을 편집하려면 목록에서 경유지를 선택하고 편집을 클릭합니다. 경로점의 특성은 편집 상자에 표시됩니다. 원하는 대로 특성을 편집한 후 OK를 클릭하세요. 변경 사항을 취소하려면 취소를 클릭하세요.
경유지를 삭제하려면 경유지 목록에서 경유지를 선택하고 삭제를 클릭합니다.
비행 금지 구역
패널은 비행 금지 구역의 위치와 특성을 정의합니다. 비행 금지 구역을 정의하기 위해 패널은 텍스트 상자를 사용합니다.
북쪽과 동쪽 (위치, 단위: 미터)
반경 (거리, 단위: 미터 )
여유 (안전 여유, 단위: 미터)
추가, 삭제, 편집, OK, 취소 버튼을 Waypoints 패널과 같은 방식으로 사용합니다.
매핑된 궤적
이 패널은 경로점과 비행 금지 구역 특성을 기반으로 애플 힐 캠퍼스 항공 개략도의 궤적을 표시합니다.
궤적을 생성하려면 각 패널에 경로점과 비행 금지 구역 특성을 추가한 다음 궤적 생성을 클릭합니다.
현재 패널에 있는 궤적을 저장하려면 저장 버튼을 클릭하세요. 이 버튼은 마지막 궤적만 저장합니다.
마지막으로 저장된 궤적을 불러오려면 불러오기를 클릭하세요.
기본 궤적을 로드하려면 기본값 로드 버튼을 누르세요.
경로점 및 비행 금지 구역 패널의 값을 지우려면 지우기를 클릭하세요.
기본 데이터에는 장난감 쿼드콥터가 카메라를 사용하여 특정 위치에 대한 포즈를 포함하고 있으므로, 지상의 조종사가 지붕에 쌓인 눈의 높이를 추정할 수 있습니다. 각 보조 전원 발전기마다 비행 금지 구역을 3개씩 설정했기 때문에 쿼드콥터에 고장이 생기더라도 캠퍼스 인프라에 피해를 주지 않습니다.
예제에서 기본 데이터에 대한 궤적을 생성할 때 플롯은 다음과 같이 표시되어야 합니다.
빨간색 선은 궤적을 나타내고, 검은색 x 마커는 궤적의 변화나 특정 포즈를 결정합니다. 특정 경로점을 향한 방향을 나타내는 파란색 선은 특정 포즈를 수반합니다. 비행 금지 구역은 녹색 원으로 표시됩니다.
참고 문헌
[2] Prouty, R. Helicopter Performance, Stability, and Control. PWS Publishers, 2005.
[3] Pounds, P., Mahony, R., Corke, P. Modelling and control of a large quadrotor robot. Control Engineering Practice. 2010.