Commit Graph

13526 Commits

Author SHA1 Message Date
Beat Küng 98893c9f4f mc_att_control params: increase max roll/pitch/yaw rates to 1800
If you want to go to the limit of what the vehicle can do, you need to be
able to set it so large that it is guaranteed that it's never limited by
software.

Tests showed that it's not a problem to increase it to very high numbers.
2017-10-01 15:36:21 +02:00
Beat Küng f5d9155ab2 mc_att_control params: reduce default max acro rates from 360 to 120 deg/s
360 is too fast if you just want to hover. Next step is to add expo(),
so that we still have fine-grained control at the center and high rates
at the edges.
2017-10-01 15:36:21 +02:00
Beat Küng 55da07d3c4 mc_att_control: fix computation of yaw weight for attitude control
Previously, the yaw weight was based on the tilt angle of the attitude
setpoint (R_sp(2, 2) == cos(tilt angle)). This makes no sense, it means
the weight is low for high tilt angles even if there is no roll-pitch error
at all.

This patch changes the weight computation to be based on the tilt angle
error: the yaw weight is 1 if there is no roll-pitch error (independent
from current tilt angle), and is reduced for higher tilt angle errors.

The weight was added in 05e9a30573, without any explanation or
derivation of how and why the weight is chosen that way.

However this patch works much better in practice. The yaw control is
improved, though it can be a bit slow to converge if you do continuous &
fast roll-pitch motions (which is expected).
2017-10-01 15:36:21 +02:00
Beat Küng 2f1ca409b7 mc_att_control: add more comments to the code, better explaining what it does
No semantic changes.
2017-10-01 15:36:21 +02:00
Beat Küng 69b1bfca6c mc_att_control: fix yaw feedforwarding
The feedforwarding was applied in the wrong frame: the term is given in
global coordinates, but was directly applied to body coordinates. This
patch adds the missing transformation from global to body frame.

In addition, it moves the feedforwarding before the rate limitation, so
that we cannot exceed the configured rates.
2017-10-01 15:36:21 +02:00
Beat Küng 2cc18d2d52 mc_att_control: move the board_rotation computation to the parameters_update
It's not necessary to do this computation in each loop iteration.
2017-10-01 15:36:21 +02:00
Beat Küng 27f020af05 mc_att_control: remove the hardcoded max throttle limit of 0.9 for ACRO 2017-10-01 15:36:21 +02:00
Daniel Agar 352d65a14a navigator delete unused attitude setpoint (#8028) 2017-09-29 11:51:00 -04:00
Daniel Agar 2113772443 improve nuttx verbose build 2017-09-29 10:13:51 -04:00
Daniel Agar 48f1e3ed1c uORB generation move to msg/ 2017-09-29 10:13:51 -04:00
Lorenz Meier f9c9890a49 EKF2: Add minimal stack for M7 targets 2017-09-29 10:13:51 -04:00
David Sidrane c6eec29dec sensors:Rework battery connected logic
A battery is considered connected when a) V > BOARD_ADC_OPEN_CIRCUIT_V
   and if BOARD_ADC_OPEN_CIRCUIT_V > BOARD_VALID_UV connected
   is further qualifed by the Valid signal.
2017-09-29 10:13:51 -04:00
David Sidrane 24eb56aa27 battery:Only change the warning level on a connected battery.
Connected is assumed when the battery voltages is greater than
   a predefined level.
