Turqoa Docs

Mission Profiles

Mission profiles define how a drone behaves from launch to landing. Each profile specifies flight parameters, camera settings, evidence capture rules, and trigger conditions. Turqoa ships with four built-in profiles that can be customized per site.

Alarm Verification

The highest-priority mission type. A drone launches immediately when a perimeter alarm fires, flies directly to the alarm coordinates, and captures evidence for operator review.

Trigger Conditions

  • Perimeter sensor alarm with confidence >= 0.70
  • Camera-based motion detection in restricted zones
  • Gate OS anomaly flag (unrecognized vehicle, tailgating)
  • Manual operator dispatch

Flight Parameters

alarm_verification:
  flight:
    altitude_meters: 30
    approach_speed_ms: 12
    orbit_radius_meters: 15
    orbit_count: 2
    hover_duration_seconds: 30
    return_speed_ms: 10
  camera:
    mode: auto_track
    zoom: adaptive
    thermal_overlay: true
    resolution: "4K"
    frame_rate: 30
  priority: critical
  max_response_time_seconds: 90
  preempt_lower_priority: true

Evidence Capture

SettingValue
Video recordingContinuous from launch
Thermal imagingEnabled during orbit
Snapshot intervalEvery 2 seconds during hover
Audio recordingOptional (if hardware supports)
Metadata overlayTimestamp, GPS, heading, altitude
StorageLocal + cloud sync
Retention90 days (configurable)

Configuration Example

{
  "profile": "alarm_verification",
  "trigger": {
    "event_types": ["motion_detected", "perimeter_breach", "gate_anomaly"],
    "min_confidence": 0.70,
    "zones": ["north_perimeter", "east_perimeter", "gate_1", "gate_2"],
    "time_window": "24/7"
  },
  "flight": {
    "altitude_meters": 30,
    "approach_speed_ms": 12,
    "orbit_radius_meters": 15,
    "orbit_count": 2,
    "hover_duration_seconds": 30
  },
  "evidence": {
    "video": { "enabled": true, "resolution": "4K", "thermal": true },
    "snapshots": { "enabled": true, "interval_seconds": 2 },
    "retention_days": 90
  }
}

Patrol

Scheduled flights along predefined waypoint routes. Patrol missions provide continuous visual coverage of areas between fixed cameras.

Trigger Conditions

  • Cron-based schedule (e.g., every 4 hours)
  • Threat level elevation (automatic increase in patrol frequency)
  • Manual operator request

Flight Parameters

patrol:
  flight:
    altitude_meters: 40
    cruise_speed_ms: 8
    waypoint_hover_seconds: 10
    route_type: predefined  # predefined | random | adaptive
  camera:
    mode: sweep
    sweep_angle_degrees: 120
    thermal_overlay: false
    resolution: "1080p"
    frame_rate: 24
  priority: low
  schedule:
    cron: "0 */4 * * *"
    skip_if_weather_unsafe: true

Route Configuration

Define patrol routes as ordered waypoint lists:

{
  "profile": "patrol",
  "route": {
    "name": "north_perimeter_patrol",
    "waypoints": [
      { "lat": 51.5074, "lng": -0.1278, "altitude_m": 40, "hover_s": 10 },
      { "lat": 51.5080, "lng": -0.1265, "altitude_m": 40, "hover_s": 10 },
      { "lat": 51.5085, "lng": -0.1250, "altitude_m": 40, "hover_s": 15 },
      { "lat": 51.5090, "lng": -0.1240, "altitude_m": 40, "hover_s": 10 }
    ],
    "loop": false,
    "reverse_on_return": true
  },
  "schedule": {
    "cron": "0 */4 * * *",
    "timezone": "Europe/London"
  }
}

Evidence Capture

SettingValue
Video recordingContinuous during flight
Thermal imagingDisabled by default
Snapshot intervalAt each waypoint
Anomaly detectionAI-based change detection vs. baseline
StorageCloud sync on landing
Retention30 days

Investigation

