Commit Graph

243 Commits

Author SHA1 Message Date
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
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
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
chobits 00b44ff6c8 AC_WPNav: remove unused function 2021-05-03 20:10:39 -04: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
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
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
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
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