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
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
Peter Barker
c664eec93b
AC_WPNav: remove unused variable _last_update
2016-10-24 08:57:56 -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
Andrew Tridgell
86ceee4a53
AC_WPNav: fixed typo
2016-07-01 15:34:56 +10: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
Ricardo de Almeida Gonzaga
3033c53834
AC_WPNav: Fix typos
2016-05-13 19:20:05 -03:00
dgrat
6d3b491c02
AP_Math: Replace is_equal with a type safe template function
...
It makes sense to consider also other floating point types.
2016-05-10 11:41:26 -03: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
c5a3781507
AC_WPNav: accept terrain library reference
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
Lucas De Marchi
3ae4c222e0
AC_WPNav: replace header guard with pragma once
2016-03-16 18:40:39 +11:00
dgrat
5148e41c1a
AP_Math: Cleaned macro definitions
...
Moved Definitions into a separate header. Replaced PI with M_PI and
removed the M_PI_*_F macros.
2016-02-27 02:51:33 -03: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
Randy Mackay
15fc689085
AC_WPNav: remove unused get_wp_radius
2015-08-23 11:06:19 +09: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
a81d756ce1
AC_WPNav: remove unused definitions
2015-08-05 14:14:55 +09: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
Tom Pittenger
93c6ed0ea2
AC_WPNav: compiler warnings: float to double
2015-07-27 10:30:15 +09:00
Randy Mackay
28c722c157
AC_Circle: rate change takes effect immediately
2015-07-23 16:21:20 +09:00
Randy Mackay
0264b1aa84
AC_Circle: set only xy position targets
2015-06-27 15:43:49 +09:00
Randy Mackay
aa7a151fe5
AC_WPNav: init flags
...
Resolves Coverity warning
2015-06-08 14:46:39 +09:00
Randy Mackay
bb382a65e8
AC_Circle: init members and flags
...
Removed unused dir flag
Resolves Coverity warning
2015-06-08 14:46:37 +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
Andrew Tridgell
e789984c98
AC_WPNav: fix for HAL_SITL rename
2015-05-05 09:45: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
Tom Pittenger
b9865c5f3e
AC_Circle: fix compile warnings re float constants
2015-04-24 12:23:38 +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
Jonathan Challinger
1da410a6c6
AC_WPNav: allow user to tune loiter
2015-04-14 14:50:53 +09:00
Randy Mackay
c88ff00f5f
AC_WPNav: remove example sketch
...
this only tested compiling anyway
2015-03-13 16:40:57 +09:00
Randy Mackay
fc4442bf61
AC_WPNav: rename xy_mode
2015-02-06 17:00:57 +09:00
Jonathan Challinger
626521c366
AC_WPNav: update usage of update_xy_controller
2015-02-06 17:00:53 +09:00
Jonathan Challinger
baa3e802ee
AC_WPNav: clean up atan2
2015-02-03 14:48:04 +09:00
Randy Mackay
d0d1254f03
AC_WPNav: fix example sketch
2015-01-28 17:15:34 +09:00
Andrew Tridgell
25f69f05eb
AC_WPNav: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Jonathan Challinger
6eab698e85
AC_WPNav: remove various timing hacks
2014-12-31 14:03:20 +09:00
Jonathan Challinger
5438d38df5
AC_WPNav: provide reset_I to init_xy_controller
2014-12-31 14:03:16 +09:00
Randy Mackay
4a1ba9b186
AC_WPNav: minor const fix
2014-12-27 13:19:32 +09:00
priseborough
11fb51ceba
AC_WPNav: Add nav velocity gain scaler to interfaces
...
Allows gains to be adjusted to compensate for optical flow noise
2014-12-06 18:16:50 +11:00
priseborough
5fa0c59310
AC_WPNav: Add EKF ground speed limit to loiter speed control
...
This is required to prevent the speed controller saturating the optical flow sensor during low altitude flying.
2014-12-06 18:16:50 +11:00
Jonathan Challinger
2cc65dffe0
AC_WPNav: add set_spline_dest_and_vel function
2014-11-17 14:38:46 -08:00
Clay McClure
71586d40e3
AC_WPNav: minor fix to comments
2014-11-06 11:53:56 +09:00
Jonathan Challinger
369839c7ca
AC_WPNav: Use target yaw instead of current yaw for close waypoints
2014-10-31 15:23:52 +09:00
Andrew Tridgell
33c7432e97
AC_WPNav: fixed example build
2014-10-24 12:10:40 +11:00
Randy Mackay
e80328d3a5
AC_WPNav: bug fix sanity check of set_speed_xy
...
This corrects a bug that allowed the waypoint speed to be set to zero
2014-10-21 22:10:22 +09:00
Randy Mackay
dbe1c55666
AC_WPNav: add shift_wp_origin_to_current_pos for takeoff
...
This shifts the origin to the vehicle's current position and should be
called just before take-off to ensure there are no sudden roll or pitch
moves on takeoff.
2014-09-29 15:26:18 +09:00
Randy Mackay
765420ee04
AC_WPNav: add loiter_soften_for_landing method
...
This resets the position target to the current location.
2014-09-19 16:43:10 +09:00
Randy Mackay
ad37fc0408
AC_WPNav: WP_SPEED_DN parameter range to 0~500
...
Previous permissible descent speed of 10m/s was unnecessarily lenient.
Users can still bypass the suggested range through the MP's full
parameter list if they really want a very high descent speed.
2014-09-18 10:44:33 +09:00
Randy Mackay
1c6606cc58
AC_WPNav: resolve twitch when passing spline waypoints
...
The target positions target velocity was being reset to zero as we
passed through a spline waypoint.
2014-08-28 11:00:51 +09:00
Randy Mackay
3fd2b3b4a1
AC_WPNav: init members to resolve compiler warnings
2014-08-14 11:27:30 +09:00
Andrew Tridgell
759a55d633
AC_WPNav: fixed example build
2014-08-13 21:45:56 +10:00
Randy Mackay
053a45e9cf
AC_WPNav: fix example sketch
2014-07-29 12:01:09 +09:00
Andrew Tridgell
7f7a0db2d3
AC_WPNav: fixed example build
2014-07-25 17:53:58 +10:00
Randy Mackay
52d5109a6c
AC_Circle: initialise members to reduce compiler warnings
2014-07-16 14:38:34 +09:00
Randy Mackay
2b64c511ed
AC_WPNav: update yaw only when track is at least 2m
2014-07-06 17:02:12 +09:00
Randy Mackay
c9661cfb09
AC_WPNav: integrate set_desired_velocity_xy function name change
2014-07-06 17:01:10 +09:00
Randy Mackay
a2f54fdf2c
AC_WPNav: smooth waypoint by freezing feed-forward and allowing overshoot
...
First part of this fix is freezing the position controller's xy-axis
feed foward as we transition to the new segment.
Second part is work-around for straight line segments in that we allow
the target point to actually overshoot the end of the segment by up to
2m if the segment is a "fast waypoint". Ideally we would instead notice
the waypoint has been completed and take any left over time or distance
and move our target along the track towards the next waypoint but that
would require a much larger change to allow the wpnav lib to hold the
next two waypoints.
2014-06-10 20:03:01 +09:00
Randy Mackay
ce85d1f6b2
AC_WPNav: use curr pos target as spline origin
...
We only use the current target position as origin if the waypoint
controller is active (i..e has been used in the past 1 second). This is
consistent with how we initialise straight line waypoints
2014-06-10 20:02:59 +09:00
lthall
8bbce7e658
AC_PosControl: freeze feed forward for alt control in Auto
2014-06-10 20:02:36 +09:00
Randy Mackay
915dad2da4
AC_Circle: use fast_atan2 to calc bearing from center
...
This does not save much time because it's only called at initialisation
2014-06-06 18:51:09 +09:00
Randy Mackay
f23e94707c
AC_WPNav: use fast_atan2 for bearing calcs
2014-06-06 18:51:08 +09:00