Commit Graph
145 Commits
Author SHA1 Message Date
Azarakhsh Keipour d6c27c6f37 Omni Pos-Ctrl: Defined MC_OMNI_MODE PX4 parameter in the position controller 2020-01-21 18:23:07 -05:00
Matthias Grob 1484dfed6a FlightTasks: remove deprecated AutoLine mission task 2020-01-06 15:39:07 +01:00
Julian Kent 75d7a049c1 Use the new trajectory constraints to synchronize and limit velocities 2020-01-06 15:39:07 +01:00
bresch d0bdd80129 FlightTaskManualPosition: Remove MPC_ACC_HOR_ESTM parameter. This was
used back in time when no soothing was done to avoid large steps when
the estimator stops sending a maximum velocity (e.g.:GPS gained during
optical flow flight). Since smoothing is applied later, this is not
required anymore.
2019-12-11 17:21:57 +02:00
Matthias Grob a3d30fc970 mc_pos_control/FlightTask: apply nit-pick review findings 2019-12-11 14:03:16 +01:00
bresch 4ba672a7ba ManualPosition: Limit horizontal speed during landing 2019-12-11 14:03:16 +01:00
bresch ffee103ae0 FlightTask: add 1st order lpf on yawrate satepoint for smooth motion 2019-11-25 11:55:47 +01:00
bresch b1698b78bc AutoSmoothVel - scale down acc_hor using traj_p parameter in the computation of the maximum waypoint entrance speed 2019-08-09 12:04:48 +02:00
RomanBapst b75d2ce982 set trajectory generating flight task as default (MPC_POS_MODE = 3)
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-29 10:37:26 -04:00
RomanBapst 77fd290b0c added default expo for yaw and x/y/z velocity demand in position mode
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-29 10:37:26 -04:00
RomanBapst 81ae85015f changed defaults of MPC acceleration limit parameters
- vehicle will fly less aggressive
- it does not make sense to set the lower acceleration limit to something
that exceeds gravity if most of the vehicles do not support reverse thrust

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-29 10:37:26 -04:00
RomanBapst a5d3e10c67 MPC_MAN_Y_MAX: changed default from 200 to 150 deg/s
- we have set the maximum yaw-rate MC_YAWRATE_MAX to 200 degrees and it
makes senses to leave a bit of margin between what the user can demand
and what the limits of the vehicle are

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-29 10:37:26 -04:00
RomanBapst f0cdd9be60 MPC_Z_VEL_I: changed default from 0.02 to 0.1
- generally better attitude tracking
- much better altitude control immediately after takeoff (hover throttle offset)
- faster landing detection

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-07-29 10:37:26 -04:00
bresch 15ec73629b MPC auto - Add MPC_YAW_MODE: towards waypoint (yaw first) mode. This mode ensures that
the vehicle yaws towards the next waypoint before accelerating. This is
required for drones with front vision and aerodynamic multicopters such
as standard vtol planes or highspeed multirotors.
2019-07-11 17:46:44 +02:00
Jacob Dahl 59c555aec3 Multicopter Auto: Adjustable land speed via RC (#12220) 2019-07-08 23:55:21 -04:00
Matthias Grob 90c6fea408 mc_pos_control_params: user friendly default spool/rampup times 2019-05-22 22:05:38 +02:00
Mathieu BrescianiandMatthias Grob 4b2d01dea1 MPC parameters - Update from Matthias' comments
Co-Authored-By: Matthias Grob <maetugr@gmail.com>
2019-05-17 14:15:29 +02:00
bresch b726d8df0d Add jerk parameter for auto mode MPC_JERK_AUTO. Specify when a parameter is only used in a certain manual or auto mode 2019-05-17 14:15:29 +02:00
bresch 89bc68e12b Auto - Rename MC_YAWRAUTO_MAX -> MPC_YAWRAUTO_MAX 2019-04-26 12:43:26 +02:00
Matthias Grob 295c3fd0c5 mc_pos_control: correct tilt parameter limits
- correcting
c9e52d4386
to allow 180° maximum tilt instead of landing tilt.
- Introducing tilt limitation minimums like requested in #11473
2019-03-24 20:52:17 +01:00
baumanta d42b9205f9 Rename parameter MPC_OBS_AVOID to COM_OBS_AVOID and change the location to commander. 2019-03-12 11:24:33 +01:00
bresch 106f0769fd mc_pos_control - add takeoff_ramp_time zero division guard 2019-02-13 20:56:57 +01:00
Matthias Grob cdb6aca6bd mc_pos_control: refactor spoolup time naming 2019-01-29 10:02:48 +01:00
bresch be2e80c186 MPC_YAW_MODE - Change max to 3 to enable trajectory alignment 2018-11-30 09:27:40 -05:00
Matthias Grob d76aec4eb2 mc_pos_control: refactor switch case logic for modes 2018-11-29 08:19:58 +01:00
baumanta f5369db245 Put parameters inside library. Get rid of unnecessary activation logic 2018-11-20 14:11:33 +01:00
baumanta dd45fa6541 change feature name from CollisionAvoidance to CollisionPrevention 2018-11-20 14:11:33 +01:00
Matthias Grob 81ec6c5b1e ColisionAvoidance: move instantiation to FlightTask 2018-11-20 14:11:33 +01:00
baumanta 27dc60a419 Improve comments 2018-11-20 14:11:33 +01:00
baumanta db514fe441 Add a collision avoidance library which uses range data 2018-11-20 14:11:33 +01:00
bresch 7779c0bd69 MPC - Update velocity integrator definition 2018-11-15 22:08:00 +01:00
bresch d852ce20e6 MPC - Increase max velocity integral gain to 3.0 2018-11-15 22:08:00 +01:00
Beat Küng c9e52d4386 MPC_MAN_TILT_MAX: increase max limit from 90 to 180 degrees
This is especially useful for testing (the vehicle must behave correctly
even at high tilt angles).
2018-11-13 09:30:18 +01:00
bresch 066d1f50c4 Auto traj - Add dedicated parameter to enable trajectory smoothing in auto mode only 2018-11-06 22:17:00 +01:00
bresch 2847ce20b8 Auto traj - Add parameter for gain of trajectory controller 2018-11-06 22:17:00 +01:00
Beat Küng d8cb6bb834 mc_pos_control_params: update jerk params (limits + defaults + description) 2018-11-06 22:17:00 +01:00
Beat Küng 86463e4ec7 Flight Tasks: add new trajectory smoothing flight task & library
Derivation by Mathieu Bresciani:
https://github.com/Auterion/trajectory_generator
2018-11-06 22:17:00 +01:00
Beat Küng 431bcbe642 MPC_THR_HOVER: reduce minimum from 20% to 10% 2018-10-09 12:09:07 +02:00
Beat Küng 48f5f8faa5 mc pos control: add MPC_THR_CURVE param
The hover thrust param also changed the thrust scaling in Stabilized mode.
However if the hover thrust is very low (e.g. below 20%), the throttle
stick input becomes very distorted.
2018-10-09 12:09:07 +02:00
Beat Küng eb30b5b73e mc_pos_control_params: remove unused MPC_MANTHR_MAX params 2018-10-04 15:09:02 +02:00
Roman 4ad11484ca mc_pos_control: moded weathervane parameters to weathervane lib
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman 8abcf2defa mc_pos_control: use weathervane library to make vehicle turn into relative wind
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Dennis Mannhart e0f505ec57 mc_pos_control_param: MPC_YAW_MODE remove option "set by waypoint" because that
is executed at any time if triplet as valid yaw waypoint
2018-08-03 08:24:34 +02:00
Dennis Mannhart 27812ad7ac mc_pos_control_params: add MPC_YAW_MODE for heading during auto 2018-08-03 08:24:34 +02:00
Paul Riseborough a37580ceac mc_pos_control: remove un-used parameter 2018-07-22 17:42:31 +10:00
Paul Riseborough dd3fb84db8 mc_pos_control: Fix parameter description error 2018-07-22 17:42:31 +10:00
Paul Riseborough 82780e33b9 mc_pos_control: Add parameter support for terrain hold function
This new mode of altitude control uses terrain following when holding position and normal altitude control when moving.
2018-07-22 17:42:31 +10:00
Dennis Mannhart 18a3c08659 mc_pos_control: idle to armed state delay controlled by parameter MPC_IDLE_TKF 2018-07-20 09:26:18 +02:00
Dennis Mannhart e51e1bbe74 mc_pos_control: replace legacy refactor
Until now we replaced legacy position controller functionality inside
the flight task architecture to split up the huge position control
module into the different tasks and have a modular setup with a clear
setpoint interface. This commit removes all the legacy code and hard
switches to using the flight task architecture for multicopter.

This is done because maintaining and testing everything in parallel is
not sustainable. The architecture is by now tested to cover all basic
legacy functionality and missing corner cases can be fixed a lot easier
with the new architecture.
2018-07-20 09:26:18 +02:00
MaEtUgR 70802ba15a FlightTaskManual: Yaw lock with deadzone and expo
More than a year ago I started the easy to use math::Functions to handle
the always used mathematical SISO functions to be tested and available.

I switched x, y and z stick input to the freesh programmed deadzone and
exponential functions from the library to unify and clarify their use.
I just realized yaw was left over because it lead to a drift problem in
certain new use cases.

Now I'm just adding the yaw stick to the already well working method.
2018-07-20 09:26:18 +02:00