Daniel Agar
4416c4ddb3
navigator move parameters out of MissionBlock
...
- MissionBlock is an interface with > 10 implementations
2017-10-26 22:43:53 +02:00
ChristophTobler
8e457b6037
reset setpoint to current position
...
avoid abrupt position changes as the delta can be quite big depending on deadreckoning/imu
2017-10-26 21:36:36 +02:00
DonLakeFlyer
8693c51cba
Fix bad meta data
2017-10-21 20:17:41 +02:00
Dennis Mannhart
8a0a8e20e1
mc_pos_control: use correct altitude as limit
...
fadfdasf
2017-10-10 10:28:07 +02:00
Dennis Mannhart
f9b8afc006
Navigator: Use maximum flight altitude to limit missions
...
This change limits all mission items to the maximum flight altitude. The mission will still be executed and flown,
but the vehicle will never exceed the mission altitude. This ensures the vehicle can always reach the mission
items. Wether or not the entire mission should be rejected if it falls outside of the fenced area is enforced
in the mission feasibility checker function.
2017-10-10 10:28:07 +02:00
Dennis Mannhart
44a71d90f5
mc_pos_control: takeoff threshold to 0.65
2017-10-09 19:05:15 +02:00
Julian Oes
7229ec2a37
Move throttle check from land detector to posctrl
...
This commit is an attempt to fix a race condition happening on takeoff
between the land detector and the multicopter position controller.
Previously, an auto-takeoff leads to the following events:
1. A takeoff setpoint is given.
2. The thrust setpoint spikes because we don't enter smooth takeoff yet.
3. The land detector detects a takeoff because of the high thrust.
4. The position controller sees the landed state transition and
initiates the smooth takeoff. Thrust goes back down.
5. Depending on control gains the takeoff is successful or fails
if the smoothing takes too long which causes thrust to be too low, so
the land detector detects land again.
The two obvious problems with this are:
- The intermittent spike.
- The failed takeoff because of the smoothing leads to a delay..
With this change, the logic for a takeoff detection is moved from the
land detector to the position controller.
The events are now:
1. A takeoff setpoint is given.
2. The position controller detects the takeoff setpoint and initiates
the smooth takeoff.
3. As thrust ramps up, the land detector detects the take off.
In the same way, we now detect the intent to takeoff in manual,
altitude, control, position control in the position controller instead
of in the land detector.
2017-10-09 19:05:15 +02:00
Dennis Mannhart
0d7d6e59f5
mc_pos_control: description fix
2017-10-09 10:20:29 +02:00
Matthias Grob
2b7dcd3f34
mc_pos_control: multiple small fixes in position controller we acumulated over time during our PX4 deployment and want to contribute back
2017-10-09 10:20:29 +02:00
Matthias Grob
c177d6491a
mc_pos_control: simplify unnecessary complicated boolean conditions
2017-10-09 10:20:29 +02:00
Beat Küng
29e85edac8
Revert "param MPC_MAN_TILT_MAX: decrease maximum from 90 to 85 degrees"
...
This reverts commit d6df692b7a .
The changes to attitude controller improve this a lot.
2017-10-01 15:36:21 +02:00
Paul Riseborough
f0e8abe783
mc_pos_control: Use arming state to prevent unsafe reference point changes
2017-09-24 03:46:42 -07:00
Paul Riseborough
ef0e47ee63
mc_pos_control: Fix bug causing flyaway when GPS gained after takeoff
...
The change in origin when GPS was gained after takeoff was being used to shift the set point despite the previous origin being invalid.
2017-09-24 03:46:42 -07:00
eric
557559cd85
set _triplet_lat_lon_finite true to avoid landing to not the current location, see #7990
2017-09-22 15:20:13 +02:00
Daniel Agar
b4755297ec
delete control_state and cleanup vehicle_attitude ( #7882 )
2017-09-21 16:24:53 -04:00
Beat Küng
b00c93ac21
mc_pos_control_main: add clarification that we're in world frame
2017-09-19 11:44:29 +02:00
Beat Küng
05e3c58e18
mc_pos_control_main: simplify manual control handling
2017-09-19 11:44:29 +02:00
Beat Küng
d6df692b7a
param MPC_MAN_TILT_MAX: decrease maximum from 90 to 85 degrees
...
At 90 degrees the yaw is extremely unstable (tested with HIL), it
overshoots and only very slowly converges to the correct value.
This behavior is also noticable with lower angles, but not so extreme.
It definitely needs to be looked into further, but for now this makes it
safer.
2017-09-19 11:44:29 +02:00
Beat Küng
55bd35cba6
mc_pos_control_main: improve the manual input setpoints
2017-09-19 11:44:29 +02:00
Beat Küng
fc51c42280
mc_pos_control_main: fix types for parameter values
2017-09-19 11:44:29 +02:00
Dennis Mannhart
82f25453a7
mc_pos_control: smooth position control from stick input
2017-09-18 13:30:16 +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
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
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
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