Commit Graph

39751 Commits

Author SHA1 Message Date
Randy Mackay dbaf6c470d Copter: upward surface tracking never closer than avoidance margin 2020-02-05 10:10:20 +11:00
Randy Mackay 633fd0f6c9 AC_Avoidance: add enabled and margin accessors 2020-02-05 10:10:20 +11:00
Randy Mackay 3fe61476bf Copter: add upward facing surface tracking 2020-02-05 10:10:20 +11:00
Randy Mackay f188f7e05e RC_Channels: define surface tracking auxiliary function 2020-02-05 10:10:20 +11:00
Randy Mackay 972c916f1b Copter: surface tracking always includes ekf alt error when setting target rangefinder alt 2020-02-05 10:09:54 +11:00
Randy Mackay 7d66b904ef Copter: rangefinder glitch detection moved to read_rangefinder 2020-02-05 10:09:54 +11:00
Randy Mackay e4ccb10524 Copter: surface tracking format fixes 2020-02-05 10:09:54 +11:00
Randy Mackay c7d8f60469 Copter: move surface tracking implementation to surface_tracking.cpp 2020-02-05 10:09:54 +11:00
Randy Mackay de27b5c845 Copter: increase read_rangefinder to 50hz 2020-02-05 10:09:54 +11:00
Peter Barker cf7c77c544 Sub: call periodic fence update function 2020-02-05 10:09:54 +11:00
Peter Barker ccccb82eea Copter: call periodic fence update function 2020-02-05 10:09:54 +11:00
Peter Barker 501e8e11b6 Rover: call periodic fence update function 2020-02-05 10:09:54 +11:00
Peter Barker 27fa9e3f4e Sub: initialise AC_Fence library 2020-02-05 10:09:54 +11:00
Peter Barker 3ebece5507 Copter: initialise AC_Fence library 2020-02-05 10:09:54 +11:00
Peter Barker 6995bb3acd Rover: initialise AC_Fence library 2020-02-05 10:09:54 +11:00
Randy Mackay 1edac100ac AC_Avoid: add support for complex fence types
AP_OABendyRuler: support exclusion polygons

AP_OADijkstra: support exclusion polygons

AC_Avoid: adjust_velocity supports exclusion polygons

AC_Avoidance: handle fence::get_boundary_points returning nullptr instead of setting num_points to zero

AC_Avoidance: Dijkstra's works with only exclusion polygons

AC_Avoidance: Dijkstra: check for fence counts instead of polyfence validity

We really only care whether fences can be returned - and they won't be
returned unless they are valid

AC_Avoidance: BendyRuler: just try to get inclusion fence rather than checking validity

AC_Avoidance: BendyRuler supports exclusion circles

AC_Avoid: Dijkstra support for exclusion circles

AC_Avoid: BendyRuler support for inclusion circles

AC_Avoid: stop an inclusion/exclusion circular fences

AC_Avoid: stop at inclusion/exclusion circular fences

AC_Avoid: fixes to Dijkstra's use of inclusion/exclusion circles and polygons

AP_Avoidance: take semaphores when interacting with AHRS and polyfence

AC_Avoid: Dijkstra's fix for some_fences_enabled inclusion circles
2020-02-05 10:09:54 +11:00
Randy Mackay 8674997a24 AP_Logger: add error code to Write_OADijkstra 2020-02-05 10:09:54 +11:00
Peter Barker 422aebce95 AP_Proximity: polyfence valid() has been renamed 2020-02-05 10:09:54 +11:00
Peter Barker 56473413d7 AC_Fence: support for multiple polygon fences
AC_Fence: add interface for retrieving exclusion polygons

AC_Fence: add interface to get exlusion polygons to polyfence loader

AC_Fence: add suport for inclusion circles

AC_Fence: add option for compiling-out FENCE_POINT protocol support

AC_Fence: get_exclusion_polygon and get_boundary_points set num_points to zero on failure

AC_Fence: use Debug(...) to hide debug messages

AC_PolyFence_loader: add methods to retrieve all inclusion zones

AC_PolyFence_loader: valid simply returns true if a polygon boundary can be returned

AC_Fence: add get_exclusion_circle

AC_Fence: add get_exclusion_circle_update_ms accessor

AC_Fence: PolyFence_loader gets inclusion circle accessors

AC_PolyFence_loader: add and use semaphore to protect loaded fence

AC_Fence: move fence breach check below fence type checks

This allows us to provide more information to the user about why they
are breached.

For example, if the radius is negative you are considered in breach of
it - but we'd tell you you were breached, not that your radius was
invalid

AC_Fence: clear the fence if we discover the user has set the fence count to zero
2020-02-05 10:09:54 +11:00
Peter Barker 0a23de087c Tools: autotest: tests for new fence code
Tools: autotest: move clear_mission up, use it before running each test

Also have it understand MAV_MISSION_TYPE_ALL

Tools: autotest: add tests for polyfence

Tools: autotest: add tests for multiple inclusion polyfences

Tools: autotest: ensure we can't arm inside a circle exclusion zone

Tools: autotest: add test for arming outside an inclusion zone

Tools: autotest: add tests for upload timeout

Tools: autotest: add tests for not arming due to polygon zones

Tools: autotest: add test for fence point reboot survivability

