Commit Graph

20 Commits

Author SHA1 Message Date
Roman Bapst
2829c928c4 docs(navigator): [geofence] added some more warnings about limitations (#28001)
* [docs][geofence] added some more warnings about limitations

Signed-off-by: RomanBapst <bapstroman@gmail.com>

* docs(update): Minor restructure

---------

Signed-off-by: RomanBapst <bapstroman@gmail.com>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2026-07-22 15:29:02 +10:00
PX4BuildBot
186ad6d691 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-07-09 12:14:59 +00:00
Roman Bapst
40e61d2429 feat(navigator): Geofence Aware RTL (#27145)
Plan RTL paths that route around geofence boundaries — both inclusion
and exclusion zones — instead of flying straight through them and
breaching. The planner builds a visibility graph over the margin-inflated
geofence polygons and circles and runs Dijkstra to find the shortest
legal return path, falling back to a straight line to the destination
when no valid path exists.

Highlights:
- New reusable libraries: src/lib/dijkstra (generic shortest path) and
  src/lib/geofence (fixed-point geometry, polygon inflation, bitangent
  visibility); the RTL planner lives in navigator/RTLPlanner.
- Visibility graph keeps only bitangent edges and skips edges that poke
  into a forbidden region, greatly reducing edge-cost computation.
- Corner splitting is limited to sharp convex corners.
- Geometry validation: reject self-intersecting polygons and vertices
  outside the fixed-point range; centimeter fixed-point scaling keeps
  orientation tests exact and avoids drift at large distances.
- Failure handling: a Status enum replaces silent bool returns, and
  failures (unbuildable fence, planner capacity overflow, dataman load
  errors, NaN waypoints, destinations that breach the fence) are
  surfaced to the operator via MAVLink warnings/criticals; the planner
  falls back to a straight-line RTL.
- Destination updates are centralized in RTL::setRtlTypeAndDestination;
  the path is replanned only when the destination or geometry changes.
- VTOLs always use the fixed-wing margin (FW loiter radius).
- kMaxNodes is exposed as a Kconfig option (default 100); the feature is
  disabled on flash-constrained boards (FMUv4 and older, various F4/F7).
- Tests: unit tests for the Dijkstra lib, geofence geometry utils, and
  the avoidance planner, plus a MAVSDK SITL test flying an RTL through a
  geofence.
- Documentation: new "Geofence Awareness" section in the RTL docs.

Co-authored-by: Balduin <balduin@auterion.com>
2026-07-09 15:08:27 +03:00
PX4BuildBot
f0c127e5f7 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-07-01 13:06:45 +00:00
Gennaro Guidone
b8c5f66af0 feat(manual_control): replace stick override threshold with double-flick gesture (#27041)
* feat(manual_control): trigger RC override on stick velocity

COM_RC_STICK_OV is now a velocity threshold (1/s) instead of a deflection percentage.
Default 3.0, range [1.0, 10.0]. A stick held statically cannot trigger override.

* docs(manual_control): update COM_RC_STICK_OV description for velocity-based override

* feat(manual_control): gate RC override with sign-consistency check

* fix(ManualControl): lower threshold and filter constant for RC override, add tests for MovingDiff

* refactor(commander): merge RC override params into COM_RC_OVR_SPEED

Replace the COM_RC_OVERRIDE bitmask + COM_RC_STICK_OV threshold with a
single float COM_RC_OVR_SPEED (stick override velocity, 0 = disabled).
Override now applies uniformly in auto and offboard modes.

- ManualControl: rename param, treat 0 as disabled (FLT_EPSILON guard)
- Commander: drop the per-mode bitmask gate and the RcOverrideBits enum
- param_translation: migrate COM_RC_OVERRIDE on import (enabled -> 1.0,
  disabled -> 0.0) and drop the unit-incompatible COM_RC_STICK_OV value
- docs: collapse the two params into one across the mode pages

* fix(manual_override): Move configuration to manual_control module

with MAN_OVERRIDE_SPD parameter and a negative value disabling the feature. All other logic stays in Commander.

* docs(releases): add release note for RC override rework (MAN_OVERRIDE_SPD)

---------

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2026-07-01 14:59:52 +02:00
Sijia
d018063b19 docs(failsafe): clarify Offboard proof-of-life and COM_OBL_RC_ACT docs (#27636) 2026-06-11 15:15:37 +10:00
Sijia
d5f5c50330 docs(navigator): clarify multicopter Return behavior (#27610) 2026-06-10 14:28:43 +10:00
Jonas Perolini
50c57be15f fix(navigator): rtl compute wind angle to select best land approach based on rally point location instead of home location (#27004) 2026-06-04 13:55:31 +10:00
Hamish Willee
323c623e34 docs(docs):Fixes that prettier does not handle well (#27212) 2026-04-26 14:30:02 +10:00
PX4BuildBot
8d03ec6824 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-14 23:47:37 +00:00
Jonas Perolini
83f2b96954 fix(navigator): goToNextPositionItem skip loops when required (#26993) 2026-04-15 09:40:13 +10:00
Beniamino Pozzan
0831782d3a docs(offboard): highlight ROS 2 offboard control risks (#26762) 2026-04-08 15:20:23 +10:00
Hamish Willee
4226b7d4ec docs: Manual control updates to reflect prioritised selection (#25835) 2026-02-25 10:43:19 +11:00
fakerror
4117912506 docs: clarify rover MAVLink offboard support (#26411)
* docs: clarify rover MAVLink offboard support

* Apply suggestion from @hamishwillee

---------

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2026-02-12 16:25:12 +11:00
chfriedrich98
66b07d8219 Docs: Rover API (#25499)
* docs: add RoverSetpointTypes

* docs: add rover api

* docs: remove rover offboard mavlink support

* docs: fix broken links

* Apply suggestion from @hamishwillee

---------

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2025-09-26 10:33:35 +10:00
Hamish Willee
8e0f223b3a Link fixes and removal of dead docs (#25239)
* Remove Zubax Orel - not available and no other presence

* Fix up zubax product links

* Snapdragon flight - delete as no longer relevant hardware

* Delete intel aero docs

* Brushless whoop - remove docs except for link to old version

* Many link fixes
2025-07-17 15:30:56 +10:00
Hamish Willee
2c31e2bad5 Fix all possible HTTP to HTTPS docs links (#25153) 2025-07-03 18:09:58 +10:00
Matthias Grob
2bc04f91f8 docs: fix all end of file newlines
Note: Some files are autogenerated and I did not yet
go through each source of generation to fix it there.
Instead I adjusted the filter to only exclude those
such that we can fix things in steps.
2025-06-26 11:03:23 -07:00
Hamish Willee
3a54b482d2 Fix up cross links 2025-06-25 13:03:46 +10:00
Hamish Willee
88d623bedb Move PX4 Guide source into /docs (#24490)
* Add vitepress tree

* Update existing workflows so they dont trigger on changes in the docs path

* Add nojekyll, package.json, LICENCE etc

* Add crowdin docs upload/download scripts

* Add docs flaw checker workflows

* Used docs prefix for docs workflows

* Crowdin obvious fixes

* ci: docs move to self hosted runner

runs on a beefy server for faster builds

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* ci: don't run build action for docs or ci changes

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* ci: update runners

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* Add docs/en

* Add docs assets and scripts

* Fix up editlinks to point to PX4 sources

* Download just the translations that are supported

* Add translation sources for zh, uk, ko

* Update latest tranlsation and uorb graphs

* update vitepress to latest

---------

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
Co-authored-by: Ramon Roche <mrpollo@gmail.com>
2025-03-13 16:08:27 +11:00