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
Martina
5cd0da95cc
mc_pos_control_params: add type boolean to MPC_OBS_AVOID parameter
2018-07-12 16:36:11 -04:00
Martina
6cceca6fe5
mc_pos_control_params: add parameter to enable and disable obstacle
...
avoidance
2018-07-12 16:36:11 -04:00
Mohammed Kabir
c1169eb38b
mc_pos_control : update to use new navigation limits architechture
2018-06-09 13:38:04 +02:00
Mohammed Kabir
b3c5e53333
Unify optical flow height limiting
2018-06-09 13:38:04 +02:00
Paul Riseborough
0113212b34
mc_pos_control: Update parameter descriptions
2018-06-09 13:38:04 +02:00
Paul Riseborough
2c325414f9
mc_pos_control: limit maximum height when reliant on optical flow data
2018-06-09 13:38:04 +02:00
Beat Küng
12e967173d
MC: set default MPC_THR_MAX & MPC_MANTHR_MAX to 1
...
With the updated mixer (#9062 ) it's safe to set maximum thrust to 1 (in
both cases, if MC_AIRMODE is set, or not set).
So I see no reason to limit the maximum thrust.
2018-04-26 14:37:48 +02:00
Matthias Grob
dc60bc8766
mc_pos_control: enable flight tasks
...
instantiate flight tasks and the refactored position controller class
only use the new functionality if a temporary parameter is set for testing
2018-04-05 07:30:12 +02:00
Daniel Agar
3928507f65
mc_pos_control MPC_CRUISE_90 missing max
2018-02-10 20:37:47 -05:00
Paul Riseborough
642a4a5fc7
mc_pos_control: respect estimator max speed and min height limits
2018-01-29 22:30:34 +01:00
DonLakeFlyer
8693c51cba
Fix bad meta data
2017-10-21 20:17:41 +02:00
Beat Küng
29e85edac8
Revert "param MPC_MAN_TILT_MAX: decrease maximum from 90 to 85 degrees"
...
This reverts commit d6df692b7a .
The changes to attitude controller improve this a lot.
2017-10-01 15:36:21 +02:00
Beat Küng
d6df692b7a
param MPC_MAN_TILT_MAX: decrease maximum from 90 to 85 degrees
...
At 90 degrees the yaw is extremely unstable (tested with HIL), it
overshoots and only very slowly converges to the correct value.
This behavior is also noticable with lower angles, but not so extreme.
It definitely needs to be looked into further, but for now this makes it
safer.
2017-09-19 11:44:29 +02:00
Dennis Mannhart
82f25453a7
mc_pos_control: smooth position control from stick input
2017-09-18 13:30:16 +02:00
Dennis Mannhart
bf5e81a34f
mc_pos_control param: acceleration parameters adjustment and addition
2017-09-11 02:08:22 -07:00
Dennis Mannhart
10a9c410e3
mc_pos_control: parameter for maximum horizontal velocity
2017-09-11 02:08:22 -07:00
Dennis Mannhart
947d63fb11
mc_pos_control auto: replace min_cruise_speed with cruise_speed_90; take care of case when cruise_speed_90 is exactly in the middle of max and min
2017-09-11 02:08:22 -07:00
Dennis Mannhart
08d15f5402
mc_pos_control: remove target threshold from auto
2017-09-11 02:08:22 -07:00
Dennis Mannhart
0a37d8dc42
mc_pos_control: clarify speed params
2017-09-11 02:08:22 -07:00
Dennis Mannhart
c4c18caed4
mc_pos_control auto: set speed at 90degrees to 1
2017-09-11 02:08:22 -07:00
Dennis Mannhart
a7be9854d9
mc_pos_control: remove scaling in auto and remove limit_velocity function; update auto logic
2017-09-11 02:08:22 -07:00
Lorenz Meier
8878be5741
MC land speed: Ensure that the difference between land speed and land detection is high enough
2017-07-29 22:25:09 +02:00
Daniel Agar
d641d776f7
mc_pos_control delete unused velocity feed forwards
2017-06-26 11:31:25 -04:00
Matthias Grob
9a162a24bb
mc_pos_control: improved smooth takeoff and used it for manual takeoff as well
...
adresses:
there were setpoint twitches at the beginning and end of my smooth takeoff routine
it was to slow and not configurable
it was only available for automatic takeoff
2017-04-27 14:05:20 +02:00
Matthias Grob
709bd8cb28
mc_pos_control: combine separate pitch and roll maximum tilt angles into one
...
because there is no sense to have different angle scalings into different directions
it would lead to unintuitive piloting experience
acceleration is directly coupled to the tilt angle regardless of possible assymetric multicopter vehicles
2017-04-20 13:20:01 +02:00
Dennis Mannhart
8687d414bf
mc_pos_control: new variable that defines speed in manual controlled mode
2017-04-10 21:34:00 +02:00
Matthias Grob
72fb7a5062
mc_pos_control: added gradual landing speed logic
...
depending on two altitudes that can get set as parameter
the logic linearly slows down from higher land altitude 1 to slower land altitude 2
2017-03-22 15:21:34 +01:00
Dennis Mannhart
4c4f214ec7
mc_pos_control: target_threshold value change
...
mc_pos_control: reorder if statement
mc_pos_control: add get function for cruising speed
2017-03-22 15:21:34 +01:00
Dennis Mannhart
0d6f994145
mc_pos_control: slow down in auto when close to target
...
mc_pos_control: move limit vel xy after velocity controller
2017-03-22 15:21:34 +01:00
Matthias Grob
5e2f18ebaa
mc_pos_control: added separate velocity control setpoint slewrate for deceleration
...
to improve the smooth user experience while accelerating
but not have any delay when braking
2017-03-22 15:21:34 +01:00
Matthias Grob
713ba45876
mcpos_control: remove duplicate deadzone parameters
2017-03-22 15:21:34 +01:00
Matthias Grob
eec757915c
mc_pos_control: switch manual vertical/z velocity curve to expo with deadzone
2017-03-22 15:21:34 +01:00
Dennis Mannhart
c9643cb075
mc_pos_control: delete leftover from transitional changes for vel_max_z ( #6822 )
2017-03-20 10:06:29 +01:00
Matthias Grob
ca9393eb97
mc_pos_control: fix parameter description of expo for QGC parsing
2017-03-16 11:42:27 +01:00
Dennis Mannhart
ca84cc7439
mc_pos_control: delete max altitude, which is not set by landdetector
2017-02-27 22:54:19 +01:00
Dennis Mannhart
c8690fd072
mc_pos_control: limit altitude
...
mc_pos_control: delete spaces
mc_pos_control: cleanup and threshold for velocity control to altitude control when close to max altitude
2017-02-27 22:54:19 +01:00
Dennis Mannhart
cbc54c9917
mc_pos_control: only swithc to velocity control from hold_engaged when user moves stick
2017-02-22 20:48:40 +01:00
Dennis Mannhart
20604989bb
mc_pos_control: have same acceleration max for xy and z
2017-02-21 21:50:00 +01:00
Matthias Grob
c2be4b2b29
mc_pos_control: added exponential curve to manual x,y velocity setpoint
...
controlled by parameter MPC_XY_MAN_EXPO that is disabled (0) by default
2017-02-02 21:24:05 +01:00
Dennis Mannhart
f718b3a97a
mc_pos_control: limit slewrate different in up and down direction
2017-02-02 09:04:59 +01:00
Lorenz Meier
c76c8fda04
MC pos control: Drop default position controller gain
2016-08-06 11:50:08 +02:00
Lorenz Meier
a38263b8e7
Enforce enough braking power when users set higher horizontal speeds
2016-07-31 17:43:15 +02:00
Daniel Agar
331456f831
mc_pos_control_params.c param metadata
2016-05-11 12:29:54 -04:00
Lorenz Meier
c31c29097d
Rename params, add transitional support
2016-05-10 09:27:00 +02:00
Adyasha Dash
468b0b25de
added different parameters for ascent and descent rates
2016-05-10 09:18:40 +02:00
Lorenz Meier
45a5f2aaa4
MC vel control: Better defaults, better min and max gains
2016-05-04 22:49:36 +02:00