Tools: autotest: add test for moving fence point

Tools: autotest: add some tests via MAVProxy

Tools: autotest: add test for avoiding polygonal exclusion zones

Tools: autotest: add test for object avoidance

Currently disabled as it doesn't pass where it seemingly should.

Tools: autotest: skip MAVProxy tests on older MAVProxy versions

Tools: autotest: adjust fence loading for lack of string back from MAVProxy

Tools: autotest: create a do_RTL function

Tools: autotest: cope with loading QGC-style fence files

Tools: autotest: add test for object-avoidance in guided mode

Tools: autotest: add OA test for auto mode

Tools: autotest: add test for bendy ruler in guided mode

Tools: autotest: adjust for new MAVProxy fence module not emitting old strings

Tools: autotest: add tests for prearming due to bad parameter values
2020-02-05 10:09:54 +11:00
Peter Barker 179db476bf GCS_MAVLink: allow upload of fence using mission item protocol
GCS_MAVLink: add support for fence inclusion circles

GCS_MAVLink: factor out a transfer_is_complete; start commenting properly
2020-02-05 10:09:54 +11:00
Peter Barker 107b9d95ba AP_OADijkstra: cope with polyfence holding boundary points 2020-02-05 10:09:54 +11:00
Peter Barker 9c89f9cc8b AP_OABendyRuler: cope with polyfence holding boundary points 2020-02-05 10:09:54 +11:00
Peter Barker 0c92a6d091 AC_Avoidance: cope with polyfence holding boundary points 2020-02-05 10:09:54 +11:00
Peter Barker 75b022378a GCS_MAVLink: cope with polyfence holding boundary points 2020-02-05 10:09:54 +11:00
Peter Barker c6aa243a2b AP_Proximity: cope with polyfence holding boundary points 2020-02-05 10:09:54 +11:00
Peter Barker 6064f22615 AC_Fence: move polygon points into AC_Fence_Polygon 2020-02-05 10:09:54 +11:00
Peter Barker 63256a6df5 AP_Math: define != for Vector2<int> 2020-02-05 10:09:54 +11:00
Peter Barker eea711be66 StorageManager: add write_uint8 alias for write_byte 2020-02-05 10:09:54 +11:00
Peter Barker dc5852dad8 AP_InternalError: add a general should-not-be-here bit 2020-02-05 10:09:54 +11:00
Peter Barker 4e793e7169 GCS_MAVLink: squelched rally-points-received message 2020-02-05 10:09:54 +11:00
Willian Galvani f70da511c4 sub: fixup joystick changes according to review
https://github.com/ArduPilot/ardupilot/pull/11861
2020-02-05 10:09:54 +11:00
Justin 1f2afd9953 joystick: addressed issue9801. Upon engaging input hold, the controller will not read new directional inputs until input hold is disabled or the conrols are returned to their neutral position. 2020-02-05 10:09:54 +11:00
Willian Galvani c660ad8a9a Sub: update calibration if reading is above water level 2020-02-05 10:09:54 +11:00
Willian Galvani 5c00aa5921 AP_TemperatureSensor: Update TSYS01 for Pixhawk2 2020-02-05 10:09:54 +11:00
Peter Barker 8550cf84e8 Plane: remove unused configuration options 2020-02-05 10:09:54 +11:00
Henry Wurzburg 46b84e72f0 Rover: add loiter gain and max vehicle speed params 2020-02-05 10:09:54 +11:00
Peter Barker 35ea916adf AP_Relay: change parameter name from relay to instance 2020-02-05 10:09:54 +11:00
Peter Barker 47b9cb2e28 AP_Relay: tidy, reduce flash usage 2020-02-05 10:09:54 +11:00
Peter Hall 3a58aeb6c6 AR_WPNav: make get_stopping_location public 2020-02-05 10:09:54 +11:00
Peter Hall 5b4a6eaf52 Rover: use AR_WPNav get stopping location 2020-02-05 10:09:54 +11:00
Peter Barker df798860f6 waf: remove vestiges of waf-run coverage 2020-02-05 10:09:54 +11:00
Peter Barker 78711f786d Tools: autotest: remove vestiges of waf-run coverage 2020-02-05 10:09:54 +11:00
Henry Wurzburg dffed8e008 AP_OSD: distance total fix for slow vehicles 2020-02-05 10:09:54 +11:00
Willian Galvani 61aaa17d2d Sub: Create MOTOR_DETECT mode
This mode attempts to detect the direction of all motors and adjust parameters appropriately.
2020-02-05 10:09:54 +11:00
Willian Galvani 8ad195dd51 APMotors_6DOF: Implement motor_is_enabled(), get_motor_angular_factors() and set_reversed(); 2020-02-05 10:09:54 +11:00
Peter Hall 1e02cbe009 AP_Windvane: caculate vehicles current tack 2020-02-05 10:09:54 +11:00
Peter Hall 90382a886f Rover: Sailboat tacking improvements 2020-02-05 10:09:54 +11:00
Randy Mackay 1d21d1fde4 Rover: fix init of struct published to OSD 2020-02-05 10:09:54 +11:00
Peter Barker 929fbc3bba Tools: autotest: add two basic tests for radio failsafe 2020-02-05 10:09:54 +11:00