Saltearse al contenido

Waypoints y acciones

Una vez que un patrón genera waypoints puedes adjuntar acciones a cualquier punto — una foto, un hover, un movimiento de gimbal, un cambio de rumbo. Las acciones viven en waypointActions[index] en la DroneMission y en wp.actions en cada DroneMissionWaypoint. En el envío se serializan en bloques <wpml:actionGroup> WPML dentro de cada <Placemark>.

Tipos de acción

El enum DroneWaypointAction.type tiene doce valores:

TipoEfecto
take_photoFoto única mediante takePhoto.
start_videoIniciar grabación mediante startRecord.
stop_videoTerminar grabación mediante stopRecord.
hoverMantener posición por param segundos (mín. 1).
gimbal_downCabeceo de gimbal a -90 (nadir).
gimbal_forwardCabeceo de gimbal a 0 (adelante).
gimbal_anglePitch absoluto param, yaw param2, roll param3.
rotate_headingYaw de aeronave a param grados; dirección del signo de param2.
focusPoint-focus en (param, param2) normalizado en [0..1].
zoomEstablecer focalLength a param mm.
custom_dir_nameEscribir capturas posteriores en directorio label.
customPlaceholder (no emitido a WPML).

gimbal_angle siempre emite gimbalRotateMode: absoluteAngle y gimbalHeadingYawBase: aircraft — el yaw es relativo a la aeronave, no al norte magnético. Para movimientos de gimbal absolutos al compás usa en su lugar un headingMode: fixed a nivel de waypoint.

Adjuntar acciones

En el planificador:

  1. Haz clic en un waypoint numerado en el preview.
  2. Abre el cajón Acciones.
  3. Añade cualquier número de acciones — se ejecutan en orden en el punto de disparo.

Cada acción lleva un trigger opcional que controla cuándo se dispara el grupo de acciones relativo al waypoint (DroneActionTriggerType):

  • reachPoint (predeterminado) — dispara en el momento que la aeronave alcanza el waypoint.
  • betweenAdjacentPoints — dispara repetidamente cada intervalDistance metros conforme la aeronave transita el tramo saliente.
  • multipleTiming — dispara cada intervalMs milisegundos.

Todas las acciones en un waypoint comparten el trigger de la primera acción en el grupo.

Overrides de cámara por acción

Cada acción de foto/vídeo lleva un cameraSettings (DroneCameraSettings) opcional que sobrescribe los defaults a nivel de misión para esa única captura:

  • focusModeauto | manual.
  • meteringModeaverage | spot.
  • exposureModeauto | shutter_priority | aperture_priority | manual.
  • iso, aperture, shutterSpeed.
  • dewarpEnabled.
  • fileSuffix — añadido al nombre del directorio de medios capturados (emitido como <wpml:fileSuffix>).
  • lenses — cualquiera de wide, zoom, ir. Unidos por coma en el momento de serialización y emitidos como <wpml:payloadLensIndex>.
  • useGlobalLens — cuando es false, las lenses de esta acción sobrescriben el conjunto de lentes a nivel de misión (emite <wpml:useGlobalPayloadLensIndex>0</...>).

Compatibilidad con firmware de dock. Sólo fileSuffix, payloadLensIndex y useGlobalPayloadLensIndex son emitidos a WPML por el generador. Los otros campos de cameraSettings (focusMode, meteringMode, exposureMode, iso, aperture, shutterSpeed, dewarpEnabled) se almacenan para compatibilidad futura y se aplican mediante comandos MQTT de control de cámara en vivo en lugar de mediante WPML. El firmware de dock ≥ 1.6 rechaza elementos desconocidos dentro de actionActuatorFuncParam.

Overrides por waypoint

Cada DroneMissionWaypoint puede sobrescribir los defaults de misión para el punto que representa y para el tramo que sale de él:

  • speedMps — override de crucero de segmento.
  • altitudeM, heightMode — override de altitud + reference-frame.
  • headingMode + headingAngleDeg — override de rumbo; towardPOI reutiliza el headingPoi de la misión.
  • turnMode + turnDampingDistM — aplanar o afilar el giro a través de este punto.
  • gimbalPitchDeg — pitch por punto (prevalece sobre el predeterminado de misión).
  • gimbalYawDeg, gimbalRollDeg — aceptados en el modelo para forward-compat; no se emiten como hijos de placemark. Para rotar yaw o roll de gimbal en un punto usa en su lugar una acción gimbal_angle.

Para ediciones masivas de altitud sin tocar objetos de waypoint individuales, escribe en mission.pointAltOverrides — el planificador aplica los overrides encima de las alturas generadas por el patrón.

Relacionado