Plan a mission
Plan a mission
A "mission" in Pathfinder Copilot is a mission start position plus a list of waypoints. The Plan tab is where you build it. When you're done, you push the resulting mission.json to the drone, which reads it on the next Run.
What goes into a mission
Every mission has two main components:
Mission start — the lat/lon/altitude where you want the drone to begin. Treat it as the "home" position. The drone uses this to seed its EKF before flying.
Waypoints — an ordered list of lat/lon/altitude points. The drone visits them in order. Each waypoint can either trigger a sock-drop (centered detection) or just navigate through.
Both are configured on the Mission Setup card — the second card on the left of the Plan tab.
Set the mission start
The mission start has three fields: lat, lon, and alt (in meters AGL). Two ways to fill them in:
Type the values directly — useful when you have surveyed coordinates from another tool.
Pick on map — click the Pick mission start on map button. The cursor turns to a crosshair, the map auto-zooms in for precision, and a floating coordinate readout follows your mouse. Click anywhere on the map to set the mission start to that lat/lon. The altitude is left untouched — type it in separately.
Once set, a teardrop pin labelled Mission Start appears on the map at that location.
Add waypoints
Three ways to add a waypoint:
Click the Pick on map button under the Waypoints heading. Same UX as the mission-start picker: crosshair cursor, hover readout, single click drops a waypoint at the clicked coordinate. The new waypoint inherits the default altitude and arrival radius from the Defaults for new waypoints section above the list.
Type a latitude and longitude into the two text fields next to the Pick on map button and press Enter (or click the + button). The waypoint appears in the list with default altitude and radius.
If you've received a CoT detection (see CoT inbox), each detection card has a +wp button that adds it as a waypoint at the detection's lat/lon. Useful for "fly to this thing the field sensor saw".
Sockdrop vs Navigate
Per-waypoint altitude and arrival radius
Every row in the waypoint list has its own alt (meters AGL) and rad (arrival radius, meters) inputs. Defaults come from the mission-level Defaults for new waypoints values at the top of the card; you can override per-row.
The arrival radius is how close (in meters) the drone has to get before it considers the waypoint reached. Smaller values = tighter coverage, but more time spent loitering. 3 m is a reasonable default.
The List
Each waypoint row shows:
An index (01, 02, 03…).
A coloured dot — green = included in mission, hollow = excluded. Click to toggle. Excluded waypoints stay in the list but aren't pushed to the drone.
The lat/lon, click to edit inline. Press Enter to commit, Esc to cancel.
The drop / no-drop pill.
A remove (×) button.
Per-row alt and rad inputs underneath.
The Map view
The center column of the Plan tab is the map. As you build the mission, the map updates in real time:
Mission start is shown as a teardrop pin.
Waypoints are shown as numbered circles, color-coded by mode (teal = navigate, pink = sock-drop).
If you've cached a tile region (see Offline tile cache) the map renders from the cache; otherwise it uses live Esri tiles.
Clear all waypoints
To wipe the entire waypoint list, click clear all waypoints at the top of the Mission Setup card (only visible when at least one waypoint exists). It's a two-click arm/confirm — the first click shows "clear all?" with yes, clear and cancel buttons.
Push the mission to the drone
When the mission is ready, click Push to drone at the bottom of the left column. A confirmation modal opens showing the JSON preview, waypoint count, and drop count. Click Confirm to send it over SFTP to the drone.
The push writes mission.json to a known location on the drone (typically ~/pfa-edge/config/mission.json). Any existing file is renamed to .bak first, so a yanked SSH session never leaves the drone with a half-written file.
Download mission.json
Click Download JSON next to Push to drone to save a local copy of the mission file. Useful for archiving, sharing with another operator, or feeding into another tool.
Persistence
Waypoints, mission start, and the operator-tunable defaults (survey altitude, arrival radius) all persist across app reloads via local storage. Closing and reopening the app shows you the same mission you were working on. To start fresh, use clear all waypoints.