# 오프보드(Offboard) 모드

기체는 MAVLink를 태워 전달한 위치, 속도, 고도 지점 설정을 따릅니다. 셋포인트 명령은 보조 컴퓨터에서 MAVLink API (예, MAVSDK (opens new window) 또는 MAVROS (opens new window))를 통해 전달할 수 있습니다. 일반적으로 시리얼 케이블 또는 와이파이를 사용하여 보조 컴퓨터를 연결합니다.

TIP

Not all coordinate frames and field values allowed by MAVLink are supported for all setpoint messages and vehicles. 지원되는 값을 확인하시려면, 아래 섹션을 주의 하여 읽으십시오. 모드에 작동 전과 모드가 작동하는 동안 설정 값은 2Hz이상에서 스트리밍되어야합니다. :::

Note

  • 이 모드에는 위치 또는 자세/태도 정보(GPS, 광학 흐름, 시각-관성 주행 거리 측정, 모캡 등)가 필요합니다.
  • RC 제어는 모드 변경을 제외하고 비활성화되어 있습니다.
  • 이 모드를 사용하려면 기체의 시동을 걸어야합니다.
  • 이 모드를 사용하려면 차량이 이미 목표 설정 값 (> 2Hz) 스트림을 수신하고 있어야합니다.
  • 목표 설정 값이 2Hz 이상의 속도로 수신되지 않으면 기체의 모드를 종료합니다.
  • Not all coordinate frames and field values allowed by MAVLink are supported. :::

# 설명

오프보드 모드는 주로 기체의 움직임과 자세를 제어하는 데 사용되며, 매우 제한된 MAVLink 메시지 세트만 지원합니다 (향후 더 많은 기능이 지원될 수 있음).

이륙, 착륙, 발사 귀환과 같은 다른 작업은 적절한 모드를 사용하여 잘 처리됩니다. 업로드, 다운로드 임무와 같은 작업은 모든 모드에서 수행 가능합니다.

모드를 시작하기 전에 기체는 설정 값 명령 스트림을 수신하여야 모드가 유지됩니다. 메시지 주파수가 2Hz 미만으로 떨어지면 기체는 정지합니다. 이 모드에서 위치를 유지하려면 기체는 현재 위치에 대한 일련의 설정 값을 수신하여야 합니다.

오프 보드 모드에는 원격 MAVLink 시스템 (예 : 컴패니언 컴퓨터 또는 GCS)에 대한 연결하여야 합니다. 연결이 끊어지면 시간 초과(COM_OF_LOSS_T) 후에 기체는 착륙을 시도하거나 다른 안전 조치를 수행합니다. 작업은 COM_OBL_ACTCOM_OBL_RC_ACT 매개변수로 정의됩니다.

# 지원되는 메시지

# 멀티콥터/VTOL

  • SET_POSITION_TARGET_LOCAL_NED (opens new window)

    • 다음 입력 조합이 지원됩니다.
      • 위치 설정점(x, y, z 만 해당.)
      • 속도 설정점 (vx, vy, vz 만 해당)
      • 가속도 설정점 (afx, afy, afz 만 해당)
      • 위치 설정점 및 속도 설정점 (속도 설정점은 피드 포워드로 사용되며 위치 컨트롤러의 출력에 추가되고 결과는 속도 컨트롤러의 입력으로 사용됨).
      • Position setpoint and velocity setpoint and acceleration (the velocity and the acceleration setpoints are used as feedforwards; the velocity setpoint is added to the output of the position controller and the result is used as the input to the velocity controller; the acceleration setpoint is added to the output of the velocity controller and the result used to compute the thrust vector).
  • SET_POSITION_TARGET_GLOBAL_INT (opens new window)

    • 다음 입력 조합이 지원됩니다.
      • 위치 설정점(lat_int, lon_int, alt 만 해당.)

      • 속도 설정점 (vx, vy, vz 만 해당)

      • 추진력 설정점 (afx, afy, afz 만 해당)

        Note

가속 설정점은 정규화된 추력 설정 값을 만들기 위하여 매핑됩니다 (즉, 가속 설정값은 "올바르게"지원되지 않음).

* 위치 설정 값 **및** 속도 설정 값 (속도 설정 값은 피드 포워드로 사용되며 위치 컨트롤러의 출력에 추가되고 결과는 속도 컨트롤러의 입력으로 사용됨).
  • SET_ATTITUDE_TARGET (opens new window)
    • 다음 입력 조합이 지원됩니다.
      • 추력 설정점 (SET_ATTITUDE_TARGET.thrust)이 있는 자세/방향 (SET_ATTITUDE_TARGET.q).
      • 추력 설정점 (SET_ATTITUDE_TARGET.thrust)이 없는 Body rate (SET_ATTITUDE_TARGET .body_roll_rate ,.body_pitch_rate, .body_yaw_rate) .