2017-09-29 10:13:51 -04:00
Daniel Agar 474f216a0a UAVCAN bootloaders split into separate repository (#7878) 2017-09-29 10:13:51 -04:00
Daniel Agar 01b3e6fd25 NuttX upgrade cmake wrapper (#7873)
* NuttX cmake

* px4_macros:Pass the stringified predicate as second arg to static assert

   CC_ASSERT mapes to the c++ static_assert or provides the same
   funtionality for c via the other macros. The c++ static assert
   takes 2 argumants the prdicate and a message. This fixes the
   lacking second argument.

* Updated nuttx and apps submodule to upstream nuttx 7.21+==master

   This is the latest uptake of upstream nuttx and apps.

* ROMFS generate with xxd instead of objcopy

* delete nuttx-patches

* NuttX update submodules to latest px4_nuttx-master

* fix nuttx apps and board dependency

* docker_run update to latest container 2017-08-29

* cmake ROMFS portable sed usage

* NuttX update submodules to latest px4_nuttx-master
2017-09-29 10:13:51 -04:00
David Sidrane 526f07b527 gpio_led:Define GPIO_MAX_SERVO_PIN down to 4
Support boards with less than 6 (GPIO_SERVO_n) where
   n is now 16..4
2017-09-29 10:13:51 -04:00
David Sidrane 7cb2319221 mavlink:Hardfaulting usage at 2552 - set to 2840 2017-09-29 10:13:51 -04:00
David Sidrane 906d7e7acd Using Upstream NuttX up_cxxinitialize from app/platform/gnu
was:<nuttx/arch.h> is:platform/cxxinitialize.h
   Removed PX4 version:src/modules/systemlib/up_cxxinitialize.c
   in favor of nuttx platform/gnu/gnu_cxxinitialize.c
2017-09-29 10:13:51 -04:00
David Sidrane 4fbcfae367 px4io firmware: Upstream NuttX up_cxxinitialize moved
was:<nuttx/arch.h> is:platform/cxxinitialize.h
   Removed PX4 version:src/modules/systemlib/up_cxxinitialize.c
   in favor of nuttx platform/gnu/gnu_cxxinitialize.c
2017-09-29 10:13:51 -04:00
David Sidrane 21caf63e13 Update px4iofirmware, px4io and drivers to uses NuttX IRQ API changes 2017-09-29 10:13:51 -04:00
David Sidrane 8f24b1c6e0 Update libuavcan Submodule to uses PX4 contrib to uavcan for NuttX IRQ API changes 2017-09-29 10:13:51 -04:00
David Sidrane 187482c1ba flashfs uses Upstream NuttX's new struct packing 2017-09-29 10:13:51 -04:00
David Sidrane 6669aa058d hardfault_log should has hal
remove stm32_bbsram.h and use px4_config.h
2017-09-29 10:13:51 -04:00
Daniel Agar 5eb3e695bb fix and enable mavlink ftp tests 2017-09-28 09:29:04 +02:00
Daniel Agar 3c18be387c ROI - move handling to navigator (#7939) 2017-09-26 12:25:02 -04:00
James Goppert e72769c924 Imu filter (#7606)
* Add adjustable driver level cutoff freq for accel/gyro.

* Fix copy and paste error.

* Updated print_info.

* imu filter minor cleanup
2017-09-25 13:55:56 -04:00
Daniel Agar 420df9d88a mavlink receiver remove undocumented CMD_PREFLIGHT_REBOOT_SHUTDOWN link shutdown (#8008) 2017-09-25 11:09:16 -04:00
Daniel Agar 0da2dca8c1 drivers remove device _debug_enabled 2017-09-25 10:30:22 -04:00
ChristophTobler 16825e6460 inav: subscribe to multi dist instances and check orientation 2017-09-25 08:52:21 +02:00
ChristophTobler bfe28c1df3 lpe: check for distance sensor orientation 2017-09-25 08:52:21 +02:00
ChristophTobler ee82e80517 ekf2: subscribe to multi dist instances and check orientation 2017-09-25 08:52:21 +02:00
ChristophTobler 07e6738586 mavlink receiver: update for new orientation convention 2017-09-25 08:52: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
Daniel Agar 24f056d2bb mavlink receiver sync command_int/command_long 2017-09-24 03:45:21 -07:00
James Goppert 13e64d00a8 commander handle shutdown command (#8000) 2017-09-23 10:35:36 -04: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
Matthias Grob 5bea264a5f Matrix Quaternions: Apply simpler call for constructor and copying to all remaining modules 2017-09-21 17:44:57 +02:00
Beat Küng 26e4756055 mavlink_ftp_test: fix unit-tests 2017-09-21 07:33:09 +02:00
Beat Küng 5b85b26351 mavlink_ftp: keep a copy of the last reply & resend it upon duplicated seq num 2017-09-21 07:33:09 +02:00
Beat Küng b072599679 mavlink_ftp: fix alignment issue 2017-09-21 07:33:09 +02:00
Beat Küng ea587d585f mavlink_ftp: add & handle kErrFailFileExists error
This error definitions already existed in QGC
2017-09-21 07:33:09 +02:00
Henry Zhang 4778c79201 commander: removed CONFIG_ARCH_BOARD_xxx usage 2017-09-20 18:40:55 -10:00
sanderux b5c3bc7b0f Remove thrust_sp from pusher assist calculation 2017-09-20 10:51:06 +02:00
Daniel Agar 4e6ca271e7 more px4fmu-v1 cleanup (#7981) 2017-09-20 00:04:23 -04:00
Lorenz Meier 0780e430fd Sensors params: Adjust tube length to better default 2017-09-19 09:01:11 -07:00
Lorenz Meier 1880abdac5 Airspeed: Base sensor model on device ID from sensor 2017-09-19 09:01:11 -07:00
Andreas Antener 4ea49242d3 SDP3x pitot compensation: fixed the compensation and protect agains negative compensation values 2017-09-19 09:01:11 -07:00
Lorenz Meier b59aefc989 Airspeed measurement: Add accurate models for dynamic pressure
This allows to get very accurate readings from the SDP3x sensor series from Sensirion using a complete sensor model.
2017-09-19 09:01:11 -07:00