Skip to content

Add support for Potensic Atom 1 waypoint missions in drone-flightplan#545

Merged
spwoodcock merged 13 commits into
developfrom
feat/potensic-atom
Jul 4, 2025
Merged

Add support for Potensic Atom 1 waypoint missions in drone-flightplan#545
spwoodcock merged 13 commits into
developfrom
feat/potensic-atom

Conversation

@spwoodcock

@spwoodcock spwoodcock commented May 11, 2025

Copy link
Copy Markdown
Member

What type of PR is this? (check all applicable)

  • 🍕 Feature
  • 🐛 Bug Fix
  • 📝 Documentation
  • 🧑‍💻 Refactor
  • ✅ Test
  • 🤖 Build or CI
  • ❓ Other (please specify)

Related Issue

Builds on #413, which actually broke DroneTM with incorrect enum usage (fixed in this PR).

Fixes #543

Describe this PR

See related blog: https://spwoodcock.dev/blog/2025-05-11-potensic-atom-waypoints

  • Adds support in drone-flightplan package.
  • Next steps:
    • Test the output thoroughly
    • Add good documentation for this
    • Implement support for generation via Drone-TM UI.

Checklist before requesting a review

  • 📖 Read the HOT Code of Conduct: https://docs.hotosm.org/code-of-conduct
  • 👷‍♀️ Create small PRs. In most cases, this will be possible.
  • ✅ Provide tests for your changes.
  • 📝 Use descriptive commit messages.
  • 📗 Update any related documentation and include any relevant screenshots.

Extra info

Major caveats:

  • There is a hard limit of 50 points per flight in PotensicPro. Perhaps this could be worked around with a modded APK, but it's a restriction for now.
  • Have to enable photo intervals prior to commencing flightplan.
  • Possible to add multiple flightplans at once if desired, but they aren't labelled well (simply with the date).
  • Params in flightrecordbean table appear to do nothing - purely informational
    • Must fly to the required altitude manually before starting flight.
    • Also cannot set gimbal angle automatically.

How to use this:

  • Create flightplan via DroneTM (future) or Python script:
    cd src/backend
    uv sync
    uv run python packages/drone-flightplan/drone_flightplan/create_flightplan.py \
       --forward_overlap 75 \
       --side_overlap 75 \
       --altitude_above_ground_level 100 \
       --image_interval 2 \
       --drone_type POTENSIC_ATOM_2 \
       --project_geojson ./my_location.geojson \
       --take_off_point lat_coord,lon_coord \
       --outfile map.db
  • Connect phone to computer in debugging mode, with adb available on your computer (full details here https://spwoodcock.dev/blog/2025-05-11-potensic-atom-waypoints):
    ./adb shell run-as com.ipotensic.potensicpro rm -f databases/map.db-journal
    base64 map.db > map.db.b64
    ./adb shell run-as com.ipotensic.potensicpro sh -c "'base64 -d > databases/map.db'" < map.db.b64
  • Set up your drone somewhere, take off and accent to >5m (required), then hover.
  • Select the waypoint mission
    • Click minimap bottom left of second screen, then click waypoint button on the right
    • There are 3 buttons that appear: Delete, Save, Edit
    • Click the edit button to open available waypoint missions
    • Click on the waypoint mission at the top of the list (latest goes to the top)
    • The flight params will display in a popout - remember the flight altitude
  • Prep for the flight
    • Fly to required altitude (shown in the last step)
    • Set camera gimbal angle to -80
    • Go back to the previous screen by clicking the bottom left minimap
    • Set photo interval to 3 seconds, by holding the clock button on right
  • Start the flight
    • Now again go back to the flightplan map, by clicking the bottom left minimap
    • Click Go, and start the flight
  • Finalise
    • Monitor the flight progress on the screen and with line of sight in the sky
    • Once done, go back to the main map screen and turn off the photo timer (important!)
    • Return to base

@spwoodcock spwoodcock self-assigned this May 11, 2025
@spwoodcock spwoodcock marked this pull request as draft May 11, 2025 23:03
@github-actions github-actions Bot added enhancement New feature or request backend Related to backend code dependency:drone-flightplan Requires updates in drone-flightplan labels May 11, 2025
@spwoodcock spwoodcock force-pushed the feat/potensic-atom branch from 3ad7132 to 5e464f5 Compare June 21, 2025 21:16
@github-actions github-actions Bot added the docs Improvements or additions to documentation label Jun 21, 2025
@spwoodcock spwoodcock requested a review from nrjadkry June 21, 2025 21:53
@spwoodcock spwoodcock changed the title Start implementing generation of potensic atom waypoint missions Add support for Potensic Atom 2 waypoint missions in drone-flightplan Jun 21, 2025
@spwoodcock spwoodcock marked this pull request as ready for review June 21, 2025 21:55
@spwoodcock spwoodcock merged commit 3221636 into develop Jul 4, 2025
2 checks passed
@spwoodcock spwoodcock deleted the feat/potensic-atom branch July 4, 2025 20:32
@spwoodcock

Copy link
Copy Markdown
Member Author

I merged this in to get moving, but the change in calculations definitely needs a thorough review from some one.

@spwoodcock spwoodcock changed the title Add support for Potensic Atom 2 waypoint missions in drone-flightplan Add support for Potensic Atom 1 waypoint missions in drone-flightplan Feb 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend Related to backend code dependency:drone-flightplan Requires updates in drone-flightplan docs Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for Potensic Atom waypoint missions

1 participant