Commit Graph

11089 Commits

Author SHA1 Message Date
Dennis Mannhart bf15e852ff style-check 2018-07-20 09:26:18 +02:00
Dennis Mannhart 90a7d836fc ControlMath:: add legacy cross_sphere_line method 2018-07-20 09:26:18 +02:00
Dennis Mannhart c2343589d8 move cross_sphere_line_test method into test_controlmath.cpp
remove mc_pos_control_tests since empty
move test_controlmath.cpp into systemcmds/tests directory
2018-07-20 09:26:18 +02:00
Dennis Mannhart 09b7d0f659 the static keywork is a workaround for an internal bug of GCC
"internal compiler error: in trunc_int_for_mode, at explow.c:55"
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
Dennis Mannhart 8a3c7f9e41 PositionControl: style check 2018-07-20 09:26:18 +02:00
Dennis Mannhart 2519d97aa2 PositionControl: add failsafe 2018-07-20 09:26:18 +02:00
Dennis Mannhart 45810ec2b4 PositionControl: replace constraint structure with new constraint message structure 2018-07-20 09:26:18 +02:00
Dennis Mannhart 24e6e4041f PositionControl: format clean up 2018-07-20 09:26:18 +02:00
Dennis Mannhart 89c0259b2a PositionControl: replace overwrite with ModuleParams updateParams method 2018-07-20 09:26:18 +02:00
Dennis Mannhart 4c1fcca294 PositionControl.cpp: replace all params with ModuleParams type. Add method that overwrites
parameter values
2018-07-20 09:26:18 +02:00
Dennis Mannhart 7dbc368779 PositionControl.hpp: inherit from ModuleParams and replace params with ModuleParams type 2018-07-20 09:26:18 +02:00
Dennis Mannhart 6cfb89a8e8 test_controlmath rebase fix: EPS to FLT_EPSILON 2018-07-20 09:26:18 +02:00
Dennis Mannhart caa773008a PositionControl: degrees to radians 2018-07-20 09:26:18 +02:00
Dennis Mannhart 4761f0a344 PositionControl: bug fix Pv replacement with Pp 2018-07-20 09:26:18 +02:00
Dennis Mannhart 83f6398e93 ControlMath: comments refactor 2018-07-20 09:26:18 +02:00
Dennis Mannhart c01fab089a PositionControl parameter renaming. Use the the name as stored in the metadata 2018-07-20 09:26:18 +02:00
Dennis Mannhart cf59c2a2ac PositionControl/mc_pos_control: update comments 2018-07-20 09:26:18 +02:00
Dennis Mannhart 673945f28b PositionControl: check if constraints are below global maximum 2018-07-20 09:26:18 +02:00
Dennis Mannhart 60a9b45c88 Positioncontrol: limit velocity upwards during smooth takeoff 2018-07-20 09:26:18 +02:00
Dennis Mannhart 0f4eb8e766 PositionControl: add integral reset methods 2018-07-20 09:26:18 +02:00
Dennis Mannhart 65a9cd171f PositionControl: variable replacement 2018-07-20 09:26:18 +02:00
Dennis Mannhart e2ac12ef2c FlightTask: comment fixes 2018-07-20 09:26:18 +02:00
Dennis Mannhart c6b5731086 test_controlmath: add first few tests for constrain function in xy 2018-07-20 09:26:18 +02:00
Dennis Mannhart c60481614e ControlMath constrainxy: fix one of the condition 2018-07-20 09:26:18 +02:00
Dennis Mannhart 386b70dc58 ControlMath: add derivation and simplify computation 2018-07-20 09:26:18 +02:00
Dennis Mannhart 10bd3a50ba PositionControl: parameter subscription declaration 2018-07-20 09:26:18 +02:00
Dennis Mannhart 7f68417d19 PositionControl: make distinction for throttle minimum depending on mode 2018-07-20 09:26:18 +02:00
Dennis Mannhart 26ca17e329 comment fix 2018-07-20 09:26:18 +02:00
Dennis Mannhart 3ae07843e9 position control: remove empty space 2018-07-20 09:26:18 +02:00
Dennis Mannhart 9ff4d13c2c mc_pos_control: remove unused method 2018-07-20 09:26:18 +02:00
Dennis Mannhart 75fb1b28b9 mc_pos_control: set thrust to zero if in idle 2018-07-20 09:26:18 +02:00
Dennis Mannhart 1fb8eaf6c6 mavlink_messages: add yawspeed to local position setpoint sent over mavlink 2018-07-20 09:26:18 +02:00
Dennis Mannhart 816f2d12d5 FlightTaskAuto minor clean up 2018-07-20 09:26:18 +02:00
Dennis Mannhart ae0f02f67d ControlMath: by value to reference 2018-07-20 09:26:18 +02:00
Dennis Mannhart 3c40aa0d9c PositionControl: if valid velocity and position setpoint available, always prioritize
velocity setpoint generated from position error over velocity feedforward
2018-07-20 09:26:18 +02:00
Dennis Mannhart 558a0f892c PositionControl: auto takeoff with constant speed
PositionControl: remove takeoff logic

