Leonard Hall
7852e9d1b0
AC_WPNav: Fix calculation of _scurve_jerk_time using radians.
2021-09-09 08:01:14 +09:00
Peter Barker
8a3a787b76
AC_WPNav: honour changes to wp-speed-up and wp-speed-down in-flight
2021-09-08 21:29:38 +10:00
Andrew Tridgell
9342ded2bb
AC_WPNav: cope with negative WPNAV_SPEED_DN
...
a user set WPNAV_SPEED_DN to a negative value, with odd results. Take
absolute value to cope. Even though the param docs clearly say range
should be positive, it is one where it is easy to think it should be
negative
2021-09-07 18:55:00 +09:00
Peter Barker
ec53a41ffd
AC_WPNav: monitor WPNAV_SPEED for changes
2021-09-07 10:04:07 +09:00
Josh Henderson
a91c0f4b12
AC_WPNav: simplify get_wp_destination_loc
2021-09-07 08:02:18 +09:00
Randy Mackay
8a5ade1f46
AC_WPNav: protect against divide-by-zero
2021-09-06 16:02:25 +09:00
Randy Mackay
28a14b3602
AC_WPNav: move definitions to .cpp file
2021-09-06 16:02:25 +09:00
Randy Mackay
af9a91c853
Copter: terrain spelling fix
2021-09-06 16:02:25 +09:00
Randy Mackay
ba50f68390
AC_WPNav: terrain spelling fix
2021-09-06 16:02:25 +09:00
Leonard Hall
94002101fd
AC_WPNav: Separate landing and terrain following.
2021-09-06 16:00:19 +09:00
Leonard Hall
520883b504
AC_WPNav: Fix Jerk units
2021-08-26 12:22:52 +09:00
Iampete1
58e14b2dc3
AC_Loiter: update ANG_MAX param description
2021-08-24 22:14:08 +01:00
Andrew Tridgell
973466856c
AC_WPNav: update variable name for consistency
2021-08-19 14:42:28 +10:00
Leonard Hall
a1b47f36ef
AC_WPNav: support Control: Refactor to use Jerk
2021-08-11 17:07:29 +09:00
Leonard Hall
32b2510893
AC_WPNav: Fix Angle Vel units on function
2021-08-11 17:07:29 +09:00
Randy Mackay
83e85c7125
AC_WPNav_OA: minor formatting and comment fixes
2021-07-22 08:51:41 +09:00
Randy Mackay
cf797dfca9
AC_WPNav_OA: separate handlers for results from Dijkstra's and BendyRuler
...
also bendy ruler uses pos controller
2021-07-22 08:51:41 +09:00
Peter Barker
8396925ece
AC_WPNav: rename for AHRS restructuring
2021-07-21 21:01:39 +10:00
Pierre Kancir
a7f14efef2
AC_WPNav: remove unused variable following https://github.com/ArduPilot/ardupilot/pull/18076
2021-07-21 19:00:15 +10:00
Randy Mackay
c55c160f48
AC_WPNav: use get_terrain_margin instead of constant
2021-07-21 16:03:44 +09:00
Randy Mackay
fb5c458132
AC_WPNav: add TER_MARGIN param
2021-07-21 16:03:44 +09:00
Leonard Hall
5dcfee07d9
AC_WPNav: Auto Terain following update
2021-07-21 16:03:44 +09:00
Leonard Hall
ce254153c1
WP_Nav: Return Crosstrack error
2021-07-21 15:40:41 +09:00
Peter Barker
2d28c1065e
AC_WPNav: use singleton to access AP_Terrain data
2021-07-12 17:34:44 +10:00
Leonard Hall
59909970fa
AC_WPNav: Remove unused function
2021-07-10 20:25:05 +09:00
Leonard Hall
7bc6c19306
AC_WPNav: seperate kinimatic shaping from pid limit setting
2021-07-10 20:25:05 +09:00
Randy Mackay
430492469b
AC_WPNav: get_terrain_offset and get_vector_NEU made public
2021-07-10 20:25:05 +09:00
Leonard Hall
620d066a2e
AC_WPNav: move code to generate terrain following kinematic path
2021-07-10 20:25:05 +09:00
Leonard Hall
fcde1e7370
AC_WPNav: use shaping_tc_z_s for terrain following time constant.
2021-06-25 16:54:05 +09:00
Andrew Tridgell
1d00cab9e6
AC_WPNav: convert circle, loiter and WPNav to double position
2021-06-24 21:34:30 +10:00
Andrew Tridgell
bf91168cd6
AC_WPNav: cleanup position control APIs
...
use Vector2 for xy, float for z
2021-06-24 20:28:45 +10:00
Leonard Hall
8610edb664
AC_WPNav: AC_Loiter: Remove extra accel limit
2021-06-21 14:14:23 +09:00
Randy Mackay
a79a3d2051
AC_WPNav: move get_yaw lower in AC_WPNav.h
...
this is a non-functional change
2021-06-18 08:20:02 +09:00
Randy Mackay
430ac65123
AC_Loiter: init brake_accel and fix brake timer type
2021-06-16 17:20:40 +09:00
Josh Henderson
757fc1d679
AC_WPNav: ensure that wp_radius greater than min
...
Co-authored-by: Murata,Katsutoshi <ma2maru@gmail.com>
2021-06-09 10:55:15 +09:00
Hwurzburg
158c7c499d
AC_WPNav: correct param ranges to accomodate TradHeli defaults
2021-05-28 09:44:11 +09:00
Leonard Hall
166f059fc2
AC_WPNav: Fix before squash
2021-05-24 20:13:37 +10:00
Leonard Hall
538d8f82fb
AC_WPNav: PosControl fixes
2021-05-24 20:13:37 +10:00
Leonard Hall
ccf06f66f7
AC_WPNav: integrate AC_PosControl::get_roll_cd rename
2021-05-12 17:16:00 +10:00
Leonard Hall
b17042078a
AC_Loiter: integrate AC_PosControl::get_roll_cd rename
2021-05-12 17:16:00 +10:00
Leonard Hall
d650df3e28
AC_Circle: integrate AC_PosControl::get_roll_cd rename
2021-05-12 17:16:00 +10:00
Leonard Hall
91e32a8339
AC_Loiter: minor format fix
2021-05-12 17:16:00 +10:00
Iampete1
e995e8873c
AC_Circle: add function to check for radius param change
2021-05-04 10:41:39 +10:00
chobits
00b44ff6c8
AC_WPNav: remove unused function
2021-05-03 20:10:39 -04:00
giacomo892
a5708acaef
AC_Circle: Restore radius every time
2021-04-28 11:36:58 +01:00
Randy Mackay
a3ceb6d95b
AC_WPNav: fix spline initialisation of terrain offset
2021-04-28 10:18:04 +09:00
Leonard Hall
361ba989bd
AC_WPNav: Use Pos_Control Heading
2021-04-27 17:13:55 +09:00
Leonard Hall
939d8e3ed4
AC_WPNav: Support Thrust Vector Control
2021-04-27 17:13:55 +09:00
Randy Mackay
b81930885c
AC_WPNav: remove unnecessary assignment and constify local vars
2021-04-21 10:41:28 +10:00
Randy Mackay
bebb7e7d8f
AC_WPNav: removed unused enums
2021-04-21 10:41:28 +10:00
chobits
fd88e53be6
AC_WPNav: remove unassigned _track_desired
2021-04-08 16:13:51 +09:00
Leonard Hall
64ae08a925
AC_Loiter: fix references to position error
2021-04-03 12:07:59 +09:00
Leonard Hall
d0ab74e496
AC_Circle: fix references to position error
2021-04-03 12:07:59 +09:00
Randy Mackay
2201450180
AC_WPNav: renames and comment fixes
2021-04-03 12:07:59 +09:00
Randy Mackay
85b24cf641
AC_WPNav: fix get_wp_destination_loc
...
was incorrectly adding alt-above-terrain as if it was alt-above-ekf-origin
also fixup comments
2021-04-03 12:07:59 +09:00
Leonard Hall
32c27b32aa
AC_WPNav: support for SCurve navigation
...
set_wp_destination clear yaw target
limit velocity and acceleration based on track slope
add is_active() and remove unused reached_spline_destination
init accepts desired speed
set_kinematic_limits uses current speed limits instead of defaults
add time compression to prevent target moving too fast for air
implement alternative spline
remove vel-target-length
set_wp_destination always calculates this leg
set_kinematic_limits moved to scurve
fix origin speed after spline segment
spline terrain following fix
handle s-curves with mismatching alt types
fix set_spline_destination_next
add update_track_with_speed_accel_limits
Change to next waypoint at corner apex
use scurve advance along track
remove unused definitions and out-of-date todo
set_spline_destination_next sets fast_waypoint
scurve origin speed set from spline target velocity
fixup takeoff delay
2021-04-03 12:07:59 +09:00
Josh Henderson
fb789a07ce
AC_WP_Nav_OA: origin_loc & dest_loc should use _terrain_alt_oabak
2021-04-01 14:44:40 +09:00
Josh Henderson
5551deab4b
AC_WPNav: make Location(Vector3f) require ALTFRAME
2021-03-30 08:56:35 +09:00
Rishabh
711b497cc3
AC_Loiter: Make avoidance optional while using loiter controller
2021-03-22 14:04:42 +09:00
Randy Mackay
0d730e11cc
AC_WPNav: OA stores and uses original terrain alt
2021-03-17 14:11:12 +09:00
Randy Mackay
da580bd1ea
AC_WPNav: OA gets minor format fix
2021-03-17 14:11:12 +09:00
Randy Mackay
79c9b4b523
AC_WPNav: increase default speed to 10m/s and accel to 2.5m/s/s
2021-03-03 08:03:39 +09:00
Randy Mackay
eafd702773
AC_WPNav: add comment clarifying get_wp_destination alt frame
2021-02-11 13:01:37 +09:00
Rishabh
401d365491
AC_WPNav: Adapt to 3-D Avoidance changes
2021-02-01 14:34:13 +09:00
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