mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-07-24 15:27:41 +08:00
* feat(navigator): extend detect and avoid module to follow regulatory standards such as ASTM F3442 * docs(docs): minor subedit * refactor(navigator): reduce flash by grouping notif into same events * docs(daa): Improve docs readability with ::: details blocks * fix(navigator): single event when on ground with conflict * refactor(boards): increase flash length from 4M - 128k to 5M - 128k * rework(general): define DAA standard at build with new CONFIG_NAVIGATOR_ADSB_F3442 * clean(navigator): minor changes to clean the PR * feat(boards): add CONFIG_NAVIGATOR_ADSB_FAKE_TRAFFIC in visionTargetEstStatic.px4board * rework(daa): reduce amount of abstractions and minor cleaning * refactor(boards): allyes revert flash length to 4M-128K * refactor(boards): allyes increase flash length to 5M-128K * rework(daa): rework event notifications to improve clarity * docs(docs): move details inside of ::: details block * docs(docs): run npx prettier * refactor(daa): avoid void mutator functions * docs(docs): Improve Python helper to decode daa unique id * rework(daa): move encoded id handling to the adsb lib and refactor on_active * refactor(daa): naming and zero init * fix(daa): move dataman dep from daa level to unit test level * refactor(daa): define common daa_input and rework process_transponder_report * fix(daa): remove stale todo * refactor(daa): rename crosstrack_based_daa to crosstrack_standard * refactor(daa): rename F34_ params to DAA_ * docs(docs): revert changes to autogenerated docs * docs(docs): Add Detect And Avoid in index.md * refactor(daa): update message on init failed * refactor(daa): only publish most_urgent conflict once in on_active() * refactor(daa): move conflict buffer handling in the adsb lib * refactor(daa): move notifications into new class ConflictNotifier and only notify once per cycle * refactor(daa): uninit _cycle_changes to store into .bss (and save flash) * docs(docs): remove unused image link * refactor(daa): move automated action policy to the adsb lib * refactor(daa): move self detection into adsb lib as DaaTrafficFilter * refactor(daa): minor changes in unit tests * refactor(daa): merge DaaTrafficFilter and DaaEncoding * fix(daa): fix CI by removing navigator from the DAA deps * refactor(daa): reduce stack size * fix(daa): advertise _fake_traffic_pub in constructor * refactor(daa): Comments only, simplify and reduce comments * fix(daa): brief comment missing end star * Disable CONFIG_NAVIGATOR_ADSB in ark_fpv_default board * docs(docs): General clarifications and remove the 1.18 badge * refactor(daa): cleaning * refactor(daa): minor cleaning * refactor(adsb): simplify conflict tracker assuming push_back cannot fail * build(cmake): cleaner fix to protect regex alternations * refactor(daa): Crosstrack, remove unit test requiring finite yaw (yaw not used by standard) * refactor(daa): minor cleaning and fix callsign to uint64 --------- Co-authored-by: jonas <jonas.perolini@rigi.tech> Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
26 lines
1.5 KiB
Plaintext
26 lines
1.5 KiB
Plaintext
# Detect-and-avoid summary for the most urgent active conflict.
|
|
#
|
|
# Aggregated DAA status from navigator's `DetectAndAvoid` component.
|
|
# It publishes the single active conflict that currently has the highest urgency
|
|
# after the per-traffic conflict buffer has been updated.
|
|
#
|
|
# Unlike `detect_and_avoid`, this topic is not published for every processed
|
|
# traffic report and does not include the detailed horizontal and vertical geometry.
|
|
# It is the topic used for overall DAA status, automatic-action decisions, and
|
|
# prearm checks.
|
|
#
|
|
# Published by: `navigator` (`DetectAndAvoid`)
|
|
# Used by: `commander` DAA arming checks, logging, and tests
|
|
|
|
uint8 UNIQUE_ID_ENCODING_ICAO = 0 # `unique_id` contains an ICAO address
|
|
uint8 UNIQUE_ID_ENCODING_ADSB_CALLSIGN = 1 # `unique_id` contains an ADS-B callsign packed into a `uint64`
|
|
uint8 UNIQUE_ID_ENCODING_UAS_ID = 2 # `unique_id` contains the reduced tail bytes of a UAS ID
|
|
|
|
uint64 timestamp # [us] Time since system start
|
|
uint64 unique_id # [-] Encoded identifier of the current most urgent traffic aircraft, selected in priority order: ICAO address, ADS-B callsign, then reduced UAS ID tail bytes
|
|
uint8 unique_id_encoding # [-] Namespace used to decode `unique_id`
|
|
|
|
bool has_action # [-] True if the configured DAA response for this most urgent conflict is stronger than Warn only
|
|
uint8 conflict_level # [-] Conflict level of the current most urgent active conflict
|
|
float32 aircraft_dist # [m] Approximate 3D range to the most urgent traffic aircraft (9999 when empty)
|