Randy Mackay
cf36ee463a
AR_WPNav: pos control updated during pivots
2023-12-05 19:10:01 +09:00
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
Shiv Tyagi
d982c28ef2
AR_WPNav: add accessors for accel and jerk limits
2022-09-06 11:23:51 +09: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
e0a628bb8c
AR_WPNav: add is_fast_waypoint accessor
2022-03-30 15:34:14 +09:00
Randy Mackay
0bcae12ceb
AR_WPNav_OA: use wpnav's expect fast updates
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
7225d74777
AR_PivotTurn: pivot turn controller
...
also reduces default pivot speed to 60deg/sec (was 90deg/sec)
add would_active and allow activation to be forced
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
3a492c8e3c
AR_WPNav: minor comment improvement
2021-12-01 08:54:18 +09: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
Randy Mackay
e75c572209
AR_WPNav: remove redundant private specifier
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
b6efcbcf3b
AR_WPNav: make get_stopping_location public
2019-09-27 09:09:47 +09:00
Peter Hall
db87285153
AR_WPNav: add oa_wp_bearing_cd function
2019-08-24 09:05:29 +09: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