Andrew Tridgell
f4548daa5a
AC_AttitudeControl: added an option for pitch weathervaning
...
when nose-in or tail-in, if the aircraft has significant pitch
asymmetry in hover then we would spin around in no wind if we use
pitch as an input
this makes pitch input for nose-in and tail-in optional and off by
default to preserve existing behaviour
2022-04-13 18:19:02 +10:00
Peter Barker
c1e776fc46
AC_AttitudeControl: stop libraries including AP_Logger.h in .h files
...
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h
This necessitated moving The PID_Info structure out of AP_Logger's
namespace. This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!
There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Andrew Tridgell
7bb129aa3e
AC_AttitudeControl: added set_lean_angle_max_cd()
2022-03-18 13:36:16 +11:00
Iampete1
4386d748de
AC_AttitudeControl: WeatherVane: defualt to 0 gain on plane and early return
2022-03-09 18:02:41 +11:00
Leonard Hall
56e47cb8cc
AC_PosControl: Decay posiiton error during relax
2022-03-07 16:14:23 +09:00
Leonard Hall
057be63fdd
AC_AttitudeControl: AC_PosControl: add soften for landing
2022-03-07 16:14:23 +09:00
Bill Geyer
6204898de4
AC_AttitudeControl: Tradheli-update default gains
2022-02-15 13:42:09 -05:00
Peter Hall
a56eac0274
AC_AttitudeControl: WeatherVane: add takeoff and landing override params
2022-02-08 10:38:16 +11:00
Peter Hall
8fdc85ccbe
AC_AttitudeControl: WeatherVane: add tail in option
2022-02-08 10:38:16 +11:00
Gone4Dirt
cc545efa29
AC_AttitudeControl: add weathervane library
2022-02-08 10:38:16 +11:00
Joshua Henderson
4b51dc73b5
AC_Attitude_Control: add get_attitude_target_ang_vel
2022-02-07 08:24:35 +09:00
Leonard Hall
162dd6d2bc
AC_AttitudeControl: AC_PosControl: Remove velocity override
2022-02-04 13:09:35 +09:00
Bill Geyer
a2c1c809b2
AC_AttitudeControl: tradheli-change param name from _VFF to _FF
2022-02-04 08:03:38 +09:00
Leonard Hall
b1f80fbe4f
AC_AttitudeControl: Remove double colon
2022-02-03 14:36:21 +09:00
Joshua Henderson
8af7752110
AC_AttitudeControl: nfc PosControl fix to say relative to EKF origin
2022-02-03 12:05:12 +09:00
Iampete1
b3646494d4
AC_AttitudeControl: always use smaller of slew yaw and rate max
2022-02-01 08:19:35 +09:00
Leonard Hall
d51e2d323e
AC_AttitudeControl: AC_PosControl: use relax_integrator
2022-01-25 13:20:47 +09:00
Leonard Hall
1ad5479954
AC_AttitudeControl: use relax_integrator
2022-01-25 13:20:47 +09:00
Leonard Hall
48a15947ab
AC_AttitudeControl: AC_PosControl: use consistent measured vel and accel callers in z
2022-01-25 13:20:47 +09:00
Leonard Hall
203529f45e
AC_AttitudeControl: AC_PosControl_Sub: Increase Jerk with Accel when out of velocity range
2022-01-25 09:04:25 +09:00
Leonard Hall
f6f51f5a74
AC_AttitudeControl: AC_PosControl: Increase Jerk with Accel when out of velocity range
2022-01-25 09:04:25 +09:00
Leonard Hall
2cda59c09d
AC_AttitudeControl: AC_PosControl: Init desired accel to zero
2022-01-25 08:57:38 +09:00
Leonard Hall
7a9a0bfb3f
AC_AttitudeControl: Support MAVLINK_MSG_ID_SET_ATTITUDE_TARGET
2022-01-19 18:03:17 +11:00
Leonard Hall
894b491faa
AC_AttitudeControl: AC_PosControl: Clean up init functions and limit initial xy accelerations based on max lean angle
2022-01-11 11:00:41 +11:00
Leonard Hall
0bdf34dc57
AC_AttitudeControl: Respect rate limit in max_rate_step
2022-01-11 10:57:53 +11:00
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
Patrick José Pereira
e3d018c401
AC_AttitudeControl: Add missing const in member functions
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Leonard Hall
25fff17e48
AC_AttitudeControl: constify some local variables
2021-01-22 14:22:18 +09:00
Randy Mackay
031be010ac
AC_AttitudeControl: tailsitter sets target rates more efficiently
2021-01-20 18:21:12 +11:00
Randy Mackay
6320338771
AC_PosControl: use AP_Math control functions
2021-01-20 18:19:40 +11:00
Leonard Hall
1129a3fd59
AC_AttitudeControl: use AP_Math control functions
2021-01-20 18:19:40 +11:00
murata
d7533843d5
AC_AttitudeControl: Set the gravitational acceleration value to the defined value
2021-01-05 09:11:14 +09:00
bnsgeyer
04e2cceaff
AC_AttitudeControl: Tradheli support for integrator management and hover collective learning
2020-12-21 23:33:48 -05:00
Mark Whitehorn
7446a9c33c
AC_AttitudeControl: make relax_attitude_controllers() non-virtual
2020-12-21 12:56:24 +11:00
Mark Whitehorn
cc2c631d23
AC_AttitudeControl: add AC_AttitudeControl_TS
...
move tailsitter body-frame roll input method to new subclass
override relax_attitude_controllers in AttitudeControl_TS
2020-12-21 12:56:24 +11:00
Randy Mackay
d6869b9234
AC_PosControl: fix typo in posxy_p param desc
2020-11-05 14:59:00 +09:00
Andrew Tridgell
0a7c628355
AC_AttitudeControl: added SMAX param docs
2020-10-25 10:32:48 +11:00
Randy Mackay
4ed486bb92
AC_AttitudeControl: revert Add PosControl PID logging
2020-09-12 08:10:33 +09:00
Iampete1
c109df3dd5
AC_AttitudeControl: Add PosControl PID logging
2020-09-11 10:12:08 +10:00
Iampete1
e955b431ef
AC_PosControl: move to structure logging for PSC
2020-09-11 10:12:08 +10:00
Iampete1
c27bdafea4
AC_PosControl: correct VELXY_D_FILT Description
2020-06-23 11:40:12 +09:00
Leonard Hall
edadbae240
AC_AttitudeControl: Handle zero accel value correctly in angle correction.
2020-06-23 08:21:47 +09:00
Randy Mackay
1498e4c037
AC_AttitudeControl: remove unused macro
2020-04-27 09:39:46 +09:00
Rishabh
6a98ab569e
AC_PosControl: Replace update_vel_controller_xy() with update_xy_controller()
2020-04-21 09:22:45 +10:00
Peter Barker
afc0fbc516
AC_AttitudeControl: add CTRL log message documentation
2020-04-12 08:36:48 +10:00
Peter Barker
e477f6c840
AC_PosControl: add documentation for PSC log message
2020-04-06 10:46:45 +10:00
Randy Mackay
06b62107c7
AC_PosControl: move freeze_ff_z to be with other z-axis methods
...
Also minor comment fix to get_stopping_point_xy
2020-03-11 10:39:18 +09:00
Leonard Hall
29332ac112
AC_PosControl: add relax_velocity_controller_xy
2020-03-11 10:39:18 +09:00
Bill Geyer
bf345b0dd4
AC_AttitudeControlHeli: update filter parameter desc mins
2020-02-26 08:02:27 +09:00
Randy Mackay
aff854f485
AC_AttitudeControl: update param ranges
2020-02-26 08:02:27 +09:00
Randy Mackay
fc2e15651e
AC_PosControl: allow smaller changes in max speed and accel
...
also small changes in max speed for z-axis
2020-02-22 08:53:41 +09:00