Commit Graph

303 Commits

Author SHA1 Message Date
Peter Barker
2c5373e278 AC_WPNav: add floating point constant designators 2019-04-05 23:04:17 -07:00
Michael du Breuil
7b5fb719dc AC_WPNav: Remove unused internals, and unneeded initilizers 2019-03-25 08:56:31 +11:00
Peter Barker
d9ddb8f34d AC_WPNav: use enum class for AltFrame enumeration 2019-03-19 10:31:18 +11:00
Andrew Tridgell
078eef91cb AC_WPNav: prevent I term buildup during landing
this prevents I term buildup in the XY velocity controller during
landing. This to account for the EKF giving a non-zero horizontal
velocity when we have touched down. The I term buildup in the XY
velocity controller can lead to the attitude error going above the
level for disabling the relax function as the throttle mix is
changed. That results in large motor outputs which can tip over the
vehicle after touchdown.

Thanks to Leonard for the suggestion
2019-02-26 10:14:42 +11:00
Peter Barker
5bf511fc6d AC_WPNav: remove keywords.txt 2019-02-17 00:29:38 -08:00
Randy Mackay
cde2964f05 AC_WPNav: split set_speed_z into up and down
Also rely on AC_PosControl to store current target up and down speeds so wpnav's defaults are not affected by do-change-speed requests
2019-01-31 19:34:32 +09:00
Randy Mackay
b0811c86e7 AC_WPNav: rename get_speed_xy to get_default_speed_xy
This hopefully clarifies that the default speed is returned and not the current speed
2019-01-31 19:34:32 +09:00
Randy Mackay
e93dee89b7 AC_WPNav: rely on AC_PosControl to hold current target speed 2019-01-31 19:34:32 +09:00
Pierre Kancir
f5431ff661 AC_WPNav: improve wp_speed_cm variable comments 2019-01-31 19:34:32 +09:00
Randy Mackay
8ac09c0483 AC_WPNav: use dt from pos controller 2019-01-30 15:58:34 +09:00
Peter Barker
0215aff8f4 AC_WPNav: adjust for Location_Class and Location unification 2019-01-16 11:45:29 +11:00
Peter Barker
f0ca4de313 AC_WPNav: add reached_wp_destination_xy 2018-10-30 17:50:46 +09:00
chobits
7fa7c8f403 AC_WPNav: add set_speed_z 2018-10-13 13:16:26 +09:00
mirkix
0c9fd0ae93 AC_WPNav: fix typo 2018-10-12 00:53:42 +01:00
Peter Barker
3faf7824c0 AC_WPNav: allow position control to get ekf navigation scalars directly 2018-10-09 10:47:38 +11:00
Randy Mackay
f0181be9c9 AC_Loiter: init_target only inits pos controller if inactive
this reduces a twitch found during the development of zig-zag mode
2018-10-05 10:05:45 +09:00
Michael du Breuil
65641c3cb7 AC_Circle: Cope with AC_PosControl renaming 2018-09-20 15:15:45 -07:00
Michael du Breuil
d3bee76f0b AC_WPNav: Cope with AC_PosControl renaming 2018-09-20 15:15:45 -07:00
Leonard Hall
31d93f5914 AC_Loiter: reduce twitch on init 2018-09-04 13:37:28 +09:00
liang.tang
8664ed006a AC_Circle: use stopping point to get closest point on circle 2018-07-26 12:12:07 +09:00
liang.tang
c03e50660c AC_WPNav: check validity of kP 2018-07-10 18:07:50 +09:00
Pierre Kancir
bffe3f6c21 AC_WPNav: add getter for crosstrack_error 2018-06-26 08:42:14 +09:00
Peter Barker
4c8c85f75b AC_WPNav: remove pointless initialisations
new clears this memory
2018-06-06 08:33:56 +09:00
Peter Barker
fa0b315374 AC_WPNav: use rangefinder for terrain offset even if terrain not available 2018-06-06 08:33:56 +09:00
Peter Barker
2c962afe98 AC_WPNav: add get_wp_destination to get a Location_Class for the wp 2018-05-18 20:26:37 +10:00
murata
494735db2e AC_WPNav: Change the variable name according to the unit. 2018-05-14 16:38:47 +09:00
Randy Mackay
f6cf52a748 AC_Loiter: move defines to cpp 2018-04-04 10:45:10 +09:00
Randy Mackay
757a35f3ba AC_Loiter: consolidate sanity checks 2018-04-04 10:45:10 +09:00
Randy Mackay
9de73a994f AC_Circle: add get distance and bearing to target 2018-04-04 10:45:10 +09:00
Randy Mackay
9426ee6df6 AC_WPNav: remove loiter
Loiter is in separate AC_Loiter class
2018-04-04 10:45:10 +09:00
Randy Mackay
0ba22a1feb AC_WPNav: remove brake dependency on loiter 2018-04-04 10:45:10 +09:00
Randy Mackay
cc5ad7c004 AC_Loiter: loiter extracted from AC_WPNav 2018-04-04 10:45:10 +09:00
Randy Mackay
032b4373f6 AC_WPNav: removed brake's unused dt calc 2018-03-31 13:42:59 +09:00
Randy Mackay
5215588ba0 AC_WPNav: remove unused set_desired_alt
also remove unused get_desired_alt
2018-03-28 15:08:42 +09:00
Randy Mackay
d0e6c4d08d AC_WPNav: correct LOIT_MAXA param description 2018-03-16 13:50:57 +09:00
Randy Mackay
21abe1194e AC_WPNav: run horizontal position control at main loop rate 2018-03-16 13:50:57 +09:00
Randy Mackay
e9c23b538e AC_Circle: run horizontal position control at main loop rate 2018-03-16 13:50:57 +09:00
Randy Mackay
5be1020578 AC_WPNav: use multiply instead of divide
non-functional change
2018-03-16 13:50:57 +09:00
Randy Mackay
92b56c2c89 AC_WPNav: init_loiter_target always resets I term
This was only used by poshold and this has been removed as part of "new-loiter"
2018-03-16 13:50:57 +09:00
Leonard Hall
a356cfa529 AC_Circle: init resets desired velocity_xy 2018-03-16 13:50:57 +09:00
Leonard Hall
d104e3a3c0 AC_Circle: remove xy mode and limit angle to maintain alt 2018-03-16 13:50:57 +09:00
Leonard Hall
1c0678226c AC_WPNav: new loiter including accel ff and braking
Includes:
sanity check loiter accel max vs lean angle max
increase loiter aggressiveness
remove loiter calls to pos_con.freeze_ff_xy
use loiter max velocity correction
remove xy mode from loiter
move predictor to angle
add maximum pilot commanded angle to loiter
loiter use alt hold angle limit
set_pilot_desired_acceleration accept dt

