RomanBapst
269ce07cb5
land detector: log more states in order to facilitate debugging ground contact state
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-05-04 16:43:33 +02:00
RomanBapst
cd4378b8c6
vtol: init boolean consistently
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-05-03 18:58:26 -04:00
RomanBapst
171c26373b
land_detector: robustify land detection by using distance to ground info
...
- if distance to the ground is available then hysteresis times will be increased
by a factor of 3 if vehicle is higher than 1m above ground
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-04-27 08:19:19 +02:00
RomanBapst
f6a34e1e80
vtol_type: reset accel to pitch integrator
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-04-27 07:43:38 +03:00
RomanBapst
b66ae5f2d4
tecs: use raw inertial acceleration for true airspeed complementary filter
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-03-31 20:12:40 -04:00
RomanBapst
5b08362ba3
position_controller_status message: added comments regarding NAN
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-03-31 11:23:33 +02:00
RomanBapst
82a2126f97
TECS: add feedforward gain for total energy balance rate
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-03-15 11:47:07 -04:00
RomanBapst
b1e442b830
vehicle_local_position: added bitfield for terrain estimate sensor info
...
- indicate how the distance to the bottom is estimated as this is important
to know in the context
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-17 12:06:59 +01:00
RomanBapst
96dfa7fc71
ROMFS: set cruise throttle correctly for all gazebo vtol configs
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-14 09:58:37 +03:00
RomanBapst
47364ce8d6
updated tuning for gazebo plane airframe config
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
RomanBapst
f05599caff
tecs: use speed derivative provided by local position
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
RomanBapst
e546584555
tecs: moved trivial getter methods to header file
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
Roman Bapst and Mathieu Bresciani
701c105ab6
Update src/lib/tecs/TECS.cpp
...
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com >
2021-01-13 21:21:07 +03:00
RomanBapst
fa559aef43
TECS: stop learing integrator if airspeed is not available, but don't zero it
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
RomanBapst
d4d1c0fe01
TECS: some cosmetics
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
RomanBapst
97cc1e25dd
TECS: hande pitch and throttle integrator saturation consistently
...
- don't decay integrator during saturation but prevent it from being learned
into the direction which causes more actuator saturation
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
RomanBapst
77627a08ca
TECS: don't allow speed height weights to be larger than one
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
RomanBapst
987c320825
TECS: removed unused parameter
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
RomanBapst
5c4c2c240c
tecs: dot not clip throttle integrator during saturation but only allow
...
it to propagate into a direction which does not saturate
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
RomanBapst
01f891618b
TECS: move to new control loop architecture
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
RomanBapst
447e14906c
TECS: log more TECS states to enable better analysis
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
RomanBapst
8823f5e1ec
TECS: added method to get SKE weighting
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
RomanBapst
d0e8b882a2
TECS: added alpha filter classes to energy rate and tas derivative
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
RomanBapst
f97dcde4e2
GeofenceBreachAvoidanceTest: added tests for max dist to home
...
Signed-off-by: Julian Kent <julian@auterion.com >
2021-01-13 10:26:10 +01:00
RomanBapst
3fa15cec91
GeofenceBreachAvoidance: improve behavior when using max dist to home option
...
- ensure that the vehicle is loitering with sufficient clearance to the boundary
Signed-off-by: Julian Kent <julian@auterion.com >
2021-01-13 10:26:10 +01:00
RomanBapst
0ac597fba8
Use new GeofenceBreachAvoidance from Navigator
...
Signed-off-by: Julian Kent <julian@auterion.com >
2021-01-13 10:26:10 +01:00
RomanBapst
e536868104
Add GeofenceBreachAvoidance class
...
Signed-off-by: Julian Kent <julian@auterion.com >
2021-01-13 10:26:10 +01:00
RomanBapst
0871f0f52d
vtol: refactor of maximum pwm value settings for main and alternate motors
...
- main motors are the ones which are meant to be used as propulsion in fw mode
- alternate motors are the ones usually meant to be switched off in fw mode
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 15:32:00 +01:00
RomanBapst
68f27ba7b7
navigator: deactivate line following after backt-ransition and before landing
...
- especially when there are strong winds it's better to just go straight
to the landing point instead of trying to follow the planned path
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
b63f756745
navigator: don't execute land pattern if vtol in rotary wing mode
...
- if vtol and in rotary wing mode then don't execute the mission landing
because it's designed to be flow as a fixed wing
- if vtol and in rotary wing mode and mission land is available then fly directly
to landing point and don't go home!
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
6c3f413379
mission: reset work_item_type during mission inactivation
...
- this fixes a race condition which happens when an RTL is triggered
during the final approach of a mission landing. In that case the mission inactive
method is never called.
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
b63f202b3c
various fixed for bugs encountered during testing
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
cfb3cdc82f
rtl: use math namespace
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
94d3ab28ee
rtl: fixed computation of return altitude when mission landing is available
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
12875f7869
mission: when land start marker present, look for loiter to altitude item
...
instead of using the previous waypoint as landing target
- the previous waypoint could be miles away
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
e0c394a00b
mission: fixed bug in computation of landing altitude
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
a4a03e86da
mission: be more intelligent about saying that we are on a mission landing
...
- previously the decision of being on a landing pattern was taken by just
looking at the current mission index. However, even if the current mission
index indicates a landing pattern the vehicle could be at an arbitrary location, far
from being established on the pattern.
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
29c3ce6d5d
reworked RTL cone implementation
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
dad5ce1e41
rtl: set proper acceptance radius for move_to_land item
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
6ff95ae645
RTL: implement proper RTL sequence for VTOL
...
- descend to RTL descend altitude
- transition
- move to land waypoint
- loiter and then land
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
197a21a22e
rtl: for fixed wing (also vtol) make the descend state of RTL use type
...
NAV_CMD_LOITER_TO_ALT
- this allows vtol to track the loiter circle during the transition instead
of trying to fly to the landing position
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
bb2826ad27
rtl: for vtol first desend down to RTL descend altitude before doing a transition
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
e81d5daa66
rtl: if very close to home then do not descend if higher than RTL_DESCEND_ALT
...
before reaching home
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
d502292d07
mission: for vtol takeoff don't use next waypoint as target during transition
...
- this caused the navigator to use the next waypoint (after the vtol takeoff item)
to be used as target during the transition. If the altitude of that waypoint
was much higher than the takeoff altitude then there were FOH effects
after the transition which caused the vehicle to first descend before
climbing again.
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-02 02:18:59 +01:00
RomanBapst
fe2e299046
FlightModeManager: small rebase change
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-12-30 10:25:08 -05:00
RomanBapst
fd18ba6496
tiltrotor: allow to finish transition if groundspeed is below cruise speed
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-12-11 09:40:47 +03:00
Roman Bapst
842d98d572
AirspeedValidator: fuse true airspeed before sideslip ( #742 )
...
- the states can be initialised more accurately using an airspeed measurement
and the wind estimator uses the first measurement to initialise
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-12-11 09:37:09 +03:00
RomanBapst
355e3ea986
vtol_type: use correct pwm device path in init function
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-08-12 08:55:23 +02:00
RomanBapst
01535a726a
vtol_type: reset quadchute filter states if TECS is not running
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-08-12 08:55:23 +02:00
RomanBapst
f792cc7b6b
publish battery_dangerous message if battery level is dangerous
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-07-10 09:37:23 -04:00
RomanBapst
120f188ada
rtl: do not use cone logic for vehicle flying as fixed wing
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-06-25 09:17:23 -04:00
RomanBapst
af5c48b869
navigator: always make sure that we set target lat/lon for fixed wing
...
takeoff
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-06-05 21:52:12 -04:00
RomanBapst
bd154bf33c
FixedWingAttitudeControl: removed parachute from gimbal control group
...
- parachute is handled separately based on flight termination in px4io
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-05-25 11:44:35 -04:00
RomanBapst
2b276a3ad8
FixedWingPositionControl: set waypoint straight ahead for front transition
...
- this fixes the case where the navigator publishes a loiter waypoint or any
waypoint which is too close to the vehicle.
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-04-26 22:59:07 -04:00
RomanBapst
0779a0502c
takeoff: only set _can_loiter_at_sp if takeoff position has been set
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-04-26 22:59:07 -04:00
RomanBapst
338dd45022
vtol: do not control deceleration during backtransition manual, acro or stabilized
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-04-14 11:25:09 +02:00
RomanBapst
0d8d4cd6e0
SITL configs: improve L1 tracking and increase backtransition duration
...
-decrease L1 period for tighter mission tracking in fw mode
- increase backtransition duration, we can now do this is we have active
deceleration control
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-04-02 23:54:48 -04:00
RomanBapst
2522435f9c
vtol_att_control: got rid of VT_B_DEC_SP
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-04-02 13:45:52 +03:00
Roman Bapst and Mathieu Bresciani
47f0e91076
Apply suggestions from code review
...
Co-Authored-By: Mathieu Bresciani <brescianimathieu@gmail.com >
2020-04-02 13:45:52 +03:00
RomanBapst
005bc97959
tiltrotor: enable l1 and deceleration control during transition
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-04-02 13:45:52 +03:00
RomanBapst
a916cc2a26
better comments
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-04-02 13:45:52 +03:00
RomanBapst
0184d8196f
vtol_type: calculate backtransition acceleration in forward direction
...
- use track angle to calculate the current forward acceleration
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-04-02 13:45:52 +03:00
RomanBapst
47b5d51369
vtol_type: added explicit control over deceleration during backtransition
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-04-02 13:45:52 +03:00
RomanBapst
baf5e86f81
transition flighttask: don't control yaw and altitude during trans
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
# Conflicts:
# src/lib/flight_tasks/tasks/Transition/FlightTaskTransition.cpp
2020-04-02 13:45:52 +03:00
RomanBapst
b6a80253d7
run l1 during transition
2020-04-02 13:45:52 +03:00
RomanBapst
4ddf0f9dc1
ekf2_main.cpp: fixed bug in the calculation of the mag bias calibration time
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-03-10 08:54:04 +01:00
RomanBapst
3ef6eba34c
prearmCheck: vtol cleanup
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-01-28 10:14:32 -05:00
RomanBapst
27e9b1e3d4
updated ecl
2020-01-24 16:49:17 +03:00
RomanBapst
0e90448e52
navigator: add position setpoint reset helper with safe defaults
...
- use in reset_triplets()
2020-01-22 18:03:25 -05:00
Roman Bapst
fa83f3799a
navigator: set acceptance radius even for IDLE position setpoint
2020-01-21 11:14:43 -05:00
RomanBapst
3e90cbe686
mission: explicitly set backtransition mission item altitude
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-01-17 12:59:36 -05:00
RomanBapst
4d4481a384
gazebo_sitl_multiple_run.sh: fixed comment
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-01-10 16:51:33 +01:00
RomanBapst
eeb47f6148
gazebo multiple sim script: cleanup
...
- make sure to kill all px4 instances and gazebo client when exiting
- add arguments to specify number of vehicles and vehicle model
- exit for now if vehicle model is not iris, since needs changes in
sitl_gazebo submodule
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-12-26 12:03:32 +01:00
RomanBapst
4c35b3aadc
navigator: do not use fixed wing acceptance readius if in rotary wing mode
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-12-24 12:52:10 -05:00
RomanBapst
634e8d206a
tiltrotor SITL config: increase transition time from 1.5 to 5 seconds
...
- avoids tilting the motors forward too fast
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-12-03 13:57:58 +03:00
RomanBapst
133a6e38cc
commander: make battery warning state sticky while armed
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-11-29 10:23:08 +03:00
RomanBapst
e360dd34f9
battery: make battery states not sticky
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-11-29 10:23:08 +03:00
RomanBapst
216556e7f6
commander_params: mention definition of battery states in the description
...
of the battery failsafe mode parameter
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-10-28 16:18:42 -04:00
RomanBapst
06a902f598
rcS: do not wipe next flight UUID parameter when resetting parameters
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-10-23 16:54:17 +01:00
RomanBapst
4cc7bb7296
addressed review comments
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-10-21 09:08:27 +03:00
RomanBapst
b1a9d4b4c7
updated rtl parameter descriptions.
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-10-21 09:08:27 +03:00
RomanBapst
6bfb50df8a
run arm authorization as last pre-arm check, as it used to be implemented
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-10-15 15:44:24 +01:00
RomanBapst
cfba41d2f4
posix configs: set trigger interface to mavlink as it's the only one
...
supported on posix
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-08-06 08:08:56 +02:00
RomanBapst
cd85f584cf
camera trigger: do not try to start if interface was not created
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-08-06 08:08:56 +02:00
RomanBapst
43d006aff2
mavlink command sender: give channels more time to request command
...
- if a channel receives an ack for a command, do not immediately remove the
command item from the send queue but wait until the next ack timeout occurs.
This gives other mavlink channels time to try to put identical commands into
the send queue.
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-08-05 12:07:05 +02:00
RomanBapst
71791fa8f8
mavlink_command_sender: don't try to resend command to instance which
...
did not request this command
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-08-05 12:07:05 +02:00
RomanBapst
807cfc8aac
mavlink: fix race condition in mavlink_command_sender
...
- if we receive an ack for a command through a specific mavlink channel
then do not drop the corresponding command in the queue if this specific
mavlink channel did not issue the command. If we don't do this we can
end up in a situation where we associate an ack coming through a specific
mavlink channel to a command in the queue which was not requested by this mavlink channel.
Moreover, the actual command for which the ack was meant remains in the
queue and eventually triggers a timeout.
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-08-05 12:07:05 +02:00
RomanBapst
b75d2ce982
set trajectory generating flight task as default (MPC_POS_MODE = 3)
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-07-29 10:37:26 -04:00
RomanBapst
a8071589bc
increase default fixed wing rate controller I term
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-07-29 10:37:26 -04:00
RomanBapst
77fd290b0c
added default expo for yaw and x/y/z velocity demand in position mode
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-07-29 10:37:26 -04:00
RomanBapst
81ae85015f
changed defaults of MPC acceleration limit parameters
...
- vehicle will fly less aggressive
- it does not make sense to set the lower acceleration limit to something
that exceeds gravity if most of the vehicles do not support reverse thrust
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-07-29 10:37:26 -04:00
RomanBapst
a5d3e10c67
MPC_MAN_Y_MAX: changed default from 200 to 150 deg/s
...
- we have set the maximum yaw-rate MC_YAWRATE_MAX to 200 degrees and it
makes senses to leave a bit of margin between what the user can demand
and what the limits of the vehicle are
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-07-29 10:37:26 -04:00
RomanBapst
f0cdd9be60
MPC_Z_VEL_I: changed default from 0.02 to 0.1
...
- generally better attitude tracking
- much better altitude control immediately after takeoff (hover throttle offset)
- faster landing detection
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-07-29 10:37:26 -04:00
RomanBapst
c0053409a3
ak09916: fixed driver not reporting magnetometer as external
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-07-25 13:17:08 +02:00
RomanBapst
2fbb70d9ca
mc_att_control: output zero throttle in manual mode when landed
...
- MPC_MANTHR_MIN is used as minimum throttle in attitude control mode when
the vehicle is in air. This is useful to retain some control around roll and
pitch axis if airmode is not enabled and the user demands zero throttle.
However, when the vehicle is landed there is not need to keep the throttle
at a higher value than zero.
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-07-23 17:12:45 +02:00
Roman Bapst
b54a43fccc
UAVCAN driver: support throttle linearization (THR_MLD_FAC parameter)
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-07-09 15:10:54 -04:00
RomanBapst
7c8fa82e76
rtl cone angle: expose a few values to the user
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-07-05 18:05:09 +02:00
RomanBapst
81ee40eac8
rtl: implemented RTL based on cone shape
...
- user defines a cone half angle which defines the RTL altitude behavior
- if vehicle is outside the cone it will climb until it intersects the cone
and then return at this altitude.
- if vehicle is inside the cone or above the predefined return altitude (RTL_RETURN_ALT)
then it will return at the current altitude
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-07-05 18:05:09 +02:00
RomanBapst
0b2af5c519
FixedWingAttitudeControl: don't lock integrator during transition
...
- airframes that are not well trimmed rely on the integrator to learn
the offset. This change can help improve altitude hold during transitions
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-06-28 09:54:40 -04:00
RomanBapst
7bba5a7287
vtol_configs: replaced VT_MOT_COUNT with VT_MOT_ID
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-06-27 20:14:10 +02:00