# 탑재 중량과 카메라

PX4는 다양한 페이로드와 카메라를 지원합니다.

# 드론 매핑

매핑 드론은 카메라를 사용하여 측량중 시간 또는 거리 간격으로 이미지를 캡처합니다.

MAVLink 카메라 프로토콜 (opens new window)을 지원하는 MAVLink 카메라는 PX4와 QGroundControl에서 최적의 통합을 제공합니다. MAVSDK는 독립형 카메라 작업 (opens new window)임무 (opens new window) 모두에 이 프로토콜을 사용하기 위한 간단한 API를 제공합니다.

카메라는 PWM 또는 GPI 출력을 사용하여 비행컨트롤러에 직접 연결할 수 있습니다. PX4는 비행컨트롤러에 연결된 카메라에 대해 다음과 같은 MAVLink 명령/임무 항목 세트를 지원합니다.

다음 항목에서는 카메라를 연결하여 PX4 설정 방법을 설명합니다.

# 화물 드론 ( "액추에이터" 페이로드)

화물 드론은 일반적으로 서보/액추에이터를 사용하여 화물 방출을 트리거하고 윈치를 제어합니다. PX4는 RC 및 MAVLink 명령을 통해 서보 및 GPIO 트리거링을 지원합니다.

# RC 트리거링

최대 3 개의 RC 채널을 매핑하여 RC_MAP_AUX1 ~ RC_MAP_AUX3 매개변수를 사용하여 비행컨트롤러에 연결된 서보/액추에이터를 제어할 수 있습니다.

RC 채널은 보통 비행컨트롤러의 AUX1, AUX2, AUX3 출력에 매핑됩니다 - _ 하지만 그럴 필요는 없습니다 _. 차량의 RC AUX 패스스루에 사용되는 출력은 기체 정의서에서 확인할 수 있습니다. 예를 들어, Quadrotor-X에는 "AUX1 : RC AUX1 채널의 피드 스루", "AUX2 : RC AUX2 채널의 피드 스루", AUX3 : RC AUX3 채널의 피드 스루 "와 같은 일반 매핑이 있습니다.

기체의 RC AUX 피드 스루 출력을 지정하지 않은 경우 Control group 3 출력 5-7을 원하는 포트로 매핑하여 사용자가 정의한 Mixer File을 사용하여 추가 할 수 있습니다. 이러한 믹서의 예는 기본 패스스루 믹서입니다 : pass.aux.mix (opens new window).

Note

"RC AUX의 피드 스루"에 사용되는 동일한 출력은 MAVLink 명령을 사용하여 설정할 수도 있습니다 (아래 참조). PX4는 두 메커니즘 중 하나를 통하여 설정된 마지막 값을 사용합니다.

# 임무 트리거링

MAV_CMD_DO_SET_ACTUATOR (opens new window) MAVLink 명령을 사용하여 미션에서 또는 명령으로 한 번에 최대 3 개의 액추에이터 값을 설정할 수 있습니다.

명령 매개 변수 param1, param2param3RC 트리거링에 사용 된 것과 _동일한 출력_에 매핑됩니다. 일반적으로 비행컨트롤러의 AUX1, AUX2, AUX3 출력입니다 (위의 RC 섹션에서는 확인 방법을 설명합니다). 다른 명령의 매개변수 (param4 ~ param7)들은 PX4에서 사용되지 않거나 무시됩니다.

매개 변수는 [-1, 1] 범위의 정규화된 값을 사용합니다 (결과적으로 PWM 출력은 [PWM_AUX_MINx, PWM_AUX_MAXx] 범위에서 X는 출력 번호 임). 제어되지 않는 모든 매개 변수/액추에이터는 NaN으로 설정하여야 합니다.

# MAVSDK (예제 스크립트)

다음 MAVSDK (opens new window) 샘플 코드는 페이로드 릴리스를 트리거하는 방법을 설명합니다.

이 코드는 MAVSDK MavlinkPassthrough (opens new window) 플러그인을 사용하여 MAV_CMD_DO_SET_ACTUATOR (opens new window) MAVLink 명령을 전송하고 (최대) 3 개의 액추에이터 값을 지정합니다.

#include <mavsdk/mavsdk.h>
#include <mavsdk/plugins/mavlink_passthrough/mavlink_passthrough.h>
#include <mavsdk/plugins/info/info.h>
#include <chrono>
#include <cstdint>
#include <iostream>
#include <future>
#include <memory>
using namespace mavsdk;
void send_actuator(MavlinkPassthrough& mavlink_passthrough,
        float value1, float value2, float value3);
int main(int argc, char **argv)
{
    Mavsdk mavsdk;
    std::string connection_url; << std::endl;
        return 1;
    }
    std::shared_ptr<System> system = mavsdk.systems().at(0);
    for (auto& tsystem : mavsdk.systems()) {
        auto info = Info{tsystem};
        std::cout << info.get_identification().second.hardware_uid << std::endl;
        if (info.get_identification().second.hardware_uid == "3762846593019032885") {
            system = tsystem;
        }
    }
    auto mavlink_passthrough = MavlinkPassthrough{system};
    send_actuator(mavlink_passthrough, value1, value2, value3);

# 감시, 검색 및 구출

감시, 검색 및 구조용 드론은 매핑 드론과 유사한 요구 사항을 가지고 있습니다. 주요 차이점은 계획된 조사 영역을 비행하는 것 외에 일반적으로 이미지 및 비디오 캡처 카메라에 대한 독립 실행형 제어가 필요하고 주야 모두 작업할 수 있어야한다는 점입니다.

MAVLink 카메라 프로토콜 (opens new window)을 지원하는 카메라를 사용하십시오.이 카메라는 이미지 및 비디오 캡처, 확대/축소, 저장 관리, 동일한 차량의 여러 카메라 및 카메라 간 전환 등을 지원합니다. 이러한 카메라는 QGroundControl 또는 MAVSDK를 통해 수동으로 제어할 수 있습니다 (독립형 카메라 작동 (opens new window)임무 (opens new window) 모두). MAVLink 연동 카메라 설정법은 카메라 트리거링을 참조하십시오.

Note

비행 제어 장치에 직접 연결된 카메라 카메라 트리거링을 지원하며, 대부분 감시/검색 작업에는 적합하지 않을 수 있습니다.

수색 및 구조용 드론은 실종된 등산객을위한 비상 용품과 같은화물을 운반할 수도 있습니다. 페이로드 배송에 대한 정보는 위의 화물 드론을 참조하십시오.