Commit Graph

225 Commits

Author SHA1 Message Date
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 b4755297ec delete control_state and cleanup vehicle_attitude (#7882) 2017-09-21 16:24:53 -04:00
Daniel Agar 26f00609ac multirotor_motor_limits only publish for MC 2017-09-19 02:25:30 +01:00
Lorenz Meier b26c771ea6 MC attitude controller: Use default scheduling order 2017-08-02 21:18:35 +02:00
Lorenz Meier d8cc38728d Multicopter attitude controller: Run at maximum priority.
This allows for a quicker update from sensors if the estimator runs at the default priority of the estimator class. If there is no direct sensor pass-through then it will wait for an estimator update.
2017-08-02 21:18:35 +02:00
Daniel Agar d6e9287f51 mc_att_control comment out unused rates_i_scaled 2017-06-08 22:03:08 -04:00
Daniel Agar c5e0bf1c2f uORB combine VTOL FW and MC virtual topics (#7008) 2017-04-09 13:17:20 -04:00
Beat Küng 3f6783fce7 mc_att_control: make sure to update the polling fd when the selected gyro changes 2017-03-04 05:59:10 +08:00
Beat Küng ec33607912 mc_att_control_main: make sure to initialize at least one gyro sensor
in HIL mode, gyros are published after mc_att_control started.
2017-03-04 05:59:10 +08:00
Andreas Antener 11484b0d51 Rattitude: set default threshold for multicopter rattitude mode to 0.8 which enables it right away when selecting it 2017-02-18 08:03:19 +01:00
Daniel Agar 96e51f7c59 clang-tidy remove redundant 2017-02-01 22:15:50 -05:00
Daniel Agar e927f3e040 clang-tidy modernize-use-nullptr 2017-02-01 22:15:50 -05:00
Beat Küng c07fd1a360 mc_att_control_main: fix style 2017-02-01 08:40:23 +01:00
Beat Küng 21070b069b mc_att_control_main: fix {x,y,z} variables (copy-paste mistake) 2017-02-01 08:40:23 +01:00
Beat Küng f890c82c97 mc_att_control_main: remove unnecessary memset for _sensor_correction 2017-02-01 08:40:23 +01:00
Paul Riseborough add298c0b5 mc_att_control: use legacy offset and scale definition (+2 squashed commits)
Squashed commits:
[f81a8b0] mc_att_control: remove unnecessary initialisers
[f3d3f48] mc_att_control: accommodate changes to sensor_correction topic
2017-02-01 08:40:23 +01:00
Beat Küng c1b1d03515 mc_att_control: use a maximum of 3 gyros 2017-01-19 19:24:52 +01:00
Beat Küng 21a3e4d36a mc_att_control: fix out-of-bounds access if system has multiple gyros 2017-01-19 19:24:52 +01:00
Beat Küng f6f145cbe8 sensors & mc_att_control: increase stack sizes due to recent changes 2017-01-19 19:24:52 +01:00
Beat Küng e1ff6af792 mc_att_control_main: initialize _sensor_corrections properly 2017-01-19 19:24:52 +01:00
Beat Küng 7d5cd02c70 mc_att_control_main: fix bound check for gyro instance 2017-01-19 19:24:52 +01:00
Beat Küng 0765ed552c sensor_correction.msg rename {gyro,accel,baro}_select to match uORB convention 2017-01-19 19:24:52 +01:00
Lorenz Meier 00d26b75e9 MC att control: Harden against incorrect indices 2017-01-19 19:24:52 +01:00
Paul Riseborough eac6dfed3c mc_att_control: Sync attitude loops to gyro data
Sync the attitude controller to the raw gyro data to remove the latency in the rate loops caused by the sensor and estimator modules.
Attitude data latency will increase as it will be from the previous EKF update, however attitude loops are less latency sensitive.
Thermal compensation and bias data will be from the previous frame.
2017-01-19 19:24:52 +01:00
Anton Matosov 3a17c07b1e Implement RC and DL failsafe action handling for multirotors
Move RC and DL failsafe actions handling from navigator to commander (credits to @AndreasAntener)
Separate manual kill switch handling via manual_lockdown to prevent override and release of software lockdown by RC switch

Other changes:
Add failsafe tune
Fix LED blinking for Pixracer
Return back support for rc inputs in simulator but now it is configurable via cmake
2016-12-27 00:38:13 +01:00
Lorenz Meier b2d48f65bf MC att ctrl: Properly initialize members 2016-12-13 16:14:15 +01:00
Lorenz Meier 27d5ecaaa9 Fix multirotor code style 2016-12-13 16:14:15 +01:00
Paul Riseborough eb67686b11 mc_att_control: Improve integrator wind-up protection
Use reporting from the motor mixer to only restrict integrator growth when it will result in increased saturation of the control axis concerned.
Enable absolute integrator limits to be set by parameter
2016-12-13 16:14:15 +01:00
Anton Matosov a2c0391bcc Rework TPA to have per-component setup and use more stable and intuitive function
This also adds a ZMR250 config.
2016-12-10 12:42:47 +01:00
Dennis Shtatnov 2799c0fae2 Change MC_BAT_SCALE_EN to boolean 2016-11-19 14:55:52 +01:00
Dennis Shtatnov a634c14582 Scale throttle outputs by battery level. Fixes #4751 2016-11-19 14:55:52 +01:00
Julian Oes 2fff2ab9ac Add switch for landing gear, pass it to actuators 2016-10-20 23:17:05 +02:00
Lorenz Meier a12780c88f Remove attitude setpoint matrix from attitude setpoint topic 2016-10-19 10:17:41 +02:00
Julian Oes 8ff237c69f Remove size optimization for individual modules
It makes more sense to set the optimization flags on a platform basis
instead of individually for each module. This allows for different
optimization options for SITL, NuttX, Snapdragon, etc.
2016-09-30 08:11:51 +02:00
Bart Slinger 7f04e3c759 Helicopter aiframe and basic PID control (#5339)
* Helicopter aiframe and basic PID control

* codestyle

* Blade 130x gains working but not optimal

* Changed behaviour of feedforward for all multicopter
2016-08-19 22:20:59 +02:00
Mark Whitehorn f1a1c9d7da add breakpoint and slope params for TPA 2016-08-17 23:15:36 +02:00
Mark Whitehorn 5c78af0f36 simple linear throttle PID attenuation test 2016-08-17 23:15:29 +02:00
Daniel Agar d4196f7f0c mc_att_control fix and enforce code style 2016-08-07 10:40:17 +02:00
Lorenz Meier 11f1a11934 Lock yaw integral if we hit a yaw limit 2016-07-31 14:14:55 +02:00
Andreas Antener 25e749de77 use MC auto rates always in AUTO
removed duplicate weathervaning limit
2016-07-01 11:31:57 +02:00
Lorenz Meier 8032787faa MC att control: Be more efficient 2016-05-29 16:27:01 +02:00
Daniel Agar 76387b1693 uorb autogeneration 2016-05-14 11:27:07 +02:00
Benoit Landry 95faba391a accel control in pos controller 2016-04-22 10:31:52 +02:00
Benoit Landry ce810542e2 simple NED acceleration control interface 2016-04-22 10:31:52 +02:00
Roman cf7145c8d9 calculate large error rotation correclty in attitude controller 2016-04-18 18:44:14 +02:00
James Goppert 967e4dd127 Modified cmake to use STACK_MAX and STACK_MAIN 2016-04-14 13:36:36 -04:00
Julian Oes 1ad0ee0fae mc_att_control: don't use main state for RATTITUDE
Instead of the state use the boolean flags.
2016-04-11 18:01:48 +02:00
Daniel Agar 7a9427bc34 param remove empty @unit 2016-03-14 09:12:34 +01:00
Daniel Agar 55b33e97b3 mc_att_control param @unit 2016-03-14 09:10:29 +01:00