# 고정익

  • SET_POSITION_TARGET_LOCAL_NED (opens new window)

    • 다음 입력 조합이 지원됩니다 (type_mask를 통해).
      • 위치 설정점 (x, y, z 만 해당, 속도 및 가속도 설정 값은 무시됨).
        • 아래의 *setpoint type* 값은 `type_mask` 필드에 대한 MAVLink 표준의 일부가 아닙니다. :::

          값들은 다음과 같습니다:

          • 292 : 글라이딩 설정점. 이는 추력이 없을 때 기체가 미끄러지도록하기 위해 고도보다 대기 속도를 우선하도록 TECS를 구성합니다 (즉, 속도를 조절하기 위해 피치가 제어 됨). type_mask를 다음과 같이 설정하는 것과 같습니다.POSITION_TARGET_TYPEMASK_Z_IGNORE, POSITION_TARGET_TYPEMASK_VZ_IGNORE, POSITION_TARGET_TYPEMASK_AZ_IGNORE.
          • 4096 : 이륙 설정점.
          • 8192: 착륙 설정점.
          • 12288 : Loiter 설정점 (설정점을 중심으로 선회 비행합니다).
          • 16384 : 유휴 설정점 (제로 스로틀, 제로 롤/피치).
    • PX4는 좌표 프레임 (coordinate_frame 필드)을 지원합니다 : MAV_FRAME_LOCAL_NED (opens new window)MAV_FRAME_BODY_NED (opens new window).
  • SET_POSITION_TARGET_GLOBAL_INT (opens new window)

    • 다음 입력 조합이 지원됩니다 (type_mask를 통해).
      • 위치 설정점(lat_int, lon_int, alt 만 해당.)
        • type_mask에서 설정점의 유형을 지정합니다 (이 비트가 설정되지 않은 경우 차량은 꽃과 같은 패턴으로 비행합니다).

Note

아래의 setpoint type 값은 type_mask 필드에 대한 MAVLink 표준의 일부가 아닙니다. :::

    값들은 다음과 같습니다:
    - 4096 : 이륙 설정점.
    - 8192: 착륙 설정점.
    - 12288 : Loiter 설정점 (설정점을 중심으로 선회 비행합니다).
    - 16384 : 유휴 설정점 (제로 스로틀, 제로 롤/피치).
  • PX4는 다음 coordinate_frame 값 (전용)을 지원합니다 : MAV_FRAME_GLOBAL (opens new window).

  • SET_ATTITUDE_TARGET (opens new window)

    • 다음 입력 조합이 지원됩니다.
      • 추력 설정점 (SET_ATTITUDE_TARGET.thrust)이 있는 자세/방향 (SET_ATTITUDE_TARGET.q).
      • 추력 설정점 (SET_ATTITUDE_TARGET.thrust)이 없는 Body rate (SET_ATTITUDE_TARGET .body_roll_rate ,.body_pitch_rate, .body_yaw_rate) .

# 탐사선

  • SET_POSITION_TARGET_LOCAL_NED (opens new window)

    • 다음 입력 조합이 지원됩니다 (type_mask를 통해).
      • 위치 설정점(x, y, z 만 해당.)
        • type_mask에서 설정점의 유형을 지정합니다.

          MAVLink에서 허용하는 모든 좌표 프레임 및 필드 값이 지원되는 것은 아닙니다. ::

          값들은 다음과 같습니다:

          • -12288 : Loiter 설정점 (설정점에 매우 가까워지면 기체는 멈춤).
      • Velocity setpoint (only vx, vy, vz)
  • SET_POSITION_TARGET_GLOBAL_INT (opens new window)

    • 다음 입력 조합이 지원됩니다 (type_mask를 통해).
      • 위치 설정점(lat_int, lon_int, alt 만 해당.)
    • type_mask에서 설정점의 유형을 지정합니다 (MAVLink 표준의 일부가 아님). 값들은 다음과 같습니다:
      • 다음 비트가 설정되지 않으면 정상적인 동작입니다.
      • -12288 : Loiter 설정점 (설정점에 매우 가까워지면 기체는 멈춤).
  • SET_ATTITUDE_TARGET (opens new window)

    • 다음 입력 조합이 지원됩니다.
      • 추력 설정점 (SET_ATTITUDE_TARGET.thrust)이 있는 자세/방향 (SET_ATTITUDE_TARGET.q). :::note yaw 설정만 실제로 사용/추출됩니다.

# 오프보드 매개변수

오프보드 모드는 아래의 매개 변수의 영향을받습니다.

매개변수 설명
COM_OF_LOSS_T 오프보드 손실 안전 장치 (COM_OBL_ACTCOM_OBL_RC_ACT) 동작 전에 오프 보드 연결이 손실되었을 때 대기하는 시간 제한 (초)
COM_OBL_ACT RC에 연결되지 않았을 때 오프 보드 제어가 손실된 경우 전환할 모드
COM_OBL_RC_ACT RC 제어에 연결되어 있는 동안 오프보드 제어가 손실된 경우 전환할 모드.
COM_RC_OVERRIDE 멀티콥터 (또는 MC 모드의 VTOL)에서 스틱 이동으로 인해 모드가 위치 모드로 변경 여부를 제어합니다. 기본적으로 오프보드 모드에서는 활성화되지 않습니다.
COM_RC_STICK_OV 위치 모드로 전환하는 스틱 이동량 (COM_RC_OVERRIDE이 활성화된 경우).

# 개발자 리소스

일반적으로 개발자는 MAVLink 계층에서 직접 작업하지 않지만 대신 MAVSDK (opens new window) 또는 ROS (opens new window)와 같은 로봇 API를 사용합니다 (이는 개발자 친화적인 API를 제공하고 관리 및 유지 관리를 처리합니다. 연결, 메시지 전송 및 응답 모니터링-오프보드 모드 및 MAVLink 작업의 세부 사항).

다음의 리소스는 개발자에게 유용합니다.