Commit Graph

482 Commits

Author SHA1 Message Date
Julian Oes e88f1b33b2 FlightTasks: fix mission DO_CHANGE_SPEED
This fixes the issue where the  DO_CHANGE_SPEED command was ignored and
the drone always travelled at the MPC_XY_CRUISE velocity.
2019-04-12 15:47:36 +02:00
Matthias Grob 1454694bdd FlightTaskAuto: separate default speed and limit
It wasn't possible to fly faster than cruise speed even if planned
in the mission.

Limiting the planned cruise speed is necessary because
the smoothed trajectory mission plans to the _mc_cruise_speed and
if that's higher than the maximum it gets capped for safety by the
position controller and the result is a jerky flight.
2019-04-12 15:47:36 +02:00
Martina Rivizzigno 6f5c97f184 ObstacleAvoidance: do not check for loiter nav state twice 2019-04-04 16:41:26 +02:00
Martina Rivizzigno 0dab5d3a11 ObstacleAvoidance: enforce camel case 2019-04-04 16:41:26 +02:00
Martina Rivizzigno c5dfcbc50e cosmetics changes to ObstacleAvoidance library 2019-04-04 16:41:26 +02:00
Martina Rivizzigno e5441a6565 make format 2019-04-04 16:41:26 +02:00
Martina Rivizzigno 34c0bb1723 ObstacleAvoidance: don't inject avoidance setpoint when in
loiter mode since it's the failsafe mode
2019-04-04 16:41:26 +02:00
Martina Rivizzigno 0e27b5cbfa include libraries without the need for full path, make ObstacleAvoidance
instance protected
2019-04-04 16:41:26 +02:00
Martina Rivizzigno 4dcc77b822 ObstacleAvoidance: remove printf and remove unnecessary new lines 2019-04-04 16:41:26 +02:00
Martina Rivizzigno c1258931da rename updateAvoidanceWaypoints->updateAvoidanceDesiredWaypoints and
updateAvoidanceSetpoints->updateAvoidanceDesiredSetpoints
2019-04-04 16:41:26 +02:00
Martina Rivizzigno b165c41737 ObstacleAvoidance: add comments 2019-04-04 16:41:26 +02:00
Martina Rivizzigno aa1b46f85a ObstacleAvoidance library: save current waypoint in global variable
to check progress
2019-04-04 16:41:26 +02:00
Martina Rivizzigno 94f73117c7 reintroduce obstacle avoidance failsafe. If OA fails, switch to loiter 2019-04-04 16:41:26 +02:00
Martina Rivizzigno e464502d2d remove empty_trajectory_waypoint and getter method for avoidance
waypoints in FlightTasks. In obstacle avoidace library reset desired
avoidance waypoints after publication
2019-04-04 16:41:26 +02:00
Martina Rivizzigno 34b0f33098 move all obstacle avoidance interfaces to the ObstacleAvoidance library 2019-04-04 16:41:26 +02:00
Martina Rivizzigno 4e806d79fe inject avoidance setpoints into AutoMapper 2019-04-04 16:41:26 +02:00
Martina Rivizzigno 320ed40806 use subscription array in ObstacleAvoidance library 2019-04-04 16:41:26 +02:00
Martina Rivizzigno a9bab81eb8 make format 2019-04-04 16:41:26 +02:00
Martina Rivizzigno 8c24ba9255 move injection of avoidance setpoints to flight task library 2019-04-04 16:41:26 +02:00
bresch dec96b0a3a revert FlightTasks: fix mission DO_CHANGE_SPEED 2019-04-03 18:08:24 +02:00
bresch 20adce5077 Add new line at the end of FlightTaskFailsafe.cpp and FlightTaskAutoLine.cpp 2019-04-03 15:38:50 +02:00
bresch b14446f0e5 Parameter update - Rename variables in lib
using paramter_update.py script
2019-04-03 15:38:50 +02:00
Julian Oes a21242b0e3 FlightTasks: fix mission DO_CHANGE_SPEED
This fixes the issue where the  DO_CHANGE_SPEED command was ignored and
the drone always travelled at the MPC_XY_CRUISE velocity.
2019-04-03 11:21:12 +02:00
bresch 99fb88ce83 AltitudeSmoothVel - Create new altitude flight task that uses the
velocity smoothing library to create a jerk-limited trajectory along the
Z axis. This FlightTask is used when MPC_POS_MODE = 3.
2019-04-03 10:43:31 +02:00
bresch a08b1682e3 [Position|AutoLine]SmoothVel - Update position and velocity states of the trajectories in case of EKF reset. Until now, only the position reset on XY axis was properly handled. Now, xy, vxy, z and vz are handled 2019-03-20 14:35:26 -04:00
bresch 0813f30723 AutoLineSmoothVel - change function contrain_one_side(..) from snake_case to camelCase 2019-03-20 14:35:26 -04:00
bresch aecf8fce58 ManualPositionSmoothVel - Force velocity and acceleration setpoints to zero if the velocity setpoint is smaller than 1mm/s and that the acceleration setpoint is null 2019-03-18 08:33:11 +01:00
bresch 1fefa76e5d ManualSmoothVel - Set jerk to 1.0 during position hold to help the optimizer to converge towards 0 vel and acc 2019-03-18 08:33:11 +01:00
bresch 06f683bdda VelocitySmoothing - Add simple test script 2019-03-18 08:33:11 +01:00
bresch b9cf4dfb6c VelocitySmoothing - Get rid of math.h, math.cpp and px4_defines dependencies 2019-03-18 08:33:11 +01:00
bresch ddab0ccdf1 VelocitySmoothing - Protect against division by zero and sqrt of a negative number 2019-03-18 08:33:11 +01:00
Daniel Agar b35d048566 cmake enable -Wcast-align and disable per module 2019-03-16 11:47:15 -04:00
bresch c5706f6283 FlightTaskAuto - Recover position control after local position reset (#11636)
* FlightTaskAuto - Explicitly check is _triplet_target is finite to decide if the target has to be updated or not. If the _target is NAN, always try to update it to get a valid setpoint.
2019-03-15 00:42:24 -04: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
Matthias Grob f794ee0c8a FlightTaskManualAltitude: add slow upwards start
when still close to ground
2019-03-11 20:09:45 +01:00
Matthias Grob 63a6ab34f7 FlightTaskManualAltitude: slow down when landing manually 2019-03-11 20:09:45 +01:00
BazookaJoe1900 8947cb5841 FlightTaskAuto: removed non used _getMaxCruiseSpeed 2019-03-10 11:17:21 -04:00
bresch f229444722 ManualSmoothVel - Split position lock condition and flag action 2019-02-25 21:41:04 +01:00
bresch 8f584a1496 smooth takeoff - Support smooth takeoff triggered by jerk setpoint 2019-02-25 08:07:33 +01:00
Daniel Agar 0d170a0eaf FlightTasks VelocitySmoothing initialize member
- fixes Coverity CID 328485
2019-02-24 17:10:15 -05:00
Daniel Agar 7eca2769a7 FlightTasks AutoLineSmoothVel initialize member
- fixes Coverity CID 328492
2019-02-24 17:10:15 -05:00
Daniel Agar b2739d946c FlightTasks ManualPositionSmoothVel initialize member
- fixes Coverity CID 332544
2019-02-24 17:10:15 -05:00
bresch 70ddb8049a Traj Smoothing - make format 2019-02-13 20:56:57 +01:00
bresch 4cace1bbe9 Manual vel smooth - use speed_up and speed_down constraints to limit velocity target of the trajectory generator 2019-02-13 20:56:57 +01:00
bresch b7c2464cce Manual vel smooth - Use MPC_JERK_MAX only 2019-02-13 20:56:57 +01:00
bresch 1730cd3a69 Velocity Smoothing - Various improvements, cleanup and corner cases fixes 2019-02-13 20:56:57 +01:00
bresch f1262cbe84 Manual Traj - Avoid velocity jumps due to a modification of the constraints 2019-02-13 20:56:57 +01:00
bresch 57eef6b170 Manual Trajectory - Add Z position lock logic and log complete trajectory 2019-02-13 20:56:57 +01:00
Matthias Grob 6a53a398e0 FlightTask: decline unimplemented callbacks, improve comments 2019-01-31 17:43:35 +01:00
bresch df58e161d1 Trajectory auto - Handle EKF xy reset 2019-01-22 17:23:16 +01:00