Commit Graph

304 Commits

Author SHA1 Message Date
MaEtUgR 6472b579dc FlightTaskOrbit: switch rotation direction
Switch to positive tangential velocity being clockwise because with NED
frame z-axis points down and mathematically positive around the z-axis
results in clockwise yaw rotation when seen from above. Also MAVLink
messages and other components in PX4 are defined this way.
2018-07-24 15:03:53 +02:00
MaEtUgR 8d88fa2fca FlightTasks: fix multiple comments 2018-07-24 15:03:53 +02:00
MaEtUgR 3b7d31de75 FlightTasks: reintroduce vehicle command handling
The handling for vehicle commands inside the FlightTasks library
was already there but commented out because the previously used
MAVLink messages were tied to the specific application we used and
there was no clean common message definition. Because there is now
a well defined message for the orbit task I'm uncommenting and using
the working message handling again here.
2018-07-24 15:03:53 +02:00
Matthias Grob 93bab20510 FlightTaskOrbit: switch to FlightTaskAltitudeSmooth
Nice smooth altitude control is already provided by the existing
flight task for altitude mode. We inherit from it to resuse the
functionality and just all its update first not altering the setpoints
for the z-axis it produced.
2018-07-24 15:03:53 +02:00
Matthias Grob ce49ac0259 FlightTaskOrbit: better member descriptions 2018-07-24 15:03:53 +02:00
Matthias Grob 26e3dbec2e FlightTaskOrbit: name member constants start with underscore 2018-07-24 15:03:53 +02:00
Matthias Grob 2b6926fe9d FlightTaskOrbit: speed up stick input to a fixed time frame
Maximum velocity achievable in 4 seconds,
maximum radius achievable in 8 seconds for futher testing.
These should be parameters as soon as it works fine.
2018-07-24 15:03:53 +02:00
Matthias Grob 33ba041120 FlightTaskOrbit: improve yaw tracking with feed-forward
To make the vehicle front always point exactly to the center and not
lag behind.
2018-07-24 15:03:53 +02:00
Matthias Grob c2223030d9 FlightTaskOrbit: add acceleration limit & unify checks 2018-07-24 15:03:53 +02:00
Matthias Grob 79aaa59715 FlightTaskOrbit: adapt comments to convention and 2018 2018-07-24 15:03:53 +02:00
Matthias Grob 993d76c0da FlightTaskOrbit: fix vehicle yawing to the center
I accidentally swapped yaw setpoint and yawspeed setpoint when switching
to the new setpointinterface in 309237c4a2
2018-07-24 15:03:53 +02:00
ChristophTobler 99e58e2923 FlightTask StraightLine: make format 2018-07-24 08:40:05 +02:00
Matthias Grob 7e547e6322 FlightTask StraightLine: use 2D Vector and remove newline 2018-07-24 08:40:05 +02:00
ChristophTobler ccd8a47015 FlightTask StraightLine: set origin and target at the same time
This avoids issues with reseting/calculating the max vel/acc
2018-07-24 08:40:05 +02:00
ChristophTobler 9e8c3ff0dc FlightTask StraightLine: check if target and origin are the same 2018-07-24 08:40:05 +02:00
ChristophTobler 8998714130 FlightTask StraightLine: remove unused target reached flag 2018-07-24 08:40:05 +02:00
ChristophTobler 090db6a115 FlightTask StraightLine: set max vel/acc/dec if value is bigger 2018-07-24 08:40:05 +02:00
ChristophTobler c619009364 FlightTask StraightLine: replace powf(x,2) with x*x
Apparently this is faster
2018-07-24 08:40:05 +02:00
ChristophTobler 8b3716c0df FlightTask StraightLine: remove 10% safety margin 2018-07-23 12:54:39 +02:00
ChristophTobler 7e0976f0ef FlightTaskStraightLine: fix braking distance corner cases
check if target vel is bigger than desired vel
accelerate if already inside braking distance but vel is lower
2018-07-23 12:54:39 +02:00
ChristophTobler e527a51de6 FlightTaskStraightLine: add descriptions for defines 2018-07-23 12:54:39 +02:00
ChristophTobler 37d4f714b2 FlightTaskStraightLine: replace define with parameter 2018-07-23 12:54:39 +02:00
ChristophTobler ebceac5fff FlightTasks: add lib for setpoints on a straight line 2018-07-23 12:54:39 +02:00
Daniel Agar b1d3bb0403 stop ignoring Wmissing-field-initializers and fix (#9912) 2018-07-22 12:45:52 -04:00
Paul Riseborough 73a7aa75a8 FlightTasks: update terrain hold transition logic.
Use pre-existing MPC_HOLD_MAX_XY parameter for speed threshold.
Use _stick_expo variable for stick movement check.
Update documentation.
2018-07-22 17:42:31 +10:00
Paul Riseborough 2baa6caacb FlightTasks: Fix transition between use of local and ground height (+2 squashed commits)
Squashed commits:
[ed2a243] FlightTasks: Preserve control loop tuning when applying max altitude limit
[b33b947] FlightTasks: Add 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 b5731e0ccd FlightTaskOffboard: only start task if control mode flags are met 2018-07-20 09:26:18 +02:00
Dennis Mannhart eb7139bc56 FlightTaskManualAltitude: respect maximum altitude if there is a valid distance sensor 2018-07-20 09:26:18 +02:00
Dennis Mannhart c907e7a9dc FlighttaskManualAlititude: replace SENS_FLOW_MINRNG with hagl_min 2018-07-20 09:26:18 +02:00
Dennis Mannhart 4af9d79986 FlighttaskManualPosition: check if estimator velocity maximum is finite
before applying limits
2018-07-20 09:26:18 +02:00
MaEtUgR efed766919 FlightTasks: small rebase naming and typo fixes 2018-07-20 09:26:18 +02:00
Dennis Mannhart 29fb5089bd FlightTasks: construct all tasks in constructor 2018-07-20 09:26:18 +02:00
Dennis Mannhart b1530d1a81 FlightTasks: create struct that contains FlightTask and FlightTaskIndex 2018-07-20 09:26:18 +02:00
Dennis Mannhart 83cc2b0e72 FlightTaskAuto: reset lock position to NAN 2018-07-20 09:26:18 +02:00
Dennis Mannhart c12dcb4eed FlightTaskAuto: take care of case when triplet.lat/lon are invalid, which corresponds
to position lock.
2018-07-20 09:26:18 +02:00
Dennis Mannhart 65ad6edaf0 ManualSmoothingXY: remove empty lines 2018-07-20 09:26:18 +02:00
Dennis Mannhart b9d5189fe5 ManualSmoothing: direction change with maximum acceleration 2018-07-20 09:26:18 +02:00
Dennis Mannhart 33d0a4e8ed FlightTaskAuto: replace target with destination for checks 2018-07-20 09:26:18 +02:00
Dennis Mannhart 92e93639d3 FlightTaskAuto: require valid position in 3D 2018-07-20 09:26:18 +02:00
Dennis Mannhart c4c01358b9 FlightTaskManualAltitude: do terrain following when distance sensor active and
below minimum distance to ground.
2018-07-20 09:26:18 +02:00
Dennis Mannhart bd85f5f993 FlightTask: set min_distance_to_ground to NAN as default and when
distance sensor is used to SENS_FLOW_MINRNG
2018-07-20 09:26:18 +02:00
Dennis Mannhart ee7d5c3f38 FlightTaskAuto: remove unused member variable 2018-07-20 09:26:18 +02:00
Dennis Mannhart e408870857 FlightTaskManual: remove unused override 2018-07-20 09:26:18 +02:00
Dennis Mannhart be6f3a5b48 FlightTaskOffboard: valid position and velocity is required 2018-07-20 09:26:18 +02:00
Dennis Mannhart bd2de0e585 FlightTaskAuto: valid target is required and valid reference 2018-07-20 09:26:18 +02:00
Dennis Mannhart 4713f47668 FlightTaskManualPosition: valid position/velocity in xy required 2018-07-20 09:26:18 +02:00
Dennis Mannhart 72a213aff7 FlightTaskManualAltitude: valid altitude/climb-rate is required 2018-07-20 09:26:18 +02:00
Dennis Mannhart fc4fa169df FlightTaskManualStabilized: valid yaw is required 2018-07-20 09:26:18 +02:00
Dennis Mannhart 2af253fa9f FlightTaskManual: sticks not to be finite
activation method not needed
2018-07-20 09:26:18 +02:00
Dennis Mannhart 6a7a7d7ff7 FlightTask: check if states are valid. if not valid, set them to NAN 2018-07-20 09:26:18 +02:00