9907 Commits

Author SHA1 Message Date
sanderux
919b3a218a Factor in reverse pusher delay on mission acceptance radius 2017-09-13 17:25:41 +02:00
Daniel Agar
f26933fc55 delete unused RC_DSM_BIND param 2017-09-13 05:30:14 -07:00
Julian Oes
ee6a79279f commander: require local position for home
This fixes (or at least works around) a race condition where the
`status_flags.condition_local_position_valid` is still `false` but the
`status_flags.condition_global_position_valid` is already `true`.

The way to reproduce it is t:
1. Poll home position to check if home is initialized
2. Send arm and takeoff command as soon as home is initialized

Then arming will succeed but takeoff will fail because there is a check
for `status_flags.condition_local_position_valid` in
`main_state_transition()` to enter TAKEOFF.
2017-09-13 10:06:40 +02:00
Beat Küng
19e7ba63ee param: use separate param save lock
param save is an expensive operation that can take several 100ms. And
previously it was possible that a param_get() caller was blocked on a
save operation. If this happened due to a param change notification,
important modules, such as sensors, could have been blocked for a longer
period (and affecting the flight performance).
With this patch, this situation is not possible anymore, because a param
save now uses the reader lock and a separate file lock.

However it is still possible that a param_set() needs to wait for a save
operation, thus blocking for a longer time. param_set() thus needs to be
avoided in important modules when the system is armed.
In the case of mavlink it works, since it does not affect the flight if
the mavlink receiver is blocked over a longer time. It is only problematic
if a joystick is used as input or in offboard control.
2017-09-12 08:46:10 +02:00
sanderux
07a995a621 Code style 2017-09-11 12:08:39 +02:00
sanderux
1d2a08bd2d VTOL back transition: check only forward velocity 2017-09-11 12:08:39 +02:00
Dennis Mannhart
a398dc09c7 mc_pos_control: set curr_pos_sp(0:1) to pos(0:1) if non-finite 2017-09-11 02:08:22 -07:00
Dennis Mannhart
22be99da3e mc_pos_control: change name _pos_first_nofinite to _triplet_lat_lon_finite 2017-09-11 02:08:22 -07:00
Dennis Mannhart
cdb610a453 mc_pos_control: remove _limit_vel_xy 2017-09-11 02:08:22 -07:00
Dennis Mannhart
9ea465b66b mc_pos_control auto: fix curr pos sp mapping to local frame 2017-09-11 02:08:22 -07:00
Dennis Mannhart
cb9efd7119 mc_pos_control: remove unused defines and add SIGMA 2017-09-11 02:08:22 -07:00
Dennis Mannhart
352f86fff4 mc_pos_control reintegration fixes of duplicates, unused parameter and order 2017-09-11 02:08:22 -07: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
8eca82022c mc_pos_control: sub param.acc with block param 2017-09-11 02:08:22 -07:00
Dennis Mannhart
44e4beeeec mc_pos_control: check if triplets are valid, otherwise ignore 2017-09-11 02:08:22 -07:00
Dennis Mannhart
5b03c5f68e navigator: reset triplets during onboard/offboard mission update 2017-09-11 02:08:22 -07:00
Dennis Mannhart
c84c7cdcb4 mc_pos_control: set previous triplet point to invalid when switching to manual 2017-09-11 02:08:22 -07:00
Dennis Mannhart
2ceb703613 mc_pos_control: use math::constrain 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
3538f028b4 mc_pos_control: use 0.5 of acceleration for auto 2017-09-11 02:08:22 -07:00
Dennis Mannhart
807d45c99c mc_pos_control slowing down close to target take over previous setpoint if low 2017-09-11 02:08:22 -07:00
Dennis Mannhart
ac3321dc6c mc_pos_control: distinguish between up and down acceleration 2017-09-11 02:08:22 -07:00
Dennis Mannhart
c1199d1202 mission don't apply slewrate for altitude 2017-09-11 02:08:22 -07:00
Dennis Mannhart
9ec0d72f3c mc_pos_control: make sure that passing waypoint only allowed if altitude is reached 2017-09-11 02:08:22 -07:00
Dennis Mannhart
b769d1cee0 mc_pos_control auto: apply auto logic for z-direction 2017-09-11 02:08:22 -07:00
Dennis Mannhart
2655c72cea mission: remove altitude foh for rotarywing 2017-09-11 02:08:22 -07:00
Dennis Mannhart
8e99c73f49 mc_pos_control: don't divide by zero 2017-09-11 02:08:22 -07:00
Dennis Mannhart
cb820a168a mc_pos_control: use original targethreshold when computing target_velocity 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
dbed42a720 mc_pos_control auto: ensure the order of cruise speeds during mission 2017-09-11 02:08:22 -07:00
Dennis Mannhart
3f73a56f5a mc_pos_control: accelerate faster in auto and increase speed at 90degrees angle 2017-09-11 02:08:22 -07:00
Dennis Mannhart
540c0bdafb mc_pos_control: accelerate faster 2017-09-11 02:08:22 -07:00
Dennis Mannhart
7a822c9db2 mc_pos_control: don't use slewrate in mission 2017-09-11 02:08:22 -07:00
Dennis Mannhart
267dbe9b7a mc_pos_control: when close to current and previous, ajdust target velocity 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
9cfc57e4a6 mc_pos_control: rebase fix 2017-09-11 02:08:22 -07:00
Dennis Mannhart
3e4ab5ed59 mc_pos_control: when close to current and previous, ajdust target velocity 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
Lorenz Meier
38f796f991 mc pos control: More sign checks 2017-09-11 02:08:22 -07:00
Lorenz Meier
a6108cc951 mc_pos_control: Use proper boundary checking when taking the norm of a vector
The previous method made too optimistic assumptions about the resolution of 32 bit floating point numbers.
2017-09-11 02:08:22 -07:00
Dennis Mannhart
4c4ee1af14 mc_pos_contol: sub eplsion with sigma, treat current behind independently 2017-09-11 02:08:22 -07:00
Dennis Mannhart
7734279f61 mc_pos_control: smooth transition between waypoint updates 2017-09-11 02:08:22 -07:00
Dennis Mannhart
3053b24761 mc_pos_control: auto remove min dist 2017-09-11 02:08:22 -07:00
Dennis Mannhart
8c5b1d33da mc_pos_contol: add break when printing warning 2017-09-11 02:08:22 -07:00
Dennis Mannhart
13f8936cf1 mc_pos_control: warning for invalid thrust sp 2017-09-11 02:08:22 -07:00
Lorenz Meier
e58766c394 MC pos controller: log exceptions but rate-limit them 2017-09-11 02:08:22 -07:00
Dennis Mannhart
11a4410500 mc_pos_control: revert protection against nan thrust sp 2017-09-11 02:08:22 -07:00
Dennis Mannhart
dae1093bec mc_pos_control: auto logic description and sanity check for thrust setpoint 2017-09-11 02:08:22 -07:00
Dennis Mannhart
6e5fe947fe mc_pos_control: add clarification to auto function and auto angle computation 2017-09-11 02:08:22 -07:00