New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ArduPlane: add AC_Fence for QGC4.0 Geofence Support #15288
Commits on Mar 3, 2021
-
ArduPlane: Add support for AC_Fence
ArduPlane: Remove some geofence logic from ArduPlane ArduPlane: Refactor action and mode return implementation ArduPlane: Use polyfence to find the return point.
-
AC_Fence: Add parameters from Geofence to AC_Fence
AC_Fence: Add fence floor breach checks and calculations AC_Fence: Add event logging to enable/disable of fence floor AC_Fence: Adjust sys_status reporting to look at total fence count AC_Fence: Make retrieving of the return point accessible AC_Fence: Check whether fence is enabled or autoenable is set for arming checks Checks whether the fence is currently enabled OR if the fence is intended to be enabled automatically. These checks are used to find out enabled fences, or prearm checks
-
AP_Arming: Enable and Disable the fence when vehicle is armed/disarmed
AP_Arming: Use auto enable flag to arm fence only when armed (as per enum) AP_Arming: Config defines are not available in AP_Arming Since config definitions are not available in AP_Arming, we can still rely on singleton access of the AC_Fence object. AP_Arming: Perform fence checks for all vehicles
-
GCS_MAVLink: Add reporting of fence floor breaches to GCS_MAVLink
GCS_MAVLink: Add disabling of fence floor only, per mavlink spec GCS_MAVLink: Cannot enable a fence if the fence is not present
-
Autotest: Fence is present, but test looking for not present
Autotest: Remove ties to mavlink FENCE_ACTION Autotest: Add ArduPlane autotest to test ceiling and floor Adds a test to ensure the vehicle reverts to RTL when breaching a ceiling or floor. Autotest: Progress the test once we reach takeoff complete and fence enable Autotest: Use RC_OPTION for Aux Switch functionality Autotest: Enable fence last
-
-
-
ArduPlane: Remove all unused geofence capability
ArduPlane: Remove missed geofence logic
-
-
Autotest: Correct the logic for fence based autotest functions
Adds corrections to enabling fence using aux function. Correctly test fences statically. Only uploaded fences can be checked using a fence file, so we check those first. Then we add steps to check tin can, max and minm all set the fence as present, as expected. Plane will support MAV_PROTOCOL_CAPABILITY_MISSION_FENCE, so we assert that it does support it. To test ceiling and floor, leverage some existing functions for takeoff, change altitude and land. Check for respective breach. Add a floor breach check to copter.
-
Autotest: fix two copter tests after parameter rename
I'm not sure if a better fix would be to remove the set_parameter() call
-
AC_Fence: do not delete the FENCE_ENABLE parameter. It would confuse …
…many users. Talked to Randy about this. The consensus was not to delete the parameter
-
Copter: automatically enable and disable floor fence on automated tak…
…eoff and landing
-
Autotest: activate the fence via a mavlink command
This should not be required in the future, please fix this and revert this commit
-
-
AC_Fence: extend pre-arm checks
Fix comments
-
-
-
-
-
AutoTest: Adds additional tests to ArduCopter to test autoenable and …
…floor Adds tests for: * Testing auto-enable disabled (when no autoenabling of the fence is required) * Test auto-enabled always after takeoff (when takeoff complete condition met) * Test auto-enabled disable floor only (when land sequence begins) * Test auto- on arm/disarm (when vehicle is armed/disarmed) * Tests ability to land when fence is breached
-
-
-
-
-
-
-
-
-
-
-
-
ArduCopter: Remove fence_checks in AP_Arming because they are common …
…across all vehicles now
-
ArduRover: Remove fence_checks in AP_Arming because they are common a…
…cross all vehicles now
-
AutoTest: Ensure Copter can RTL and Land even when Fence Floor has no…
…t been auto disabled
-
AutoTest: Ensure fence state is disabled at end of test
This appears to be another case of the fence state carrying over from one test to another. Disabling the fence at the end of the test appears to have fixed this problem
-
-
ArduPlane: Retrigger fence breach if mode
ArduPlane: Move auto enabling code to common fence library
-
-
AutoTest: Copter remove FENCE_AUTOENABLE tests
Addresses comments made in review, removes the FENCE_AUTOENABLE param for copter. No param means no tests required.
-
ArduPlane: corrections to returning to the previous mode if fence was…
… disabled while under action
Commits on Mar 4, 2021
-
-
AutoTest: Adds additional autotests to capture mode change while brea…
…ched AutoTest: Adds test for fence breach switching to guided mode when no fence return point is present. In upstream, this results in a vehicle fly-away.