16342 Commits

Author SHA1 Message Date
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
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
Karl Schwabe
d952fe028e MPU6000: unadvertises the accel and gyro uORB topics in destructor 2018-03-21 13:07:01 -04:00
sanderux
d87b7ac7f4 Fix scale application on FW throttle baro compensation 2018-03-20 00:13:36 +01:00
Daniel Agar
b6b7fddb9f
TECS and L1 switch to matrix math library (#9101) 2018-03-19 18:09:54 -04:00
Daniel Agar
e63f9d9bf6
mathlib Limits move radians/degrees to header (#9102) 2018-03-19 12:45:42 -04:00
Alessandro Simovic
cd250831d5 commander: removed duplicated startup tune
Addressing review comments in PR #9096
2018-03-19 14:15:52 +01:00
Martina
be275b880b tunes: add fallthrough macro 2018-03-19 14:15:52 +01:00
Simone Guscetti
ee0ae079ff tests: test_hrt modernize NULL with nullptr 2018-03-19 14:15:52 +01:00
Simone Guscetti
879c698cab libtunes: Change TuneID::ERROR in ERROR_TUNE
This prevents the expanction of the ERROR macro inside the TuneID enum
2018-03-19 14:15:52 +01:00
Simone Guscetti
e140c37fe3 systemcmds: tests update to cpp file for test_hrc 2018-03-19 14:15:52 +01:00
Simone Guscetti
ce952d8f64 drv_tone_alarm: Add tune definition 2018-03-19 14:15:52 +01:00
Simone Guscetti
4c6daf0748 libtunes: Update tunes and mkblctrl to use the tune_definition 2018-03-19 14:15:52 +01:00
Simone Guscetti
26b721ac8b libtunes: Add new tune_definition file 2018-03-19 14:15:52 +01:00
Simone Guscetti
20905ce478 stm32: board_reset, keep legacy definition for old chips 2018-03-19 09:46:58 +01:00
Simone Guscetti
217a67f956 px4_micro_hal: Add up_internal for stm32f7 builds
This is included in other stm32 architectures in the stm32.h file.
2018-03-19 09:46:58 +01:00
Simone Guscetti
2b81331f8a stm32: board_reset, change backup register
Change to be coherent with the change on NuttX upstream, in the future
STM32_BKP_BASE will be removed. This is using the definition over stm32_rtc.h interface.
2018-03-19 09:46:58 +01:00
Beat Küng
76aa044105 navigator mission: add yaw offset to vehicle's yaw for ROI cmds and disabled gimbal yaw 2018-03-19 09:42:41 +01:00
Beat Küng
a0372c6183 vmount: implement VEHICLE_CMD_DO_SET_ROI_WPNEXT_OFFSET 2018-03-19 09:42:41 +01:00
Beat Küng
cc777a80ff vehicle_roi.msg: remove unsupported fields 2018-03-19 09:42:41 +01:00
Beat Küng
aaa67632ca navigator: remove redundant switch block for ROI handling 2018-03-19 09:42:41 +01:00
Shivam Chauhan
062e44061d bmp280 changed variable name to resolve shadow declaration issue. (#9100) 2018-03-18 11:29:27 -04:00
Thomas Stastny
52e5e0df14 fw_att_control: schedule trims for airspeed and flap deployment (#8937) 2018-03-16 16:55:44 -04:00
ksschwabe
6d445cf5a6 Adds ability for generate_listener.py to process out-of-tree uORB message definitions as well (#9097) 2018-03-16 12:44:25 -04:00
barzanisar
34dd68bee1 Update syslink_main.cpp 2018-03-16 14:56:40 +01:00
barzanisar
a6e35ab7f7 Beat's changes to make QGC connect with crazyflie 2018-03-16 14:56:40 +01:00
AlexKlimaj
08a53a9056 batt_smbus add complementary filter and small fixes (#9080)
* Batt_smbus. Added complementary filter to remaining capacity, reversed warning state checks, and added remaining/discharged out of range checks to handle bad battery calibrations

* Changed errx to PX4_ERR

* Added PX4_ERR returns
2018-03-15 14:46:27 -04:00
Matthias Grob
ed0b6db2de mc_att_control: clarify comment about yaw feed forward 2018-03-15 17:57:46 +01:00
Matthias Grob
ff25c7f48a ensure attitude setpoint initialization before arming
- On initialization _v_att_sp got filled with zeros
  leaving invalid quaternions
- While not armed mc_pos_control did not publish any
  attitude setpoint which makes no sense
- The attitude control just uses the data in _v_att_sp
  if it was (ever) updated or not
2018-03-15 17:16:14 +01:00
Matthias Grob
e32b04fff1 mc_att_control: catch numerical out of domain case
While operating on exactly normalized float quaternions
it can aparently still happen that one of the elements
gets just slightly above 1 or below -1 and hence out of
the domain of the acosf and asinf functions resulting in
NaN. The constrain function uses stricly smaller/bigger
comparisons and catches all tested cases.
2018-03-15 17:16:14 +01:00
Matthias Grob
42f4e62a04 mc_att_control: clarify corner case comment 2018-03-15 17:16:14 +01:00
Matthias Grob
9f69447e22 mc_att_control: replace nasty corner case condition
I found a better solution for the condition of the numerical
corner case and also tried to comment it more clearly.
2018-03-15 17:16:14 +01:00
Matthias Grob
d2ead02fb5 mc_att_control: catch numerical corner cases
- Delete left over identity matrix.

- Corner case with a zero element when using the signum function:
We always need a sign also for zero.

- Corner case with arbitrary yaw but and 180 degree roll or pitch:
Reduced attitude control calculation always rotates around roll
because there's no right choice when neglecting yaw. In that small
corner case it's better to just use full attitude contol and hence
rotate around the most efficient roll/pitch combination.
2018-03-15 17:16:14 +01:00
Matthias Grob
dc28c47544 mc_att_control: correct head comment 2018-03-15 17:16:14 +01:00
Matthias Grob
c4fb2b26fd mc_att_control: prepare yaw weight from gain ratio
According to the paper the quaternion controller is built on
the yaw weight represents the ratio between the roll/pitch and
the yaw attitude control time constant. It also states that as a
thumb rule a value of ~0.4 works alright for most multicopter
platforms. The default attitude gains of PX4 which were determined
independent of the paper from experimental results have a ratio of
2.8/6.5 = 0.43 which matches.
2018-03-15 17:16:14 +01:00
Matthias Grob
6317d36ec9 mc_att_control: remove time constant parameter
Because the parameter does not make sense from a control theory
perspective. Either you have a gain with the unit 1/s or an inverse
gain or time constant with the unit s. But the time constant parameter
was neither bound to any exact unit nor did it apply instead of a gain.
Rather it adjusted multiple gains from rate and attitude control
according to an arbitrary scale. This can only by accident lead to
good tuning.
2018-03-15 17:16:14 +01:00
Matthias Grob
ba5f2254cd mc_att_control: add reduced quaternion attitude control
to prioritize yaw compared to roll and pitch by combining
the shortest rotation to achieve a total thrust vector with
the full attitude respecting the desired yaw
not by scaling down the control output with the gains
2018-03-15 17:16:14 +01:00
Matthias Grob
9ff9692270 mc_att_control: switch to quaternion attitude control (no yaw reduction yet) 2018-03-15 17:16:14 +01:00
Daniel Agar
1abf90c6d4 EKF2 only publish wind_estimate if wind velocity is being estimated
- refactor body wind velocity calculation
2018-03-15 07:18:58 +01:00
Daniel Agar
7607c71ca8 fw_pos_control_l1 project virtual waypoint to handle landing overshoot 2018-03-14 16:39:19 -04:00
Daniel Agar
d1dca4e74c fw_pos_ctrl_l1 move takeoff to control_takeoff() 2018-03-14 16:39:19 -04:00
Daniel Agar
c72340e039 fw_pos_ctrl_l1 move landing to control_landing() 2018-03-14 16:39:19 -04:00
Daniel Agar
f194c5424c move hmc5883 i2c address into driver 2018-03-14 14:38:40 -04:00
Daniel Agar
bb7466c596 move rgbled i2c address into driver 2018-03-14 14:38:40 -04:00
Daniel Agar
de85acb8b0 px4fmu-v2 version detection and init cleanup
- if an invalid version is detected reinit, then reset
2018-03-14 08:02:19 +01:00
Beat Küng
2bcc5cf3e5 imu filter defaults: set IMU_GYRO_CUTOFF to 80 and MC_DTERM_CUTOFF to 30
tested on at least 5 different vehicles, including AeroFC. The values
should be conservative, good setups (with low vibrations) can increase
these values even further.

increasing IMU_GYRO_CUTOFF allows for better tuning gains (increased P).
2018-03-13 20:54:49 +01:00
Beat Küng
a99e49a856 landing_target_estimator: fix param type: int -> int32_t 2018-03-13 17:35:15 +01:00
Beat Küng
7ee464c264 LPE: refactor to use ModuleParams 2018-03-13 17:35:15 +01:00