mc_pos_control: takeoff logic for flighttask

mc_pos_control: smooth takeoff throttle start at 0
2018-07-20 09:26:18 +02:00
Dennis Mannhart 6e62beb560 FlightTaskAuto: abstract class for mapping triplets to quadruple
FlightTaskAuto: add type that corresponds to triplet type

FligthTaskAuto: set all setpoints if invalid in xy

FlightTaskAuto: cast triplet type to WaypointType

FlightTaskAutoLine: class for px4 legacy auto

FlightTaskAutoLine: methods prototype

FlightTaskAuto: change sp to wp (=Waypoint)
add params

FlightTaskAutoLine: follow waypoints along line based on flight state
2018-07-20 09:26:18 +02:00
Martina 24413c6192 mavlink_messages: rename MavlinkStreamTrajectory -> MavlinkStreamTrajectoryRepresentationWaypoints 2018-07-18 05:12:39 -04:00
Martina c9d27b65ef mavlink_main: stream trajetcory_presententation_waypoints instead of trajectory 2018-07-18 05:12:39 -04:00
Martina 02d360c33a update trajectory message to trajectory_representation_waypoint as in mavlink 2018-07-18 05:12:39 -04:00
Beat Küng c166ea9ed5 sensors: fix potential busy loop when a gyro driver is stopped
When a gyro driver is stopped, the topic is unadvertised and
orb_group_count() returns a smaller count. This can have the effect, that
we poll on a certain gyro fd, but since _gyro.subscription_count is reduced
we never do the orb_copy for that fd.

This cannot happen when armed. And only someone playing with the shell
can trigger it (sensor failures do not have that effect).
2018-07-18 08:10:13 +02:00
Beat Küng 891a09f488 sensors: make sure to do an orb_copy, even if a gyro is disabled
This makes sure that poll() never returns immediately.
accel & mag are only updated to keep the code in sync.
2018-07-18 08:10:13 +02:00
Beat Küng 28d70f5f79 logger: remove unneeded topics from the default set
Should some of these be of interest to someone, we should create a profile.
2018-07-18 08:10:13 +02:00
Daniel Agar 8985403c00 FMU relocate MOT_SLEW_MAX and THR_MDL_FAC parameters centrally 2018-07-17 19:59:41 -04:00
Daniel Agar c26ca49f36 PWM parameters centralize under sensors and add aux 7&8 2018-07-17 19:59:41 -04:00
Paul Riseborough 4e3f7bdcc6 ekf2: Move range min/max checks to inside the ecl library 2018-07-16 21:59:04 +10:00
Philipp Oettershagen da2fbf60b5 distance sensors: Improve variable naming / description 2018-07-16 21:59:04 +10:00
Philipp Oettershagen 35bde5c9fc LL40LS: Implement driver-specific filtering based on the datasheet and experiments 2018-07-16 21:59:04 +10:00
Beat Küng 43c2970fb9 vehicle_gps_position: add heading field 2018-07-16 12:18:37 +02:00