Commit Graph
350 Commits
Author SHA1 Message Date
Dennis Mannhart a24b614dec FlightTaskAutoLine: generate heading along track if yaw setpoint is not valid 2018-08-03 08:24:34 +02:00
Dennis Mannhart 02feb10865 FlightTaskAuto: triplet yaw-setpoint has priority over MPC_YAW_MODE.
Add MPC_YAW_MODE option for heading along trajectory, which will be the same as
option 0 (heading towards target) if trajectory is straight line
2018-08-03 08:24:34 +02:00
Dennis Mannhart 694f49c80a FlightTaskAuto: method for computing heading from 2D vector 2018-08-03 08:24:34 +02:00
Dennis Mannhart 6cd16f345e FlightTaskAuto: set heading based on yaw mode 2018-08-03 08:24:34 +02:00
Dennis Mannhart f0282bcd8f FlightTaskAuto/Line: make params protected and add NAC_ACC_RAD and MPC_YAW_MODE 2018-08-03 08:24:34 +02:00
Dennis Mannhart 7723860f37 remove unused constant 2018-08-02 09:23:17 +02:00
Dennis Mannhart a06ff4a2ce FlightTaskAuto/Mapper/Line: move landing gear to mapper; fix comments 2018-08-02 09:23:17 +02:00
Dennis Mannhart 338ca3104c FlightTaskAutoLine: remove activate method bc uses same impl as FlightTaskAutoMapper 2018-08-02 09:23:17 +02:00
Martina 3fe2646d80 FlightTaskAuto: add comments and fix variable naming convention 2018-08-02 09:23:17 +02:00
Martina e13ca0d990 FlightTaskAuto: fix triplet reset 2018-08-02 09:23:17 +02:00
Martina f379035a3b FlightTaskAuto: move generation of the the internal waypoints to FlightTaskAuto such that they are available to all derived classes.
Change logic to update the internal triplets only when the navigator triplets have changed or when the vehicle state has changed.
2018-08-02 09:23:17 +02:00
Martina ade254394e fix parameters subscription 2018-08-02 09:23:17 +02:00
Martina 3f2f399b91 FlightTaskAutoMapper: clean-up and fix comments 2018-08-02 09:23:17 +02:00
Martina d85481be6d Restructure FlightTaskAutoLine:
-add FlightTaskAutoMapper that handles the different types of waypoint and
generates setpoints for all types except of position and loiter
- FlightTaskAutoLine generates the setpoint types position and loiter if
the flight between waypoint is a straight line
2018-08-02 09:23:17 +02:00
Daniel Agar 6f204c4913 FlightTask initialize _dist_to_bottom
- fixes Coverity CID 306248
2018-08-02 08:06:08 +02:00
Daniel Agar 36fdd3a127 FlightTaskManualPosition initialize all fields
- fixes Coverity CID 306259
2018-08-02 08:06:08 +02:00
Daniel Agar a90c7659ad FlightTasks local position setpoint don't use copyRaw
- fixes Coverity CID 268659
2018-08-02 08:06:08 +02:00
Dennis Mannhart fc8a05f636 estimataor reset counter: set Flighttaskcounter equal reset-counter during activation (#10035)
- fixes #10033
2018-07-28 10:08:58 -04:00
ChristophTobler 9aa6dad514 FlightTask orbit: make format 2018-07-24 15:03:53 +02:00
MaEtUgR e8d2f1c2be FlightTaskOrbit: execute MAVLink orbit command
Latest QGC daily supports sending an orbit command. This commit applies
the correct radius, rotation direction, velocity and center position.
Still missing is a check to have global position available and applying
x,y coordinates and altitude independently.
2018-07-24 15:03:53 +02:00
MaEtUgR 7c068e47ab FlightTaskOrbit: fix acceleration limit inverting velocity
The formula only calculated the absolute value of the velocity and
the sign (rotation direction) got lost in that case.
2018-07-24 15:03:53 +02:00
MaEtUgR 12290c27e6 FlightTask: update global reference
For the geo.h C library to convert between global and local frame
we need an up to date global reference which is currently inside the
vehicle_local_position message.
2018-07-24 15:03:53 +02:00
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
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