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
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
murata
d3d6bed584
AP_WPNav: Change the value of the minimum effective radius
2019-04-26 20:10:19 +09:00
Peter Barker
d9ddb8f34d
AC_WPNav: use enum class for AltFrame enumeration
2019-03-19 10:31:18 +11: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
e93dee89b7
AC_WPNav: rely on AC_PosControl to hold current target speed
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
chobits
7fa7c8f403
AC_WPNav: add set_speed_z
2018-10-13 13:16:26 +09:00
Peter Barker
3faf7824c0
AC_WPNav: allow position control to get ekf navigation scalars directly
2018-10-09 10:47:38 +11:00
Michael du Breuil
d3bee76f0b
AC_WPNav: Cope with AC_PosControl renaming
2018-09-20 15:15:45 -07: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
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
032b4373f6
AC_WPNav: removed brake's unused dt calc
2018-03-31 13:42:59 +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
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
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
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
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
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
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
murata
c808ee2f49
Global: To nullptr from NULL.
...
RC_Channel: To nullptr from NULL.
AC_Fence: To nullptr from NULL.
AC_Avoidance: To nullptr from NULL.
AC_PrecLand: To nullptr from NULL.
DataFlash: To nullptr from NULL.
SITL: To nullptr from NULL.
GCS_MAVLink: To nullptr from NULL.
DataFlash: To nullptr from NULL.
AP_Compass: To nullptr from NULL.
Global: To nullptr from NULL.
Global: To nullptr from NULL.
2016-11-02 16:04:47 -02:00
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Andrew Tridgell
c87fa13e77
AC_WPNav: added WP_RFND_USE parameter
...
allows disable of rangefinder use for terrain following
2016-08-23 09:27:39 +10:00
Randy Mackay
2dc111ff39
Copter: reduce WPNAV_LOIT_MINA parameter description range
2016-08-01 17:09:20 +09:00
Jonathan Challinger
b5e80148c6
AC_WPNav: remove shift_loiter_target
2016-07-04 16:57:06 +09:00
Daniel Ricketts
8a6aa24525
AC_WPNav: use AC_Avoidance to stop at fence during Loiter
2016-06-22 11:38:15 +09:00
Randy Mackay
2bafc36ded
AC_WPNav: support rangefinder for terrain following
2016-05-21 10:36:53 +09:00
Tom Pittenger
684ac12dd6
AC_WPNav: fix compile when using AP_TERRAIN_AVAILABLE 0
2016-05-20 12:29:19 -07:00
dgrat
41661f815f
AP_Math: Replace the pythagorous* functions with a variadic template
...
The new function can deal with a variable number of function parameters.
Additionally, I renamed the functions to norm(), because this is the
standard name used in several other projects.
2016-05-10 11:41:26 -03:00
Randy Mackay
1c4b2be16a
AC_WPNav: simplify use of terrain to just current location
2016-04-30 10:33:01 +09:00
Randy Mackay
e23c869c5d
AC_WPNav: fix reporting of set_wp_destination failure
2016-04-30 10:33:01 +09:00
Randy Mackay
9fbfea951a
AC_WPNav: spline handles terrain altitudes
2016-04-30 10:33:01 +09:00
Randy Mackay
8b2c479d62
AC_WPNav: straight line waypoints accept terrain
2016-04-30 10:33:01 +09:00
Andrew Tridgell
4908350ccb
AC_WPNav: limit WPNAV_ACCEL to that implied by ANGLE_MAX
...
this prevents an overshoot and backtracking in the navigation code
when WPNAV_ACCEL is unachievable due to an angle limit
2016-04-28 17:47:50 +10:00
Jonathan Challinger
3c4d226b64
AC_WPNav: call renamed functions in AC_AttitudeControl
2015-12-09 19:58:50 +09:00
Lucas De Marchi
2591261af6
Global: rename min and max macros to uppercase
...
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.
Changes generated with:
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Caio Marcelo de Oliveira Filho
e867a06383
AC_WPNav: use millis/micros/panic functions
2015-11-20 12:28:13 +09:00
Jonathan Challinger
f9c7f15052
AC_WPNav: WPNAV_LOIT_SPEED WPNAV_LOIT_MAXA take effect immediately
2015-11-18 22:12:39 +09:00
Lucas De Marchi
831d8acca5
Remove use of PROGMEM
...
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:
git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'
The 2 commands were done so we don't leave behind spurious spaces.
AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00
Randy Mackay
adee13d729
AC_WPNav: handle ekf position reset in Loiter and Brake
2015-10-30 12:24:17 +09:00
Randy Mackay
040ec481f4
AC_WPNav: loiter uses pos_control.shift_pos_xy_target
2015-10-30 12:24:09 +09:00
Randy Mackay
c52f16b86f
AC_WPNav: increase param description max for LOIT_JERK
2015-10-29 12:16:30 +09:00
Randy Mackay
49c4a133d7
AC_WPNav: set jerk separately for wpnav and loiter
2015-10-29 12:10:47 +09:00
Jonathan Challinger
853f8bfaf4
AC_WPNav: stop gradually in loiter
2015-10-28 20:21:55 +09:00
Leonard Hall
5ab2a19173
AC_WPNav: loiter limits lean angle for alt loss
2015-09-07 15:10:11 +09:00
Randy Mackay
7706102d1e
AC_WPNav: add shift_loiter_target method
...
Shift the loiter target and freeze the feedforward if necessary
2015-08-31 18:00:24 +09:00
Andrew Tridgell
f6f2973acd
AC_WPNav: make changes in WPNAV_ACCEL take effect immediately
...
this makes it easier to tune the waypoint controller in auto mode
2015-08-31 11:10:35 +10:00
Gustavo Jose de Sousa
ee2c388bb0
AC_WPNav: standardize inclusion of libaries headers
...
This commit changes the way libraries headers are included in source files:
- If the header is in the same directory the source belongs to, so the
notation '#include ""' is used with the path relative to the directory
containing the source.
- If the header is outside the directory containing the source, then we use
the notation '#include <>' with the path relative to libraries folder.
Some of the advantages of such approach:
- Only one search path for libraries headers.
- OSs like Windows may have a better lookup time.
2015-08-11 16:28:41 +10:00
Randy Mackay
fb9cc124c8
AC_WPNav: replace hardcoded 0.02 with pos_control dt
2015-08-05 14:14:54 +09:00
Leonard Hall
8195f45d6c
AC_WPNav: fix spline height loss
2015-08-05 14:14:49 +09:00
Randy Mackay
aa7a151fe5
AC_WPNav: init flags
...
Resolves Coverity warning
2015-06-08 14:46:39 +09:00
Randy Mackay
0077cac1b7
AC_WPNav: rename stop to brake
2015-05-17 14:44:33 +09:00
Randy Mackay
61c851885f
AC_WPNav: remove unused set_spline_dest_and_vel
2015-05-13 22:40:08 +09:00
Randy Mackay
7056484ef0
Copter: fix spline overshoot
2015-05-13 22:40:06 +09:00
Andrew Tridgell
c08b62f9e4
AC_WPNAV: revert AP_Math class change
2015-05-05 13:27:05 +10:00
Tom Pittenger
7fd285f483
AC_WPNav: Compiler warnings: nuke fast_atan2()
...
per Randy's suggestion, fast_atan2() is no longer necessary over atan2() because only copter uses it and copter is no longer supported on future builds of APM
ccd578664f (commitcomment-11025083)
2015-05-05 13:27:03 +10:00
Tom Pittenger
1b84bbc3e7
AC_WPNav: Compiler warnings: add in the appropriate whitrespace
2015-05-05 13:27:02 +10:00
Tom Pittenger
913d00f525
AP_WPNav: compiler warnings: apply is_zero(float) or is_equal(float)
2015-05-05 13:26:54 +10:00
Jonathan Challinger
2b29060a4e
AC_WPNav: remove unused set_loiter_velocity
2015-05-01 16:46:53 +09:00
Randy Mackay
33431acaa4
AC_WPNav: protect against div-by-zero related to gnd_speed_limit
2015-04-28 13:53:19 +09:00
Paul Riseborough
7481217445
AC_WPNav: Improve application of EKF optical flow speed limit
2015-04-28 13:53:17 +09:00
Randy Mackay
35874292a0
AC_WPNav: move stop below all loiter methods
...
No functional change
2015-04-26 16:26:53 +09:00
Robert Lefebvre
4a7fe83b0f
AC_WPNav: Create Stop Mode functions
2015-04-26 16:11:45 +09:00
Randy Mackay
39213584da
AC_WPNav: minor comment and formatting changes
2015-04-14 14:50:58 +09:00
Jonathan Challinger
fd55068620
AC_WPNav: fix double-twitch on stop in loiter
2015-04-14 14:50:55 +09:00