Commit Graph

715 Commits

Author SHA1 Message Date
Andrew Tridgell 53f1fc1295 AC_AttitudeControl: added get_ang_vel_yaw_max_rads() 2021-12-21 11:02:51 +09:00
RickReeser d95c997606 AC_PosControl: fix comment
In ArduCopter/mode.cpp, ignore_descent_limit is FALSE unless landing:

        // do not ignore limits until we have slowed down for landing
        ignore_descent_limit = (MAX(g2.land_alt_low,100) > get_alt_above_ground_cm()) || copter.ap.land_complete_maybe;
2021-12-21 07:41:47 +09:00
Leonard Hall 90db81354b AC_AttitudeControl: AC_PosControl: Prioritize crosstrack acceleration 2021-12-16 09:54:49 +09:00
Leonard Hall 9017ac6723 AC_AttitudeControl: AC_PosControl: Support error input to kinematic shaper 2021-12-07 09:47:42 +09:00
Randy Mackay a3886be920 AC_PosControl: minor formatting fix 2021-12-01 08:54:34 +09:00
Josh Henderson e11529ac01 AC_AttitudeControl: INAV rename for neu & cm/cms 2021-11-30 10:08:07 +11:00
Josh Henderson da418ed520 AC_AttitudeControl: rename Inav get_position_xy() & get_velocity_xy() 2021-11-30 10:08:07 +11:00
Josh Henderson 77711e1505 AP_PosControl: inav use _xy() 2021-11-30 10:08:07 +11:00
Josh Henderson 6243532e69 AC_AttitudeControl: get_bearing & get_horizontal_distance use Vector2f 2021-11-30 10:08:07 +11:00
Andrew Tridgell 1b0631669c AC_AttitudeControl: fixed limiting of throttle mix values
use constrain instead of reset to keep as much of user requested value
as possible

