25355 Commits

Author SHA1 Message Date
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
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) v1.7.4beta 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
79dacdda2c tune_control: update comment 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
50d35f63be tune_control: Remove the tune defines 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
09dba29b6c fix vehicle_roi.msg: re-add ROI_WPINDEX
The indexes are directly mapped from MAVLink, thus the actual value is
important.
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
barzanisar
691a5c6532 Beat's changes in syslink work so reverting this
No need for this since beat's changes in syslink_main.cpp work for connecting crazyflie to QGC. 
Will open a separate PR for it.
2018-03-16 14:13:21 +01:00
barzanisar
0f79222ff9 This makes QGC connect with crazyflie
Discussed in https://github.com/PX4/Firmware/issues/8924
2018-03-16 09:31:58 +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
Kabir Mohammed
7776789b7d rc.sensors : fix startup for lidars on Pixhawk boards (#9058) 2018-03-15 13:26:35 -04:00
Amir Melzer
f68f897820 update submodule to include changes in the ASLUAV BMS message (#9083) 2018-03-15 13:13:07 -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
Karl Schwabe
2a5a7b3a1e Adds ability to have out-of-tree uORB message definitions
If the EXTERNAL_MODULES_LOCATION variable has been set, and the
EXTERNAL_MODULES_LOCATION/msg/ directory exists containing a
CMakeLists.txt file with the following format:
    set(config_msg_list_external
      message1.msg
      message2.msg
      message3.msg
      ...
      PARENT_SCOPE
      )
then the messages defined in config_msg_list_external are added to the
msg_files list in Firmware/msg/CMakeLists.txt and are used to generate uORB
message headers. The generate uORB message headers are generated in the same
location as the normal uORB message headers in the build directory, namely,
<build_dir>/uORB/topics. The uORB topic sources are generated in
<build_dir>/msg/topics_sources.
2018-03-14 10:01:43 +01:00