Operator-initiated missions for real-time reconnaissance. The operator has full control of the flight path and camera during an investigation.

Trigger Conditions

  • Manual operator dispatch only
  • Typically follows an alarm verification that requires further inspection
  • Can be initiated from Command Center or mobile app

Flight Parameters

investigation:
  flight:
    altitude_meters: 15  # lower for detail
    max_speed_ms: 6
    control_mode: manual  # manual | semi_auto | waypoint
    geofence_enforced: true
  camera:
    mode: operator_controlled
    zoom: manual
    thermal_overlay: true
    resolution: "4K"
    frame_rate: 30
    gimbal_control: operator
  priority: high
  max_duration_minutes: 15
  operator_required: true

Evidence Capture

SettingValue
Video recordingContinuous with operator annotations
Thermal imagingOperator toggle
SnapshotOn-demand (operator button)
Evidence taggingReal-time bookmarks with notes
Live streamTo Command Center + recording
Retention180 days

Operator Controls

During an investigation, the operator console exposes:

interface InvestigationControls {
  // Flight
  setHeading(degrees: number): void;
  setAltitude(meters: number): void;
  setSpeed(metersPerSecond: number): void;
  hoverInPlace(): void;
  returnToBase(): void;

  // Camera
  setZoom(level: number): void;
  toggleThermal(): void;
  setGimbalAngle(pitch: number, yaw: number): void;
  captureSnapshot(): void;

  // Evidence
  addBookmark(note: string): void;
  startHighPriorityRecording(): void;
  tagPersonOfInterest(boundingBox: BoundingBox): void;
}

Perimeter Sweep

A comprehensive perimeter flight triggered by elevated security conditions. The drone follows the entire facility boundary, recording continuous video.

Trigger Conditions

  • Threat level raised to HIGH or CRITICAL
  • Post-incident sweep requested
  • Scheduled (e.g., shift change)
  • Decision Engine rule trigger

Flight Parameters

perimeter_sweep:
  flight:
    altitude_meters: 50
    cruise_speed_ms: 6
    follow_boundary: true
    boundary_offset_meters: 10  # fly 10m inside fence line
    overlap_percent: 15  # overlap start/end by 15%
  camera:
    mode: continuous_record
    orientation: outward  # face away from facility
    thermal_overlay: true
    resolution: "4K"
    frame_rate: 30
  priority: high
  estimated_duration_minutes: 25
  require_full_battery: true

Evidence Capture

SettingValue
Video recordingContinuous, dual-stream (visual + thermal)
Panoramic stitchingEnabled post-flight
Change detectionCompare against previous sweep baseline
Anomaly alertsReal-time during flight
StorageImmediate cloud sync
Retention365 days

Configuration Example

{
  "profile": "perimeter_sweep",
  "trigger": {
    "threat_levels": ["high", "critical"],
    "event_types": ["threat_level_change", "post_incident"],
    "schedule": {
      "cron": "0 6,18 * * *",
      "timezone": "UTC"
    }
  },
  "boundary": {
    "source": "site_geofence",
    "offset_meters": 10,
    "direction": "interior"
  },
  "evidence": {
    "video": { "enabled": true, "resolution": "4K", "dual_stream": true },
    "change_detection": { "enabled": true, "baseline": "last_sweep" },
    "retention_days": 365
  }
}

Profile Priority Matrix

When multiple missions are requested simultaneously, priority determines which drone is assigned first:

ProfilePriorityCan PreemptPreempted By
Alarm VerificationCriticalPatrolNone
InvestigationHighPatrolAlarm Verification
Perimeter SweepHighPatrolAlarm Verification
PatrolLowNoneAll higher priorities

Custom Profiles

Create custom profiles by extending a base profile:

custom_profiles:
  - name: vip_escort
    extends: investigation
    overrides:
      flight:
        altitude_meters: 20
        control_mode: semi_auto
      camera:
        resolution: "4K"
        face_blur: false
      priority: critical
      max_duration_minutes: 60