Roman Bapst
816aa0ffb6
VTOL transitions: use FW attitude loop ( #11911 )
...
* VTOL trans: changed that now in transition for both MC and FW the corresponding (correct) attitude controller is running
* attitude setpoint for stabilized mode is generated by tailsitter.cpp
* reset yaw setpoint during transition to avoid big yaw errors after
transition back to hover
* VT_TYPE parameter: added "reboot required" metadata
2019-05-08 10:33:13 -04:00
Roman
f034d2da19
ekf2: fixed bug in baro ground effect triggering logic
...
- when either terrain data was temporarily not valid (flying at high
distance to the ground) or the vehicle was not close to the ground
(_param_ekf2_gnd_max_hgt) the ekf switched to using the land detector
ground effect flag.
Signed-off-by: Roman <bapstroman@gmail.com >
2019-04-30 12:34:28 +02:00
Roman
2bd8b517c5
FwPositionControl: don't do takeoff help for vtol
...
- takeoff help is used for fixed wings, it increases the altitude setpoint
after a launch. A vtol does not need this as it's already sufficiently
high up in the air.
Signed-off-by: Roman <bapstroman@gmail.com >
2019-04-30 02:45:49 -04:00
Roman
42d0522cdd
FixedWingAttitudeControl: removed check for negative airspeed and slew rate
...
on airspeed scaling
Signed-off-by: Roman <bapstroman@gmail.com >
2019-04-24 14:27:37 +02:00
Roman
463b8a7528
vtol_att_control: respect min pwm values
...
Signed-off-by: Roman <bapstroman@gmail.com >
2019-04-17 09:13:27 +02:00
Roman
d36c0e131d
added aux6 RC channel
...
Signed-off-by: Roman <bapstroman@gmail.com >
2019-04-03 08:20:47 -04:00
Roman
6c1399b328
multicopter land detector: make threshold for _has_low_thrust
...
configurable
Signed-off-by: Roman <bapstroman@gmail.com >
2019-04-03 08:49:46 +02:00
Roman
ecc8a696d0
added ground effect reporting to land detector
...
Signed-off-by: Roman <bapstroman@gmail.com >
2019-03-21 10:07:12 +01:00
Roman
e49549a433
uavcan: use px4 timestamp for the esc status message
...
- there is a timeshift between the esc and px4 time so until there is some
kind of offset estimation we are better off using px4 time since the logging
system uses that as reference
Signed-off-by: Roman <bapstroman@gmail.com >
2019-02-10 09:22:59 -05:00
Roman Bapst
bef8b6b949
mavlink hash check: return early in case of hash check parameter ( #10861 )
...
* a request for setting the '_HASH_CHECK' parameter is handled differently
than the same request for a standard parameter. Make sure we don't actually
try to set the parameter.
Signed-off-by: Roman <bapstroman@gmail.com >
2018-11-25 14:01:23 -05:00
Roman Bapst
90bfdb6f0a
VTOL rate control architecture improvements ( #10819 )
...
* attitude and rate setpoint message: use 3D array for thrust demand
* FixedWingAttitudeControl: rework airspeed scaling
* move airspeed and scaling calculation into separate method
* if vtol in hover and airspeed disabled use minimum airspeed instead of trim airspeed
2018-11-21 20:32:40 -05:00
Roman
deed462e62
tiltrotor back-transition improvements:
...
- do not set zero throttle during the entire back-transition because otherwise
we need to make the back-transition really short
- added ramping up of throttle setpoint during backtransition to avoid
step inputs
- back-transition ends after back-transition time and not when motors are fully
rotated updwards. previously the vehicle would enter hover mode at high speed
which was not handled well by the mc position controller
Signed-off-by: Roman <bapstroman@gmail.com >
2018-11-06 22:10:38 +01:00
Roman
40884a9238
FlightTaskTransition: added missing override
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-11-07 00:13:43 +08:00
Roman
50724bce86
mc_pos_control: support VTOL transitions again
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-11-07 00:13:43 +08:00
Roman
fea309b606
added a flighttask for automatic vtol transitions
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-11-07 00:13:43 +08:00
Roman
e1992a5036
ROMFS: enable weathervane by default for VTOL
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-09-19 13:30:32 -04:00
Roman
ad88ef14e1
weathervane: use a single parameter to enable
...
- in auto mode we always run weather vane
- in manual model we just use it in position control mode
Signed-off-by: Roman <bapstroman@gmail.com >
2018-09-19 08:27:07 +02:00
Roman
ee5007e886
weathervane params: added unit tag and minor comment update
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-09-19 08:27:07 +02:00
Roman
96f3feb088
weathervane: get rid of passive strategy
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-09-19 08:27:07 +02:00
Roman
0e835cb498
Weathervane: pass quaterionon as constant reference
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-09-19 08:27:07 +02:00
Roman
ccaeb58708
WeatherVane lib: address review comments
2018-09-19 08:27:07 +02:00
Roman
ce7272a39c
WeatherVane: calculate rotation matrix directly when updating
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-09-19 08:27:07 +02:00
Roman
d6b6a1d0b3
addressed comments from review
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-09-19 08:27:07 +02:00
Roman
4ad11484ca
mc_pos_control: moded weathervane parameters to weathervane lib
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-09-19 08:27:07 +02:00
Roman
8abcf2defa
mc_pos_control: use weathervane library to make vehicle turn into relative wind
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-09-19 08:27:07 +02:00
Roman
6038c22174
added a weathervane library
...
- computes a yaw-rate setpoint that tries to rotate the nose of the vehicle
into the relative wind.
Signed-off-by: Roman <bapstroman@gmail.com >
2018-09-19 08:27:07 +02:00
Roman Bapst
f361749d70
mavlink temporary workarounds for dronekit: added parameters to disable ( #10422 )
...
hash check and heartbeat forwarding
- hash check disabling: for systems where a companion link forwards messages
to QGC (e.g. via LTE) parameter streaming will be stopped as soon as QGC
sends the request to stop the stream. If the companion side for some reason
still requires the stream to be active we need to disable QGC from stopping
the stream. Normally dronekit should be responsible for filtering out the
request from QGC but apparently this is not possible.
- disable heartbeat forwarding: dronekit does seem to get confused if
heartbeats from another system other than the autopilot get forwarded to it.
Example: Sending messages from QGC via the autopilot to dronekit running on
companion computer.
Signed-off-by: Roman <bapstroman@gmail.com >
2018-09-17 13:24:20 -04:00
Roman
e17f0802cc
tecs msg: changed flight_path_angle to height rate as clearly we are
...
looking at height rates
Signed-off-by: Roman <bapstroman@gmail.com >
2018-09-17 10:27:08 -04:00
Roman Bapst
8158cdfcf4
navigator: set yaw_valid flag in reposition triplet ( #10294 )
...
- yaw_valid flag was always left at false which made the position controller reject the yaw setpoint of the reposition command
2018-09-16 19:29:38 -04:00
Roman
5847ab4607
posix main.cpp: better reporting e.g. when there are permission problems
...
- if somebody tries to use the shell with insufficient permissions he will be told so
Signed-off-by: Roman <bapstroman@gmail.com >
2018-09-14 14:43:08 +02:00
Roman Bapst
2d59ead1bf
simulator: add MAV_TYPE to module parameters ( #10476 )
...
- this ensures that the MAV_TYPE parameter is always updated
- previously it could happen that the simulator module was using a wrong
MAV_TYPE value because it only read the parameter value at initialisation
Signed-off-by: Roman <bapstroman@gmail.com >
2018-09-13 21:56:21 -04:00
Roman
844671ed6d
mavlink: moved to ModuleParams
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-08-30 11:13:24 -04:00
Roman Bapst
8b1381ead9
update ecl l1 and usage for new roll angle setpoint slew rate limit ( #10005 )
...
* added ability to slew rate limit the roll angle output of the l1 controller
* FixedWingPositionControl: this avoids the steps in roll angle setpoint which occur when the controller
switches to a new waypoint
* GroundRoverPositionControl: adapted to new l1 API
2018-08-01 14:01:41 -04:00
Roman
37f59ad4f5
mavlink: fixed nullptr dereferencing in case unknown mavlink message is
...
forwarded
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-27 18:41:51 +02:00
Roman
9d1fa8cee2
esc_calibration: adjust timeout when waiting for user to connect battery
...
to 20 seconds
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-03 07:05:38 +00:00
Roman
5d87eed41c
esc_calibration: use hrt_elapsed_time instead of manually calculating the diff
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-03 07:05:38 +00:00
Roman
73577df994
esc_calibration: use batter status connected flag instead of checking voltage
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-03 07:05:38 +00:00
Roman
beb8c3e152
esc_calibration: use predefined literals
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-03 07:05:38 +00:00
Roman
8b629454de
esc_calibration: increase safety and initialise all data
...
- do not do calibration if not very sure that battery is not connected
- initialise all structs and variables
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-03 07:05:38 +00:00
Roman
e1117d175b
ROMFS: updated deltaquad autoconfig params
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-03 08:53:30 +02:00
Roman
863cd52714
ROMFS: fixed some naming inconsistencies for the HITL VTOL model
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-02 13:09:35 +02:00
Roman
220068acb6
ROMFS: use more appropriate autostart ID for standard vtol hitl
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-02 13:09:35 +02:00
Roman
d70e90f174
ROMFS: remove unnecessary params from hitl vtol config
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-02 13:09:35 +02:00
Roman
b37ff23708
ROMFS: indicate that the hitl vtol config is for the gazebo standard vtol model
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-02 13:09:35 +02:00
Roman
1dea998be5
ROMFS: clean up quad x tailsitter mixer files
...
- use mixer for the simulation to the sitl mixer dir
- do not use virtual elevator in the mixer for the real vehicle
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-02 13:09:35 +02:00
Roman
484a939779
added MAV_TYPE to standard vtol hitl config
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-02 13:09:35 +02:00
Roman
9546daadea
ROMFS: added autostart and mixer file for standard vtol in hitl
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-02 13:09:35 +02:00
Roman Bapst
27fa29787d
updated sitl_gazebo: use asphalt plane instead of uneven ground to reduce ( #9675 )
...
computational load in optical flow simulation
Signed-off-by: Roman <bapstroman@gmail.com >
2018-06-14 14:28:28 -04:00
Roman
464db32567
removed error message in qurt stub implementation of putchar
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-05-23 10:08:28 -04:00
Roman
20b51d6256
sdflight config: weird changes to get things working
...
- just use external mag, if they run together the sensor_mag_0 topic gets
corrupted even though they publish on different instances
- added sleep at two places, they resolve weird boot problems like params
not being read correctly...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-05-23 10:08:28 -04:00
Roman
835275f1a4
df_mpu9250_wrapper: publish imu based on integrator dt, not fixed count
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-05-23 10:08:28 -04:00
Roman
f3c12bc7c7
DfBmp280Wrapper: initialise baro report
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-05-23 10:08:28 -04:00
Roman
4be4b9810e
mpu9250 wrapper: support updating gyro & accel cutoff via parameter
...
- useful for tuning snapdragon flight
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-20 11:53:31 -04:00
Roman
7fa91ad3dd
posix-configs: increase tailsitter land speed
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-18 17:23:38 -04:00
Roman
bb4b5e7c1d
posix-configs: set tailsitter SITL SYS_AUTOSTART to quad tailsitter
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-18 17:23:38 -04:00
Roman
694df08b37
posix-configs: better tailsitter front transition parameters
...
- reduce height increase during front transition
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-18 17:23:38 -04:00
Roman
e7e791fb1a
tailsitter: use forward transition throttle for climb-rate controlled mode
...
- the mc pos controller will decrease throttle during the transition
and thus the vehicle will not pick up enough airspeed to complete the
transition
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-18 17:23:38 -04:00
Roman
0f1c9504d5
FixedWingPositionControl: rotate attitude consistenly for tailsitters
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-18 16:20:15 +02:00
Roman
c206e0f1ac
vtol_type.cpp: close pwm output device file descriptor
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-12 09:19:47 +02:00
Roman
bd434636e9
vtol_type: avoid code duplication
...
- created one method which has access to the pwm output device
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-12 09:19:47 +02:00
Roman
733d773bcc
drv_pwm_output: include board config header
...
- board config can define PX4_PWM_ALTERNATE_RANGES which needs to be known
by the compiler prior to processing this file
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-12 09:19:47 +02:00
Roman
41a9ac0acb
vtol_att_control: initialise VT_FW_MOT_OFFID correcly for standard vtol
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-12 09:19:47 +02:00
Roman
df53dce6e1
vtol_type.h: initialise flag_idle_mc correctly
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-12 09:19:47 +02:00
Roman
cd49c4bc17
vtol_type: improve comments
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-12 09:19:47 +02:00
Roman
79ff1436b8
vtol_att_control: move handling of motor state and idle speed selection
...
to VtolType class
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-12 09:19:47 +02:00
Roman
744f806214
vtol_att_control: merge methods to disable a selection of motors
...
- moved methods used to modify channel maximum pwm value to VtolType
class so that the can be shared by the differnt vtol types
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-12 09:19:47 +02:00
Roman
8f9e8a6282
FixedWingAttitudeControl: use trim airspeed if airspeed is disabled
...
- prior to this fix the fw attiude controller used airspeed to scale control
surfaces even though airspeed was disabled
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-11 15:03:45 +02:00
Roman
d6a86dfa56
tailsitter: do not condition transition on airspeed if airspeed disabled
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-04-05 08:48:36 +02:00
Roman
2257cfc0fa
vtol_att_control: set flag in_transition_to_fw properly
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-30 00:46:23 -04:00
Roman
cc26c34691
airspeed driver: un-advertise differential pressure topic
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-23 09:57:28 -04:00
Roman
e504dc86b7
fw & vtol startup scripts: don't start wind estimator for now
...
- need to make some flash space for fmuv2 to avoid user confusion about
why it wind estimator only runs on some platforms
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-21 18:46:58 +01:00
Roman
d9fbf85c20
ekf2: remove early advertising of wind estimate topic
...
- if it's not estimating wind it won't publish it below (was fixed)
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-21 18:46:58 +01:00
Roman
372a519ac4
wind estimator: added airspeed and sideslip gate sizes for innovation tests
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-21 18:46:58 +01:00
Roman
32a848d312
updated ecl for airdata module
2018-03-21 18:46:58 +01:00
Roman
8400d42988
wind estimator: fixed minor comments
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-21 18:46:58 +01:00
Roman
86b525ad2c
wind_estimator: use ModuleParams class to handle parameters
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-21 18:46:58 +01:00
Roman
1fd1a426bb
cmake configs: don't build wind estimator for fmu-v2 due to lack of flash space
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-21 18:46:58 +01:00
Roman
d2ebb0c7a2
ekf2: advertise wind topic early to make sure ekf2 get the first instance
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-21 18:46:58 +01:00
Roman
5b067df01e
wind_estimator: cleanup
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-21 18:46:58 +01:00
Roman
33c1bcb983
wind_estimator: set missing task_id
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-21 18:46:58 +01:00
Roman
53e22661d4
wind_estimator: unsubscribe from topics and unadvertise wind topic
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-21 18:46:58 +01:00
Roman
df3a3daa0f
start wind estimator for relevant platforms
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-21 18:46:58 +01:00
Roman
9dc7d1dd74
cmake configs: added wind estimator to relevant configs
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-21 18:46:58 +01:00
Roman
7c0f043116
added module which implements wind & airspeed scale factor estimator via
...
work queue
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-21 18:46:58 +01:00
Roman
9e1089a4fc
wind estimate msg: added more relevant data
...
- true airspeed innovation and variance
- sideslip angle innovation and variance
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-21 18:46:58 +01:00
Roman
cb30d66cef
convergence config: increase multirotor idle speed
...
- increase the minimum pwm value for multirotor mode since we experienced
the rear motor stalling in certain situations when throttle was low
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-20 21:00:34 -04:00
Roman
64b97cb18e
fw_att_control: in acro use thrust from rate setpoint topic
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-09 13:48:14 +01:00
Roman
ac2b3ccadc
vtol_att_control: default front transition throttle to 100%
...
- the main idea is to prevent airspeed less systems to stall after a
transition
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-07 14:01:51 +01:00
Roman
e4ea7262fd
tailsitter.cpp: small cosmetic fix
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-07 14:01:51 +01:00
Roman
03338935e0
vtol_att_control: make sure blending airspeed is smaller than transition airspeed
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-07 14:01:51 +01:00
Roman
e0ca38e794
standard vtol: fix mc weight calculation
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-07 14:01:51 +01:00
Roman
23257bf6ee
standard vtol: simplify blending weight calculation
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-07 14:01:51 +01:00
Roman
b66bc712af
tailsitter: avoid doing same calculation twice
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-07 14:01:51 +01:00
Roman
1d8f588d37
vtol_att_control: switch from division to multiplication for variable
...
calculation
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-07 14:01:51 +01:00
Roman
9e16543dbe
tiltrotor: represent time since transition in seconds
...
- more intuitive
- avoids tons of divisions
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-07 14:01:51 +01:00
Roman
ae2e6c7a18
tailsitter: represent time since transition in seconds
...
- more intuitive
- avoids tons of divisions
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-07 14:01:51 +01:00
Roman
bf22f02567
tailsitter: removed usage of hrt_elapsed and small cleanup
...
- do not call hrt_elapsed_time since it's expensive
- remove P2 front transition phase (was not even used)
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-07 14:01:51 +01:00
Roman
196d0e40b4
standard vtol: use time in second since transition start instead of using
...
microseconds
- seconds is more intuitive
- avoids tons of divisions by 1e6f
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-07 14:01:51 +01:00
Roman
5a2a5127fa
tailsitter: removed common vtol parameters
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-07 14:01:51 +01:00
Roman
2c0436c37c
sitl tiltrotor config: front transition throttle parameter name change
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-03-07 14:01:51 +01:00