also raise limit for MIX_MIN to 0.5 after discussion with Leonard
2021-11-23 16:47:25 +09:00
Iampete1 be6598708e AC_PosControl: remove unused limit flags 2021-11-23 13:49:02 +09:00
Peter Barker 8e15bf09a6 AC_AttitudeControl: move from ENABLE_SCRIPTING to AP_SCRIPTING_ENABLED 2021-11-15 20:27:40 +11:00
Peter Barker 38479905c0 AC_AttitudeControl: ensure ENABLE_SCRIPTING is always defined 2021-11-15 20:27:40 +11:00
Andrew Tridgell 3f936baf5c AC_AttitudeControl: adjust docs for rate max limits
after discussion with Leonard
2021-11-11 07:22:38 +11:00
divyateja04 7f0bf89003 AC_AttitudeControl: removed empty constructors 2021-10-28 09:07:56 +11:00
lthall d5286ec533 AC_AttitudeControl: Fix initialize bug 2021-10-01 13:14:46 -04:00
lthall 31e7d672c9 AC_AttitudeControl: AC_PosControl: Update PSC logging to include desired 2021-09-23 20:07:52 +09:00
Hwurzburg 502aff27da AC_AttitudeControl: add options to prevent spamming tuning error messages 2021-09-21 07:56:19 +09:00
Josh Henderson a3e475822b AC_AttitudeControl: use vector.xy().length() instead of norm(x,y) 2021-09-14 10:43:46 +10:00
Iampete1 ffac134014 AC_PosControl: protect against negative angle max 2021-09-13 07:55:34 +09:00
Leonard Hall ad278779e3 AC_AttitudeControl: : Add units to the accessors. 2021-09-09 08:01:14 +09:00
Leonard Hall 35a93c5988 AC_AttitudeControl: AC_PosControl: Change set_correction_speed_accel_z to use input arguments 2021-09-07 19:04:14 +09:00
Leonard Hall 5337ab0551 AC_AttitudeControl: AC_PosControl: Remove const float 2021-09-06 16:00:19 +09:00
Leonard Hall 0fff010046 AC_AttitudeControl: AC_PosControl: Separate landing and terrain following. 2021-09-06 16:00:19 +09:00
Leonard Hall ff58054d1b AC_AttitudeControl: AC_PosControl: Clean up to use .xy() 2021-08-26 12:22:52 +09:00
Leonard Hall 8223d664a7 AC_AttitudeControl: AC_PosControl: Non functional clean up 2021-08-26 12:22:52 +09:00
Leonard Hall 9c097dd6be AC_AttitudeControl: AC_PosControl: limit initial acceleration 2021-08-26 12:22:52 +09:00
Leonard Hall 445e52b821 AC_AttitudeControl: AC_PosControl: fix stopping point initialization 2021-08-26 12:22:52 +09:00
Iampete1 2a834508ae AC_AttitudeControl: check for zero rate Y max before taking min 2021-08-25 23:48:52 +01:00
Iampete1 df7321c0da AC_PosControl: init_z_controller_stopping_point: remove duplicate set_integrator 2021-08-21 09:54:33 +01:00
Andrew Tridgell 285798446a AC_AttitudeControl: apply EKF Z gain scaler
for flying with DCM
2021-08-19 14:42:28 +10:00
Andrew Tridgell c99f9312db AC_AttitudeControl: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
Andrew Tridgell 25ee57080f AC_AttitudeControl: this fixes an issue with Z accel initialisation
tailsitter quadplanes were climbing a lot on transition from fixed
wing to Q modes. Leonard tracked it down to a bug in the Z accel init
2021-08-16 08:33:34 +10:00
Leonard Hall 71ccffd7c9 AC_AttitudeControl: AC_PosControl: support Control: Refactor to use Jerk 2021-08-11 17:07:29 +09:00
Leonard Hall f57175a84f AC_AttitudeControl: Fix Angle Vel units on function 2021-08-11 17:07:29 +09:00
Leonard Hall 870888efeb AC_AttitudeControl: AC_PosControl: fix PID filter names FILT -> FLTE, D_FILT -> FLTD 2021-08-10 08:33:56 +09:00
Leonard Hall 0ad2bf15bc AC_AttitudeControl: Support thrust to weight of 10:1 2021-08-03 17:04:43 +09:00
Peter Barker 5046083863 AC_AttitudeControl: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Leonard Hall ff1843a79c AC_AttitudeControl: AC_PosControl: Auto Terain following update 2021-07-21 16:03:44 +09:00
Leonard Hall 9d845759f8 AC_PosControl: Add MAX(bla,0) because safe_sqrt isn't safe 2021-07-21 15:40:41 +09:00
Leonard Hall f130503cc7 AC_AttitudeControl: AC_PosControl: calculate cross track 2021-07-21 15:40:41 +09:00
Leonard Hall a32b5b3bb0 AC_AttitudeControl: Allow yaw rate reset to be de-selected 2021-07-13 09:51:36 +10:00
Leonard Hall ac0b320922 AC_AttitudeControl: Add accessor for yaw slew limit 2021-07-10 20:25:05 +09:00
Leonard Hall e2b5d3d585 AC_AttitudeControl: AC_PosControl: support accel only input in the vertical 2021-07-10 20:25:05 +09:00
Leonard Hall e0e283f13e AC_AttitudeControl: AC_PosControl: support terrain following 2021-07-10 20:25:05 +09:00
Leonard Hall 8a2f75d742 AC_AttitudeControl: AC_PosControl: seperate kinimatic shaping from pid limit setting 2021-07-10 20:25:05 +09:00
Leonard Hall 6e82bff55b AC_AttitudeControl: Add terain following to guided 2021-07-10 20:25:05 +09:00
Leonard Hall b3acdd49d6 AC_AttitudeControl: AC_PosControl: Support Accel only input 2021-07-10 20:25:05 +09:00
Leonard Hall 8e084a0879 AC_AttitudeControl: AC_PosControl: Change input_pos_xyz name 2021-07-10 20:25:05 +09:00
Leonard Hall 8f493e3021 AC_AttitudeControl: Add shaping_tc_z_s accessor 2021-06-25 16:54:05 +09:00
Leonard Hall 5475d1153c AC_PosControl: fixup ekf reset 2021-06-25 10:01:49 +09:00
Andrew Tridgell 66186e5221 AC_AttitudeControl: convert poscontrol to use double position 2021-06-24 21:34:30 +10:00
Andrew Tridgell 7819cc6400 AC_AttitudeControl: cleanup poscontrol comments with input from Leonard 2021-06-24 20:28:45 +10:00
Andrew Tridgell 5f053bd53a AC_AttitudeControl: fixed comment 2021-06-24 20:28:45 +10:00
Andrew Tridgell fd68233fed AC_AttitudeControl: cleanup position control APIs
use Vector2 for xy, float for z
2021-06-24 20:28:45 +10:00
Leonard Hall 47b0ac663a AC_AttitudeControl: AC_PosControl: Init and stopping point fixes 2021-06-24 09:01:07 +10:00
Leonard Hall ffc64c3042 AC_AttitudeControl: AC_PosControl: change force_descend to ignore_descent_limit 2021-06-23 10:58:50 +09:00
Leonard Hall d599052da3 AC_AttitudeControl:AC_PosControl: vibration failsafe fix 2021-06-23 10:29:23 +09:00
Leonard Hall d9529e1be3 AC_AttitudeControl: AC_PosControl: Remove extra accel limit 2021-06-21 14:14:23 +09:00
Peter Hall 716ceb93c5 AC_AttitudeControl: add thrust vector methods to 6DoF multi 2021-06-21 09:58:05 +09:00
Hwurzburg 27620322ec AC_AttitudeControl: remove % as units on params that are unitless 2021-05-30 22:38:27 -07:00
Hwurzburg 3f4d4e45fc AC_AttitudeControl: correct param ranges to accomodate TradHeli defaults 2021-05-28 09:44:11 +09:00
Randy Mackay d9c68031fa AC_PosControl: write_log checks xy and z controllers are active
This allows write_log to be write PSCZ messages for modes with onlyi vertical control (e.g. althold) without also logging out-of-date PSC messages
2021-05-26 18:58:31 +10:00
Leonard Hall 359cf8ed0e AC_AttitudeControl: Rename set_attitude_target_to_current_attitude 2021-05-26 16:03:05 +09:00
Leonard Hall fb83f98b77 AC_AttitudeControl: Set rates to zero during arming procedure for acro 2021-05-26 16:03:05 +09:00
Leonard Hall 34e342f658 AC_AttitudeControl: Rename set_yaw_target_to_current_heading 2021-05-26 16:03:05 +09:00
Leonard Hall b489dd5fe1 AC_AttitudeControl: Set yaw rate to zero during arming procedure 2021-05-26 16:03:05 +09:00
Hwurzburg ff931c7490 AC_AttitudeControl: make centideg metadata incr and range consistent 2021-05-25 10:10:18 +10:00
Leonard Hall 491350c1d6 AC_AttitudeControl: Fix before squash 2021-05-24 20:13:37 +10:00
Andrew Tridgell 8213fc5277 AC_AttitudeControl: prevent panic on SITL when no lock-step scheduling
this disables the internal error for bad timing on SITL types without
lock-step scheduling, such as RealFlight
2021-05-24 20:13:37 +10:00
Leonard Hall 92e05e8c4f AC_AttitudeControl: PosControl fixes 2021-05-24 20:13:37 +10:00
Leonard Hall 7f1f29c1ae AC_PosControl: rename get_roll_cd get_pitch_cd 2021-05-12 17:16:00 +10:00
Leonard Hall f24a0988f4 AC_PosControl: minor formatting fixes 2021-05-12 17:16:00 +10:00
Leonard Hall 772cec5101 AC_AttitudeControl: minor format fix 2021-05-12 17:16:00 +10:00
Leonard Hall 4158c37cfa AC_PosControl: Calculate heading 2021-04-27 17:13:55 +09:00
Leonard Hall e253c94f63 AC_AttitudeControl: Remove Unused Function 2021-04-27 17:13:55 +09:00
Leonard Hall bb46f7a947 AC_PosControl: Thrust Vector output 2021-04-27 17:13:55 +09:00
Leonard Hall 1fb2a95486 AC_AttitudeController: Thrust Vector attitude control 2021-04-27 17:13:55 +09:00
Peter Barker a3c329b182 AC_AttitudeControl: make parameter renames consistent 2021-04-21 12:17:42 +10:00
Leonard Hall b43c7f4ed1 AC_AttitudeControl: Parameter rename (non-functional) 2021-04-21 12:17:42 +10:00
hs293go de0c57de77 AC_AttitudeControl: Use Quaternion::operator* for vector rotation
Replace all instances of the q*v*q.formula() or conversion to rotation
matrix + matrix multiply by calling Quaternion::operator* on a
vector
2021-04-21 12:17:42 +10:00
Leonard Hall 86a157ce59 AC_AttitudeControl: Seperate thrust vector correction into a separate function 2021-04-21 12:17:42 +10:00
Leonard Hall c28d103afe AC_AttitudeControl: Fix Angular velocity rotation to body frame
Thanks to BreederBai for higlighting this in issue #17059
Thanks to esaldiran and Hs293Go for helping check the math.
2021-04-19 14:48:59 +10:00
Leonard Hall 6a8ba6f329 AC_PosControl_Sub: update for new position controller changes 2021-04-03 12:07:59 +09:00
Randy Mackay cb0d37586e AC_PosControl: use Vector limit_length and formatting fixes 2021-04-03 12:07:59 +09:00
Leonard Hall ba00c2edd6 AC_PosControl: alt hold controller update
pass accel limit top_pos_xy
prearm check updated
fix PSC_VELZ_FLTE/D param descriptions
fix VelZ FF param desc
limit maximum desired z component
integrate AC_PID_Basic
2021-04-03 12:07:59 +09:00
Leonard Hall b73ad1a1bc AC_PosControl: remove unused sqrt_controller_3D 2021-04-03 12:07:59 +09:00
Leonard Hall 49da872218 AC PosControl: fix position error get functions 2021-04-03 12:07:59 +09:00
Randy Mackay ae66803148 AC_AttitudeControl: minor optimisation and comment fixes 2021-04-03 12:07:59 +09:00
Leonard Hall d6e3495eca AC_AttitudeControl: support for feedforward rate in angle request for yaw 2021-04-03 12:07:59 +09:00
Peter Hall aa75fc2c3d AC_PosControl: use target lean angles rather than true for init 2021-03-17 08:13:11 +09:00
Peter Hall a43db51440 AC_AttitudeControl: add get_att_target_euler_rad function 2021-03-17 08:13:11 +09:00
Leonard Hall e788d63686 AC_AttitudeControl: clear up comment for inertial_frame_reset 2021-02-17 21:19:18 +09:00
Leonard Hall f53242b323 AC_AttitudeControl: rename thrust_heading_rotation_angles args 2021-02-10 18:35:58 +11:00
Leonard Hall ad6e2eeed8 AC_AttitudeControl: remove feed-forward from run_quat 2021-02-10 18:35:58 +11:00
Leonard Hall 8ace1bfad1 AC_PosControl: const local vars and remove todo 2021-02-10 13:26:23 +09:00
Randy Mackay 0703a1cf93 AC_PosControl: add PSCZ logging 2021-02-09 19:33:52 +09:00
Randy Mackay 9f914d9e7d AC_PosControl: add get_z_accel_cmss helper function 2021-02-09 19:33:52 +09:00
Iampete1 7d5e5f8dd7 AC_AttitudeControl: add SITL panic to remind us to implent the quarternion 2021-02-09 12:43:54 +09:00
Iampete1 791e68b4ef AC_AttitudeControl: add 6DoF support 2021-02-09 12:43:54 +09:00