Leonard Hall
e2308e9414
AC_Loiter: use AP_Math control tools common functions
2021-01-20 18:19:40 +11:00
Randy Mackay
530eb6d236
AC_WPNav: remove unused reached_spline_destination
2020-10-07 15:41:18 +09:00
Iampete1
4e064ef812
AC_Circle: add Circle options
2020-09-30 17:58:12 +10:00
Rishabh
db57e0831b
AC_WPNav: Navigation based on type of BendyRuler
2020-08-24 08:53:20 +09:00
Iampete1
b1c3ea467b
AC_Circle: constantly update velocity from params
2020-06-24 08:57:08 +09:00
Randy Mackay
46ad31ad01
AC_Circle: add is_active
...
allows vehicle code to know if circle's yaw is valid
2020-04-27 09:39:46 +09:00
Randy Mackay
3195a7cccd
AC_Circle: z-axis target only updated during terrain following
...
This allows the circle flight mode to externally control the altitude target
2020-04-21 11:39:38 +09:00
Randy Mackay
03441f2250
AC_Circle: remove _rangefinder_use parameter
...
We will reuse the WPNAV_RFND_USE parameter indirectly
2020-04-16 17:30:29 +09:00
Randy Mackay
f3e2b182a1
AC_WPNav: add rangefinder_used accessor
2020-04-16 17:30:29 +09:00
Randy Mackay
658bb646ca
AC_Circle: support terrain altitudes
2020-04-16 17:30:29 +09:00
Leonard Hall
25f1a4a4e1
AC_WPNav: add shift_wp_origin_to_current_pos_xy
...
also add shift_wp_origin_and_destination_to_stopping_point_xy
2020-03-11 10:39:18 +09:00
bnsgeyer
593ff6818d
AC_WPNAV:make speed changes during missions obey WPNAV_ACCEL
...
Includes commits by rmackay9
AC_WPNav: fixup max speed acceleration
AC_WPNav: simplify the initialisation of poscontrol's max speed
Changed at Leonard's request to keep things simpler
2020-02-22 08:53:41 +09:00
Matt Lawrence
189fee556f
AC_WPNav: Circle mode pilot control of rate & radius
2020-01-07 09:30:33 +09:00
Randy Mackay
3ca28e27c6
AC_WPNav: add get_terrain_source and rename existing method
...
this allows RTL to determine which source of terrain data will be used which is required when building the return path
2019-12-17 20:02:01 +09:00
Peter Barker
56de1f2eed
AC_WPNav: do not calculate NEU vector from invalid location
2019-09-17 09:05:23 +09:00
Randy Mackay
aeb98c7555
AC_WPNav: integrate OAPathPlanner
...
includes these changse:
get_wp_distance_to_destination always uses oa unadjusted destination
get_wp_bearing_to_destination always uses oa unadjusted destination
stop vehicle if object avoidance fails
OA adjusted altitude interpolated from original track
2019-08-17 09:42:43 +09:00
Randy Mackay
6361a9a204
AC_WPNav: constify get_wp_destination
2019-08-17 09:42:43 +09:00
Peter Barker
f21fcca9d0
AC_WPNav: take references to inav's position rather than a copy
2019-07-12 21:56:06 +09:00
Rishabh
ce48b82500
AC_WPNav: remove brake
2019-06-13 09:02:46 +09:00
Peter Barker
f2163fbc24
AC_WPNav: use singleton for getting AC_Avoid instance
2019-06-06 11:47:22 +10:00
Randy Mackay
b668c6f855
AC_Circle: improve target heading
2019-05-07 13:54:31 +09:00
murata
d3d6bed584
AP_WPNav: Change the value of the minimum effective radius
2019-04-26 20:10:19 +09:00
Guglielmo
9ebe5d7de9
AC_WPNav: lowering waypoint radius minimum to 5cm
2019-04-26 11:15:48 +09:00
Randy Mackay
6fbbabd333
AC_WPNav: add origin_and_destination_are_terrain_alt accessor
2019-04-19 07:45:52 +09:00
Randy Mackay
5ebaeaf5d2
AC_WPNav: add rangefinder_used accessor
...
used by zigzag mode to determine if terrain altitudes can be used
2019-04-19 07:45:52 +09:00
Peter Barker
6364e6d4c1
AC_WPNav: stop casting poscontrol's roll/pitch/yaw to int32_t
2019-04-09 09:21:12 +09:00
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
Peter Barker
dff27ec506
AC_WPNav: correct call for getting location vector
...
Function has been renamed and only takes a Vector2f
2017-12-15 01:24:13 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas
1a512609ac
AC_WPNav: Use the get_bearing_cd() overloaded function provided by AP_Math instead
2017-12-05 08:54:49 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
07c8d208bc
AC_WPNav: Use DEGX100 define instead of hardcoded value (NFC)
2017-12-05 08:54:49 +09:00
Leonard Hall
e49d29f8cd
AC_WPNav: protect against divide by zero
...
This could occur if the spline origin and destination were the same location
In these cases we mark the vehicle as having reached the destination avoid all calculations
2017-11-23 21:24:28 +09:00
squilter
da7aa36f2d
AC_WPNav: add set_wp_destination_NED to accept target in meters NED
2017-09-09 14:05:41 +09:00
Randy Mackay
222dd0c9be
AC_WPNav: correct comments
...
all position vectors are offsets from the ekf origin (not from the ahrs home)
2017-08-17 16:05:08 +09:00
Randy Mackay
bd2ba1565c
AC_WPNav: minor format fix
2017-07-10 13:26:37 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
079d2ff3be
AC_WPNav: correct min limit
2017-05-18 20:48:50 +09:00
Randy Mackay
a1a5c9f239
AC_WPNav: sanity check wpnav-radius
...
Occasionally users accidentally set the wpnav-radius to 0 and the vehicle gets stuck at waypoints
2017-05-18 12:25:47 +09:00
Randy Mackay
bffc5daeb0
AC_WPNav: unset yaw when setting new origin and destination
...
This ensures that old yaw targets are not used in the short interval before they are initialised in advance_wp_target_along_track or advance_spline_along_track
2017-05-03 09:15:01 +09:00
Randy Mackay
b1bd3f0364
AC_WPNav: yaw points along leash
2017-04-29 11:47:51 +09:00
Leonard Hall
62c123bb08
AC_WPNav: correct straight line waypoint leash calculation
...
The former calculation was not correctly using the 3D leash
2017-04-28 17:58:34 +09:00
Leonard Hall
ba011eef78
AC_WPNav: init z-axis feed-foward to correct stopping point calcs
2017-04-28 09:10:02 +09:00
Randy Mackay
e2cf836734
AC_WPNav: add get_stopping_point
...
returns 3D stopping point, simply re-uses pos_controller methods
2017-04-27 14:36:22 +09:00
Randy Mackay
e96332d346
AC_WPNav: reduce spline to straight twitch
2017-04-27 11:21:33 +09:00
Randy Mackay
d4c4daca16
AC_WPNav: speed-up and down parameter min to 10cm/s
2017-03-15 09:22:23 +09:00
Randy Mackay
8c6c2e46cc
AC_WPNav: protect against LOIT_SPEED divide-by-zero
2017-03-15 09:22:23 +09:00
Jacob Walser
96303c3092
AC_WPNav: Add accessor for origin, and make get_bearing_cd() public
2017-02-21 11:26:14 +11:00
Andrew Tridgell
17e1329068
AC_WPNav: converted to use AP_AHRS_View
...
for use in quadplane tailsitters
2017-02-18 17:26:43 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas
713b08d830
AC_WPNav: Reduced WPNAV_SPEED minimum to 20cm/s
2017-01-07 14:30:07 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
8419045aea
Spell in comments
2017-01-06 10:57:39 -08:00
Randy Mackay
a32068a973
AC_WPNav: remove ekf position reset handler
...
This has been migrated to the position control library
2016-11-24 19:58:00 +09:00
Randy Mackay
6406e34016
AC_WPNav: remove unused _loiter_step member
2016-11-24 19:57:50 +09:00
Peter Barker
1eca4e128d
AC_WPNav: method to retrieve current desired pilot accels
2016-11-18 09:41:56 +09:00