Commit Graph

44 Commits

Author SHA1 Message Date
Peter Barker 517e42c678 AR_WPNav: avoid using struct Location
clang reports this could be a problem when compiling under some EABIs.  Remove it from most places as it is just noise, replace with class where we want to avoid including Location.h
2023-02-04 22:51:54 +11:00
Peter Barker 224c32edf0 AR_WPNav: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Randy Mackay 0dd9a8028b AR_WPNav: integrate scurve snap 2022-03-30 15:34:14 +09:00
Randy Mackay 5d96804ef3 AR_WPNav: add protection against zero accel max 2022-03-30 15:34:14 +09:00
Randy Mackay a1b9fe5097 AR_WPNav: jerk time reduced to 0.1 sec 2022-03-30 15:34:14 +09:00
Randy Mackay c6dffb990f AR_WPNav: add set_nudge_speed_max
allows pilot to override speed_max from RC input
2022-03-30 15:34:14 +09:00
Randy Mackay 394a5fd2fc AR_WPNav: get/set_desired_speed renamed to get/set_speed_max
set_speed_max updates position controller limits and triggers recalculation of scurves
local _desired_speed member is no longer required because max speed is held in position controller
2022-03-30 15:34:14 +09:00
Randy Mackay 1996085282 AR_WPNav: init accepts speed max
also remove unused set_desired_speed_to_default
also init previous leg in set_desired_location
init accepts speed but inforces minimum
2022-03-30 15:34:14 +09:00
Randy Mackay a91025fa16 AR_WPNav: remove unused speed_min 2022-03-30 15:34:14 +09:00
Randy Mackay 537874c075 AR_WPNav: jerk_max maintained in position controller 2022-03-30 15:34:14 +09:00
Randy Mackay 54eee7d311 AR_WPNav: simplify init 2022-03-30 15:34:14 +09:00
Randy Mackay d03e801b65 AR_WPNav: remove get_accel_max, get_jerk_max 2022-03-30 15:34:14 +09:00
Randy Mackay 653afbeb15 AR_WPNav: enable_overspeed added to improve sailboat support 2022-03-30 15:34:14 +09:00
Randy Mackay 2f6e098f23 AR_WPNav: always use local calculation of cross track
also calc_crosstrack_error may return negative values
2022-03-30 15:34:14 +09:00
Randy Mackay 729dfee01c AR_WPNav: pivot turns stop before turning 2022-03-30 15:34:14 +09:00
Randy Mackay f769a18996 AR_WPNav: add set_desired_location_expect_fast_update 2022-03-30 15:34:14 +09:00
Randy Mackay 1fd9da710d AR_WPNav: add internal error if invalid destination received 2022-03-30 15:34:14 +09:00
Randy Mackay 461c5196e7 AR_WPNav: add ACCEL and JERK params and accessors
allows users to specify a different acceleration and jerk for Auto, Guided, RTL, etc compared with manual modes (Acro, etc)
2022-03-30 15:34:14 +09:00
Randy Mackay 47ab961f42 AR_WPNav: fix application of turn-max-g 2022-03-30 15:34:14 +09:00
Randy Mackay b1237ffe80 AR_WPNav: always pivot at corners of at least WP_PIVOT_ANGLE 2022-03-30 15:34:14 +09:00
Randy Mackay 3d048ddcc2 AR_WPNav: fix pivot activation when reversing 2022-03-30 15:34:14 +09:00
Randy Mackay 6515e71fc1 AR_WPNav: move OA path planning handling into a separate class 2022-03-30 15:34:14 +09:00
Randy Mackay 2a1013e896 AR_WPNav: set desired lat accel and crosstrack to zero when disarmed 2022-03-30 15:34:14 +09:00
Randy Mackay a185e78271 AR_WPNav: integrate AR_PivotTurn class
moves pivot turn feature to separate class
also does not advance along scurve path while pivotin
2022-03-30 15:34:14 +09:00
Randy Mackay 9d629f5ecd AR_WPNav: use position controller and s-curves 2022-03-30 15:34:14 +09:00
Peter Barker 54cf46b8e9 AR_WPNav: rename AP_AHRS::get_position to get_location 2022-01-25 10:47:22 +11:00
Randy Mackay 7cd767fe6d AR_WPNav: improve pivot turn accuracy to 5deg (was 10) 2021-11-23 11:18:15 +11:00
Randy Mackay e9f6a5afdf AR_WPNav: integrate PathPlanner returning path_planner_used
Rover does not need to handle the results differently based on the planner used
2021-07-22 08:51:41 +09:00
Tatsuya Yamaguchi 333588d7d4 AR_WPNav: add WP_PIVOT_DELAY parameter 2021-06-16 15:52:43 +09:00
Iampete1 c5503b9aed AP_WPNav: read turn G acceleration from Atitude control 2021-05-03 19:22:16 -04:00
Randy Mackay a2fe846a5f AR_WPNav: apply_speed_min used for overshoot limits
speed_min is applied to overshoot_speed_max only instead of des_speed_lim
so that the target doesn't immediately jump to the minimum.
also constify apply_speed_min
2020-12-08 11:29:21 +11:00
Rishabh f57082a2e0 AR_WPNav: Add note to WP_PIVOT_ANGLE 2020-11-19 16:46:27 +09:00
Randy Mackay 89a4f83527 AR_WPNav: minor param description typo fix 2020-08-07 08:30:03 +09:00
Randy Mackay 551f7d66c1 AR_WPNav: update crosstrack error during pivot turns 2020-08-07 08:30:03 +09:00
Randy Mackay da746d6e8c AR_WPNav: pivot only when destination set
this avoids unhelpful pivots as the vehicle reaches the waypoint when WP_RADIUS is very small
2020-08-07 08:30:03 +09:00
Rishabh e7d98648e6 AR_WPNav: Reset WP origin if recovering from OA 2020-05-30 08:55:45 +09:00
Peter Hall 43449a4adb AR_WPNav: remove unneeded overshoot methods 2019-10-23 08:28:39 +08:00
Peter Hall c445362fae AR_WPNav: fix wp_bearing_cd calc 2019-08-23 14:44:37 +09:00
Randy Mackay f5a307fb13 AR_WPNav: add speed_min parameter
Should be set to boat's plane speed and ensure vehicle does not slow below this speed in corners
2019-08-05 17:04:43 -06:00
Randy Mackay 030eab0f86 AR_WPNav: stop vehicle if OA processing fails 2019-07-07 06:46:26 +09:00
Randy Mackay 70e9881880 AR_WPNav: integrate OAPathPlanner 2019-06-11 13:13:22 +09:00
Randy Mackay b0f0b16135 AR_WPNav: remove unnecessary temp variable
also heading-unknown made a const
also minor comment fix
also removed unused include
2019-05-10 06:55:35 +09:00
Peter Barker 6f97f56726 AR_WPNav: add WARN_IF_UNUSED to various methods, fix for same 2019-05-10 06:55:35 +09:00
Randy Mackay 56c344ae94 AR_WPNav: rover navigation library 2019-05-10 06:55:35 +09:00