Also includes:
remove loiter jerk and setting pos-con jerk
breaking gain is based on VelxyP
Jerk limit Loiter breaking
change breaking parameters use jerk limit
add maximum distance correction in Loiter to 2m
update Loiter parameter defaults
2018-03-16 13:50:57 +09:00
Leonard Hall
c7c3dd561a AC_WPNav: brake, wp and spline clear desired velocity_xy 2018-03-16 13:50:57 +09:00
Leonard Hall
6430b75224 AC_WPNav: remove xy mode from brake, wp, spline 2018-03-16 13:50:57 +09:00
Leonard Hall
c59dc21c8b AC_WPNav: sanity check wp accel max vs lean angle max 2018-03-16 13:50:57 +09:00
Randy Mackay
f189ce5c68 AC_WPNav: minor formatting fix
non-functional change
2018-02-02 20:55:20 +09:00
Randy Mackay
efbd8eb386 AC_WPNav: remove unused definition
This has been moved to AC_PosControl library
2018-01-23 12:00:43 +09:00
Randy Mackay
368245017a AC_WPNav: access pos-controller's horizontal p object 2018-01-23 12:00:43 +09:00
Randy Mackay
094620bc8a AC_WPNav: pass dt to avoidance 2018-01-16 12:13:48 +09:00
Randy Mackay
4d0c24f4eb AC_WPNav: RFND_USE param desription update 2018-01-12 16:50:00 +09:00